ࡱ>  r~7 7bjbjUU .7|7|*Wil4" <<<h<>," DzD>VL@LLL9# l$ FQ?hrs9??JLL1JJJ?:LLJ?JJO.L D wѵ" b<(Lt=0Da$oB\$J, WArPE 1.0 Wisconsin Architecture Power Estimator MICRO ARCHITECTURAL POWER ESTIMATION TOOL  TOC \o "1-3" \h \z  HYPERLINK \l "_Toc10272828" 1 Introduction  PAGEREF _Toc10272828 \h 5  HYPERLINK \l "_Toc10272829" 2 WArPE Processor Model  PAGEREF _Toc10272829 \h 7  HYPERLINK \l "_Toc10272830" 2.1 Microarchitecture  PAGEREF _Toc10272830 \h 8  HYPERLINK \l "_Toc10272831" 2.1.1 Instruction Fetch  PAGEREF _Toc10272831 \h 9  HYPERLINK \l "_Toc10272832" 2.1.2 Instruction Decode / Dispatch Stage  PAGEREF _Toc10272832 \h 11  HYPERLINK \l "_Toc10272833" 2.1.3 Instruction Execution and Writeback  PAGEREF _Toc10272833 \h 14  HYPERLINK \l "_Toc10272834" 3 Analytical Models  PAGEREF _Toc10272834 \h 17  HYPERLINK \l "_Toc10272835" 3.1 Power Density Model  PAGEREF _Toc10272835 \h 17  HYPERLINK \l "_Toc10272836" 3.2 Analytical RAM Model  PAGEREF _Toc10272836 \h 19  HYPERLINK \l "_Toc10272837" 3.2.1 Decoder Buffer  PAGEREF _Toc10272837 \h 20  HYPERLINK \l "_Toc10272838" 3.2.2 Decoder  PAGEREF _Toc10272838 \h 21  HYPERLINK \l "_Toc10272839" 3.2.3 Wordline  PAGEREF _Toc10272839 \h 24  HYPERLINK \l "_Toc10272840" 3.2.4 Bitline  PAGEREF _Toc10272840 \h 25  HYPERLINK \l "_Toc10272841" 3.2.5 Sense Amplifier  PAGEREF _Toc10272841 \h 27  HYPERLINK \l "_Toc10272842" 3.2.6 Output driver  PAGEREF _Toc10272842 \h 29  HYPERLINK \l "_Toc10272843" 3.2.7 Generic mux  PAGEREF _Toc10272843 \h 30  HYPERLINK \l "_Toc10272844" 3.2.8 Comparator  PAGEREF _Toc10272844 \h 30  HYPERLINK \l "_Toc10272845" 3.3 Latch Model  PAGEREF _Toc10272845 \h 31  HYPERLINK \l "_Toc10272846" 3.4 Special Model for Issue Window  PAGEREF _Toc10272846 \h 34  HYPERLINK \l "_Toc10272847" 4 Options, Configuration, Output  PAGEREF _Toc10272847 \h 36  HYPERLINK \l "_Toc10272848" 4.1 Options  PAGEREF _Toc10272848 \h 36  HYPERLINK \l "_Toc10272849" 4.2 Configuration files  PAGEREF _Toc10272849 \h 37  HYPERLINK \l "_Toc10272850" 4.2.1 Basic configuration file  PAGEREF _Toc10272850 \h 38  HYPERLINK \l "_Toc10272851" 4.2.2 Process Technology Data File  PAGEREF _Toc10272851 \h 40  HYPERLINK \l "_Toc10272852" 4.3 Output file  PAGEREF _Toc10272852 \h 41  HYPERLINK \l "_Toc10272853" 5 File Structure  PAGEREF _Toc10272853 \h 46  HYPERLINK \l "_Toc10272854" 5.1.1 power.h  PAGEREF _Toc10272854 \h 47  HYPERLINK \l "_Toc10272855" 5.1.2 power.c  PAGEREF _Toc10272855 \h 50  HYPERLINK \l "_Toc10272856" 5.1.3 anal.h  PAGEREF _Toc10272856 \h 52  HYPERLINK \l "_Toc10272857" 5.1.4 anal.c  PAGEREF _Toc10272857 \h 52  HYPERLINK \l "_Toc10272858" 5.1.5 sim-outorder.c, main.c  PAGEREF _Toc10272858 \h 56  HYPERLINK \l "_Toc10272859" 5.2 Control Flow  PAGEREF _Toc10272859 \h 57  HYPERLINK \l "_Toc10272860" 6 References  PAGEREF _Toc10272860 \h 60  HYPERLINK \l "_Toc10272861" Appendix  PAGEREF _Toc10272861 \h 62  HYPERLINK \l "_Toc10272862" Index  PAGEREF _Toc10272862 \h 69  Table of figures  TOC \h \z \t "Caption" \c  HYPERLINK \l "_Toc10273448" Figure 1: Micro architecture of a simple superscalar processor  PAGEREF _Toc10273448 \h 8  HYPERLINK \l "_Toc10273449" Figure 2. Table of all the activity counts associated with the fetch stage  PAGEREF _Toc10273449 \h 10  HYPERLINK \l "_Toc10273450" Figure 3: Activity Counters associated with the decode/dispatch stage  PAGEREF _Toc10273450 \h 12  HYPERLINK \l "_Toc10273451" Figure 4: Instruction Issue Window  PAGEREF _Toc10273451 \h 13  HYPERLINK \l "_Toc10273452" Figure 5: Activity counters associated with the execution and the writeback stage  PAGEREF _Toc10273452 \h 16  HYPERLINK \l "_Toc10273453" Figure 6:Decoder Buffer.  PAGEREF _Toc10273453 \h 21  HYPERLINK \l "_Toc10273454" Figure 7:Static decoder schematic  PAGEREF _Toc10273454 \h 22  HYPERLINK \l "_Toc10273455" Figure 8:Circuits used in the two stages  PAGEREF _Toc10273455 \h 23  HYPERLINK \l "_Toc10273456" Figure 9: Dynamic decoder.  PAGEREF _Toc10273456 \h 24  HYPERLINK \l "_Toc10273457" Figure 10: Word line.  PAGEREF _Toc10273457 \h 25  HYPERLINK \l "_Toc10273458" Figure 11: Bitline  PAGEREF _Toc10273458 \h 26  HYPERLINK \l "_Toc10273459" Figure 12: Sense Amplifier architecture  PAGEREF _Toc10273459 \h 27  HYPERLINK \l "_Toc10273460" Figure 13: Sense Amplifier circuit.  PAGEREF _Toc10273460 \h 28  HYPERLINK \l "_Toc10273461" Figure 14: Output driver.  PAGEREF _Toc10273461 \h 29  HYPERLINK \l "_Toc10273462" Figure 15:n-bit comparator  PAGEREF _Toc10273462 \h 30  HYPERLINK \l "_Toc10273463" Figure 17: A Pipeline Latch  PAGEREF _Toc10273463 \h 33  HYPERLINK \l "_Toc10273464" Figure 18: Instruction Issue Window  PAGEREF _Toc10273464 \h 35  HYPERLINK \l "_Toc10273465" Figure 19: Basic Configuration File  PAGEREF _Toc10273465 \h 43  HYPERLINK \l "_Toc10273466" Figure 20 Technology File.  PAGEREF _Toc10273466 \h 43  HYPERLINK \l "_Toc10273467" Figure 21: Output File.  PAGEREF _Toc10273467 \h 45  Introduction Power consumption (and dissipation) has become critical design considerations in modern microprocessors. For battery powered devices, such as laptop PCs and PDAs, total power consumption is the major issue. For high performance applications such as servers, the need to dissipate high power requires expensive packaging and cooling technologies. Furthermore, in large-scale systems, power consumption can be a major operating expense. Microprocessors can be made more power efficient at a number of levels, ranging from the circuit level, to the gate level, all the way up to software. Our particular interest is in improving power efficiency at the microarchitecture level. For studying and developing power efficient microarchitectures, power estimation tools are almost essential. And an important part of our research effort has been the development of a flexible and accurate power estimation tool WArPE. WArPE uses detailed microarchitecture simulation to measure energy-consuming activities and execution time. These simulation-derived measurements can then be turned into power estimates, given energy estimates for each of the activities. WArPE is based on the simplescalar simulator [1], a performance simulator widely used among academic researchers. An important element of power estimation is the energy consumed by each of the modeled microarchitecture-level activities. In WArPE, these energy estimates can be supplied directly by the user as empirical data, or for many important subsystems they can be generated via analytical models that are part of WArPE. Other power estimation tools based on the simplescalar simulator have been developed [3,4]. WArPE is distinguished from these other estimators in a number of ways. It can take chip technology data as an input and scale energy numbers appropriately, The instruction fetch, decode, rename, issue pipeline is modeled in detail, including latches. This document describes the internal structure and usage of the WArPE tool. Section 2.0 describes the detailed structure of the simulator, including estimation methodology XE "methodology" . Section 3.0 describes the analytical models used, and the following section contains the options, configuration files and output file details. Section 5.0 discusses the file structure of the simulator. WArPE Processor Model WArPE models a modern dynamically scheduled superscalar processor. The processor is divided into a number of function unit blocks (FUBs). The processor is simulated in much the same way as a performance simulator. At the end of each cycle, the estimator determines the activity for each FUB, and uses this activity to estimate energy consumed by that block. The total energy consumed by all the FUBs during each cycle yields an instantaneous power estimate, and the average over all the cycles gives an average power estimate. The instantaneous power is useful when di/dt is of concern; it can be estimated by computing the difference in power consumption between consecutive cycles. The per-activity energy estimates are determined before the simulator starts. These estimates are determined in one of the following ways. RAM FUBs use a general analytical model Power density model for non-RAM FUBs Latch models (primarily in the instruction pipeline) Special models for critical FUBs such as the issue window. The following sections describe the overall superscalar microarchitecure, including the specific FUBs that are modeled. This is followed by descriptions of the RAM and power density analytical models. The latch models are described along with the instruction pipeline, and special models are described with the specific FUB is discussed. Microarchitecture In this section we touch upon some of the details of how the individual instruction pipeline units are modeled. The generic micro architecture of a pipelined superscalar processor is as shown in the figure.  EMBED Visio.Drawing.5  Figure 1: Micro architecture of a simple superscalar processor The associated units include the branch prediction tables, Instruction translation look aside buffer, data caches, data translation look aside buffers, Reorder buffer, register file, result bus etc. For most of these we have an approximate analytical model. There is no analytical model for the latches. We now describe some details of the power models of each pipeline stage. Instruction Fetch The instruction fetch stage involves access to the instruction cache, itlb as well as the branch prediction logic. The FUBs representing this stage include those for new PC generation logic (npc), logic associated with the branch target buffer access (btblog), the actual branch target buffer RAM structure (btbcac), the return stack buffer (rsbcac), three FUBs for the L1 instruction cache: one associated with the logic circuits to access the cache (il1log), another one associated with the L1 tag structure (il1tag) and the third one for the actual physical L1 instruction cache (il1cac) and the latches at the end of the pipeline (fdlatch). WArPE has analytical models for almost all of these FUBs. Most of these structures being Cache/CAM like have invalidate, replacement, write back, read and write counters associated with them. Fig2 shows a list of all the counters associated with this stage of execution. Counter No.Name of the counterDescription0Brupdatebranch update activity1Brlookupbranch lookup activity2Rsbpopreturn stack pop activity3Rsbpushreturn stack push activity4Il1accil1 access activity5Il1wbkil1 writebacks activity6Il1repil1 replacements activity7Il1invil1 invalidations activity12Il2accil2 access activity13Il2wbkil2 writebacks activity14Il2repil2 replacements activity15Il2invil2 invalidations activity24Itlbmisitlb miss activity27Itlbaccitlb access activity28Itlbwbkitlb writebacks activity29Itlbrepitlb replacements activity30Itlbinvitlb invalidations activity35Npcnext pc logic activity69Fdlatch_active Latch after fetch stage active70Fdlatch_stallLatch after fetch stage stalled71Fdlatch_emptyLatch after fetch stage empty Figure 2. Table of all the activity counts associated with the fetch stage In an attempt to build power numbers for these structures we try to map these tables to an approximate Cache structure. The CACTI tools, which are used by almost all the existing simulators, do this mapping for us. CACTI tools find an optimal cache structure for each of these tables by taking in parameters like the cache size, associativity and the no. of sets. The tool maps these structures to an optimal size cache assuming that some cache optimizations would have been done at the circuit level and return an optimal mapping. The numbers of row and column decoders are thus calculated. The power models for the caches and the decoders are the same as suggested by Wilton and Jouppi [2]. Currently, there are no analytical models for either the write back or the replacement or the invalidation logic circuits. But the simulator maintains a count of these activities. To calculate the power we multiply the activity counts with some approximate power numbers as obtained from the industry. However, the user can input any numbers and hence customize the simulator. At the end of the fetch stage is a set of pipeline latches, which may be of variable width. These latches may be in Active, Stalled or Empty state with each stage consuming a different amount of energy. The simulator keeps an account of the number of latches in each stage per cycle. This gives the power consumed each cycle by the latches. More detail on the latch power model follows in sec 3.3. Instruction Decode / Dispatch Stage The decode stage entails the decoders as well as the register aliasing table associated with the Register Renaming Logic. These units are represented in the simulator with FUBs for dispatch queue (dispatchq), instruction decoder (decodepla), logic associated with decoder for handling mispredictions (decodemisp), logic associated with stalling decoder (decodestall), register aliasing table (ratarr), FUBs for input/output dependence check (ratidep, ratodep), register aliasing table stall (ratstall) and the latches at the end of the pipe stage (dilatch). There are counters associated with decoder stall and mispredict activity as well as with the decoder access itself. The register aliasing table has counters associated with the table itself as well as with input and output dependence checking activity. A list of all the counters is given in fig3. Presently, we have analytical model only for the register aliasing table cache. Rest of the activity counters are multiplied with the power numbers obtained from the user input file (pfa mode). Counter No.Name of the Counter Description of the counter 36Dispatchqrddispatchq read activity37Dispatchqwrdispatchq write activity38Dispatchqreldispatchq release activity39Dispatchqrecdispatchq recover activity40Decoderdecoder activity41Decodemispchk decoder mispredict detect activity42Decodemispdecoder mispredict correction activity43Decodestallchkdecoder stall detect activity44Decodestalldecoder stall block activity45Ratideprat idep allocation activity46Ratodeprat odep allocation activity47Ratstallchkrat stall detection activity48Ratstallrat stall block activity72Dilatch_activeLatch after decode stage active73Dilatch_stallLatch after decode stage stall74Dilatch_emptyLatch after decode stage emptyFigure 3: Activity Counters associated with the decode/dispatch stage The instruction thus decoded are moved into another set of latches which again may be of variable size and variable number of latches could be there. These latches may model the delay associated with the renaming logic or the actual decoding of the instruction. As before the latches could be in one of the three states: Active, Stalled or Empty with different power numbers that may be the same as for the previous latches. We maintain a per cycle record of the state in which the latches are (Dilatch_active, Dilatch_stall, Dilatch_empty) and calculate the per cycle contribution to total power.  EMBED Visio.Drawing.5  Figure 4: Instruction Issue Window Another innovative idea with this power simulator is in the issue window. The simulator models both Collapsible and Non Collapsible instruction issue window with the same FUB: isw. There would be some power associated with collapsing the instruction window. The simulator has counter to record these movements per cycle (Iswcolmoved) and the user can supply the power associated with these movements. The issue window can also be viewed as a set of fixed length latches with the same three states as before. The Active state (Iswact) now corresponds to the number of instruction ready to be issued that cycle while the stalled state (Iswstall) would correspond to instruction that are still waiting for their operands to become ready. The empty state (Iswempty) would represent the in-occupancy of the issue window each cycle. A detailed power model for the same is explained in sec3.4 Instruction Execution and Writeback The instructions selected are then issued to the corresponding Functional Units or are stored in the Load/Store queues. The FUBs for this stage include those for the integer functional units (fuint), floating point functional units (fufp), the L1 data cache logic circuit (dl1log), L1 data cache tag structure(dl1tag), L1 data cache (dl1cac) and similarly for the united L2 cache (ul2log, ul2tag, ul2cac), the load/store queue (lsqrdyq), the data tlb (dtlbcac). The simulator does not have an analytical model for any of the functional units but the load/store queues can be modeled as a pair of cache like structure along with a CAM like structure with analytical models for both of them. Another structure associated with the execution stage is the data cache. The simulator models the data cache on the same lines as the instruction cache using the CACTI tools. There are counters for data cache access(dl2acc), write back(dl2wbk), replacement(dl2rep) and invalidation(dl2inv). The data tlb is also modeled on the lines of the instruction tlb and hence has the CAM like analytical model. The results as generated from the functional units are broadcasted through the result bus. But the current version of the simulator doesnt calculate the power consumed by this result bus. All the activities associated with the initialization and the utilization of the register update unit are represented with the FUBs for ruu array (ruuarr), the ruu writeback (ruuwb). A complete list of all the FUBS and all the counters are included in the appendix to this manual. The list of counters associated with this stage is as follows: Counter No.Name of the counterDescription of the counter8Dl1accdl1 access activity9Dl1wbkdl1 writebacks activity10Dl1repdl1 replacements activity11Dl1invdl1 invalidations activity16Dl2accdl2 access activity17Dl2wbkdl2 writebacks activity18Dl2repdl2 replacements activity19Dl2invdl2 invalidations activity20Ul2accul2 access activity21Ul2wbkul2 writebacks activity22Ul2repul2 replacements activity23Ul2invul2 invalidations activity25Dtlbmisdtlb miss activity26Ul2misul2 miss activity31Dtlbaccdtlb access activity32Dtlbwbkdtlb writebacks activity33Dtlbrepdtlb replacements activity34Dtlbinvdtlb invalidations activity45Ratideprat idep allocation activity46Ratodeprat odep allocation activity47Ratstallchkrat stall detection activity48Ratstallrat stall block activity49Ruuarrruu array activity50Ruurdyqschruu readyq allocation activity51Ruurecruu recover activity52Ruuretruu retire activity53Ruurdyqcamruu readyq dependence check activity54Ruurdyqrelruu readyq resource release activity55Lsqarrlsq array activity56Lsqrdyqschlsq readyq allocation activity57Lsqreclsq recover activity58Lsqretlsq retire activity59Lsqrdyqcamlsq readyq dependence check activity60Lsqrdyqrellsq readyq resource release activity61Ruuarbruu arbitration activity62Ruuwbruu writeback scheduler activity63Ruuwbqruu writebackq activity64Lsqarblsq arbitration activity65Lsqwb lsq writeback scheduler activity66Lsqwbqlsq writebackq activity67Fuintfunctional unit integer68Fufpfunctional unit floating pointFigure 5: Activity counters associated with the execution and the writeback stage Analytical Models The architectural power estimation methodologies can be broadly classified into empirical methods and analytical methods. These can further be classified into fixed activity and activity sensitive methods. One of the earliest methods of power estimation was a fixed activity method called the Power Factor Approximation method (PFA) described by Liu and Svensson [5]. Power estimation techniques have come a long way since then, with activity-based models, transition sensitive models and so on. The basic estimation methodology is, however, the same. We basically either calculate the power density constants associated with each structure as in the analytical model or take the power constants as input from the user, pfa model. Power Density Model XE "methodology"  Several architectural power estimation XE "estimation"  schemes have been discussed in literature [6][7]. In WArPE we use a scheme similar to Power Factor Approximation (PFA) [5]. We express the power dissipation in terms of the active/inactive power XE "inactive power"  density of each FUB XE "FUB" , the area of the FUB and the activity XE "activity"  factor, which is determined via performance simulation. power = {(active power XE "active power"  density)*(activity XE "activity" ) + (inactive power XE "inactive power"  density)*(1activity)}*area The power density and area numbers are either determined empirically from the real design and scaled to the required technology or are estimated by considering circuit complexity, logic styles, etc. The power density numbers are further divided based on the following circuit styles: Dynamic logic XE "Dynamic logic"  Static logic XE "Static logic"  PLA circuits XE "PLA circuits"  Memory type regular circuits XE "Memory type regular circuits"  Clock circuits XE "Clock circuits"  Thus for every FUB XE "FUB" , one has to define 5*3 = 15 different numbers, corresponding to active power density, inactive power density and area for each of the five circuit styles. The user can supply this through the configuration file. However, it is not always possible to get/estimate these numbers. In order to overcome this problem we have included routines, which can analytically model FUBs. Presently, we can construct models for most regular memory type structures like caches, register files, register renaming tables, branch target buffers and reorder buffers. The simulator is designed in such a way that models can be updated and new models can be added relatively easily. In order to take physical structure XE "physical structure"  into consideration, a few more options have been added. The analytical XE "analytical"  models can, and in fact will, have to be refined continuously to get improve result accuracy. Models for other regular structures like PLAs can also be added. Analytical RAM Model In the analytical mode, power constants are generated using analytical models provided. Presently, we have the capability to model most of the regular and simple logic based structures. The models are based on the circuit time-delay-energy simulation model that is similar to those used by Wilton and Jouppi [2]. The idea is to break FUBs into smaller components, for which analytical models are present. The analytical XE "analytical"  models used in the simulator are similar to those used by Wilton and Jouppi [2]. Some of the differences include a choice of static vs. dynamic logic for decoder and single ended read option for register files. These models can be used to construct power constants for FUBs that contain regular, memory type building blocks. The FUBs that have already been modeled are the instruction and data caches, TLBs, branch target cache, register allocation table and return address stack. Other units that can be modeled are the register update unit XE "unit"  and load/store queue arrays. For example, a cache can be divided into a decoder buffer, row decoder, word-lines, bit-lines, sense amplifiers, column decoder and output MUXs. The models generate power numbers by calculating the effective switching capacitance. The effective capacitance is estimated by adding the gate, drain and routing capacitances together. These are calculated by functions that take the width and length of Poly used, as inputs. The length of all transistors is assumed to be constant and equal to the Leff XE "Leff"  defined in the technology file. The list of these functions (included in anal.c XE "anal.c" ) follows. gatecap() XE "gatecap()" : return the gate capacitance of the transistor. gatecappass() XE "gatecappass()" : returns the gate capacitance for a pass transistor. draincapp() XE "draincapp()" : returns drain capacitance for the p-type transistor. It has an added feature of optimizing for stacked transistors, example the n-type transistors in a 4- input NAND. draincapn() XE "draincapn()" : similar function for n-type transistor. The following sections describe each of the basic models provided. An example of the usage of these models to create more complex models will be given in the last chapter. Decoder Buffer The decoder buffer, as the name suggests, buffers the address lines that go into the decoders. The buffer is an important element if the address lines feed into a large number of gates. Presently, the sizes of the buffer transistors are fixed. These could be changed depending on the number of gates connected to the lines and the speed required. The following figure shows the buffer architecture.    Figure 6:Decoder Buffer. Decoder Two types of decoder models have been included, depending on the type of circuits they use. The first one is a static decoder that is based on a two level decoding scheme. The first stage is constructed from 3x8 and 2x4 NAND based decoders. The second stage consists of an n-input OR for every output bit, where n is the number of min terms in stage 1. The following schematic brings out the basic architecture of this decoder.   Figure 7:Static decoder schematic         Figure 8:Circuits used in the two stages The second type of decoder is the dynamic decoder, which is based on a domino NOR. However, the maximum inputs that should be allowed for this decoder is around six. The following figure shows a schematic of the dynamic decoder.  Figure 9: Dynamic decoder. Wordline The wordline power model includes both the wordline as well as the wordline driver. The driver size is computed using a function called WLdriver_size(). The inputs to this function are the capacitance driven and the rise-time expected. The rise-time has been assumed to be period/8 due to lack of data. This can be changed by changing the entry in tech XE "tech" .h. The model also takes into account single ended read type cells, used in register files. A schematic of the wordline is shown below.   Figure 10: Word line. Bitline The bitline model takes into account the precharge transistors, line capacitance and isolation transistors. Several minute features have been added and detailed comments in the code explain these. The basic schematic of the bitline is shown below.    Figure 11: Bitline Sense Amplifier The sense amplifier is shared by many bitlines using a column MUX. However, one should not multiplex more than eight bitlines together due to leakage issues. The MUX is a standard pass-gate based MUX with a column decoder. The basic architecture and the sense amplifier circuit used are shown below.  colmux   Figure 12: Sense Amplifier architecture  Figure 13: Sense Amplifier circuit. Output driver The output driver uses an array of tri-state drivers like the one shown in the schematic below.  Figure 14: Output driver. Generic mux This is a standard pass-gate based MUX. The only specifications required are the number of inputs to be multiplexed into one bit and the number of output bits. The generic MUX, as the name suggests, can be used to model a general MUX. Comparator The comparator design is shown in Fig. 15.  Figure 15:n-bit comparator Latch Model At the end of the fetch stage is the pipeline latches associated with the fetch stage. These pipeline latches are basically modeling the delay incurred between moving instruction from the fetch stage to the decode stage. These delays could be due to the delay in BTB lookup or in getting the branch prediction. The latches could be of variable size and the number of latches would also vary depending upon the delay to be modeled. The variable length of the latches is due to the fact that some information may be added on a later latch in the pipeline. At any time these latches could be in one of the three states: Active implying that a new instruction was moved into this latch that cycle, Stalled meaning that the latch is holding on to the instruction that it had in the previous cycle this cycle also, Empty meaning that the latch is not storing anything that cycle. The power associated with each of these states would be different and is read from the input file.  EMBED Visio.Drawing.5  Figure 16: Simple Architecture along with the Pipeline latches This breakdown of energy-consuming activity allows for a form of clock gating where active instructions may consume more energy than stalled instructions, and where valid instructions may consume more energy than invalid ones (i.e. empty pipeline slots). For example, consider the logic shown in Figure 17. Here, a typical pipeline latch is shown, as might appear in the decode pipeline. An input multiplexor (typically built into the latch) is used to "recirculate" latched pipeline values when the hold signal is active. In addition, the valid bit from the preceding stage is used to gate the latch itself; if there is no valid data being fed into the latch, then the latch is not clocked.  Figure 17: A Pipeline Latch A Valid Bit from the previous stage is used to gate the clock signal. A hold signal from the succeeding stage is used to switch the multiplexor and recirculate data being stalled. In this system, a certain amount of energy is consumed if an instruction moves up the pipeline (the hold signal is inactive) and is latched into the next stage. A different (lower) amount is consumed if the hold signal is active, the multiplexor feeds the same data back into the latch and the latched is clocked, but the logic following the latch does not see any of its inputs change. Finally, a different (still lower) amount of energy is consumed if the valid signal is off, and the latch is not clocked at all. Similarly, in the issue queue, a particular issue queue slot may consume different amounts of energy depending on whether or not it holds an active instruction and whether or not the instruction actually issues. The pipeline latches were taken from a high-end design environment. A 2-to-1 static mux was used to re-circulate the data when stalled. Each cycle the simulator maintains an account of latches in various states and the total power the latches would consume each cycle. This is one of the innovative ideas in this simulator Special Model for Issue Window As stated before, the simulator models both Collapsible and Non Collapsible instruction issue window with the same FUB: isw. There would be some power associated with collapsing the instruction window. The simulator has counter to record these movements per cycle (Iswcolmoved) and the user can supply the power associated with these movements. The issue window can also be viewed as a set of fixed length latches with the same three states as before. The Active state (Iswact) now corresponds to the number of instruction ready to be issued that cycle while the stalled state (Iswstall) would correspond to instruction that are still waiting for their operands to become ready. The empty state (Iswempty) would represent the in-occupancy of the issue window each cycle.  EMBED Visio.Drawing.5  Figure 18: Instruction Issue Window For the issue queue, wakeup logic is modeled by counting the energy in the comparators. For the selection logic, energy of one arbiter cell was supplied. Then the number of arbiter cells per arbiter was calculated based on the number of entries in the issue queue. We assume one arbiter per issue port in our case four issue ports. Every entry in the issue queue has some comparators (for tag match). The wakeup logic associated with this issue window involves tag comparison and has a level of XOR gates followed by NAND gates. Assuming that the NAND gates are smaller than the XOR, the simulator records the power consumed in these XOR gates each cycle. There are counters associated with each of the states of the issue window latches as well as with data movement between these latches for a collapsible window. Options, Configuration, Output XE "CONFIGURATION"  This section describes the options, configuration files and output files used in the WArPE power estimation tool. Options XE "Options"  The estimator options (in addition to the underlying simplescalar options) are defined below. These options have been registered in the original simplescalar option database XE "option database" . Implementing these options required modification of some of the original sim-outorder.c XE "sim-outorder.c"  code. power_config XE "power_config"  : This option specifies the power simulator configuration file. XE "configuration file"  The file must read permissions. The default file name is power.txt XE "power.txt" . power_outfile XE "power_outfile"  : This option specifies the file into which output statistics XE "output"  are dumped. The default file name is power_output.txt XE "power_output.txt" . tech XE "tech" _file XE "tech_file"  : This option specifies the technology XE "technology"  definition file name. The file must have read permissions. The default file name is technology.def XE "technology.def" . technology XE "technology"  : This option specifies the power simulation technology. The technology is defined by an identifier listed in the technology file. Eg. technology 0.25um. The default technology is 0.8um. sim_limit XE "sim_limit"  : This option specifies the number of instructions (in millions) at which the simulation stops and data is dumped into the output file. Configuration file XE "Configuration file" s Following is a description of the various configuration files used in the WArPE estimator. Configuration files provide an easy and effective way of defining the large number of parameters used in the simulator. Basic configuration file This is the file defined by the power_config XE "power_config"  option. It defines the power densities, areas, mode XE "mode"  of operation i.e. pfa XE "pfa"  (empirical XE "empirical" ) or anal XE "anal"  (analytical XE "analytical"  model), power thresholds, and physical partitioning parameters. This file can be generated by saving a Microsoft Excel( worksheet in tab delimited text format. The file has three main option: global XE "global"  These define the power and di/dt XE "di/dt"  thresholds for the full chip. The unit XE "unit"  is watts. unit XE "unit" : name of the FUB XE "FUB"  (Functional Unit Block) as defined in power_init() XE "power_init()" . mode XE "mode" : pfa XE "pfa" : directs the simulator to use empirical XE "empirical"  data i.e. dyn_pda XE "dyn_pda" ,,pla_a XE "pla_a" . anal: directs the simulator to use analytical XE "analytical"  model for the FUB XE "FUB" . maxpowerth XE "maxpowerth" : maximum power threshold XE "power threshold"  for the FUB XE "FUB" . maxdidtth XE "maxdidtth" : maximum di/dt XE "di/dt"  threshold for the FUB XE "FUB" . dyn_pda XE "dyn_pda" : dynamic circuit power density - active dyn_pdi XE "dyn_pdi" : dynamic circuit power density - inactive dyn_a XE "dyn_a" : dynamic circuit area sta_pda XE "sta_pda" : static power density active sta_pdi XE "sta_pdi" : static circuit power density inactive sta_a XE "sta_a" : static circuit area clk_pda XE "clk_pda" : clock circuit power density active clk_pdi XE "clk_pdi" : clock power density inactive clk_a XE "clk_a" : clock circuit area mem_pda XE "mem_pda" : memory type circuit power density active mem_pdi XE "mem_pdi" : memory type circuit power density inactive mem_a XE "mem_a" : memory type circuit area pla_pda XE "pla_pda" : PLA power density  active pla_pdi XE "pla_pdi" : PLA power density  inactive pla_a XE "pla_a" : PLA circuit area The units of the power densities are mW/mm2, and the units of area are mm2. -<unit XE "unit"  name> <nwl XE "nwl" > <nbl XE "nbl" > <nsp XE "nsp" > <logic_style XE "logic_style" > <rd mode XE "mode" > Eg.  itlbcac 1 2 1 static dual This option specifies the physical partition. In the example given above, it defines the partition for itlb. The names specified with a - followed by the FUB XE "FUB"  name. : The number of partitions of the wordline. Each partition has a different decoder and wordline driver. The partitions however share sense amplifiers. : The number of partitions of the bitline. Each partition has separate sense amplifiers and decoders. : Similar to bitline partition but shares decoder. : The type of logic used for decoders, static or dynamic. : Defines the read mode i.e. dual for dual rail and single for single ended (used in small register files). Process Technology XE "Process Technology"  Data File This file contains the processing technology data for several generations. It must at least contain the data for the technology defined by the technology option. Some of the data provided in the technology file is not used presently. It will used in later revisions, e.g. for dual Vt technologies. The format for the technology data is as follows Eg. 0.8um 0.80 5.00 100 0.75 0.75 1 1 : Technology identifier. It should match the identifier supplied using the technology option. : The effective channel length in microns. : The drain voltage used in the technology. : The clock frequency XE "clock frequency"  in MHz. : For use in dual voltage circuits. This is the lower threshold voltage. : Higher threshold voltage. : Leakage current for the lower threshold voltage in nA/mm. <Ioh XE "Ioh" >: Leakage current for the higher threshold voltage in nA/mm. Output file This file contains the output power statistics generated after the simulated instructions reach sim_limit or the simulation ends. The file is well formatted and the data is self-explanatory. Sample configuration files and output file are shown below. -global XE "global" 1010Npclogpfa XE "pfa" 117.720.7723.20E+046.050.6052.56E+058.438.433.20E+0410.751.0750.00E+0091.759.1750.00E+00Btblogpfa XE "pfa" 117.720.7720.00E+006.050.6052.49E+058.438.431.31E+0410.751.0750.00E+0091.759.1750.00E+00Btbcacanal117.720.7721.50E+056.050.6059.00E+058.438.431.50E+0510.751.0751.80E+0691.759.1750.00E+00Rsbcacanal117.720.7723.85E+046.050.6057.70E+048.438.431.93E+0410.751.0755.78E+0491.759.1750.00E+00Itlbcacanal117.720.7721.50E+056.050.6053.00E+058.438.433.75E+0410.751.0752.63E+0591.759.1750.00E+00dtlbcacanal117.720.7721.20E+046.050.6054.00E+058.438.434.00E+0410.751.0752.40E+0591.759.1750.00E+00pmhlogpfa XE "pfa" 117.720.7726.00E+046.050.6052.00E+058.438.432.00E+0410.751.0751.20E+0591.759.1750.00E+00il1logpfa XE "pfa" 117.720.7722.40E+056.050.6051.68E+068.438.432.40E+0510.751.0752.40E+0591.759.1750.00E+00il1taganal117.720.7725.28E+056.050.6057.92E+058.438.432.64E+0510.751.0753.70E+0691.759.1750.00E+00il1cacanal117.720.7720.00E+006.050.6051.32E+068.438.433.30E+0510.751.0754.95E+0691.759.1750.00E+00dl1logpfa XE "pfa" 117.720.7723.60E+056.050.6051.68E+068.438.431.20E+0510.751.0752.40E+0591.759.1750.00E+00dl1taganal117.720.7722.64E+056.050.6057.92E+058.438.432.64E+0510.751.0753.96E+0691.759.1750.00E+00dl1cacanal117.720.7720.00E+006.050.6051.32E+068.438.433.30E+0510.751.0754.95E+0691.759.1750.00E+00dispatchqpfa XE "pfa" 117.720.7726.50E+056.050.6054.88E+058.438.431.63E+0510.751.0753.25E+0591.759.1750.00E+00decodeplapfa XE "pfa" 117.720.7723.20E+046.050.6054.80E+048.438.431.60E+0410.751.0750.00E+0091.759.1756.40E+04decodemisppfa XE "pfa" 117.720.7720.00E+006.050.6057.43E+048.438.438.25E+0310.751.0750.00E+0091.759.1750.00E+00decodestallpfa XE "pfa" 117.720.7720.00E+006.050.6055.23E+048.438.432.75E+0310.751.0750.00E+0091.759.1750.00E+00ratarranal117.720.7722.08E+056.050.6055.20E+058.438.435.20E+0410.751.0752.60E+0591.759.1750.00E+00ruuarrpfa XE "pfa" 117.720.7729.10E+046.050.6051.82E+058.438.434.55E+0410.751.0751.37E+0591.759.1750.00E+00lsqarrpfa XE "pfa" 117.720.7724.55E+046.050.6059.10E+048.438.432.28E+0410.751.0756.83E+0491.759.1750.00E+00ruurdyqpfa XE "pfa" 117.720.7721.50E+046.050.6052.00E+048.438.432.50E+0310.751.0751.25E+0491.759.1750.00E+00lsqrdyqpfa XE "pfa" 117.720.7727.50E+036.050.6051.00E+048.4312504.00E+0410.751.0756.25E+0391.759.1750.00E+00ruuarbpfa XE "pfa" 117.720.7721.05E+056.050.6056.30E+058.438.431.05E+0510.751.0752.10E+0591.759.1750.00E+00ruuwbpfa XE "pfa" 117.720.7722.00E+056.050.6051.20E+068.438.432.00E+0510.751.0754.00E+0591.759.1750.00E+00lsqarbpfa XE "pfa" 117.720.7721.05E+056.050.6056.30E+058.438.431.05E+0510.751.0752.10E+0591.759.1750.00E+00lsqwbpfa XE "pfa" 117.720.7722.00E+056.050.6051.20E+068.438.432.00E+0510.751.0754.00E+0591.759.1750.00E+00fuintpfa XE "pfa" 117.720.7728.50E+046.050.6052.38E+058.438.431.70E+0410.751.0750.00E+0091.759.1750.00E+00fufppfa XE "pfa" 117.720.7721.13E+056.050.6053.15E+058.438.432.25E+0410.751.0750.00E+0091.759.1750.00E+00ul2logpfa XE "pfa" 117.720.7721.44E+056.050.6056.72E+058.438.434.80E+0410.751.0759.60E+0491.759.1750.00E+00ul2taganal117.720.7723.60E+056.050.6052.88E+068.438.433.60E+0510.751.0753.60E+0691.759.1750.00E+00ul2cacanal117.720.7721.50E+066.050.6056.00E+068.438.430.00E+0010.751.0752.25E+0791.759.1750.00E+00Biupfa XE "pfa" 117.720.7725.00E+056.050.6054.00E+068.438.435.00E+0510.751.0750.00E+0091.759.1750.00E+00fdlatch_0 pfa11 863410000000000000fdlatch_1 pfa11 863410000000000000fdlatch_3 pfa11 863410000000000000fdlatch_4 pfa11 863410000000000000dilatch_0 pfa11 863410000000000000dilatch_1 pfa11 863410000000000000dilatch_2 pfa11 863410000000000000dilatch_3 pfa11 863410000000000000isw pfa11 863410000000000000-dl1cac111staticdual-dl1tag111staticdual-dl2cac111staticdual-dl2tag111staticdual-il1cac111staticdual-il1tag111staticdual-il2cac111staticdual-il2tag111staticdual-dtlbcac111staticdual-itlbcac111staticdual-btbcac111staticdual-regfile111staticsingle Figure 19: Basic Configuration File tech XE "tech"  L(um) Vdd XE "Vdd" (V) f(MHz) Vtl XE "Vtl" (V) Vth XE "Vth" (V) Iol XE "Iol" (nA/um) Ioh XE "Ioh" (nA/um)0.8um 0.80 5.00 100 0.75 0.75 0.01 0.010.6um 0.60 3.30 200 0.65 0.65 0.01 0.01 0.35um 0.35 2.50 300 0.55 0.55 0.1 0.10.25um 0.25 1.50 450 0.45 0.45 0.1 0.10.18um 0.18 1.05 700 0.35 0.35 1 0.10.15um 0.15 1.00 1000 0.30 0.35 1 0.10.13um 0.13 1.00 1500 0.28 0.35 1 0.10.1um 0.10 0.75 2250 0.25 0.35 1 0.10.07um 0.70 0.60 3300 0.25 0.35 10 0.1Figure 20 Technology File. Sun May 19 17:07:59 2002 Power simulation checkpoint at 200000051 instructions functional cumulative maximum maximum maximum power maximum didt block name power power didt power violations violations npclog 4.354e+06 8.262e+06 7.813e+06 0 0 btblog 6.775e+05 8.097e+06 7.835e+06 0 0 btbcac 1.59e+06 2.135e+07 2.092e+07 0 0 itlbcac 2.293e+05 4.446e+05 4.335e+05 0 0 rsbcac 3.414e+05 1.546e+06 1.245e+06 0 0 dtlbcac 4.024e+06 3.801e+07 3.716e+07 0 0 pmhlog 4.667e+05 3.132e+06 3.132e+06 0 0 il1log 3.548e+07 6.648e+07 6.3e+07 0 0 il1tag 1.071e+08 2.033e+08 1.962e+08 0 0 il1cac 1.062e+07 2.029e+07 1.979e+07 0 0 dl1log 1.338e+07 1.819e+08 1.628e+08 0 0 dl1tag 4.12e+07 5.679e+08 5.091e+08 0 0 dl1cac 1.485e+07 2.117e+08 1.905e+08 876705 0 dispatchq 0 0 0 0 0 decodepla 0 0 0 0 0 decodemisp 0 0 0 0 0 decodestall 0 0 0 0 0 ratarr 8.569e+07 2.715e+08 2.384e+08 0 0 ruuarr 2.734e+07 1.864e+08 1.133e+08 0 0 lsqarr 4.258e+06 2.924e+07 2.741e+07 0 0 ruurdyq 1.041e+06 7.845e+06 6.668e+06 0 0 lsqrdyq 7.525e+06 2.3e+07 1.464e+07 0 0 ruuarb 3.15e+07 2.795e+08 1.242e+08 0 0 ruuwb 7.137e+07 1.775e+08 1.745e+08 0 0 lsqarb 3.267e+07 2.795e+08 1.242e+08 0 0 lsqwb 2.487e+07 1.627e+08 1.597e+08 0 0 fuint 3.489e+06 8.958e+06 8.605e+06 0 0 fufp 4.671e+05 5.928e+06 5.461e+06 0 0 ul2log 1.833e+06 5.953e+07 5.85e+07 0 0 ul2tag 1.653e+07 5.574e+08 5.485e+08 0 0 ul2cac 1.352e+07 8.154e+08 8.102e+08 0 0 biu 8.242e+06 2.582e+08 2.512e+08 0 0 isw 1.625e+06 0 1.311e+06 0 0 fdlatch_0 6.458e+04 9.83e+04 7.782e+04 0 0 fdlatch_1 6.442e+04 9.83e+04 7.782e+04 0 0 fdlatch_2 6.387e+04 9.83e+04 7.782e+04 0 0 fdlatch_3 6.329e+04 9.83e+04 7.782e+04 0 0 dilatch_0 6.24e+04 9.83e+04 7.782e+04 0 0 dilatch_1 6.167e+04 9.83e+04 7.782e+04 0 0 dilatch_2 6.133e+04 9.83e+04 7.782e+04 0 0 dilatch_3 5.725e+04 9.83e+04 7.782e+04 0 0 Global statistics: Total power = 566797441.827776 Maximum power = 3490027519.397630 Maximum didt power = 3198001037.129858 Power violations = 19489894 Didt power violations = 1204832 Figure 21: Output File.  XE "CONFIGURATION" File Structure The simulator is essentially based on Simplescalar [1]. Care has been taken to keep the power simulation functions in separate files thus minimizing the modification of the original code. However, at some places it was inevitable or rather much more convenient to modify the original Simplescalar files. The file structure is as follows. power.c XE "power.c" : The main power number generation file. It contains routines for power calculation. Any new power calculation routines, eg. Clock gated power calculation should be included in this file. power.h XE "power.h" : This file contains all the declarations for variables, structures and functions and definitions used in power.c XE "power.c" . anal.c XE "anal.c" : Contains all the analytical XE "analytical"  models. Any new models developed should be placed in this file. anal.h XE "anal.h" : Contains declarations and definitions for variables and functions used in anal.c XE "anal.c" . tech XE "tech" .c: Technology processing file. Reads from the technology file and calculates scaling factors for the required technology .The base technology used is 0.8 um and all simulations are performed by scaling the 0.8um technology. tech XE "tech" .h: Contains all the device size definitions for 0.8 um base technology. sim-outorder.c XE "sim-outorder.c"  and main.c XE "main.c"  have also been modified as described later. power.h XE "power.h"  As mentioned earlier, power.c XE "power.c"  contains routines for power computation and power.h XE "power.h"  is the supporting header file. The simulator is designed using a FUB XE "FUB" -centric approach. All the power numbers specific to an FUB is stored together in one structure. The structure is shown below. Not all the elements are used. Some of them are present for future expansion. typedef struct { char name[32]; double active_power; double active_power_rd; double active_power_wr; double static_power XE "static_power" ; double inactive_power; double active_power_lt; double stall_power_lt; double empty_power_lt; double active_power_cg; double active_power_wr_cg; double active_power_rd_cg; double inactive_power_cg; double maxpowerth XE "maxpowerth"  double maxdidtth XE "maxdidtth" ; double cum_power XE "cum_power" ; double prev_power XE "prev_power" ; double max_power XE "max_power" ; double max_didt XE "max_didt" ; double max_powerx XE "max_powerx" ; double max_didtx XE "max_didtx" ; } fub_t XE "fub_t" ; The element name stores the name of the FUB XE "FUB" , which can be at most 32 characters in length. The next four elements store power numbers, which are obvious from their names. It should be noted that active power XE "active power"  comes in three flavors. When using the empirical XE "empirical"  method, only active_power is used. It is the sum of the (power density)*(area) products for the five different circuit styles. When analytical XE "analytical"  models are used, the read and write operations can be separated and these give different power consumptions thus the rd and wr suffixes. The element inactive_power is presently redundant but can be used in the empirical mode XE "mode"  for standby mode. The next three numbers are power values for latches only. The next four elements are the clock gated power numbers which are presently not being used. Notice that clock gating does not affect static power and hence static_power XE "static_power" _cg is not present. The elements maxpowerth XE "maxpowerth"  and maxdidtth XE "maxdidtth"  are the maximum power and maximum di/dt XE "di/dt"  power thresholds for the FUB. These values are defined in the configuration file. cum_power XE "cum_power"  keeps accumulating the power after every cycle and is finally divided by the number of cycles to get the average power dissipated. prev_power XE "prev_power" , max_power XE "max_power"  and max_didt XE "max_didt"  are the previous cycle power, maximum power and maximum di/dt power respectively. Finally, max_powerx XE "max_powerx"  and max_didtx XE "max_didtx"  keep track of the number of threshold violations. A similar structure of type glb_power_t XE "glb_power_t"  is used to track the full chip power numbers. Its elements are essentially the sum of the corresponding elements of the FUB XE "FUB"  structures. Another important structure defined is the power_t, which is used to exchange power numbers. Its got three elements, active_power_rd, active_power_wr and static_power XE "static_power"  which are self-explanatory. The activity XE "activity"  counts are tracked using two arrays of counters, one for present cycle counts and the other for cumulative counts. Specific counters can be accessed by using the counter name as the index, Eg. pres_count XE "pres_count" [Ruuarr]. Ninety three counters have presently been declared. New counters can be added simply by adding their names to the #define list and updating NUM_POWER_COUNTERS XE "NUM_POWER_COUNTERS" . As a convention, only the first character of the counter name is in caps. As more and more features are added to the simulator, new elements can be added to these structures and new counters can be defined for more detail/functionality. This makes the simulator amenable to future development. Finally, there is a structure, which is used to maintain the power parameter database. The structure type is called power_db XE "power_db" . It stores the following data name: Name of a FUB XE "FUB" /variable/file. S: The number of sets in a cache like structure. OR The value of a variable, for example: decode width. A: Associativity. B: The block size in number of bits. b: The output size in bits. nwl XE "nwl" , nbl XE "nbl" , nsp XE "nsp" , logic, rd_mode XE "mode"  as defined in section 4.2.1. The power_db XE "power_db"  structure is also used to store the various filenames. The convention used is that the first element of the database has name root. The next elements name is the configuration filename. The third elements name is the output filename. The fourth is the technology filename and the fifth is the technology identifier. This was found to be a way to avoid the addition of an extra field to the database. All other elements are then added in any order. This concludes the discussion of the important structures used. All other structures are self-explanatory. power.c XE "power.c"  power.c XE "power.c"  contains power estimation XE "estimation"  routines and option handling routines. These routines are described below add_param() XE "add_param()" , get_param() XE "get_param()"  These functions are used to add and retrieve parameters from the power simulation database. The former adds a structure of type power_db XE "power_db"  to the database while the latter retrieves the same from the database. search_opt() XE "search_opt()" , print_opt() XE "print_opt()"  search_opt() XE "search_opt()"  is used to retrieve the physical structure XE "physical structure"  parameters (nwl XE "nwl" , nbl XE "nbl" , nsp XE "nsp" , logic style, read mode XE "mode" ) on giving the option name. print_opt() XE "print_opt()"  prints all the elements of the power parameter database in a tabular form. It is helpful in debugging. dump_fub_stats() XE "dump_fub_stats()"  This function dumps all the power statistics on the screen or into the specified file. The file dump mode XE "mode"  can be specified by mode = 0 and the screen dump by mode ( 0. power_init() XE "power_init()"  This function allocates memory for all the FUB XE "FUB"  structures and calls init()on each FUB. It also reads the thresholds specified the global XE "global"  option and initializes the global power structure. init() XE "init()"  This function reads the power densities and areas of the FUBs from the basic configuration file in case of the pfa XE "pfa"  mode XE "mode" . If the mode is anal, then it just calls calc_anal() XE "calc_anal()" . The functions initializes all the power variables inside the structure. Finally, it adds the FUB XE "FUB"  to the FUB database. calc_anal() XE "calc_anal()" , array_power() XE "array_power()"  These functions calculate the power numbers when in anal mode XE "mode" . calc_anal() XE "calc_anal()"  calls array_power() XE "array_power()" , which in turn calls routines from anal.c XE "anal.c"  to generate the power constants. power_update() XE "power_update()"  All the functions mentioned before are called only at the beginning of the simulation. This routine, however, is called every cycle to update the power variables. power_update() XE "power_update()"  multiplies the access counts to active power XE "active power"  constants if the count is non-zero or else uses the inactive power XE "inactive power"  constants. Presently, no clock-gating feature is incorporated, but the infrastructure has already been laid. The function also checks for power threshold XE "power threshold"  and di/dt XE "di/dt"  threshold violations. At the end of the function the present cycle power counters are reset whereas the cumulative counts keep on going. anal.h XE "anal.h"  This is the header file for anal.c XE "anal.c" . It contains all the function declarations for the functions present in anal.c. anal.c XE "anal.c"  This file contains all the analytical XE "analytical"  models. The analytical models are described in more detail in section 4. In this section we describe the interfaces of all the functions in anal.c XE "anal.c" . decoder_buffer_power() XE "decoder_buffer_power()"  This function takes the number of address bits and number of rows as inputs and generates power constants for the decoder buffer. The decoder buffer is meant to feed into all decoders needed for an array. Presently, the size of the buffer is constant, however, in the future this can be made dependent on number of decoders that it feeds into. decoder_power() XE "decoder_power()"  This function generates the power numbers for the decoder. It takes the number of rows and logic style as inputs. routing_power() XE "routing_power()"  This function estimates the power dissipated due the routing in the decoder. It takes rows, columns and cell type as inputs. It needs number of columns as an input because the decoder buffer is assumed to be at the center of all the partition as was made clear in section 4. wordline_power() XE "wordline_power()"  This function calculates the power for the wordline, including the wordline driver. The wordline driver size depends upon the number of columns, which is an input and also the particular kind of memory cell used(i.e. read mode XE "mode"  and cell size), which is input. The size is then calculated using the WLdriver_size() function []. bitline_power() XE "bitline_power()"  This function calculates the power for the bitlines, including the precharge and isolation transistors. It takes the number of rows, columns, cell type and read mode XE "mode"  as inputs. In the single ended read mode, no pre-charging is used. Instead, the bitlines are driven by the cell transistors. Hence, this scheme can be used for relatively small structures like register files. senseamp_power() XE "senseamp_power()"  This is used for calculating the sense amplifier power constants. It is assumed that the nodes of the sense amp are charged by a separate pre-charge circuit. The inputs to this function are the number of sense amps and the number of bitlines sharing one senseamp. outmux_power() XE "outmux_power()"  This function calculates the power for the output MUX. The inputs to the function are the numbers of inputs to the MUX and the number of outputs. compare_power() XE "compare_power()"  This function calculates the power for the comparator. This model is useful for tag arrays and register update unit XE "unit"  type FUBs. genmux_power() XE "genmux_power()"  This calculates constants for a generic MUX. The inputs to the function are number of output bits and number of bits being multiplexed into one bit. driver_size() XE "driver_size()"  This function calculates the driver size for driving a capacitance with a desired rise time. The capacitance and rise time are inputs. The voltage swing is assumed to be from 0-Vdd XE "Vdd" . bldriver_size() XE "bldriver_size()"  This is similar to driver_size() XE "driver_size()"  except for the fact that the voltage swing is Vsense-Vprecharge. This function is mainly used to calculate pre-charge transistor sizes for bit lines in low power cache implementations. gatecap() XE "gatecap()" , gatecappass() XE "gatecappass()"  These functions are used to calculate the gate capacitance for a given transistor width and poly length. The latter is used specifically for pass transistors. draincapp() XE "draincapp()" , draincapn() XE "draincapn()"  These are used to calculate the drain capacitance for p and n-type transistors respectively. The also take the number of transistors stacked as input to optimize the configuration []. leakage() XE "leakage()"  This function calculates the leakage power or static power for a given transistor size with a given threshold. Presently, its a very rough calculation and much more work can be done in the future. log2() XE "log2()"  This function returns logarithm to the base two, rounded off to the next lowest integer. It is mainly used for address bit calculations for a given number of rows. sim-outorder.c XE "sim-outorder.c" , main.c XE "main.c"  These files have been slightly modified for the power simulator. Following is a list of changes made. In main.c XE "main.c" , a power option database called pow_odb XE "pow_odb"  has been added. This is used in sim_print_stats() to dump the power statistics. Another change made is the power_init() XE "power_init()"  function call added after sim_init() XE "init()"  to initialize the power simulation. In sim-outorder.c XE "sim-outorder.c" , several global XE "global"  variables have been added. These have been well commented. In sim_reg_options(), the five new options have been registered. The power_update() XE "power_update()"  function call has been added in sim_main(). And finally, power_database() has been added. This function essentially processes options and adds them to the power database for use in the analytical XE "analytical"  models. Control Flow XE "control flow"  The following flowchart depicts the control flow for the power simulation.                            This completes the control flow description of the main functions in the power simulator. References [1] D. Burger and T. Austin. The simplescalar tool set, version 2.0, Technical report, Computer Sciences Department, University of Wisconsin, June 1997. [2] S.J.E. Wilton and N.P. Jouppi An Enhanced Access and Cycle Time Model for On-Chip Caches, Western research Laboratory Report, May 1993. [3] D. Brooks, V. Tiwari, M. Martonosi. Wattch: A Framework for Architectural-Level Power Analysis and Optimizations, in Proc. International Symposium on Computer Architecture, Jun. 2000. [4] N. Vijaykrishnan, M. Kandemir, M. J. Irwin, H. S. Kim, and W. Ye Energy-driven integrated hardware-software optimizations using SimplePower, in Proc. International Symposium on Computer Architecture, Jun. 2000. [5] D. Liu and C. Svensson. Power Consumption Estimation in CMOS VLSI Chips. IEEE Journal of Solid-State Circuits, 29(6), pp. 663-670. Jun. 1994 [6] P. Landman and J. Rabaey. Activity-Sensitive Architectural Power Analysis. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 15(6), page 571, Jun. 1996. [7] R. Chen, M. Irwin, and R. Bajwa. An architectural level power estimator. In Power-Driven Microarchitecture Workshop at ISCA25, 1998 Appendix Sl. No.  Name of the FUB Description Models supported1npclogNext pc generation logicPFA2btblogBTB logicPFA3btbcacBTB cachePFA/Anal4itlbcacInstruction TLBPFA/Anal5rsbcacReturn Stack BufferPFA/Anal6dtlbcacData TLBPFA/Anal7pmhlogPage miss handlerPFA8il1logL1 instruction cache logicPFA9il1tagL1 instruction cache tagPFA/Anal10il1cacL1 instruction cache arrayPFA/Anal11dl1logL1 data cache logicPFA12dl1tagL1 data cache tag PFA/Anal13dl1cacL1 data cache arrayPFA/Anal14dispatchq Dispatch QueuePFA15decodeplaInstruction decoderPFA16decodemispMisprediction handling logicPFA17decodestallDecoder Stall logicPFA18ratarrRegister Aliasing tablePFA/Anal19ruuarrRegister update unit / reorder bufferPFA20lsqarrLoad/Store queuePFA21ruurdyqRe order ready queue PFA22lsqrdyqLoad/Store ready queuePFA23ruuarbRe order arbitration logicPFA24ruuwb Re order write back schedulerPFA25lsqarbLoad/store arbitration logicPFA26lsqwbLoad/store write back schedulerPFA27fuint Integer functional unitPFA28fufpFloating point functional unitPFA29ul2logUnified L2 cache logicPFA30ul2tagUnified L2 cache tagPFA/Anal31ul2cacUnified L2 cache arrayPFA/Anal32biuBus/IO unitPFA33fdlatchFetch Decode latchPFA34dilatchDecode Issue LatchPFA35iswInstruction Issue WindowPFA Table of FUBs: Shows the various functional unit blocks with the models existing in the simulator. PFA: Power Factor Approximation Anal: Analytical models exist Sl No.Name of the counterAssociated FUBDescription0BrupdateBTB cachebranch update activity1BrlookupBTB cachebranch lookup activity2RsbpopReturn Stack Bufferreturn stack pop activity3RsbpushReturn Stack Bufferreturn stack push activity4Il1accL1 Instruction cacil1 access activity5Il1wbkL1 Instruction cacil1 writebacks activity6Il1repL1 Instruction cacil1 replacements activity7Il1invL1 Instruction cacil1 invalidations activity8Dl1accL1 Data cacdl1 access activity9Dl1wbkL1 Data cacdl1 writebacks activity10Dl1repL1 Data cacdl1 replacements activity11Dl1invL1 Data cacdl1 invalidations activity12Il2accL2 Instruction cacil2 access activity13Il2wbkL2 Instruction cacil2 writebacks activity14Il2repL2 Instruction cacil2 replacements activity15Il2invL2 Instruction cacil2 invalidations activity16Dl2accL2 Data cacdl2 access activity17Dl2wbkL2 Data cacdl2 writebacks activity18Dl2repL2 Data cacdl2 replacements activity19Dl2invL2 Data cacdl2 invalidations activity20Ul2accL2 United cacheul2 access activity21Ul2wbkL2 United cacheul2 writebacks activity22Ul2repL2 United cacheul2 replacements activity23Ul2invL2 United cacheul2 invalidations activity24ItlbmisInstruction TLBitlb miss activity25DtlbmisData TLBdtlb miss activity26Ul2misL2 United cacheul2 miss activity27ItlbaccInstruction TLBitlb access activity28ItlbwbkInstruction TLBitlb writebacks activity29ItlbrepInstruction TLBitlb replacements activity30ItlbinvInstruction TLBitlb invalidations activity31DtlbaccData TLBdtlb access activity32DtlbwbkData TLBdtlb writebacks activity33DtlbrepData TLBdtlb replacements activity34DtlbinvData TLBdtlb invalidations activity35NpcNext pc generation logicnext pc logic activity36DispatchqrdDispatch Queuedispatchq read activity37DispatchqwrDispatch Queuedispatchq write activity38DispatchqrelDispatch Queuedispatchq release activity39DispatchqrecDispatch Queuedispatchq recover activity40DecoderInstruction decoderdecoder activity41Decodemispchk Instruction decoderdecoder mispredict detect activity42DecodemispInstruction decoderdecoder mispredict correction activity43DecodestallchkInstruction decoderdecoder stall detect activity44DecodestallInstruction decoderdecoder stall block activity45RatidepRegister Aliasing tablerat idep allocation activity46RatodepRegister Aliasing tablerat odep allocation activity47RatstallchkRegister Aliasing tablerat stall detection activity48RatstallRegister Aliasing tablerat stall block activity49RuuarrReorder bufferruu array activity50RuurdyqschReorder bufferruu readyq allocation activity51RuurecReorder bufferruu recover activity52RuuretReorder bufferruu retire activity53RuurdyqcamReorder bufferruu readyq dependence check activity54RuurdyqrelReorder bufferruu readyq resource release activity55LsqarrLoad/Store queuelsq array activity56LsqrdyqschLoad/Store queuelsq readyq allocation activity57LsqrecLoad/Store queuelsq recover activity58LsqretLoad/Store queuelsq retire activity59LsqrdyqcamLoad/Store queuelsq readyq dependence check activity60LsqrdyqrelLoad/Store queuelsq readyq resource release activity61RuuarbReorder bufferruu arbitration activity62RuuwbReorder bufferruu writeback scheduler activity63RuuwbqReorder bufferruu writebackq activity64LsqarbLoad/Store queuelsq arbitration activity65Lsqwb Load/Store queuelsq writeback scheduler activity66LsqwbqLoad/Store queuelsq writebackq activity67FuintInteger point functional unitfunctional unit integer68FufpFloating point functional unitfunctional unit floating point69Fdlatch_active Fetch Decode latchLatch after fetch stage active70Fdlatch_stallFetch Decode latchLatch after fetch stage stalled71Fdlatch_emptyFetch Decode latchLatch after fetch stage empty72Dilatch_activeDecode Issue LatchLatch after decode stage active73Dilatch_stallDecode Issue LatchLatch after decode stage stall74Dilatch_emptyDecode Issue LatchLatch after decode stage empty75IswactInstruction Issue WindowIssue window latch active 76IswstallInstruction Issue WindowIssue window latch stalled77IswemptyInstruction Issue WindowIssue window latch empty 78IswcolmovedInstruction Issue WindowCollapsible Issue window latch moved  Table of Counters: Note that the number of counters would vary with the number of latches. If there are three latches after the fetch stage, there would be 9 Fdlatch (69-77) counters and same for the latches after the decode stage. Index INDEX \e " " \h "A" \c "2" \z "1033"  A active power 12, 15, 18 activity 12, 16 add_param() 17 anal 6 anal.c 1, 14, 18, 19, 25 anal.h 1, 14, 19 analytical 3, 6, 13, 14, 15, 19, 22, 25 array_power() 18 B bitline_power() 20 bldriver_size() 21 C calc_anal() 18 clk_a 6, 7 clk_pda 6, 7 clk_pdi 6, 7 Clock circuits 13 clock frequency 8 compare_power() 20 configuration file 5,6 control flow 1, 22 cum_power 15, 16 D decoder_buffer_power() 19 decoder_power() 19 di/dt 6, 12, 16, 19 draincapn() 21, 25 draincapp() 21, 25 driver_size() 21 dump_fub_stats() 18 dyn_a 6, 7 dyn_pda 6, 7 dyn_pdi 6, 7 Dynamic logic 13 E empirical 3, 6, 15 estimation 3, 12, 13, 17 F FUB 6, 7, 12, 13, 15, 16, 17, 18 fub_t 15 G gatecap() 21, 25 gatecappass() 21, 25 genmux_power() 21 get_param() 17 glb_power_t 16 global 6, 9, 18, 22 I inactive power 12, 18 init() 18, 22 Ioh 8, 10 Iol 8, 10 L leakage() 21 Leff 8, 25 log2() 21 logic_style 7 M main.c 1, 14, 22 max_didt 15, 16 max_didtx 15, 16 max_power 15, 16 max_powerx 15, 16 maxdidtth 6, 15, 16 maxpowerth 6, 15, 16 mem_a 6, 7 mem_pda 6, 7 mem_pdi 6, 7 Memory type regular circuits 13 methodology 1, 4, 12 mode 6, 7, 8, 13, 15, 17, 18, 20 N nbl 7, 17, 18 nsp 7, 17, 18 NUM_POWER_COUNTERS 16 nwl 7, 17, 18 O option database 5 Options 5 outmux_power() 20 output 5 P pfa 6, 9, 18 physical structure 13, 18 PLA circuits 13 pla_a 6, 7 pla_pda 6, 7 pla_pdi 6, 7 pow_odb 22 power threshold 6, 19 power.c 1, 14, 15, 17 power.h 1, 14, 15 power.txt 5 power_config 5, 6 power_db 17 power_init() 6, 18, 22 power_outfile 5 power_output.txt 5 power_update() 18, 22 pres_count 16 prev_power 15, 16 print_opt() 18 Process Technology 1, 8 R routing_power() 19 S search_opt() 18 senseamp_power() 20 sim_limit 6 sim-outorder.c 1, 5, 14, 22 sta_a 6, 7 sta_pda 6, 7 sta_pdi 6, 7 Static logic 13 static_power 15, 16 T tech 5, 8, 10, 14, 29 tech_file 5 technology 5 technology.def 5 U unit 6, 7, 20, 25 V Vdd 8, 10, 21 Vth 8, 10 Vtl 8, 10 W wordline_power() 20  PAGE  PAGE 71 PAGE  PAGE 35 power.c:dump_fub_stats() power.c:power_update() every cycle Sim-outorder.c main.c anal.c:decoder_buffer_power() :decoder_power() :routing_power() :wordline_power() :bitline_power() :senseamp_power() :outmux_power() :comparator_power() power.c:array_power() power.c:calc_anal() power.c:init() power.c:power_init() sim-outorder:power_database() creates the power database using options read from the configuration file and the options database. sim-outorder:sim_reg_options() registers the power options into the options database. main.c Single Buffer Decoder Buffer GND VDD ADDR BITS * 2(BIT and NBIT) . . . Stage 2 Stage 1 N decoders 3x8,2x4 using NAND gates N input NOR gate Structure of decoder Eg. 2x4 decoder . . out Outputs from four 2-input NAND gates BIT and NBIT Second stage NOR gate Eg. 4-input NOR precharge . out Wordline driver columns Isolation Pass gate Columns rows Precharge equalizer Precharge OUT BITN BIT MUX MUX Sense Amplifier Gnd Gnd Vdd Vdd Vdd Vdd Vdd Vdd BITN BIT Gnd sel GND VDD out Sense amp out # of bits to compare out Vdd precharge b0 nb0 na0 a0  47hi}~ !ջݱݨrݱdjqUmHnHu&j>*B*UmHnHphuj{UmHnHujUmHnHumHnHu5\mHnHu0J2aJmHnHu&j>*B*UmHnHphu mHnHu0J2mHnHuj0J2UmHnHu 5CJ\j5CJU\CJCJ('  45789:;<BPfgh%{>W ! ! !$a$$a$1M27!"#$%&'BCDEHIZ[\uvwxyz{|}δΫ߫Ή{j]UmHnHu&j>*B*UmHnHphujgUmHnHu6]mHnHu&j>*B*UmHnHphu mHnHu0J2mHnHu5\mHnHuj0J2UmHnHujUmHnHumHnHu,789;<=>?@[\]^cdɽɯɽכɽɍɽyof5\mHnHu0J2aJmHnHu&j>*B*UmHnHphujIUmHnHu&j>*B*UmHnHphujSUmHnHujUmHnHumHnHu mHnHu0J2mHnHuj0J2UmHnHu&j>*B*UmHnHphu(!"567PQRTUVWXYtuvwz{ƽƵƵƒƵpƵ&j>*B*UmHnHphuj5UmHnHu6]mHnHu&j>*B*UmHnHphu mHnHu0J2mHnHu5\mHnHuj0J2UmHnHuj?UmHnHujUmHnHumHnHu0J2aJmHnHu( $%&',-456OPQSTUVWXstޘѺvѺj UmHnHu&j >*B*UmHnHphuj! UmHnHu&j>*B*UmHnHphu mHnHu0J2mHnHu6]mHnHuj0J2UmHnHumHnHujUmHnHuj+UmHnHu.WVL F ]  c  j VT ! ! ! !tuv{|      * + , E ɽɯɽכɽɍɽyɽ&j~ >*B*UmHnHphuj UmHnHu&j >*B*UmHnHphuj UmHnHujUmHnHumHnHu mHnHu0J2mHnHuj0J2UmHnHu&j >*B*UmHnHphu,E F G I J K L M N i j k l q r    ïޡÍjUmHnHu&jj>*B*UmHnHphuj UmHnHu&jt >*B*UmHnHphu0J2mHnHu mHnHuj0J2UmHnHumHnHujUmHnHuj UmHnHu.     $ % & ? @ A C D E F G H c d e f i j u v w ɽɯɽכגɽɄɽߒpגɽ&jL>*B*UmHnHphujUmHnHu6]mHnHu&jV>*B*UmHnHphujUmHnHujUmHnHumHnHu mHnHu0J2mHnHuj0J2UmHnHu&j`>*B*UmHnHphu,       ; < = V W X Z [ \ ] ^ _ z { | } ќޅѓqcjUmHnHu&j8>*B*UmHnHphujUmHnHu5\mHnHu0J2aJmHnHu&jB>*B*UmHnHphu mHnHu0J2mHnHu6]mHnHuj0J2UmHnHumHnHujUmHnHujUmHnHu&      ! " # ( ) A B C \ ] ^ ` a b c d e δΒjUmHnHu&j$>*B*UmHnHphujUmHnHu&j.>*B*UmHnHphu mHnHu0J2mHnHu6]mHnHuj0J2UmHnHujUmHnHumHnHu,          5 6 7 8 9 ɽɯɽכגɽɄɽߒpf0J2aJmHnHu&j>*B*UmHnHphujUmHnHu6]mHnHu&j>*B*UmHnHphujUmHnHujUmHnHumHnHu mHnHu0J2mHnHuj0J2UmHnHu&j>*B*UmHnHphu'9 : H I J c d e g h i j k l ؽؽykjmUmHnHu&j>*B*UmHnHphujwUmHnHu&j>*B*UmHnHphu mHnHu0J2mHnHuj0J2UmHnHujUmHnHujUmHnHumHnHu0J2aJmHnHu5\mHnHu*  %&'(-.456OPQSTUVWXstuv{|мКx&j>*B*UmHnHphujYUmHnHu&j>*B*UmHnHphujcUmHnHu&j>*B*UmHnHphu0J2mHnHu mHnHuj0J2UmHnHumHnHujUmHnHu/ !"%&234MNOQRSTUVqrstuv¥ypy5\mHnHu0J2aJmHnHu&j>*B*UmHnHphujEUmHnHu6]mHnHu&j>*B*UmHnHphuj0J2UmHnHujOUmHnHujUmHnHumHnHu mHnHu0J2mHnHu*    ,-.012њތxn`j'!UmHnHu0J2aJmHnHu&j >*B*UmHnHphuj1 UmHnHu0J2]aJmHnHu&j>*B*UmHnHphu mHnHu0J2mHnHu5\mHnHuj0J2UmHnHumHnHujUmHnHuj;UmHnHu%356789:;LMu`Mv!Jh !23456MNijkl STUnoprstuvw{j#>*B*Uphj#Uj">*B*Uphj"U jUj!>*B*Uph0J2 j0J2U5CJ \mH nH uj5CJ U\mH nH uCJ 5CJ\j5CJU\5\mHnHu0>?@YZ[]^_`ab}~+,-FGHJKLMNOjkj&Ujp&>*B*Uphj%Ujz%>*B*Uphj$Uj$>*B*Uph0J2 j0J2Uj $U jU*B*Uphj)UjR)>*B*Uphj(Uj\(>*B*Uphj'U jU0J2 j0J2Ujf'>*B*Uph: !"#>?@Ahij  ()*Cj .>*B*Uphj-Uj*->*B*Uphj,Uj4,>*B*Uphj+U jUj>+>*B*Uph0J2 j0J2U*B*Uphj0Uj 0>*B*Uphj/Uj/>*B*Uph0J2 j0J2U jUj.U: "#$&'()*+FGHI`ab{|} !! jU5\j5CJ U\mH nH uj_4Uj3>*B*Uphji3U0J2PJj2>*B*Uphjs2U jU0J2 j0J2Uj1>*B*Uph5)KL,-s( ) !!!$$ %%6%[%%%%6 & F$6% '2'((%(.(m())------ $If`$If1$a$!((((((------------......(.).*.,.3.4.N.O.P.R.X.Y.l.m.n.p.v.w.......................//////$/%/>/?/@/C/I/J/d/e/f/i/p/q///CJOJQJ^JaJCJ j4Ujf@ CJUVaJ jUV--------....).*.,.{{{{{{{{{{$If~$$IflF8,," 06    4 la,.4.O.P.R.Y.m.n.p.w......{x{{~$$IflF8,," 06    4 la$If...........////{{{|{{{{{{{$If~$$IflF8,," 06    4 la/%/?/@/C/J/e/f/i/q//////{{|{~$$IflF8,," 06    4 la$If///////////////////////0000 0!0708090<0K0L0l0o0|0}00000000036;$;U;V;Y;d;e;|;};~;;;;;;;;;;;;;;;;;;;< < <<<<<.</<Q<R<S<V<`<a<aJCJOJQJ^JCJOJQJ^JaJCJ[////////////000{{{{{{{{{|{$If~$$IflF8,," 06    4 la0!08090<0L0k0l0o0}000000{{{~$$IflF8,," 06    4 la$If00011K566;;$;9;T;U;zxrrrr$If1$a$~$$IflF8,," 06    4 la U;V;Y;e;};~;;;;;;;;;;||||||||||$If|$$IflF8,," 0    4 la;;;;< <<<</<R<S<V<a<<|t|||$$IflF8,," 0    4 la$Ifa<<<<<<<<<<<<<<<<<<<======7=8=9=<=G=H=d=e=f=i=q=r======== >??????W@@@@@@@@JK3K4K6K >!>g>h>@@||||||wuuu1$a$$If|$$IflF8,," 0    4 la @@@AAwDDIIJJKK3K$If1$a$$da$d 3K4K6K=KQKRKTK[KsKtKwK~KKKKx{{{{{{{{{{$If~$$IflFK,"  06    4 laKKKKKKKKKKLLL L%L{|{{~$$IflFK,"  06    4 la$IfKKKKKKKKKKKKKLLL L L$L%L&L)L/L0LJLKLLLOLULVLiLjLkLnLtLuLLLLLLLLLLLLLLLLLLLLLLLMMMMMMM M4M5M6M9M@MAMYMZM[M^MeMfMMMMMMMMMMMMMMMMMCJOJQJ^JaJCJOJQJ^J]%L&L)L0LKLLLOLVLjLkLnLuLLLL{{{|{{{{{{{$If~$$IflFK,"  06    4 laLLLLLLLLLLLLLMM{{|{t~$$IflFK,"  06    4 la$IfMMM M5M6M9MAMZM[M^MfMMMM{{{{{{{{{{$If~$$IflFK,"  06    4 laMMMMMMMMMMMMM N(N{{{~$$IflFK,"  06    4 la$IfMMMMMMM N N'N(N)N,N4N5NMNNNONRNXNYNkNlNmNpNzN{NNNNNNNNNNNNNNNNNNN O OOOOO@OAOBOEOKOLO^O_O`OcOmOnOOOOOOOOOOOOOOOOOOOOPPPPP3P4P5P8P>P?PWPCJOJQJ^JCJOJQJ^JaJ](N)N,N5NNNONRNYNlNmNpN{NNNN{{{x{{{{{{{$If~$$IflFK,"  06    4 laNNNNNNNNNN OOOOAO{|{{~$$IflFK,"  06    4 la$IfAOBOEOLO_O`OcOnOOOOOOOOx{{{{{{{{{|{$If~$$IflFK,"  06    4 laOOOOOOPPPP4P5P8P?PXP{{{~$$IflFK,"  06    4 la$IfWPXPYP\PaPbPPPPPPPPPPPPPPPPPPPPQQQ Q Q#Q$Q%Q(Q-Q.QEQFQGQJQNQOQmQnQQQTTTTUUUUUUUUV VVV:V;VJVKVVVVVVVVVVVVVFXGX[X\XiXjX}X~XXXX jU5\CJOJQJ^JaJCJOJQJ^JXXPYP\PbPPPPPPPPPPPP{{{{{{{{{{$If~$$IflFK,"  06    4 laPPQQQ Q$Q%Q(Q.QFQGQJQOQnQ{{{~$$IflFK,"  06    4 la$IfnQoQQQQQQQQQQQTT|zzzzzzzxzzz1$a$~$$IflFK,"  06    4 la TTTVVWW8X9X]XXXX Y Y[[\\a]v]w]waxacc5dde & FXXXXXXXXYYYY'Y(Y[[[[E\F\W\X\__,_-_KaLaQaUaWaXafcjckcpctcvcwccccccccccccBdCdHdUdWdXddddddddddeeeeeeeee+h_h`hahfhghjUmHnHuy(OJQJ^JjOJQJU^J OJQJ^JCJOJQJ^J jUMeeefff h!h"h#h$h%h&h'h(h)h*h+h`hbhchdhehfhhhihjhkhlhmhmhnhohphhhh>j?j@jjjjjjjjjjjjjjjjjjjj11$a$gh@jjjjjjjjjjkkkkkkkkkkkkkkkllmmmmonsntnyn}nnnnoHoKoLoMoPoqp2q3q4q>q?qrrrrrrssgttttuGvKvLvxx.y5CJOJQJ\^JaJOJQJ^JjOJQJU^J OJQJ^JjUmHnHu5\ 5\aJjCJUmHnHuFjjjkkkkkkkkkkkkkkkkkkkkkkkl 1p^p`1 1$p^p`a$lllllllllm mmmo o o o o ooIoJoKoMoNoOoPofono11$a$nooohpipjpkplpmpnpopppqp3q5q6q7q8q9q:q;qq@qAqBqCqDqEqFqFqGqZq[qkqlqrrrrrrrrrrrrrrrrssssss  1$a$ssssssssssssssssssssssttetftgttt1$a$tttttttttttttttttttuuuuuuuuuu1$a$uHvIvJvKvLvMvNvivjvkvwvxvEzFzzzz[}\}]}_}`}a}}}1~2~3~$a$1$a$ & F.y/yyyFzGz_z`zazbzdzz{{||]}^}}}0~Ntu23 XYopɊʊߊjOJQJU^J OJQJ^J jU 5\j5U\ jbUj"f@ UVaJCJjUmHnHuNH 5\aJ jhlUjf@ UV jU5\;3~YOnorst qrx1$a$$da$d RS‹ËҋӋ@AŒČŌҌNO\]čԍՍڍ %OPab|}JXY^lnor}~ڏۏJK jUy( OJQJ^JjOJQJU^JOJQJ^JUK x֑בEFߒ!-/0dejnpqŔƔҔӔ\]CJOJQJ^J jH* 6]j6U]6]CJOJQJ^J jUOJQJ^JjOJQJU^J OJQJ^Jy(>x͒ѓғӓԓYZaeh^h$h^ha$8^8 & FԕՕ34@AhinrtuĖƖǖӖԖٖ !"',./9:?FHISTY`bcklqvx jUCJOJQJ^JCJOJQJ^JjCJOJQJU^JTxy—×͗Ηӗڗܗݗ $&'127>@AIJOTVWXYZ^_dhjkɘʘϘۘݘޘOJQJ^J jUCJOJQJ^JCJOJQJ^JjCJOJQJU^JQ 67GHSZ[`gijrsx}řƙיؙ /0FGST^_jkpy{|ΚϚԚۚݚޚ굾jPJUPJCJOJQJ^JjCJOJQJU^JCJOJQJ^J jUjOJQJU^J OJQJ^JD !/0pq}~89EF}~Ɯǜ՜֜<=KLڝ۝24>LPRžОԞ֞46@JNP؟ڟޟ "(,H*PJ OJPJQJCJOJQJ^JjPJUPJ jCJOJPJQJU^JCJOJPJQJ^JK-p/~ϝ*0FI ĥťƥ & Fh^h 0^`0,.46>@JRVXpr|ĠʠΠР(*4<@BDPpq{|~TUQTUZ]jOJQJU^J jUy(CJOJQJ^JjCJOJQJU^J OJQJ^JCJOJQJ^JK]_`̤ΤϤ !%'(wxإ٥^cdimopwx}ħŧʧͧϧЧ֧קܧߧOJQJ^J OJQJ^J jUy(CJOJQJ^JjCJOJQJU^JCJOJQJ^JjOJQJU^JHƥ]^ (dé.0HJì$If )*,0CDZ[ehinqstĩǩȩͩЩҩө&(,.CJaJCJOJQJ jUy(OJQJ^JjOJQJU^J OJQJ^JCJOJPJQJ^JKɬӬڬݬެST[^_ijkԭխ JK78qįůƯ/07:;EFGs&'_V̲ CJ jCJOJQJU^JaJCJOJQJ^JaJCJCJaJCJOJQJ^JCJjCJUaJLìĬŬƬǬȬɬʬˬ̬ͬάϬЬѬҬӬڬ  Ff$If )/5>DJST[kmotzŭ˭ԭFf8$Ifԭխܭ  &,5;AJKRWY[`fFf$IfFffotzɮήЮҮ׮ݮ Ff($If"(.78@EGINT]bhqv{FfFfx$IfƯȯʯϯկޯ  &/07GIKPV_djFf$Ifjsx}ư̰հڰFfh$If&'.357<BKPV_dirx~FfFf$Ifṉ̃ѱױ%*,.39BGMV[`FfX$If`iou~ò̲Ѳֲ߲ Ff$If $&(-3<AGPUZciox~FfH $IfFf "#$PԳ !+,-1-͵)*+/Nж"#-./3RCJCJCJ jCJOJQJU^JaJCJOJQJ^JaJCJUų˳Գٳ޳-/16<EJPY^clrFf$Ifrx´˴дִߴ $Ff8Ff$If$)+-28AFLUZ_hnt}µǵ͵Ff$If͵ֵ۵ +-/4:CHNW\ajpvFf#$IfŶʶжٶ޶ /13Ffx.Ff()$If38>GLR[`entzȷͷӷܷFf3$Ifӷ #$./04SԸ!$%/015TԹ #$./04SԺ+J >CJ jCJOJQJU^JaJCJCJCJCJOJQJ^JaJS  0249?HMS\afou{Ff9$IfɸθԸݸ !135:@FfC$IfFfh>@INT]bgpv|ɹιԹݹFfI$If  0249?HMS\afou{FfSFfXN$IfɺκԺݺ "')+06?DJFfX$IfJSX]flr{ɻλӻܻFfH^$If $*38>GLQZ`fou{FfhFfc$IfƼʼ̼μҼռؼڼܼ޼Ff8n$If&'RT\]Ƚɽ*,45Z\deoy)0fm 9=>IJUV`aopz{x OJQJ^JjPJUPJCJCJCJOJQJ^JaJV  "$&Ffs$If&'268:>ADFHJLNPRTVXZ\]hlnptwFf(~$IfFfxwz|~Ffx$If½ĽƽȽɽԽؽڽܽ FfFfȈ$If  "$&(*,.0245:>@BFILNPFfh$IfPRTVXZ\^`bdefghijklmnopqrstuvPFf$Ifvwxy¾ľFfnFf$Ifľ˾оҾھܾ޾ $Ffv$If$)*+,-./08:<>EJLTVXZafghijklFf~$Iflmvxz|Ff$IfFfǿɿ˿ͿԿٿڿۿܿݿ޿߿FfB$If FfFf$If789)*Z[G2$$Iflb t4 la$If1$a$GHwx3lV@*1$a$$If2$$Iflb t4 la*tgT>(v`K6 n  P| 34Hvq1$a$ $d7$8$H$a$ "#3EF67EFNO\]|}JKefstz{ !z{)*56CDqryzABLMOJQJ^Jy( jU5\ 5\j5U\V,AB[t/1Jf!O|BJ[bt{128KQgm")34EFPV`aqr} $(CDNO jU OJQJ^JPJjPJUPJX<=IJ()=w799:JKYecejl!#$)238ACDlmyzlvw|!+OJQJ^JjOJQJU^JCJOJQJ^J OJQJ^JOJPJQJ^J jUO+,1;=>?CLMR[]^KLVW IJYZ&',689A=>C jUOJPJQJ^JjOJPJQJU^JOJPJQJ^J OJQJ^JOJQJ^JjOJQJU^JFCFHINOTWYZ_`ehjk{| $%?@QR_ghmuwx"$%PQjk{|5\OJQJ^JjOJQJU^J OJQJ^J jUCJOJQJ^JPrsRSuMNdrsghi| s MNS_`stu NTUbcd jOJQJ^JjOJQJU^J OJQJ^J jUCJOJQJ^JP )*/:<=DEJNPQS^_doqry '(kl34>?CJOJQJ^J jUOJQJ^JjOJQJU^J OJQJ^JR?KL  iostz{PVWdei  !4CTcdixz{|!"'+CJOJQJ^JOJQJ^J5\jOJQJU^J OJQJ^J jUPi!QRS|+34Z^+-.')*+4BCHVXYZ^mns89>ACDGVW\kmnoclmr{}~H*CJOJQJ^JOJQJ^JjOJQJU^J OJQJ^J jUQ^_`FGobcCD=>?@\"#9  & FDOPU`bcpqv?IJOXZ[\")*/5789 C O P U a c d                 jU5\ OJQJ^JjOJQJU^JOJQJ^JQ                              & F    E V            p q                       " # % & ' ( ) * , . / 0 2 4 5 6 8 : < = > @ E F G ½jCJUmHnHujUmHnHu 5\j5U\5\OJQJ^JjOJQJU^J OJQJ^J jUCJOJQJ^JA      ! " $ % ' ) + , / 1 2 5 7 8 ; < > A B C D E H I I J L O P R V X Y [ \ ^ ` b c          / w x  G J K L N P Q R T V W Y Z \ ] ^ _        ,.z{S ,2L{49qrz{|־ٰ٨CJOJQJ^JaJ 5\] 5CJ\]OJQJ]^J6OJQJ]^J6] 6]aJ 56\]CJOJQJ^JaJaJ OJQJ^J6]5\jCJUmHnHujUmHnHu7-.q{|} $7$8$H$If & F $7$8$H$a$[$\$nccccn`ccccnt $7$8$H$If$$Ifl\ ,"$ \ (064 la  -679cc$$Ifl\ ,"$ \ (064 la $7$8$H$If 9@T]^`hqz{}ctc$$Ifl\ ,"$ \ (064 la $7$8$H$If cc$$Ifl\ ,"$ \ (064 la $7$8$H$If ")=Acc$$Ifl\ ,"$ \ (064 la $7$8$H$If ABEL_hilsnccccnccccn $7$8$H$If$$Ifl\ ,"$ \ (064 la cc$$Ifl\ ,"$ \ (064 la $7$8$H$If   ,014;cc$$Ifl\ ,"$ \ (064 la $7$8$H$If ;S\]`g~cc$$Ifl\ ,"$ \ (064 la $7$8$H$If cc$$Ifl\ ,"$ \ (064 la $7$8$H$If  $(),3QUcc$$Ifl\ ,"$ \ (064 la $7$8$H$If UVY`}nccccnccccn $7$8$H$If$$Ifl\ ,"$ \ (064 la cc$$Ifl\ ,"$ \ (064 la $7$8$H$If  $(),3HQRU\cc$$Ifl\ ,"$ \ (064 la $7$8$H$If \s|}c`c$$Ifl\ ,"$ \ (064 la $7$8$H$If cc$$Ifl\ ,"$ \ (064 la $7$8$H$If nh___hhhhh $7$8$H$a$7$8$H$$$Ifl\ ,"$ \ (064 la >BHIvz !MQWX@EKLrw}~$%DIOPsx~ 8=CDmCJOJQJ^JaJ 5\aJ^X$$Ifl\@ s,"3  064 la $If`$If7$8$H$ (?@BI]wxznhhhhnhhhhnh$If$$Ifl\@ s,"3  064 la zhh$$Ifl\@ s,"3  064 la$If !4NOQXkhhh$$Ifl\@ s,"3  064 la$If hh$$Ifl\@ s,"3  064 la$If &ABEL_shh$$Ifl\@ s,"3  064 la$If stw~nhhhhnhhhhnh$If$$Ifl\@ s,"3  064 la %1EFIP\hh$$Ifl\@ s,"3  064 la$If \tuxhhh$$Ifl\@ s,"3  064 la$If  !9:=Dhh$$Ifl\@ s,"3  064 la$If DTnoryhh$$Ifl\@ s,"3  064 la$If mrxy',34X]de &+23TY`a$)45\amn    N S ] ^         !#!*!+!_!d!k!l!!!CJOJQJ^JaJa(),nhhhhnhhhhnh$If$$Ifl\@ s,"3  064 la ,4DYZ]euhh$$Ifl\@ s,"3  064 la$If  '(hhh$$Ifl\@ s,"3  064 la$If (+3<UVYajhh$$Ifl\@ s,"3  064 la$If  %hh$$Ifl\@ s,"3  064 la$If %&)5D]^an}nhhhhnhhhh$If$$Ifl\@ s,"3  064 la lffff$If$$Ifl\@ s,"3  064 la    , O P S nhhhhn,hhhhn(h$If$$Ifl\@ s,"3  064 la S ^ r          !hh$$Ifl\@ s,"3  064 la$If !! !#!+!C!`!a!d!l!!!!hhh$$Ifl\@ s,"3  064 la$If !!!!!!!! "$"%"("/"hh$$Ifl\@ s,"3  064 la$If !!!!!!!#"("."/"P"U"_"`"""""""""""""-#2#<#=#p#u#{#|#########$$$$?$D$N$O$$$$$$$$$$%%%6%;%A%B%i%n%t%u%%%%%%%%%&&#&$&Y&^&b&c&&&&&&&&CJOJQJ^JCJOJQJ^JaJ]/">"Q"R"U"`"o"""""""hh$$Ifl\@ s,"3  064 la$If """"""""" #.#/#2#nhhhhn hhhhn h$If$$Ifl\@ s,"3  064 la 2#=#L#q#r#u#|#######hh$$Ifl\@ s,"3  064 la$If ######$$$$,$@$A$hhh$$Ifl\@ s,"3  064 la$If A$D$O$`$$$$$$$$$$hh$$Ifl\@ s,"3  064 la$If $$$$%%%7%8%;%B%Q%j%hh$$Ifl\@ s,"3  064 la$If j%k%n%u%%%%%%%%%%nhhhhnhhhhnh$If$$Ifl\@ s,"3  064 la %%&&&&$&B&Z&[&^&c&&hh$$Ifl\@ s,"3  064 la$If &&&&&&&&&& ','-'hhh $$Ifl\@ s,"3  064 la$If &&& '+'0'='>'P'n's'''''''''' ( ((<(A(G(H({((((((((() ) )K)N)_)a)5*6*7*@*E*F*l*m*n*p*r***++++$+(+7+;+=+H+L+Q+W+^+d+ƻƱƱƻƱƻƱƱCJ^JmHnHu5CJ\mHnHuCJmHnHu5\mHnHuj5U\5\CJ 5\aJCJOJQJ^JCJOJQJ^JaJF-'0'>'Q'o'p's'''''''hh$$Ifl\@ s,"3  064 la$If ''''' ((=(>(A(H(a(|(hh$$Ifl\@ s,"3  064 la$If |(}((((((((((()nhhhhnhhhhn<h$If$$Ifl\@ s,"3  064 la ) )&)L)M)N)6*7*8*9*:*;*hff`ffff7$8$H$$$Ifl\@ s,"3  064 la$If ;*<*=*>*?*@*n*o*p*r*******+++(+;+=+L+W+d+q+++' n0$ n & Fd+k+++++++,&,1,9,D,L,Y,],m,q,v,|,,,,,,,,,,-- --!-)-7-;-F-J-U-Y-_-m-o------------------0.9.D.N.Y.^.d.k.q.x.........// ///4/CJPJ^JmHnHu5CJ\mHnHuCJmHnHuCJ^JmHnHuT+++++++,&,9,L,],q,|,,,,,,,,,---)-;-J-Y-0$ n' nY-m-o------------- ..0.D.Y.d.q.~.......0$ n' n.///*/4/F/O/Q/^/x/////////00 070G0Z0p0~0000$ n' n4/B/O/Q///////////0000 0,070D0G0W0Z0h0p0z000000000000011%1,12191c1e1i1{1111111111111111111111112 222220JmHnHu0J j0JUCJ jCJU5CJ\mHnHuCJmHnHuCJ^JmHnHuN000000001%121?1O1c1e1{111111111111110$ n' n11222222222222222222222 2!2"2#2$2h]h&`#$22%2&2,2-2.27282>2?2A2B2C24577CJOJQJ^JaJ0JmHnHu j0JU0J$2%2.2/20212223242526272C2D2E2F2G2H2I2J2K2L2M2f2g2~222h]h&`#$222222223393V3q3333333333333334 4m4m4n4444444444444445555!5"5*5+53545?5G5M5X5X5Y5j5k555555555555555555556 6 6 666$a$766#6$6,6-676A6B6J6K6P6Q6[6e6f6p6q6u6v6{6|6666666666666666666666666666666666666666666 7 77777!7"7%7&7*7+7/70737475767778797:7;7<7=7>7>7?7@7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7[7[7\7]7^7_7`7a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7x7y7z7{7|7}7~777777777777777777777777777777777777777777777777777777777777 1h/ =!"#$%' 01h/ =!"#$% P# 01h/ =!"#$%`!5R5NmoYR噹bV4 'QxY{l?3uݖA(57Ƙ["A h԰)ݺ]B5B|$zUQ1B|FbPUA+&{go ~93sߙsfʈTy%Q9KT Jt}a"-Dwbi*K\^nzČĊd5zh0B/QNߔ6#׻j;Zytt^#֙!HlRi== v^f kXeNH̚:bJ3:)KtKg{.q5@Ę^ %ijQ,l9X)~66*sAQ LpD}Ef4y-raJtFMI]Nj==;)g1SaD,{qg9ý[4&^QYh꒻ee?ʃq |v6TD-+W ];U\o8"T 5tV$.;ж}o@`>e|ٙe%uPiE55^F=JWkXX m1 oOb{zLT'+?P1C9[Cj}ϻk-֮Wn¦_5!T=-N:|vk6N>  (*l )#2OO h#n{<77^8_bZ[&Cdyrn5:~=8KsdsNsALxT,(H KV oJb/]'fB{Z9(eW@w#Ma(`M_)i(o8 ;w_06< yNl'7{&{yKð(?~vi_H9Ŷ"k^gvsF.w+wh<`:Jn%~|y<1rD=)D|{43߁w+vj~To@3l~>lol|X q|/Ei)$ V=A+-8% |,JN.yO|m >vl砿+(|46+-0=/tz|!{>3g ?\_xxvS 8{ 8lh"߉B? u/_ vk`}oۊV}ȷTڹsWo̍L4R|n=yoUBP1qt,S |{cyoB &Y0=y =*>WXsǐAa_2k!{<#.=?.A#GUc#h8Di=,< zh{},{6ehJD`G{jEC2jgymK,r` "E#bJ@1gc ZKlQ5cBcBe!FM͋0 ?DYƢ&FXU(TLTM(jY)'2Ǵ~e D=ޛ$֠\Gz4^{47`&0`\`vE!Cckl=Zɉ lMs1A|pM5g+J?'ZcAOJ'5MKE5 _]LtD+Tko kj] C׀4gF[؍%T,,it:QvHMH9Yc4#=IKwDٺ*e`Whk`qrKEBGң۽:+? N3|wLt,hE}Oˡ*ə7D{DyK  _Toc10272828{DyK  _Toc10272828{DyK  _Toc10272829{DyK  _Toc10272829{DyK  _Toc10272830{DyK  _Toc10272830{DyK  _Toc10272831{DyK  _Toc10272831{DyK  _Toc10272832{DyK  _Toc10272832{DyK  _Toc10272833{DyK  _Toc10272833{DyK  _Toc10272834{DyK  _Toc10272834{DyK  _Toc10272835{DyK  _Toc10272835{DyK  _Toc10272836{DyK  _Toc10272836{DyK  _Toc10272837{DyK  _Toc10272837{DyK  _Toc10272838{DyK  _Toc10272838{DyK  _Toc10272839{DyK  _Toc10272839{DyK  _Toc10272840{DyK  _Toc10272840{DyK  _Toc10272841{DyK  _Toc10272841{DyK  _Toc10272842{DyK  _Toc10272842{DyK  _Toc10272843{DyK  _Toc10272843{DyK  _Toc10272844{DyK  _Toc10272844{DyK  _Toc10272845{DyK  _Toc10272845{DyK  _Toc10272846{DyK  _Toc10272846{DyK  _Toc10272847{DyK  _Toc10272847{DyK  _Toc10272848{DyK  _Toc10272848{DyK  _Toc10272849{DyK  _Toc10272849{DyK  _Toc10272850{DyK  _Toc10272850{DyK  _Toc10272851{DyK  _Toc10272851{DyK  _Toc10272852{DyK  _Toc10272852{DyK  _Toc10272853{DyK  _Toc10272853{DyK  _Toc10272854{DyK  _Toc10272854{DyK  _Toc10272855{DyK  _Toc10272855{DyK  _Toc10272856{DyK  _Toc10272856{DyK  _Toc10272857{DyK  _Toc10272857{DyK  _Toc10272858{DyK  _Toc10272858{DyK  _Toc10272859{DyK  _Toc10272859{DyK  _Toc10272860{DyK  _Toc10272860{DyK  _Toc10272861{DyK  _Toc10272861{DyK  _Toc10272862{DyK  _Toc10272862{DyK  _Toc10273448{DyK  _Toc10273448{DyK  _Toc10273449{DyK  _Toc10273449{DyK  _Toc10273450{DyK  _Toc10273450{DyK  _Toc10273451{DyK  _Toc10273451{DyK  _Toc10273452{DyK  _Toc10273452{DyK  _Toc10273453{DyK  _Toc10273453{DyK  _Toc10273454{DyK  _Toc10273454{DyK  _Toc10273455{DyK  _Toc10273455{DyK  _Toc10273456{DyK  _Toc10273456{DyK  _Toc10273457{DyK  _Toc10273457{DyK  _Toc10273458{DyK  _Toc10273458{DyK  _Toc10273459{DyK  _Toc10273459{DyK  _Toc10273460{DyK  _Toc10273460{DyK  _Toc10273461{DyK  _Toc10273461{DyK  _Toc10273462{DyK  _Toc10273462{DyK  _Toc10273463{DyK  _Toc10273463{DyK  _Toc10273464{DyK  _Toc10273464{DyK  _Toc10273465{DyK  _Toc10273465{DyK  _Toc10273466{DyK  _Toc10273466{DyK  _Toc10273467{DyK  _Toc10273467TDd)M"6J  C A? "2#M`lR5w`!#M`lR _#LXehUXx\{přٙ^͌4zX1D,;ȏ9lr (  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~2Root Entry FѵData ^WordDocument.ObjectPool`=ѵѵ_1080434184F`=ѵ`=ѵOle CompObjiObjInfo  !"#$%'()*+.23456789:;<=>?@ABDEFGHJKLMNOQ FVISIO 5 DrawingVISIO 5.0 ShapesVisio.Drawing.59qOh+'0@HT`lxVisioDocument ^cVisioInformation"SummaryInformation( DocumentSummaryInformation8Visio (TM) Drawing ^cRbNd !fffMMM333q0T d Arial)-":-3Times New RoWman)-3Wingds5T?? Y@-1''J/T  hTJbOSS0{Gz?@CPjV]uVbUUO OS? T666 NP U    UvPaC G#G#G#G#G#G#G &H#O`$$!>'^M4!>7 i>}p'0U.2?E!-67gjP>603206&0B!4?6`2GT2k=\- 2 VT ?@96L^pu I5L2?Op??ZX0F6ȍ03P@?_?V6CG mON9:OOOOMjYgPJ?@_|Y oo2 q`?of.fT+Rjjg4G 0kD_ąO?oogO贁Nkro8wYo}rTih54?t51w1%f3)>8q?@7K ] B ~p qE@ 0"#$0% yfKoiOF #Tep{5\ QGz# 3v4 RA9,s 105u 2k1476_m_:.EX 7orvя㏟~1}?FA?DV;r AK q Y;2qb#Z   l4u! 3?JqЯIsy })uߜmzKpuK'uKЇLih!Sewω ϩw-P_/_8A_H<ߣ ߇21 V9ß ?i6kPJԙ ogR2wT!r \6Q!o$z_gp_GА3  + ")G V_qV# ////J/w//q+ 0////?Y$#?5?G?Y?k??S/e/????@?OO1OCOV%_OqOOOOOOO;R_[_m_O_#_F hTA@* ?<I?NXfx** <Ebb{b b NeH 3 %3 ; ;3"*o*3=E*V3 03\Z^j^; | &l  \U=SE =D"6 " 3?VArrow shape with adjustable thickness.]endSis 1-D and behaves like =a:ne.HU"th_T@?, ?A4F?P u `u `bqu `u z!xu|@G@u` Hu b }  "R- C 0O贁Nk?,r*W>Qc   9`Q(-DT!? 9) @<$ @@L L- *4@,#--9$#*'b2&7pL@OW0 r`annotate.hlp!#2885A`9Copyright 1997 Visio Corporation. All 2s reserved.c 8 b*ZZ.}lOUlrQaYا rrC @r#0LAOCC C"J9*{@#N 9AB!!m! ("HDM@@CB#N8BoAM91$MK#_CB9HB`HH@ru@@BDJlVcDH9C AASPC VD~CHGsVFQG+n4AXRBP2_dfBrg_j?``_`X````{ߊ# dr %c" uvnSj=Aq 0}`DqFQD@?9Qii mb?п7i6l:/m?8?}%-z#Fp߽#B }X ;q]G@tOxSH+TryS+;u?P 4   PF h~TmA@* ?<ۿI?NQfx#** <Ebb{b b N1@*(bY@iii .  i ieHz X Jww $6HZee_ o wp1|` |pT ?Bar with vertical text.bп??l:mп8iߝ6?x?64DH"w=hTt@&,%?A?>F?MQ ,qu >~Gu` ?u qbb S  L@*QG EOQ(-DT!?k : u`z`@ > A`9Copyright 1997 Visio Corporation. All 8"s reserved.`Shape.hlp!#13015w _lU*a @G  "U     > ) r ! )?6$0r0& 1 --L6)0X0$250,0r?=)3000\p "q  text}p-2Fu! #B$q ;qxC!G@dsWC+;_D~C<}H+CBF hTA@* ?<I?NXfx** <Ebb{b b NeH = /3; }3; 3); 3@; EIZ;; Z-;)} ) 3UArrow shape with adjustable thickness and open or closed end.$ e a's*mbп?l:mп8i76??7:H$|hTz@?@?.?A?H?P-DT! !u `u `bu `u |@Iw@zw~ u` J u b/bz6 < . ?5? -[m0O贁Nk?.n0<x<""L@ RIZIV.H/?P(f .mt`r "r `u!`"H, `Qps-8R?4?@`@G>506+`annotate.hlp!#2885 A`9Copyright 1997 Visio Corporation. All m2s reserved.2! " ޿(/zlUe .1>&<a2(0+Gu1!!r  HHM%^ 7# @ rAE@C -HJ@Ț#/!-,H= !,H&J FI{&J4#")@UQA9 \a@@\BB EPPPP_>d"x&&]Vn" 4 e#An7`!ĞV>#>`Geometry2.NoSwhow1~@co~;Q @y`=Ab< .`Open Arrow End`Clos]eh&d1cor oathe aa's en:33bl3a0a : `E E?8\BAG_P*m_A^]P,RrTQ6+-$#mi" }-"Fߐ#B+W ;d/uCXG@/+;tc3H+䔚QcF hTA@* ?<I?NfxU) <Ewbbb b ҞN;e]H oxD` Conneoctor`bb~5 ~p 3{߻w  1CUgy 3IUse this object to connone step in your flowcharthe next.b?pqѿ? ? H" w =hTe@@,+> P u `u `A@qu `u z xu_bu`?u}  bҏ  z+4?+1R$C   *X2rq?2?V?bkrL`-@br v u`.@  b& $L@ `Flowchart.hlp!#5263A`9Copyright 1997 Visio Corporation. All 2s reserved. HF5n bY1x? ! `0@1a}ߝql Uz0a >  6#E-Q?M7>BMvM  i 0';2q? i#%}%N  FgM#Bj5W_ ;?CLG@LdC+;lC(H+p ,qq7@du@ ?,qq7@du@ ?,qq7@du@ ?,qq7@du@ ? ,qq7@du@ ?,qq7@du@ ?,qq7@du@P ? @B䆚(GD#o'ǚXW't#' CH1($1($1($1($1($1($1($ EB?Li |d+'3Xdj'n'oGF hTUA@*??<I?Nu]) <Ebb bKNetH ox.D` Connector]`bWb~ ~pu 3ς ;}32;303;󻌯52 2 3?BDrag between shapes to indicate a flow offormation or control.mb?6i6$X%??QH" hT@?@RQ?,C]rB<,F2%@(P  Vt!$S 1%!2t!%? d!3|@ @z  ?u`u`4a#Oe?`a2pa1!EVFP}nKAAC1 H1%0)0U+ARbQI04 t@}4w%`Move Arrow Hekadl0a2}p F#B_,3f ;/a ]MG@?S+;?S0H+D{SF hTA@* ?<I?NfxU) <Ewbbb b ҞN;e]H oxD` Flowcohart`bb~5 ~pu 3ς;1;6B?6S?;3;g ;0;s 0 03 03 s 3rCallout with pointer at side of text. S handle controls paragraphdth/word-w2. / .J bؼ'}'??|$i6 s ?H?F5H"hT|@?@-؂-@@|'}'?,?>FP(-DT!?Gu `~u u `}  ?u`u ` u`b@q}b KA@ \ n,?@[[F3p+5>5&# L@PP *NEak( `ruL`u`.@?W @ e \# n"#b~ $!0 `Flowchart.hlp!#5228A`9Copyright 1997 Visio Corporation. All ;2s reserved.  10p1J}Yj!\j?03206 bTQ EDrag the side handles to 0nge$Bwidth of$Btext block.KlU"0a Pu`@ ll>@Cu `@AA4p=j}Fp%#BX& ;CfG@DW'+;L_Xc=H+cF hTA@* ?<I?NfxU) <Ewbbb b ҞN;e]H oxD` Flowcohart`bb~5 ~pu 3ςo;/5;D2;3;I3 0;] o0kf3 03}ǰ ]3?YCallout with bend. Side handle controls word-w?rap. C  ges location.H"hTl@?@] ` @@I??,?>FQ(-DT!?Gu` ?u `u u`u ` A@u`bb@ b {  u  )?@llF3p/q9cBc5  L@P *NE?PckuL`u`.@Z#HcH ~{' #2&,\b" $}! `Flowchart.hlp!#5228A`9Copyright 1997 Visio Corporation. All +2s reservwed.+00+:ߝIlUz0a,;@ <ƿS?`br~r 10)Q 0 79 00>0r%@T#0 _@Ip j PjO;03B0Fu)GdJ!%Ez%O@@u `U@%@]@B'_c_0 ǁ [AWkRpEDrag the side handles wto 0ngeRwidth ofRtext bl?ock.p  =%r<: oc2$/b00w!*%L߰0JAHV(Q*RNF C` Adjust Bend +i0 4'_2q`0pf,)bм8JI??&i6H5}%rSF$+#)L" ,} )CVGD웜CH+tC6+K12 Sq {Ft"tx/Dy/\mz?R_7KDc_bkI/$v/*<P1w  ID𿪾 @VUs@IF_T |L*hT6qq7@I{d@??I ?pVy%b{b- 8!H!AnZb ! m   %%?8--(P 44 }s*Gu`Fc!" u)\& $ %}Ion(1` Connector`b*$$' "?44Flo?wchartD?V?h?z?p}IenİHHB BI CBBA" B* B2 B: BBKBJ40AR;@AZBbBjArEAz'B)B.B/B0B1B[@A3B%4B#@AAwBBBC@ABBC7CK"=P=PPUPUPUP UP%* 0nrM@;@@ %Pe@ P@@IP,P- PKC@P`'E.@0@5@6@J[@7@8@g1sTm@uoB9U:; 05@?=@@AM@UB#@CU@D]@Ee@uFG%RRta &Stag? f 0oo 1Dt!v1v`(:5@Pb=@wob }Ю}Аa  @]@,>e@bycm@S-H!TK@5@Lp 0 j !?@:mW@!7@%-?P(-DOT!h+ /?+?("]/$ !]@=@0 o0'?>s&2|q?N`5 urٔb#  1L@J8\ 'R' " 椢"I!  _t\,Iyl^1UXWaѰճհJ/!)$#@ 0$|%ǦD'zhϞ r#@_Рh@I:n4nstruction CacheiT< '2%rXdֹ3)I@jUbd030 Y?֔0)6v[kgn q5@n"<'<@A7J jP@n|@@  7澦@%?P 檳C&8J @k"x#5VFQ] !%W0g6%үA  !H 7oY Gyp3yUШДЀUlXD0@ (D,.ʁ3A TW;?4?@} 3ԯ[SxlzƟ؟r Bf"\ !f"f"~/H,>Pbf"|vf"(uƿؿ꿸m$Bb!?`.'OWO?{OchReorder Buffer HZظumոv~ߐցH߃_זV?4HT!Pg?@1ǦW?@ڥ=e$ex-e$?e/#/5/G/Y$C an%bbb/Nh5o//??%?7?I?[?bbpvb17???"OO Cw HpEiO`HxOIɏWOOOO +TLB(_ZXQl֬]_1P__ l TvRRxڥXo Tuuc i$`oooocڐtbbq')zA(Jewm<碁2碋160 6 %77xcjᏻc-π|=Oas PCŖ ϘTxᡪ(*`ߴN4;jK?@8?GOK6uc?lHzQ咯ȯdbbjq#?);$5,qZGqȿڿm<1]>0(61 CUϳ58xCH:3VhzߌEjTdz_W +?"uaI 'T[ZZBranch Predictor@sSC_U_ΙA!d#8.@@ R" 4e3`CRu ?$j]%uc%ic&`p!Hb20k02E2200 @-; OMMM]db2U %uBTTQ //O|2©2|\L,% Xj|\lxR53f_'H_a.o_Ro}(qDۯFloOa"<j= /-T#ssue WindowQ U/ru/1kq*+" אִ!HA$%T@n7$Vdƀød?c*8s89ȃ|8, V}lM5[PxUؔoU}VjCWX`D`0`ul(.3.Gt?#n,&DTLBQ/mAg/uy+ .$2#"<T%\]E ڥ@@X? ]c@@!(@@+@3'*31:C`??`1"#@#T϶ AB mWW^PCxUm 전őɶIěQɖht!t!`l۟ e& ,&QHResult BuscT }PBȕt?2?t?PF\Q}"`0NB@HAf*1 eI:)_ kP[ywVltpR8`ȟno c0@=,6oNbBv0S]& % B./SHT_@@͒%H3+ԙO)4ĉރօS?w?D?s!DP 2" """^E2ODA/OOO__&_8\"LR"VQ(cP_P*ƀ__ro_`U0BOFo h(ROoOOOoooa Data CacheJ+Ӝez+psH5_YwVs? P p~q?# @@u?\d#OKeiY`ă]e҉=/O/a/s/#C r"rrr  Cbx!$q2rq?~v$r/"@NWN˃\ono?,?>?B;ϱ;\8so???q5r1~0h80(S???DOO 2E}OtB~oooo po~* &r<N(jϢyn}[,>Pbt©5˜ˏџ)D 1F );M_>͟b߆ݟ%7I[mǯٯ aR *ܹƕaL_T@@?Kr 1(C.#L ˿ݿ0"/P! 0H=SnwϦu0Q(j"%/##WT TB/P?b?I[ߘ<_ʿ00,1ߺ*%H1Fl2;- :?qnN-(??L??(q1TDK?&(?/ ARPbt v9vLRtv}U}ԣVLe aLșΏO(:L^pߦ "'6ajHZeU?mn @!3E v22gyt3#83#78E+@IFG!n"bL2CI??CUgyzP0 //0/B/A-?o/// /T/6`j/4?7#?5?G?Y?k?}??????v`vr r OObḥujOtOa?reGrf@gOOO _h%_7_I_[_m__U___o_W*o$o6oHo` oo~e6:oo7̣ooo -?Qc uE;vNATxBx~*3A:?NNɃ_ݏ%7I[mşAٟP))6:YJ\xnb@@u,Œo7䰣ǯٯ!3COv%\,-[DƳ/xC,RCz{ ›IEWi{ύϠϱ!Ж#Y(:LT-y߈ߝ߯~f * 7n6@[m@=kv~""i{t@@-ƹwD)EC~"$3‚%<~"D3E9%7I[_ ߟ3b; bNuG; DOiGL~f`ejzp_ @@2QQ //-/?/Q/c/vPv,b2b//, _Vx]WJ_UԸ`hf!1,bcl,bci@-}?? VH&׆Mo_aa򭿿m7hXAw@k88"/#/Y/k/);M_q'?9?K?]?o?}q)6)Np..4Fﲧ^3q?˯{N .""Sew, @-% 20N9D04"3<"3d¥9@6H;'߀D (%..Np//x?@5̯ޯN/`/r//////qP/bb/ ?:UQ hVF;U4ed9cb*s+|bJsdKyO ?? OuR:OLO^OpOOOOOOߢߴ_$_$/M_R_/0vR6SPYX<4@;@4?@ fm?P(-?DT!?V]fo[omo pB 0T$$p`ovo[p'L ;p}bw(evabOВ֞ Lפ `^3`P߆66#DXYX Xa'O]:P pLϳ5AϿeϻm prqWȀȀh̀=Ђ:oQ+1Register Renaming Logic iPG|K'.PQ8֪v$b1jҀQHVr6403;Q:yb?k QU|b "1*<Lhcxڒhs?@]}qWG?)1؈!*3ϟe1P?/}<);կ /ASgq(vz; Ϗ1MUS-NmgЯr File.5%A5%Qc~߇ߙ߽߫J2rPvR]2p)_3V8,oU@@O ʠ{?$M&UVZ.d%i5%2%rX/-/p{w1r W(FP?QX|'}' $? 2"O//'q=%%XCollapsible/ Non-(yHDX(`9lF!JoUf?P@>PR|Wу0D H/ 3rZ3__WC @T'^W__oo+o=oOoHsnTPe3fgbmbood XTU@dehPg 'qgb s6r|gb-s Vr.yд_{,>P@0XhsɏۇQ3 3@4UZ4c_u_LS4%K^____o o2oDoVne4nf oojhRk63ooAs r ӣ9rԩq!*Z^pTa RA9'9KjRq g@PŦ-4֏ ۏ4)qq7@d@ ',-.056789:;<=>?@ABCDEFGHIKP kler@BD~Z1($EBs`[ NPr2M(@tZ?RsI[UDdj'߄Page-1ConnectorHairlineeWhite fillCyArial 8pt centeredGr. arrow en>FlMc textVNormal10* bottomDoubleOedIVertic/g ba StraighusyNhl~.10Di_5ctrSideloutar.53p .?521p1K43MVS8.222+~1l *7*top leftTimes.33~4~5A%38% S41%/_$6"^%7{.%51:&3F visPlacem8Style)Depth#Ringj#R#LTo!ClearanceX%/eY+NKod)^?6j#Gridd #BlockSiz f;Y#Ave7nuep3#7Y"trolsAsInpu;ts5Resq0#~1JumpT3=PYOnDr32)62BPW3*-@&-@"-@U-@-@-@ -@,A3Q@ҪQ@Q@Q@Q@Q@rQ@bQ@FQ@*Q@Q@R@@̪@@@@@@@~@z@v@j@f@Z@N@B@>@:@6@3@@@@@@ @3@ت@@@@@@~@z@v@j@^@Z@G@0@@ @35P5P٪5P5P5P5P5Pz5Pb5PN5P55P'5P5P 5PQ;P(m CUgy ! CDAB@<=>?:9;  I,-K"$%&)(*.<D .E[ jo pD0 _'oDp //:/L/^/j////t/34JLMNO/ 6u G HF g$ y?:? 05678 2 1??3Lqq7@d@  !\  8 @l 2@Btc`J<n1($l 2EB䉚Fa <1winspooleda_laserNe00:Peda_laserG odX{LettM_qRIVA|' -s g(HE>@(&X284tZ puR}8Tb&B+!`{l=Pϙ w|_1$f2'w{O[H)/ 2FﰠGthn_^<@Ŀ` ?wdn a C@Dw4PGHp**Gv!՜.+,D՜.+,D@HP\h t   PagesMastersPage-1Double ended arrowVertical text barStraight busNextDirected lineSide text calloutBend callout0dlt_VPID_PREVIEWS_PID_LINKBASE A  FVISIO 5 DrawingVISIO 5.0 ShapesVisio.Drawing.59qOh+'0HP\ht_1080435416F@Nѵ@NѵOle CompObj iObjInfoVisioDocument@VisioInformation"SummaryInformation(DocumentSummaryInformation8&t     . !"#$%&'()*+,-/013456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqstuvwxyz{|}~Visio (TM) Drawing @R?-d !fffMMM333q0T d Arial)-":-3Times New RoWman)-3Wingds5T?? Y@-1''J/T  hTJbOSS0{Gz?@CPjV]uVbUUO OS? T666 NP U    UvPaC G#G#G#G#G#G#G &H#O`$$!>'^M4!>7 i>}p'0U.2?E!-67gjP>603206&0B!4?6`2GT2k=\- 2 VT ?@96L^pu I5L2?Op??ZX0F6ȍ03P@?_?V6CG mON9:OOOOMjYgPJ?@_|Y oo2 q`?of.fT+Rjjg4 E@ 0_"#$0% yf_o? ?LgitCe6kPJKTu9 79?)foY2wT5<(22rZ51w1ab316_另_:.EX! -?Z$z_ _G3eɈJYp4FXj|2DV@ЏߟU#oүcuyaD_hzY$Ͽۯ;M_πqσϞϧϹV% /JSeß ߙ߽|Page-1BlWhReGrCoyYMa10ite lin30Lo T5=7=9=S1p:i9iH!ShArial centeredztop left Times 33ͪ~zvrnjfb^ZVRNJE62.*&" O D𿪾 @VUs@F_T L*HhGTIsk#@I ¿ʀ@??I ?VIzbbt- !H!AnZ\b P! m   %%?8--(P 44 s*u`F7!"N u)\& $ %en8Nc$1 H 041 A0A0@181A"#0 CLIls_@@@~K>@@T*J@@ 5 5@\/7x#55:5+?A(8A// ~  Y@U]BcB%/?=Ig3 * 'C'AIreAE$@AI!cB/1l@e@0I 4$0cAe'V}&K_n0sa3QRGRKsET#KTNPP2wOMi-22FS RHf[ kETR&Q9 nQ  ]Q \@1-Vcbeycd2fdcp=Y! 0Jw=S`gwa.1cR s#`srcS@Times New Roma{ne g5bf33iQ.aQ3`S2 ):QRead U9Kp@E"s,ss ذa:qa1Insn+y@2y@T\ye.kA CRejeheo$oe5isyދx  1req0%P80\yUETMTٲ0HDP.PZeaXje% .eJDeށQ$ &@jeyNTaHQK =o$W9@ny__H`@Z*IL_#@ʁ^oo@ e__,V>@@ +__TU,a쁐da4D\OnO!a0 Oa*,(PO?~#`q Бcmprs_0{5ௐΟ9g !.Oj, pd40o]Qa 0 @zoYAa ܯ~[1 a 84:8J`$w1߃OϿS8A`@O$w qN4(/ +;(g Z P8 tc.K 35Se߰wߓ$Zq4B ~1a ?@\ tl~nhtL^ʯJ$6~Nt2DV8\/Hj.z/ //R\vd/??*<?? OOBOTOfOxO?OOOO,OO__,_OP_o޿zϞϰJ\__o,/P/b/0?"4Ff?oߠVhߜ/0Br@v?5RIPY`XP`oro a?PPoo|@G@US@L@P@^@n o0Uo0k0g0_0 ' 9 I W ZY0f o q _wr x50y)0@! @ BEH7K3N/P+Q#R#IQTW\T Z`hpzswW`f¿neg͛ܛ< hK iZ] oy x        _  Ʈ ͐      Ð   r zV r{zyyꡐywwqh\yZmcL[DS<M9A0F'C11,=LPP{NwJsEoCk=g5-_#[ W SwǠˢy݀yـyՀzр{̀r̀zZ>% ʍᓀ .ɰ@Y3 ` `` 8S5U5ܰܰnvi WE±iMC ~g:L$ ow&8W1iTC &`~ rτϖUnܰ Is/ ss"6e6e*4FL/^/.z-"Tag Bus]u"0 K/T/Aw PH{"tbP>, {t ol,i>hP[bWtSO{ÿտ3A_ yP3% Y c"{Ӿh 1k;`yqT'P9 9P H[@@' * ?Q9n>I {T 65`AGɀPL`tTimes New RomanSwgwP w\/Mg:1Grant\+9 $W:)!#2"Systemw f` j4#21TNPP҈7PyRNT 8100hT͘#@B@@~K>@@T*J@@ uIE RE@P8R`08F}@AFҊAJFASF?u`A0w?AuI}@nFbCD A{000P R WKNIg31DrH@GRCGlQ0r QBRQY R PQ P @,ANA0Ce'1xckOҹQa;c#2׼2 BO0'Mi[ 2$A;1?`LU1 n/ o 1{LUd 0keym$LLV 0J (09 3///! /??,9):qRead {9I2 O?9]aqaIns n+p2pb?A /lss%5?|$6  }req0%9`85PhbH.s/0/&@W/i/o wo$Y/9ePo1oX`@jI_Z#ePp^i{@ uXojoғV>-P@ +ooT9, 'd E__!a0>_aЏ a,>PbΏ((LL_̡p|ܑ/_S-*,(YPYOpO$:3p?q cmprs@{S5UbtFIg ¡._O , B d94@.mQa 0 L^Aa ~k1 a ޿ޏr!z/w)_uAOw ^/ = য়ѯ;8g Z 8 Rt ߽. VC5 94B $1a ^Vh ?/@ $6TfJlߜߢ,>P@,j|:L(:ϔp:Rdʿܿ$6Z~/P/?DV ?p??.@ //v/FOXOOOOOGPGCPUS?PL3PP7P^3Pn @U@@ @@ ' 9 I W Z0f o q _wr x0y0@Qb#(.۲`"ƀ?&2 ' ' 7 u`4 ; B Io`L F R ] c [ `j n w`n o o p q u | } z m b ` ] Z X ` W ``ƺ`` cpf`h`i`h`hJ`f`d`a^`US`F`C`2`` `` o 0 o  nSpw Up j c [ ep ] R F L I  B ;{p4 7 ʑp_ ' ppոppp P S _spj l t  { W SpOpKpuGpGpy p + < ?p9 }3p Q `W O`S`U`_W _`Vd``qj`a`ik`n`q`iozpppppppppS`  { t l`j`_ S P I B/ ;7_P_o01$0ǐ @ BEHݐKِNՐPѐQɐRɐIŐQTW\TZ`hpzswW`f¿ne;gAA< hK iZQ] oy x        _  > : ٍljƮ ʓs      ci   r zV rS{SzOyKyGyCw;wqh\ZmcL[DS<M90F'CאאґP%P!NJEC= 5-# wmqyyy{zw{srszZ>% cf 39ԏ0ٰ@Yf3~ ` `` 8/U599X i W±iC ~ $Ϩr0oW1iC &e`~*<Unr00I]o / s<2< 6e6e/?z(=92@Tag Bus]uM20S0KW?Ti?爀U0(:˴IH!"tbP>, {t ol,i>hPbt{i{_ yBkl3z%)JY0c"oi!d!1k;`߉T909ਏ0Hw@@0B  !>+/=& !J%(T:L S W6[m5`ɀ4Times New RomanSwgwP wѤ)S?K :1Grant\+9|0$-:)*1h3?2"Systemw f0 k ID&3S&1h!TNPP-}G-`m$ HH>@T"C0n!p!DFźAehCTްw3@B@@@zG?@G@DEE?PGĀB@F%PF2QF2QFu` E\QucY%PVbQT ޓQ AP и@1IPL@Al>@UPD@]@aPSAPE|0F]PaW0\QsW*aMolS1oLRodmamo*ooNoos#p#pTg0A4%QAk}FInstOOLE!D@@(\O(HfEE V@_w2Su@_RU@\_n___KP[pPzA$1j^3Qh0ps}WP(-DTO!?Snkk"ih"u ,څRhRh{R__oorooߟoo/џSw,>s#E|ruction storage array <sk#@ ʀ@ $&@B\Û=.@Bd=NL-YU7@ś=?RU$D >(!( CUgy+/Aw i o bjCLsk#@ ʀ@  !] 2 0 ( 8l 2@B ?F<l 2@Br?< g (E>@(84<ԛR_8T@䱛Ub&B_t!}T`l2F #$w4ÛG$PM 'w盿>H@KD{`)śh/ʷ;p<DU  CW̻??wכRo D>w,zG Y`7 &WMFC,Y`7 EMFd@VISIODrawing  %    <'% V0% ( %    <'% V0% (   <-$-<-$-՜.+,D՜.+,@HP\h t   PagesPage-10dlt_VPID_PREVIEWS_PID_LINKBASE A  FVISIO 5 DrawingVISIO 5.0 ShapesVisio.Drawing.59q_1080434626 FbEѵ@NѵOle ,CompObj-iObjInfo/VisioDocument)VisioInformation"0SummaryInformation(1\DocumentSummaryInformation8CtVisio (TM) Drawing )R<͛(*d !fffMMM333q0T d Arial)-":-3Times New RoWman)-3Wingds5T?? Y@-1''J/T  hTJbOSS0{Gz?@CPjV]uVbUUO OS? T666 NP U    UvPaC G#G#G#G#G#G#G &H#O`$$!>'^M4!>7 i>}p'0U.2?E!-67gjP>603206&0B!4?6`2GT2k=\- 2 VT ?@96L^pu I5L2?Op??ZX0F6ȍ03P@?_?V6CG mON9:OOOOMjYgPJ?@_|Y oo2 q`?of.fT+Rjjg4 E@ 0_"#$0% yf_o? ?LgitCe6kPJKTu9 79?)foY2wT5<(22rZ51w1ab316_另_:.EX! -?Z$z_ _G3eɈJYp4FXj|2DV@ЏߟU#oүcuyaD_hzY$Ͽۯ;M_πqσϞϧϹV% /JSeß ߙ߽|Page-1BlWhReGrCoyYMa10ite lin30Lo T5=7=9=S1p:i9iH!ShArial centeredztop left Times 33ͪ~zvrnjfb^ZVRNJE62.*&" O D𿪾 @VUs@F_T L*HhGTI(\(@IQQ@??I ?VIzbbt- !H!AnZ\b P! m   %%?8--(P 44 s*uS`F!" u)\& $ %};en%H]G /2I'N!C 0L1Is_! @!@%@@b50?\,It`5w?0t>9331+1+1//  Y@]BcB%/yE8G'* ' D'1IreA6 @A6$\@e@/0kAe@n72 4< (0WC&KX3QGRKsET#KTNPP_2O0Mi-2FS ̉RHf[ ETR&Q!~ Q  QQ+ \@6w-sHcb @!cScf4ab3`ETMT`9``X4Pea33ej% @# jmRiHQKxo9cP`HcP ooc@ @ oooU``FcPF`cV.iHaqeR@P$`=DB;u߯9`?8v6p<5v3:p2v0w7.v-4+v*1 / (v ' . , %v # *& )% "v- .s6 &5 v< = $ED vL M w!UT v\ ] eǀd vk l t s v{ |߀  v   } v   v  ݳ3 v  W v  o u              !  ( ) 10 졖7 8 @? 顖G H P O 桖W X/` _ 㾡f gGo n ࡖv wk ~ ݡ   ڡ    ܻ ӡ  נ С    ͡   ʡ   Ǿ +  ġ        # $ ,+ 2 3 ; : B CK J R S[ Z b cӰj i q r zy    '    ?  c  {               ' & - .6 5 = >#F E M N;V U ] }^ eSd |l zm uwt x| w} ~Є u t { y r qФ v o mд s l j p i g n f d k b a h7 _ї ^ e c \ [ b ` Y W ^" ]! V) T*1 Z0 S8 Q9 XA@ PH NI wUQP LX KY R`_ Ig Hh Op Mo Fw Ex J C A G @ >3 D = ; BK : 8 ?o 6 5 w<· 3 2 9 7 0 / 4 -Q , 1 *(/ . '%,+$$"%), +!34&; 7 E)0uG-0@H A]0H O J P CXE0W K _ M ` F}g]0f N nw0o Iw0v R ~ S  L0 U V s0u Q X Y 0r T [ ] 00 ^ 00u Z a _c \@_ d ܟ0݋01@ h _i bI@ k l e g  n o h j  q  s  l$ m # t + v ,AK p 2 w : y ; rC@B z J | K uS@R ~ Z _ [ xc@b i j {r } q y z Pu %Pu  =P  UP _ P ЙP {  Pl          & ' `- 5 6 >A`= E F NY`M U ߱ V ^ ] d eq`lm l t u`l} | `l ['`  ` _ p ' pl  5pl ? Mp&   ̓   Ѓ  ! " Ӄ*p) 0 1 փ9 8 @ AplI H P QplY X _ `plh g o p x w  9 7Q  il  $F Z Νl 浀   kG̀        l   3% $? + ,)d4 3 ; БH.2 "Instruction Decode Pipeline length$Gf$U+G\UG@ǔ *9ęՊ9K Zlv@| *jܥر*N q&k}2 !˯ݦ pPpYkD"D2߬=òy  _` P @6hZl-0ﻴLatch width(HIg(@E̮ؑğۖ?@@ې @ ? @` & l % ~Twl  { |m  mAoHݑGp P@Times New RomanzB2 F ZxIF@k]*6H pTH/q: ͱD1D@` /ծ{ v Z D/V/h/z-0  #2///G`po //,?z/ #35?G?L,t?patr>̥LpvzĿֻU050 t~Times New RomanSwgw ]ˠ!3jBwidth+2@9 \[ZfxV{"Systemwf+t {ē=TNPP21?HT"?]~Tv@(\( @@QQ?@@0$8%% ?P)&c '&p!i0&p!9&u` ?N!u)c T&b#z$ !  ! /p n L@à{l!UX$ a1053500$& '!'h1 ʡ uʠ0-V?#o<0/?=1F=?hh??# rˡN@RAغe@e@h>à:G! &_!/ ,(8. J/\/n/'A///// @ UPѠ!R 2Ce! $N? R <(\(@QQ@ $&@B4ț&.@B/'N<3Y @&?R}'}D7'!/ CUgy+/Aw i o bjpL(\(@QQ@  !] 2 0 ( 8l 2@BʛB(F<l 2@B(< g (ΕGE>@(WH84\›R_\8T_@{g{ҿ b&Bl!﷛?`{2F_#$wG~$PM 'wN'H@?ܿU)4/ʷ<D2(U CWT<_z?w_ DwtțOh+'0,HP\htGE) ,,&NWMFC,,"E) EMF,d@VISIODrawing  $&%    \'% V0""""% ( % ( %    \'% V0""""% (   <-\-$"""--\-$"""-՜.+,D՜.+,@HP\h t   PagesPage-10dlt_VPID_PREVIEWS_PID_LINKBASE A  Oh+'0|  , 8 D P\dlt2ss adhodapk dhodhoNormalknidhik47hMicrosoft Word 9.0@v@=@dE@G?+gXqZ N XX)bJG m(סm X7#ݾgIJ0Vү[sg$k,鷋u;PѾ`ejFto*ƶfV~T-Tm±3gQ/rhA8$03& 1jan}&F8by~ڵHR\X lF@a6BWk.Nl?sqͬujZWENi3'& t&M/򟢦~w_m/ޟ89x~vSCT{~t:VZ7] qm?cv啑VwFH 16>6ƈRm(-Jvkdi"_rBozFp{q W!=-+J<<]yitEڛS.:9 VQQӷģMS{6^D Gm7!TqkCPk9ꐀڳ@yk'YbK[j 5FaKX;Jگ nVmZ~s˞ui9[x:]:khvN*z~BOY!#2\{/@ exՒ{Z?fUOըP巇{HqMWxmkZO=a万t%dC%odYa*Y)NoT!^O~4kB~y .A}_cc ~Sȯz鏿5:dX _>*v/]EGӘoJƳԤߟj=^ֈЕukTޥ?ɀ]@Uk0PUf}iPʜO\iӀOIcfovO7y&{kih<,o=Oۇnׁw0* ^e}QTg{e^|.'{uϤW=Ug^Q͕W6:>ZP+ېU٫vמiȯ[-kQ^17cÚSo+dS9nYc,dGqIVk4{GsGgX\xh-z%|t:N_O/=Ak)r*TnDy%{IcK4Ita-,&PGtd4~ IХGa@蚊IkMEjjO` =g7o?@{fP眷lK_?/kr9}tMٙytb$|FިT勿W6$ >4X̫żV?iP'cf'*Y?, eoE \Znط݀k-gY[{S;Jnn=ʏ}nt\@={TQ}S{!=#AFOA' IߓFO${Ҙ.fpIxyA}'%Sڅo F0* }/.t\ &}/%{v!軧B HЛGg+'\QEYgygmv18p]B%/.o#q.f]1:L&$mo}DUzGb#5Zz-j3}GA#'MI@߻1{fu; +9L2G?tNY}mQk5:^CU5}5~ԞJ|~ /(ױeN/q*ỷ}b>( .}EDܜ]$ߌÞil(˵,So$SE1W1'4Fhw}I])oa#~uNYS j #DP %Ӟd\{w3z%^r-sqƪZ5>|t2-l{V~vӦΛwU~{aݦemX<ʌĘOJ)}6$]3 -BKk]wj}ӹ -i怨?re6Όr܁@^h=w<[ih$.OhjkEmW466:7Ձ-It&b h;C}Cp[]M,XL̟FS r28C{#Sp09Ro3[\njo;#p;kPRb)q|` <ڎzq/ג)ijP0N!3)Pg/חR ^ok֍Wz]`x/4x;k }CZnܷ}G}4iUo3w|a+Li{iƺb0t$5DHd[62sۭb/NJ7Xv) Yni%< (<+] m =)"=?8=3: Ѯh$o'HOJO$cCz"cC6X'zZ,=6-dCc}CX9} Or!}:%Dd6i0  # A2$V%+9z$rGw`!$V%+9z0 (}}NX$x= =]5;=ӻ" "1rx 끆+a=\ A<@ j "^A(Qш/ ݞٙczfRWTOuu{^zu!p)GIEG鹣N$ġL+Ehͻ-r^MП':<BHwEaF9w:0OA 5M3%?6~?F7(h---(j<zw<s[ Op]C/{rZ-e !h=c, t5Jg8t[B-'V[Zi-G +4%wV})EӯC8;!M{9S( r=wݩLkJWh+lPٷ--O@[P58FǡِVi>J[o{~]KwCfUy?šW߿}[M[_0dj}8fѐgg/B]iWw<iWJe"FtkM^rNកM]c\*i9ggA(3``ĩM&W/ .0/| GIDKNܤ~$XQ C~hA{/c-% Ϗ6xD#Gʃ80ꐍ!V>#i_Bk; eo`Wrq<`:>4Gc"Tz{,^?u-N䓍\Be hݘO 8 /j]VU_Fj'~ڕ_?O'/mh~=2z~X} į vTئ /' O cyJBaZ-,R&\f4)m4=ƼҶ==L{c7zFs{!{w_'|ҵEt=n2 JxYFNG'P襓jʍp?#Xc>དfRk*iy$uҌ~LmHI[[R[&A]D.+?"%{B{aS߽Z\F^.yzzF~A(oS+{.C<Rԩ=oWoԻ )1ڄת/R H\}VpF<,nڗSRg¦6?1|6lgn{h5|&LWlg:Mŝp63>؜;c>sㅐ7>+r5$Q^|.|ďM ]D67wɷDs}UY)ds}Ե$얿NL4OȾ;md_4YNSX4u]NkY~MRd~Վ_vՎv<1MkLu$Ne]/nJPwObaiqޝLΠ~pEm[sk[3P\ZئZxq(H.9@_$w @N^;;r]'Qc}YaZ2h $t>v Ꟊ+h6: &e\ 5XaY;eYoGI[ss6zI$.+eS>1r}=H1Ÿ+f#lsu&_C3 ~v{VX5`=ޥN+v]uX283B>3B35_݌}s|Q~yyf||||+ӱWT6#"صi>`g+9BAyz~"UG7tm/Uv"3ś/Ry"U_{an_?&IF=&: g-BHq=!wR} }(щ>ݹ^hAРOV]{y ڙBimg:']ץSʱ>QCXZ9:+k@G)Q<}/ f:L,w)*Xr-8Q٪[w{%?DŽ 7BPw7}RyYvâ$8wad}Co8q_=|YBeEa(C}-:Q$pwNھ ]3q;=ȑtIu}'uNL?̭~'L~2g~ՎvS?7|jۤېq BĠ5Сށݞy VC !5ak(.@! Ǥ*03_XPPGLU=!_%4=TwgHo! }-ouwܞK6פWlui|PíPAɝ9nĿ@{_P܈$ݜn֕(9>仒^䋒%CޒȿJN"Bdy<]r d9x|N 禎ȫ M<^J6אBz;yH]nߒߩ߫#?g3iȿorAy+PPP TI:<GT@xed)r"r k"CHCdE#}HM82=ҕLF:sgxJg'~~2#c/";#)PT`X.0L^Y֒.oU_ג[}Mrǽ@J6j r? m }P\|DATCUC[|%SȎ G%KƐ/-0R)#ű#H @ 5ECNW_pt+VD_C|'C8_|Q>~}W*_3 V PX wV^F1$P؝p=p5<<!y4| YKVǓ߄'3 "+ υ [!}_Cu=-~(o{#iB=pw?\J&Jn!gA|B 9"TL")8TH!| d?|"1uCx &|J(PNBB']BGCeP_`0 p9 ⟄9!d!WO<*]=/%VC4=^amOwǠ硼נܗ?A=x+v:hv %JENUO΀6>GQH") "Ӏ'fo BCGu}w ^; Y!“ҏj>4~tT:A/JJWE6Tũpq4N a4Z(],VJ ӥbJ1)I7wW4Q:^"%͔ΐ&C*arWHB"IR|t"V J|t!^*M+>xt-n%<eex~?.].AJo .(6t({4]+\<a.5k *͖zIR4p 0bRt/]>o~#MJJ~4X:\痁/aF/"˚6p+ $.~y!AK Cfݮ)H*dr p<_RҀt\6 h ր:E:E6zz@Ka0$).Bxak>.$֖-ߣ !?l,Bڼu,L"Nr\F /JF}+a4 a!t2˼h_h<>S?AAp|D+{@1JC )> }\P kR^R !O0e,C퇰wCڇoMȻ3|gk| uW ԾGxu軜>±Gi΄]kusىrEjcJ3 u}ŘiFzJm?cuEz. ɱy9+8yS >>$C{C;/<6ջ͙e}H6_(FhvKߍut͟t 73O_֞Mcgڲxx4O;7V /tᮯWo톿$붿q[5ICQ_6}Z:%ZoP\X{_ӻx.JhHsˍKva j;w$r*jsPC.v!!!7CO;:+0Q?+ccפc#gIaʵe{gCi"8/>˽,dgu)W˧fgb/Ok9Gڗgy&rˋr!KxY ^| .R,w7j>˽7>EfV"$]3gy*ɆTdr'_gXy᳼kR2YV\áY.$;Ug>˳xOD}COT.Ld>7־}on|g:q<7>3ϸYv>gy[5yY."OoY[˫ .㐽j'0;9|ө|Pӹk2JW;'@>Վ򅮩|P#]SΔ V$Wm`/vOttd)Ou%?}nۍLs$;Cm?y!j>sw|<}z֧j~[NuT4iKGpjs8?M':B̟zë>epi >u>W6իp3rlYvk>Yvk>vk>ѕXce*,k}6=/>˅,gyxYlE.o~oWkt\,7ρ='?ɝ+'I>Q*YOGV>單n}dq#yÍ,<|djG 0Z̟V6C3btwK2]LL~2'L~]x jDW;}G1ٺv=9b|5ggy[لÍLzYn}Dgn|Dg7> Sљ[ь?dr'eRJwˋr?g|C˕r;?~ϵrD:iСjW<'Y='@YEX9|k}&|3Y||3<||3凪te3Yp~v}\,6.ܭMT>s|,φgEgy8,(W(3٢[٢[7>3>wS,nJPۜ_փg9-'>g׸7~!trJ[o}3e]ϼfb{*j[e8 kXxcYq2]-oo܂` ِ֐/1FoOx7=M-t+9:͠i>1ǼzsX *hHDt\\)QhH._Q h~ S1R+&:%R'65x>nI({~KDuJGW7=&Eٲmjw:U;#pC4ϸꪩ&5ddw V^H]N(N)gՔA  $a)Ȼ\_ŤIhsG ȶ8k4hj/)?0:)31ɟ=_?ZRp y J1${̚6Zh#y[ڊaf&8-&)ү:VgMSQJQcjkci1!2Y{:=DR-"Q5Դr+lI9ӛs:^RG<ǺFC;C1mdY u-hY*3kK˕ōD¿Fd4 :J,f8ZbűyZ(MM!iбx?-t%t6ˉR:RJ3fm2U?ӎ4A35Ht DVo!J%8PKq*,ZZ<ܔgzFa?O; %!,2-p3vEJM]K h jnh@sSiz G[Gz2LI(_#JM :]S3QۯvFLkkjQmV?Q}Jz 4l'e#/ z[~#8h&XFi5Nˮ,r۾WmmVq:FVxN업V OfuosTױ~+y]K ٵ 9c950S:k5t7VM8^!jscotuO&n*baSQHȩ8!{Ҫ&3_䶱t >xepQagʬ9u#UP@(ѭ,]Ds屎WQքhb>U\^*榮&iM&i]F FVL[ZƄk-a|cȢ<a]k[b|{]X*Y꥿Xؾ r*?Ϡo;&xÌLazOmkWL{mש¨_Bnӿt˝^['kv&Sg'68XVhgTϵB`8j&ljYm MEthԎūɹQ~xBF_nRkgVO&9AќPspm.C#7D!99O S0v4Nl]un;dm=nGqޭb!XB932`tN&ײ K'jKM?ܮx|kno͉vk3Ӭ;vA}hYUJ5ԕ^iBt'9CûG؋sNOu6ҟrSn)56έVд_y3k[?̕l@תnCgXY9a*/t<ӌ7*G0n|Զ8R=~h%ed{ʇ+ Q0+|0+G|0+,T0+|0+Y(+kά|`k֯FCfY`V>mWvەveV>cY`<̬|02=lL`V>fY`V>fY`V>fY`V>fY`V>ʇՊV*"TTW;oĔ@hN}r]A}܅++=SkE=_pIPg .!K p6L1u7ăP-*ή][5jOo=/A X-Dd'TT0  # A2v-@4:ՅkًsR-lw`!J-@4:ՅkًsƧ (9bi*-x 80 >|~"S@D"0EDA##b4&D@y Ǘy׺&qy3k[g]utuuwI9Nǩ4K/i=]]\$=>Bwg 'F;q[= -[/ ps}‰r@u7g3)v #^RS_6:X?`[@ҥRAZ>akAHr_iiicv.`E;}^g\kQ^-q1\ZfP1444^gϷR/P_qcuCnİm}`۠[K:Sۮ]mak098-ĸ/p<_'TY߬qv cW*1u(]$q2ko%Ÿur7+Me.dM#0l:ե=>}." ivdoXS͚.֌>af BB&a5Nr,$tw'~=`|L_;$ۃ~zw_ދA0yD`=è$bGK0XH趲|=>/#v?36N_" S;`*ٙ.si {6G|7Y,BB-@ߋ^+voY].e>W&lFIo[l=mbsm-0;BVzmh] 0XHֱ]>z#b¸Q%{~>&;Bk#8c![N))%dU |BkźT+d]#Y]G/G80]$qK]Ċs;?byLHv SWL|}!b=0 XH[.`Eb0s,c!ǖrE̝pm[/BB<[Y0%hIv;m>>vnΊ` $ߝϱOtr,$tQ}>OE)0E;S'i> gi[ f '^3$[Ne yәMغ`4±}b 'Y}X`&A;UwXSo*ˁd-5+b{&5`:˱5{݆;'0C[1g_o^3Dxl78)SvZ,ߛ W0&"؋4=0`o o^~.3 9%^={f$hǨ5ɖZVz0vd{# [}X%ރl0۽"vo5Cn!>yߊO k vQo; `k vOyC{"3vK!_b=kAb~}\vd}YC }"9| @_a\mk ݬ-6WvL/9 |a=Lw0XHb`w`d]Dl!N`&K~gVߓSt3 m7Ndnl;5`^ck_z shTk߁-ܿ-b׀wHvߞ ~[ߪ0lck_l3%~;ice;ck|-^XQ}O75L.shoVkߊsykQ ndAp%h[5 eYàkئ`rc!kɮ rY|9 _^+ܠ9kmkXYv99h:L_XHX/biWKvpД 9D{d!|"v7a|=sL.`ϣ0 9.; N0@Ao'Ҁ5L).3Ѻj H9O,*MDk;N4L%YV+S0 mB9$Z :{Ķsr,b H}hoʈ$8By1ڊ#ԡ0P#YNfQ=rq.%3AadR5 ds$3qESC r3q(#\!=5; fq&I 5{1m.0%t9 4A7oGȖl> n,e86M)#4l|Ni T8r$; >gbk=O94"3p5q]%-,k3GT9-ki5]Gkی#0Jocm0pd5tmo3q$ t#÷rɌ#yd?σP:JɌ#HadOqjGCNG#*3%}MR)^q:Hsے붧npۑG8BdP}pMu ;N2)#p3=Ef+q%[vqnOMEܷG}8= pOL6=)#+ٹۇq7#\en?Z&3q]WћZfGx~nM@O%m00X;s;vi۟8%{;ߢOߌ## Q<>@at8 %{>Ow8o308HCA7<2oGoWE dFPGWk7xO9CdxNsX 󈿎N@Nb,f'6>O鬿s)1%?R-)֑s+Asi^k2cosH/KG$̘ c;%>;i d-^1PsXo n|L·s-1K෴-C;ӇmvQs'ُ]`o31jPX;2cosZ/D:s}ßz~2c0pH?2R(3G2c05SO_(+g2c_%"urRrSVoxD;;~'I6;i!7$Msf'`LOT]Rퟅ7]Z$~ϟ}*U}#8N^tTqµFBrzYO'O:'̾_s:mZy~?Yzfkpg7bUM1rsa\-/k?Xܩ?JkWӬ3)pF:M \Ϸ-Ͷ~V>+xWg沰OXF}eFƳ/b?q;"|Qh Ǡv91g4ljxk"QGHwwcw Ųeqb<i?zi%anq=˜d;fi&qgyt|?$?Nu20ؒ&w(ruRKV8~db2%Ot~nS*N:$x }n$ST[Jwyǯ~N$ѭm'[Kv_w9 7ZFb([`XvGWCvoQɶ/k׸^ Sտ^q[Xݪ?M67k#Uxblקp/lw-gr˹Oޖb'ۓլז L3՚wx\P/]iCg:{w]UUX3!?[xߓ_.9\${sB5\>ze[oҚ' -Ey[Z˹K׏1}k!`M _'^pMEyY6(I7fy32M `_nmn^m6R&#n~6o&im'n)8iwۦ*]RykPE璎?h߷?HV~MKno⚥2ףk oߧeoVǗS}.>~ّb^]Ȯy>h}`n(0phvd'Xǂ(DS$N} hvd瀛/D$`2!]- &ɖ&7+man!~phdOQ؏;)D%{`O^g ϳB_~@~$IefJfž fIfͶl;m {kph6O] 6H!--!-t-t!- v6 DHv+ *ɮ3UNfߑ}wm%`߇}p;hvd^;(D%{`~q!\_K!ؿ9{>63I^?NK!y`?spDžhda;(D;%`¾N!" }EfI}w٥]e`_n; W _Nl lpӅhvd bphvd p#hdP؇/D]%`{\W!m'<̓=\;!m!ZlCflY Ѭ/L̈́=/D|}J{`u`we\4{R|mSiO;)D${`~!!-v ldvط+d`n.j] jp˄hvd"/DOKv΁}hvdا(D$;`>(!(a; a lw1>]H=Tֵ3?wh_>[[1D萗 O}½kD#i|ߟqs^Z{a_]?~-U;n!@bymB]eN> հG䵱aS|3}-~̿kQNJ6׃ߟܟ{tXy5cFEޮ^Zgy/}>%.7߮W0N];|/pV4K*vob ư\[HI,N3\ș7k$`z!, fp%B4C v;=d`?I=1p'h ɞ3/`9!M ٠fu$uhd/7zw^%ٖ{Wk)D%{5[h6O 6!g:>1R1Z./d9`z!, fp%B4C v;=d`?I=1p'h ɞ3/`9!gbuB:(z`^B4{d[U_Ͷ-nn{\f }'$>s^م]j a_n;.u:쯃['D%`7¾!@; ?SfI}B4{D GS=c`?͖J[ {)8/f 6 p hds )Mldl. lv1wEf{I>{/p ܪ_7y]dV`Ɣd98̦gtfZ,9G㘃q̹h{0=}8'8$g4H^qq8%TqTܡ&*?{P`'=MJm^\c])Ǻ#ya_y'N@<[8;1 n18j$۱[TۿGƌm4/ }}\dF%wW}R&Ǧ'HM߈0ǩ1}慴}oi}~K˙&Kx_^Hk{noKb{ņߖkdۙ2deDž>\#tHult*_-a^wq(qdc5Y&j]0yZfx0)t17sKjc]!\$XoW^goW.{n/: N|'oZo[oY8h/QI72U{J0l]K"{XmV?M78Wk_([6˥\q?+o~ϗ>pĊ43^vΗY &:Nz),sGO.ccfNT4 9r.ԗN&D4?[6+ke8yPw7j`zWY+glRy}|IPR+ۏWm&Ze݃5]Yt^U3+)]LdJoW!SzŔޮ$v0+)] L_JoWRzջޮԥvU.+p)]mKZJoWRzbձޮv++\)]JUJoWRz"էޮ4vU)+H)]-JPJoWU)GVuhYydUmU)GV5hYydUYRzR4IJoWJRz*ޮvve#)]HDJoW"Rzޮ&v )](GVhY~ޮ#O4j=<*DȪ#N4:<*(]5G 9JoWQzUnޮhv+(]F 4JoWQzUdޮ#:L4J0Itj(]w$:J[5FUO$ڻ!e .&HwY?U#ڻQڪzQڪ:Qڪv} kiDGin52ޮv \(]BW賝xhYu)ydՠUo"GVmhYu$ydՌU"GV-(m}V(msV(miVM/(]kA JoPVk#(]AJo7g;ZJo-U GV=kDȪ3#@4 #FEd4,7Y⑩}RP0["Įtfʶ5JN(1C]:Wj}4v箝X0r\蓅}D#M8жsCb`Ǥ{T4q򨢂gw~?G9]{^Rܽao8ӥ48"WjW${$c|M;K7J9s)O\}JohY9ηvn莖G/[9H/[kS+]tmf޺Qv>:s)gNrJoSz;Wyv7s)MmJogSz;yהαD,ixF4=x3ֈg5[/Lox23o3Lczog{W<Yx60=;♿lgҳ/Kx.=㙺 K=&mK♵,EK2K]㙰8JAi]U ?2Z@Bኽ3R\9./I+ ۪Tw;v7W55k;v\+ U\wlxbuWT*>?"32J I++h:wMkgYk V&`eQz;ӌYe v3Dk&Z/њiewX+K&[Y[Тv63(eE*JogOQz;SJ􌋕%zʀ=Dw}&S+ItX=be'XH*^3k>;D ѳ##Dώx>=;?г#Cώx=;:г#Cώx =;5г#3Cώx~ =;0г#Bώx> =;+г#Bώx =;&г#CBώx=;!灨(Bp޽ˡ5ȫ0'C s+Ԟ0GB sT쯢Teg!hXҫ{S>D_+/R_7gTվʻww~_T ؿ|3_[3OQƷݡx} c+Yhlx竽BkҤMΟkv/z)ʯ*Ve}S)_+S5AX#(7k#{Tt.g&kF~\̌RL՛?qLw'qp?4gzxZFd90TH{%)F_읊֮I&Eͩ:%Dd6i0  # A2$V%+9z$w`!$V%+9z0 (}}NX$x= =]5;=ӻ" "1rx 끆+a=\ A<@ j "^A(Qш/ ݞٙczfRWTOuu{^zu!p)GIEG鹣N$ġL+Ehͻ-r^MП':<BHwEaF9w:0OA 5M3%?6~?F7(h---(j<zw<s[ Op]C/{rZ-e !h=c, t5Jg8t[B-'V[Zi-G +4%wV})EӯC8;!M{9S( r=wݩLkJWh+lPٷ--O@[P58FǡِVi>J[o{~]KwCfUy?šW߿}[M[_0dj}8fѐgg/B]iWw<iWJe"FtkM^rNកM]c\*i9ggA(3``ĩM&W/ .0/| GIDKNܤ~$XQ C~hA{/c-% Ϗ6xD#Gʃ80ꐍ!V>#i_Bk; eo`Wrq<`:>4Gc"Tz{,^?u-N䓍\Be hݘO 8 /j]VU_Fj'~ڕ_?O'/mh~=2z~X} į vTئ /' O cyJBaZ-,R&\f4)m4=ƼҶ==L{c7zFs{!{w_'|ҵEt=n2 JxYFNG'P襓jʍp?#Xc>དfRk*iy$uҌ~LmHI[[R[&A]D.+?"%{B{aS߽Z\F^.yzzF~A(oS+{.C<Rԩ=oWoԻ )1ڄת/R H\}VpF<,nڗSRg¦6?1|6lgn{h5|&LWlg:Mŝp63>؜;c>sㅐ7>+r5$Q^|.|ďM ]D67wɷDs}UY)ds}Ե$얿NL4OȾ;md_4YNSX4u]NkY~MRd~Վ_vՎv<1MkLu$Ne]/nJPwObaiqޝLΠ~pEm[sk[3P\ZئZxq(H.9@_$w @N^;;r]'Qc}YaZ2h $t>v Ꟊ+h6: &e\ 5XaY;eYoGI[ss6zI$.+eS>1r}=H1Ÿ+f#lsu&_C3 ~v{VX5`=ޥN+v]uX283B>3B35_݌}s|Q~yyf||||+ӱWT6#"صi>`g+9BAyz~"UG7tm/Uv"3ś/Ry"U_{an_?&IF=&: g-BHq=!wR} }(щ>ݹ^hAРOV]{y ڙBimg:']ץSʱ>QCXZ9:+k@G)Q<}/ f:L,w)*Xr-8Q٪[w{%?DŽ 7BPw7}RyYvâ$8wad}Co8q_=|YBeEa(C}-:Q$pwNھ ]3q;=ȑtIu}'uNL?̭~'L~2g~ՎvS?7|jۤېq BĠ5Сށݞy VC !5ak(.@! Ǥ*03_XPPGLU=!_%4=TwgHo! }-ouwܞK6פWlui|PíPAɝ9nĿ@{_P܈$ݜn֕(9>仒^䋒%CޒȿJN"Bdy<]r d9x|N 禎ȫ M<^J6אBz;yH]nߒߩ߫#?g3iȿorAy+PPP TI:<GT@xed)r"r k"CHCdE#}HM82=ҕLF:sgxJg'~~2#c/";#)PT`X.0L^Y֒.oU_ג[}Mrǽ@J6j r? m }P\|DATCUC[|%SȎ G%KƐ/-0R)#ű#H @ 5ECNW_pt+VD_C|'C8_|Q>~}W*_3 V PX wV^F1$P؝p=p5<<!y4| YKVǓ߄'3 "+ υ [!}_Cu=-~(o{#iB=pw?\J&Jn!gA|B 9"TL")8TH!| d?|"1uCx &|J(PNBB']BGCeP_`0 p9 ⟄9!d!WO<*]=/%VC4=^amOwǠ硼נܗ?A=x+v:hv %JENUO΀6>GQH") "Ӏ'fo BCGu}w ^; Y!“ҏj>4~tT:A/JJWE6Tũpq4N a4Z(],VJ ӥbJ1)I7wW4Q:^"%͔ΐ&C*arWHB"IR|t"V J|t!^*M+>xt-n%<eex~?.].AJo .(6t({4]+\<a.5k *͖zIR4p 0bRt/]>o~#MJJ~4X:\痁/aF/"˚6p+ $.~y!AK Cfݮ)H*dr p<_RҀt\6 h ր:E:E6zz@Ka0$).Bxak>.$֖-ߣ !?l,Bڼu,L"Nr\F /JF}+a4 a!t2˼h_h<>S?AAp|D+{@1JC )> }\P kR^R !O0e,C퇰wCڇoMȻ3|gk| uW ԾGxu軜>±Gi΄]kusىrEjcJ3 u}ŘiFzJm?cuEz. ɱy9+8yS >>$C{C;/<6ջ͙e}H6_(FhvKߍut͟t 73O_֞Mcgڲxx4O;7V /tᮯWo톿$붿q[5ICQ_6}Z:%ZoP\X{_ӻx.JhHsˍKva j;w$r*jsPC.v!!!7CO;:+0Q?+ccפc#gIaʵe{gCi"8/>˽,dgu)W˧fgb/Ok9Gڗgy&rˋr!KxY ^| .R,w7j>˽7>EfV"$]3gy*ɆTdr'_gXy᳼kR2YV\áY.$;Ug>˳xOD}COT.Ld>7־}on|g:q<7>3ϸYv>gy[5yY."OoY[˫ .㐽j'0;9|ө|Pӹk2JW;'@>Վ򅮩|P#]SΔ V$Wm`/vOttd)Ou%?}nۍLs$;Cm?y!j>sw|<}z֧j~[NuT4iKGpjs8?M':B̟zë>epi >u>W6իp3rlYvk>Yvk>vk>ѕXce*,k}6=/>˅,gyxYlE.o~oWkt\,7ρ='?ɝ+'I>Q*YOGV>單n}dq#yÍ,<|djG 0Z̟V6C3btwK2]LL~2'L~]x jDW;}G1ٺv=9b|5ggy[لÍLzYn}Dgn|Dg7> Sљ[ь?dr'eRJwˋr?g|C˕r;?~ϵrD:iСjW<'Y='@YEX9|k}&|3Y||3<||3凪te3Yp~v}\,6.ܭMT>s|,φgEgy8,(W(3٢[٢[7>3>wS,nJPۜ_փg9-'>g׸7~!trJ[o}3e]ϼfb{*j[e8 kXxcYq2]-oo܂` ِ֐/1FoOx7=M-t+9:͠i>1ǼzsX *hHDt\\)QhH._Q h~ S1R+&:%R'65x>nI({~KDuJGW7=&Eٲmjw:U;#pC4ϸꪩ&5ddw V^H]N(N)gՔA  $a)Ȼ\_ŤIhsG ȶ8k4hj/)?0:)31ɟ=_?ZRp y J1${̚6Zh#y[ڊaf&8-&)ү:VgMSQJQcjkci1!2Y{:=DR-"Q5Դr+lI9ӛs:^RG<ǺFC;C1mdY u-hY*3kK˕ōD¿Fd4 :J,f8ZbűyZ(MM!iбx?-t%t6ˉR:RJ3fm2U?ӎ4A35Ht DVo!J%8PKq*,ZZ<ܔgzFa?O; %!,2-p3vEJM]K h jnh@sSiz G[Gz2LI(_#JM :]S3QۯvFLkkjQmV?Q}Jz 4l'e#/ z[~#8h&XFi5Nˮ,r۾WmmVq:FVxN업V OfuosTױ~+y]K ٵ 9c950S:k5t7VM8^!jscotuO&n*baSQHȩ8!{Ҫ&3_䶱t >xepQagʬ9u#UP@(ѭ,]Ds屎WQքhb>U\^*榮&iM&i]F FVL[ZƄk-a|cȢ<a]k[b|{]X*Y꥿Xؾ r*?Ϡo;&xÌLazOmkWL{mש¨_Bnӿt˝^['kv&Sg'68XVhgTϵB`8j&ljYm MEthԎūɹQ~xBF_nRkgVO&9AќPspm.C#7D!99O S0v4Nl]un;dm=nGqޭb!XB932`tN&ײ K'jKM?ܮx|kno͉vk3Ӭ;vA}hYUJ5ԕ^iBt'9CûG؋sNOu6ҟrSn)56έVд_y3k[?̕l@תnCgXY9a*/t<ӌ7*G0n|Զ8R=~h%ed{ʇ+ Q0+|0+G|0+,T0+|0+Y(+kά|`k֯FCfY`V>mWvەveV>cY`<̬|02=lL`V>fY`V>fY`V>fY`V>fY`V>ʇՊV*"TTW;oĔ@hN}r]A}܅++=SkE=_pIPg .!K p6L1u7ăP-*ή][5jOo=/A X$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' (.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T(&Q&&h&h&&&)& &&)&&&&4&4&&4&4& &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T(&Q&&h&h&&&)& &&)&&&&4&4&&4&4& &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T(&Q&&h&h&&&)& &&)&&&&4&4&&4&4& &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T(&Q&&h&h&&&)& &&)&&&&4&4&&4&4& &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T(&Q&&h&h&&&)& &&)&&&&4&4&&4&4& &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T(&Q&&h&h&&&)& &&)&&&&4&4&&4&4& &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T(&Q&&h&h&&&)& &&)&&&&4&4&&4&4& &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T(&Q&&h&h&&&)& &&)&&&&4&4&&4&4& &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24aN$$If4֦%v5+T ` : c2,`& Z"$T(&Q&&h&h&&&)& &&)&&&&4&4&&4&4& &`````````````````־3.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24ad$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4'.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24a$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' ւ.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24a$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' ւ.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24a$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' ւ.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24a$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' ւ.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24a$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' <.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24a$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' <.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24a$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' <.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24a$$If4֦%v5+T ` : c2,`& Z"$T('Q''h'h''')' '')''''4'4''4'4' <.6LLLL2  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 2  2 2   2 2  22  22  22  22  24a1Table$SummaryInformation(IDocumentSummaryInformation8CompObjPj      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~2?O\E^v!| DIR{$)/49>OTY^chmrw}k    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEp#*0&"&K&G!z!z!z!z!z!z!z!z! z! z! z! z! z!z!z!z!z!z!z!z!z!z!z!z!z!z!z!z!z!z!z! z!!z!"z!#z!$z!%z!&z!'z!(z!)z!*z!+z!,z!-z!.z!/z!0z!1z!2z!3z!4z!5z!6z!7z!8z!9z!:z!;z!<z!=z!>z!?z!@z!Az!Bz!Cz!Dz#EzFzGzg]9  #m$P*w/7<>EOJMSX_(defg knl[moopjrFv]yO~tԏ-Ee( q =iR_"C r  ^/i o p ?#p#$&'7)?**0{    Yh ] !"#$%C&'R()*+N,&-.-/0:1C2364567#89: ;< =>?@ABCBCDDDEEFFF 45789:;<BPfgh%{>WVLF]c j  V  T 3 5 6 7 8 9 : ; L M u `Mv!Jh)KL,-s() !!6![!!!! #2#$$%$.$m$%%)))))))))))))****)***,*4*O*P*R*Y*m*n*p*w****************++++%+?+@+C+J+e+f+i+q+++++++++++++++++,,,!,8,9,<,L,k,l,o,},,,,,,,,--K12277$797T7U7V7Y7e7}7~77777777777778 8888/8R8S8V8a88: iD@D Normal$dha$CJ_HaJmH sH tH f@f Heading 16$ & F! dh<&d @&P  CJKH aJ V@V Heading 2$ & F!<@&5CJOJQJ\^JaJV@V Heading 3$ & F!<@&5CJOJQJ\^JaJJJ Heading 4$ & F!<@&5CJ\aJLL Heading 5 & F!<@&56CJ\]aJFF Heading 6 & F!<@&5CJ\aJ88 Heading 7 & F!<@&>> Heading 8 & F!<@&6]L L Heading 9 & F!<@&CJOJQJ^JaJ<A@< Default Paragraph Font2B@2 Body Text$dha$<Z@< Plain TextCJOJQJ^JaJ6O6 xl24dd[$\$ OJQJ^J6"6 xl25dd[$\$ OJQJ^JH2H xl26!dd-DM [$\$ OJQJ^JB xl27edd$d%d&d'd-DM NOPQ[$\$ OJQJ^JR xl28edd$d%d&d'd-D`M NOPQ[$\$ OJQJ^Jb xl29edd$d%d&d'd-D`M 3NOPQ[$\$ OJQJ^Jr xl30edd$d%d&d'd-D`M NOPQ[$\$ OJQJ^JO xl31edd$d%d&d'd-D`M NOPQ[$\$ OJQJ^J xl32edd$d%d&d'd-DM NOPQ[$\$ OJQJ^J xl33edd$d%d&d'd-DM NOPQ[$\$ OJQJ^J, @, Footer  !&)@& Page NumberH#@HTable of Figures  ! mHnHu2@2 TOC 1$xa$5\6@6 TOC 2$x^a$6],@, TOC 3 $^a$,@, TOC 4!$^a$,@, TOC 5"$^a$,@, TOC 6#$^a$,@, TOC 7$$^a$,@, TOC 8%$^a$,@, TOC 9&$^a$6 @6 Index 1'^`aJ6 6 Index 2(^`aJ6 6 Index 3)^`aJ6 6 Index 4*^`aJ66 Index 5+^`aJ66 Index 6,^`aJ66 Index 7-^`aJ66 Index 8.^`aJ66 Index 9/p^p`aJF!@rF Index Heading0$xa$ 5\aJ4"@4 Caption 1xx 5\aJ.U@!. Hyperlink >*B*phJC2J Body Text Indent3$`a$CJPJ4PB4 Body Text 24$a$CJ21R2 List Number 5 & F"6:@b6 List Number 2 6 & F#0Q@r0 Body Text 37$a$,, Header 8 !>V@> FollowedHyperlink >*B* ph2?O\E^v!| DIR{$)/49>OTY^chmrw}0^]\[FC*n)'mji [ZYXWVUTSR\8888888888899998999<9H9e9f9i9r999999999999: :!:g:h:<<<<==w@@EEFFGG3G4G6G=GQGRGTG[GsGtGwG~GGGGGGGGGGGGGHHH H%H&H)H0HKHLHOHVHjHkHnHuHHHHHHHHHHHHHHHHIIII I5I6I9IAIZI[I^IfIIIIIIIIIIIIIIII J(J)J,J5JNJOJRJYJlJmJpJ{JJJJJJJJJJJJJ KKKKAKBKEKLK_K`KcKnKKKKKKKKKKKKKLLLL4L5L8L?LXLYL\LbLLLLLLLLLLLLLMMM M$M%M(M.MFMGMJMOMnMoMMMMMMMMMMMPPPPRRSS8T9T]TTTT U UWWXXaYvYwYw]x]__5``aaabbb d!d"d#d$d%d&d'd(d)d*d+d`dbdcdddedfdhdidjdkdldmdndodpdddd>f?f@ffffffffffffffffffffffggggggggggggggggggggggghhhhhhhhhi iiik k k k k kkIkJkKkMkNkOkPkfknkokhliljlklllmlnlolplql3m5m6m7m8m9m:m;mm@mAmBmCmDmEmFmGmZm[mkmlmnnnnnnnnnnnnnnnnoooooooooooooooooooooooooooppepfpgpppppppppppppppppppppqqqqqqqqqqHrIrJrKrLrMrNrirjrkrwrxrEvFvvvv[y\y]y_y`yay}y1z2z3zY|O~n~o~rst qrx͎яҏӏԏYZae-p/~ϙ NÛI ğşƟ]^ (dãEåĥťƥǥȥɥʥ˥̥ͥΥϥХѥҥӥڥ  )/5>DJST[kmotzŦ˦Ԧզܦ  &,5;AJKRWY[`fotzɧΧЧҧקݧ "(.78@EGINT]bhqv{ƨȨʨϨըި  &/07GIKPV_djsx}Ʃ̩թک&'.357<BKPV_dirx~ê̪Ѫת%*,.39BGMV[`iou~ë̫ѫ֫߫ $&(-3<AGPUZciox~ŬˬԬ٬ެ-/16<EJPY^clrx­˭Э֭߭ $)+-28AFLUZ_hnt}®Ǯ֮ͮۮ +-/4:CHNW\ajpvůʯЯٯޯ /138>GLR[`entzȰͰӰܰ  0249?HMS\afou{ɱαԱݱ !135:@INT]bgpv|ɲβԲݲ  0249?HMS\afou{ɳγԳݳ "')+06?DJSX]flr{ɴδӴܴ $*38>GLQZ`fou{Ƶʵ̵εҵյصڵܵ޵  "$&'268:>ADFHJLNPRTVXZ\]hlnptwz|~¶ĶƶȶɶԶضڶܶ  "$&(*,.0245:>@BFILNPRTVXZ\^`bdefghijklmnopqrstuvwxy·ķ˷зҷڷܷ޷ $)*+,-./08:<>EJLTVXZafghijklmvxz|Ǹɸ˸͸Ըٸڸ۸ܸݸ޸߸ 789¹ù)*Z[GHwx3мlV@ܿ*tgT>(v`K6 n P| 34Hvq,AB[t/1Jf!O|<=IJ()=w79rsRSuMNdrsghi!QRS|+34Z^_`FGobcCD=>?@\"#9    !"$%')+,/12578;<>ABCDEHIJLOPRVXY[\^`bc/wx- .   q { | }                           - 6 7 9 @ T ] ^ ` h q z { }                    " ) = A B E L _ h i l s                     , 0 1 4 ; S \ ] ` g ~                    $(),3QUVY`} $(),3HQRU\s|}(?@BI]wxz!4NOQXk&ABEL_stw~%1EFIP\tux !9:=DTnory(),4DYZ]eu '(+3<UVYaj %&)5D]^an},OPS^r #+C`adl $%(/>QRU`o ./2=Lqru|,@ADO`78;BQjknu$BZ[^c , - 0 > Q o p s            !!=!>!A!H!a!|!}!!!!!!!!!!!" "&"L"M"N"6#7#8#9#:#;#<#=#>#?#@#n#o#p#r#######$$$($;$=$L$W$d$q$$$$$$$$$%&%9%L%]%q%|%%%%%%%%%&&&)&;&J&Y&m&o&&&&&&&&&&&&& ''0'D'Y'd'q'~'''''''(((*(4(F(O(Q(^(x((((((((()) )7)G)Z)p)~))))))))))*%*2*?*O*c*e*{***************+++++++++++++++++++++ +!+"+#+$+%+.+/+0+1+2+3+4+5+6+7+C+D+E+F+G+H+I+J+K+L+M+f+g+~++++++++++,,9,V,q,,,,,,,,,,,,,,,- -m-n---------------....!.".*.+.3.4.?.G.M.X.Y.j.k..................../ / / ////#/$/,/-/7/A/B/J/K/P/Q/[/e/f/p/q/u/v/{/|///////////////////////////////////////// 0 00000!0"0%0&0*0+0/00030405060708090:0;0<0=0>0?0@0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~00000000000000000000000000000000000000000000000000000000000000000000000000000 0 0 0000 0 0 0 0 0 0 0 000000 0 000 0 0 0 0 00000000000000000000000000000000000! 0000000000# 60# 6000! 000000$ 60$ 60$ 60$ 6000! 00 #0 #0 #0 #10 #0 #(! 0 # #0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%10%0%0%0%(! 0 # #020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020210202020202021020202(! 0 # #0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@0w@10w@0w@0w@0w@0w@0w@0w@0w@! 00M0M0M! 0MM0P0P0P0P0P0P0P0P0P0P0P0P0P0P0P0P0P0M! 0MM0aY0aY0aY0aY0aY0aY0aY0aY0aY0aY0aY(! 0aYaY0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b10b(! 0aYaY0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d10d10d10d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d10d10d0d0d0d0d0d0d0d0d0d0d10d0d(! 0aYaY0 i0 i0 i0 i0 i0 i0 i0 i0 i0 i0 i0 i10 i10 i10 i10 i(! 0aYaY0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk0fk10fk0fk(! 0aYaY0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m10[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m0[m10[m10[m0[m(! 0aYaY0o0o0o0o0o0o0o0o0o0o0o0o0o0o0o10o0o0o0o0o0o0o(! 0aYaY0p0p0p(! 0aYaY0q0q0q0q0q0q0q0q0q0q0q(0aY0Kr0Kr10Kr0Kr0Kr! 0MM0kr0kr0kr0kr0kr0kr0kr0kr0kr0kr0kr0kr10kr0kr0kr0kr0kr0kr! 0MM0O~0O~0O~0O~0O~10O~0O~0O~0O~! 000! 000000000000! 00͎0͎0͎0͎0͎(! 0͎͎0ԏ0ԏ0ԏ0ԏ 0ԏ0ԏ0ԏ 0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ 0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ0ԏ(! 0͎͎0Ɵ0Ɵ0Ɵ0Ɵ0Ɵ0Ɵ0Ɵ0Ɵ0Ɵ0Ɵ0Ɵ0Ɵ0Ɵ0Ɵ0Ɵ0Ɵ! 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000100000000000000000000000000000000000000000000000000000000010000! 00 0 0 0 0 0 0 0 0 0 0 (! 0 0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q(! 0 000000000000000000000000(! 0 000(! 0 0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s(! 0 000 00 00! 0 00000000000000000000000000000000000000000000000000000000000000000000000000! 0000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00`08"00'0'0'0'0'0'0'0'000'0'000'0'0'0'0'0'0'0'0'0'000'0'0'0'0'0'0'0'0'0'0'000'0'000'0'000'0'0'0'0'0'000'0'0'0'000'0'0'0'000'0'0'0'0'0'0'0'0'0'0'0'0'000'0'0'0'000'0'0'0'000'0'0'0'0'0'0'0'0'0'0'0'0'0'0'0'0'0'0'0'0'000'000'0'0'0'0'0'0'0'0'000'0'0'0'000'000'0'0'000'0`08"0@0@0@0@0@0@0@0@0@0@0000000000@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0 000000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'''''''''//AVVVY!tE  9 2kC!/a<KMWPXgh.yKx,] +C|?+ G m!&d+4/27 135679:;=?ADWcoyW%-,..//00U;;<==@3KK%LLMM(NNAOOXPPnQTemhjlnoFqstu3~xƥì ԭfj` r$͵3@J&w Pvľ$lG* i^  I 9A;U\zs\D,(%S !!/""2##A$$j%%&-''|();*+Y-.01$22m4X5666>7[7x7777     !"#$%&'()*+,-./0248<>@BCEFGHIJKLMNOPQRSTUVXYZ[\]^_`abdefghijklmnpqrstuvwxz{|}~7h}~ "#%D[vxy{8;<>]6QTUWv&5PSTVu+FIJLk%@CDFev<WZ[]|"B]`ac    7 I d g h j     ' 5 P S T V u  ! 3 N Q R T s  - 0 1 3 M i j  T o r s u ?Z]^`,GJKMl9Upstv!@i)DGHJi"Gbefh#&')Ha|$$$<<<Fv_vavtE#l#*0 tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%t̕ tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%tX%t̕::::T/6AHKY!!!!t   ,2$5R5NmoYR噹bVp&r@J(   * B̙ ?"2=2 + B̙ ?"1=B ,@ HD?"0=B - HD?"/=B . HD?".=2 / B̙ ?"-=B 0@ HD?",=B 1 HD?"+=B 2 HD?"*=2 3 B̙ ?")=B 4@ HD?"(=B 5 HD?"'=B 6 HD?"&=2 7 B̙ ?"%=B 8@ HD?"$=B 9 HD?"#=B : HD?""=B ;@ HD?"!=B <@ HD?" =B =@ HD?"=B >@ HD?"=B ? HD?"=B @ HD?"=B A HD?"=B B HD?"= C NC̙ ?"= B D ND?"=B E ND?"= F NF̙ ?"5< B G HD?"<B H@ HD?"<B I HD?"<B J HD?"<B K HD?"<B L HD?"<B M@ HD?"<B N HD?"<B O HD?"<B P HD?" <B Q HD?" <B R HD?" <2 S B̙ ?" <B T@ HD?" <B U HD?"<B V HD?"<B W@ HD?"<B X HD?"<B Y HD?"<R Z HG&̙ ?"< [ N[̙ ?"4<  \ N\̙ ?";  ] N]̙ ?";  ^ N^̙ ?";  _ B̙ ?"3= ` B̙ ?"<B a@ HD?"<B b HD?"<B c HD?"<B d HD?"<B e HD?"<B f HD?"<B g HD?"<B h HD?"<B i HD?"<B j@ HD?"<B k@ HD?"< l B̙ ?"<B m@ HD?"<B n HD?"<B o HD?"<B p HD?"<B q HD?"<B r@ HD?"< s B̙ ?"<B t@ HD?"<B u HD?"<B v HD?"<B w HD?"<B x HD?"<B y HD?"<B z HD?"<B { HD?"<B | HD?"<B }@ HD?"<B ~@ HD?"<  B̙ ?"<B @ HD?"<B  HD?"<B  HD?"<B  HD?"<B  HD?"<B  HD?"<B  HD?"<B  HD?"<B  HD?"<B @ HD?"<B @ HD?"<  B̙ ?"<B @ HD?"<B  HD?"<B  HD?"<B  HD?"~<B  HD?"}<B  HD?"|<B  HD?"{<B  HD?"z<B  HD?"y<B @ HD?"x<B @ HD?"w<B  HD?"v<  B̙ ?"u<  B̙ ?"t<B  HD?"s<B  HD?"r<B  HD?"q<B  HD?"p<B  HD?"o<B  HD?"n<  B̙ ?"m<B  HD?"l<B  HD?"k<B  HD?"j<B  HD?"i<B  HD?"h<B  HD?"g<  B̙ ?"f<B  HD?"e<B  HD?"d<B  HD?"c<B  HD?"b<B  HD?"a<B  HD?"`<  B̙ ?"_<B  HD?"^<B  HD?"]<B  HD?"\<B  HD?"[<B  HD?"Z<B  HD?"Y<  B̙ ?"X<B  HD?"W<B  HD?"V<B  HD?"U<B  HD?"T<B  HD?"S<B  HD?"R<  B̙ ?"Q<B  HD?"P<B  HD?"O<B  HD?"N<B  HD?"M<B  HD?"L<B  HD?"K<  B̙ ?"J<B  HD?"I<B  HD?"H<B  HD?"G<B  HD?"F<B  HD?"E<B  HD?"D<  B̙ ?"C<B  HD?"B<B  HD?"A<B  HD?"@<B  HD?"?<B  HD?"><B  HD?"=<  B̙ ?"<<  B̙ ?";<  N̙ ?"7;   N̙ ?"6; B  ND?":<B  ND?"9<  N̙ ?"<   N̙ ?"8< B  ND?"<  B̙ ?"<B  HD?"B=B @ HD?"A=B  HD?"@=B  HD?"?=B  HD?">=B  HD?"==2  B̙ ?"<=B  HD?";=B @ HD?":=B  HD?"9=B  HD?"8=B  HD?"7=B  HD?"6=2  B̙ ?"5=B  HD?"4=B @ HD?"3=B  HD?"2=B  HD?"1=B  HD?"0=B  HD?"/=B  HD?".=B @ HD?"-=B  HD?",=B  HD?"+=B  HD?"*=B  HD?")=B  HD?"(=B @ HD?"'=B @ HD?"&=B  HD?"%=B  HD?"$=B @ HD?"#=B  HD?""=B  HD?"!=B  HD?" =B  HD?"=2  B̙ ?"=B  HD?"=B @ HD?"=B  HD?"=B  HD?"=B  HD?"=B  HD?"=2  B̙ ?"=B  HD?"=B @ HD?"=B   HD?"=B   HD?"=B   HD?"=B   HD?"=B   HD?"=B @ HD?"=B  HD?"=B  HD?" =B  HD?" =B  HD?" =B  HD?" =B @ HD?" =B @ HD?"=B  HD?"=  N̙ ?"= B  HD?"=B  HD?"=  B̙ ?"=R  HG&̙ ?"=R  HG&̙ ?"=B  TDԔ?"D=B  TDԔ?"<B  HD?"<B   HD?"<B ! HD?"<B " HD?"<B # HD?"<B $ HD?"<B % HD?"< & B̙ ?"< ' N'̙ ?"E? B ( ND?"G= ) N)̙ ?"F?  * N*̙ ?"J> B + HD?";B ,@ HD?";B - HD?";B . HD?";B / HD?";B 0 HD?";2 1 B̙ ?";B 2 HD?";B 3@ HD?";B 4 HD?";B 5 HD?";B 6 HD?";B 7 HD?";2 8 B̙ ?";B 9 HD?";B :@ HD?";B ; HD?";B < HD?";B = HD?";B > HD?";2 ? B̙ ?";B @ HD?";B A@ HD?";B B HD?";B C HD?";B D HD?";B E HD?";2 F B̙ ?";B G HD?";B H@ HD?";B I HD?";B J HD?";B K HD?";B L HD?";B M HD?";B N HD?";B O HD?";B P HD?";B Q@ HD?";B R HD?";B S@ HD?";B T HD?";B U HD?";B V HD?";B W HD?";B X@ HD?";B Y HD?";B Z@ HD?";B [ HD?";B \ HD?";B ] HD?";B ^ HD?";B _@ HD?";B ` HD?";B a@ HD?";B b HD?";B c HD?";      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~B d HD?";B e HD?";B f@ HD?";B g HD?";B h HD?";B i HD?";B j HD?";R k HG&̙ ?";B l HD?"; m Nm̙ ?"I=  n Nn̙ ?"H? 2 o B̙ ?";B p@ HD?";B q HD?";B r HD?";B s HD?"C= t B̙ ?">B u HD?";B v HD?"~;B w@ HD?"};B x HD?"|;B y HD?"{;B z HD?"z;B { HD?"y;2 | B̙ ?"x;B } HD?"w;B ~@ HD?"v;B  HD?"u;B  HD?"t;B  HD?"s;B  HD?"r;B  HD?"q;B @ HD?"p;B  HD?"o;B @ HD?"n;B  HD?"m;B  HD?"l;B  HD?"k;B  HD?"j;B @ HD?"i;B  HD?"h;B @ HD?"g;B  HD?"f;B  HD?"e;B  HD?"d;B  HD?"c;B @ HD?"b;B  HD?"a;B @ HD?"`;B  HD?"_;B  HD?"^;B  HD?"];B  HD?"\;B @ HD?"[;B  HD?"Z;B  HD?"Y;B  HD?"X;B  HD?"W;R  HG&̙ ?"V;  N ̙ ?"U;  B  HD?"T;  N̙ ?"S;   B̙ ?"R;  N̙ ?"K; B  ND?"Q;2  B̙ ?"P;B @ HD?"O;B  HD?"N;B  HD?"M;B  HD?"L;  H̙ ?"z<B  HD?"y<B  HD?"x<B  HD?"w<B  HD?"v<B  HD?"u<B @ HD?"t<B  HD?"s<B  HD?"r<B  HD?"q<B  HD?"p<B  HD?"o<B  HD?"n<B @ HD?"m<B  HD?"l<  H̙ ?"k<B  HD?"j<B  HD?"i<B  HD?"h<B  HD?"g<B  HD?"f<B @ HD?"e<B  HD?"d<B  HD?"c<B  HD?"b<B  HD?"a<B  HD?"`<B  HD?"_<B @ HD?"^<B  HD?"]<B  ZDV?"\<  H̙ ?"[<B  HD?"Z<B  HD?"Y<B  HD?"X<B  HD?"W<B  HD?"V<B @ HD?"U<B  HD?"T<B  HD?"S<B  HD?"R<B  HD?"Q<B  HD?"P<B  HD?"O<B @ HD?"N<B  HD?"M<B  HD?"L<B @ HD?"K<B  HD?"J<B  HD?"I<B  HD?"H<B  HD?"G<2  B̙ ?"F<B  HD?"E<B  HD?"D<B  HD?"C<B  HD?"B<B  HD?"A<B  HD?"@<B  HD?"?<B @ HD?"><B  HD?"=<B  HD?"<<B  HD?";<2  B̙ ?":<B  HD?"9<B  HD?"8<B  HD?"7<B  HD?"6<B @ HD?"5<B  HD?"4<B  HD?"3<B  HD?"2<B  HD?"1<2  B̙ ?"0<B  HD?"/<B @ HD?".<B  HD?"-<B  HD?",<B  HD?"+<B  HD?"*<B @ HD?")<B  HD?"(<B  HD?"'<B  HD?"&<B  HD?"%<B  HD?"$<B  HD?"#<B  ZD8c?""<B  ZD8c?"!<  N'̙ ?" < 'B  ND?"<  N&̙ ?"|< &B @ ND?";B  ND?";B   ND?";   N% ̙ ?"; %   H̙ ?";B   HD?";B   HD?";B  HD?";B  HD?";B  HD?";B @ HD?";B  HD?";B  HD?";B  HD?";B  HD?";B  HD?";B  HD?";B @ HD?" ;B  HD?" ;  H̙ ?" ;B  HD?" ;B  HD?" ;B  HD?";B  HD?";B  HD?";B  @ HD?";B ! HD?";B " HD?";B # HD?";B $ HD?";B % HD?";B & HD?";B '@ HD?";B ( HD?";B ) ZDV?"; * H̙ ?";B + HD?";B , HD?";B - HD?";B . HD?";B / HD?";B 0@ HD?";B 1 HD?";B 2 HD?";B 3 HD?";B 4 HD?";B 5 HD?";B 6 HD?";B 7@ HD?";B 8 HD?";B 9 HD?";B :@ HD?";B ; HD?";B < HD?";B = HD?";B > HD?";2 ? B̙ ?";B @ HD?";B A HD?";B B HD?";B C HD?";B D HD?";B E HD?";B F HD?";B G@ HD?";B H HD?";B I HD?";B J HD?";2 K B̙ ?";B L HD?";B M HD?";B N HD?";B O HD?";B P@ HD?";B Q HD?";B R HD?";B S HD?";B T HD?";2 U B̙ ?";B V HD?";B W@ HD?";B X HD?";B Y HD?";B Z HD?";B [ HD?";B \@ HD?";B ] HD?";B ^ HD?";B _ HD?";B ` HD?";B a HD?";B b HD?";B c ZD8c?";B d ZD8c?";B e ZD8c?";B f ZD8c?";B g ND?";B h@ ND?"; i N$i̙ ?"; $ j N#j̙ ?"}; #B k@ ND?": l B̙ ?"{<B m HD?";B n HD?";B o HD?";2 p B̙ ?";B q HD?"; r H̙ ?";B s HD?";B t HD?";B u HD?";B v HD?";B w HD?";B x@ HD?";B y HD?";B z HD?";B { HD?";B | HD?";B } HD?";B ~ HD?";B @ HD?";B  HD?";  H̙ ?";B  HD?";B  HD?";B  HD?";B  HD?";B  HD?";B @ HD?";B  HD?";B  HD?";B  HD?";B  HD?";B  HD?";B  HD?";B @ HD?";B  HD?";B  ZD>?";  H̙ ?";B  HD?";B  HD?";B  HD?";B  HD?";B  HD?";B @ HD?";B  HD?";B  HD?";B  HD?";B  HD?";B  HD?";B  HD?";B @ HD?";B  HD?";B  HD?";B @ HD?";  B̙ ?";B  ND?";B @ ND?";  N"̙ ?"; "  N!̙ ?"; !B  ND?":  B̙ ?":  B̙ ?":  B̙ ?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":  N-̙ ?": -  N,̙ ?": ,  N+̙ ?": +B @ HD?":B @ HD?":B @ HD?":B @ HD?":  N*̙ ?": *  N)̙ ?": )  N(̙ ?": (  B̙ ?"~:B  HD?"2:B  HD?"1:B  HD?"0:B  HD?"/:B  HD?".:B  HD?"-:B  HD?",:B  HD?"+:B  HD?"*:B  HD?"):B  HD?"(:B  HD?"':B  HD?"&:B  HD?"%:B  HD?"$:B  HD?"#:B  HD?"":B @ HD?"!:B  HD?" :B  HD?":B  HD?":B @ HD?":B  HD?":B @ HD?":2  B̙ ?":2  B̙ ?":B  HD?":B  ND?":B  ND?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?" :B  HD?" :B  HD?" :B  HD?" :B  HD?" :B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B @ HD?":B  HD?":B  HD?":B  HD?":B @ HD?":B  HD?":B @ HD?":2  B̙ ?":2  B̙ ?":B  HD?":B  ND?":B  ND?":B  HD?":B  HD?":B   HD?":B   HD?":B   HD?":B   HD?":B   HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B  HD?":B   HD?":B ! HD?":B " HD?":B # HD?":B $@ HD?":B % HD?":B & HD?":B ' HD?":B (@ HD?":B ) HD?":B *@ HD?":2 + B̙ ?":2 , B̙ ?":B - HD?":B . ND?":B / ND?":B 0 HD?":B 1 HD?":B 2 HD?":B 3 HD?":B 4 HD?":B 5 HD?":B 6 HD?":B 7 HD?":B 8 HD?":B 9 HD?":B : HD?":B ; HD?":B < HD?":B = HD?":B >@ HD?":B ? HD?":B @ HD?":B A@ HD?":B B@ HD?":B C HD?":B D@ HD?":B E@ HD?":B F ND?":B G ND?":B H ND?":B I HD?":B J HD?":B K HD?":B L HD?":B M HD?":B N HD?":B O HD?":B P HD?":B Q HD?": R N7R̙ ?": 7 S N6S̙ ?": 6 T N5T̙ ?": 5 U N4U̙ ?": 4 V N3V̙ ?": 3 W N2W̙ ?": 2 X N1X̙ ?": 1 Y N0Y̙ ?": 0 Z N/Z̙ ?": / [ N.[̙ ?": . \ N8\̙ ?"4: 8 ] B̙ ?"3:TB ^ c $D:r _ B̙ ?"\:2 ` B̙ ?"[:" a@ B̙ ?"Z:2 b B̙ ?"Y:B c@ HD?"X:B d@ HD?"W:B e HD?"V:2 f B̙ ?"U:B g@ HD?"T:B h HD?"S:B i HD?"R:B j@ HD?"Q:B k@ HD?"P:B l HD?"O:B m HD?"N:B n HD?"M:B o@ HD?"L:B p HD?"K:B q HD?"J:B r HD?"I:B s HD?"H:B t@ HD?"G:B u HD?"F:B v HD?"E:B w HD?"D:B x HD?"C:B y HD?"B:2 z B̙ ?"A:B {@ HD?"@:B | HD?"?:B } HD?">:B ~ HD?"=:R  HG&̙ ?"<:  N;̙ ?";: ;  N:̙ ?":: :B  HD?"9:B  HD?"8:B  HD?"7:B  HD?"6:  N9̙ ?"5: 9  N=̙ ?"_: =  N<̙ ?"^: <  B̙ ?"]:B  HD?"3B @ HD?"3B  HD?"3B  HD?"3B  HD?"3B  HD?"3B  HD?"3B @ HD?"3B  HD?"3B  HD?"3B  HD?"3B  HD?"3B @ HD?"3B @ HD?"3B  HD?"3B @ HD?"3B  HD?"3B  HD?"3B  HD?"3B  HD?"3B  HD?"3B @ HD?"3B  HD?"3B  HD?"3B  HD?"3B  HD?"3B @ HD?"3B @ HD?"3B  HD?"3B @ HD?"3B  HD?"3B  HD?"3B  HD?"3B  HD?"3B  HD?"3B @ HD?"3B  HD?"3B  HD?"3B  HD?"3B  HD?"3B @ HD?"3B @ HD?"3B  HD?"3B @ HD?"3B  HD?"3B  HD?"3B  HD?"3B  HD?"3B  HD?"3B @ HD?"3B  HD?"3B  HD?"3B  HD?"3B  HD?"3B @ HD?"~3B @ HD?"}3B  ZD8c?"|3B  ZD8c?"{3B  ZD8c?"z3B  HD?"y3B  HD?"x3B  HD?"w3B  HD?"v3B  HD?"u3R  HG&̙ ?"t3B  HD?"s3B  HD?"r3B  HD?"q3B  HD?"p3B  HD?"o3B @ HD?"n32  B̙ ?"m3B  HD?"l3  NE̙ ?"k3 E  ND̙ ?"j3 D  NC̙ ?"i3 C  NB̙ ?"h3 B  NA̙ ?"g3 AB  HD?"f3  N@̙ ?"e3 @  N?̙ ?"d3 ?  B̙ ?"c3B  ND?"b3B @ ND?"a3  N>̙ ?"`3 >H  #   ("   N  3    (2   (2  ("  N  3    (2   (2  ("   N  3    (2   ("   N  3    (2   ("   N  3  (2   ("   N  3  (2   N  3  (2   6"    H  #  (2   ("   T  C  (R @  B  3 G8HWLI N  3  (2   ("   T  C  H  #  N  S A F?B S  ?+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d`dfd@fAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf[f\f]f^f_f`fafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzf{f|f}f~ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffggggggggg g g g g ggggggggggggggggggg g!g"g#g$g%g&g'g(g)g*g+g,g-g.g/g0g1g2g3g4g5g6g7g8g9g:g;gg?g@gAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg[g\g]g^g_g`gagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzg{g|g}g~ggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhkkkkkkkkkkkkkkkkkk k!k"k#k$k%k&k'k(k)k*k+k,k-k.k/k0k1k2k3k4k5k6k7k8k9k:k;kk?k@kAkBkCkDkEkFkGkKkqlrlsltlulvlwlxlylzl{l|l}l~llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmm m m m m mmmmmmmmmmmmmmmmmmm m!m"m#m$m%m&m'm(m)m*m+m,m-m.m/m0m1m3m>mnnnnnnnnnnnnnnnnnnnnnnnnnno o!o"o#o$o%o&o'o(o)o*o+o,o-o.o/o0o1o2o3o4o5o6o7o8o9o:o;oo?o@oAoBoCoDoEoFoGoHoIoJoKoLoMoNoOoPoQoRoSoToUoVoWoXoYoZo[o\o]o^o_o`oaobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozo{o|o}o~oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooogphpipjpkplpmpnpopppqprpsptpupvpwpxpypzp{p|p}p~ppppppppppppppppppppqqqqqqqqqqqqqqrrrrrrrrr r r r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;rr?r@rArBrCrDrErFr]y "%'),-/23589<>?EFJLMPRSVY\^0^2kt] t\T{ftZ.tYtX& l& tW& & tV  tUf tTf4ftS4ftR~ tQvtP.tO$tN$~ $tM$~ ~ tL& ~ tK& tJ$tI$v$tH$vvtGvtEn vtD.& tC$ V tB|  tA| N Nt@|  t?|  t> t= t<V Vt; t:  vt9  t8  vt7 | t6  Ft5  t4 V Ft3 | Vt2 ^ t1 ^ Nt0  t/ N| t. . t- . t,  t+ | t*4. vt_ 6t[TPtF(ptt@ ,tQF[tpHqtpq thMtzt`t(01t(t(@At(t(tP t`pqt(t(pqt(t(t(`att`()t(t(()t(t(89t(tt`t(XYt(t(hit(t(txHt`  t(t(  t( ! t(  t(t0 t`P Q t(  t(P Q t(  t(` a t(@ A t t` t(t( t(t(t(tpt`t(89t(t(HIt(t(tX(tP t Tt  t  tttt  tthittxyt x yt0 Xt  t ( )t()tt89tt tttt  t0 Ht~  t}  t|t{89tztyHItxtwtvtu()tt ( )ts0 tr ` atqPQtpto`atntm  tl0 ptk  tj  ti  th` a tgtfpqte  td@ A tc  tbP Q ta P  Q t`0 0 t0#tXt{ h ttLL$(#tr!!htq!#tp!x#hto(##tlV|tkB8(tj H!8ti9HIth<Hd ItgEI!tfh]itehiXtd X HtcX YtbXta t`  t_hit^Xt]XHt\XYt[XtZtYtXihEitWPQXtVXHtUXYtTXtStRtQhuitP ?! tO ? tN?tMH?ItLXtKXHtJXYtIXtHtGtFP  tE tD01tCI%tB@ AtAI % t@0 1 t?P  t>`  t=0 1 t<I % t;@` A t:I` %a t90p1` t8PCt7t601pt5I%t4@At3I%t20(1t1PHt08t/081(t.I8%9t-@A8t,I%t+01t&[ H t%t$ t#pt"pqt!pt tt(t*P@t*P @ t t t  t Jt3 tpqttI8 9t`t` Pt!`at`t!t  t (t  t !t (t!()t8 (tX tHtH8tHItHttt8X tHtH8t1H It()Ht1 tt3 tpqttI8 9t` t` P t!` a t` t!t t(t t!t(t!()t8 (tX tHtH8tHItHttt8X tHtH8t1H It()Ht1 tts#$tLst'L$@t)$V t(<tnX ~-&^tm)#t*9 ut4x\ t((t8t8|(t|t|(t  t tDt <ttL` ,P t<p<` tLp<pt ppt ((tTDtDDtptttt(ttttttptttt(t| l tl l t  pt  t  t  t ( t t Hl Ht  t  pt  t  t~  t} ( t|l H t{  8tzL8L(ty\ 8L8tx\ \ 8tw\ LtvLLtuLLtXXts!$ tc c tc H!c t$3 tkkt@tX KH!KtxKhKtX X KthhKthX th[X [t[t KKt@K0Kt  Kt00Kt0 t0[ [t[t@kH! t(@tHK8KthKXKtHHKtXXKtXHtX[H[t[tKKt0 K KtKt  Kt t [[t  [t0 k8 t K KtK Kt~  Kt}  Kt|  t{ [ [tzP P [tyKKtxKKtwKtvKtutt[[ts[trk tqH(tpkHtoKtnktmKtQHtkl <ti%thLtgdd#tf\   te\ tdd#md#tc|m|tbd#d#ta||t`d#d#t_T$T$t^d##t]##t\d##t[||tZtY|tXtW|tV||tU$D%]tT$m$tSt"}$}tRd#T$tQT$mT$tPd#mT$mtOd#}d#mtNd#d#mtMd#d#tLd#d#tK<MtJ,,tILLtH,d#tG|LtFLM,MtEL,tD<<tC||mtB}}tA4D%t@||t?]t>mt=||t<|t;mt:m|mt9|}|mt8!d#t7 t6!!t5  t4 !t3 ! t2 ! ! t1L<t0|\t/LLt.\\t-\Lt,\ L t+ t*lt"Ut)t(! d# t'  t&! ! t%  t$ ! t# % !% t" ! !% t!L < t | \ tL L t\ \ t\ L t\% L% t % tl t"mt!d#t t!u!t u t u!ut !t ! !tL<t|\tLuLt\u\t\uLut \Lt t lt"E t  t  t]tD t\\Mt|at m tmt  tt  t  t | t| | t | tt,,tttttl ]tl ml t }l }t  t m t m mt } mt  mt  t  tdMttt ttMMtttmt,}}t tt<]tmtt,t,m,t,mmt}mt$  tD4t$ $ t44t4$ t4 $ t tttttt  ttt t  UtTTt$    tD 4 t$ $  t4 4 t4 $ t4% $ % t % t  t  t  t  t  t% % tt t% t   mt$  tD4t$ u$ t4u4t4u$ ut4$ ttttututuuttttt  E tl%t| `tj<tyGt^ y yt  tkt& t t MMt tM Mt?t ( t@ e t5  tHHttXXtt0 0 t t@ @ t tt@ @ t8t t 85 t[X  "tZ$  tYhtX\ htWtVt3tUl H+tTH tSxY(tR tQHtPthttO   tN H  tMtH HtL88tK8 tJH tItHt tH h X tG$X$HtF X HtE4LtD4tC44tB4tAppt@pt?l t>lp pt= p t<4 t;4t:l  t9t8x xt7 t6xt5 x t4xt3  t2pTpt1pt0LTt/TT8t.LL8t-,tt,tt+,t*T@D@t)TDt(dTt'dTt&\ @L@t%\ Lt$L<t#L<t"ddt!DD@t T@Tt@tTpTtTTpttT8Ttt  @tL@Lt\ \ @tLpLtLLpt<<tL8Lt  t  tt4h$ht4$t ht $h$t 44ht $ $t d` ` t` td l tll(tdd(tDttDtl0 \0 tl \ t|lt|ltt0 d0 tt d tdTtdTt||t\ \0 tl0 l t 0 tl` l tll` ttl(ltt 0 td0 d tt t0 td` d tdd` tTTtd(dt<  tt d t4$ t h ht  t$ $ ht h t  ht t ` ` t  ` t t  (t(t t l t4t 0 0 t  t  t  t0 0 t  ttt  t 0 t 0 t< <0 t ` t  ` tl l t ( t44td d0 t0  t 0 t`  t` tt(t]Ld#"t\4HtZ tI  thI I t!thtHqo!tHaott~t}`t|  t{!(!tz(!ty9  tx1tw tv  tu9  tt9 9 ts9 trtqtp1to11tn1tmI I tlyI tk(ypytjP yytippthp ytgp tf yP te 1 td tc tbhI taY t`hyt_txt.tst0  ta a ta a tq!1 t! t`  t txPytIt IR tyN)t y )txtx!t t 11t1t t1t 1t t  tHtHt t t Ht Ht Ht@909t@i0it)t)t))t@@)tttYtYItYYt@@Yttt99tiit)tp)pt)p)t)tptpptYtpYpItYpYtYtptppt 9 9t i it` ` )tp)ptp)` )t  )tp` tppt` ` YtpYpItpY` Yt Ytp` tppt99tiit)t)t))t)tttYtYItYYtYtttpHm4 a,t UtP) tI4#t t\ xtv t~4 t ~tBzt$ 4t >Zt@ tpt D`t$ tp%t Wst$ dtp7dt t t4 t h,t tt T,tT$ttx.t.tt$$ \t t6RtZ _Toc491831550 _Toc491831827 _Toc491831868 _Toc491835377 _Toc491835452 _Toc491835656 _Hlt10272863 _Hlt10272864 _Hlt10273468 _Hlt10273470 _Hlt9861784 _Hlt9861796 _Toc10272828_WArPE_Processor_Model _Toc491831558 _Toc491831835 _Toc491831876 _Toc491835385 _Toc491835459 _Toc491835663 _Toc10272829 _Toc10272830 _Hlt9863190 _Hlt9926160 _Hlt9926778 _Toc10273448 _Toc10272831 _Hlt9926162 _Toc10273449 _Hlt9865733 _Toc10272832 _Toc10273450 _Hlt9865674 _Toc10273451 _Toc10272833 _Toc10273452 _Toc491831569 _Toc491831846 _Toc491831887 _Toc491835394 _Toc491835468 _Toc491835672 _Hlt6778965 _Hlt6778995 _Toc10272834 _Toc10272835 _Toc491831560 _Toc491831837 _Toc491831878 _Toc491831561 _Toc491831838 _Toc491831879 _Toc10272836 _Toc491831570 _Toc491831847 _Toc491831888 _Toc491835395 _Toc491835469 _Toc491835673 _Toc10272837 _Toc491837458 _Hlt9857785 _Hlt9857789 _Hlt9857980 _Hlt9860217 _Hlt9860229 _Hlt9863082 _Hlt9863130 _Toc10273453 _Toc491831571 _Toc491831848 _Toc491831889 _Toc491835396 _Toc491835470 _Toc491835674 _Toc10272838 _Toc491837459 _Hlt9860239 _Toc10273454 _Toc491837460 _Hlt9860211 _Hlt9860294 _Toc10273455 _Toc491837461 _Hlt6824466 _Hlt6824477 _Hlt6824531 _Hlt6824573 _Hlt6824577 _Hlt6824596 _Hlt6824621 _Hlt6824626 _Hlt6824660 _Hlt6824708 _Hlt6824720 _Hlt6824634 _Toc10273456 _Toc491831572 _Toc491831849 _Toc491831890 _Toc491835397 _Toc491835471 _Toc491835675 _Toc10272839 _Toc491837462 _Hlt6824449 _Hlt9857794 _Hlt9862916 _Toc10273457 _Toc491831573 _Toc491831850 _Toc491831891 _Toc491835398 _Toc491835472 _Toc491835676 _Toc10272840 _Toc491837463 _Hlt9841627 _Hlt9865470 _Hlt10272868 _Toc10273458 _Toc491831574 _Toc491831851 _Toc491831892 _Toc491835399 _Toc491835473 _Toc491835677 _Toc10272841 _Toc491837464 _Toc10273459 _Toc491837465 _Hlt9858031 _Hlt9858055 _Toc10273460 _Toc491831575 _Toc491831852 _Toc491831893 _Toc491835400 _Toc491835474 _Toc491835678 _Toc10272842 _Toc491837466 _Hlt6824215 _Hlt6824765 _Hlt9858059 _Hlt9860297 _Hlt9860340 _Toc10273461 _Toc491831576 _Toc491831853 _Toc491831894 _Toc491835401 _Toc491835475 _Toc491835679 _Hlt6779136 _Hlt6779139 _Hlt6779146 _Hlt6779158 _Hlt6779167 _Hlt6779172 _Toc10272843 _Toc491831577 _Toc491831854 _Toc491831895 _Toc491835402 _Toc491835476 _Toc491835680 _Hlt6779006 _Toc10272844 _Toc491837467 _Hlt6823770 _Hlt6823775 _Hlt6823911 _Hlt6823984 _Hlt6824616 _Hlt6824828 _Hlt6824831 _Hlt6824835 _Hlt6824875 _Hlt6824879 _Hlt6824886 _Hlt9841633 _Hlt9841646 _Hlt9860345 _Hlt9860407 _Hlt9860413 _Hlt9865622 _Hlt9865631 _Toc10273462 _Hlt9860209 _Toc10272845 _Toc10273463 _Toc10272846 _Toc10273464 _Hlt10273469 _Toc491831551 _Toc491831828 _Toc491831869 _Toc491835378 _Toc491835453 _Toc491835657 _Hlt9841272 _Hlt9841280 _Hlt9841284 _Hlt9841287 _Hlt9841290 _Hlt9841316 _Hlt9841326 _Hlt9841367 _Hlt9841369 _Hlt9841397 _Hlt9841411 _Hlt9841427 _Hlt9841431 _Hlt9841442 _Hlt9841446 _Hlt9841451 _Hlt9841458 _Hlt9841476 _Hlt9841484 _Hlt9841489 _Toc10272847 _Toc491831552 _Toc491831829 _Toc491831870 _Toc491835379 _Toc491831553 _Toc491831830 _Toc491831871 _Toc491835380 _Toc491835454 _Toc491835658 _Hlt9841228 _Toc10272848 _Toc491831554 _Toc491831831 _Toc491831872 _Toc491835381 _Toc491835455 _Toc491835659 _Toc10272849 _Toc491831555 _Toc491831832 _Toc491831873 _Toc491835382 _Toc491835456 _Toc491835660_Basic_configuration_file _Toc10272850 _Toc491831556 _To      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}c491831833 _Toc491831874 _Toc491835383 _Toc491835457 _Toc491835661_Process_Technology_Data _Toc10272851 _Toc491831557 _Toc491831834 _Toc491831875 _Toc491835384 _Toc491835458 _Toc491835662 _Output_file _Toc10272852 _Toc491837455 _Hlt9842317 _Hlt9842322 _Hlt9842685 _Hlt9842689 _Hlt9842707 _Hlt9855845 _Hlt9855905 _Hlt9855995 _Hlt9856002 _Hlt9856027 _Hlt9856226 _Hlt9857859 _Hlt9857997 _Hlt9860213 _Hlt10272866 _Toc10273465 _Hlt9858285 _Toc491837456 _Hlt9842693 _Hlt9855784 _Hlt9855813 _Hlt9855840 _Hlt9855858 _Hlt9855862 _Hlt9857901 _Toc10273466 _Toc491837457 _Hlt9842699 _Hlt9860215 _Hlt9860430 _Toc10273467 _Hlt10273471 _Toc10272853 _Toc491831563 _Toc491831840 _Toc491831881 _Toc491835388 _Toc491835462 _Toc491835666 _Toc10272854 _Toc491831564 _Toc491831841 _Toc491831882 _Toc491835389 _Toc491835463 _Toc491835667 _Toc10272855 _Toc491831565 _Toc491831842 _Toc491831883 _Toc491835390 _Toc491835464 _Toc491835668 _Toc10272856 _Toc491831566 _Toc491831843 _Toc491831884 _Toc491835391 _Toc491835465 _Toc491835669 _Toc10272857 _Toc491831567 _Toc491831844 _Toc491831885 _Toc491835392 _Toc491835466 _Toc491835670 _Toc10272858 _Toc491831568 _Toc491831845 _Toc491831886 _Toc491835393 _Toc491835467 _Toc491835671 _Toc10272859 _Toc10272860 _Hlt9926370 _Toc10272861 _Hlt9841611 _Toc10272862>Z #-$.$.$.$%,,(/2!:<<w@oMMMMMMMMMMPPPPRRRaYbbbbbbbpdpdpdpdpdpdpdpdpddddddddfffgggghhhhhhhhhhhhhh i i i i i i iMkMkMkMkPkfkfkfkfkfkfkfkGmGmGmGmGm[m[m[m[m[m[m[mnnoooooooooooppppppppppppppppppppqqqqqqqqNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrkrkrayO~ ͎͎͎͎͎͎͎ԏԏԏԏԏԏԏԏƟƟƟƟƟƟƟƟ7xxxxxxxxx#qqqqqqrsssssstr r @#@#0 @@@@@@ @@@@@ @!"#&' ՜.+,D՜.+,< hp  Intel Corporation_T ~. 2 Title| 8@ _PID_HLINKSA4J6I _Toc102734676C _Toc102734666= _Toc1027346567 _Toc1027346461 _Toc102734636+ _Toc102734626% _Toc102734616 _Toc102734605 _Toc102734595 _Toc102734585  _Toc102734575 _Toc102734565 _Toc102734555 _Toc102734545 _Toc102734535 _Toc102734525 _Toc102734515 _Toc102734504 _Toc102734494 _Toc102734487 _Toc102728627 _Toc102728617 _Toc102728604 _Toc102728594 _Toc102728584 _Toc102728574 _Toc102728564 _Toc102728554 _Toc102728544 _Toc102728534 _Toc102728524 _Toc102728514 _Toc102728505 _Toc102728495z _Toc102728485t _Toc102728475n _Toc102728465h _Toc102728455b _Toc102728445\ _Toc102728435V _Toc102728425P _Toc102728415J _Toc102728402D _Toc102728392> _Toc1027283828 _Toc1027283722 _Toc102728362, _Toc102728352& _Toc102728342  _Toc102728332 _Toc102728322 _Toc102728312 _Toc102728303 _Toc102728293 _Toc10272828()*+$@%@,-./0123456789:;C<@=@>@?@@@A@B@DEFGHIJKML@NQO@P@R_S@T@U@V@W@X@Y@Z@[@\@]@^`abcdefgkh@i@j@lmnopqrswt@u@v@xyz{|}~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@"@@@@@ @!@#($@%@&@)'@*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV@WX@Y?[1#-$.$.$l$%,-(/2f:<<@MMMMMMMMMMPRRRSSSuYbbbbbbbpdpdpdpdpdpdpddddddddddfffgggghhhhhhhhhhhhiiiiiiiiiMkMkMkekekmkmkmkmkmkmkmkGmGmGmYmYmjmjmjmjmjmjmjmoooooopppppppppppppppppppppppppppqqqqqqqqNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrhrhrkrvr|ym~ԏƟ667xxxxxxx 1yyyyyyyzzzzzzzr z @#E#0&&))))**,*3*{**++i+p+++++++++++, ,<,J,o,|,44Y7d77777778,888889#9<9G9i9q9==B>M>??{??[A`AAAGBNB_BfB&F)F1F7F>FAF_GiGGGyHHHHHHII I$I9I@IAIEIFIPI^IeIfIjIIIIIIIIII J,J4JRJXJYJ\J{J~JJJJJJJJJJJJJJJJJKKKK K&KEKKKLKOKcKmKnKqKrKxKKKKKKKKKKKKKKKLLLLLL8L>L?LBLbLeLLLLLLLLLLLLLM M MM(M-MJMNMXX^^f_j_____5`@`iiojjfkmkskzkkkPlWlRmYmmmmmnn~~xEKɆĉԉJXyʒӒ !29LSfk|Ɠ͓*1DIǔSZmrajǖΖ kp38v}Ƙ5<ՙڙT[58GJY\kvݝQTswġӡ֡ ehģǣ>@FIӥ٥ȧ8?  58nuRUloLP}.2[_lsV\ TZ>D(-v{KN57/6HN_ev/5ry"#)JVcr| '9HRdn)3W`Yejl)2lv!+CL &:@:=KN\_t{_gx{sS]'S\y iotzPVi}4ATa)14@`kGTcjCMET5 < D J       ` g }    ` f       Y_BHz 03gj"%[^-0X[`j%/,3]dz+2<@AKY`jn)4amGK(.>Aorsy   2<LOPVu{,/DN`cdj;AQTnt#^bA!G!!!" "*M+c+g+{+++++++++++ ,,),6,E,S,b,n,},,,,,,,,,,,-n----...../Q/Z/f/o/////////////////////000 00))))))**4*:*Y*\*w*z*******++%+(+J+M+q+u++++++++,!,%,..e7n7777777 88/868a8h888888899H9K9r9u9;;AAD%DFF=G@G[G^G~GGGGGGGG HH0H3HVHYHuHxHHHHHHHII I$IAIEIfIjIIIIIII JJ5J8JYJ\J{J~JJJJJJJKKLKOKnKqKKKKKKKLL?LBLbLeLLLLLLL MM.M8MOMYMRR__5`@````aaaiijjnnY|c|ӇAɉs}K ly|&őʑZ^ajǖʖkn36vy˜58ՙؙTW|~U.QT _c f)*ڥݥ[^ܦRVɧͧ8?@D067:'-.2$%)  #$(" # !$ #!"& µƵɵ'.25]dhkɶжԶ׶ 58:=zķʷ˷Ϸӷٷ #$(17>DEIMSZ`aenu|Ƹ͸ӸԸظ9=1;38мּ$lsV\@Fܿ*0t} gr TZ>D(-v{`fKN6= 'nuF^HNvzry".2CI\bu{28KQgm"(PV}Yflp DP1:= swSXNR#(CXSWtzip=BT[ 4:`fGOcjDM@G#'INMU-L |  5         9 ? ` g }        " ( E K l r         4 : ` f ~        ,1Y_ ,2U[(.]c47kn&)_b14\_!$TWDHuy<@jn DM},3ry CF >Aor  LO,/`cQTBL # #*M+Y+g+t+++++++++++ ,,(,0,D,M,c,h,|,,,,,,,,,,,, --n-q-----B.F.G.L........../ ///"/$/+/K/O/[/d/////// 000 0"0$0&0)0+0.000200::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<[Ba I h  5 T 3 R  1 T s ?^,KUti)HGf'a***++++++$+%+-+7+B+K+K+M+f+g+~++++++++,,,,,,,,,,m-n-------------..!.".*.+.3.4.X.Y.j.k............./ / / ///#/$/,/-/A/B/J/K/P/Q/e/f/p/q/u/v/{/|///////////////////////////////////////// 0 00000!0"0%0&0*0+0/0003040506060t0t0u0v0v0w0w0x0x0y0y0z0z0{0{0|0|0}0~0~000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000nidhi+C:\windows\Desktop\WArPE\report_new_jim.docnidhiRC:\WINDOWS\Application Data\Microsoft\Word\AutoRecovery save of report_new_jim.asdnidhiRC:\WINDOWS\Application Data\Microsoft\Word\AutoRecovery save of report_new_jim.asdnidhi+C:\windows\Desktop\WArPE\report_new_jim.docnidhi+C:\windows\Desktop\WArPE\report_new_jim.docnidhi+C:\windows\Desktop\WArPE\report_new_jim.docnidhi+C:\windows\Desktop\WArPE\report_new_jim.docnidhi+C:\windows\Desktop\WArPE\report_new_jim.docnidhiRC:\WINDOWS\Application Data\Microsoft\Word\AutoRecovery save of report_new_jim.asdnidhi+C:\windows\Desktop\WArPE\report_new_jim.doc#e5tT(2O5%^ <|9:5 !15vN?GU|/ HJ7E  {1%lH6%l ,Tuq-\*wW5^ <C<[?c,K@(C@^ <g@v\.L8Q4*L>N|eR3JXȠX8F}Z8>[Z]}"^s0`lH,k: PlV!u^ <XZw>^6^Gy-zujKjhh^h`.h88^8`.h^`.h L ^ `L.h  ^ `.hxx^x`.hHLH^H`L.h^`.h^`.hL^`L.h hh^h`OJQJo(XX^X`o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... ^`o(........hh^h`5CJOJQJ^Jo(.0^`05CJOJQJ^Jo(..0^`05CJOJQJ^Jo(...88^8`5CJOJQJ^Jo(.... `^``5CJOJQJ^Jo( ..... `^``5CJOJQJ^Jo( ...... ^`5CJOJQJ^Jo(....... ^`5CJOJQJ^Jo(........ pp^p`5CJOJQJ^Jo(.........h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.``^``o(..808^8`0o(...808^8`0o(.... ^`o( ..... ^`o( ...... `^``o(....... `^``o(........ pp^p`o(......... ^` o( ^` o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... ^`o(........h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.h| L| ^| `L.hLL^L`.h^`.hL^`L.h^`.h^`.h\L\^\`L.hh^h`)^`)88^8`)^`()^`()pp^p`()  ^ `.@ @ ^@ `.  ^ `.@@^@`o(0^`0o(.0^`0o(..88^8`o(... 88^8`o( .... `^``o( ..... ^`o( ...... ^`o(....... pp^p`o(........P^`P@@^@`.0^`0..``^``... ^` .... ^` ..... ^` ...... `^``....... 00^0`........ ^` 5CJOJQJ^Jo(0^`05CJOJQJ^Jo(.0^`05CJOJQJ^Jo(..88^8`5CJOJQJ^Jo(... 88^8`5CJOJQJ^Jo( .... `^``5CJOJQJ^Jo( ..... ^`5CJOJQJ^Jo( ...... ^`5CJOJQJ^Jo(....... pp^p`5CJOJQJ^Jo(........h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.XX^X`o(XX^X`o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... ^`o(........0^`0o(.00^`0o(.p0p^p`0o(..  ^ `o(... `^``o( .... ^`o( ..... ^`o( ......   ^ `o(....... X (X ^X `(o(........^`o()^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.XX^X`o(XX^X`o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... ^`o(........^`o( ^`o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... ^`o(........h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(^`o()^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h^`.x^`xo(.808^8`0o(..808^8`0o(... ^`o( .... ^`o( ..... `^``o( ...... `^``o(....... pp^p`o(........0^`0o(.00^`0o(.p0p^p`0o(..  ^ `o(... `^``o( .... ^`o( ..... ^`o( ......   ^ `o(....... X (X ^X `(o(........0^`0o(.00^`0o(.p0p^p`0o(..@ 0@ ^@ `0o(... xx^x`o( .... HH^H`o( ..... `^``o( ...... P`P^P``o(....... ^`o(........@@^@`o(0^`0o(.0^`0o(..88^8`o(... 88^8`o( .... `^``o( ..... ^`o( ...... ^`o(....... pp^p`o(........@@^@`o(0^`0o(.0^`0o(..88^8`o(... 88^8`o( .... `^``o( ..... ^`o( ...... ^`o(....... pp^p`o(........hP^`Ph^`.h808^8`0..h^`... hXX^X` .... h^` ..... hxx^x` ...... h`^``....... h^`........ ^` o( ^` o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... ^`o(........@@^@`o(0^`0o(.0^`0o(..88^8`o(... 88^8`o( .... `^``o( ..... ^`o( ...... ^`o(....... pp^p`o(........hhh^h`.h88^8`.hL^`L.h  ^ `.h  ^ `.hxLx^x`L.hHH^H`.h^`.hL^`L.h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(XX^X`o(XX^X`o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... ^`o(........h^`o()P^`Po(..0 ^0`o(...(x ^(`xo(....  x^ `o( .....  XH^ `Xo( ...... ^`o(....... 8^`8o(........ H`^H``o(.........h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo($uq-wW5jKj Pl!u5%C@7E vN]}"^/ HtT(!1G|9:,k^Gy5 >N0`.L{1%XF}Zg@JX|eRC<[?,K@4*L>[6%XZwXZwi<{ ! `hp#$                                                                                           w                                             )))))))))))****)***,*4*O*P*R*Y*m*n*p*w****************++++%+?+@+C+J+e+f+i+q+++++++++++++++++,,,!,8,9,<,L,k,l,o,},,,,,,,7$797U7V7Y7e7}7~77777777777778 8888/8R8S8V8a888888888888899998999<9H9e9f9i9r999999999999: :!:FGG3G4G6G=GQGRGTG[GsGtGwG~GGGGGGGGGGGGGHHH H%H&H)H0HKHLHOHVHjHkHnHuHHHHHHHHHHHHHHHHIIII I5I6I9IAIZI[I^IfIIIIIIIIIIIIIIII J(J)J,J5JNJOJRJYJlJmJpJ{JJJJJJJJJJJJJ KKKKAKBKEKLK_K`KcKnKKKKKKKKKKKKKLLLL4L5L8L?LXLYL\LbLLLLLLLLLLLLLMMM M$M%M(M.MFMGMJMOMnMoMMMMPPuY [^åĥťƥǥȥɥʥ˥̥ͥΥϥХѥҥӥڥ  )/5>DJST[kmotzŦ˦Ԧզܦ  &,5;AJKRWY[`fotzɧΧЧҧקݧ "(.78@EGINT]bhqv{ƨȨʨϨըި  &/07GIKPV_djsx}Ʃ̩թک&'.357<BKPV_dirx~ê̪Ѫת%*,.39BGMV[`iou~ë̫ѫ֫߫ $&(-3<AGPUZciox~ŬˬԬ٬ެ-/16<EJPY^clrx­˭Э֭߭ $)+-28AFLUZ_hnt}®Ǯ֮ͮۮ +-/4:CHNW\ajpvůʯЯٯޯ /138>GLR[`entzȰͰӰܰ  0249?HMS\afou{ɱαԱݱ !135:@INT]bgpv|ɲβԲݲ  0249?HMS\afou{ɳγԳݳ "')+06?DJSX]flr{ɴδӴܴ $*38>GLQZ`fou{Ƶʵ̵εҵյصڵܵ޵  "$&'268:>ADFHJLNPRTVXZ\]hlnptwz|~¶ĶƶȶɶԶضڶܶ  "$&(*,.0245:>@BFILNPRTVXZ\^`bdefghijklmnopqrstuvwxy·ķ˷зҷڷܷ޷ $)*+,-./08:<>EJLTVXZafghijklmvxz|Ǹɸ˸͸Ըٸڸ۸ܸݸ޸߸ 9¹ù)*Z[GHwx|                       - 6 7 9 @ T ] ^ ` h q z { }                    " ) = A B E L _ h i l s                     , 0 1 4 ; S \ ] ` g                    $(),3QUVY`} $(),3HQRU\s|}(?@BI]wxz!4NOQXk&ABEL_stw~%1EFIP\tux !9:=DTnory(),4DYZ]eu '(+3<UVYaj %&)5D]^an},OPS^r #+C`adl $%(/>QRU`o ./2=Lqru|,@ADO`78;BQjknu$BZ[^c , - 0 > Q o p s            !!=!>!A!H!a!|!}!!!!!!!!!!!" "&"L"M"0@**ܖd**L0P@PPPD@PPX@UnknownG:Times New Roman5Symbol3& :ArialG MS Mincho-3 fg?5 :Courier New;Wingdings"qh efe&me/ ?+G~ G!>0d. 2Q2adhodapknidhi  FMicrosoft Word Document MSWordDocWord.Document.89q