OpenCores
URL https://opencores.org/ocsvn/gpio/gpio/trunk

Subversion Repositories gpio

[/] [gpio/] [trunk/] [doc/] [src/] [gpio_spec.doc] - Diff between revs 56 and 65

Only display areas with differences | Details | Blame | View Log

Rev 56 Rev 65
ࡱ>      r5@       nbjbj22   |yXXleBBB8z~= vl^ʦʦ"
ࡱ>      r5@       nbjbj22   |yXXleBBB8z~= vl^ʦʦ"
0,\}?$]R
0,\}?$]R
ʦ2nnnʦ:}n}nDnjRR(BR)&Y$<=OaaLaT"n.Bdn>|>




GPIO IP Core
Specification



Authors:
 Damjan Lampret
 HYPERLINK "mailto:lampret@opencores.org" lampret@opencores.org
Goran Djakovic
 HYPERLINK "mailto:goran.djakovic@flextronics.si" goran.djakovic@flextronics.si






Rev. 1.1
December 17, 2003




















This page has been intentionally left blank.Revision History

Rev.DateAuthorDescription0.14/2/01Damjan LampretFirst Draft0.220/2/01Damjan LampretCompliance with WISHBONE Rev.B10.329/10/01Damjan LampretUpdated names of ports and RGPIO_CTRL. Added additional parameters to Appendix A.1.025/12/01Damjan LampretAdded RGPIO_INTS and renamed RGPIO_CTRL[INT] into RGPIO_CTRL[INTS]. Updated Appendix Core Configuration.1.117/12/03Goran
DjakovicAdded RGPIO_ECLK and RGPIO_NEC, modified RGPIO_CTRLTable Of Contents

 TOC \o "2-2" \h \z \t "Headeing 1 Name,1"  HYPERLINK \l "_Toc59430581" Introduction	 PAGEREF _Toc59430581 \h 7
 HYPERLINK \l "_Toc59430582" Features	 PAGEREF _Toc59430582 \h 7
 HYPERLINK \l "_Toc59430583" Architecture	 PAGEREF _Toc59430583 \h 8
 HYPERLINK \l "_Toc59430584" Clocks	 PAGEREF _Toc59430584 \h 8
 HYPERLINK \l "_Toc59430585" WISHBONE Interface	 PAGEREF _Toc59430585 \h 9
 HYPERLINK \l "_Toc59430586" GPIO Registers	 PAGEREF _Toc59430586 \h 9
 HYPERLINK \l "_Toc59430587" Auxiliary Inputs	 PAGEREF _Toc59430587 \h 9
 HYPERLINK \l "_Toc59430588" Interface to External I/O Cells and Pads	 PAGEREF _Toc59430588 \h 9
 HYPERLINK \l "_Toc59430589" Operation	 PAGEREF _Toc59430589 \h 10
 HYPERLINK \l "_Toc59430590" Hardware Reset	 PAGEREF _Toc59430590 \h 11
 HYPERLINK \l "_Toc59430591" General-Purpose I/O as Polled Input	 PAGEREF _Toc59430591 \h 11
 HYPERLINK \l "_Toc59430592" General-Purpose I/O as Input in Interrupt Mode	 PAGEREF _Toc59430592 \h 11
 HYPERLINK \l "_Toc59430593" General-Purpose I/O as Output	 PAGEREF _Toc59430593 \h 12
 HYPERLINK \l "_Toc59430594" General-Purpose I/O as Bi-Directional I/O	 PAGEREF _Toc59430594 \h 12
 HYPERLINK \l "_Toc59430595" General-Purpose I/O driven by Auxiliary Input	 PAGEREF _Toc59430595 \h 12
 HYPERLINK \l "_Toc59430596" Registers	 PAGEREF _Toc59430596 \h 13
 HYPERLINK \l "_Toc59430597" Registers list	 PAGEREF _Toc59430597 \h 13
 HYPERLINK \l "_Toc59430598" Register RGPIO_IN description	 PAGEREF _Toc59430598 \h 13
 HYPERLINK \l "_Toc59430599" Register RGPIO_OUT description	 PAGEREF _Toc59430599 \h 14
 HYPERLINK \l "_Toc59430600" Register RGPIO_OE description	 PAGEREF _Toc59430600 \h 14
 HYPERLINK \l "_Toc59430601" Register RGPIO_INTE description	 PAGEREF _Toc59430601 \h 14
 HYPERLINK \l "_Toc59430602" Register RGPIO_PTRIG description	 PAGEREF _Toc59430602 \h 14
 HYPERLINK \l "_Toc59430603" Register RGPIO_AUX description	 PAGEREF _Toc59430603 \h 15
 HYPERLINK \l "_Toc59430604" Register RGPIO_CTRL description	 PAGEREF _Toc59430604 \h 15
 HYPERLINK \l "_Toc59430605" Register RGPIO_INTS description	 PAGEREF _Toc59430605 \h 15
 HYPERLINK \l "_Toc59430606" Register RGPIO_ECLK description	 PAGEREF _Toc59430606 \h 16
 HYPERLINK \l "_Toc59430607" Register RGPIO_NEC description	 PAGEREF _Toc59430607 \h 16
 HYPERLINK \l "_Toc59430608" IO ports	 PAGEREF _Toc59430608 \h 17
 HYPERLINK \l "_Toc59430609" WISHBONE host interface	 PAGEREF _Toc59430609 \h 17
 HYPERLINK \l "_Toc59430610" Auxiliary inputs	 PAGEREF _Toc59430610 \h 18
 HYPERLINK \l "_Toc59430611" Interface to external I/O cells and pads	 PAGEREF _Toc59430611 \h 18
 HYPERLINK \l "_Toc59430612" Core HW Configuration	 PAGEREF _Toc59430612 \h 19

Table Of Figures

 TOC \h \z \c "Figure"  HYPERLINK \l "_Toc59430613" Figure 1. Core Architecture	 PAGEREF _Toc59430613 \h 8
 HYPERLINK \l "_Toc59430614" Figure 2. Block Diagram of GPIO Logic	 PAGEREF _Toc59430614 \h 10
 HYPERLINK \l "_Toc59430615" Figure 3. Core Interfaces	 PAGEREF _Toc59430615 \h 17
 
Table Of Tables

 TOC \h \z \c "Table"  HYPERLINK \l "_Toc59430740" Table 1. List of All Software Accessible Registers	 PAGEREF _Toc59430740 \h 13
 HYPERLINK \l "_Toc59430741" Table 2. Input Register	 PAGEREF _Toc59430741 \h 13
 HYPERLINK \l "_Toc59430742" Table 3. Output Register	 PAGEREF _Toc59430742 \h 14
 HYPERLINK \l "_Toc59430743" Table 4. Output Enable Register	 PAGEREF _Toc59430743 \h 14
 HYPERLINK \l "_Toc59430744" Table 5. Interrupt Enable Register	 PAGEREF _Toc59430744 \h 14
 HYPERLINK \l "_Toc59430745" Table 6. Trigger Register	 PAGEREF _Toc59430745 \h 15
 HYPERLINK \l "_Toc59430746" Table 7. Auxiliary Inputs Register	 PAGEREF _Toc59430746 \h 15
 HYPERLINK \l "_Toc59430747" Table 8. Control Register	 PAGEREF _Toc59430747 \h 15
 HYPERLINK \l "_Toc59430748" Table 9. Interrupt Status Register	 PAGEREF _Toc59430748 \h 15
 HYPERLINK \l "_Toc59430749" Table 10. WISHBONE Interface Signals	 PAGEREF _Toc59430749 \h 18
 HYPERLINK \l "_Toc59430750" Table 11. Auxiliary input signals	 PAGEREF _Toc59430750 \h 18

1
Introduction

The GPIO IP core is user-programmable general-purpose I/O controller. Its use is to implement functions that are not implemented with the dedicated controllers in a system and require simple input and/or output software controlled signals.

Features

The following lists the main features of GPIO IP core:
Number of general-purpose I/O signals is user selectable and can be in range from 1 to 32. For more I/Os several GPIO cores can be used in parallel.
All general-purpose I/O signals can be bi-directional (external bi-directional I/O cells are required in this case).
All general-purpose I/O signals can be three-stated or open-drain enabled (external three-state or open-drain I/O cells are required in this case).
General-purpose I/O signals programmed as inputs can cause an interrupt request to the CPU.
General-purpose I/O signals programmed as inputs can be registered at raising edge of system clock or at user programmed edge of external clock.
All general-purpose I/O signals are programmed as inputs at hardware reset.
Auxiliary inputs to GPIO core to bypass outputs from RGPIO_OUT register.
Alternative input reference clock signal from external interface.
Extremely configurable (implementation of registers, external clock inverted versus negedge flip-flops etc.)
WISHBONE SoC Interconnection Rev. B compliant interface
 
2
Architecture

 REF _Ref507257934 \h Figure 1 below shows general architecture of GPIO IP core. It consists of four main building blocks: 
WISHBONE host interface
GPIO registers
Auxiliary inputs
Interface to external I/O cells and pads 
























Figure  SEQ Figure \* ARABIC 1. Core Architecture

Clocks

The GPIO core has two clock domains. All registers except RGPIO_IN are in system clock domain.
RGPIO_IN register can be clocked by system clock or by external clock reference.

WISHBONE Interface

WISHBONE interface connects GPIO core to the host system. It is WISHBONE SoC Interconnection specification Rev. B compliant. The implementation implements a 32-bit bus width and does not support other bus widths.


GPIO Registers

The GPIO IP Core has several software accessible registers. Most registers have the same width as number of general-purpose I/O signals and they can be from 1  32 bits. The host through these registers programs type and operation of each general-purpose I/O signal.

Auxiliary Inputs

The auxiliary inputs can bypass RGPIO_OUT outputs based on programming of RPGIO_AUX register. Auxiliary inputs are used to multiplex other on-chip peripherals on GPIO pins.

Interface to External I/O Cells and Pads

External interface connects GPIO core to external I/O ring cells and pads. To support open-drain or three-state outputs, appropriate open-drain or three-state I/O cells must be used.
Part of external interface is also ECLK register. It can be used to register inputs based on external clock reference.


3
Operation

This section describes the operation of the GPIO core. The GPIO core provides toggling of general-purpose outputs and sampling of general-purpose inputs under software control. 
 
Figure  SEQ Figure \* ARABIC 2. Block Diagram of GPIO Logic

General-purpose inputs can generate interrupts so that software does not have to be in poll mode all the time when sampling inputs.
Switching output drivers into open-drain or three-state mode will disable general-purpose outputs.
To lower number of pins of the chip, other on-chip peripherals can be multiplexed together with the GPIO pins. For this purpose, auxiliary inputs can be multiplexed on general-purpose outputs.

Hardware Reset

Following hardware reset all general-purpose I/O signals are set into input mode. Meaning, all output drivers are disabled. All interrupts are masked, so that inputs would not generate any spurious interrupts. Gpio_eclk signal is not used to latch inputs into RGPIO_IN register; instead system clock is used.

General-Purpose I/O as Polled Input

To use general-purpose I/O as input only, corresponding bit in RGPIO_OE register must be cleared to select input mode. Bit RGPIO_CTRL[INTE] and corresponding bit in RGPIO_INTE register must be cleared as well, to disabled generation of interrupts.
Bit RGPIO_IN register reflects registered value of general-purpose input signal. RGPIO_IN is updated on positive edge of system clock or if RGPIO_ECLK appropriate bit is set, on gpio_eclk edge. Which clock edge is selected, is defined by value of RGPIO_NEC appropriate bit.

General-Purpose I/O as Input in Interrupt Mode

To use general-purpose I/O as input with generation of interrupts, corresponding bit in RGPIO_OE register must be cleared to select input mode. Corresponding bit in RGPIO_PTRIG register must be set to generate an interrupt on positive edge event on general-purpose input. To generate an interrupt on negative edge event, corresponding bit in RGPIO_PTRIG register must be cleared. If we are enabling interrupts for the first time, we also need to clear interrupt status register RGPIO_INTS. Last, RGPIO_CTRL[INTE] bit and corresponding bit in RGPIO_INTE register must be set to enable generation of interrupts.
Bit RGPIO_IN register reflects registered value of general-purpose input signal. RGPIO_IN is updated on positive edge of system clock or if RGPIO_ECLK appropriate bit is set, on gpio_eclk edge. Which clock edge is selected, is defined by value of RGPIO_NEC appropriate bit.
Which input caused an interrupt is recorded in interrupt status register RGPIO_INTS. Inputs that caused an interrupt since last clearing of RGPIO_INTS have bits set. Interrupt can be de-asserted by writing zero in RGPIO_INTS register and control register bit RGPIO_CTRL[INTS]. Another way to de-assert interrupts is to disable them by clearing control bit RGPIO_CTRL[INTE].

General-Purpose I/O as Output

To enable general-purpose I/O output driver, corresponding bit in RGPIO_OE must be set. Corresponding bit in RGPIO_OUT register must be set to the value that is required to be driven on output driver. Corresponding bit in RGPIO_INTE register must be cleared to disable generation of spurious interrupts.
Clearing bit in RGPIO_OE register will disable output driver and enable three-state or open-drain.

General-Purpose I/O as Bi-Directional I/O

To use general-purpose I/O as bi-directional signal, corresponding bit in RGPIO_OE must be toggled to enable or disable three-state or open-drain mode of bi-directional driver. Corresponding bit in RGPIO_OUT register must be set to the value that is required to be driven on output driver. Corresponding bit in RGPIO_INTE register must be cleared to disable generation of spurious interrupts. If input should generate interrupts, corresponding bit in RGPIO_INTE register must be set and if required also corresponding bit in RGPIO_PTRIG should be set.
Corresponding bit RGPIO_IN register reflects registered value of general-purpose input signal. RGPIO_IN is updated on positive edge of system clock or if RGPIO_ECLK bit is set, on gpio_eclk edge. Which clock edge is selected, is defined by value of RGPIO_NEC bit.
If an interrupt is enabled and pending, it can be de-asserted by writing zero in RGPIO_INTS register and control register bit RGPIO_CTRL[INTS]. Another way to de-assert interrupts is to disable them by clearing control bit RGPIO_CTRL[INTE]

General-Purpose I/O driven by Auxiliary Input

To drive general-purpose output with auxiliary input, corresponding bit in RGPIO_OE must be set to enable output driver. Corresponding bit in RGPIO_AUX must be set to enable multiplexing of auxiliary input onto general-purpose output.
4
Registers

This section describes all control and status register inside the GPIO core. The Address field indicates address in hexadecimal. Width specifies the number of bits in the register, and Access specifies the valid access types for that register. R/W stands for read and write access and R stands for read only access.
Width of most registers is user selectable and is set by the user of the GPIO core at synthesis time.

Registers list

NameAddressWidthAccessDescriptionRGPIO_INBase + 0x01 - 32RGPIO input dataRGPIO_OUTBase + 0x41 - 32R/WGPIO output dataRGPIO_OEBase + 0x81 - 32R/WGPIO output driver enableRGPIO_INTEBase + 0xC1 - 32R/WInterrupt enableRGPIO_PTRIGBase + 0x101 - 32R/WType of event that triggers an interruptRGPIO_AUXBase + 0x141 - 32R/WMultiplex auxiliary inputs to GPIO outputsRGPIO_CTRLBase + 0x182R/WControl registerRGPIO_INTSBase + 0x1C1 - 32R/WInterrupt statusRGPIO_ECLKBase + 0x201 - 32R/WEnable gpio_eclk to latch RGPIO_IN RGPIO_NECBase + 0x241 - 32R/WSelect active edge of gpio_eclkTable  SEQ Table \* ARABIC 1. List of All Software Accessible Registers

Register RGPIO_IN description

RGPIO_IN register latches general-purpose inputs. Reference clock is either system clock or ECLK input. Selection between both clocks is performed with RGPIO_ECLK register.

Bit #AccessResetDescription1 - 32R0x0Latched value of general-purpose inputsTable  SEQ Table \* ARABIC 2. Input Register



Register RGPIO_OUT description

RGPIO_OUT register drives general-purpose outputs. Additionally, external I/O cells can be operated open-drain or three-state with RGPIO_OE register.

Bit #AccessResetDescription1 - 32R/W0x0General-purpose driven outputsTable  SEQ Table \* ARABIC 3. Output Register

Register RGPIO_OE description

RGPIO_OE enables output/bi-directional mode of operation for each general-purpose I/O signal. When bit is set, corresponding general-purpose output driver is enabled. When bit is cleared, output/bi-directional driver is operating in open-drain or three-state mode.

Bit #AccessResetDescription1  32R/W0x0Output/bi-directional external I/O drivers enablesTable  SEQ Table \* ARABIC 4. Output Enable Register

Register RGPIO_INTE description

RGPIO_INTE register defines which general-purpose inputs generate interrupt to the host. When bit is set, corresponding general-purpose input generates interrupt.
See also global interrupt enable bit RGPIO_CTRL[INTE].

Bit #AccessResetDescription1  32R/W0x0Enables for of interrupts generated by general-purpose input signalsTable  SEQ Table \* ARABIC 5. Interrupt Enable Register

Register RGPIO_PTRIG description

RGPIO_PTRIG register defines which edge of a general-purpose input generates an interrupt. Generation of an interrupt must be first enabled in RGPIO_INTE register and global interrupt enable bit RGPIO_CTRL[INTE]. When bit is set, corresponding input generates an interrupt when positive edge is encountered. When bit is cleared, corresponding input generates an interrupt when negative edge is encountered.

Bit #AccessResetDescription1 - 32R/W0x0Triggering of an interrupt (positive edge when set, negative edge when cleared)Table  SEQ Table \* ARABIC 6. Trigger Register

Register RGPIO_AUX description

RGPIO_AUX multiplexes auxiliary inputs to general-purpose outputs. When bit is set, corresponding auxiliary input drives corresponding general-purpose output instead of a bit in RGPIO_OUT register.

Bit #AccessResetDescription1 - 32R/W0x0When cleared, gpio_out signal is driven by a bit in RGPIO_OUT register. When set, gpio_out signal is driven by corresponding gpio_aux input.Table  SEQ Table \* ARABIC 7. Auxiliary Inputs Register

Register RGPIO_CTRL description

Control bits in RGPIO_CTRL register control operation of entire GPIO core as opposed to bits in all other registers that control only individual general-purpose I/O signals.

Bit #AccessResetDescription0R/W0INTE
When set, interrupt generation is enabled.
When cleared, interrupts are masked.1R/W0INTS
When set, interrupt is pending.
When cleared, no interrupt pending.Table  SEQ Table \* ARABIC 8. Control Register

Register RGPIO_INTS description

RGPIO_INTS register is interrupt status register for GPIO inputs. Bits in RGPIO_INTS are set by GPIO core when corresponding inputs meet RGPIO_PTRIG criteria and cause an interrupt.
To de-assert an interrupt request, CPU must clear RGPIO_INTS register.

Bit #AccessResetDescription1 - 32R/W0x0When set, input caused an interrupt.
When cleared, no interrupt is pending for corresponding input.Table  SEQ Table \* ARABIC 9. Interrupt Status Register



Register RGPIO_ECLK description


Bit #AccessResetDescription1 - 32R/W0x0When set, gpio_eclk signal is used to latch appropriate general-purpose input into RGPIO_IN register. When cleared, system clock is used to latch input signal.Table 10. ECLK Register

Register RGPIO_NEC description


Bit #AccessResetDescription1 - 32R/W0x0When set, gpio_eclk is active on negative edge. When cleared, gpio_eclk is active on positive edge. This bit has no function when appropriate bit in RGPIO_ECLK is cleared.Table 11. NEC Register



5
IO ports

GPIO IP core has three interfaces.  REF _Ref507257694 \h Figure 3 below shows all three interfaces:
WISHBONE host interface
Auxiliary inputs interface
Interface to external I/O cells and pads

















     


Figure  SEQ Figure \* ARABIC 3. Core Interfaces

WISHBONE host interface

The host interface is a WISHBONE Rev B compliant interface. GPIO IP core works as a slave device only. When it needs the intervention of the local microcontroller, it will assert INTA_O.
        
PortWidthDirectionDescriptionwb_clk_i1InputClock inputswb_rst_i1InputReset inputwb_cyc_i1InputsIndicates valid bus cycle (core select)wb_adr_i15InputsAddress inputswb_dat_i32InputsData inputswb_dat_o32OutputsData outputswb_sel_i4InputsIndicates valid bytes on data bus (during valid cycle it must be 0xf)wb_ack_o1OutputAcknowledgment output (indicates normal transaction termination)wb_err_o1OutputError acknowledgment output (indicates an abnormal transaction termination)wb_rty_o1OutputNot usedwb_we_i1InputWrite transaction when asserted highwb_stb_i1InputIndicates valid data transfer cyclewb_inta_o1OutputInterrupt outputTable  SEQ Table \* ARABIC 10. WISHBONE Interface Signals

Auxiliary inputs

The auxiliary inputs can bypass RGPIO_OUT outputs based on programming of RPGIO_AUX register. Auxiliary inputs are used to multiplex other on-chip peripherals on GPIO pins.

PortWidthDirectionDescriptionaux_i1 - 32InputsGPIO auxiliary inputsTable  SEQ Table \* ARABIC 11. Auxiliary input signals

Interface to external I/O cells and pads

External interface connects GPIO core to external I/O ring cells and pads. To support open-drain or three-state outputs, I/O cells with open-drain or three-state support must be used.
Part of external interface is also ECLK signal. It can be used to register inputs based on external clock reference.

PortWidthDirectionDescriptionin_pad_i1  32InputsGPIO inputsout_pad_o1  32OutputsGPIO outputsoen_padoen_o1  32OutputsGPIO output drivers enables (for three-state or open-drain drivers)ext_clk_pad_i1InputAlternative GPIO inputs' latch clockTable13. External interface
A
Core HW Configuration

This section describes parameters that are set by the user of the core and define configuration of the core. Parameters must be set by the user before actual use of the core in simulation or synthesis.

//
// Number of GPIO I/O signals
//
// This is the most important parameter of the GPIO IP core. It defines how many
// I/O signals core has. Range is from 1 to 32. If more than 32 I/O signals are
// required, use several instances of GPIO IP core.
//
// Default is 16.
//
`define GPIO_IOS 31

//depending on number of GPIO_IOS, define this...
// for example: if there is 26 GPIO_IOS, define GPIO_LINES26
//

`define GPIO_LINES31

//
// Undefine this one if you don't want to remove GPIO block from your design
// but you also don't need it. When it is undefined, all GPIO ports still
// remain valid and the core can be synthesized however internally there is
// no GPIO funationality.
//
// Defined by default (duhh !).
//
`define GPIO_IMPLEMENTED

//
// Define to register all WISHBONE outputs.
//
// Register outputs if you are using GPIO core as a block and synthesizing
// and place&routing it separately from the rest of the system.
//
// If you do not need registered outputs, you can save some area by not defining
// this macro. By default it is defined.
//
`define GPIO_REGISTERED_WB_OUTPUTS

//
// Define to register all GPIO pad outputs.
//
// Register outputs if you are using GPIO core as a block and synthesizing
// and place&routing it separately from the rest of the system.
//
// If you do not need registered outputs, you can save some area by not defining
// this macro. By default it is defined.
//
`define GPIO_REGISTERED_IO_OUTPUTS

//
// Define to avoid using negative edge clock flip-flops for external clock
// (caused by NEC register. Instead an inverted external clock with
// positive edge clock flip-flops will be used.
//
// By default it is not defined.
//
//`define GPIO_NO_NEGEDGE_FLOPS

//
// If GPIO_NO_NEGEDGE_FLOPS is defined, a mux needs to be placed on external clock
// clk_pad_i to implement RGPIO_CTRL[NEC] functionality. If no mux is allowed on
// clock signal, enable the following define.
//
// By default it is not defined.
//
//`define GPIO_NO_CLKPAD_LOGIC

// 
// Undefine if you don't need to read GPIO registers except for RGPIO_IN register.
// When it is undefined all reads of GPIO registers return RGPIO_IN register. This
// is usually useful if you want really small area (for example when implemented in
// FPGA).
//
// To follow GPIO IP core specification document this one must be defined. Also to
// successfully run the test bench it must be defined. By default it is defined.
//
`define GPIO_READREGS

//
// Full WISHBONE address decoding
//
// It is is undefined, partial WISHBONE address decoding is performed.
// Undefine it if you need to save some area.
//
// By default it is defined.
//
`define GPIO_FULL_DECODE

//
// Strict 32-bit WISHBONE access
//
// If this one is defined, all WISHBONE accesses must be 32-bit. If it is
// not defined, err_o is asserted whenever 8- or 16-bit access is made.
// Undefine it if you need to save some area.
//
// By default it is defined.
//
//`define GPIO_STRICT_32BIT_ACCESS
//
`ifdef GPIO_STRICT_32BIT_ACCESS
`else
// added by gorand :
// if GPIO_STRICT_32BIT_ACCESS is not defined,
// depending on number of gpio I/O lines, the following are defined :
// if the number of I/O lines is in range 1-8,   GPIO_WB_BYTES1 is defined,
// if the number of I/O lines is in range 9-16,  GPIO_WB_BYTES2 is defined,
// if the number of I/O lines is in range 17-24, GPIO_WB_BYTES3 is defined,
// if the number of I/O lines is in range 25-32, GPIO_WB_BYTES4 is defined,

`define GPIO_WB_BYTES4
`endif

//
// WISHBONE address bits used for full decoding of GPIO registers.
//
`define GPIO_ADDRHH 7
`define GPIO_ADDRHL 6
`define GPIO_ADDRLH 1
`define GPIO_ADDRLL 0

//
// Bits of WISHBONE address used for partial decoding of GPIO registers.
//
// Default 5:2.
//
`define GPIO_OFS_BITS       `GPIO_ADDRHL-1:`GPIO_ADDRLH+1

//
// Addresses of GPIO registers
//
// To comply with GPIO IP core specification document they must go from
// address 0 to address 0x18 in the following order: RGPIO_IN, RGPIO_OUT,
// RGPIO_OE, RGPIO_INTE, RGPIO_PTRIG, RGPIO_AUX and RGPIO_CTRL
//
// If particular register is not needed, it's address definition can be omitted
// and the register will not be implemented. Instead a fixed default value will
// be used.
//
`define GPIO_RGPIO_IN              4'h0  // Address 0x00
`define GPIO_RGPIO_OUT          4'h1    // Address 0x04
`define GPIO_RGPIO_OE             4'h2  // Address 0x08
`define GPIO_RGPIO_INTE         4'h3    // Address 0x0c
`define GPIO_RGPIO_PTRIG        4'h4    // Address 0x10
`define GPIO_RGPIO_AUX          4'h5    // Address 0x14
`define GPIO_RGPIO_CTRL         4'h6    // Address 0x18
`define GPIO_RGPIO_INTS         4'h7    // Address 0x1c
`define GPIO_RGPIO_ECLK   4'h8  // Address 0x20
`define GPIO_RGPIO_NEC    4'h9  // Address 0x24

//
// Default values for unimplemented GPIO registers
//
`define GPIO_DEF_RGPIO_IN     `GPIO_IOS'h0
`define GPIO_DEF_RGPIO_OUT `GPIO_IOS'h0
`define GPIO_DEF_RGPIO_OE  `GPIO_IOS'h0
`define GPIO_DEF_RGPIO_INTE        `GPIO_IOS'h0
`define GPIO_DEF_RGPIO_PTRIG       `GPIO_IOS'h0
`define GPIO_DEF_RGPIO_AUX `GPIO_IOS'h0
`define GPIO_DEF_RGPIO_CTRL        `GPIO_IOS'h0
`define GPIO_DEF_RGPIO_ECLK `GPIO_IOS'h0
`define GPIO_DEF_RGPIO_NEC `GPIO_IOS'h0


//
// RGPIO_CTRL bits
//
// To comply with the GPIO IP core specification document they must go from
// bit 0 to bit 1 in the following order: INTE, INT
//
`define GPIO_RGPIO_CTRL_INTE                0
`define GPIO_RGPIO_CTRL_INTS          1

 
OpenCores TITLEGPIO IP Core     DATE \@"M/d/yy" 12/17/03


 HYPERLINK "http://www.opencores.org/" http://www.opencores.org/     Rev 1.1  PAGE 6 of  NUMPAGES 21




 EMBED PBrush  




 EMBED Word.Picture.8  


 EMBED Word.Picture.8  







GPIO
IP
Core

WISHBONE I/F
 I/F

AUX IN

ECLK

I/O n

I/O 1

I/O 0

WISHBONE
BUS

RGPIO_OUT
Bypass



 !$*+,-=>hijʴpgpTFhn?h0J6CJ ]%jhn?h6CJ U]h6CJ ]HhL|fh6CJ ]&jHhL|fh6CJ U]hn?h!0J6CJ ]%jhn?h!6CJ U]jh!6CJ U]h!6CJ ]h?B6CJ ]
h?B5CJ4h?BCJHOJQJh?BCJ`^Jh?Bjh?BCJUmHnHu!"#$-=                  $a$$
f!a$
  !f!
f!lmnn                                 E     F     W     X     v               
ʦ2nnnʦ:}n}nDnjRR(BR)&Y$<=OaaLaT"n.Bdn>|>




GPIO IP Core
Specification



Authors:
 Damjan Lampret
 HYPERLINK "mailto:lampret@opencores.org" lampret@opencores.org
Goran Djakovic
 HYPERLINK "mailto:goran.djakovic@flextronics.si" goran.djakovic@flextronics.si






Rev. 1.1
December 17, 2003




















This page has been intentionally left blank.Revision History

Rev.DateAuthorDescription0.14/2/01Damjan LampretFirst Draft0.220/2/01Damjan LampretCompliance with WISHBONE Rev.B10.329/10/01Damjan LampretUpdated names of ports and RGPIO_CTRL. Added additional parameters to Appendix A.1.025/12/01Damjan LampretAdded RGPIO_INTS and renamed RGPIO_CTRL[INT] into RGPIO_CTRL[INTS]. Updated Appendix Core Configuration.1.117/12/03Goran
DjakovicAdded RGPIO_ECLK and RGPIO_NEC, modified RGPIO_CTRLTable Of Contents

 TOC \o "2-2" \h \z \t "Headeing 1 Name,1"  HYPERLINK \l "_Toc59430581" Introduction	 PAGEREF _Toc59430581 \h 7
 HYPERLINK \l "_Toc59430582" Features	 PAGEREF _Toc59430582 \h 7
 HYPERLINK \l "_Toc59430583" Architecture	 PAGEREF _Toc59430583 \h 8
 HYPERLINK \l "_Toc59430584" Clocks	 PAGEREF _Toc59430584 \h 8
 HYPERLINK \l "_Toc59430585" WISHBONE Interface	 PAGEREF _Toc59430585 \h 9
 HYPERLINK \l "_Toc59430586" GPIO Registers	 PAGEREF _Toc59430586 \h 9
 HYPERLINK \l "_Toc59430587" Auxiliary Inputs	 PAGEREF _Toc59430587 \h 9
 HYPERLINK \l "_Toc59430588" Interface to External I/O Cells and Pads	 PAGEREF _Toc59430588 \h 9
 HYPERLINK \l "_Toc59430589" Operation	 PAGEREF _Toc59430589 \h 10
 HYPERLINK \l "_Toc59430590" Hardware Reset	 PAGEREF _Toc59430590 \h 11
 HYPERLINK \l "_Toc59430591" General-Purpose I/O as Polled Input	 PAGEREF _Toc59430591 \h 11
 HYPERLINK \l "_Toc59430592" General-Purpose I/O as Input in Interrupt Mode	 PAGEREF _Toc59430592 \h 11
 HYPERLINK \l "_Toc59430593" General-Purpose I/O as Output	 PAGEREF _Toc59430593 \h 12
 HYPERLINK \l "_Toc59430594" General-Purpose I/O as Bi-Directional I/O	 PAGEREF _Toc59430594 \h 12
 HYPERLINK \l "_Toc59430595" General-Purpose I/O driven by Auxiliary Input	 PAGEREF _Toc59430595 \h 12
 HYPERLINK \l "_Toc59430596" Registers	 PAGEREF _Toc59430596 \h 13
 HYPERLINK \l "_Toc59430597" Registers list	 PAGEREF _Toc59430597 \h 13
 HYPERLINK \l "_Toc59430598" Register RGPIO_IN description	 PAGEREF _Toc59430598 \h 13
 HYPERLINK \l "_Toc59430599" Register RGPIO_OUT description	 PAGEREF _Toc59430599 \h 14
 HYPERLINK \l "_Toc59430600" Register RGPIO_OE description	 PAGEREF _Toc59430600 \h 14
 HYPERLINK \l "_Toc59430601" Register RGPIO_INTE description	 PAGEREF _Toc59430601 \h 14
 HYPERLINK \l "_Toc59430602" Register RGPIO_PTRIG description	 PAGEREF _Toc59430602 \h 14
 HYPERLINK \l "_Toc59430603" Register RGPIO_AUX description	 PAGEREF _Toc59430603 \h 15
 HYPERLINK \l "_Toc59430604" Register RGPIO_CTRL description	 PAGEREF _Toc59430604 \h 15
 HYPERLINK \l "_Toc59430605" Register RGPIO_INTS description	 PAGEREF _Toc59430605 \h 15
 HYPERLINK \l "_Toc59430606" Register RGPIO_ECLK description	 PAGEREF _Toc59430606 \h 16
 HYPERLINK \l "_Toc59430607" Register RGPIO_NEC description	 PAGEREF _Toc59430607 \h 16
 HYPERLINK \l "_Toc59430608" IO ports	 PAGEREF _Toc59430608 \h 17
 HYPERLINK \l "_Toc59430609" WISHBONE host interface	 PAGEREF _Toc59430609 \h 17
 HYPERLINK \l "_Toc59430610" Auxiliary inputs	 PAGEREF _Toc59430610 \h 18
 HYPERLINK \l "_Toc59430611" Interface to external I/O cells and pads	 PAGEREF _Toc59430611 \h 18
 HYPERLINK \l "_Toc59430612" Core HW Configuration	 PAGEREF _Toc59430612 \h 19

Table Of Figures

 TOC \h \z \c "Figure"  HYPERLINK \l "_Toc59430613" Figure 1. Core Architecture	 PAGEREF _Toc59430613 \h 8
 HYPERLINK \l "_Toc59430614" Figure 2. Block Diagram of GPIO Logic	 PAGEREF _Toc59430614 \h 10
 HYPERLINK \l "_Toc59430615" Figure 3. Core Interfaces	 PAGEREF _Toc59430615 \h 17
 
Table Of Tables

 TOC \h \z \c "Table"  HYPERLINK \l "_Toc59430740" Table 1. List of All Software Accessible Registers	 PAGEREF _Toc59430740 \h 13
 HYPERLINK \l "_Toc59430741" Table 2. Input Register	 PAGEREF _Toc59430741 \h 13
 HYPERLINK \l "_Toc59430742" Table 3. Output Register	 PAGEREF _Toc59430742 \h 14
 HYPERLINK \l "_Toc59430743" Table 4. Output Enable Register	 PAGEREF _Toc59430743 \h 14
 HYPERLINK \l "_Toc59430744" Table 5. Interrupt Enable Register	 PAGEREF _Toc59430744 \h 14
 HYPERLINK \l "_Toc59430745" Table 6. Trigger Register	 PAGEREF _Toc59430745 \h 15
 HYPERLINK \l "_Toc59430746" Table 7. Auxiliary Inputs Register	 PAGEREF _Toc59430746 \h 15
 HYPERLINK \l "_Toc59430747" Table 8. Control Register	 PAGEREF _Toc59430747 \h 15
 HYPERLINK \l "_Toc59430748" Table 9. Interrupt Status Register	 PAGEREF _Toc59430748 \h 15
 HYPERLINK \l "_Toc59430749" Table 10. WISHBONE Interface Signals	 PAGEREF _Toc59430749 \h 18
 HYPERLINK \l "_Toc59430750" Table 11. Auxiliary input signals	 PAGEREF _Toc59430750 \h 18

1
Introduction

The GPIO IP core is user-programmable general-purpose I/O controller. Its use is to implement functions that are not implemented with the dedicated controllers in a system and require simple input and/or output software controlled signals.

Features

The following lists the main features of GPIO IP core:
Number of general-purpose I/O signals is user selectable and can be in range from 1 to 32. For more I/Os several GPIO cores can be used in parallel.
All general-purpose I/O signals can be bi-directional (external bi-directional I/O cells are required in this case).
All general-purpose I/O signals can be three-stated or open-drain enabled (external three-state or open-drain I/O cells are required in this case).
General-purpose I/O signals programmed as inputs can cause an interrupt request to the CPU.
General-purpose I/O signals programmed as inputs can be registered at raising edge of system clock or at user programmed edge of external clock.
All general-purpose I/O signals are programmed as inputs at hardware reset.
Auxiliary inputs to GPIO core to bypass outputs from RGPIO_OUT register.
Alternative input reference clock signal from external interface.
Extremely configurable (implementation of registers, external clock inverted versus negedge flip-flops etc.)
WISHBONE SoC Interconnection Rev. B compliant interface
 
2
Architecture

 REF _Ref507257934 \h Figure 1 below shows general architecture of GPIO IP core. It consists of four main building blocks: 
WISHBONE host interface
GPIO registers
Auxiliary inputs
Interface to external I/O cells and pads 
























Figure  SEQ Figure \* ARABIC 1. Core Architecture

Clocks

The GPIO core has two clock domains. All registers except RGPIO_IN are in system clock domain.
RGPIO_IN register can be clocked by system clock or by external clock reference.

WISHBONE Interface

WISHBONE interface connects GPIO core to the host system. It is WISHBONE SoC Interconnection specification Rev. B compliant. The implementation implements a 32-bit bus width and does not support other bus widths.


GPIO Registers

The GPIO IP Core has several software accessible registers. Most registers have the same width as number of general-purpose I/O signals and they can be from 1  32 bits. The host through these registers programs type and operation of each general-purpose I/O signal.

Auxiliary Inputs

The auxiliary inputs can bypass RGPIO_OUT outputs based on programming of RPGIO_AUX register. Auxiliary inputs are used to multiplex other on-chip peripherals on GPIO pins.

Interface to External I/O Cells and Pads

External interface connects GPIO core to external I/O ring cells and pads. To support open-drain or three-state outputs, appropriate open-drain or three-state I/O cells must be used.
Part of external interface is also ECLK register. It can be used to register inputs based on external clock reference.


3
Operation

This section describes the operation of the GPIO core. The GPIO core provides toggling of general-purpose outputs and sampling of general-purpose inputs under software control. 
 
Figure  SEQ Figure \* ARABIC 2. Block Diagram of GPIO Logic

General-purpose inputs can generate interrupts so that software does not have to be in poll mode all the time when sampling inputs.
Switching output drivers into open-drain or three-state mode will disable general-purpose outputs.
To lower number of pins of the chip, other on-chip peripherals can be multiplexed together with the GPIO pins. For this purpose, auxiliary inputs can be multiplexed on general-purpose outputs.

Hardware Reset

Following hardware reset all general-purpose I/O signals are set into input mode. Meaning, all output drivers are disabled. All interrupts are masked, so that inputs would not generate any spurious interrupts. Gpio_eclk signal is not used to latch inputs into RGPIO_IN register; instead system clock is used.

General-Purpose I/O as Polled Input

To use general-purpose I/O as input only, corresponding bit in RGPIO_OE register must be cleared to select input mode. Bit RGPIO_CTRL[INTE] and corresponding bit in RGPIO_INTE register must be cleared as well, to disabled generation of interrupts.
Bit RGPIO_IN register reflects registered value of general-purpose input signal. RGPIO_IN is updated on positive edge of system clock or if RGPIO_ECLK appropriate bit is set, on gpio_eclk edge. Which clock edge is selected, is defined by value of RGPIO_NEC appropriate bit.

General-Purpose I/O as Input in Interrupt Mode

To use general-purpose I/O as input with generation of interrupts, corresponding bit in RGPIO_OE register must be cleared to select input mode. Corresponding bit in RGPIO_PTRIG register must be set to generate an interrupt on positive edge event on general-purpose input. To generate an interrupt on negative edge event, corresponding bit in RGPIO_PTRIG register must be cleared. If we are enabling interrupts for the first time, we also need to clear interrupt status register RGPIO_INTS. Last, RGPIO_CTRL[INTE] bit and corresponding bit in RGPIO_INTE register must be set to enable generation of interrupts.
Bit RGPIO_IN register reflects registered value of general-purpose input signal. RGPIO_IN is updated on positive edge of system clock or if RGPIO_ECLK appropriate bit is set, on gpio_eclk edge. Which clock edge is selected, is defined by value of RGPIO_NEC appropriate bit.
Which input caused an interrupt is recorded in interrupt status register RGPIO_INTS. Inputs that caused an interrupt since last clearing of RGPIO_INTS have bits set. Interrupt can be de-asserted by writing zero in RGPIO_INTS register and control register bit RGPIO_CTRL[INTS]. Another way to de-assert interrupts is to disable them by clearing control bit RGPIO_CTRL[INTE].

General-Purpose I/O as Output

To enable general-purpose I/O output driver, corresponding bit in RGPIO_OE must be set. Corresponding bit in RGPIO_OUT register must be set to the value that is required to be driven on output driver. Corresponding bit in RGPIO_INTE register must be cleared to disable generation of spurious interrupts.
Clearing bit in RGPIO_OE register will disable output driver and enable three-state or open-drain.

General-Purpose I/O as Bi-Directional I/O

To use general-purpose I/O as bi-directional signal, corresponding bit in RGPIO_OE must be toggled to enable or disable three-state or open-drain mode of bi-directional driver. Corresponding bit in RGPIO_OUT register must be set to the value that is required to be driven on output driver. Corresponding bit in RGPIO_INTE register must be cleared to disable generation of spurious interrupts. If input should generate interrupts, corresponding bit in RGPIO_INTE register must be set and if required also corresponding bit in RGPIO_PTRIG should be set.
Corresponding bit RGPIO_IN register reflects registered value of general-purpose input signal. RGPIO_IN is updated on positive edge of system clock or if RGPIO_ECLK bit is set, on gpio_eclk edge. Which clock edge is selected, is defined by value of RGPIO_NEC bit.
If an interrupt is enabled and pending, it can be de-asserted by writing zero in RGPIO_INTS register and control register bit RGPIO_CTRL[INTS]. Another way to de-assert interrupts is to disable them by clearing control bit RGPIO_CTRL[INTE]

General-Purpose I/O driven by Auxiliary Input

To drive general-purpose output with auxiliary input, corresponding bit in RGPIO_OE must be set to enable output driver. Corresponding bit in RGPIO_AUX must be set to enable multiplexing of auxiliary input onto general-purpose output.
4
Registers

This section describes all control and status register inside the GPIO core. The Address field indicates address in hexadecimal. Width specifies the number of bits in the register, and Access specifies the valid access types for that register. R/W stands for read and write access and R stands for read only access.
Width of most registers is user selectable and is set by the user of the GPIO core at synthesis time.

Registers list

NameAddressWidthAccessDescriptionRGPIO_INBase + 0x01 - 32RGPIO input dataRGPIO_OUTBase + 0x41 - 32R/WGPIO output dataRGPIO_OEBase + 0x81 - 32R/WGPIO output driver enableRGPIO_INTEBase + 0xC1 - 32R/WInterrupt enableRGPIO_PTRIGBase + 0x101 - 32R/WType of event that triggers an interruptRGPIO_AUXBase + 0x141 - 32R/WMultiplex auxiliary inputs to GPIO outputsRGPIO_CTRLBase + 0x182R/WControl registerRGPIO_INTSBase + 0x1C1 - 32R/WInterrupt statusRGPIO_ECLKBase + 0x201 - 32R/WEnable gpio_eclk to latch RGPIO_IN RGPIO_NECBase + 0x241 - 32R/WSelect active edge of gpio_eclkTable  SEQ Table \* ARABIC 1. List of All Software Accessible Registers

Register RGPIO_IN description

RGPIO_IN register latches general-purpose inputs. Reference clock is either system clock or ECLK input. Selection between both clocks is performed with RGPIO_ECLK register.

Bit #AccessResetDescription1 - 32R0x0Latched value of general-purpose inputsTable  SEQ Table \* ARABIC 2. Input Register



Register RGPIO_OUT description

RGPIO_OUT register drives general-purpose outputs. Additionally, external I/O cells can be operated open-drain or three-state with RGPIO_OE register.

Bit #AccessResetDescription1 - 32R/W0x0General-purpose driven outputsTable  SEQ Table \* ARABIC 3. Output Register

Register RGPIO_OE description

RGPIO_OE enables output/bi-directional mode of operation for each general-purpose I/O signal. When bit is set, corresponding general-purpose output driver is enabled. When bit is cleared, output/bi-directional driver is operating in open-drain or three-state mode.

Bit #AccessResetDescription1  32R/W0x0Output/bi-directional external I/O drivers enablesTable  SEQ Table \* ARABIC 4. Output Enable Register

Register RGPIO_INTE description

RGPIO_INTE register defines which general-purpose inputs generate interrupt to the host. When bit is set, corresponding general-purpose input generates interrupt.
See also global interrupt enable bit RGPIO_CTRL[INTE].

Bit #AccessResetDescription1  32R/W0x0Enables for of interrupts generated by general-purpose input signalsTable  SEQ Table \* ARABIC 5. Interrupt Enable Register

Register RGPIO_PTRIG description

RGPIO_PTRIG register defines which edge of a general-purpose input generates an interrupt. Generation of an interrupt must be first enabled in RGPIO_INTE register and global interrupt enable bit RGPIO_CTRL[INTE]. When bit is set, corresponding input generates an interrupt when positive edge is encountered. When bit is cleared, corresponding input generates an interrupt when negative edge is encountered.

Bit #AccessResetDescription1 - 32R/W0x0Triggering of an interrupt (positive edge when set, negative edge when cleared)Table  SEQ Table \* ARABIC 6. Trigger Register

Register RGPIO_AUX description

RGPIO_AUX multiplexes auxiliary inputs to general-purpose outputs. When bit is set, corresponding auxiliary input drives corresponding general-purpose output instead of a bit in RGPIO_OUT register.

Bit #AccessResetDescription1 - 32R/W0x0When cleared, gpio_out signal is driven by a bit in RGPIO_OUT register. When set, gpio_out signal is driven by corresponding gpio_aux input.Table  SEQ Table \* ARABIC 7. Auxiliary Inputs Register

Register RGPIO_CTRL description

Control bits in RGPIO_CTRL register control operation of entire GPIO core as opposed to bits in all other registers that control only individual general-purpose I/O signals.

Bit #AccessResetDescription0R/W0INTE
When set, interrupt generation is enabled.
When cleared, interrupts are masked.1R/W0INTS
When set, interrupt is pending.
When cleared, no interrupt pending.Table  SEQ Table \* ARABIC 8. Control Register

Register RGPIO_INTS description

RGPIO_INTS register is interrupt status register for GPIO inputs. Bits in RGPIO_INTS are set by GPIO core when corresponding inputs meet RGPIO_PTRIG criteria and cause an interrupt.
To de-assert an interrupt request, CPU must clear RGPIO_INTS register.

Bit #AccessResetDescription1 - 32R/W0x0When set, input caused an interrupt.
When cleared, no interrupt is pending for corresponding input.Table  SEQ Table \* ARABIC 9. Interrupt Status Register



Register RGPIO_ECLK description


Bit #AccessResetDescription1 - 32R/W0x0When set, gpio_eclk signal is used to latch appropriate general-purpose input into RGPIO_IN register. When cleared, system clock is used to latch input signal.Table 10. ECLK Register

Register RGPIO_NEC description


Bit #AccessResetDescription1 - 32R/W0x0When set, gpio_eclk is active on negative edge. When cleared, gpio_eclk is active on positive edge. This bit has no function when appropriate bit in RGPIO_ECLK is cleared.Table 11. NEC Register



5
IO ports

GPIO IP core has three interfaces.  REF _Ref507257694 \h Figure 3 below shows all three interfaces:
WISHBONE host interface
Auxiliary inputs interface
Interface to external I/O cells and pads

















     


Figure  SEQ Figure \* ARABIC 3. Core Interfaces

WISHBONE host interface

The host interface is a WISHBONE Rev B compliant interface. GPIO IP core works as a slave device only. When it needs the intervention of the local microcontroller, it will assert INTA_O.
        
PortWidthDirectionDescriptionwb_clk_i1InputClock inputswb_rst_i1InputReset inputwb_cyc_i1InputsIndicates valid bus cycle (core select)wb_adr_i15InputsAddress inputswb_dat_i32InputsData inputswb_dat_o32OutputsData outputswb_sel_i4InputsIndicates valid bytes on data bus (during valid cycle it must be 0xf)wb_ack_o1OutputAcknowledgment output (indicates normal transaction termination)wb_err_o1OutputError acknowledgment output (indicates an abnormal transaction termination)wb_rty_o1OutputNot usedwb_we_i1InputWrite transaction when asserted highwb_stb_i1InputIndicates valid data transfer cyclewb_inta_o1OutputInterrupt outputTable  SEQ Table \* ARABIC 10. WISHBONE Interface Signals

Auxiliary inputs

The auxiliary inputs can bypass RGPIO_OUT outputs based on programming of RPGIO_AUX register. Auxiliary inputs are used to multiplex other on-chip peripherals on GPIO pins.

PortWidthDirectionDescriptionaux_i1 - 32InputsGPIO auxiliary inputsTable  SEQ Table \* ARABIC 11. Auxiliary input signals

Interface to external I/O cells and pads

External interface connects GPIO core to external I/O ring cells and pads. To support open-drain or three-state outputs, I/O cells with open-drain or three-state support must be used.
Part of external interface is also ECLK signal. It can be used to register inputs based on external clock reference.

PortWidthDirectionDescriptionin_pad_i1  32InputsGPIO inputsout_pad_o1  32OutputsGPIO outputsoen_padoen_o1  32OutputsGPIO output drivers enables (for three-state or open-drain drivers)ext_clk_pad_i1InputAlternative GPIO inputs' latch clockTable13. External interface
A
Core HW Configuration

This section describes parameters that are set by the user of the core and define configuration of the core. Parameters must be set by the user before actual use of the core in simulation or synthesis.

//
// Number of GPIO I/O signals
//
// This is the most important parameter of the GPIO IP core. It defines how many
// I/O signals core has. Range is from 1 to 32. If more than 32 I/O signals are
// required, use several instances of GPIO IP core.
//
// Default is 16.
//
`define GPIO_IOS 31

//depending on number of GPIO_IOS, define this...
// for example: if there is 26 GPIO_IOS, define GPIO_LINES26
//

`define GPIO_LINES31

//
// Undefine this one if you don't want to remove GPIO block from your design
// but you also don't need it. When it is undefined, all GPIO ports still
// remain valid and the core can be synthesized however internally there is
// no GPIO funationality.
//
// Defined by default (duhh !).
//
`define GPIO_IMPLEMENTED

//
// Define to register all WISHBONE outputs.
//
// Register outputs if you are using GPIO core as a block and synthesizing
// and place&routing it separately from the rest of the system.
//
// If you do not need registered outputs, you can save some area by not defining
// this macro. By default it is defined.
//
`define GPIO_REGISTERED_WB_OUTPUTS

//
// Define to register all GPIO pad outputs.
//
// Register outputs if you are using GPIO core as a block and synthesizing
// and place&routing it separately from the rest of the system.
//
// If you do not need registered outputs, you can save some area by not defining
// this macro. By default it is defined.
//
`define GPIO_REGISTERED_IO_OUTPUTS

//
// Define to avoid using negative edge clock flip-flops for external clock
// (caused by NEC register. Instead an inverted external clock with
// positive edge clock flip-flops will be used.
//
// By default it is not defined.
//
//`define GPIO_NO_NEGEDGE_FLOPS

//
// If GPIO_NO_NEGEDGE_FLOPS is defined, a mux needs to be placed on external clock
// clk_pad_i to implement RGPIO_CTRL[NEC] functionality. If no mux is allowed on
// clock signal, enable the following define.
//
// By default it is not defined.
//
//`define GPIO_NO_CLKPAD_LOGIC

// 
// Undefine if you don't need to read GPIO registers except for RGPIO_IN register.
// When it is undefined all reads of GPIO registers return RGPIO_IN register. This
// is usually useful if you want really small area (for example when implemented in
// FPGA).
//
// To follow GPIO IP core specification document this one must be defined. Also to
// successfully run the test bench it must be defined. By default it is defined.
//
`define GPIO_READREGS

//
// Full WISHBONE address decoding
//
// It is is undefined, partial WISHBONE address decoding is performed.
// Undefine it if you need to save some area.
//
// By default it is defined.
//
`define GPIO_FULL_DECODE

//
// Strict 32-bit WISHBONE access
//
// If this one is defined, all WISHBONE accesses must be 32-bit. If it is
// not defined, err_o is asserted whenever 8- or 16-bit access is made.
// Undefine it if you need to save some area.
//
// By default it is defined.
//
//`define GPIO_STRICT_32BIT_ACCESS
//
`ifdef GPIO_STRICT_32BIT_ACCESS
`else
// added by gorand :
// if GPIO_STRICT_32BIT_ACCESS is not defined,
// depending on number of gpio I/O lines, the following are defined :
// if the number of I/O lines is in range 1-8,   GPIO_WB_BYTES1 is defined,
// if the number of I/O lines is in range 9-16,  GPIO_WB_BYTES2 is defined,
// if the number of I/O lines is in range 17-24, GPIO_WB_BYTES3 is defined,
// if the number of I/O lines is in range 25-32, GPIO_WB_BYTES4 is defined,

`define GPIO_WB_BYTES4
`endif

//
// WISHBONE address bits used for full decoding of GPIO registers.
//
`define GPIO_ADDRHH 7
`define GPIO_ADDRHL 6
`define GPIO_ADDRLH 1
`define GPIO_ADDRLL 0

//
// Bits of WISHBONE address used for partial decoding of GPIO registers.
//
// Default 5:2.
//
`define GPIO_OFS_BITS       `GPIO_ADDRHL-1:`GPIO_ADDRLH+1

//
// Addresses of GPIO registers
//
// To comply with GPIO IP core specification document they must go from
// address 0 to address 0x18 in the following order: RGPIO_IN, RGPIO_OUT,
// RGPIO_OE, RGPIO_INTE, RGPIO_PTRIG, RGPIO_AUX and RGPIO_CTRL
//
// If particular register is not needed, it's address definition can be omitted
// and the register will not be implemented. Instead a fixed default value will
// be used.
//
`define GPIO_RGPIO_IN              4'h0  // Address 0x00
`define GPIO_RGPIO_OUT          4'h1    // Address 0x04
`define GPIO_RGPIO_OE             4'h2  // Address 0x08
`define GPIO_RGPIO_INTE         4'h3    // Address 0x0c
`define GPIO_RGPIO_PTRIG        4'h4    // Address 0x10
`define GPIO_RGPIO_AUX          4'h5    // Address 0x14
`define GPIO_RGPIO_CTRL         4'h6    // Address 0x18
`define GPIO_RGPIO_INTS         4'h7    // Address 0x1c
`define GPIO_RGPIO_ECLK   4'h8  // Address 0x20
`define GPIO_RGPIO_NEC    4'h9  // Address 0x24

//
// Default values for unimplemented GPIO registers
//
`define GPIO_DEF_RGPIO_IN     `GPIO_IOS'h0
`define GPIO_DEF_RGPIO_OUT `GPIO_IOS'h0
`define GPIO_DEF_RGPIO_OE  `GPIO_IOS'h0
`define GPIO_DEF_RGPIO_INTE        `GPIO_IOS'h0
`define GPIO_DEF_RGPIO_PTRIG       `GPIO_IOS'h0
`define GPIO_DEF_RGPIO_AUX `GPIO_IOS'h0
`define GPIO_DEF_RGPIO_CTRL        `GPIO_IOS'h0
`define GPIO_DEF_RGPIO_ECLK `GPIO_IOS'h0
`define GPIO_DEF_RGPIO_NEC `GPIO_IOS'h0


//
// RGPIO_CTRL bits
//
// To comply with the GPIO IP core specification document they must go from
// bit 0 to bit 1 in the following order: INTE, INT
//
`define GPIO_RGPIO_CTRL_INTE                0
`define GPIO_RGPIO_CTRL_INTS          1

 
OpenCores TITLEGPIO IP Core     DATE \@"M/d/yy" 12/17/03


 HYPERLINK "http://www.opencores.org/" http://www.opencores.org/     Rev 1.1  PAGE 6 of  NUMPAGES 21




 EMBED PBrush  




 EMBED Word.Picture.8  


 EMBED Word.Picture.8  







GPIO
IP
Core

WISHBONE I/F
 I/F

AUX IN

ECLK

I/O n

I/O 1

I/O 0

WISHBONE
BUS

RGPIO_OUT
Bypass



 !$*+,-=>hijʴpgpTFhn?h0J6CJ ]%jhn?h6CJ U]h6CJ ]HhL|fh6CJ ]&jHhL|fh6CJ U]hn?h!0J6CJ ]%jhn?h!6CJ U]jh!6CJ U]h!6CJ ]h?B6CJ ]
h?B5CJ4h?BCJHOJQJh?BCJ`^Jh?Bjh?BCJUmHnHu!"#$-=                  $a$$
f!a$
  !f!
f!lmnn                                 E     F     W     X     v               
34_`ab}~ǻǮ۩ǡǝǕǕtktQt2j&h?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHu$jh?whJj10JUmHnHujh?BUh!h?BmHsH    h?B5h?B5CJ$OJQJ^Jh?B6B*CJ phh?Bh?B56CJ,
h?B5CJ$
h?B5CJ 
h!5CJ 
h?B6CJ HhL|fh!6CJ ]
34_`ab}~ǻǮ۩ǡǝǕǕtktQt2j&h?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHu$jh?whJj10JUmHnHujh?BUh!h?BmHsH    h?B5h?B5CJ$OJQJ^Jh?B6B*CJ phh?Bh?B56CJ,
h?B5CJ$
h?B5CJ 
h!5CJ 
h?B6CJ HhL|fh!6CJ ]
                  
                                                                 F     $a$CEƀC|f$
f!a$
f!F W     X     ]     b     i     u     c$If$a$u v     z          7,#        $$Ifa$
                  
                                                                 F     $a$CEƀC|f$
f!a$
f!F W     X     ]     b     i     u     c$If$a$u v     z          7,#        $$Ifa$

!$Ifkd$$Ifl4\3
!<c

!$Ifkd$$Ifl4\3
!<c
       
       
t(&&&&04
t(&&&&04
lap(&&&&                                     c]T      $$Ifa$$IfkdD$$Ifl\3
!<c
lap(&&&&                                     c]T      $$Ifa$$IfkdD$$Ifl\3
!<c


t04
t04
la$If                     G
la$If                     G
icZcc  $$Ifa$$Ifkd$$Ifl\3
!<c
icZcc  $$Ifa$$Ifkd$$Ifl\3
!<c


t04
t04
laG
laG
H
H
L
L
U
U
d
d
icZcc  $$Ifa$$Ifkd$$Ifl\3
!<c
icZcc  $$Ifa$$Ifkd$$Ifl\3
!<c


t04
t04
la
la
icZccc  $$Ifa$$Ifkd$$Ifl\3
!<c
icZccc  $$Ifa$$Ifkd$$Ifl\3
!<c


t04
t04
la 2ig$CEƀC|fkdb$$Ifl\3
!<c
la 2ig$CEƀC|fkdb$$Ifl\3
!<c


t04
t04
la23C,
}

1V *Hk-
!
la23C,
}

1V *Hk-
!

!

!
淬{j淬P2j   h?whJj1>*B*UmHnHphu jh=8UmHnHu2jh?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHuhJj1aJmHnHu$jh?whJj10JUmHnHuhCmHnHu jh=8UmHnHujhJj1UmHnHuhJj1mHnHu"#$=>?@ABCDE`abcijk׻רzi׻ר j
淬{j淬P2j   h?whJj1>*B*UmHnHphu jh=8UmHnHu2jh?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHuhJj1aJmHnHu$jh?whJj10JUmHnHuhCmHnHu jh=8UmHnHujhJj1UmHnHuhJj1mHnHu"#$=>?@ABCDE`abcijk׻רzi׻ר j
h=8UmHnHu2j
h=8UmHnHu2j
h?whJj1>*B*UmHnHphuhJj1mHnHuhJj1aJmHnHu$jh?whJj10JUmHnHuhCmHnHu j h=8UmHnHujhJj1UmHnHuhJj1mHnHuh?whJj10JmHnHu



&
'
(
)
*
+
,
-
.
I
źӄ{aźPӄ{ joh=8UmHnHu2jh?whJj1>*B*UmHnHphuhJj1mHnHuhJj1aJmHnHuhCmHnHu jyh=8UmHnHujhJj1UmHnHuhJj1mHnHuh?whJj10JmHnHu$jh?whJj10JUmHnHu2j
h?whJj1>*B*UmHnHphuhJj1mHnHuhJj1aJmHnHu$jh?whJj10JUmHnHuhCmHnHu j h=8UmHnHujhJj1UmHnHuhJj1mHnHuh?whJj10JmHnHu



&
'
(
)
*
+
,
-
.
I
źӄ{aźPӄ{ joh=8UmHnHu2jh?whJj1>*B*UmHnHphuhJj1mHnHuhJj1aJmHnHuhCmHnHu jyh=8UmHnHujhJj1UmHnHuhJj1mHnHuh?whJj10JmHnHu$jh?whJj10JUmHnHu2j
h?whJj1>*B*UmHnHphuI
J
K
L
\
]
^
w
x
y
z
{
|
}
~
















񹪹ăz`񹪹Oă j[h=8UmHnHu2j
h?whJj1>*B*UmHnHphuhJj1mHnHuhJj1aJmHnHuhCmHnHu je
h=8UmHnHujhJj1UmHnHuhJj1mHnHu$jh?whJj10JUmHnHu2jh?whJj1>*B*UmHnHphuh?whJj10JmHnHu

*+,./0123NOPQ_`az{|~λ񰡰z`񰡰O jGh=8UmHnHu2jh?whJj1>*B*UmHnHphuhJj1aJmHnHuhCmHnHu jQh=8UmHnHujhJj1UmHnHuhJj1mHnHu$jh?whJj10JUmHnHu2jh?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHu456OPQSӰӥz`ӥOz j3h=8UmHnHu2jh?whJj1>*B*UmHnHphuhCmHnHu j=h=8UmHnHujhJj1UmHnHuhJj1mHnHu2jh?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHu$jh?whJj10JUmHnHuhJj1aJmHnHuSTUVWXstuvĻġĖzĻ`ĖO jh=8UmHnHu2jh?whJj1>*B*UmHnHphuhCmHnHu j)h=8UmHnHuhJj1mHnHu2jh?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHuhJj1aJmHnHu$jh?whJj10JUmHnHujhJj1UmHnHu !"=>?@mnoҹҹzҹ`ҹ2jh?whJj1>*B*UmHnHphu jh=8UmHnHuhJj1mHnHu2jh?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHuhJj1aJmHnHu$jh?whJj10JUmHnHuhCmHnHujhJj1UmHnHu    
h?whJj1>*B*UmHnHphuI
J
K
L
\
]
^
w
x
y
z
{
|
}
~
















񹪹ăz`񹪹Oă j[h=8UmHnHu2j
h?whJj1>*B*UmHnHphuhJj1mHnHuhJj1aJmHnHuhCmHnHu je
h=8UmHnHujhJj1UmHnHuhJj1mHnHu$jh?whJj10JUmHnHu2jh?whJj1>*B*UmHnHphuh?whJj10JmHnHu

*+,./0123NOPQ_`az{|~λ񰡰z`񰡰O jGh=8UmHnHu2jh?whJj1>*B*UmHnHphuhJj1aJmHnHuhCmHnHu jQh=8UmHnHujhJj1UmHnHuhJj1mHnHu$jh?whJj10JUmHnHu2jh?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHu456OPQSӰӥz`ӥOz j3h=8UmHnHu2jh?whJj1>*B*UmHnHphuhCmHnHu j=h=8UmHnHujhJj1UmHnHuhJj1mHnHu2jh?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHu$jh?whJj10JUmHnHuhJj1aJmHnHuSTUVWXstuvĻġĖzĻ`ĖO jh=8UmHnHu2jh?whJj1>*B*UmHnHphuhCmHnHu j)h=8UmHnHuhJj1mHnHu2jh?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHuhJj1aJmHnHu$jh?whJj10JUmHnHujhJj1UmHnHu !"=>?@mnoҹҹzҹ`ҹ2jh?whJj1>*B*UmHnHphu jh=8UmHnHuhJj1mHnHu2jh?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHuhJj1aJmHnHu$jh?whJj10JUmHnHuhCmHnHujhJj1UmHnHu    
#$%'()*+,GHIJghi·©©{{j·©P©{2j|h?whJj1>*B*UmHnHphu jh=8UmHnHuhJj1mHnHu2jh?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHuhJj1aJmHnHu$jh?whJj10JUmHnHuhCmHnHujhJj1UmHnHu jh=8UmHnHui &'շ{jշP2jhh?whJj1>*B*UmHnHphu jh=8UmHnHu2jrh?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHuhJj1aJmHnHu$jh?whJj10JUmHnHuhCmHnHujhJj1UmHnHu jh=8UmHnHuhJj1mHnHu'(ABCEFGHIJefgh𶫶zi𶫶O2jTh?whJj1>*B*UmHnHphu jh=8UmHnHu2j^h?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHuhJj1aJmHnHu$jh?whJj10JUmHnHuhCmHnHu jh=8UmHnHuhJj1mHnHujhJj1UmHnHu     
#$%'()*+,GHIJghi·©©{{j·©P©{2j|h?whJj1>*B*UmHnHphu jh=8UmHnHuhJj1mHnHu2jh?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHuhJj1aJmHnHu$jh?whJj10JUmHnHuhCmHnHujhJj1UmHnHu jh=8UmHnHui &'շ{jշP2jhh?whJj1>*B*UmHnHphu jh=8UmHnHu2jrh?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHuhJj1aJmHnHu$jh?whJj10JUmHnHuhCmHnHujhJj1UmHnHu jh=8UmHnHuhJj1mHnHu'(ABCEFGHIJefgh𶫶zi𶫶O2jTh?whJj1>*B*UmHnHphu jh=8UmHnHu2j^h?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHuhJj1aJmHnHu$jh?whJj10JUmHnHuhCmHnHu jh=8UmHnHuhJj1mHnHujhJj1UmHnHu     

()*+IJKdefhijklm׻רzi׻ר jh=8UmHnHu2jJh?whJj1>*B*UmHnHphuhJj1mHnHuhJj1aJmHnHu$jh?whJj10JUmHnHuhCmHnHu jh=8UmHnHujhJj1UmHnHuhJj1mHnHuh?whJj10JmHnHu
&'(*+,-./Jźӄ{aźPӄ{ jh=8UmHnHu2j6h?whJj1>*B*UmHnHphuhJj1mHnHuhJj1aJmHnHuhCmHnHu jh=8UmHnHujhJj1UmHnHuhJj1mHnHuh?whJj10JmHnHu$jh?whJj10JUmHnHu2j@h?whJj1>*B*UmHnHphuJKLMlmn񹪹ăz`񹪹Oă j h=8UmHnHu2j" h?whJj1>*B*UmHnHphuhJj1mHnHuhJj1aJmHnHuhCmHnHu jh=8UmHnHujhJj1UmHnHuhJj1mHnHu$jh?whJj10JUmHnHu2j,h?whJj1>*B*UmHnHphuh?whJj10JmHnHu
12356789:UVWXopqλ񰡰z`񰡰O j"h=8UmHnHu2j"h?whJj1>*B*UmHnHphuhJj1aJmHnHuhCmHnHu j!h=8UmHnHujhJj1UmHnHuhJj1mHnHu$jh?whJj10JUmHnHu2j!h?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHu8M.(
!

()*+IJKdefhijklm׻רzi׻ר jh=8UmHnHu2jJh?whJj1>*B*UmHnHphuhJj1mHnHuhJj1aJmHnHu$jh?whJj10JUmHnHuhCmHnHu jh=8UmHnHujhJj1UmHnHuhJj1mHnHuh?whJj10JmHnHu
&'(*+,-./Jźӄ{aźPӄ{ jh=8UmHnHu2j6h?whJj1>*B*UmHnHphuhJj1mHnHuhJj1aJmHnHuhCmHnHu jh=8UmHnHujhJj1UmHnHuhJj1mHnHuh?whJj10JmHnHu$jh?whJj10JUmHnHu2j@h?whJj1>*B*UmHnHphuJKLMlmn񹪹ăz`񹪹Oă j h=8UmHnHu2j" h?whJj1>*B*UmHnHphuhJj1mHnHuhJj1aJmHnHuhCmHnHu jh=8UmHnHujhJj1UmHnHuhJj1mHnHu$jh?whJj10JUmHnHu2j,h?whJj1>*B*UmHnHphuh?whJj10JmHnHu
12356789:UVWXopqλ񰡰z`񰡰O j"h=8UmHnHu2j"h?whJj1>*B*UmHnHphuhJj1aJmHnHuhCmHnHu j!h=8UmHnHujhJj1UmHnHuhJj1mHnHu$jh?whJj10JUmHnHu2j!h?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHu8M.(
!
CEƀC|f
!
CEƀC|f
!

!

!
+,-FGHJӰӥz`ӥOz ju$h=8UmHnHu2j#h?whJj1>*B*UmHnHphuhCmHnHu j#h=8UmHnHujhJj1UmHnHuhJj1mHnHu2j#h?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHu$jh?whJj10JUmHnHuhJj1aJmHnHuJKLMNOjklmĻġĖzrnrnr[MMhbhJj10JmHnHu$jhbhJj10JUmHnHuh?Bjh?BUhCmHnHu jk%h=8UmHnHuhJj1mHnHu2j$h?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHuhJj1aJmHnHu$jh?whJj10JUmHnHujhJj1UmHnHu
()*+,-./0KLMNstuźӄ{aźPӄ{ jW'h=8UmHnHu2j&hbhJj1>*B*UmHnHphuhJj1mHnHuhJj1aJmHnHuhCmHnHu ja&h=8UmHnHujhJj1UmHnHuhJj1mHnHuhbhJj10JmHnHu$jhbhJj10JUmHnHu2j%hbhJj1>*B*UmHnHphu:;񹪹ă{w{w{dVMVhb       %mHnHuh~Vhb %0JmHnHu$jh~Vhb       %0JUmHnHuh?Bjh?BUhJj1aJmHnHuhCmHnHu jM(h=8UmHnHujhJj1UmHnHuhJj1mHnHu$jhbhJj10JUmHnHu2j'hbhJj1>*B*UmHnHphuhbhJj10JmHnHuD     d#QS(
!
+,-FGHJӰӥz`ӥOz ju$h=8UmHnHu2j#h?whJj1>*B*UmHnHphuhCmHnHu j#h=8UmHnHujhJj1UmHnHuhJj1mHnHu2j#h?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHu$jh?whJj10JUmHnHuhJj1aJmHnHuJKLMNOjklmĻġĖzrnrnr[MMhbhJj10JmHnHu$jhbhJj10JUmHnHuh?Bjh?BUhCmHnHu jk%h=8UmHnHuhJj1mHnHu2j$h?whJj1>*B*UmHnHphuhJj1mHnHuh?whJj10JmHnHuhJj1aJmHnHu$jh?whJj10JUmHnHujhJj1UmHnHu
()*+,-./0KLMNstuźӄ{aźPӄ{ jW'h=8UmHnHu2j&hbhJj1>*B*UmHnHphuhJj1mHnHuhJj1aJmHnHuhCmHnHu ja&h=8UmHnHujhJj1UmHnHuhJj1mHnHuhbhJj10JmHnHu$jhbhJj10JUmHnHu2j%hbhJj1>*B*UmHnHphu:;񹪹ă{w{w{dVMVhb       %mHnHuh~Vhb %0JmHnHu$jh~Vhb       %0JUmHnHuh?Bjh?BUhJj1aJmHnHuhCmHnHu jM(h=8UmHnHujhJj1UmHnHuhJj1mHnHu$jhbhJj10JUmHnHu2j'hbhJj1>*B*UmHnHphuhbhJj10JmHnHuD     d#QS(
!
CEƀC|f;<=opqźӄ{aźPӄ{ j9*hCUmHnHu2j)h~Vhb	%>*B*UmHnHphuhb  %mHnHuhb       %aJmHnHuhCmHnHu jC)hCUmHnHujhb  %UmHnHuhb %mHnHuh~Vhb        %0JmHnHu$jh~Vhb       %0JUmHnHu2j(h~Vhb     %>*B*UmHnHphu   
CEƀC|f;<=opqźӄ{aźPӄ{ j9*hCUmHnHu2j)h~Vhb	%>*B*UmHnHphuhb  %mHnHuhb       %aJmHnHuhCmHnHu jC)hCUmHnHujhb  %UmHnHuhb %mHnHuh~Vhb        %0JmHnHu$jh~Vhb       %0JUmHnHu2j(h~Vhb     %>*B*UmHnHphu   
"#$=>?ABCDEFabcd񹪹ăz`񹪹Oă j%,hCUmHnHu2j+h~Vhb       %>*B*UmHnHphuhb       %mHnHuhb       %aJmHnHuhCmHnHu j/+hCUmHnHujhb  %UmHnHuhb %mHnHu$jh~Vhb  %0JUmHnHu2j*h~Vhb     %>*B*UmHnHphuh~Vhb %0JmHnHu 
"#$=>?ABCDEFabcd񹪹ăz`񹪹Oă j%,hCUmHnHu2j+h~Vhb       %>*B*UmHnHphuhb       %mHnHuhb       %aJmHnHuhCmHnHu j/+hCUmHnHujhb  %UmHnHuhb %mHnHu$jh~Vhb  %0JUmHnHu2j*h~Vhb     %>*B*UmHnHphuh~Vhb %0JmHnHu 
&'()BCD]^_abcλ񰡰z`񰡰O j.hCUmHnHu2j-h~Vhb   %>*B*UmHnHphuhb       %aJmHnHuhCmHnHu j-hCUmHnHujhb  %UmHnHuhb %mHnHu$jh~Vhb  %0JUmHnHu2j,h~Vhb     %>*B*UmHnHphuhb       %mHnHuh~Vhb %0JmHnHucdef Ӱӥz`ӥOz j/hCUmHnHu2j/h~Vhb       %>*B*UmHnHphuhCmHnHu j/hCUmHnHujhb      %UmHnHuhb %mHnHu2j.h~Vhb    %>*B*UmHnHphuhb       %mHnHuh~Vhb %0JmHnHu$jh~Vhb       %0JUmHnHuhb       %aJmHnHu !"#$%@ABCefgĻġĖzĻ`ĖO j1hCUmHnHu2jn1h~Vhb       %>*B*UmHnHphuhCmHnHu j0hCUmHnHuhb    %mHnHu2jx0h~Vhb    %>*B*UmHnHphuhb       %mHnHuh~Vhb %0JmHnHuhb   %aJmHnHu$jh~Vhb       %0JUmHnHujhb      %UmHnHu
/01JKLNOPQR!!!!!!!!"ҹҹzrnrncr_VrnhCmHnHuhCjZ3h?BUh?Bjh?BU j2hCUmHnHuhb %mHnHu2jd2h~Vhb    %>*B*UmHnHphuhb       %mHnHuh~Vhb %0JmHnHuhb   %aJmHnHu$jh~Vhb       %0JUmHnHuhCmHnHujhb        %UmHnHuSVcdTU^_pnCEƀC|f$a$CEƀC|f+4k!I$
&'()BCD]^_abcλ񰡰z`񰡰O j.hCUmHnHu2j-h~Vhb   %>*B*UmHnHphuhb       %aJmHnHuhCmHnHu j-hCUmHnHujhb  %UmHnHuhb %mHnHu$jh~Vhb  %0JUmHnHu2j,h~Vhb     %>*B*UmHnHphuhb       %mHnHuh~Vhb %0JmHnHucdef Ӱӥz`ӥOz j/hCUmHnHu2j/h~Vhb       %>*B*UmHnHphuhCmHnHu j/hCUmHnHujhb      %UmHnHuhb %mHnHu2j.h~Vhb    %>*B*UmHnHphuhb       %mHnHuh~Vhb %0JmHnHu$jh~Vhb       %0JUmHnHuhb       %aJmHnHu !"#$%@ABCefgĻġĖzĻ`ĖO j1hCUmHnHu2jn1h~Vhb       %>*B*UmHnHphuhCmHnHu j0hCUmHnHuhb    %mHnHu2jx0h~Vhb    %>*B*UmHnHphuhb       %mHnHuh~Vhb %0JmHnHuhb   %aJmHnHu$jh~Vhb       %0JUmHnHujhb      %UmHnHu
/01JKLNOPQR!!!!!!!!"ҹҹzrnrncr_VrnhCmHnHuhCjZ3h?BUh?Bjh?BU j2hCUmHnHuhb %mHnHu2jd2h~Vhb    %>*B*UmHnHphuhb       %mHnHuh~Vhb %0JmHnHuhb   %aJmHnHu$jh~Vhb       %0JUmHnHuhCmHnHujhb        %UmHnHuSVcdTU^_pnCEƀC|f$a$CEƀC|f+4k!I$
&F
EƀC|fa$I$
&F
EƀC|fa$I$
&F
EƀC|fa$I$
&F
EƀC|fa$I$
&F
EƀC|fa$4! m k!I$
&F
EƀC|fa$4! m k!I$
&F
EƀC|fa$I$
&F
EƀC|fa$I$
&F
EƀC|fa$I$
&F
EƀC|fa$I$
&F
EƀC|fa$m   e!k!I$
&F
EƀC|fa$m   e!k!I$
&F
EƀC|f       a$I$
&F
EƀC|f       a$I$
&F
EƀC|fa$I$
&F
EƀC|fa$I$
&F
EƀC|fa$e!!!!!!!0"kiCEƀC|f$a$I$
&F
EƀC|fa$e!!!!!!!0"kiCEƀC|f$a$I$
&F
EƀC|f
&F
EƀC|f
a$0"H"W"h"k!I$
a$0"H"W"h"k!I$
&FEƀC|fa$I$
&FEƀC|fa$I$
&FEƀC|fa$I$
&FEƀC|fa$I$
&FEƀC|fa$h"""""""""""""""""""""$a$I$
&FEƀC|fa$h"""""""""""""""""""""$a$I$
&FEƀC|fa$""""""""$$k's'|(}(~(((((((((a-b-n-q---1111q1}177 :q:y:::::;=M>S>T>i>j>k>l>Z?c???????@@AAϷϷ챨hG2fh?B6]aJ
&FEƀC|fa$""""""""$$k's'|(}(~(((((((((a-b-n-q---1111q1}177 :q:y:::::;=M>S>T>i>j>k>l>Z?c???????@@AAϷϷ챨hG2fh?B6]aJ
h?BaJhBXh?BmHnHuh?BCJmHnHuhj3h?BUhCmHnHujh?BUh?Bjh?BCJUmHnHu@""""""""""H###oCEƀC|fCEƀC|f'$a$$a$###$$$$$%%mCEƀC|f$a$$a$CEƀC|f    %%%a&b&&&C''''''oCEƀC|f
h?BaJhBXh?BmHnHuh?BCJmHnHuhj3h?BUhCmHnHujh?BUh?Bjh?BCJUmHnHu@""""""""""H###oCEƀC|fCEƀC|f'$a$$a$###$$$$$%%mCEƀC|f$a$$a$CEƀC|f    %%%a&b&&&C''''''oCEƀC|f
&F$a$CEƀC|f'''|((((C))g*h*w*x*++CEƀC|f'$a$$a$+++,--
..p0122qF$EƀC|fa$$a$CEƀC|f233H444446888nF$EƀC|fa$$a$F$EƀC|fa$8&9'9::: :\;;;;qomcc^
&F$a$CEƀC|f'''|((((C))g*h*w*x*++CEƀC|f'$a$$a$+++,--
..p0122qF$EƀC|fa$$a$CEƀC|f233H444446888nF$EƀC|fa$$a$F$EƀC|fa$8&9'9::: :\;;;;qomcc^
&F       $*$5$9Da$CEƀC|f$a$F$EƀC|fa$
&F       $*$5$9Da$CEƀC|f$a$F$EƀC|fa$
;;;;;;;;<<<<'<t
;;;;;;;;<<<<'<t

!$IfxkdjU$$IfrTj!TF*)a$If'<(<2<=<D<H<Y<$Ifxkd@V$$IfrTj!TF*)aY<Z<c<n<u<y<<$IfxkdW$$IfrTj!TF*)a<<<<<<<$IfxkdW$$IfrTj!TF*)a<<<<<<=$IfxkdX$$IfrTj!TF*)a===*=1=5=`=$Ifxkd`Y$$IfrTj!TF*)a`=a=l=x=z=~==|||||$If}kd(Z$$If4rTj!TF*)af4=======|||||$If}kdZ$$If4rTj!TF*)af4======

!$IfxkdjU$$IfrTj!TF*)a$If'<(<2<=<D<H<Y<$Ifxkd@V$$IfrTj!TF*)aY<Z<c<n<u<y<<$IfxkdW$$IfrTj!TF*)a<<<<<<<$IfxkdW$$IfrTj!TF*)a<<<<<<=$IfxkdX$$IfrTj!TF*)a===*=1=5=`=$Ifxkd`Y$$IfrTj!TF*)a`=a=l=x=z=~==|||||$If}kd(Z$$If4rTj!TF*)af4=======|||||$If}kdZ$$If4rTj!TF*)af4======
>|||||$If}kd[$$If4rTj!TF*)af4
>|||||$If}kd[$$If4rTj!TF*)af4
>>>!>(>,>L>|||||$If}kdJ\$$If4rTj!TF*)af4L>M>>>>>e?}{8{6CEƀC|f'$a$}kd]$$If4rTj!TF*)af4e?f?l?s?y???????~     $$Ifa$
>>>!>(>,>L>|||||$If}kdJ\$$If4rTj!TF*)af4L>M>>>>>e?}{8{6CEƀC|f'$a$}kd]$$If4rTj!TF*)af4e?f?l?s?y???????~     $$Ifa$

!$Ifekd]$$If\b!Va$If

!$Ifekd]$$If\b!Va$If
??????@@@PNCEƀC|f'$a$ekdv^$$If\b!Va@@@@@@@@@@@~    $$Ifa$
??????@@@PNCEƀC|f'$a$ekdv^$$If\b!Va@@@@@@@@@@@~    $$Ifa$

!$Ifekd(_$$If\b!Va$If

!$Ifekd(_$$If\b!Va$If
@@&A'AEAFAOBPBVBPNH$IfCEƀC|f'$a$ekd_$$If\b!VaAAABBBBBBcDdDyDzD{D|DFFFFFFHHHHHHII4J5JJJJJJJrLsLLLLLLLLLMMMMNNNNNNOOOOOOOOOOOOOOOOOOOOOjh?BCJUmHnHuhCjlh?BUhG2fh;*h?Bjh?BUhCmHnHuMVB]BcBoBpBwB{BBB        $$Ifa$
@@&A'AEAFAOBPBVBPNH$IfCEƀC|f'$a$ekd_$$If\b!VaAAABBBBBBcDdDyDzD{D|DFFFFFFHHHHHHII4J5JJJJJJJrLsLLLLLLLLLMMMMNNNNNNOOOOOOOOOOOOOOOOOOOOOjh?BCJUmHnHuhCjlh?BUhG2fh;*h?Bjh?BUhCmHnHuMVB]BcBoBpBwB{BBB        $$Ifa$

!$Ifekd`$$If\b!Va$IfBBBBC
CCCCPNNCEƀC|f'$a$ekdZa$$If\b!VaCCCCDDDDD\D    $$Ifa$

!$Ifekd`$$If\b!Va$IfBBBBC
CCCCPNNCEƀC|f'$a$ekdZa$$If\b!VaCCCCDDDDD\D    $$Ifa$

!$Ifekdb$$If\b!Va$If     \D]DDDDDRFSFYFPNH$IfCEƀC|f'$a$ekdb$$If\b!VaYF`FfFrFsFzF~FFF        $$Ifa$

!$Ifekdb$$If\b!Va$If     \D]DDDDDRFSFYFPNH$IfCEƀC|f'$a$ekdb$$If\b!VaYF`FfFrFsFzF~FFF        $$Ifa$

!$Ifekd~c$$If\b!Va$IfFFGG%G&GGGGPNH$IfCEƀC|f'$a$ekd>d$$If\b!VaGGHH
HHHHH    $$Ifa$

!$Ifekd~c$$If\b!Va$IfFFGG%G&GGGGPNH$IfCEƀC|f'$a$ekd>d$$If\b!VaGGHH
HHHHH    $$Ifa$

!$Ifekdd$$If\b!Va$IfHHHHIIIIIPNH$IfCEƀC|f'$a$ekde$$If\b!VaIIIIIIIIIJ3J{{{      $$Ifa$

!$Ifekdd$$If\b!Va$IfHHHHIIIIIPNH$IfCEƀC|f'$a$ekde$$If\b!VaIIIIIIIIIJ3J{{{      $$Ifa$

!$Ifjkdbf$$If\b!Va$If

!$Ifjkdbf$$If\b!Va$If
3J4J6J:J
3J4J6J:J

!$Ifjkd"g$$If\b!VaJJJJJJKKKKIGGICEƀC|f'$a$jkdg$$If\b!VaKKKKKKKLL,LkL      $$Ifa$

!$Ifjkd"g$$If\b!VaJJJJJJKKKKIGGICEƀC|f'$a$jkdg$$If\b!VaKKKKKKKLL,LkL      $$Ifa$

!$Ifekdh$$If\b!Va$If

!$Ifekdh$$If\b!Va$If
kLlLLLLLLLJEgdG2fFEƀC|f      gdG2fgdG2f'$a$ekdbi$$If\b!VaLLLLLLLLLLMym$$Ifa$gd?B

!$Ifgd?Bjkdj$$If\b!Va $Ifgd?BgdG2f
kLlLLLLLLLJEgdG2fFEƀC|f      gdG2fgdG2f'$a$ekdbi$$If\b!VaLLLLLLLLLLMym$$Ifa$gd?B

!$Ifgd?Bjkdj$$If\b!Va $Ifgd?BgdG2f
MMMMMMMB==gdG2fFEƀC|f
MMMMMMMB==gdG2fFEƀC|f
gdG2fgdG2f'$a$gdG2fjkdj$$If\b!VaMMMMMMMNNN~r$$Ifa$gd?B

!$Ifgd?Bjkdk$$If\b!Va       $Ifgd?B      NNNNNNNNFDCEƀC|f  '$a$gdG2fjkdFl$$If\b!VaNNAOYOtOoF
gdG2fgdG2f'$a$gdG2fjkdj$$If\b!VaMMMMMMMNNN~r$$Ifa$gd?B

!$Ifgd?Bjkdk$$If\b!Va       $Ifgd?B      NNNNNNNNFDCEƀC|f  '$a$gdG2fjkdFl$$If\b!VaNNAOYOtOoF
&FEƀC|fF
&FEƀC|fF
&FEƀC|ftOOOOOOOOOOOOOOOOOOOO$
\a$$a$F
&FEƀC|ftOOOOOOOOOOOOOOOOOOOO$
\a$$a$F
&FEƀC|fOOOOOOOOOOOOOOOOOOOOOOSSSSSSTTUUUUWWXmm)m*mjmkmlmmmvmwmxm}m~mmȼȼȵ쩟hCOJQJ^JjhOJQJU^JhOJQJhOJQJ^Jj9|hOJQJUhhhCJOJQJ^JhhCJOJQJ^JhihCmHnHujh?BUh?Bjh?BCJUmHnHu2OOO
PP&P'PPPPPQQ$IfCEƀC|f       '$a$$a$Q
QQQQ+Q$If       $$Ifa$
&FEƀC|fOOOOOOOOOOOOOOOOOOOOOOSSSSSSTTUUUUWWXmm)m*mjmkmlmmmvmwmxm}m~mmȼȼȵ쩟hCOJQJ^JjhOJQJU^JhOJQJhOJQJ^Jj9|hOJQJUhhhCJOJQJ^JhhCJOJQJ^JhihCmHnHujh?BUh?Bjh?BCJUmHnHu2OOO
PP&P'PPPPPQQ$IfCEƀC|f       '$a$$a$Q
QQQQ+Q$If       $$Ifa$

!$Ifekdum$$If\d     !ds6a+Q,Q5Q7Q=QIQ      $$Ifa$$Ifekd5n$$If\d    !ds6aIQJQSQUQ\QQ      $$Ifa$$Ifekdn$$If\d    !ds6aQQQQQQ      $$Ifa$$Ifekdo$$If\d    !ds6aQQQQQQ      $$Ifa$$IfekdKp$$If\d    !ds6aQQQQQQ      $$Ifa$$Ifekdp$$If\d    !ds6aQQQQQBR      $$Ifa$$Ifekdq$$If\d    !ds6aBRCRLRNRURR      $$Ifa$$Ifekdar$$If\d    !ds6aRRRRRR      $$Ifa$$Ifekds$$If\d    !ds6aRRRSSS      $$Ifa$$Ifekds$$If\d    !ds6aSSSS"SGS      $$Ifa$$Ifekdwt$$If\d    !ds6aGSHSQSSSYS}S      $$Ifa$$Ifekd)u$$If\d    !ds6a}S~SSSSS      $$Ifa$$Ifekdu$$If\d    !ds6aSSSSSSTTPK$a$CEƀC|f  '$a$ekdv$$If\d        !ds6aTTTTTTTTTT

!$Ifekdum$$If\d     !ds6a+Q,Q5Q7Q=QIQ      $$Ifa$$Ifekd5n$$If\d    !ds6aIQJQSQUQ\QQ      $$Ifa$$Ifekdn$$If\d    !ds6aQQQQQQ      $$Ifa$$Ifekdo$$If\d    !ds6aQQQQQQ      $$Ifa$$IfekdKp$$If\d    !ds6aQQQQQQ      $$Ifa$$Ifekdp$$If\d    !ds6aQQQQQBR      $$Ifa$$Ifekdq$$If\d    !ds6aBRCRLRNRURR      $$Ifa$$Ifekdar$$If\d    !ds6aRRRRRR      $$Ifa$$Ifekds$$If\d    !ds6aRRRSSS      $$Ifa$$Ifekds$$If\d    !ds6aSSSS"SGS      $$Ifa$$Ifekdwt$$If\d    !ds6aGSHSQSSSYS}S      $$Ifa$$Ifekd)u$$If\d    !ds6a}S~SSSSS      $$Ifa$$Ifekdu$$If\d    !ds6aSSSSSSTTPK$a$CEƀC|f  '$a$ekdv$$If\d        !ds6aTTTTTTTTTT

!$Ifekd?w$$If\d     !ds6a$If TT)U*USUTUVVVPKK$a$CEƀC|f      '$a$ekdw$$If\d        !ds6aVVVVVVVVVV

!$Ifekd?w$$If\d     !ds6a$If TT)U*USUTUVVVPKK$a$CEƀC|f      '$a$ekdw$$If\d        !ds6aVVVVVVVVVV

!$Ifekdx$$If\

!$Ifekdx$$If\
!Ua$If VVVVVV$Ifekdqy$$If\
!Ua$If VVVVVV$Ifekdqy$$If\
!UaVVVWWOW$Ifekd#z$$If\
!UaVVVWWOW$Ifekd#z$$If\
!UaOWPW^W`WfWW      $$Ifa$$Ifekdz$$If\
!UaOWPW^W`WfWW      $$Ifa$$Ifekdz$$If\
!UaWWWWWWWXXPNLJCEƀC|f
!UaWWWWWWWXXPNLJCEƀC|f
'$a$ekd{$$If\
'$a$ekd{$$If\
!UaXXXXYRYYYYYYYY"Z%Z&Z;Z^A^^^__$_'_G_H_K___` `FEƀK|fgd `A`D`c`d`h``abalaoaabb,b-b0bRbUbbbbFEƀK|fgdbbbcc
!UaXXXXYRYYYYYYYY"Z%Z&Z;Z^A^^^__$_'_G_H_K___` `FEƀK|fgd `A`D`c`d`h``abalaoaabb,b-b0bRbUbbbbFEƀK|fgdbbbcc
c+c.cxccccdd4d7dWd]drddd3eFEƀK|fgd3eeeff/f6f7f:f}ffffffff%g(g8g;gogFEƀK|fgdogpgsgggg'hfhihh     iiiFisiiii*jXjjjFEƀK|fgdjjjjk kGkokkkkl:lcllllllll&mFEƀK|fgd&m)mImimjmlmmmmnnnnn.n/n0n1n2n
c+c.cxccccdd4d7dWd]drddd3eFEƀK|fgd3eeeff/f6f7f:f}ffffffff%g(g8g;gogFEƀK|fgdogpgsgggg'hfhihh     iiiFisiiii*jXjjjFEƀK|fgdjjjjk kGkokkkkl:lcllllllll&mFEƀK|fgd&m)mImimjmlmmmmnnnnn.n/n0n1n2n
$dN
$dN
&dPgdFEƀK|fgdmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnn*n+n,n-n2n3nJnKn̹iǰ̫́yqdjϊC
&dPgdFEƀK|fgdmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnn*n+n,n-n2n3nJnKn̹iǰ̫́yqdjϊC
hCJUVj6hUjhUjN>
hCJUVj6hUjhUjN>
hUVhTThTT0JmHnHu
hUVhTThTT0JmHnHu
h0Jjh0JUhB*ph
h0Jjh0JUhB*ph
h0JjThUjhUhhTTOJQJ^JmHnHuhOJQJ^JhOJQJjhOJQJU^J'KnLnMnPnQnhninjnknsnnnnnnnnh?B
h0JjThUjhUhhTTOJQJ^JmHnHuhOJQJ^JhOJQJjhOJQJU^J'KnLnMnPnQnhninjnknsnnnnnnnnh?B
hCJ
hCJ
hCJ$j7hUj2o<>
hCJ$j7hUj2o<>
hCJUVhj6hUjhU2nNnOnPnlnmnnnonpnqnrnsnxn{nnnnnnnnnnnnnnnn$a$nnnnnnnnngd$a$$a$-
hCJUVhj6hUjhU2nNnOnPnlnmnnnonpnqnrnsnxn{nnnnnnnnnnnnnnnn$a$nnnnnnnnngd$a$$a$-
00
00
;0/ =!"#$%nE
LZd7T6Z/v7PNG
;0/ =!"#$%nE
LZd7T6Z/v7PNG



IHDRc'gAMA    pHYs.>IDATx;P[N|z   (-N|Uÿ-<׃-zW

IHDRc'gAMA    pHYs.>IDATx;P[N|z   (-N|Uÿ-<׃-zW
ؐxmBN(`+Q~
(`?6-U
ؐxmBN(`+Q~
(`?6-U
؁N+`y"q0ijA0u#^aں-Zo[ugӶh
؁N+`y"q0ijA0u#^aں-Zo[ugӶh
X̎m'0L@Jn/MkCaѨ60;mBPԴ[;Ca'v&wrlb;"WňwLG[\0mik'mq6-J(`7ڢ-)`lB[ܥ06zulQ#47y1ͬmQ+ÞGR@(E؟*{&{U[=ܽ
1ͱE輙a{nآ۫+j0&hq0   Mq.0_0P19樀mX-0µE8G.\[PFaMiVӸKQ@#b5
X̎m'0L@Jn/MkCaѨ60;mBPԴ[;Ca'v&wrlb;"WňwLG[\0mik'mq6-J(`7ڢ-)`lB[ܥ06zulQ#47y1ͬmQ+ÞGR@(E؟*{&{U[=ܽ
1ͱE輙a{nآ۫+j0&hq0   Mq.0_0P19樀mX-0µE8G.\[PFaMiVӸKQ@#b5
hA[,Hai5).m,T-V0ZPX[PMڢhm<\FP,\[zSTLae`v
hA[,Hai5).m,T-V0ZPX[PMڢhm<\FP,\[zSTLae`v
j\դ-nQ3?S.chHO1H mQ+2vf[j@jm.thL
N[41:S
j\դ-nQ3?S.chHO1H mQ+2vf[j@jm.thL
N[41:S
m!h`;EN܉!t̝z@SڢOt.A=PKmq)Vfk<
m!h`;EN܉!t̝z@SڢOt.A=PKmq)Vfk<
w+*.Ⱥ,Y1-^"m&cPm->4FƺnF؉z_mLNn[T/ѓ/Ngj+hfV/NFjcjFAVm[ 7 1m-:DCH`Co-RK`Cۢgߋ*tVw=3j~h]1{q-ER~stً֚cm4Kpf*x}Nkd=ؼEUQ|%Lka=y-9x6|Ueeܙ@W{7MuUx[^&^󄘺vؓ}OU;,=b`U+ӬSadO9%ZmEP!9y.fɞ<-j^~*ǩ}<ɯ.`u7g陟{r-oӭ?O#L{=9w1w̲;XM`Yj?ꂇ|U,!s9VgOU~]jE^Ixa	occ=Cz>'1Z<̶'a~>=OUYӵϟGϥʹqmVEwYVz=k=tؓTEm}kkWgw.ݬQDXO'[v\^ٔ5B[=5}YP,B2(8;ڟp`/QpBlg]?4~nGbϯ+O.'S}ˉ/߽o=ǃnySApa-|X9HUA47Vɱ[.5       Ik]zp+g!%]א,ގ/}ê;Mgۆo-4f9%BW(댭j0b*}^JI]n3 [Vu}N\٭f[0s&^==*>M}Uf;KHhѶT~lux9Oh'w^]{Hbg÷QW97+xy@ɨ_!V̗mjmٓh)@ݱi[i]{X0ۍh{
w+*.Ⱥ,Y1-^"m&cPm->4FƺnF؉z_mLNn[T/ѓ/Ngj+hfV/NFjcjFAVm[ 7 1m-:DCH`Co-RK`Cۢgߋ*tVw=3j~h]1{q-ER~stً֚cm4Kpf*x}Nkd=ؼEUQ|%Lka=y-9x6|Ueeܙ@W{7MuUx[^&^󄘺vؓ}OU;,=b`U+ӬSadO9%ZmEP!9y.fɞ<-j^~*ǩ}<ɯ.`u7g陟{r-oӭ?O#L{=9w1w̲;XM`Yj?ꂇ|U,!s9VgOU~]jE^Ixa	occ=Cz>'1Z<̶'a~>=OUYӵϟGϥʹqmVEwYVz=k=tؓTEm}kkWgw.ݬQDXO'[v\^ٔ5B[=5}YP,B2(8;ڟp`/QpBlg]?4~nGbϯ+O.'S}ˉ/߽o=ǃnySApa-|X9HUA47Vɱ[.5       Ik]zp+g!%]א,ގ/}ê;Mgۆo-4f9%BW(댭j0b*}^JI]n3 [Vu}N\٭f[0s&^==*>M}Uf;KHhѶT~lux9Oh'w^]{Hbg÷QW97+xy@ɨ_!V̗mjmٓh)@ݱi[i]{X0ۍh{
ު-RH>Lճ/WZi֯_.RaΒ=䫳]pKWSyEL|Ef
ު-RH>Lճ/WZi֯_.RaΒ=䫳]pKWSyEL|Ef
`}Xfso)>SWe?/+!{rgm"ŋw$-`/\<;|W=C9mn"oWTpߞQn\=ə={EU;?N6^_vpu.]ܦJ VjUS[kU?
`}Xfso)>SWe?/+!{rgm"ŋw$-`/\<;|W=C9mn"oWTpߞQn\=ə={EU;?N6^_vpu.]ܦJ VjUS[kU?
ZR0`}p9c;ߜ%zpsp4>/}k4Ul-c9~zOWQeuwGe_owiن=\zEa>, "˱C
ZR0`}p9c;ߜ%zpsp4>/}k4Ul-c9~zOWQeuwGe_owiن=\zEa>, "˱C
;>ǁ1mYK
amZf6WvmFE
;>ǁ1mYK
amZf6WvmFE
mavlau]*"     zB{H-cnˢTN}h2靉
mavlau]*"     zB{H-cnˢTN}h2靉
L*J[pHϦ$0@muf#V[wqylbµE)樀UEl$
L*J[pHϦ$0@muf#V[wqylbµE)樀UEl$
Ϙmh{_y:U-RX<
Zkyǻ-Rp1au
Ϙmh{_y:U-RX<
Zkyǻ-Rp1au
`mEd;phl,_Snv;^kHQ߬3*bHQ#]3Y[50"-e1MpMԳqϏ^2e[$׬m@GERIat1}[$
`mEd;phl,_Snv;^kHQ߬3*bHQ#]3Y[50"-e1MpMԳqϏ^2e[$׬m@GERIat1}[$
m@cER-Ia43gj,ul~;xŧ0e"MSX-RsJ:mj  3=ٻ֚m_9iu݂xgTd
m@cER-Ia43gj,ul~;xŧ0e"MSX-RsJ:mj  3=ٻ֚m_9iu݂xgTd
`EܪX^mƷ][^!*}
`EܪX^mƷ][^!*}
`1EjXϾmĺu[*U^ī
`1EjXϾmĺu[*U^ī
`a"A*i_Ľ-U؁ѯ*MhG*}hrj@U[v-zW ؐ8\ؓ8T~b-8-8-8-8-8I_iFCIENDB`DyKlampret@opencores.orgyK:mailto:lampret@opencores.orgDyKgoran.djakovic@flextronics.siyKJmailto:goran.djakovic@flextronics.sil$$If!vh5<5c55
`a"A*i_Ľ-U؁ѯ*MhG*}hrj@U[v-zW ؐ8\ؓ8T~b-8-8-8-8-8I_iFCIENDB`DyKlampret@opencores.orgyK:mailto:lampret@opencores.orgDyKgoran.djakovic@flextronics.siyKJmailto:goran.djakovic@flextronics.sil$$If!vh5<5c55
#v<#vc#v#v
#v<#vc#v#v
:Vl4    
:Vl4    
t(&&&&05<5c55
t(&&&&05<5c55
/
/
////4p(&&&&$$If!vh5<5c55
////4p(&&&&$$If!vh5<5c55
#v<#vc#v#v
#v<#vc#v#v
:Vl
:Vl
t05<5c55
t05<5c55
/4$$If!vh5<5c55
/4$$If!vh5<5c55
#v<#vc#v#v
#v<#vc#v#v
:Vl
:Vl
t05<5c55
t05<5c55
4$$If!vh5<5c55
4$$If!vh5<5c55
#v<#vc#v#v
#v<#vc#v#v
:Vl
:Vl
t05<5c55
t05<5c55
4$$If!vh5<5c55
4$$If!vh5<5c55
#v<#vc#v#v
#v<#vc#v#v
:Vl
:Vl
t05<5c55
t05<5c55
4$$If!vh5<5c55
4$$If!vh5<5c55
#v<#vc#v#v
#v<#vc#v#v
:Vl
:Vl
t05<5c55
t05<5c55
4{DyK
_Toc59430581{DyK
_Toc59430581{DyK
_Toc59430582{DyK
_Toc59430582{DyK
_Toc59430583{DyK
_Toc59430583{DyK
_Toc59430584{DyK
_Toc59430584{DyK
_Toc59430585{DyK
_Toc59430585{DyK
_Toc59430586{DyK
_Toc59430586{DyK
_Toc59430587{DyK
_Toc59430587{DyK
_Toc59430588{DyK
_Toc59430588{DyK
_Toc59430589{DyK
_Toc59430589{DyK
_Toc59430590{DyK
_Toc59430590{DyK
_Toc59430591{DyK
_Toc59430591{DyK
_Toc59430592{DyK
_Toc59430592{DyK
_Toc59430593{DyK
_Toc59430593{DyK
_Toc59430594{DyK
_Toc59430594{DyK
_Toc59430595{DyK
_Toc59430595{DyK
_Toc59430596{DyK
_Toc59430596{DyK
_Toc59430597{DyK
_Toc59430597{DyK
_Toc59430598{DyK
_Toc59430598{DyK
_Toc59430599{DyK
_Toc59430599{DyK
_Toc59430600{DyK
_Toc59430600{DyK
_Toc59430601{DyK
_Toc59430601{DyK
_Toc59430602{DyK
_Toc59430602{DyK
_Toc59430603{DyK
_Toc59430603{DyK
_Toc59430604{DyK
_Toc59430604{DyK
_Toc59430605{DyK
_Toc59430605{DyK
_Toc59430606{DyK
_Toc59430606{DyK
_Toc59430607{DyK
_Toc59430607{DyK
_Toc59430608{DyK
_Toc59430608{DyK
_Toc59430609{DyK
_Toc59430609{DyK
_Toc59430610{DyK
_Toc59430610{DyK
_Toc59430611{DyK
_Toc59430611{DyK
_Toc59430612{DyK
_Toc59430612{DyK
_Toc59430613{DyK
_Toc59430613{DyK
_Toc59430614{DyK
_Toc59430614{DyK
_Toc59430615{DyK
_Toc59430615{DyK
_Toc59430740{DyK
_Toc59430740{DyK
_Toc59430741{DyK
_Toc59430741{DyK
_Toc59430742{DyK
_Toc59430742{DyK
_Toc59430743{DyK
_Toc59430743{DyK
_Toc59430744{DyK
_Toc59430744{DyK
_Toc59430745{DyK
_Toc59430745{DyK
_Toc59430746{DyK
_Toc59430746{DyK
_Toc59430747{DyK
_Toc59430747{DyK
_Toc59430748{DyK
_Toc59430748{DyK
_Toc59430749{DyK
_Toc59430749{DyK
_Toc59430750{DyK
_Toc59430750}DyK_Ref507257934!Ddz
d
4{DyK
_Toc59430581{DyK
_Toc59430581{DyK
_Toc59430582{DyK
_Toc59430582{DyK
_Toc59430583{DyK
_Toc59430583{DyK
_Toc59430584{DyK
_Toc59430584{DyK
_Toc59430585{DyK
_Toc59430585{DyK
_Toc59430586{DyK
_Toc59430586{DyK
_Toc59430587{DyK
_Toc59430587{DyK
_Toc59430588{DyK
_Toc59430588{DyK
_Toc59430589{DyK
_Toc59430589{DyK
_Toc59430590{DyK
_Toc59430590{DyK
_Toc59430591{DyK
_Toc59430591{DyK
_Toc59430592{DyK
_Toc59430592{DyK
_Toc59430593{DyK
_Toc59430593{DyK
_Toc59430594{DyK
_Toc59430594{DyK
_Toc59430595{DyK
_Toc59430595{DyK
_Toc59430596{DyK
_Toc59430596{DyK
_Toc59430597{DyK
_Toc59430597{DyK
_Toc59430598{DyK
_Toc59430598{DyK
_Toc59430599{DyK
_Toc59430599{DyK
_Toc59430600{DyK
_Toc59430600{DyK
_Toc59430601{DyK
_Toc59430601{DyK
_Toc59430602{DyK
_Toc59430602{DyK
_Toc59430603{DyK
_Toc59430603{DyK
_Toc59430604{DyK
_Toc59430604{DyK
_Toc59430605{DyK
_Toc59430605{DyK
_Toc59430606{DyK
_Toc59430606{DyK
_Toc59430607{DyK
_Toc59430607{DyK
_Toc59430608{DyK
_Toc59430608{DyK
_Toc59430609{DyK
_Toc59430609{DyK
_Toc59430610{DyK
_Toc59430610{DyK
_Toc59430611{DyK
_Toc59430611{DyK
_Toc59430612{DyK
_Toc59430612{DyK
_Toc59430613{DyK
_Toc59430613{DyK
_Toc59430614{DyK
_Toc59430614{DyK
_Toc59430615{DyK
_Toc59430615{DyK
_Toc59430740{DyK
_Toc59430740{DyK
_Toc59430741{DyK
_Toc59430741{DyK
_Toc59430742{DyK
_Toc59430742{DyK
_Toc59430743{DyK
_Toc59430743{DyK
_Toc59430744{DyK
_Toc59430744{DyK
_Toc59430745{DyK
_Toc59430745{DyK
_Toc59430746{DyK
_Toc59430746{DyK
_Toc59430747{DyK
_Toc59430747{DyK
_Toc59430748{DyK
_Toc59430748{DyK
_Toc59430749{DyK
_Toc59430749{DyK
_Toc59430750{DyK
_Toc59430750}DyK_Ref507257934!Ddz
d


C@A(wishbone_compatibleb /'(`
C@A(wishbone_compatibleb /'(`
sG/ 4n /'(`
sG/ 4n /'(`
sG/PNG
sG/PNG



IHDRoEEPsBIT&C`PLTE9J)9){ksZcJRo~tRNS@fcmPPJCmp0712HsIDATx^] Zv)9G[8UR

IHDRoEEPsBIT&C`PLTE9J)9){ksZcJRo~tRNS@fcmPPJCmp0712HsIDATx^] Zv)9G[8UR
|$tu
|$tu
+PW@]u
+PW@]u
_S R_<qZ}w
_S R_<qZ}w
lX
lX
Dh;橺8[눊HEp4QpUBH0q4?W43`Y`FøU=Hg7_W
u$Ϳ5WUz-0qu4_;?{4\1ޟ\WM:x
ƦW
cW]XLsTVݤ~qW
1n03`UíC#pDA       tI34*{2xA3    `&,6$GVMG-6ઋ&UH3`,+F
osU\A3CjsAYD'YLga<.I@U##,K@:Y2*tD\J@g#vB`~g?vy<̃D3Gx Wm1AcS\%1~顙c#\,ׁɑ~!9UR:Đ?o0}p'#4m(%)UO4ab9G,M構јU-@F`rt.;-\s}O3GJr,U2+Æ_ƛg[p3?D"`B0b`ܙك
Dh;橺8[눊HEp4QpUBH0q4?W43`Y`FøU=Hg7_W
u$Ϳ5WUz-0qu4_;?{4\1ޟ\WM:x
ƦW
cW]XLsTVݤ~qW
1n03`UíC#pDA       tI34*{2xA3    `&,6$GVMG-6ઋ&UH3`,+F
osU\A3CjsAYD'YLga<.I@U##,K@:Y2*tD\J@g#vB`~g?vy<̃D3Gx Wm1AcS\%1~顙c#\,ׁɑ~!9UR:Đ?o0}p'#4m(%)UO4ab9G,M構јU-@F`rt.;-\s}O3GJr,U2+Æ_ƛg[p3?D"`B0b`ܙك
8i?hLrQHU]R-rOcP%[=6[vm4F>1(g9\
mZvWV7{
8i?hLrQHU]R-rOcP%[=6[vm4F>1(g9\
mZvWV7{

~
a'Q.m E?ʍ4Xji{_&4Px@>evhFcr$9v}?

~
a'Q.m E?ʍ4Xji{_&4Px@>evhFcr$9v}?
D_/J}y7*bOȎQ+p=>xJPUOAf:L"NseB?Dkv}>1R\UUgp<!WXd%V7"ժ/?IhLM<-A;ߠr#ffL(DqxV6r891+0J셅mL-=O'hԠc#*r:b칭0
D_/J}y7*bOȎQ+p=>xJPUOAf:L"NseB?Dkv}>1R\UUgp<!WXd%V7"ժ/?IhLM<-A;ߠr#ffL(DqxV6r891+0J셅mL-=O'hԠc#*r:b칭0
8}B—ӆh.H@јW
8}B—ӆh.H@јW
&OΧ!
yO{\l'j۟ӱ8	#h*t>&?_6@KI3M"+ڻtMqHjV24Cj%N+/z MM2t"*sT˂)JDvǚCܥu0fF.Vm#ɱeUˬst>(,`1(5bը.@natF;bpmJkX   z0ǫ:x    p"P`̣dp&  !=dSNPg48nR.7ތ
QW=!c4+`tQgb.?}CfW&Gz\{u8Kw"Zg6L/7l4=t;Vwo)0m,QE?FA38N\ku(4ɣEH7wnbehO;(!ףY&*FʭfQ'cwyؙ$cX#`1
d<.@+\O,=Ľ8vqPn(Tl<򘁾d(0|1;3ލ4.SaMX@
&OΧ!
yO{\l'j۟ӱ8	#h*t>&?_6@KI3M"+ڻtMqHjV24Cj%N+/z MM2t"*sT˂)JDvǚCܥu0fF.Vm#ɱeUˬst>(,`1(5bը.@natF;bpmJkX   z0ǫ:x    p"P`̣dp&  !=dSNPg48nR.7ތ
QW=!c4+`tQgb.?}CfW&Gz\{u8Kw"Zg6L/7l4=t;Vwo)0m,QE?FA38N\ku(4ɣEH7wnbehO;(!ףY&*FʭfQ'cwyؙ$cX#`1
d<.@+\O,=Ľ8vqPn(Tl<򘁾d(0|1;3ލ4.SaMX@
m(s޲Lwy7GꆥuXqk$cnL;X[@#Ɛ?%&PON)rhXhauwu͉ꆭuPhD}H^^&UHz_Cҹ/s,}R:-jW|y~##hx̫e,	E^D@%2e>ißU 24H)<;(ޙBͧX/QH~f
m(s޲Lwy7GꆥuXqk$cnL;X[@#Ɛ?%&PON)rhXhauwu͉ꆭuPhD}H^^&UHz_Cҹ/s,}R:-jW|y~##hx̫e,	E^D@%2e>ißU 24H)<;(ޙBͧX/QH~f
T\նF]|`I<5  Cn*\5i'"T
T\նF]|`I<5  Cn*\5i'"T
Imui2NsSi:f˳Kl1IIPd)dce"269QP2c7Oč!5
Imui2NsSi:f˳Kl1IIPd)dce"269QP2c7Oč!5
0KWՐBsw@4ഌ
0KWՐBsw@4ഌ
4!&t
r|Je˕dYO[[~8L)"07>ԐYaJ91[vH#L!*~̏׀IyD#HO(:@-E[Ya|;zğ%za`"%"?
4!&t
r|Je˕dYO[[~8L)"07>ԐYaJ91[vH#L!*~̏׀IyD#HO(:@-E[Ya|;zğ%za`"%"?
Bԉٙ:lbڿXW~'pÕg[P|b!MzdQoS
Bԉٙ:lbڿXW~'pÕg[P|b!MzdQoS
˾Z0,(4pY͓dZphe0ˊ,dztH{%ئ9M
˾Z0,(4pY͓dZphe0ˊ,dztH{%ئ9M
V7j(}~/!&na`L衙
V7j(}~/!&na`L衙
&}MX0e	=,M{iiho4xQT$!lF±` .5Z?LN0HӾ8`u83fO{a'/_Ĺ2P xj!-$8+g	~2hnNrNTKNƊ(V(Rbx؞U$7|vO,8|uzu|(	|4J;
&}MX0e	=,M{iiho4xQT$!lF±` .5Z?LN0HӾ8`u83fO{a'/_Ĺ2P xj!-$8+g	~2hnNrNTKNƊ(V(Rbx؞U$7|vO,8|uzu|(	|4J;
^mo)f&\^{)f͔E#nM(&|6'`Iv3A2WL}CJ)DXXmAiZՀjB;5@ײ{gpn\J(>1B#ڊQ_"dBLmRJB9SuoBޟhjeR
^mo)f&\^{)f͔E#nM(&|6'`Iv3A2WL}CJ)DXXmAiZՀjB;5@ײ{gpn\J(>1B#ڊQ_"dBLmRJB9SuoBޟhjeR
j;injpp]Rj'px$(E8c;L^ltxΖϝgmYG%Շ(7 DF)B!^C熈[E^2WPqPp_.=v&dy	.Ł.qZ9R$r6S	;,*&`
j;injpp]Rj'px$(E8c;L^ltxΖϝgmYG%Շ(7 DF)B!^C熈[E^2WPqPp_.=v&dy	.Ł.qZ9R$r6S	;,*&`
!(fBJN֤mK~D
!(fBJN֤mK~D
]J\ZI,\D[**G-gPml       ,EWZVi?f-KP޹50&3QԠќq9A"lfmLVv-\*{Hir&-IZXtOYhѓI
]J\ZI,\D[**G-gPml       ,EWZVi?f-KP޹50&3QԠќq9A"lfmLVv-\*{Hir&-IZXtOYhѓI
/+EJ,J 7q^     qvvE X=/3I[JDLaJ$X!ëSJ7b1J.rlC,@-"}cTڃ5=oᴅHȂ<ni?%FE6oHfڊQMvQJL-ǙW@\6Ezm:Em
/+EJ,J 7q^     qvvE X=/3I[JDLaJ$X!ëSJ7b1J.rlC,@-"}cTڃ5=oᴅHȂ<ni?%FE6oHfڊQMvQJL-ǙW@\6Ezm:Em
rM帏+{I3A0n:Q9̀ijdI5:±=‘YލM_fAoF΃;HDR&j?^nJkUqlp-JM=,2Cz9>?=&"sj՝bKWma
rM帏+{I3A0n:Q9̀ijdI5:±=‘YލM_fAoF΃;HDR&j?^nJkUqlp-JM=,2Cz9>?=&"sj՝bKWma
xdŌE2x޻
FKim=
$  w j      {I{uw~YՏ3'puM:۝J0OS])>9e^}Xu]ؠ**ځ)I`4}J/h{f -Wqh;Р@bvq4c))7g^LWZ5Hm#W.A
xdŌE2x޻
FKim=
$  w j      {I{uw~YՏ3'puM:۝J0OS])>9e^}Xu]ؠ**ځ)I`4}J/h{f -Wqh;Р@bvq4c))7g^LWZ5Hm#W.A
0zjD0r39Y4IԷ֘i      
0zjD0r39Y4IԷ֘i      
od#NXxW\`:\
od#NXxW\`:\
BZGBY~ܻ8HhG$29]      T
pRzWy>~tLkAS@%^% Fv)ZڴW":?=m~vqUsEV=9O/o4c  ˇPŽڗ;lJI       S*! !e>/Oj$z&v8vSdIsm_gȔy^ij5NTA*=9` ?-*1-E{C̉Try{rAǗ}qSjԔRNAa0ses?=;P}X#ږU#'iU0xR"8bYvs8,2?~PrCR+f81P     “w(a@r
BZGBY~ܻ8HhG$29]      T
pRzWy>~tLkAS@%^% Fv)ZڴW":?=m~vqUsEV=9O/o4c  ˇPŽڗ;lJI       S*! !e>/Oj$z&v8vSdIsm_gȔy^ij5NTA*=9` ?-*1-E{C̉Try{rAǗ}qSjԔRNAa0ses?=;P}X#ږU#'iU0xR"8bYvs8,2?~PrCR+f81P     “w(a@r
(luB @/ԌFbxRJHB쾲ұ3QY6O
(luB @/ԌFbxRJHB쾲ұ3QY6O
qEC>o
0]lV6MeEgKiwVL7rd0EZks-!?@fhZ3ZGMmR;4/=ͨ鍲ЎR6+or;b%ڟtyRHn&h#[IS'{ra,?
וl'a+, i
qEC>o
0]lV6MeEgKiwVL7rd0EZks-!?@fhZ3ZGMmR;4/=ͨ鍲ЎR6+or;b%ڟtyRHn&h#[IS'{ra,?
וl'a+, i
p   ̧OZ_oEU̯@ʘ"joc󐲙B%l;^U1
p   ̧OZ_oEU̯@ʘ"joc󐲙B%l;^U1
1ZG>Dmq;1?}$رfU<ӖfFq@;E؂	Ok&v$aiU+;l;R^W o-ADC9"h,ZnX:U]utw.MφGؑ 3X柎A@8\&U&Np>-2-~~ʹK[FolX2UjB$?0W&Ըn@ ._6J%8xuPfUwF8Q
ei.UXz,aHjXlGB%^Խ2cVUsThκtOmU"pBM:0	FZ18QZ`NU~S.MJ/Oxt*UybtrfF Lv|R02Q &NhoQUrQǗԔ#lnm(w;E^IZA'%{͞zWR`(8*}1Eܲn2GόMZ?d]     B"[vT1U͊gVZRʹ9rf{y4{F&eŜ b&x+l(ZڎmwTe-fr@8rx">W݁=~rDGDq={f3p3U,J'oFd{1d:چќc[KIz8 G87ާP9۩bE   v,~_OR9B20#M:u0A]EEb:JZ?r|?pFE'AǢq/桉JTuԵ\P$Y k@EGf36]OۓĦof4bhRIiPQǪf~`
1ZG>Dmq;1?}$رfU<ӖfFq@;E؂	Ok&v$aiU+;l;R^W o-ADC9"h,ZnX:U]utw.MφGؑ 3X柎A@8\&U&Np>-2-~~ʹK[FolX2UjB$?0W&Ըn@ ._6J%8xuPfUwF8Q
ei.UXz,aHjXlGB%^Խ2cVUsThκtOmU"pBM:0	FZ18QZ`NU~S.MJ/Oxt*UybtrfF Lv|R02Q &NhoQUrQǗԔ#lnm(w;E^IZA'%{͞zWR`(8*}1Eܲn2GόMZ?d]     B"[vT1U͊gVZRʹ9rf{y4{F&eŜ b&x+l(ZڎmwTe-fr@8rx">W݁=~rDGDq={f3p3U,J'oFd{1d:چќc[KIz8 G87ާP9۩bE   v,~_OR9B20#M:u0A]EEb:JZ?r|?pFE'AǢq/桉JTuԵ\P$Y k@EGf36]OۓĦof4bhRIiPQǪf~`
'3؀v?mOR̞{(یѹk̏5aAXQV_C\zEpg<MWnWu/XGq\ex% #
'3؀v?mOR̞{(یѹk̏5aAXQV_C\zEpg<MWnWu/XGq\ex% #
Ys")cJP     z#qu¹S=o?4\r'uZMqO՜v
Ys")cJP     z#qu¹S=o?4\r'uZMqO՜v
^MTI+"CO»_%MzCBWґ@_?="fRi*7߽OEUe{Ƕ%E_qٽ.. |sw77'W˜ZڳZL:(Ǔ2ښIh7Xf64kt'7YDq>oCTUlzAzFYx7p;XgIB]gxo5|QL%       Fͬ;yhj9L`bۯYGXAssv>M)?+vNMW-]4vqhZew$,
^MTI+"CO»_%MzCBWґ@_?="fRi*7߽OEUe{Ƕ%E_qٽ.. |sw77'W˜ZڳZL:(Ǔ2ښIh7Xf64kt'7YDq>oCTUlzAzFYx7p;XgIB]gxo5|QL%       Fͬ;yhj9L`bۯYGXAssv>M)?+vNMW-]4vqhZew$,
c@Gw1.Z^U}DDAK
<ŕÅw0%KJ'r/&=KzvLt0.$G6r{b+zOy{Ҩ6$Ő
c@Gw1.Z^U}DDAK
<ŕÅw0%KJ'r/&=KzvLt0.$G6r{b+zOy{Ҩ6$Ő
Y5b,G=Ybc4$8 C43JWgI4oMH}r  1sEAӟUM    ~sŏu5e&:qI,Pm	
Y5b,G=Ybc4$8 C43JWgI4oMH}r  1sEAӟUM    ~sŏu5e&:qI,Pm	
&:
6ӉE61F1*ƯL4/*5        ˜N#f4&6-8VG
&:
6ӉE61F1*ƯL4/*5        ˜N#f4&6-8VG
c       t(/FXj"VKh+W&E0+9k_`FXjqwyi#-e=
Yl4&pUT
z_E'eѤYqL]oW߇%(#r[ZY&Uye$P}`0Ь\pд]᳕FUڬ030hVFДhr>ɡWYYwN
[~z||Z
c       t(/FXj"VKh+W&E0+9k_`FXjqwyi#-e=
Yl4&pUT
z_E'eѤYqL]oW߇%(#r[ZY&Uye$P}`0Ь\pд]᳕FUڬ030hVFДhr>ɡWYYwN
[~z||Z
w~
w~
|H/ۦMMK'[NIwON@]u
|H/ۦMMK'[NIwON@]u
+PW@]u
+PW@]u
+PW{4IENDB`$$If!vh5T5F55*5)#vT#vF#v#v*#v):V5T5F55*5)////4a$$If!vh5T5F55*5)#vT#vF#v#v*#v):V5T5F55*5)///4a$$If!vh5T5F55*5)#vT#vF#v#v*#v):V5T5F55*5)///4a$$If!vh5T5F55*5)#vT#vF#v#v*#v):V5T5F55*5)///4a$$If!vh5T5F55*5)#vT#vF#v#v*#v):V5T5F55*5)///4a$$If!vh5T5F55*5)#vT#vF#v#v*#v):V5T5F55*5)///4a$$If!vh5T5F55*5)#vT#vF#v#v*#v):V45T5F55*5)/4af4$$If!vh5T5F55*5)#vT#vF#v#v*#v):V45T5F55*5)/4af4$$If!vh5T5F55*5)#vT#vF#v#v*#v):V45T5F55*5)/4af4$$If!vh5T5F55*5)#vT#vF#v#v*#v):V45T5F55*5)/4af4$$If!vh5T5F55*5)#vT#vF#v#v*#v):V45T5F55*5)/4af4$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5///4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5///4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5///4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5///4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5///4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5///4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5///4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5///4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5///4a}DyK_Ref507257694$$If!vh5d55s56#vd#v#vs#v6:V5d55s56////4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56////4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh555U5#v#v#vU#v:V555U5////4a$$If!vh555U5#v#v#vU#v:V555U5///4a$$If!vh555U5#v#v#vU#v:V555U5///4a$$If!vh555U5#v#v#vU#v:V555U5///4a$$If!vh555U5#v#v#vU#v:V555U5///4aDd6d
+PW{4IENDB`$$If!vh5T5F55*5)#vT#vF#v#v*#v):V5T5F55*5)////4a$$If!vh5T5F55*5)#vT#vF#v#v*#v):V5T5F55*5)///4a$$If!vh5T5F55*5)#vT#vF#v#v*#v):V5T5F55*5)///4a$$If!vh5T5F55*5)#vT#vF#v#v*#v):V5T5F55*5)///4a$$If!vh5T5F55*5)#vT#vF#v#v*#v):V5T5F55*5)///4a$$If!vh5T5F55*5)#vT#vF#v#v*#v):V5T5F55*5)///4a$$If!vh5T5F55*5)#vT#vF#v#v*#v):V45T5F55*5)/4af4$$If!vh5T5F55*5)#vT#vF#v#v*#v):V45T5F55*5)/4af4$$If!vh5T5F55*5)#vT#vF#v#v*#v):V45T5F55*5)/4af4$$If!vh5T5F55*5)#vT#vF#v#v*#v):V45T5F55*5)/4af4$$If!vh5T5F55*5)#vT#vF#v#v*#v):V45T5F55*5)/4af4$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5///4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5///4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5///4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5///4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5///4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5///4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5///4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5///4a$$If!vh555V5#v#v#vV#v:V555V5////4a$$If!vh555V5#v#v#vV#v:V555V5///4a}DyK_Ref507257694$$If!vh5d55s56#vd#v#vs#v6:V5d55s56////4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56////4a$$If!vh5d55s56#vd#v#vs#v6:V5d55s56///4a$$If!vh555U5#v#v#vU#v:V555U5////4a$$If!vh555U5#v#v#vU#v:V555U5///4a$$If!vh555U5#v#v#vU#v:V555U5///4a$$If!vh555U5#v#v#vU#v:V555U5///4a$$If!vh555U5#v#v#vU#v:V555U5///4aDd6d


c@Aoc_logo_small2c+q8BERwZt?}|`!7+q8BERwZt&~x1nAq$4t=0#
R9-kGT~}(Dh=edg6fݯ1ϱb};^߷7_~zuzø?wor?zX<?qw;oZ$I$I$I<CH8)N
c@Aoc_logo_small2c+q8BERwZt?}|`!7+q8BERwZt&~x1nAq$4t=0#
R9-kGT~}(Dh=edg6fݯ1ϱb};^߷7_~zuzø?wor?zX<?qw;oZ$I$I$I<CH8)N
!@H8)N
!@H8)N
!@H8)N
!@H8)N
!N              'pRNH8AvDNQ!%
!N              'pRNH8AvDNQ!%
'pNI8$pI8  'EfrK8U
'pNI8$pI8  'EfrK8U
KNM8ՂԄK8H'WYb    I,RiK8KiH,RK8N,|,,KN8yké,4TSYghOfJ@ϩuRrNcK       9I eT3299!˩
EjN-9Sh"vfJ'۱5VnE?NN.*#dNN!pLYLYLYLYLY꘥OsDyHyR+AN3]ts ֛Ʉ4lPL՞e}Ur55n m~(:2 RyRm:UN'%ZrbbOp Ē[QR {wK 5R,TKw@RQN,'K      $K 4e⬅,H8MxjgxUz['r*tY{VNGRNNE=ea@vT
KNM8ՂԄK8H'WYb    I,RiK8KiH,RK8N,|,,KN8yké,4TSYghOfJ@ϩuRrNcK       9I eT3299!˩
EjN-9Sh"vfJ'۱5VnE?NN.*#dNN!pLYLYLYLYLY꘥OsDyHyR+AN3]ts ֛Ʉ4lPL՞e}Ur55n m~(:2 RyRm:UN'%ZrbbOp Ē[QR {wK 5R,TKw@RQN,'K      $K 4e⬅,H8MxjgxUz['r*tY{VNGRNNE=ea@vT
'tUN\d˶*r28<5N )'ËHɐp2
'tUN\d˶*r28<5N )'ËHɐp2
d)AS'åNJ!B8p2,
d)AS'åNJ!B8p2,
d@PH$I$x/ͻc-DyKyK4http://www.opencores.org/
Dd
d@PH$I$x/ͻc-DyKyK4http://www.opencores.org/
Dd

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root Entry      Fb(Data

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root Entry      Fb(Data
WordDocument|yObjectPool<(b(_1054035473
WordDocument|yObjectPool<(b(_1054035473


F<(pM(Ole
F<(pM(Ole
CompObjMObjInfo 

CompObjMObjInfo 

FPBrushPBrushPBrush9q
FPBrushPBrushPBrush9q
 FMicrosoft Word Picture
 FMicrosoft Word Picture
MSWordDocWord.Picture.89qOle10Native        
MSWordDocWord.Picture.89qOle10Native        
Ole10ItemName_1133170594    FpM(O(1Tables;  
Ole10ItemName_1133170594    FpM(O(1Tables;  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqtuvwxyz{|}~BM6(P{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ir@@@NormalCJ_HaJmH    sH     tH     DADDefault Paragraph FontVi@VTable Normal :V44

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqtuvwxyz{|}~BM6(P{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ir@@@NormalCJ_HaJmH    sH     tH     DADDefault Paragraph FontVi@VTable Normal :V44
la(k@(No List8B@8        Body Text$a$CJ+9GWfv 09DSbZBCTA~?U^|}=e+9GWfv 09DSbe
la(k@(No List8B@8        Body Text$a$CJ+9GWfv 09DSbZBCTA~?U^|}=e+9GWfv 09DSbe

 @VQ[_`no{|

 @VQ[_`no{|
)*.239:GHUVfghipq|000pM900n0M9000M900?0M900?0M9000M900?00M90000M90
)*.239:GHUVfghipq|000pM900n0M9000M900?0M900?0M9000M900?00M90000M90
0n00M90
0n00M9000M9000M9000M9000M90000M900?0M9000M900?0M90
00M900?M900?M900?0M90000M9000M900000M900?0M90000pM900M900                        l,2$ږ0hZY@ZQ0(       
0n00M90
0n00M9000M9000M9000M9000M90000M900?0M9000M900?0M90
00M900?M900?M900?0M90000M9000M900000M900?0M90000pM900M900                        l,2$ږ0hZY@ZQ0(       
N
N


S'KB
S'KB


3JN
3JN


S3'N3
S3'N3


NZO,
N
NZO,
N


S3'M4
S3'M4


NZL2
l
NZL2
l
=
=
0=3*&
r
0=3*&
r
?
?
6?3F
l
6?3F
l
A
A
0A3)"
l
0A3)"
l
B
B
0B3
0B3
+
l
+
l
C
C
0C3,3
NB
0C3,3
NB
E
E
SDITB
SDITB
G@
G@
c$D-NB
c$D-NB
H
H
SD0"NB
SD0"NB
I
I
SD1-HB
SD1-HB
O
O
CD&"HB
CD&"HB
N
N
CDG<
CDG<
@
@
#GH HB
#GH HB
P
P
CD      "TB
CD      "TB
Q
Q
c$D#NB
c$D#NB
R
R
SD!.(2
SD!.(2
S
S
5l
5l
T
T
0T3+(
l
0T3+(
l
U
U
0U3-*
NB
0U3-*
NB
V
V
SD*NB
SD*NB
W
W
SD-(2
SD-(2
X
X
<l
<l
Z
Z
0Z3'+
HB
0Z3'+
HB
[
[
CD2 HB
CD2 HB
\
\
CDDHB
CDDHB
]
]
CDC<
CDC<
Y@
Y@
#GEr
#GEr
^
^
6^3
NB
6^3
NB
_@
_@
SDBNB
SDBNB
c@
c@
SD@(2
SD@(2
`
`
Al
Al
e
e
0e3(5
HB
0e3(5
HB
g@
g@
CD?HB
CD?HB
h
h
CD5"HB
CD5"HB
j
j
CD=HB
CD=HB
k@
k@
CD<HB
CD<HB
l
l
CD:HB
CD:HB
m@
m@
CD;HB
CD;HB
n
n
CD9HB
CD9HB
o@
o@
CD8HB
CD8HB
p
p
CD7HB
CD7HB
q
q
CD6<
CD6<
f@
f@
#LG>%NB
#LG>%NB
r
r
SD)HB
SD)HB
s@
s@
CD!HB
CD!HB
t@
t@
CD3NB
CD3NB
u
u
SD4HB
SD4HB
v
v
CD/NB
CD/NB
w@
w@
SDNB
SDNB
x
x
SDNB
SDNB
y
y
SDNB
SDNB
z
z
SDNB
SDNB
{@
{@
SD.l
SD.l
|
|
0|
l
0|
l
}
}
0}

l
0}

l
~
~
0  ~
   l
0  ~
   l


0
0
%

%

l
l


0
l
0
l


0$
l
0$
l


0


l
0


l


0
HB
0
HB


CD<
CD<


#f HB
#f HB


CDHB
CDHB


CD"H
CD"H


CGn(f<
CGn(f<


#fHB
#fHB


CDH
CDH
@
@
CGn(fl
CGn(fl


0
l
0
l


0
l
0
l


0
l
0
l


0
l
0
l


03
NB
03
NB
@
@
SDB
SDB
S       ?
S       ?

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO^,t8t|8ptXT8$   tx8$       8

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO^,t8t|8ptXT8$   tx8$       8
t~
t~
tz$       
tz$       
ty$       
ty$       
td8dtPdtBTtr$     @ts@@
td8dtPdtBTtr$     @ts@@
t}
t}
@\
tw\
tS
@\
tw\
tS
tW$   \
tW$   \
\
tV$       @
\
tV$       @
@tT$       tGt,8t,Ht,TtHtttxtHttHtt88ttR$   $     $ t8$       tQ\
88t,p$     txtOhtZdTte$     ,tA$       t=$       8tT
@tT$       tGt,8t,Ht,TtHtttxtHttHtt88ttR$   $     $ t8$       tQ\
88t,p$     txtOhtZdTte$     ,tA$       t=$       8tT
$     tCp$            tU$   t{htv\
$ \
tHhtIt[T$       ttp    tup$       p th       tq$   x\
xtptotn,tlhtmtk\
tj\
,\
tfx,tg$       tc
$     tCp$            tU$   t{htv\
$ \
tHhtIt[T$       ttp    tup$       p th       tq$   x\
xtptotn,tlhtmtk\
tj\
,\
tfx,tg$       tc
dt`
dt`
@dt_
@dt_
dt]       d t\$        tY$       H
dt]       d t\$        tY$       H
t?x,tN$     hht@\
tE$     t[lt,t.txh/tht8/htCCQWWZ^`mow:Cqw{Q_vxBDq:::QZ[^`moz|(*138:FHTVeioq{|CCQZ^qw{7@ @{@UnknownG: Times New Roman5Symbol3&: Arial"1h0|f2|fEESg4PP	2QH?7Valued Sony Customer
AdministratorCompObjhObjInfoWordDocument
"SummaryInformation(5@		bjbj22	"XXQcpppphhh




F8




5557777777$8RN;l7h5+d    5557pp

87775p
h
7757777Lh7


5L7780F87;      6B;7|pppp;h75575555577
K7^

RGPIO_NEC
[0]

ext_clk_pad_i

in_pad_i[0]

RGPIO_OE [0]

RGPIO_IN [0]

RGPIO_INTE [0]

RGPIO_AUX
[0]

RGPIO_INTS
[0]

OTHER
EDGES

SYS
CLK

Bidir I/O Cell and Pad

CLK I/O Cell and Pad

oen_padoen_o[0]

GPIO IP Core

AUX
[0]

I/O 0

out_pad_o[0]

WISHBONE I/F

RGPIO_PTRIG [0]



AUX IN

RGPIO_ECLK
[0]

INT GEN


EDGE
DET

RGPIO_OUT [0]

RGPIO_NEC
[0]



P  )     3     9     H     T     U     i     o     p     q                         
t?x,tN$     hht@\
tE$     t[lt,t.txh/tht8/htCCQWWZ^`mow:Cqw{Q_vxBDq:::QZ[^`moz|(*138:FHTVeioq{|CCQZ^qw{7@ @{@UnknownG: Times New Roman5Symbol3&: Arial"1h0|f2|fEESg4PP	2QH?7Valued Sony Customer
AdministratorCompObjhObjInfoWordDocument
"SummaryInformation(5@		bjbj22	"XXQcpppphhh




F8




5557777777$8RN;l7h5+d    5557pp

87775p
h
7757777Lh7


5L7780F87;      6B;7|pppp;h75575555577
K7^

RGPIO_NEC
[0]

ext_clk_pad_i

in_pad_i[0]

RGPIO_OE [0]

RGPIO_IN [0]

RGPIO_INTE [0]

RGPIO_AUX
[0]

RGPIO_INTS
[0]

OTHER
EDGES

SYS
CLK

Bidir I/O Cell and Pad

CLK I/O Cell and Pad

oen_padoen_o[0]

GPIO IP Core

AUX
[0]

I/O 0

out_pad_o[0]

WISHBONE I/F

RGPIO_PTRIG [0]



AUX IN

RGPIO_ECLK
[0]

INT GEN


EDGE
DET

RGPIO_OUT [0]

RGPIO_NEC
[0]



P  )     3     9     H     T     U     i     o     p     q                         
h7CJh7B*CJaJph
h7CJh7B*CJaJph
h7CJ
h7CJ
h7CJh7jh7CJUmHnHuQ[_`no{|tGVtGVGVGVGVtGVtGVtGVtGVtGVtGVGVGVgGVgGV7GV$a$$a$Q    
h7CJh7jh7CJUmHnHuQ[_`no{|tGVtGVGVGVGVtGVtGVtGVtGVtGVtGVGVGVgGVgGV7GV$a$$a$Q    
                       )     *     .     2     3     9     :     G     H     U     V     f     g     h     i     p     q     |                                   7GVGVgGVgGV_GVztGVyX_X_gGVgGVgGV$a$$a$                                              gGVtGVtGVtGV$a$        1hN N!S"T#g$h%Oh+'0|        
                       )     *     .     2     3     9     :     G     H     U     V     f     g     h     i     p     q     |                                   7GVGVgGVgGV_GVztGVyX_X_gGVgGVgGV$a$$a$                                              gGVtGVtGVtGV$a$        1hN N!S"T#g$h%Oh+'0|        
8D
P\dltssValued Sony Customer1alualuNormalSAdministratorst2miMicrosoft Word 10.0@@X͞@SEDocumentSummaryInformation8_1044148018        FO(O(1Table.CompObjh՜.+,0hp
SonyitlP
8D
P\dltssValued Sony Customer1alualuNormalSAdministratorst2miMicrosoft Word 10.0@@X͞@SEDocumentSummaryInformation8_1044148018        FO(O(1Table.CompObjh՜.+,0hp
SonyitlP
Title
Title
i8@8NormalCJ_HaJmH       sH     tH     <A@<Default Paragraph Font #$2345=>?@kl
i8@8NormalCJ_HaJmH       sH     tH     <A@<Default Paragraph Font #$2345=>?@kl
    
    


# #$2345=>?@klo     


# #$2345=>?@klo     

 @VSl;<,2$ږ0hZY@; 
(    

 @VSl;<,2$ږ0hZY@; 
(    
x
x


<
N
<
N


S'B
S'B


3N
3N


S3'
S3'


HZ
x
HZ
x


<
<

N

N


S3'
S3'


HZ
N
HZ
N


S3'        
S3'        


HZ
N
HZ
N
 
 
S3'
S3'
#
#
HZ#
 h        #*&^$
HZ#
 h        #*&^$
(##"
(##"
HB
HB
%B
%B
#'$%$#
#'$%$#
&
&
lBCDEF]
lBCDEF]
@`o%#*&^$#
@`o%#*&^$#
'
'
lBCDEF]
lBCDEF]
@`#8^$#NB
@`#8^$#NB
*
*
SDTB
SDTB
+@
+@
c$DTB
c$DTB
,
,
c$DNB
c$DNB
-
-
SD,h      #*&^$
SD,h      #*&^$
.##"HB
.##"HB
/B
/B
#'$%$
#'$%$
0
0
rBCDEF]
rBCDEF]
@`o%#*&^$
@`o%#*&^$
1
1
rBCDEF]
rBCDEF]
@`#8^$,h #*&^$
@`#8^$,h #*&^$
2##"
HB
2##"
HB
3B
3B
#'$%$
#'$%$
4
4
rBCDEF]
rBCDEF]
@`o%#*&^$
@`o%#*&^$
5
5
rBCDEF]
rBCDEF]
@`#8^$TB
@`#8^$TB
:
:
c$DB
c$DB
S       ?
S       ?

8tt#t  8t*t,

8tt#t  8t*t,


t (t+8H8t       {
tt(     t
t:t2t.     
t (t+8H8t       {
tt(     t
t:t2t.     
t-
t-
t7>t%[tt7t"#--..//001122334488GGHHIIRRSSTTV`@b!@UnknownG:Times New Roman5Symbol3&:Arial"hRFRF!Sgr02Valued Sony CustomerValued Sony Customer
t7>t%[tt7t"#--..//001122334488GGHHIIRRSSTTV`@b!@UnknownG:Times New Roman5Symbol3&:Arial"hRFRF!Sgr02Valued Sony CustomerValued Sony Customer
 FMicrosoft Word Picture
 FMicrosoft Word Picture
MSWordDocWord.Picture.89qOh+'0         8D
MSWordDocWord.Picture.89qOh+'0         8D
`lx

GPIO IP CoreoGPIO IP Core's SpecificationsDamjan LampretSamjamjObjInfo
`lx

GPIO IP CoreoGPIO IP Core's SpecificationsDamjan LampretSamjamjObjInfo
ObjectPoolO(O(WordDocumentSummaryInformation(7        bjbjUU   "7|7|ml


]______$ z
\


]]]]
]]
]]]]]n5W7]]0].-0.]]
 






GPIO Registers









 


WISHBONE I/F




AUX IN




 Interface to external I/O cells and pads




+569EJPU~B*CJaJphjCJUmHnHu,-./012345789FGHIJQRSSTU 1hN N!S"T#g$h%
ObjectPoolO(O(WordDocumentSummaryInformation(7        bjbjUU   "7|7|ml


]______$ z
\


]]]]
]]
]]]]]n5W7]]0].-0.]]
 






GPIO Registers









 


WISHBONE I/F




AUX IN




 Interface to external I/O cells and pads




+569EJPU~B*CJaJphjCJUmHnHu,-./012345789FGHIJQRSSTU 1hN N!S"T#g$h%
Oh+'0      (
Oh+'0      (
DP
\hpxssValued Sony Customer9alualuNormal.dot Valued Sony Customer92luMicrosoft Word 9.0r@F#@5*7@RM7DocumentSummaryInformation81TableSummaryInformation(DocumentSummaryInformation84
DP
\hpxssValued Sony Customer9alualuNormal.dot Valued Sony Customer92luMicrosoft Word 9.0r@F#@5*7@RM7DocumentSummaryInformation81TableSummaryInformation(DocumentSummaryInformation84
՜.+,0hp
Sonyitl
՜.+,0hp
Sonyitl
        Title0
        Title0


#Abq
LZd7T6Z/v7M
nE
LZd7T6Z/v7PNG
#Abq
LZd7T6Z/v7M
nE
LZd7T6Z/v7PNG



IHDRc'gAMA    pHYs.>IDATx;P[N|z   (-N|Uÿ-<׃-zW

IHDRc'gAMA    pHYs.>IDATx;P[N|z   (-N|Uÿ-<׃-zW
ؐxmBN(`+Q~
(`?6-U
ؐxmBN(`+Q~
(`?6-U
؁N+`y"q0ijA0u#^aں-Zo[ugӶh
؁N+`y"q0ijA0u#^aں-Zo[ugӶh
X̎m'0L@Jn/MkCaѨ60;mBPԴ[;Ca'v&wrlb;"WňwLG[\0mik'mq6-J(`7ڢ-)`lB[ܥ06zulQ#47y1ͬmQ+ÞGR@(E؟*{&{U[=ܽ
1ͱE輙a{nآ۫+j0&hq0   Mq.0_0P19樀mX-0µE8G.\[PFaMiVӸKQ@#b5
X̎m'0L@Jn/MkCaѨ60;mBPԴ[;Ca'v&wrlb;"WňwLG[\0mik'mq6-J(`7ڢ-)`lB[ܥ06zulQ#47y1ͬmQ+ÞGR@(E؟*{&{U[=ܽ
1ͱE輙a{nآ۫+j0&hq0   Mq.0_0P19樀mX-0µE8G.\[PFaMiVӸKQ@#b5
hA[,Hai5).m,T-V0ZPX[PMڢhm<\FP,\[zSTLae`v
hA[,Hai5).m,T-V0ZPX[PMڢhm<\FP,\[zSTLae`v
j\դ-nQ3?S.chHO1H mQ+2vf[j@jm.thL
N[41:S
j\դ-nQ3?S.chHO1H mQ+2vf[j@jm.thL
N[41:S
m!h`;EN܉!t̝z@SڢOt.A=PKmq)Vfk<
m!h`;EN܉!t̝z@SڢOt.A=PKmq)Vfk<
w+*.Ⱥ,Y1-^"m&cPm->4FƺnF؉z_mLNn[T/ѓ/Ngj+hfV/NFjcjFAVm[ 7 1m-:DCH`Co-RK`Cۢgߋ*tVw=3j~h]1{q-ER~stً֚cm4Kpf*x}Nkd=ؼEUQ|%Lka=y-9x6|Ueeܙ@W{7MuUx[^&^󄘺vؓ}OU;,=b`U+ӬSadO9%ZmEP!9y.fɞ<-j^~*ǩ}<ɯ.`u7g陟{r-oӭ?O#L{=9w1w̲;XM`Yj?ꂇ|U,!s9VgOU~]jE^Ixa	occ=Cz>'1Z<̶'a~>=OUYӵϟGϥʹqmVEwYVz=k=tؓTEm}kkWgw.ݬQDXO'[v\^ٔ5B[=5}YP,B2(8;ڟp`/QpBlg]?4~nGbϯ+O.'S}ˉ/߽o=ǃnySApa-|X9HUA47Vɱ[.5       Ik]zp+g!%]א,ގ/}ê;Mgۆo-4f9%BW(댭j0b*}^JI]n3 [Vu}N\٭f[0s&^==*>M}Uf;KHhѶT~lux9Oh'w^]{Hbg÷QW97+xy@ɨ_!V̗mjmٓh)@ݱi[i]{X0ۍh{
w+*.Ⱥ,Y1-^"m&cPm->4FƺnF؉z_mLNn[T/ѓ/Ngj+hfV/NFjcjFAVm[ 7 1m-:DCH`Co-RK`Cۢgߋ*tVw=3j~h]1{q-ER~stً֚cm4Kpf*x}Nkd=ؼEUQ|%Lka=y-9x6|Ueeܙ@W{7MuUx[^&^󄘺vؓ}OU;,=b`U+ӬSadO9%ZmEP!9y.fɞ<-j^~*ǩ}<ɯ.`u7g陟{r-oӭ?O#L{=9w1w̲;XM`Yj?ꂇ|U,!s9VgOU~]jE^Ixa	occ=Cz>'1Z<̶'a~>=OUYӵϟGϥʹqmVEwYVz=k=tؓTEm}kkWgw.ݬQDXO'[v\^ٔ5B[=5}YP,B2(8;ڟp`/QpBlg]?4~nGbϯ+O.'S}ˉ/߽o=ǃnySApa-|X9HUA47Vɱ[.5       Ik]zp+g!%]א,ގ/}ê;Mgۆo-4f9%BW(댭j0b*}^JI]n3 [Vu}N\٭f[0s&^==*>M}Uf;KHhѶT~lux9Oh'w^]{Hbg÷QW97+xy@ɨ_!V̗mjmٓh)@ݱi[i]{X0ۍh{
ު-RH>Lճ/WZi֯_.RaΒ=䫳]pKWSyEL|Ef
ު-RH>Lճ/WZi֯_.RaΒ=䫳]pKWSyEL|Ef
`}Xfso)>SWe?/+!{rgm"ŋw$-`/\<;|W=C9mn"oWTpߞQn\=ə={EU;?N6^_vpu.]ܦJ VjUS[kU?
`}Xfso)>SWe?/+!{rgm"ŋw$-`/\<;|W=C9mn"oWTpߞQn\=ə={EU;?N6^_vpu.]ܦJ VjUS[kU?
ZR0`}p9c;ߜ%zpsp4>/}k4Ul-c9~zOWQeuwGe_owiن=\zEa>, "˱C
ZR0`}p9c;ߜ%zpsp4>/}k4Ul-c9~zOWQeuwGe_owiن=\zEa>, "˱C
;>ǁ1mYK
amZf6WvmFE
;>ǁ1mYK
amZf6WvmFE
mavlau]*"     zB{H-cnˢTN}h2靉
mavlau]*"     zB{H-cnˢTN}h2靉
L*J[pHϦ$0@muf#V[wqylbµE)樀UEl$
L*J[pHϦ$0@muf#V[wqylbµE)樀UEl$
Ϙmh{_y:U-RX<
Zkyǻ-Rp1au
Ϙmh{_y:U-RX<
Zkyǻ-Rp1au
`mEd;phl,_Snv;^kHQ߬3*bHQ#]3Y[50"-e1MpMԳqϏ^2e[$׬m@GERIat1}[$
`mEd;phl,_Snv;^kHQ߬3*bHQ#]3Y[50"-e1MpMԳqϏ^2e[$׬m@GERIat1}[$
m@cER-Ia43gj,ul~;xŧ0e"MSX-RsJ:mj  3=ٻ֚m_9iu݂xgTd
m@cER-Ia43gj,ul~;xŧ0e"MSX-RsJ:mj  3=ٻ֚m_9iu݂xgTd
`EܪX^mƷ][^!*}
`EܪX^mƷ][^!*}
`1EjXϾmĺu[*U^ī
`1EjXϾmĺu[*U^ī
`a"A*i_Ľ-U؁ѯ*MhG*}hrj@U[v-zW ؐ8\ؓ8T~b-8-8-8-8-8I_iFCIENDB`IDd
`a"A*i_Ľ-U؁ѯ*MhG*}hrj@U[v-zW ؐ8\ؓ8T~b-8-8-8-8-8I_iFCIENDB`IDd
%b
%b


c$A??3"`?2Qp+<}o&~yGo2`!gQp+<}o&~yG`>
c$A??3"`?2Qp+<}o&~yGo2`!gQp+<}o&~yG`>
%     h; m65x[tUՙޏsn(XLg )-
6Aހ@CHcE  0 v@hP        >:H(*)E[BhGDRFw7ܛkf-a}g?w˙1בV V."m#&7zfjB݊qǩiZ2Qشq޸)!͘]fwN*8YWհ<ailw㦰-sٽ+bme,"˽E[z-BZ)n_UU+,\1_k!P_`;(@{UunmhmZ$bUhؐ}iyUA~ƗίjZp׶LZWmU+Â4biDcǂn#`
3l:ÓI=)b8
cw%ؙ'7t9ҍi`Ӗ>bH7BidSXg*~V>!&r'%iFl>|l7l8{ni$kX6Gpl1R+mta|9Mg;jv<܃=$
;{،ac[:-}HD541BBsmaKWR0ϭ+$M}i)ϭ+hvۂLzw%emdkpx\`VCYCgDiKd^i#L&8^fKdHg83kN>^fƖ#scpnQ.
%     h; m65x[tUՙޏsn(XLg )-
6Aހ@CHcE  0 v@hP        >:H(*)E[BhGDRFw7ܛkf-a}g?w˙1בV V."m#&7zfjB݊qǩiZ2Qشq޸)!͘]fwN*8YWհ<ailw㦰-sٽ+bme,"˽E[z-BZ)n_UU+,\1_k!P_`;(@{UunmhmZ$bUhؐ}iyUA~ƗίjZp׶LZWmU+Â4biDcǂn#`
3l:ÓI=)b8
cw%ؙ'7t9ҍi`Ӗ>bH7BidSXg*~V>!&r'%iFl>|l7l8{ni$kX6Gpl1R+mta|9Mg;jv<܃=$
;{،ac[:-}HD541BBsmaKWR0ϭ+$M}i)ϭ+hvۂLzw%emdkpx\`VCYCgDiKd^i#L&8^fKdHg83kN>^fƖ#scpnQ.
#,d=44ٮ<_TRS$[:A6Ec#46r#&e3[NŝF{ݲ&j_;dd062kt4y1EQkd:l|RDQkY&/)ٞlGf%Ɨ#OXoHIT8Y0PiJ2gM24򙨟e&?L䧣<{}8@J`t_e8?uyps(N68k
D@.q\Z(ik
ʯ}8@_ƒHy`IV3<	yMz~7DD*7V\5ק,Rt_G2`)M$ӚR=m^_y>~Fbs":'Wk*%Vq6rY\QRyC0G|_^.|/EAyFPE})焾ߓYyhh9LW2h9e4ZH(rz-fʧL=ZP:TwvZ+=Ryȭ(^DTD5f4ObAy*U3y56'E5v\ovŴW=MoTVRZMstDFDGXmcx؅n~ڽ%+a9}ޣ7S~?A`S~a>E.߯s
#,d=44ٮ<_TRS$[:A6Ec#46r#&e3[NŝF{ݲ&j_;dd062kt4y1EQkd:l|RDQkY&/)ٞlGf%Ɨ#OXoHIT8Y0PiJ2gM24򙨟e&?L䧣<{}8@J`t_e8?uyps(N68k
D@.q\Z(ik
ʯ}8@_ƒHy`IV3<	yMz~7DD*7V\5ק,Rt_G2`)M$ӚR=m^_y>~Fbs":'Wk*%Vq6rY\QRyC0G|_^.|/EAyFPE})焾ߓYyhh9LW2h9e4ZH(rz-fʧL=ZP:TwvZ+=Ryȭ(^DTD5f4ObAy*U3y56'E5v\ovŴW=MoTVRZMstDFDGXmcx؅n~ڽ%+a9}ޣ7S~?A`S~a>E.߯s
<}Qyϥ`
"0>  |Ɲٱ%ִ+gڨXbǨXӭ#4VcTkHmvz:8EZX)GL&#,ȓ rXz`DJ`w GPR!xgKwN}F۩mp7^F+c:ʗ	;    C/Z^t@_|T?Zw3rufiP
<}Qyϥ`
"0>  |Ɲٱ%ִ+gڨXbǨXӭ#4VcTkHmvz:8EZX)GL&#,ȓ rXz`DJ`w GPR!xgKwN}F۩mp7^F+c:ʗ	;    C/Z^t@_|T?Zw3rufiP
a:ʕ\ˑ˔ׇ^5V}ݒ;z܎cYO$IL-UhC<_)51."b/WGED_D)+Cv  H#dO!{2/Z9A|oI|AC-9c|        صM®m
a:ʕ\ˑ˔ׇ^5V}ݒ;z܎cYO$IL-UhC<_)51."b/WGED_D)+Cv  H#dO!{2/Z9A|oI|AC-9c|        صM®m
vmӰcf9|!BhUz~}w#~6w       ;^=îݰvŰÏ~N
oe#A?7Y
vmӰcf9|!BhUz~}w#~6w       ;^=îݰvŰÏ~N
oe#A?7Y
ǥ)=7uGk%VnkS-Ε/lXYں^V^i[4ϵ^m]ڔ8i[o)}YaˀU4D5q/J,,wjkjkbװs|,Zo^C]ikXk4i5lP#lrzhv6j>-o@둛i.1l
M<-Js->/SyLo-VRrr*7K4N'?Ef9kӜgNg?r3LJ5-{壻+z=j' ?~i8ckxR        |\A[x-^zl`
r,J떌<-xkKask6fPIiߚJXi5Yi5Z~+~[FcO@Ih?rπ,6$ͱˀȯFZԯC
hM=[onW~{^]a6عnݛ`>o5\o]|=Dtk\ۖ.4Fј
Lv6K;X{Koэ.iڳZÿwZkA[    2c*8O
ǥ)=7uGk%VnkS-Ε/lXYں^V^i[4ϵ^m]ڔ8i[o)}YaˀU4D5q/J,,wjkjkbװs|,Zo^C]ikXk4i5lP#lrzhv6j>-o@둛i.1l
M<-Js->/SyLo-VRrr*7K4N'?Ef9kӜgNg?r3LJ5-{壻+z=j' ?~i8ckxR        |\A[x-^zl`
r,J떌<-xkKask6fPIiߚJXi5Yi5Z~+~[FcO@Ih?rπ,6$ͱˀȯFZԯC
hM=[onW~{^]a6عnݛ`>o5\o]|=Dtk\ۖ.4Fј
Lv6K;X{Koэ.iڳZÿwZkA[    2c*8O
     L8|yWyFy7]ß7U=͗эژs.ϕ\yIΓe /B"/BE=-?@<Mcy![xp;zKŝay+
(hv]ay3p`lx0
߉]]-v,~HD/N         P~ûr5eu_&%p
9P[NL c䋺?,OQ;)}i'ٵ)Hۨ<;GD-
NXݯ QA^RsH8B5R!ثJr4^9خ;ei#$$;<^ݥ?iV;zPl
=~;AzB[on11Z6ǀO34SGNm0*ꤑWC8M;i|RCŧFxŏ8m͘>'&8؉Fum(7Z_E2apxs˚J[	81c[|C0y\/[D]vܪ-%uZ(H䋩i;jŸs6-?qM1bflrޢoF֗
b>5s&6(wB[cǑl莼vd%zƳ^r*c]t
     L8|yWyFy7]ß7U=͗эژs.ϕ\yIΓe /B"/BE=-?@<Mcy![xp;zKŝay+
(hv]ay3p`lx0
߉]]-v,~HD/N         P~ûr5eu_&%p
9P[NL c䋺?,OQ;)}i'ٵ)Hۨ<;GD-
NXݯ QA^RsH8B5R!ثJr4^9خ;ei#$$;<^ݥ?iV;zPl
=~;AzB[on11Z6ǀO34SGNm0*ꤑWC8M;i|RCŧFxŏ8m͘>'&8؉Fum(7Z_E2apxs˚J[	81c[|C0y\/[D]vܪ-%uZ(H䋩i;jŸs6-?qM1bflrޢoF֗
b>5s&6(wB[cǑl莼vd%zƳ^r*c]t
_u7vmHQb%V˺5pyy-ٖ.h7>fܑ+xSĺRu4`k%egRӌ%4<896N>Zֆj>)oF/ޖN^i)E]g}Y "yfQ&>#qxwԎI)Ӣozq#E(,p:!_?ϊQhQ.U|>G<+H,}ݘ7oj  zDd
_u7vmHQb%V˺5pyy-ٖ.h7>fܑ+xSĺRu4`k%egRӌ%4<896N>Zֆj>)oF/ޖN^i)E]g}Y "yfQ&>#qxwԎI)Ӣozq#E(,p:!_?ϊQhQ.U|>G<+H,}ݘ7oj  zDd
J
J


CA?"2\K!;4]9{`!\K!;4]9^h; m6~xڥWoUu6ލ8Жڴ|   nTH@T`HLZ(K]gۤJcS\ZVEETz**zdkf37f+DlE{'#+ՙ-\ZU,bއChQ
AkUwүcAc̴MjVŸxf^kBǝ/-,mc#A.`3X4
-k5G;)wV2vFk:h~ڞP~ٳ_VH0W޵xi\B&[1	[J<'C͏x:ccA{mOh_9b7Qׁ
53Z/_(z/P8 )`qZk(H܍vA<ʳ^[OT Cɑܘ4<ȥԼ뮋snM+4+?7HmS0wLDFCGꌶЯqN.D#oumіannpb~Yr0]e	8+@aا+k	}VWEiO[FBm`wɃ0ПcIK8-xbUOu5p/5p>Nvq:ImM?+eP@PNormal*$5$7$8$9DH$CJ_HmH        sH     tH     j@j   Heading 1.$$
CA?"2\K!;4]9{`!\K!;4]9^h; m6~xڥWoUu6ލ8Жڴ|   nTH@T`HLZ(K]gۤJcS\ZVEETz**zdkf37f+DlE{'#+ՙ-\ZU,bއChQ
AkUwүcAc̴MjVŸxf^kBǝ/-,mc#A.`3X4
-k5G;)wV2vFk:h~ڞP~ٳ_VH0W޵xi\B&[1	[J<'C͏x:ccA{mOh_9b7Qׁ
53Z/_(z/P8 )`qZk(H܍vA<ʳ^[OT Cɑܘ4<ȥԼ뮋snM+4+?7HmS0wLDFCGꌶЯqN.D#oumіannpb~Yr0]e	8+@aا+k	}VWEiO[FBm`wɃ0ПcIK8-xbUOu5p/5p>Nvq:ImM?+eP@PNormal*$5$7$8$9DH$CJ_HmH        sH     tH     j@j   Heading 1.$$
&F
f!&d@&Pa$5CJ`OJQJL@L       Heading 2$
&F
f!&d@&Pa$5CJ`OJQJL@L       Heading 2$
&F
f!@&5CJ R@R       Heading 3$$
&F
f!@&5CJ R@R       Heading 3$$
&F
f!@&a$5CJ4R@R       Heading 4$$
&F
f!@&a$5CJ4R@R       Heading 4$$
&F
f!@&a$6CJ$Z@Z       Heading 5$$
&F
f!@&a$6CJ$Z@Z       Heading 5$$
&F
f!@&a$6B*CJ phH@H       Heading 6
<@&5CJ\aJ>@>      Heading 7
<@&aJD@D Heading 8
<@&
&F
f!@&a$6B*CJ phH@H       Heading 6
<@&5CJ\aJ>@>      Heading 7
<@&aJD@D Heading 8
<@&
6]aJN   @N       Heading 9
 <@&CJOJQJ^JaJDA@DDefault Paragraph FontVi@VTable Normal :V44
6]aJN   @N       Heading 9
 <@&CJOJQJ^JaJDA@DDefault Paragraph FontVi@VTable Normal :V44
la(k(No ListJOJWW-Default Paragraph Font0U@0    Hyperlink>*B*.)@.Page NumberDO!DBullet SymbolsCJOJQJkH*BOBBHeading
$xCJOJQJ2B@B2     Body Textx4@R4Header

!4 @b4Footer

!H>@HTitle$<a$5CJ@KHOJQJ6J@1B6Subtitle$a$6POPHeadeing 1 Name$a$5CJHOJQJ<OA<Table Contents$BOB
Table Heading$a$568P@8Body Text 2$a$FV@FFollowedHyperlink>*B*ph&@&
TOC 1.@.
TOC 2
la(k(No ListJOJWW-Default Paragraph Font0U@0    Hyperlink>*B*.)@.Page NumberDO!DBullet SymbolsCJOJQJkH*BOBBHeading
$xCJOJQJ2B@B2     Body Textx4@R4Header

!4 @b4Footer

!H>@HTitle$<a$5CJ@KHOJQJ6J@1B6Subtitle$a$6POPHeadeing 1 Name$a$5CJHOJQJ<OA<Table Contents$BOB
Table Heading$a$568P@8Body Text 2$a$FV@FFollowedHyperlink>*B*ph&@&
TOC 1.@.
TOC 2
^..
TOC 3
^..
TOC 3
 ^..
TOC 4
 ^..
TOC 4
!^..
TOC 5
!^..
TOC 5
"^..
TOC 6
"^..
TOC 6
#^..
TOC 7
#^..
TOC 7
$^..
TOC 8
$^..
TOC 8
%^..
TOC 9
%^..
TOC 9
&^<"@<Caption
&^<"@<Caption
'xx
'xx
5CJ\L#@LTable of Figures( ^` DT@D
5CJ\L#@LTable of Figures( ^` DT@D
Block Text)x]^>Q@>Body Text 3*xCJaJPM@APBody Text First Indent
Block Text)x]^>Q@>Body Text 3*xCJaJPM@APBody Text First Indent
+`HC@HBody Text Indent,hx^hTN@TBody Text First Indent 2
+`HC@HBody Text Indent,hx^hTN@TBody Text First Indent 2
-`RR@RBody Text Indent 2.hdx^hTS@TBody Text Indent 3/hx^hCJaJ2?@2Closing
-`RR@RBody Text Indent 2.hdx^hTS@TBody Text Indent 3/hx^hCJaJ2?@2Closing
0^88Comment Text1CJ$L@$Date2RY2RDocument Map3-D M
0^88Comment Text1CJ$L@$Date2RY2RDocument Map3-D M
OJQJ^J<[@B<E-mail Signature48+R8Endnote Text5CJl$@blEnvelope Address!6@&+D/^@OJQJ^JaJJ%@rJEnvelope Return7CJOJQJ^J::
Footnote Text8CJ:`@:HTML Address96]Ne@NHTML Preformatted:CJOJQJ^J:
OJQJ^J<[@B<E-mail Signature48+R8Endnote Text5CJl$@blEnvelope Address!6@&+D/^@OJQJ^JaJJ%@rJEnvelope Return7CJOJQJ^J::
Footnote Text8CJ:`@:HTML Address96]Ne@NHTML Preformatted:CJOJQJ^J:
:
Index 1;^`::
Index 2<^`::
Index 3=^`:
:
Index 4>^`::
Index 5?^`::
Index 6@^`::
Index 7A^`::
Index 8B^`::
Index 9Cp^p`H!H
Index HeadingD5OJQJ\^J4/@R4ListEh^h`82@b8List 2F^`83@r8List 3G8^8`84@8List 4H^`85@8List 5I^`:0@:
List Bullet  J
:
Index 1;^`::
Index 2<^`::
Index 3=^`:
:
Index 4>^`::
Index 5?^`::
Index 6@^`::
Index 7A^`::
Index 8B^`::
Index 9Cp^p`H!H
Index HeadingD5OJQJ\^J4/@R4ListEh^h`82@b8List 2F^`83@r8List 3G8^8`84@8List 4H^`85@8List 5I^`:0@:
List Bullet  J
&F>6@>

List Bullet 2       K
&F>6@>

List Bullet 2       K
&F>7@>

List Bullet 3       L
&F>7@>

List Bullet 3       L
&F>8@>

List Bullet 4       M
&F>8@>

List Bullet 4       M
&F>9@>

List Bullet 5       N
&F>9@>

List Bullet 5       N
&FBD@B
List ContinueOhx^hFE@FList Continue 2Px^FF@FList Continue 3Q8x^8FG@"FList Continue 4Rx^FH@2FList Continue 5Sx^:1@B:List Number       T
&FBD@B
List ContinueOhx^hFE@FList Continue 2Px^FF@FList Continue 3Q8x^8FG@"FList Continue 4Rx^FH@2FList Continue 5Sx^:1@B:List Number       T
&F>:@R>
List Number 2       U
&F>:@R>
List Number 2       U
&F>;@b>
List Number 3        V
&F>;@b>
List Number 3        V
&F><@r>
List Number 4      W
&F><@r>
List Number 4      W
&F>=@>
List Number 5       X
&F>=@>
List Number 5       X
&F-
&F-
Macro Text5Y
 `       @ 
*$5$7$8$9DH$OJQJ^J_HmH       sH     tH     I@Message HeadergZ8$d%d&d'd-DM
Macro Text5Y
 `       @ 
*$5$7$8$9DH$OJQJ^J_HmH       sH     tH     I@Message HeadergZ8$d%d&d'd-DM
NOPQ^8`OJQJ^JaJ8^@8Normal (Web)[aJ>@>
Normal Indent
NOPQ^8`OJQJ^JaJ8^@8Normal (Web)[aJ>@>
Normal Indent
\^4O@4Note Heading]@Z@@
\^4O@4Note Heading]@Z@@
Plain Text^CJOJQJ^J0K@0
Plain Text^CJOJQJ^J0K@0
Salutation_6@@6       Signature
Salutation_6@@6       Signature
`^T,TTable of Authoritiesa^`L.LTOA Headingbx5OJQJ\^JaJ:O2:Tablec*$5$7$8$9DH$H@BH?BBalloon TextdCJOJQJ^JaJ78Ui|f_^[1345678UX   
`^T,TTable of Authoritiesa^`L.LTOA Headingbx5OJQJ\^JaJ:O2:Tablec*$5$7$8$9DH$H@BH?BBalloon TextdCJOJQJ^JaJ78Ui|f_^[1345678UX   

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghjsklmnopq78Ui|

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghjsklmnopq78Ui|

fl!"#$-=   

fl!"#$-=   

FWX]biuvzGHLUd 23C,}1V *              H

FWX]biuvzGHLUd 23C,}1V *              H
k-8


M.D      d#QSVcdTU^_+4!me0HWhHabC|    C!!g"h"w"x"####$%%
&&p()**++H,,,,,.000&1'1222 2\333333333334444'4(424=4D4H4Y4Z4c4n4u4y4444444444444555*51555`5a5l5x5z5~5555555555555
k-8


M.D      d#QSVcdTU^_+4!me0HWhHabC|    C!!g"h"w"x"####$%%
&&p()**++H,,,,,.000&1'1222 2\333333333334444'4(424=4D4H4Y4Z4c4n4u4y4444444444444555*51555`5a5l5x5z5~5555555555555
666!6(6,6L6M66666e7f7l7s7y77777777777788888888888888&9'9E9F9O:P:V:]:c:o:p:w:{::::::;
;;;;;;;<<<<<\<]<<<<<R>S>Y>`>f>r>s>z>~>>>>??%?&?????@@
@@@@@@@@AAAAAAAAAAAAAB3B4B6B:BVAVVVWW$W'WGWHWKWWWX XAXDXcXdXhXXYbYlYoYYZZ,Z-Z0ZRZUZZZZZZ[[
666!6(6,6L6M66666e7f7l7s7y77777777777788888888888888&9'9E9F9O:P:V:]:c:o:p:w:{::::::;
;;;;;;;<<<<<\<]<<<<<R>S>Y>`>f>r>s>z>~>>>>??%?&?????@@
@@@@@@@@AAAAAAAAAAAAAB3B4B6B:BVAVVVWW$W'WGWHWKWWWX XAXDXcXdXhXXYbYlYoYYZZ,Z-Z0ZRZUZZZZZZ[[
[+[.[x[[[[\\4\7\W\]\r\\\3]]]^^/^6^7^:^}^^^^^^^^%_(_8_;_o_p_s____'`f`i``     aaaFasaaaa*bXbbbbbbc cGcoccccd:dcdddddddd&e)eIeiejeleeeefffff.f/f0f1f2fNfOfPflfmfnfofpfqfrfsfxf{fffffffffffffffffffffff00000000000000000000000000000H 00000000000000000c0 c0 c0 c0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 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  00(0(0(00 00(0(0(0(0(0(0(0(0(0(0(00 00U0U0U0U 0UU0W0W
 0W
 0W
 0W
 0W
 0W
 0W
 0W
 0W
 0W
 0   W0W0W 0000 0 0 0 0000000000000000000000000'0 0 00000 00000 0000 000000d0d0d0d0d0d 00000'000000 00j"0j"0j" 00#0#0#0# 00%0%0%0%0% 00*0*0*0* 00,0,0,0,0, 00000 00202020202020303 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 '0303 02206060606 06 06 06 06 06 06 06 06 06 '06060606 02207070707 07 07 07 07 07 07 07 07 07 '0707 0220)90)90)90)9 0)9 0)9 0)9 0)9 0)9 0)9 0)9 0)9 0)9 '0)90)9 0220:0:0:0:0: 0: 0: 0: 0: 0: 0: 0: 0: 0: '0:0: 0220<0<0<0< 0< 0< 0< 0< 0< 0< 0< 0< 0< '0<0< 0220?0?0?0? 0? 0? 0? 0? 0? 0? 0? 0? 0? '0?0? 0220@0@0@0@ 0@ 0@ 0@ 0@ 0@ 0@ 0@ 0@0@0@ 0@ 0@ 0@ 0@ 0@0@0@ 0@ '0@0@ 0220B0B0B0B0B 0B 0B 0B 0B 0B 0B 0B 0B0B 0B '0B0B0B0B 0220D0D0D 0D 0D 0D 0D 0D 0D 0D 0D 0D '0D0D 0     220E0E0E 0E 0E 0E 0E 0E 0E 0E 0E 0E '0E0E0E0E 00F0F0F 0F 0F 0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F'0F0F 0FF0H0H0H0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H '0H0H 0FF0K0K0K0K 0K 0K 0K 0K 0K 0K 0K 0K 0K '00K 000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 '00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000@0@0@0@0@0
[+[.[x[[[[\\4\7\W\]\r\\\3]]]^^/^6^7^:^}^^^^^^^^%_(_8_;_o_p_s____'`f`i``     aaaFasaaaa*bXbbbbbbc cGcoccccd:dcdddddddd&e)eIeiejeleeeefffff.f/f0f1f2fNfOfPflfmfnfofpfqfrfsfxf{fffffffffffffffffffffff00000000000000000000000000000H 00000000000000000c0 c0 c0 c0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 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  00(0(0(00 00(0(0(0(0(0(0(0(0(0(0(00 00U0U0U0U 0UU0W0W
 0W
 0W
 0W
 0W
 0W
 0W
 0W
 0W
 0W
 0   W0W0W 0000 0 0 0 0000000000000000000000000'0 0 00000 00000 0000 000000d0d0d0d0d0d 00000'000000 00j"0j"0j" 00#0#0#0# 00%0%0%0%0% 00*0*0*0* 00,0,0,0,0, 00000 00202020202020303 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 '0303 02206060606 06 06 06 06 06 06 06 06 06 '06060606 02207070707 07 07 07 07 07 07 07 07 07 '0707 0220)90)90)90)9 0)9 0)9 0)9 0)9 0)9 0)9 0)9 0)9 0)9 '0)90)9 0220:0:0:0:0: 0: 0: 0: 0: 0: 0: 0: 0: 0: '0:0: 0220<0<0<0< 0< 0< 0< 0< 0< 0< 0< 0< 0< '0<0< 0220?0?0?0? 0? 0? 0? 0? 0? 0? 0? 0? 0? '0?0? 0220@0@0@0@ 0@ 0@ 0@ 0@ 0@ 0@ 0@ 0@0@0@ 0@ 0@ 0@ 0@ 0@0@0@ 0@ '0@0@ 0220B0B0B0B0B 0B 0B 0B 0B 0B 0B 0B 0B0B 0B '0B0B0B0B 0220D0D0D 0D 0D 0D 0D 0D 0D 0D 0D 0D '0D0D 0     220E0E0E 0E 0E 0E 0E 0E 0E 0E 0E 0E '0E0E0E0E 00F0F0F 0F 0F 0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F'0F0F 0FF0H0H0H0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H 0H '0H0H 0FF0K0K0K0K 0K 0K 0K 0K 0K 0K 0K 0K 0K '00K 000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 '00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000@0@0@0@0@0
09i00000000000@00@0000000000000000000000000000uvGH33'4(4Y4Z4444455`5a55555
09i00000000000@00@0000000000000000000000000000uvGH33'4(4Y4Z4444455`5a55555
66L6M677778888o:p:::<<\<]<r>s>>>@
@@@AA3B4BBBCCkDlDDDEEEEFFI
I+I,IIIJIIIIIIIIIBJCJJJJJKKGKHK}K~KKKLLLLNNNNNNOOPOOOlefM900$?0t& M900$0t& M900$Ą0t& M900$tD0t& M900$D0t& M90
66L6M677778888o:p:::<<\<]<r>s>>>@
@@@AA3B4BBBCCkDlDDDEEEEFFI
I+I,IIIJIIIIIIIIIBJCJJJJJKKGKHK}K~KKKLLLLNNNNNNOOPOOOlefM900$?0t& M900$0t& M900$Ą0t& M900$tD0t& M900$D0t& M90
0$0t& M900$D0t& M900$M0t& M900$0N0t& M900$hN0t& M900$ԁ0t& M900$0t& M900$D0t& M900$|0t& M900$,U0t& M900$dU0t& M90 0$U0t& M90"0$U0t& M90$0$0t& M90&0$0t& M90(0$T0t& M90*0$0t& M90,0$Ą0t& M90.0$0t& M9000$T0t& M9020$HT0t& M9040$T0t& M9060$T0t& M9080$T0t& M90:0$(U0t& M90<0$`U0t& M90>0$0t& M900$2T0t& M90B0$0t& M900$2T0t& My00TM900$2 M900$2T0t&M900$3T0M90L0$1M90N0$L+x8M90P0$0M90R0$0	`M90T0$0M90V0$,2!M90X0$d0M90Z0$0p
M90\0$80|}x8! M90^0$pM90`0$0M90b0$0M90d0$0}M90f0$PM90h0$2!M90j0$0M90l0$s0`M90n0$00M90p0$0`eM90r0$0M90t0$<1M90M90>>I

Si'JJ;c "AOmKnn8;EFGHIJKLMNOPQRSUVWXZ[\]^_g~    F     u               G
0$0t& M900$D0t& M900$M0t& M900$0N0t& M900$hN0t& M900$ԁ0t& M900$0t& M900$D0t& M900$|0t& M900$,U0t& M900$dU0t& M90 0$U0t& M90"0$U0t& M90$0$0t& M90&0$0t& M90(0$T0t& M90*0$0t& M90,0$Ą0t& M90.0$0t& M9000$T0t& M9020$HT0t& M9040$T0t& M9060$T0t& M9080$T0t& M90:0$(U0t& M90<0$`U0t& M90>0$0t& M900$2T0t& M90B0$0t& M900$2T0t& My00TM900$2 M900$2T0t&M900$3T0M90L0$1M90N0$L+x8M90P0$0M90R0$0	`M90T0$0M90V0$,2!M90X0$d0M90Z0$0p
M90\0$80|}x8! M90^0$pM90`0$0M90b0$0M90d0$0}M90f0$PM90h0$2!M90j0$0M90l0$s0`M90n0$00M90p0$0`eM90r0$0M90t0$<1M90M90>>I

Si'JJ;c "AOmKnn8;EFGHIJKLMNOPQRSUVWXZ[\]^_g~    F     u               G
2S4m e!0"h""#%'+28;'<Y<<<=`===
2S4m e!0"h""#%'+28;'<Y<<<=`===
>L>e??@@VBBC\DYFFGHI3JJKkLLMMNNtOOQ+QIQQQQQBRRRSGS}SSTTVVVOWWX"[Z] `b3eogj&m2nnn9<=>?@ABCDTY`abcdefhijklmnopqrstuvwxyz{|}n:=i3_`#>@ACbj')*,K]xz{}+./1P`{~5PSTVu ?n              $     '     (     *     I     h                                                       
>L>e??@@VBBC\DYFFGHI3JJKkLLMMNNtOOQ+QIQQQQQBRRRSGS}SSTTVVVOWWX"[Z] `b3eogj&m2nnn9<=>?@ABCDTY`abcdefhijklmnopqrstuvwxyz{|}n:=i3_`#>@ACbj')*,K]xz{}+./1P`{~5PSTVu ?n              $     '     (     *     I     h                                                       
'
'
B
B
E
E
F
F
H
H
g
g
      *Jehik'*+-Lm


2
5
6
8
W
p










,GJKMl)+,.Mt<p	#>ABDc      (C^abd !#Bf
0KNOQ   S6i6k6777899:::c<y<{<>>>@@@BBBrDDDFGGGGGKKKLMMfXX
tX%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%̕
tX%X%X%̕
tX%X%X%X%X%X%̕X%X%X%X%X%̕tttttttttttttttt 2;?hX!248PR:::t ``,b$LZd7T6Z/v7M
/l@H 0( 
      *Jehik'*+-Lm


2
5
6
8
W
p










,GJKMl)+,.Mt<p	#>ABDc      (C^abd !#Bf
0KNOQ   S6i6k6777899:::c<y<{<>>>@@@BBBrDDDFGGGGGKKKLMMfXX
tX%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%̕
tX%X%X%̕
tX%X%X%X%X%X%̕X%X%X%X%X%̕tttttttttttttttt 2;?hX!248PR:::t ``,b$LZd7T6Z/v7M
/l@H 0( 
&,_@(        
&,_@(        
T
T
1
1
C
C
P

P

NB
NB
2
2
SDN`
SDN`
3
3
c$33N
`
c$33N
`
4
4
c$43#N
`
c$43#N
`
5
5
c$
53%N

`
c$
53%N

`
6
6
c$63N
`
c$63N
`
7
7
c$73N
`
c$73N
`
8
8
c$83N
HR
c$83N
HR
9
9
CZ
NB
CZ
NB
:
:
3NNB
3NNB
;
;
SDNNB
SDNNB
<@
<@
SD
SD
NNB
NNB
=@
=@
SDNNB
SDNNB
>
>
SDNNB
SDNNB
?@
?@
SDNNB
SDNNB
@
@
SDNHR
SDNHR
A
A
CZNB
CZNB
B
B
3NNB
3NNB
C
C
SDNNB
SDNNB
D@
D@
SDNNB
SDNNB
E@
E@
SDNNB
SDNNB
F
F
SDNNB
SDNNB
G@
G@
SDNNB
SDNNB
H
H
SD!NHR
SD!NHR
I
I
CZ NB
CZ NB
J
J
3NNB
3NNB
K
K
SDNNB
SDNNB
L@
L@
SDNNB
SDNNB
M@
M@
SD"NNB
SD"NNB
N
N
SDNNB
SDNNB
O@
O@
SDNHR
SDNHR
P@
P@
CZ*NB
CZ*NB
Q
Q
3)NNB
3)NNB
R
R
SD(NNB
SD(NNB
S@
S@
SD'NZB
SD'NZB
T@
T@
s*DNZ
s*DNZ
U
U
SUN
TB
SUN
TB
V
V
c$D>  NTB
c$D>  NTB
W
W
c$D&NT
c$D&NT
X
X
C$N
H
C$N
H
[
[
#  [Q
       T
#  [Q
       T
^
^
C^S

C^S

_
_
_A?ÖyKyK4http://www.opencores.org/http://www.opencores.org"B
_A?ÖyKyK4http://www.opencores.org/http://www.opencores.org"B
S       ?} GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGf_x[4[=`T^Py!|!T1tU]t8t35
S       ?} GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGf_x[4[=`T^Py!|!T1tU]t8t35
t?t>tVLp   t<t;Et:Lt9LEt2t=t7xtTtGtFtDtCEtB4tA4Et@tEt6`tO||tN|tLtKEtJtIEtHtMppt4p5
\tX]t5HtWItStREtQltPElte
_Toc507263423_Toc59430581
_Toc507263424_Toc59430582
_Toc507263425_Toc59430583
_Ref507257934_Toc59430613_Toc59430584_Toc59430585_Toc59430586_Toc59430587_Toc59430588
_Toc507263426_Toc59430589_Toc59430614_Toc59430590_Toc59430591_Toc59430592_Toc59430593_Toc59430594_Toc59430595
_Toc507263427_Toc59430596
_Toc507263428_Toc59430597_Toc59430740
_Toc507263429_Toc59430598_Toc59430741
_Toc507263430_Toc59430599_Toc59430742
_Toc507263432_Toc59430600_Toc59430743
_Toc507263433_Toc59430601_Toc59430744
_Toc507263434_Toc59430602_Toc59430745
_Toc507263435_Toc59430603_Toc59430746_Toc59430604_Toc59430747_Toc59430605_Toc59430748_Toc59430606_Toc59430607
_Toc507263436_Toc59430608
_Ref507257694_Toc59430615
_Toc507263438_Toc59430609_Toc59430749_Toc59430610_Toc59430750
_Toc507263437_Toc59430611_Toc59430612
_Hlt533943509
_Hlt533943510	OLE_LINK1_1044151535_1044151703_1044151705_1044151742_1044151745_1044151759_1044151804_1044151806_1044151891_1044151936_1044151974_1044151978_1044152062_1044152098_1044152678_1044152706_1044157091_1066008637_1066010044_1070810556_1070813616_1133170486_1044132627_1044133258_1044133278_1044133364_1044133367_1044133418_1044133421_1044133439_1044133441_1044133538_1044133543_1044147430_1044147979VVUUb h"#%*,02233M6667778'9'9:::]<<<>??@@BBlDDEFFGGHHKKL*M*MOee+fJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfhfhfhfhfhfhfhfhfhfhfhfhfhff
t?t>tVLp   t<t;Et:Lt9LEt2t=t7xtTtGtFtDtCEtB4tA4Et@tEt6`tO||tN|tLtKEtJtIEtHtMppt4p5
\tX]t5HtWItStREtQltPElte
_Toc507263423_Toc59430581
_Toc507263424_Toc59430582
_Toc507263425_Toc59430583
_Ref507257934_Toc59430613_Toc59430584_Toc59430585_Toc59430586_Toc59430587_Toc59430588
_Toc507263426_Toc59430589_Toc59430614_Toc59430590_Toc59430591_Toc59430592_Toc59430593_Toc59430594_Toc59430595
_Toc507263427_Toc59430596
_Toc507263428_Toc59430597_Toc59430740
_Toc507263429_Toc59430598_Toc59430741
_Toc507263430_Toc59430599_Toc59430742
_Toc507263432_Toc59430600_Toc59430743
_Toc507263433_Toc59430601_Toc59430744
_Toc507263434_Toc59430602_Toc59430745
_Toc507263435_Toc59430603_Toc59430746_Toc59430604_Toc59430747_Toc59430605_Toc59430748_Toc59430606_Toc59430607
_Toc507263436_Toc59430608
_Ref507257694_Toc59430615
_Toc507263438_Toc59430609_Toc59430749_Toc59430610_Toc59430750
_Toc507263437_Toc59430611_Toc59430612
_Hlt533943509
_Hlt533943510	OLE_LINK1_1044151535_1044151703_1044151705_1044151742_1044151745_1044151759_1044151804_1044151806_1044151891_1044151936_1044151974_1044151978_1044152062_1044152098_1044152678_1044152706_1044157091_1066008637_1066010044_1070810556_1070813616_1133170486_1044132627_1044133258_1044133278_1044133364_1044133367_1044133418_1044133421_1044133439_1044133441_1044133538_1044133543_1044147430_1044147979VVUUb h"#%*,02233M6667778'9'9:::]<<<>??@@BBlDDEFFGGHHKKL*M*MOee+fJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfhfhfhfhfhfhfhfhfhfhfhfhfhff

 !"#$%&'()*+,-./0123456789:;<=>?@@@AB@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@[@\@]@^@_@`@a@b@c@d@bb]] v"#&+,%122336667
8
8%9D9D9:;;<<<?$?$?@ABBDDEFFGH%H%HKK(MRMRMOee,fJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfhfhfhfhfhfhfhfhfhfhfhfhfhffѸTѸTzff8*urn:schemas-microsoft-com:office:smarttagsdate    12172200120034DayMonthYear=#Aj*]{/`5Tn         (     h                    '

 !"#$%&'()*+,-./0123456789:;<=>?@@@AB@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@[@\@]@^@_@`@a@b@c@d@bb]] v"#&+,%122336667
8
8%9D9D9:;;<<<?$?$?@ABBDDEFFGH%H%HKK(MRMRMOee,fJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfJfhfhfhfhfhfhfhfhfhfhfhfhfhffѸTѸTzff8*urn:schemas-microsoft-com:office:smarttagsdate    12172200120034DayMonthYear=#Aj*]{/`5Tn         (     h                    '
F
F
      Ji+m
6
p



,K,tp#BC_ab!f0O  S6l67789::c<|<>>@@BBrDDFGGGKKLMkelelemeveweeeeeeefffff2fMfPfkfff#Aj*]{/`5Tn            (     h                    '
      Ji+m
6
p



,K,tp#BC_ab!f0O  S6l67789::c<|<>>@@BBrDDFGGGKKLMkelelemeveweeeeeeefffff2fMfPfkfff#Aj*]{/`5Tn            (     h                    '
F
F
      Ji+m
6
p



,K,tp#B2c!f0O  S6l67789::c<|<>>@@BBrDDGGKKLMkeleleweeeeeefffff2fMfPfkffff=FHd 3#Cj,]}1`5V n                *     h                    '
      Ji+m
6
p



,K,tp#B2c!f0O  S6l67789::c<|<>>@@BBrDDGGKKLMkeleleweeeeeefffff2fMfPfkffff=FHd 3#Cj,]}1`5V n                *     h                    '
H
H
Jk-m
8
p



,M.tp#D  Cd#f0QTdU_h  h"x"2 234555a556,6M6m666f77778889F9P::::
;;<]<}<<S>>>>&??@@@AAA4B
Jk-m
8
p



,M.tp#D  Cd#f0QTdU_h  h"x"2 234555a556,6M6m666f77778889F9P::::
;;<]<}<<S>>>>&??@@@AAA4B
"8Ux>W^`.^`.88^8`.^`.^`OJQJo(^`OJQJo(88^8`OJQJo(^`OJQJo(hh^h`.hh^h`OJQJo(@@@@*h^`OJQJo(h^`OJQJo(ohpp^p`OJQJo(h@@^@`OJQJo(h^`OJQJo(oh^`OJQJo(h^`OJQJo(h^`OJQJo(ohPP^P`OJQJo(h^`OJQJo(h^`OJQJo(ohpp^p`OJQJo(h@@^@`OJQJo(h^`OJQJo(oh^`OJQJo(h^`OJQJo(h^`OJQJo(ohPP^P`OJQJo(h^`OJQJo(h^`OJQJo(ohpp^p`OJQJo(h@@^@`OJQJo(h^`OJQJo(oh^`OJQJo(h^`OJQJo(h^`OJQJo(ohPP^P`OJQJo(h^`OJQJo(h^`OJQJo(ohpp^p`OJQJo(h@@^@`OJQJo(h^`OJQJo(oh^`OJQJo(h^`OJQJo(h^`OJQJo(ohPP^P`OJQJo(4<<=l==<>>?t??\{eH"8U
=M~}|@< @^`OJQJo(< @^`OJQJo(= @^`OJQJo(x= @^`OJQJo(= @^`OJQJo(H> @^`OJQJo(> @^`OJQJo(? @^`OJQJo(? @^`OJQJo(? @^`OJQJo(                                                                                                                                                                                 !b  %;*Jj1=8TTG2f?BCBXzM)CGXi-=FWX]biuvzGHLUd" 2\33333333334444'4(424=4D4H4Y4Z4c4n4u4y4444444444444555*51555`5a5l5x5z5~5555555555555
"8Ux>W^`.^`.88^8`.^`.^`OJQJo(^`OJQJo(88^8`OJQJo(^`OJQJo(hh^h`.hh^h`OJQJo(@@@@*h^`OJQJo(h^`OJQJo(ohpp^p`OJQJo(h@@^@`OJQJo(h^`OJQJo(oh^`OJQJo(h^`OJQJo(h^`OJQJo(ohPP^P`OJQJo(h^`OJQJo(h^`OJQJo(ohpp^p`OJQJo(h@@^@`OJQJo(h^`OJQJo(oh^`OJQJo(h^`OJQJo(h^`OJQJo(ohPP^P`OJQJo(h^`OJQJo(h^`OJQJo(ohpp^p`OJQJo(h@@^@`OJQJo(h^`OJQJo(oh^`OJQJo(h^`OJQJo(h^`OJQJo(ohPP^P`OJQJo(h^`OJQJo(h^`OJQJo(ohpp^p`OJQJo(h@@^@`OJQJo(h^`OJQJo(oh^`OJQJo(h^`OJQJo(h^`OJQJo(ohPP^P`OJQJo(4<<=l==<>>?t??\{eH"8U
=M~}|@< @^`OJQJo(< @^`OJQJo(= @^`OJQJo(x= @^`OJQJo(= @^`OJQJo(H> @^`OJQJo(> @^`OJQJo(? @^`OJQJo(? @^`OJQJo(? @^`OJQJo(                                                                                                                                                                                 !b  %;*Jj1=8TTG2f?BCBXzM)CGXi-=FWX]biuvzGHLUd" 2\33333333334444'4(424=4D4H4Y4Z4c4n4u4y4444444444444555*51555`5a5l5x5z5~5555555555555
666!6(6,6L6M6f7l7s7y777777777888888888888'9O:P:V:]:c:o:p:w:{:::::;;;;;<<<<<\<]<<<S>Y>`>f>r>s>z>~>>>>?%????@@
@@@@@@AAAAAAAAAAA3B4B6B:B
666!6(6,6L6M6f7l7s7y777777777888888888888'9O:P:V:]:c:o:p:w:{:::::;;;;;<<<<<\<]<<<S>Y>`>f>r>s>z>~>>>>?%????@@
@@@@@@AAAAAAAAAAA3B4B6B:B

GPIO IP CoreTitle       dXdPcK%8 4****4****000000004!*4!*2 dd ??XX0J,X<
XXXXdPcK'%dPcK N%Confidential 1Kyocera Mita FS-6020 KX     dXdPcK%8 4****4****000000004!*4!*2 dd ??XX0J,X<
XXXXdPcK'%dPcK N%Confidential 1``3``fP@Unknown
Administrator    G: Times New Roman5Symbol3&: Arial?5	z Courier NewA&Lucidabright9starbats;&z Helvetica5&z!Tahoma;WingdingsBh\F[|fY|f%#IV3#IV3!xx4d9e9e2QH?!GPIO IP CoreGPIO IP Core's SpecificationsDamjan Lampret
AdministratorL     

GPIO IP CoreTitle       dXdPcK%8 4****4****000000004!*4!*2 dd ??XX0J,X<
XXXXdPcK'%dPcK N%Confidential 1Kyocera Mita FS-6020 KX     dXdPcK%8 4****4****000000004!*4!*2 dd ??XX0J,X<
XXXXdPcK'%dPcK N%Confidential 1``3``fP@Unknown
Administrator    G: Times New Roman5Symbol3&: Arial?5	z Courier NewA&Lucidabright9starbats;&z Helvetica5&z!Tahoma;WingdingsBh\F[|fY|f%#IV3#IV3!xx4d9e9e2QH?!GPIO IP CoreGPIO IP Core's SpecificationsDamjan Lampret
AdministratorL     

CompObjj

CompObjj
 FMicrosoft Word Document
 FMicrosoft Word Document
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.