ࡱ> a jbjbA]A] +?+?7 )))8H)) K54:(\:\:`:;CKt=N<,[RyO B0;CyOyOm \:`:mmmyO  \:`:m  yOmm > FZ 5 Y)iZ0bf\70KDEmEfmD ))NetBoot 2.0: Boot Server Discovery Protocol (BSDP) Author: Dieter Siegmund,  HYPERLINK mailto:dieter@apple.com dieter@apple.com Date: September 17, 2010 Version: 1.0.8 Introduction A NetBoot 2.0 client uses the Boot Server Discovery Protocol (BSDP) to dynamically acquire resources that enable it to boot a suitable operating system. The client uses DHCP to acquire its IP address and BSDP to acquire boot image resources. The protocols are initiated by the client at boot time. This document describes the protocol and how it interoperates with DHCP. It also describes specifics of the packet encodings and the client and server logic. Version History VersionDateWhoModifications0.18/12/1999Dieter SiegmundInitial version with basic protocol description.1.0.210/25/1999Dieter SiegmundSpecified packet/option encoding; detailed client logic and behavior.1.0.2b11/3/1999Dieter SiegmundRevised based on review input.1.0.301/18/2000Dieter SiegmundFixed DHCP OFFER tables.1.0.402/26/2002Dieter SiegmundDefined boot_image_id encoding. Removed combined BSDP/DHCP server scenario. Defined a new Boot Image List option to encode list of images directly in the ACK[LIST]. Marked Boot Image List Path option as unused. Detailed non-firmware BSDP client details. Added firmware identification section. Bumped the BSDP version to 0x0101.1.0.504/29/2002Dieter SiegmundAdded image type attributes. Added NetBoot 1.0 Firmware option. Clarified that the entire (32-bit) boot_image_id should be tested for uniqueness, not just the 16-bit index.1.0.611/17/2003Dieter SiegmundAdded definitions in support of diagnostics boot.1.0.712/08/2003Dieter SiegmundModified protocol description in support of Image List filtering to make the client logic more compatible with existing NetBoot servers, and simplify server logic.1.0.809/17/2010Dieter SiegmundAdded BSDP maximum message size option.NetBoot 2.0 vs. NetBoot 1.0 NetBoot 2.0 has several new features and improvements over the previous version of NetBoot: The client gets its IP address using DHCP Multiple boot servers can serve the same subnet (or subnets) A single boot server can serve multiple operating system images e.g. Mac OS 9, Mac OS 9 French, Mac OS 9 Japanese, Mac OS X BSDP Overview BSDP is implemented on top of DHCP. DHCP allows vendor-specific information to be identified and encapsulated in a standard way. BSDP uses vendor-specific information to provide the additional NetBoot functionality not present in standard DHCP. The use of DHCP packets also enables a client to boot from a server on a remote subnet through the standard BOOTP/DHCP relay agent mechanism (RFC 951 and 1542). The protocol is implemented in client firmware. At boot time, the client obtains an IP address via DHCP (RFC 2131) then discovers boot servers using BSDP. Each BSDP server responds with boot information consisting of: A list of bootable operating system images The default operating system image The clients currently selected operating system image (if defined) The client chooses an operating system from the list and sends a message to the server indicating its selection. The selected boot server responds supplying the boot file and boot image, and any other information needed to download and execute the selected operating system. The client receives the message then downloads the boot image using TFTP and begins executing it. Once a client has configured a boot image with a particular BSDP server, that server responds to the clients subsequent DISCOVER requests supplying boot image information in the OFFER. This means that the client can skip BSDP on subsequent reboots. Protocol Details BSDP uses a two-packet exchange mechanism modeled after DHCP. The first packet sent by the client generates a response from a BSDP server. The response contains a list of possible boot images that the client may load. The second packet sent by the client selects a particular server and boot image. The successful response from the selected server confirms the selection. BSDP uses DHCP INFORM and ACK packets for the communication between the client and server. The Vendor Class Identifier option is set to a value that identifies it as a BSDP packet. The Vendor Specific Information option includes a BSDP Message Type option that specifies one of LIST, SELECT, or FAILED. The next section gives an overview of the packet exchanges used by a client during its first boot. Subsequent sections describe the packet exchanges used during subsequent boots. Notational note: In the sections that follow, a DHCP packet that contains a BSDP Message Type option is written as DHCP message[BSDP message]. For example, a DHCP INFORM packet with the BSDP Message Type option set to LIST is written as INFORM[LIST]. Initial Boot Sequence The boot sequence for a client thats booting for the first time (see Figure 1) is: Step 1. Client sends DISCOVER The client broadcasts a DISCOVER packet to generate an offer of an IP address from DHCP servers. Step 2. DHCP Server sends OFFER DHCP server responds with an OFFER packet containing the suggested IP address in the yiaddr field (see RFC 2131). The server supplies a Server Identifier option that is used in the next step to identify this particular server. Step 3. Client sends REQUEST The client selects an OFFER from the previous step and broadcasts a REQUEST message containing the Server Identifier option from the selected server. Step 4. DHCP Server sends ACK The selected DHCP server sends an ACK packet to the client to confirm the IP address binding. Note: Client firmware must save this ACK in a location accessible by the loaded operating system. Step 5. Client sends INFORM[LIST] The client broadcasts an INFORM[LIST] packet to generate a reply from BSDP servers. Step 6. BSDP server sends ACK[LIST] A BSDP Server responds with an ACK[LIST] packet containing the BSDP Boot Image List Path option, the BSDP Default Boot Image option, and the BSDP Server Identifier option. Step 7. Client sends INFORM[SELECT] The client selects an ACK[LIST] from the previous step, and broadcasts an INFORM[SELECT] packet containing the BSDP Server Identifier option for the selected server and the BSDP Selected Boot Image option to indicate which OS it has selected Step 8. BSDP server sends ACK[SELECT] The BSDP server receives the INFORM[SELECT] and replies with an ACK[SELECT] that contains a path to the boot file to be downloaded using TFTP plus other options required to boot the selected boot image. Note: Client firmware must save this ACK[SELECT] in a location accessible by the loaded operating system. Steps 9 and onward: Client TFTPs boot file from BSDP server The client sends a TFTP Read request to the BSDP server specifying the path file, the server responds with Data block 0, the client replies with an ack, the server sends the next data block, and so on until the entire image is downloaded. The client begins executing the image. Subsequent Boot Sequence On subsequent boots, several steps in the boot process can be skipped because the client has a boot image binding with a particular BSDP server. The BSDP server responds to the clients initial DHCP DISCOVER with an OFFER that contains all of the options required to load and boot the clients currently selected boot image. The boot sequence in this case is (see Figure 2): Step 1. Client sends DISCOVER The client broadcasts a DISCOVER packet to generate an offer of an IP address from DHCP servers and an offer of a boot image from a BSDP server.  Step 2. DHCP server sends OFFER, BSDP server sends OFFER* A DHCP server responds with an OFFER of an IP address in the yiaddr field and inserts its Server Identifier option. A BSDP server responds with an OFFER (labeled OFFER* in Figure 2) that contains the boot file and boot image options but no IP address i.e. the yiaddr field contains 0.0.0.0. Note: Client firmware must save the OFFER* from the BSDP server in a location accessible by the loaded operating system. Step 3. Client sends REQUEST The client selects an OFFER from one of the DHCP servers in the previous step and broadcasts a REQUEST message containing the Server Identifier option from the selected server. Step 4. DHCP Server sends ACK The selected DHCP server sends an ACK message to the client to confirm the IP address binding. Note: Client firmware must save this ACK in a location accessible by the loaded operating system. Steps 5 and onward. Client TFTPs boot file from BSDP server Packet Format and Option Encoding BSDP uses DHCP packets as defined in RFC 2131 and the option encoding as defined in RFC 2132. BSDP defines its own encoding for the Vendor Class Identifier and Vendor Specific Information options. These options allow the BSDP-specific data to be encapsulated and ignored by DHCP servers that dont understand BSDP. Options defined in RFC 2132 are denoted as DHCP option code xxx in the descriptions that follow. Options appearing inside the Vendor Specific Information option are denoted as BSDP option code xxx. Basic Types The following table defines the types that are used in the descriptions that follow. All multiple byte integer values are in network byte order i.e. big-endian. Table  SEQ Table \* ARABIC 1: Basic Types TypeEncoding/Descriptionstringusual C-language string i.e. null-terminated string of ASCII charactersascii_stringa sequence of ASCII characters, no null-termination, length given by option lengthopaquea sequence of bytes, length is given by the option lengthuint8 unsigned 8-bit integer (1-byte)uint16unsigned 16-bit integer (2-bytes)uint32unsigned 32-bit integer (4-bytes)ipaddruint32 containing an IP addressportuint16 containing an IP port numberboot_image_iduint32 containing boot image id (see section  REF _Ref411327678 \n \h 3.4.2)Encoding of boot_image_id The boot_image_id is a uint32. The following table gives its encoding. Byte 0 appears in memory first, followed by byte 1, 2, and byte 3. The bits of a byte are numbered with the most significant bit numbered 7, and the least significant bit numbered 0. For example, setting bit 7 in a byte gives a value of 0x80, setting bit 0 gives a value of 0x1. boot_image_idAttributesIndexByte 0 (MSB)Byte 1Byte 2Byte 3 (LSB)7654321076543210 uint16I KindXXXXXXXXI - Install: (Byte 0, bit 7) I = 0: non-install I = 1: install Kind The kind of image: (Byte 0, bits 0..6) Values are defined as: 0x0 (0): Mac OS 9 0x1 (1): Mac OS X 0x2 (2): Mac OS X Server 0x3 (3): Hardware Diagnostics 0x4 0x7f (4 127): reserved All remaining bits are reserved for future use.Values are defined as: Index = 0x0 (0) Null image, server messages never contain this value. Index = 0x1 - 0xfff (1 - 4095) Server-specific image. An image with an Index in this range is specific to the server and must be presented to the user as a unique item. Index = 0x1000 - 0xffff (4096 - 65535) Globally unique. An image with an Index in this range is unique across all servers, and may be presented as a single choice when multiple servers provide an image with the same Index The boot_image_id is encoded as two 16-bit values: Attributes and Index. The Attributes field contains attributes of the image. The Index is the identifier for the image and is encoded as a uint16. The boot_image_id value zero (0) is used to denote the null image, and will never appear in messages from the server. The Attributes field contains information about the type of image and includes the Install bit and the Kind field. When Install is set (I=1), the image is an installation image. When it is not set (I=0), the image is not an installation image. The Kind field indicates the kind of image. There are four kinds of images defined in the table: Mac OS 9, Mac OS X, Mac OS X Server, and Hardware Diagnostics (see the table above for the values). All remaining values are reserved for future use. The remaining bits of the Attributes field are reserved for future use, and must not be interpreted by the client. The Index field is broken into two value ranges. One range (0x1..0xfff) is reserved for server-specific images. The second range (0x1000..0xffff) is reserved for images that are globally unique and are served by multiple NetBoot servers. An Index value of zero (0) is not valid in messages from the server (see the discussion above describing boot_image_id). The Index allows differentiation between multiple occurrences of one Kind of image and helps form a unique identifier for the image. A server-specific image must be presented to the user as a unique choice in a list of images. A globally unique image that is served by multiple servers may be presented to the user as a single choice if more than one server supplies an image with the same boot_image_id value. Vendor Class Identifier option: DHCP option code 60 BSDP uses an encoding for this option that serves two main purposes: Identify the packet as a BSDP packet Identify the clients architecture and system type and revision so that a BSDP server can provide appropriate boot image information Every packet that is sent by a BSDP client and server contains this option. It is encoded as an ascii_string containing AAPLBSDPC in messages from the server and AAPLBSDPC// in messages from the client. indicates the architecture of the client. The defined values are ppc and i386. contains a value that identifies the clients system type and revision. On Apple hardware, the contains ppc and the contains the model property taken from the Open Firmware device tree root node device-tree:/. Two example values are PowerMac3,1 and PowerBook2,1. The encoding for server messages is: CodeLengthVendor Class Identifier609AAPLBSDPC The encoding for client messages is: CodeLengthVendor Class Identifier6011+i+jAAPLBSDPC/A1A2Ai/S1S2Sjwhere A1, A2, , Ai and S1, S2, , Sj correspond to the characters of the architecture type and system identifier respectively. Vendor Specific Information option: DHCP option code 43 This option is used to encapsulate the BSDP options using the format specified in RFC 2132 for encapsulated options. This option may appear more than once in responses from the server. This option is encoded as: Code LengthVendor Specific Information43nV1V2VnBSDP Message Type option: BSDP option code 1 The BSDP Message Type option is used to indicate the type of the BSDP message. The length of the option is 1. The possible values are: ValueMessage Type1LIST2SELECT3FAILED The encoding is: CodeLengthMessage Type111-3BSDP Version option: BSDP option code 2 The client supplies this option in its messages to let the BSDP server know which version of the protocol it is using so it can respond to the clients request appropriately. This length of this option is two. It is encoded as a uint16 with value 0x0101 (corresponding to version 1.1): CodeLengthVersion220x010x01 Note: previous versions of this document specified a Version of 0x100. BSDP Server Identifier option: BSDP option code 3 The client uses this option in its INFORM[SELECT] message to identify a particular BSDP server. This option is equivalent to the DHCP Server Identifier option (code 54). The DHCP option could not be used because it may not appear in a DHCP INFORM message. The length of this option is 4 and the encoding is an ipaddr: CodeLengthAddress34a1a2a3a4BSDP Server Priority option: BSDP option code 4 A BSDP server provides this option in an ACK[LIST] message to help the client select from multiple responses. The option indicates the priority of the server. A client favors a server that has the highest priority. One purpose of this option is to help distribute load amongst several BSDP servers. A BSDP server lowers its priority as it becomes busier, encouraging clients to select a server thats less busy. This option is a uint16 with a range from 0, the lowest priority, to 65535, the highest priority. The client favors responses with the highest priority value. The length of this option is 2 and the encoding is: CodeLengthPriority42p1p2BSDP Reply Port option: BSDP option code 5 A BSDP client inserts this option in BSDP messages to have the BSDP server direct its reply to a port other than the default, UDP port 68. If this option is not present, the BSDP server sends the reply to the default port. This option can only appear in the INFORM[LIST] or INFORM[SELECT] messages sent by the client. The purpose of this option is to make it easier to write a BSDP client that runs on a particular operating system. The BOOTP/DHCP client port, UDP port 68, may be in use by a regular DHCP client, so having the server redirect its response allows the client to use a generic UDP port. Note: this port must be a privileged port i.e. it must have a value less than 1024. The length of the option is 2, and the encoding is uint16: CodeLengthReply Port52p1p2BSDP Boot Image List Path option: BSDP option code 6 (NOT USED) The purpose of this option is to provide the boot image list information in a format that includes an icon for each image. This format is too large to fit inside the ACK[LIST] packet itself, so must be retrieved using TFTP. This option may be supplied by a BSDP server in an ACK[LIST] packet. It contains an ascii_string path to a file that can be retrieved from the server using TFTP. The format of this file is TBD. Note: this option is not currently used. The length of this option is variable. It is encoded as: CodeLengthPath6np1p2pnBSDP Default Boot Image ID option: BSDP option code 7 The server supplies this option in an ACK[LIST] message to indicate which boot image is the default selection. The client may choose the value of this option when user input is not available and no response contains the BSDP Selected Boot Image ID option (see below). This option is encoded as a boot_image_id. Its length is 4 and the encoding is: CodeLengthDefault Boot Image ID74i1i2i3i4BSDP Selected Boot Image ID option: BSDP option code 8 Both the server and the client use this option. The server supplies this option in an ACK[LIST] message to indicate which boot image the client has currently selected. This option is only present if the server already has a boot image binding for the client. The client chooses a response that contains this option when user input is not available. The client supplies this option in an INFORM[SELECT] message to tell the server which boot image it has selected. This option is encoded as a boot_image_id. Its length is 4 and the encoding is: CodeLengthSelected Boot Image ID84i1i2i3i4BSDP Boot Image List option: BSDP option code 9 A BSDP server supplies this option in the ACK[LIST] packet if the BSDP Version is greater than or equal to 0x0101 (see section  REF _Ref411581810 \r \h 3.4.6) It contains the list of boot images that are available from the server. This option may appear multiple times, in multiple instances of the Vendor Specific option. Multiple instances are likely because the Vendor Specific option is limited to 255 bytes, and the server may have many images to vend. Regardless of where the instances of this option occur, the client must be able to retrieve all of them, and re-construct a single, concatenated list of images. This option has the following encoding: CodeLengthImage Description 1ID 1 (4 bytes)Count 1 (1 byte)Name 1 (C1 bytes)9Li1i2i3i4C1N1N2NC1 Image Description 2ID 2 (4)Count 2 (1)Name 1 (C2)i1i2i3i4C2N1N2NC2 Image Description kID k (4)Count k (1)Name 1 (Ck)i1i2i3i4CkN1N2NCk After the Code byte and Length byte come any number of Image Descriptions. An Image Description contains a 4-byte ID, followed by a 1-byte Count, followed by Count-bytes of Name. ID is encoded as a boot_image_id (see  REF _Ref411327678 \r \h 3.4.2). The Name is encoded as a UTF-8 string. The overall length L of this option is: L = 5k + SUM(Cj, j = 1, j <= k) The client should set the Maximum DHCP Message Size option (code 57) to the maximum value allowed by the physical medium. For Ethernet this should be set to 0x5dc (1500). This ensures that the client will be able to retrieve the maximum number of boot images possible. Failure to supply this option may result in a truncated list. BSDP NetBoot 1.0 Firmware option: BSDP option code 10 This option is supplied by a non-firmware BSDP client to inform the server that the clients firmware uses NetBoot 1.0, a simpler, BOOTP-based protocol. If this option is present, the server only responds if it has been explicitly configured to handle NetBoot 1.0 clients. This option allows a non-firmware BSDP client running on a machine with older firmware to use BSDP to negotiate which image to NetBoot, yet still honor the booting restrictions inherent in the older protocol. This option is has no data thus its length is zero: CodeLength100BSDP Boot Image Attributes Filter List option: BSDP option code 11 This option allows the client to request that the server filter images and return results that match the given list of image Attributes. Each Attributes value is 2 bytes long, and matches the definition described in section  REF _Ref411327678 \r \h 3.4.2. Use of this option is optional. To receive filtered responses, the client inserts this option in the DHCP DISCOVER, DHCP REQUEST, and BSDP INFORM[LIST] packets that it sends. A server, upon receipt of a packet containing this option, eliminates images that do not match the given list of Attributes. The filtering applies to each of the following returned options: Default Boot Image ID option (section  REF _Ref467640332 \r \h 3.4.11) Selected Boot Image ID option (section  REF _Ref467640351 \r \h 3.4.12) Boot Image List option (section  REF _Ref418310154 \r \h 3.4.13) If no images match the given image Attributes list, a server that supports this option will not respond. Note: existing servers that do not support this option will respond as if no image attributes filter were present. The client needs to verify that any BSDP ACK[LIST] packet it receives matches the desired image Attributes list. In particular, if the client supplies a single Attributes value, the client verifies that the Default and Selected Boot Image ID options values match the desired Attributes. For example, if the client wants to receive only Hardware Diagnostics image (Kind = 3), the client supplies the option: CodeLengthAttributes111230and checks that the Default Boot Image ID and Selected Boot Image ID options match: CodeLengthDefault Boot Image ID7430xx CodeLengthSelected Boot Image ID8430xx The data for this option must be a positive multiple of 2 bytes (N >= 1): CodeLengthAttributes1Attributes2AttributesN112 * NA11A12A21A22AN1AN2 BSDP Maximum Message Size: BSDP option code 12 A BSDP client inserts this option in the BSDP INFORM[List] message to tell the BSDP server how large a response the client is able to accept. This option is used along with the DHCP maximum message size option (code 57) if the client can handle a response larger than 1500. The client sets the DHCP maximum message size option to 1500 and sets the BSDP maximum message size option to the value that is greater than 1500 e.g. 8192. This option is necessary because of a bug in older versions of the NetBoot server (Mac OS X 10.6.x and prior) that would use the minimum DHCP packet size if the message size provided by the client was greater than 1500. Newer NetBoot servers that understand this option prefer the BSDP maximum message size option over the DHCP maximum message size option for determining the maximum message size that can be returned to the client. The length of the option is 2, and the encoding is uint16: CodeLengthMax Msg Size 122m1m2 BSDP Firmware Client Details This section describes the logic used by a BSDP firmware client during system boot. DHCP defines several states that the client transitions between to acquire an IP address. Sections  REF _Ref465484836 \r \h 4.1through  REF _Ref465484871 \r \h 4.2 describe how BSDP is intertwined with these states. The remaining sections describe the additional BSDP states that the client uses to acquire a suitable boot image. DHCP INIT state Soon after power-on, client firmware begins the network boot process in the DHCP INIT state (RFC 2131). The client forms a DHCP DISCOVER packet that includes the BSDP Vendor Class Identifier (see  REF _Ref465232710 \h Table 2 below for the exact packet contents). It broadcasts the DISCOVER and sets a timer. If no responses arrive before the timer expires, the client retransmits a DISCOVER. The timeout values are doubled each time and a small amount of random fuzz is added to avoid synchronized broadcasts among several clients. The client retries several times, and if no packets arrive, it gives up and may choose to boot from an alternate boot device i.e. its internal hard disk. It may also choose to sleep for a period of time and begin the process over again. Once responses begin to arrive, the client transitions to the DHCP SELECT state. Table  SEQ Table \* ARABIC 2: DHCP DISCOVER packet DHCP DISCOVER PACKET IP and UDP InformationFieldValueDescriptionIP destination address255.255.255.255IP broadcast addressIP source address0.0.0.0Client has no address yetUDP destination port67BOOTP/DHCP server portUDP source port68BOOTP/DHCP client portDHCP FIELDSFieldLength (bytes)ValueDescriptionop111=BOOTREQUESThtype1?1=10Mb Ethernethlen1?6=10Mb Ethernet address lengthhops10xid4?secs2?flags2?ciaddr40.0.0.0yiaddr40.0.0.0siaddr40.0.0.0giaddr40.0.0.0chaddr16xx:xx:xx:xx:xx:xxClients thernet addresssname640:0::0unusedfile1280:0::0unusedmagic499.130.83.99RFC 2132 magic numberDHCP OPTIONSTagCodeLength (bytes)DescriptionMessage Type5311=DISCOVERVendor Class Identifier60variablesee section  REF _Ref464291300 \r \h 3.4.2Vendor Specific Information43variablesee below and section  REF _Ref464291982 \r \h 3.4.4Parameter Request List55>= 4Contains (at least) the bytes {1, 3, 43, 60}IP Address Lease Time514optional; client can suggest a length of leaseMaximum DHCP Message Size572optional; used if the client can handle a packet larger than 576 bytes (the DHCP minimum)BSDP OPTIONS (encapsulated in option 43)TagCodeLength (bytes)DescriptionBSDP Version22see section  REF _Ref464293740 \r \h 3.4.6BSDP Image Attributes Filter112 (multiple of)optional, see section  REF _Ref469364466 \r \h 3.4.15DHCP SELECT state Once the client receives its first appropriate response, the client cancels the previous timer, sets a new gathering timer and continues to wait for responses. The client gathers: DHCP OFFER from a DHCP server with IP address specified, or BOOTP REPLY from a BOOTP server IP address specified BSDP OFFER from a BSDP server with boot file specified (see Table 3 below) The following pseudo-code details the gathering logic:  After the gathering period ends, the client looks at the responses it saved and decides how to proceed. If it received no IP address information i.e. no DHCP OFFER or BOOTP REPLY, it retries DHCP. If the client receives a DHCP OFFER, it moves to the DHCP REQUEST state to confirm the IP address (discussed in the next section). If the client receives a BOOTP REPLY, it can simply use the specified IP address. If no BSDP response is received, the client continues on and tries BSDP (discussed in the following sections). The following pseudo-code details the post-gathering logic: If the firmware client received a BSDP OFFER (Table 3), it must save it so that it can be accessed by the loaded operating system. The client then loads and executes the bootfile. If the client selected a DHCP OFFER, it sends a DHCP REQUEST ( REF _Ref412112437 \h Table 4) packet to transition to the DHCP REQUEST state. If the client selected a BOOTP REPLY, the client firmware must save the packet in memory so that the booted operating system can retrieve it. DHCP REQUEST state The DHCP REQUEST state logic is fully specified in RFC2131 and is not duplicated here. After the client has confirmed its IP address binding, it uses the logic described in RFC2131 to safely probe whether the IP address is in use using ARP. If the ARP probe test indicates that the IP address is in use, it sends a DHCP DECLINE to the server, and starts DHCP over again. If the IP address is not in use, the client configures its IP parameters and continues with BSDP or downloads the appropriate boot file (see the previous sections). The client firmware must save the DHCP ACK so that it can be accessed by the loaded operating system. Table  SEQ Table \* ARABIC 3: BSDP OFFER packet BSDP OFFER PACKETUDP InformationFieldValueDescriptionUDP destination port68BOOTP/DHCP client portUDP source port67BOOTP/DHCP server portDHCP FIELDSFieldLength (bytes)ValueDescriptionop122=BOOTREPLYhtype1?from DISCOVERhlen1?from DISCOVERhops1?from DISCOVERxid4?from DISCOVERsecs2?from DISCOVERflags2?from DISCOVERciaddr40.0.0.0yiaddr40.0.0.0client has no addresssiaddr4x.x.x.xservers IP addressgiaddr4?from DISCOVERchaddr16?from DISCOVERsname64?server s host name, or option data if Option Overload is set to 2 or 3 (see below)file128?boot file name, or option data if Option Overload is set to 1 or 3 (see below)magic499.130.83.99RFC 2132 defined magic numberDHCP OPTIONSTagCodeLength (bytes)DescriptionMessage Type5312=OFFERServer Identifier544IP address of this DHCP serverVendor Class Identifier609value is AAPLBSDPC ; see section  REF _Ref464291300 \r \* MERGEFORMAT 3.4.2Vendor Specific Information43variablesee BSDP options below and section  REF _Ref464291982 \r \* MERGEFORMAT 3.4.4Option Overload521optional; value 1, 2 or 3: see RFC 2132 section 9.3TFTP server name66variableoptional; servers host name if sname is overloadedBootfile name67variableoptional; boot file name if file is overloadedBSDP OPTIONS (encapsulated in option 43)TagCodeLength (bytes)DescriptionBSDP Selected Boot Image ID84see section  REF _Ref465830256 \r \h 3.4.12Other boot image specific options??boot image specific options are encapsulated here as well Table  SEQ Table \* ARABIC 4: DHCP REQUEST packet DHCP REQUEST PACKET IP and UDP InformationFieldValueDescriptionIP destination address255.255.255.255IP broadcast addressIP source address0.0.0.0no IP address yetUDP destination port67BOOTP/DHCP server portUDP source port68BOOTP/DHCP client portDHCP FIELDSFieldLength (bytes)ValueDescriptionop111=BOOTREQUESThtype1?1=10Mb Ethernethlen1?6=10Mb Ethernet address lengthhops10xid4?secs2?flags2?ciaddr40.0.0.0yiaddr40.0.0.0siaddr40.0.0.0giaddr40.0.0.0chaddr16xx:xx:xx:xx:xx:xxClients thernet addresssname640:0::0unusedfile1280:0::0unusedmagic499.130.83.99RFC 2132 magic numberDHCP OPTIONSTagCodeLength (bytes)DescriptionMessage Type5313=REQUESTRequested IP Address504yiaddr from OFFERServer Identifier544from Server Identifier in OFFERVendor Class Identifier60variablesee section  REF _Ref464291300 \r \h 3.4.2Vendor Specific Information43variablesee below and section  REF _Ref464291982 \r \h 3.4.4Parameter Request List55>= 4Contains (at least) the bytes {1, 3, 43, 60}IP Address Lease Time514optional; client can suggest the lease lengthMaximum DHCP Message Size572optional; used if the client can handle a packet larger than 576 bytes (the DHCP minimum)BSDP OPTIONS (encapsulated in option 43)TagCodeLength (bytes)DescriptionBSDP Version22see section  REF _Ref464293740 \r \h 3.4.6BSDP Image Attributes Filter112 (multiple of)optional, see section  REF _Ref469364466 \r \h 3.4.15 BSDP Client States The BSDP protocol uses client state transitions similar to the first four defined in DHCP: INIT, SELECT, REQUEST and BOUND. Unlike DHCP, once in the BOUND state, the client does not need to contact the server again to maintain the binding, it may use the resources as long as it wants. The server may use an aging mechanism to free boot image resources if they are not used for some period of time, but must do so in a way that will not adversely affect existing booted clients. Figure 4 below illustrates the BSDP client state transitions. The sections that follow describe each of the BSDP client states. BSDP INIT state After determining its IP address (see the previous sections), the client begins in the BSDP INIT state. It broadcasts an INFORM[LIST] packet (see Table 5 below) and sets a timer. If no responses arrive before the timer expires, the client retransmits the INFORM[LIST] (updating the xid and secs fields as usual). The timeout values are doubled each time and a small amount of random fuzz is added to avoid synchronized broadcasts among several clients. The client retries several times. If no packets arrive, the client aborts network boot, and sends a DHCP RELEASE packet to the DHCP server indicating that it no longer requires the IP address (see RFC 2131). Once the first ACK[LIST] packet arrives (see  REF _Ref465243646 \h Table 6), the client transitions to the BSDP SELECT state. Table  SEQ Table \* ARABIC 5: BSDP INFORM[LIST] packet BSDP INFORM[LIST] PACKETIP and UDP InformationFieldValueDescriptionIP destination address255.255.255.255IP broadcast addressIP source addressx.x.x.xclients IP addressUDP destination port67BOOTP/DHCP server portUDP source port68BOOTP/DHCP client portDHCP FIELDSFieldLength (bytes)ValueDescriptionop111=BOOTREQUESThtype1?1=10Mb Ethernethlen1?6=10Mb Ethernet address lengthhops10xid4?secs2?flags2?ciaddr4x.x.x.xclients IP addressyiaddr40.0.0.0siaddr40.0.0.0giaddr40.0.0.0chaddr16xx:xx:xx:xx:xx:xxclients hardware (thernet) addresssname640:0::0unusedfile1280:0::0unusedmagic499.130.83.99RFC 2132 magic numberDHCP OPTIONSTagCodeLength (bytes)DescriptionMessage Type5318=INFORMVendor Class Identifier60variablesee section  REF _Ref464291300 \r \h 3.4.2Vendor Specific Information43variablesee below and section  REF _Ref464291982 \r \h 3.4.4Parameter Request List55>= 2Contains (at least) the bytes {43, 60}Maximum DHCP Message Size572optional; used if the client can handle a packet larger than 576 bytes (the DHCP minimum)BSDP OPTIONS (encapsulated in option 43)TagCodeLength (bytes)DescriptionBSDP Message Type111=LIST; see section  REF _Ref465228068 \r \h 3.4.5BSDP Version22see section  REF _Ref464293740 \r \h 3.4.6Reply Port52optional; see section  REF _Ref465228256 \r \h 3.4.9BSDP NetBoot 1.0 Firmware101Only supplied in some circumstances, see section  REF _Ref418309650 \w \h 3.4.14BSDP Image Attributes Filter112 (multiple of)optional, see section  REF _Ref469364466 \r \h 3.4.15 Table  SEQ Table \* ARABIC 6: BSDP ACK[LIST] packet BSDP ACK[LIST] PACKETUDP InformationFieldValueDescriptionUDP destination port?BSDP Reply Port option from INFORM[LIST] if present; 68 otherwiseUDP source port67BOOTP/DHCP server portDHCP FIELDSFieldLength (bytes)ValueDescriptionop122=BOOTREPLYhtype1?from INFORM[LIST]hlen1?from INFORM[LIST]hops1?from INFORM[LIST]xid4?from INFORM[LIST]secs2?from INFORM[LIST]flags2?from INFORM[LIST]ciaddr4x.x.x.xfrom INFORM[LIST]yiaddr40.0.0.0siaddr4x.x.x.xservers IP addressgiaddr4?from INFORM[LIST]chaddr16?from INFORM[LIST]sname64?server s host name, or option data if Option Overload is set to 2 or 3 (see below)file128?empty, or option data if Option Overload is set to 1 or 3 (see below)magic499.130.83.99RFC 2132 defined magic numberDHCP OPTIONSTagCodeLength (bytes)DescriptionMessage Type5315=ACKServer Identifier544IP address of this DHCP serverVendor Class Identifier609value AAPLBSDPC; see section  REF _Ref464291300 \r \* MERGEFORMAT 3.4.2Vendor Specific Information43variablesee BSDP options below and section  REF _Ref464291982 \r \* MERGEFORMAT 3.4.4Option Overload521optional; value 1, 2 or 3: see RFC 2132 section 9.3BSDP OPTIONS (encapsulated in option 43)TagCodeLength (bytes)DescriptionBSDP Message Type111=LIST; see section  REF _Ref465228068 \r \h 3.4.5BSDP Server Priority42see section  REF _Ref465830563 \r \h 3.4.8BSDP Default Boot Image ID74see section  REF _Ref465244667 \r \h 3.4.11BSDP Selected Boot Image ID84optional; see section  REF _Ref464986966 \r \h 3.4.12BSDP Boot Image List9variablesee section  REF _Ref418310154 \w \h 3.4.13 BSDP SELECT state Once the client receives its first ACK[LIST] response, the client cancels the previous timer, sets a new gathering timer and continues to wait for responses. The action that the client takes next depends on whether it is able to present a menu of choices to the user. If the client is able to offer a menu selection, it should gather all the responses it received and build a single list of boot images. Once the user selects an image, the client records the boot_image_id value for that image, and remembers which ACK[LIST] the image appeared in. If the client is unable to offer a menu selection, it selects from the responses automatically. If an ACK[LIST] contains the BSDP Selected Boot Image ID option, the client selects that response and records the boot_image_id value from the option. Otherwise, the client selects the ACK[LIST] with the highest BSDP Server Priority option value and records the boot_image_id value from the BSDP Default Boot Image ID option. Once an image is selected, the client forms an INFORM[SELECT] packet, setting the BSDP Server Identifier option to the value of the DHCP Server Identifier option from the selected ACK[LIST], and setting the BSDP Selected Boot Image ID option to the recorded boot_image_id value. The client broadcasts the INFORM[SELECT] and moves to the BSDP REQUEST state. BSDP INFORM[SELECT] PACKETIP and UDP InformationFieldValueDescriptionIP destination address255.255.255.255IP broadcast addressIP source addressx.x.x.xclients IP addressUDP destination port67BOOTP/DHCP server portUDP source port68BOOTP/DHCP client portDHCP FIELDSFieldLength (bytes)ValueDescriptionop111=BOOTREQUESThtype1?1=10Mb Ethernethlen1?6=10Mb Ethernet address lengthhops10xid4?secs2?flags2?ciaddr4x.x.x.xclients IP addressyiaddr40.0.0.0siaddr40.0.0.0giaddr40.0.0.0chaddr16xx:xx:xx:xx:xx:xxclients hardware (ethernet) addresssname640:0::0unusedfile1280:0::0unusedmagic499.130.83.99RFC 2132 magic numberDHCP OPTIONSTagCodeLength (bytes)DescriptionMessage Type5318=INFORMVendor Class Identifier60variablesee section  REF _Ref464291300 \r \h 3.4.2Vendor Specific Information43variablesee below and section  REF _Ref464291982 \r \h 3.4.4Parameter Request List55>= 2Contains (at least) the bytes {43, 60}Maximum DHCP Message Size572optional; used if the client can handle a packet larger than 576 bytes (the DHCP minimum)BSDP OPTIONS (encapsulated in option 43)TagCodeLength (bytes)DescriptionBSDP Message Type112=SELECT; see section  REF _Ref465228068 \r \h 3.4.5BSDP Version22see section  REF _Ref464293740 \r \h 3.4.6BSDP Server Identifier34from the DHCP Server Identifier option in ACK[LIST]; see section  REF _Ref465830745 \r \h 0BSDP Reply Port52optional; see section  REF _Ref465228256 \r \h 3.4.9BSDP Selected Boot Image ID84the boot_image_id selected by the client; see section  REF _Ref465830256 \r \h 3.4.12BSDP NetBoot 1.0 Firmware101Only supplied in some circumstances, see section  REF _Ref418309650 \w \h 3.4.14 BSDP REQUEST state In this state, the client is waiting for an ACK[SELECT] response (see  REF _Ref465245414 Table 7 below), or if an error occurred, an ACK[FAILED] response (see  REF _Ref465488633 \h Table 8 below). If an ACK[FAILED] response appears, the client MUST wait for at least 10 seconds before going back to the BSDP INIT state: the client must avoid looping quickly between the INIT, SELECT, REQUEST states in the case of a misbehaving BSDP server that always returns an ACK[FAILED]. If multiple BSDP servers respond, the client could choose a different server the next time around if one server returns the ACK[FAILED] message more than once. The client may choose to abort the network boot procedure after attempting BSDP a few times. Once the client receives the ACK[SELECT], it saves it in a location accessible by the loaded operating system, and begins downloading the boot file. Table  SEQ Table \* ARABIC 7: BSDP ACK[SELECT] packet BSDP ACK[SELECT] PACKETUDP InformationFieldValueDescriptionUDP destination port?BSDP Reply Port option from INFORM[SELECT] if present; 68 otherwiseUDP source port67BOOTP/DHCP server portDHCP FIELDSFieldLength (bytes)ValueDescriptionop122=BOOTREPLYhtype1?from INFORM[SELECT]hlen1?from INFORM[SELECT]hops1?from INFORM[SELECT]xid4?from INFORM[SELECT]secs2?from INFORM[SELECT]flags2?from INFORM[SELECT]ciaddr4x.x.x.xfrom INFORM[SELECT]yiaddr40.0.0.0siaddr4x.x.x.xservers IP addressgiaddr4?from INFORM[SELECT]chaddr16?from INFORM[SELECT]sname64?server s host name, or option data if Option Overload is set to 2 or 3 (see below)file128?boot file name, or option data if Option Overload is set to 1 or 3 (see below)magic499.130.83.99RFC 2132 defined magic numberDHCP OPTIONSTagCodeLength (bytes)DescriptionMessage Type5315=ACKServer Identifier544IP address of this DHCP serverVendor Class Identifier609value AAPLBSDPC; see section  REF _Ref464291300 \r \* MERGEFORMAT 3.4.2Vendor Specific Information43variablesee BSDP options below and section  REF _Ref464291982 \r \* MERGEFORMAT 3.4.4Option Overload521optional; value 1, 2 or 3: see RFC 2132 section 9.3TFTP server name66variableoptional; servers host name if sname is overloadedBootfile name67variableoptional; boot file name if file is overloadedBSDP OPTIONS (encapsulated in option 43)TagCodeLength (bytes)DescriptionBSDP Message Type112=SELECT; see section  REF _Ref465228068 \r \h 3.4.5BSDP Selected Boot Image ID84see section  REF _Ref464986966 \r \h 3.4.12Other boot image specific options??boot image specific options are encapsulated here as well Table  SEQ Table \* ARABIC 8: BSDP ACK[FAILED] packet BSDP ACK[FAILED] PACKETUDP InformationFieldValueDescriptionUDP destination port?BSDP Reply Port option from INFORM[SELECT] if present; 68 otherwiseUDP source port67BOOTP/DHCP server portDHCP FIELDSFieldLength (bytes)ValueDescriptionop122=BOOTREPLYhtype1?from INFORM[SELECT]hlen1?from INFORM[SELECT]hops1?from INFORM[SELECT]xid4?from INFORM[SELECT]secs2?from INFORM[SELECT]flags2?from INFORM[SELECT]ciaddr4x.x.x.xfrom INFORM[SELECT]yiaddr40.0.0.0siaddr4x.x.x.xservers IP addressgiaddr4?from INFORM[SELECT]chaddr16?from INFORM[SELECT]sname64?server s host namefile128?emptymagic499.130.83.99RFC 2132 defined magic numberDHCP OPTIONSTagCodeLength (bytes)DescriptionMessage Type5315=ACKServer Identifier544IP address of this DHCP serverVendor Class Identifier609value AAPLBSDPC; see section  REF _Ref464291300 \r \* MERGEFORMAT 3.4.2Vendor Specific Information43variablesee BSDP options below and section  REF _Ref464291982 \r \* MERGEFORMAT 3.4.4BSDP OPTIONS (encapsulated in option 43)TagCodeLength (bytes)DescriptionBSDP Message Type113=FAILED; see section  REF _Ref465228068 \r \h 3.4.5BSDP Non-firmware Client A non-firmware client such as the Startup Disk panel in Mac OS 9 and X can use BSDP to select an image that the system will use the next time the system boots over the network. This is possible for two reasons: The NetBoot server remembers the binding that a client negotiates. Image allocation is a separate operation from IP allocation and uses the clients hardware address as the identifier. The client may choose to specify an alternate port to use in the reply from the server (see  REF _Ref411320446 \r \h 3.4.9) to avoid conflicts with the DHCP client. The protocol proceeds as described starting in section  REF _Ref411320788 \n \h 4.3. Pre-BSDP firmware limitations The discussion up to this point details BSDP with the assumption that the firmware is BSDP capable. BSDP is a relatively recent development, so systems that pre-date it have either no NetBoot capability, or limited capability. The reason this is important only to the non-firmware BSDP client is that unlike the actual firmware, it can run on any system, regardless of its firmware version. It must adjust its behavior to match the capabilities of the underlying firmware to avoid surprising the user the next time the system reboots. Apple systems developed before the original iMac are not able to NetBoot. The non-firmware BSDP client must prevent the user from negotiating BSDP on such systems. Failure to do so means the user is left with a system that will fail to boot. Apple systems that pre-date BSDP, such as the original iMac and blue and white PowerMac G3 (Yosemite) have an Open Firmware version predating BSDP. These systems use an enhanced version of BOOTP now referred to as NetBoot 1.0. Such systems cannot fully benefit from the features of BSDP, and are limited to being served by a single NetBoot server. On NetBoot 1.0 systems, the non-firmware BSDP client must identify itself as a NetBoot 1.0 client in its BSDP messages by supplying the BSDP NetBoot 1.0 Firmware option (see section  REF _Ref418309650 \n \h 3.4.14 for more information). How to identify non-NetBoot, NetBoot 1.0, and NetBoot 2.0 firmware The Open Firmware version is identified using the device tree node device-tree:/rom/boot-rom. On non-NetBoot capable machines, this node will not exist. On NetBoot-capable machines, read the third long-word (4-byte) quantity. If the value is less than 0x33000, the client is NetBoot 1.0. Otherwise it is NetBoot 2.0. The following code fragment describes the logic:  Details on client selection criteria are discussed fully in a later section.  A reasonable length for the gathering time is 2 to 4 seconds.  A reasonable length for the gathering time is 2 to 4 seconds. Apple Confidential Page  PAGE 27  DATE 9/17/10 Figure 1: Initial Boot Sequence  int NetBootVersion() { void * info; DeviceTreeNode node; PropertyList plist; int client_type; info = 0 node = DeviceTreeNodeLookup(device-tree:/rom/boot-rom); if (node != NULL) { plist = DeviceTreeNodeGetProperties(node, plist); info = PropertyListGetValue(plist, info); } if (info == NULL) { client_type = NETBOOT_VERSION_NONE; /* no NetBoot support */ else { uint32_t third_longword; third_longword = *(uint32_t *)(info + 8); if (ntohl(third_longword) < 0x33000) client_type = NETBOOT_VERSION_1; /* NetBoot 1.0 */ else client_type = NETBOOT_VERSION_2; /* NetBoot 2.0 */ } return (client_type); } Figure 4: BSDP client state transitions  if (BOOTP_reply == 0 && DHCP_offer == 0) goto retry_dhcp; DHCP_ack = 0; if (DHCP_offer != 0) { /* send DHCP REQUEST to DHCP_offer.server_id, wait for ACK */ if (requesting_state(DHCP_offer,&DHCP_ack) == FAILURE) { /* retry or abort */ } my_ip = DHCP_ack.yiaddr; options = DHCP_ack.options; } else { my_ip = BOOTP_reply.yiaddr; options = BOOTP_reply.options; } configure_IP(my_ip,options.subnet_mask,options.router); bootfile = 0; if (BSDP_offer != 0) { bootfile = BSDP_offer.file; /* (Figure 2) */ } else { BSDP_ack = 0; if (Do_BSDP_Protocol(&BSDP_ack) == FAILURE) { /* retry or abort */ } bootfile = BSDP_ack.file; } load_and_execute(bootfile); Figure 2: Subsequent Boot Sequence  t = INITIAL_TIMEOUT; gathering = DHCP_offer = BSDP_offer = BOOTP_reply = 0; for (try = 0; try < MAX_TRIES; try++) { transmit(DISCOVER); set_timeout(t); t = t * 2; while (read_packet(&packet) != TIMEDOUT) { if (gathering == 0) { clear_timeout(); set_timeout(GATHERING_SECS); gathering = 1; } if (packet.type == BOOTP) { if (BOOTP_reply == 0) { BOOTP_reply = packet; } } else if (packet.msgtype != OFFER) ; else if (packet.vendor_class_id == BSDP) { BSDP_offer = packet; } else { /* DHCP packet */ DHCP_offer = packet; } if (DHCP_offer != 0 && BSDP_offer != 0) break; /* out of while */ } /* while */ if (DHCP_offer != 0 || BSDP_offer != 0 || BOOTP_reply != 0) break; /* out of for */ } /* for */ clear_timeout(); 34;NOrst p q . W % & y z ? @ JKi@FeX\]" I M ^ ñhOJQJjh0JUhOJQJ hCJ h5CJ h0J"jhUjhU h5 hCJhF 34$Ifl #ӿ  |lll$Ifl  !$Ifl nkd$$Ifl\8~ #8FH t4 lal   * p |lll$Ifl  !$Ifl nkd$$Ifl\8~ #8FH t4 lalp q x |lll$Ifl  !$Ifl nkd$$Ifl\8~ #8FH t4 lal |lll$Ifl  !$Ifl nkd$$Ifl\8~ #8FH t4 lal  . Z 3 |lll\\\\\$Ifl $Ifl  !$Ifl nkd$$Ifl\8~ #8FH t4 lal 3 V W ] h x % l\\\\\$Ifl  !$Ifl nkd$$Ifl\8~ #8FH t4 lal$Ifl % & , 7 G y |lll$Ifl  !$Ifl nkd$$Ifl\8~ #8FH t4 laly z ? |lll$Ifl  !$Ifl nkd$$Ifl\8~ #8FH t4 lal? @ F Q a |lll$Ifl  !$Ifl nkd$$Ifl\8~ #8FH t4 lal ,ij||| & F & FV !nkd $$Ifl\8~ #8FH t4 laltup,-Jide! " ` w!!"" # #*######%%%%e&g&& #*#####6$<$$$$%%!%%%e&g&&&&I'q'u''`*f*g*|*}*~*******+Y+`+++++++,,,$,?,C,D,J,i,v,w,},,,,,ŻjhCJUjhCJU hCJhCJOJQJ h5CJh5CJOJQJjhCJU hCJhOJQJjhU h5h>&H'I'''(())`*****uqkdw $$Ifl40(#  t04 lal$Ifl !$ ****+X+okd $$Ifl0(#  t04 lal$Ifl X+Y+`++$Ifl okd $$Ifl0(#  t04 lal++++$Ifl okdQ $$Ifl0(#  t04 lal++++$Ifl okd $$Ifl0(#  t04 lal+++,$Ifl okd $$Ifl0(#  t04 lal,,,>,$Ifl okd($$Ifl0(#  t04 lal>,?,D,h,$Ifl okd$$Ifl0(#  t04 lalh,i,w,,$Ifl okdb$$Ifl0(#  t04 lal,,,,,,,,,,-H.........///$/a/k/t/~///////0%050l001G12242>2C2H2N2X2222222D3N3333333334 4;4?4K5U55555*686667 77h5CJOJQJhOJQJhCJOJQJh hCJjhCJUQ,,,F.H.V.t$  $Ifa$l okd|$$Ifl0(#  t04 lalV.W.b.h.$  $Ifa$l bkd$$Ifs4## t0#4 sash.i.v.}...qqqq$  $Ifa$l vkd$$Ifs0# t0#4 sas.........bNNNNNNN  $Ifl kdU$$Ifs\D# t0#4 sas........................Ff$  $Ifa$l   $Ifl ... ///K/b/u//////0%050k0l001101G11 ! $Ifl   $Ifl Ff12222?3@355777788'9vkdI$$Ifs%0# t0#4 sas77V7Z7883:?:L:U:x::::::;;;;;;;;;;;;;;<"</<4<B<j<<<<<<<(=)=/=<=A=N=>>>>>>>??????????@@@ A&A2A8AYAmAnA}A h;CJ hCJ hCJ h5CJhCJOJQJ h5hOJQJhh5CJOJQJK'9L999::g;h;;D<E<j<o<v<<$$Ifa$l  ! & F<<<<<<<<<<<<<}jjjjjjjjjjj$$Ifa$l kd$$Ifl F 0    4 lal <<<<<<<<<<<]kd$$Ifl FD%0    4 lal$$Ifa$l  !Ff <===== = ======== =#=%=(=)===X>Y>>>>FfE"$$Ifa$l >>>>>>>>>>>jkd%$$Ifl FN 0    4 lal$$Ifa$l  >>!????DB@@-$$Ifa$l kd&$$IflLֈ 04 lal?????zgg$$Ifa$l okd'$$Ifl0@  t04 lal$$Ifa$l ????||$$Ifa$l okd4($$Ifl0@  t04 lal????||$$Ifa$l okd($$Ifl0@  t04 lal???????@zzz$$Ifa$l okdn)$$Ifl0@  t04 lal@@ @ @@w``M$$Ifa$l $ !$Ifa$l kd *$$IflFbj t0    4 lal@@9@@@YA^AeAmAxvtttaaa$$Ifa$l kd*$$IflFbj t0    4 lalmAnApArAwA|A|eeRR$$Ifa$l $ !$Ifa$l kdp+$$IflF8 t0    4 lal|A}A~AAABB8C=CDCiggegggRR$$Ifa$l kd#,$$Ifl\@ 8 t04 lal }A0C6C8CLCMC^C@EFEFFFF%F7I=I?IVIWIbIJJIKNKKKKK1M>MfMMMMMOOOPP+PPPPPPPPPPRSSNSQSSSjSkSlSnSoSpSrSSٷ٬ hCJhCJH*OJQJjhCJUj5hUjhU h5hCJOJQJ hCJh5CJOJQJhOJQJh?DCLCMCOCQCTCWCZC]CiRR$ !$Ifa$l kd,$$IflF8 t0    4 lal$$Ifa$l ]C^CCgDhD.E/EECA?????kd-$$Iflֈ@ H8 t04 lalEEF FFFFFF!FgPP$ !$Ifa$l kd\.$$IflF8 t0    4 lal$$Ifa$l  !F$F%FPFGGHHIIVTRRRRRRkd/$$Ifl\@ 8 t04 lal$$Ifa$l  I?IDIKIVIWIYI[I^IaIgPP$ !$Ifa$l kd/$$IflF8 t0    4 lal$$Ifa$l  aIbIIJJHKIKsKtKKigeeeeeeekd}0$$Ifl\@ 8 t04 lal KKKKKKKKKKKekd81$$IflF 0    4 lal$$Ifa$l  KKLMMfMB@>>>kd1$$Iflֈ 104 lalfMkMrMMMMMMMMiRR$ !$Ifa$l kd2$$IflF8 t0    4 lal$$Ifa$l  MMMM1O0.,kd3$$Iflֈ@ H8 t04 lal$$Ifa$l 1O2OOOOOPPPPgP$ !$Ifa$l kdU4$$IflF8 t0    4 lal$$Ifa$l  PP!P$P'P*P$$Ifa$l $ !$Ifa$l *P+P[PGQHQRRRCA?????kd5$$Iflֈ@ H8 t04 lalRRSSSSSS)S2S;SCSdkdP6$$Ifs4F[``^0    4 sas$$Ifa$l  CSNSOSQSSS>+$$Ifa$l kd7$$Ifs4r[   \04 sas$$Ifa$l SSVSYS\S_SbSeShSjSoSpSrSSSS_kdx;$$Ifs[064 sa Ff<9$$Ifa$l SSSSSSSSSSSSfkd<$$IfsF[ 06    4 sa$$Ifa$l  SSSSSSSSTTT!T#T.T2T''$ !$Ifa$l kdK$$IflֈN& ibc t04 lal``````````aaabbcchdidddddFfM$$Ifa$l $Ifl dddddd|eeRR$$Ifa$l $ !$Ifa$l kdO$$IflF8 t0    4 lalddddffij7jidb`^``[!$gdkdZP$$Ifl\@ 8 t04 laleeeeeeeegghg~gggggjjjjjj j7jMjNjejfj~jjjjjj k!kKkLkXkYkkkkkkkkkkkkkkkllll!l-l4l@lGlSlZllllùùùùùhCJOJQJ hCJhCJOJQJh5CJOJQJjhCJU hCJjRhUjQhUjhUhB7jMjNjejfj4[kd-S$$Ifl(f!>!04 la[kdR$$Ifl(f!>!04 la$$Ifa$l fjljrj~jjjjjZkdS$$IflF(pf!H$ 0    4 la$$Ifa$l $Ifl jjjjj}mZm$$Ifa$l $Ifl kdT$$IflF(pf!H$ 0    4 lajjk k k}mZm$$Ifa$l $Ifl kdZU$$IflF(pf!H$ 0    4 la k!k1k4kKk}mZm$$Ifa$l $Ifl kd'V$$IflF(pf!H$ 0    4 laKkLkXk}m$Ifl kdV$$IflF(pf!H$ 0    4 laXkYk_knktkk$$Ifa$l $Ifl [kdW$$Ifl(f!>!04 lakkkkkkjZG4Z$$Ifa$l $$Ifa$l $Ifl kdpX$$Ifl\(pf!$ 04 lakkkkkkjZG4Z$$Ifa$l $$Ifa$l $Ifl kdaY$$Ifl\(pf!$ 04 lakkkkkkjZG4Z$$Ifa$l $$Ifa$l $Ifl kdDZ$$Ifl\(pf!$ 04 lakkkkkkjZG4Z$$Ifa$l $$Ifa$l $Ifl kd'[$$Ifl\(pf!$ 04 lakkkkkkjZG4Z$$Ifa$l $$Ifa$l $Ifl kd \$$Ifl\(pf!$ 04 lakkkkkkjZG4Z$$Ifa$l $$Ifa$l $Ifl kd\$$Ifl\(pf!$ 04 lakklllljZG4Z$$Ifa$l $$Ifa$l $Ifl kd]$$Ifl\(pf!$ 04 lalllllljZG4Z$$Ifa$l $$Ifa$l $Ifl kd^$$Ifl\(pf!$ 04 lall!l#l+l,ljZG4Z$$Ifa$l $$Ifa$l $Ifl kd_$$Ifl\(pf!$ 04 la,l-l4l6l>l?ljZG4Z$$Ifa$l $$Ifa$l $Ifl kdy`$$Ifl\(pf!$ 04 la?l@lGlIlQlRljZG4Z$$Ifa$l $$Ifa$l $Ifl kd\a$$Ifl\(pf!$ 04 laRlSlZl]lolljZG4Z$$Ifa$l $$Ifa$l $Ifl kd?b$$Ifl\(pf!$ 04 lalllllljZG4Z$$Ifa$l $$Ifa$l $Ifl kd"c$$Ifl\(pf!$ 04 lalllllljZG4Z$$Ifa$l $$Ifa$l $Ifl kdd$$Ifl\(pf!$ 04 lalllllllmimjmmmmmmmmmmmmmo+o,oPonoooooooooooooooopp8q9qqqqqqt𣙣jhCJOJQJU hCJjh0JUhjrhCJUjphCJUjjhCJUj?ihCJUjhCJUh5CJOJQJ hCJhCJOJQJ2lllllljZG4Z$$Ifa$l $$Ifa$l $Ifl kdd$$Ifl\(pf!$ 04 lallljZ$Ifl kde$$Ifl\(pf!$ 04 lallllmm$$Ifa$l $Ifl [kdf$$Ifl(f!>!04 lamm(m+m-m8mjZGZZ$$Ifa$l $Ifl kd]g$$Ifl\(2  f! 04 la8m9mQmTm]mmjZGZZ$$Ifa$l $Ifl kdNh$$Ifl\(2  f! 04 lammmmmmjZGZZ$$Ifa$l $Ifl kdi$$Ifl\(2  f! 04 lammn nn!04 laPoQo^o`oboojZGZZ$$Ifa$l $Ifl kdo$$Ifl\(2  f! 04 laoooooojZGZZ$$Ifa$l $Ifl kd'q$$Ifl\(2  f! 04 laooppq9qqqqqqjec^^^cccc & F & Fkdr$$Ifl\(2  f! 04 la qZs[stttuuewfw x xtxxxx[kdt$$Ifl(f!>!04 la$$Ifa$l !$ bttttuuuuutx{x|xxxxxxxxxxxx@yLyMytyuyxyyyyyyyyyyyzzz!z-z4zUz\z{zzzzzz{{k{q{{{{{{b|c||||ýóýjhCJUhCJOJQJ hCJhCJOJQJh5CJOJQJjhCJU hCJjshUhjhUBxxxxxx$Ifl [kdt$$Ifl(f!>!04 la$$Ifa$l xxxxy}mZm$$Ifa$l $Ifl kd7u$$IflF(pf!H$ 0    4 layy%y(y?y}mZm$$Ifa$l $Ifl kdv$$IflF(pf!H$ 0    4 la?y@yLy}m$Ifl kdv$$IflF(pf!H$ 0    4 laLyMySybyhyty$$Ifa$l $Ifl [kdw$$Ifl(f!>!04 latyuyxyzy|yyjZG4Z$$Ifa$l $$Ifa$l $Ifl kdMx$$Ifl\(pf!$ 04 layyyyyyjZG4Z$$Ifa$l $$Ifa$l $Ifl kd>y$$Ifl\(pf!$ 04 layyyyyyjZG4Z$$Ifa$l $$Ifa$l $Ifl kd!z$$Ifl\(pf!$ 04 layyyyyyjZG4Z$$Ifa$l $$Ifa$l $Ifl kd{$$Ifl\(pf!$ 04 layyyyyyjZG4Z$$Ifa$l $$Ifa$l $Ifl kd{$$Ifl\(pf!$ 04 layyyyyzjZG4Z$$Ifa$l $$Ifa$l $Ifl kd|$$Ifl\(pf!$ 04 lazzz z zzjZG4Z$$Ifa$l $$Ifa$l $Ifl kd}$$Ifl\(pf!$ 04 lazz!z#z+z,zjZG4Z$$Ifa$l $$Ifa$l $Ifl kd~$$Ifl\(pf!$ 04 la,z-z4z6z>zTzjZG4Z$$Ifa$l $$Ifa$l $Ifl kds$$Ifl\(pf!$ 04 laTzUz\z^zfzzzjZG4Z$$Ifa$l $$Ifa$l $Ifl kdV$$Ifl\(pf!$ 04 lazz{zzzzzjZG4Z$$Ifa$l $$Ifa$l $Ifl kd9$$Ifl\(pf!$ 04 lazzzzzzjZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 lazzzzz{jZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 la{{{{{j{jZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 laj{k{q{s{{{jZG4Z$$Ifa$l $$Ifa$l $Ifl kdń$$Ifl\(pf!$ 04 la{{{jZ$Ifl kd$$Ifl\(pf!$ 04 la{{{{{{$$Ifa$l $Ifl [kd$$Ifl(f!>!04 la{{{{{{jZGZZ$$Ifa$l $Ifl kd:$$Ifl\(2  f! 04 la{{{||#|jZGZZ$$Ifa$l $Ifl kd+$$Ifl\(2  f! 04 la#|$|<|?|A||jZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 la||||}} } }}}}}}~~A~B~n~o~~~~~~~~~~,ABYZrs 78DElmpƀǀ̀рҀڥڥڥڥڥ hCJhCJOJQJjhCJU hCJhjphCJUhCJOJQJh5CJOJQJhCJOJQJ hCJjhCJU>||||| }jZGZZ$$Ifa$l $Ifl kd $$Ifl\(2  f! 04 la } }} }"}V}jZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 laV}W}h}k}t}}jZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 la}}}}}}jZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 la}}~jZ$Ifl kdэ$$Ifl\(2  f! 04 la~~!~&~5~A~$$Ifa$l $Ifl [kdŽ$$Ifl(f!>!04 laA~B~^~`~b~~jZGZZ$$Ifa$l $Ifl kdq$$Ifl\(2  f! 04 la~~~~~~jZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 la~~~~,AjhheR$$Ifa$l !$kd$$Ifl\(2  f! 04 laABYZ`4$$Ifl [kd$$Ifl(f!>!04 la$$Ifa$l [kd$$Ifl(f!>!04 la`frsZkd$$IflF(pf!H$ 0    4 la$Ifl $$Ifa$l }mZm$$Ifa$l $Ifl kd$$IflF(pf!H$ 0    4 la }mZm$$Ifa$l $Ifl kd$$IflF(pf!H$ 0    4 la  7}mZm$$Ifa$l $Ifl kd$$IflF(pf!H$ 0    4 la78D}m$Ifl kdS$$IflF(pf!H$ 0    4 laDEKZ`l$$Ifa$l $Ifl [kd $$Ifl(f!>!04 lalmprtjZG4Z$$Ifa$l $$Ifa$l $Ifl kdϘ$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 laƀjZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 laƀǀ̀΀ЀрjZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 laрҀր؀ڀۀjZG4Z$$Ifa$l $$Ifa$l $Ifl kdi$$Ifl\(pf!$ 04 laҀրۀ܀  +,3>?Fuv|Ӂԁ#$>DPQӂԂՂڂۂ܂݂567<=>?փ׃PQz{jhCJUjhCJUjhCJUh5CJOJQJ hCJ hCJhCJOJQJJۀ܀jZG4Z$$Ifa$l $$Ifa$l $Ifl kdL$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kd/$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 la jZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 la "*+jZG4Z$$Ifa$l $$Ifa$l $Ifl kdؠ$$Ifl\(pf!$ 04 la+,35=>jZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 la>?FI[ujZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 lauv|jZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kdd$$Ifl\(pf!$ 04 laӁjZG4Z$$Ifa$l $$Ifa$l $Ifl kdG$$Ifl\(pf!$ 04 laӁԁjZ$Ifl kd*$$Ifl\(pf!$ 04 la$$Ifa$l $Ifl [kd$$Ifl(f!>!04 la#jZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 la#$9<>PjZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 laPQcfhjZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 la܂jZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 la܂݂>jZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 la>?VY^jZGZZ$$Ifa$l $Ifl kdk$$Ifl\(2  f! 04 laփjZGZZ$$Ifa$l $Ifl kd\$$Ifl\(2  f! 04 laփ׃PjZGZZ$$Ifa$l $Ifl kd[$$Ifl\(2  f! 04 laPQzjZ$Ifl kdZ$$Ifl\(2  f! 04 laz{$$Ifa$l $Ifl [kdK$$Ifl(f!>!04 lajZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 laׄ؄لބ߄'(ABCIJLBC1|Cx{Ҍ׌݌˻˻˰ê˪hCJOJQJh5CJOJQJjhCJU hCJjǵhUhOJQJjhUhjYhCJU hCJjhCJU hCJjhCJU6KjZGZZ$$Ifa$l $Ifl kdh$$Ifl\(2  f! 04 laKLM`ABćԇpqjhfhhhfhhhhkdִ$$Ifl\(2  f! 04 la q1JKb[kdD$$Ifl(f!>!04 la$$Ifa$l bcio{$$Ifa$l $Ifl [kd$$Ifl(f!>!04 la{|}mZm$$Ifa$l $Ifl kdx$$IflF(pf!H$ 0    4 laˋӋ}mZm$$Ifa$l $Ifl kdE$$IflF(pf!H$ 0    4 la}mZm$$Ifa$l $Ifl kd$$IflF(pf!H$ 0    4 la(+B}mZm$$Ifa$l $Ifl kd߹$$IflF(pf!H$ 0    4 laBCO}m$Ifl kd$$IflF(pf!H$ 0    4 laOPVekw$$Ifa$l $Ifl [kdy$$Ifl(f!>!04 lawx{}jZG4Z$$Ifa$l $$Ifa$l $Ifl kd($$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 laьjZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 laьҌ׌ٌی܌jZG4Z$$Ifa$l $$Ifa$l $Ifl kd߾$$Ifl\(pf!$ 04 la܌݌jZG4Z$$Ifa$l $$Ifa$l $Ifl kd¿$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 la#jZG4Z$$Ifa$l $$Ifa$l $Ifl kdk$$Ifl\(pf!$ 04 la$+7>JQ]dэ׍0|}ގߎď=>WXY^_~ǐȐ;jhCJUjOhCJUjhCJUhCJOJQJjhCJUj!hCJUjhCJUh5CJOJQJ hCJhCJOJQJ8#$+-56jZG4Z$$Ifa$l $$Ifa$l $Ifl kdN$$Ifl\(pf!$ 04 la67>@HIjZG4Z$$Ifa$l $$Ifa$l $Ifl kd1$$Ifl\(pf!$ 04 laIJQS[\jZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 la\]dgyjZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 laɍЍjZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 laЍэ׍ٍjZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 la jZ$Ifl kd$$Ifl\(pf!$ 04 la #/$$Ifa$l $Ifl [kdt$$Ifl(f!>!04 la/0=@BKjZGZZ$$Ifa$l $Ifl kd#$$Ifl\(2  f! 04 laKLdgpjZGZZ$$Ifa$l $Ifl kd"$$Ifl\(2  f! 04 laȎjZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 la!IjZGZZ$$Ifa$l $Ifl kd $$Ifl\(2  f! 04 laIJdgiÏjZGZZ$$Ifa$l $Ifl kd $$Ifl\(2  f! 04 laÏďjZ$Ifl kdP$$Ifl\(2  f! 04 la$$Ifa$l $Ifl [kdA$$Ifl(f!>!04 la%')`jZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 la`anprjZGZZ$$Ifa$l $Ifl kd^$$Ifl\(2  f! 04 lajZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 la _jZGZZ$$Ifa$l $Ifl kd:$$Ifl\(2  f! 04 la;<UVW]^‘ȑɑˑΑԑՑEF˒16MRimē!8?W] =p!"'˶ﶢhCJOJQJhCJOJQJh5CJOJQJjhCJU hCJhjhCJUj+hCJU hCJjhCJU@_`}ʑjZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 laʑˑ̑ΑjhheR$$Ifa$l !$kd$$Ifl\(2  f! 04 la,-34$$Ifl [kd$$Ifl(f!>!04 la$$Ifa$l [kd$$Ifl(f!>!04 la39EF[]Zkd;$$IflF(pf!H$ 0    4 la$Ifl $$Ifa$l ʒ}mZm$$Ifa$l $Ifl kd$$IflF(pf!H$ 0    4 laʒ˒ג}m$Ifl kd$$IflF(pf!H$ 0    4 laגؒޒ$$Ifa$l $Ifl [kd$$Ifl(f!>!04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kdQ$$Ifl\(pf!$ 04 la0jZG4Z$$Ifa$l $$Ifa$l $Ifl kdB$$Ifl\(pf!$ 04 la0168:LjZG4Z$$Ifa$l $$Ifa$l $Ifl kd%$$Ifl\(pf!$ 04 laLMRTVhjZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 lahimoqjZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 laēƓΓjZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kdw$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kdZ$$Ifl\(pf!$ 04 la!#%7jZG4Z$$Ifa$l $$Ifa$l $Ifl kd=$$Ifl\(pf!$ 04 la78?BDVjZG4Z$$Ifa$l $$Ifa$l $Ifl kd $$Ifl\(pf!$ 04 laVW]`bjZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 la”jZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 la <jZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 la<=JjZ$Ifl kd$$Ifl\(pf!$ 04 laJKOTco$$Ifa$l $Ifl [kd$$Ifl(f!>!04 laop}jZGZZ$$Ifa$l $Ifl kd>$$Ifl\(2  f! 04 lajZGZZ$$Ifa$l $Ifl kd/$$Ifl\(2  f! 04 laؕەݕ)jZGZZ$$Ifa$l $Ifl kd $$Ifl\(2  f! 04 la'(uv=>hi˗̗͗җӗ"#[\uvw}~ƘǘȘΘϘј^_ĚhOJQJjh0JUhj<hCJUjhCJUj`hCJUjhCJUjhCJUhCJOJQJh5CJOJQJ hCJjhCJU3)*FIRjZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 lajZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 lajZ$Ifl kd$$Ifl\(2  f! 04 la"1=$$Ifa$l $Ifl [kd$$Ifl(f!>!04 la=>PRTjZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 laԗjZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 laԗ՗$jZGZZ$$Ifa$l $Ifl kdo$$Ifl\(2  f! 04 la$%ACEjZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 laИjZGZZ$$Ifa$l $Ifl kdK$$Ifl\(2  f! 04 laИјҘ"#jhfhhhhhhkd$$Ifl\(2  f! 04 la y˝#p7loƟ˟џ՟۟+2>EQXŠˠ$pqҡӡ34MNOj9hCJUhCJOJQJjhCJUjyhCJUjhCJUhCJOJQJ hCJh5CJOJQJhhOJQJ>#>?VW4[kdK$$Ifl(f!>!04 la[kd$$Ifl(f!>!04 la$$Ifa$l W]copZkd$$IflF(pf!H$ 0    4 la$$Ifa$l $Ifl Ǟ۞}mZm$$Ifa$l $Ifl kd$$IflF(pf!H$ 0    4 la۞ܞ }mZm$$Ifa$l $Ifl kdx$$IflF(pf!H$ 0    4 la 6}mZm$$Ifa$l $Ifl kdE$$IflF(pf!H$ 0    4 la67C}m$Ifl kd$$IflF(pf!H$ 0    4 laCDJY_k$$Ifa$l $Ifl [kd$$Ifl(f!>!04 lakloqsjZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 laşjZG4Z$$Ifa$l $$Ifa$l $Ifl kdb$$Ifl\(pf!$ 04 laşƟ˟͟ϟПjZG4Z$$Ifa$l $$Ifa$l $Ifl kdE$$Ifl\(pf!$ 04 laПџ՟ןٟڟjZG4Z$$Ifa$l $$Ifa$l $Ifl kd($$Ifl\(pf!$ 04 laڟ۟jZG4Z$$Ifa$l $$Ifa$l $Ifl kd $$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 la!)*jZG4Z$$Ifa$l $$Ifa$l $Ifl kd $$Ifl\(pf!$ 04 la*+24<=jZG4Z$$Ifa$l $$Ifa$l $Ifl kd $$Ifl\(pf!$ 04 la=>EGOPjZG4Z$$Ifa$l $$Ifa$l $Ifl kdz $$Ifl\(pf!$ 04 laPQX[mjZG4Z$$Ifa$l $$Ifa$l $Ifl kd] $$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kd@ $$Ifl\(pf!$ 04 laĠjZG4Z$$Ifa$l $$Ifa$l $Ifl kd#$$Ifl\(pf!$ 04 laĠŠˠ͠ڠjZG4Z$$Ifa$l $$Ifa$l $Ifl kd$$Ifl\(pf!$ 04 lajZ$Ifl kd$$Ifl\(pf!$ 04 la#$$Ifa$l $Ifl [kd$$Ifl(f!>!04 la#$146?jZGZZ$$Ifa$l $Ifl kd{$$Ifl\(2  f! 04 la?@X[djZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 lajZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 la =jZGZZ$$Ifa$l $Ifl kdd$$Ifl\(2  f! 04 la=>X[]jZGZZ$$Ifa$l $Ifl kdc$$Ifl\(2  f! 04 lajZ$Ifl kd$$Ifl\(2  f! 04 la$$Ifa$l $Ifl [kd$$Ifl(f!>!04 laVjZGZZ$$Ifa$l $Ifl kdH$$Ifl\(2  f! 04 laOTUtu>?XYZ_`ҤӤԤڤۤ-.GHIOPRȥɥ !")*j"hU hCJjhUhj_!hCJUjhCJUhCJOJQJjhCJUjhCJUjhCJUjhCJU hCJ5VWdfhjZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 lajZGZZ$$Ifa$l $Ifl kd$$$Ifl\(2  f! 04 la$&(ajZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 laab~ܤjZGZZ$$Ifa$l $Ifl kd$$Ifl\(2  f! 04 laܤݤQjZGZZ$$Ifa$l $Ifl kdn $$Ifl\(2  f! 04 laQRSfKL3jhfhhhhcP$$Ifa$l !$kd!$$Ifl\(2  f! 04 la *]^.4MRkpĪʪ #BIbi>Dr!/0VW\]ѭҭ׭حaf;<UVWѽѽѽѽѽѽѽѰj?hCJUjhCJUhCJOJQJ hCJhCJOJQJh5CJOJQJjhCJU hCJhE34DEK4$$Ifl [kd#$$Ifl(f!>!04 la$$Ifa$l [kdX#$$Ifl(f!>!04 laKQ]^suZkd$$$IflF(pf!H$ 0    4 la$Ifl $$Ifa$l ʩͩ}mZm$$Ifa$l $Ifl kdY%$$IflF(pf!H$ 0    4 la}m$Ifl kd&&$$IflF(pf!H$ 0    4 la $$Ifa$l $Ifl [kd&$$Ifl(f!>!04 la!-jZG4Z$$Ifa$l $$Ifa$l $Ifl kd'$$Ifl\(pf!$ 04 la-.468LjZG4Z$$Ifa$l $$Ifa$l $Ifl kd($$Ifl\(pf!$ 04 laLMRTVjjZG4Z$$Ifa$l $$Ifa$l $Ifl kdv)$$Ifl\(pf!$ 04 lajkprtjZG4Z$$Ifa$l $$Ifa$l $Ifl kdY*$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kd<+$$Ifl\(pf!$ 04 laêjZG4Z$$Ifa$l $$Ifa$l $Ifl kd,$$Ifl\(pf!$ 04 laêĪʪ̪ΪjZG4Z$$Ifa$l $$Ifa$l $Ifl kd-$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kd-$$Ifl\(pf!$ 04 la jZG4Z$$Ifa$l $$Ifa$l $Ifl kd.$$Ifl\(pf!$ 04 la#%-AjZG4Z$$Ifa$l $$Ifa$l $Ifl kd/$$Ifl\(pf!$ 04 laABIKMajZG4Z$$Ifa$l $$Ifa$l $Ifl kd0$$Ifl\(pf!$ 04 laabilnjZG4Z$$Ifa$l $$Ifa$l $Ifl kdq1$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kdT2$$Ifl\(pf!$ 04 la=jZG4Z$$Ifa$l $$Ifa$l $Ifl kd73$$Ifl\(pf!$ 04 la=>DFSqjZG4Z$$Ifa$l $$Ifa$l $Ifl kd4$$Ifl\(pf!$ 04 laqrjZ$Ifl kd4$$Ifl\(pf!$ 04 la$$Ifa$l $Ifl [kd5$$Ifl(f!>!04 lajZGZZ$$Ifa$l $Ifl kd6$$Ifl\(2  f! 04 laЬӬլjZGZZ$$Ifa$l $Ifl kd7$$Ifl\(2  f! 04 la ^jZGZZ$$Ifa$l $Ifl kdq8$$Ifl\(2  f! 04 la^_{~٭jZGZZ$$Ifa$l $Ifl kdb9$$Ifl\(2  f! 04 la٭ڭ#jZGZZ$$Ifa$l $Ifl kdS:$$Ifl\(2  f! 04 la#$58AujZGZZ$$Ifa$l $Ifl kdD;$$Ifl\(2  f! 04 lauvjZGZZ$$Ifa$l $Ifl kd5<$$Ifl\(2  f! 04 lajZ$Ifl kd&=$$Ifl\(2  f! 04 la$$Ifa$l $Ifl [kd>$$Ifl(f!>!04 la!#%^jZGZZ$$Ifa$l $Ifl kd>$$Ifl\(2  f! 04 laW\]./01KJM^d}ֱ۱9@LSryӲزLȳֳ׳QRxy~дȾȴhCJOJQJhCJOJQJh5CJOJQJjhCJU hCJj%AhCJUjhCJU hCJG^_{}jZGZZ$$Ifa$l $Ifl kd4@$$Ifl\(2  f! 04 laүԯ֯jZGZZ$$Ifa$l $Ifl kdA$$Ifl\(2  f! 04 laKcjheR$$Ifa$l !$kdB$$Ifl\(2  f! 04 lacdtu{4$$Ifl [kd%D$$Ifl(f!>!04 la$$Ifa$l [kdC$$Ifl(f!>!04 la{ZkdD$$IflF(pf!H$ 0    4 la$Ifl $$Ifa$l }mZm$$Ifa$l $Ifl kdE$$IflF(pf!H$ 0    4 la!}m$Ifl kdRF$$IflF(pf!H$ 0    4 la!"(7=I$$Ifa$l $Ifl [kdG$$Ifl(f!>!04 laIJMOQ]jZG4Z$$Ifa$l $$Ifa$l $Ifl kdG$$Ifl\(pf!$ 04 la]^dfh|jZG4Z$$Ifa$l $$Ifa$l $Ifl kdH$$Ifl\(pf!$ 04 la|}jZG4Z$$Ifa$l $$Ifa$l $Ifl kdI$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kdJ$$Ifl\(pf!$ 04 laձjZG4Z$$Ifa$l $$Ifa$l $Ifl kdhK$$Ifl\(pf!$ 04 laձֱ۱ݱ߱jZG4Z$$Ifa$l $$Ifa$l $Ifl kdKL$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kd.M$$Ifl\(pf!$ 04 la$8jZG4Z$$Ifa$l $$Ifa$l $Ifl kdN$$Ifl\(pf!$ 04 la89@BJKjZG4Z$$Ifa$l $$Ifa$l $Ifl kdN$$Ifl\(pf!$ 04 laKLSU]qjZG4Z$$Ifa$l $$Ifa$l $Ifl kdO$$Ifl\(pf!$ 04 laqry{}jZG4Z$$Ifa$l $$Ifa$l $Ifl kdP$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kdQ$$Ifl\(pf!$ 04 laҲjZG4Z$$Ifa$l $$Ifa$l $Ifl kdR$$Ifl\(pf!$ 04 laҲӲزܲ޲jZG4Z$$Ifa$l $$Ifa$l $Ifl kdcS$$Ifl\(pf!$ 04 lajZG4Z$$Ifa$l $$Ifa$l $Ifl kdFT$$Ifl\(pf!$ 04 la&jZ$Ifl kd)U$$Ifl\(pf!$ 04 la&'+0?K$$Ifa$l $Ifl [kdV$$Ifl(f!>!04 laKLY\^djZGZZ$$Ifa$l $Ifl kdV$$Ifl\(2  f! 04 ladewz|jZGZZ$$Ifa$l $Ifl kdW$$Ifl\(2  f! 04 lajZGZZ$$Ifa$l $Ifl kdX$$Ifl\(2  f! 04 la"%.jZGZZ$$Ifa$l $Ifl kdY$$Ifl\(2  f! 04 lajZ$Ifl kdZ$$Ifl\(2  f! 04 laôϴ$$Ifa$l $Ifl [kdp[$$Ifl(f!>!04 laϴдjZGZZ$$Ifa$l $Ifl kd\$$Ifl\(2  f! 04 la #$=>?DE·÷ƷǷ '()/0ϽξϾRSӿ޵ާޝޓޓއwwjhCJOJPJQJUhCJOJPJQJjh0JUhCJOJQJhB*OJPJQJphjx_hUj^hUj~^hUjhUh hCJjhCJUj]hCJU* 9 PƶǶɷ̸jhfXXfRPf ! & F hh^hkd]$$Ifl\(2  f! 04 la ̸͸VWH'(;ξRҿӿ $a$ GHj\HJqruξά΢Δ΢΢j%qhU hCJhCJOJQJj@lhUhCJOJQJhOJQJj_hUhhCJOJPJQJjhCJOJPJQJU!hCJOJPJQJmHnHu  !"#$%&FGI !!IJKLMNOPQRSTUVWXYZ[\]^_`abcdeffghijn9Q"-NP:@@Z\]^0mMN\ !!\s +-IJKLpqstu!Pg}! ! 06b|Oht  !^  !` !  / =!"#$%|,, y g(,,(d'` DyK dieter@apple.comyK 0mailto:dieter@apple.com$$Ifl!vh585F55H#vH#v#vF#v8:V l t5H55F58/ / / / /  / / 4al$$Ifl!vh585F55H#vH#v#vF#v8:V l t5H55F58/ / / / / / / 4al$$Ifl!vh585F55H#vH#v#vF#v8:V l t5H55F58/ / / / / / / 4al$$Ifl!vh585F55H#vH#v#vF#v8:V l t5H55F58/ / / / / / / 4al$$Ifl!vh585F55H#vH#v#vF#v8:V l t5H55F58/ / / / / / / 4al$$Ifl!vh585F55H#vH#v#vF#v8:V l t5H55F58/ / / / / / / 4al$$Ifl!vh585F55H#vH#v#vF#v8:V l t5H55F58/ / / / / / / 4al$$Ifl!vh585F55H#vH#v#vF#v8:V l t5H55F58/ / / / / / / 4al$$Ifl!vh585F55H#vH#v#vF#v8:V l t5H55F58/ / / / / / / 4al$$Ifl!vh585F55H#vH#v#vF#v8:V l t5H55F58/ /  / / / / / 4al$$Ifl!vh55 #v #v:V l4 t05 54al$$Ifl!vh55 #v #v:V l t05 54al$$Ifl!vh55 #v #v:V l t05 54al$$Ifl!vh55 #v #v:V l t05 54al$$Ifl!vh55 #v #v:V l t05 54al$$Ifl!vh55 #v #v:V l t05 54al$$Ifl!vh55 #v #v:V l t05 54al$$Ifl!vh55 #v #v:V l t05 54al$$Ifl!vh55 #v #v:V l t05 54al}DyK _Ref411327678$$Ifl!vh55 #v #v:V l t05 54al$$Ifs!vh5##v#:V s4 t0#5#4 s4as$$Ifs!vh55#v#v:V s t0#554 s4as$$Ifs!vh5555#v#v#v:V s t0#5554 s4as|$$Ifs!vh555555555 5 5 5 5 5 555#v#v#v #v #v #v#v#v:V s4% t0#+555 5 5 5554 s4as'kd$$Ifs4%z/G_w  ! 9Qi#` t0#DDDD4 sas>$$Ifs!v h555555555 5 5 #v #v #v #v#v#v#v:V s4% t0#+ 5 5 5 55554 s4asCkd$$Ifs4%   ! 9Qi#  t0#,,,,4 sas$$Ifs!vh55#v#v:V s% t0#554 s4as$$Ifl!vh555 #v #v#v:V l 05 55/ 4al$$Ifl!v h555r5r5r5r5r5r5 r5 r5 r#v r#v#v:V l(05 r554al0kd$$Ifl(    v Z>rrrrrrrrr0,,,,4 lal$$Ifl!vh555#v#v#v:V l 0555/ 4al$$Ifl!vh555r5r5r5r5r5r5 r5 r5 r5 5 5 5h55J555h5#v#vh#v#vJ#v#vh#v #v #v r#v#v:V lL055h55J55h5 5 5 r554alkd $$IflL   v Z>^>!(#D%rrrrrrrrrhJh0TTTT4 lal$$Ifl!vh555N #vN #v#v:V l 05N 55/ 4al$$Ifl!vh555555#v#v#v#v#v:V lL0555554al$$Ifl!vh55#v#v:V l t0554al$$Ifl!vh55#v#v:V l t0554al$$Ifl!vh55#v#v:V l t0554al$$Ifl!vh55#v#v:V l t0554al$$Ifl!vh555#v#v#v:V l t05554al$$Ifl!vh555#v#v#v:V l t05554al$$Ifl!vh5585#v#v8#v:V l t055854al$$Ifl!vh55855#v#v8#v:V l t055854al$$Ifl!vh5585#v#v8#v:V l t055854al$$Ifl!vh5585555#v#v8#v:V l t055854al$$Ifl!vh5585#v#v8#v:V l t055854al$$Ifl!vh55855#v#v8#v:V l t055854al$$Ifl!vh5585#v#v8#v:V l t055854al$$Ifl!vh55855#v#v8#v:V l t055854al$$Ifl!vh555 #v #v#v:V l05 55/ 4al$$Ifl!vh5555552#v2#v#v#v#v:V l05155554al$$Ifl!vh5585#v#v8#v:V l t055854al$$Ifl!vh5585555#v#v8#v:V l t055854al$$Ifl!vh5585#v#v8#v:V l t055854al$$Ifl!vh5585555#v#v8#v:V l t055854al}DyK _Ref411581810$$Ifs!vh555^#v^#v#v:V s40++5^554 s4as$$Ifs!vh555\55#v#v#v\#v#v:V s40++555\554 s4as0$$Ifs!v h555555555 5 _5 #v #v _#v #v#v#v#v:V s(05 5 _5 55554 s4as:kd 8$$Ifs( [2 k_0,,,,4 sas$$If!vh5%#v%:V s0654 s4a$$If!vh5\55#v#v#v\:V s0654 s4a$$If!v h55555555_5 #v #v_#v#v#v:V sI065 4 s4akd<$$IfsI [2 [206$$$$4 sa$$If!vh5{#v{:V s05{4 s4a$$If!vh5\55#v#v#v\:V sq0555\4 s4a$$If!v h55555555_5  #v #v_#v#v#v:V sI05  5_5554 s4akd@$$IfsI [2 k_ 0$$$$4 sa}DyK _Ref411327678$$Ifl!vh55#v#v:V l t0554al$$Ifl!vh55#v#v:V l t0554al}DyK _Ref411327678}DyK _Ref467640332}DyK _Ref467640351}DyK _Ref418310154$$Ifl!vh555#v#v#v:V l t05554al$$Ifl!vh5555#v#v:V l t0554al$$Ifl!vh5585#v#v8#v:V l t055854al$$Ifl!vh5585555#v#v8#v:V l t055854al$$Ifl!vh5585#v#v8#v:V l t055854al$$Ifl!vh5585555#v#v8#v:V l t055854al$$Ifl!vh55b5555c#vc#v#v#vb#v:V l t05c555b54al $$Ifl!v h55b5555555 m#v m#v#v#v#vb#v:V l t05 m5555b54alkdL$$Ifl N: & ibm t0$$$$4 lal$$Ifl!vh5585#v#v8#v:V l t055854al$$Ifl!vh55855#v#v8#v:V l t055854al}DyK _Ref465484836}DyK _Ref465484871}DyK _Ref465232710$$If!vh5>!#v>!:V l05>!/  / 4a$$If!vh5>!#v>!:V l05>!/ 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5>!#v>!:V l05>!/ /  / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / / 4a$$If!vh5>!#v>!:V l05>!/ /  4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref464291300$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref464291982$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / /  / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5>!#v>!:V l05>!/ /  / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref464293740$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref469364466$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref412112437$$If!vh5>!#v>!:V l05>!/  / 4a$$If!vh5>!#v>!:V l05>!/ 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5>!#v>!:V l05>!/ /  / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / / 4a$$If!vh5>!#v>!:V l05>!/ /  4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5>!#v>!:V l05>!/ /  / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / / 4a}DyK _Ref465830256$$If!vh5 555#v#v#v#v :V l05555 / /  / / 4a$$If!vh5 555#v#v#v#v :V l05555 / /  / / 4a$$If!vh5>!#v>!:V l05>!/  / 4a$$If!vh5>!#v>!:V l05>!/ 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5>!#v>!:V l05>!/ /  / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / / 4a$$If!vh5>!#v>!:V l05>!/ /  4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref464291300$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref464291982$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / /  / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5>!#v>!:V l05>!/ /  / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref464293740$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref469364466$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref465243646$$If!vh5>!#v>!:V l05>!/  / 4a$$If!vh5>!#v>!:V l05>!/ 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5>!#v>!:V l05>!/ /  / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / / 4a$$If!vh5>!#v>!:V l05>!/ /  / 4a$$If!vh5 555#v#v#v#v :V l05555 / /  / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / / 4a}DyK _Ref464291300$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref464291982$$If!vh5 555#v#v#v#v :V l05555 / / / / 4aC$$If!vh5 555#v#v#v#v :V l05555 / / / / / / /  / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5>!#v>!:V l05>!/ /  / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref465228068$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref464293740$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref465228256$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref418309650$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref469364466$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5>!#v>!:V l05>!/  / 4a$$If!vh5>!#v>!:V l05>!/ 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5>!#v>!:V l05>!/ /  / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / / 4a$$If!vh5>!#v>!:V l05>!/ /  4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5>!#v>!:V l05>!/ /  / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref465228068$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref465830563$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref465244667$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref464986966$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref418310154$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5>!#v>!:V l05>!/  / 4a$$If!vh5>!#v>!:V l05>!/ 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5>!#v>!:V l05>!/ /  / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / / 4a$$If!vh5>!#v>!:V l05>!/ /  4a $$If!vh5 555#v#v#v#v :V l05555 / / / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref464291300$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref464291982$$If!vh5 555#v#v#v#v :V l05555 / / / / 4aC$$If!vh5 555#v#v#v#v :V l05555 / / / / / / /  / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5>!#v>!:V l05>!/ /  / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref465228068$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref464293740$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref465830745$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref465228256$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref465830256$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref418309650$$If!vh5 555#v#v#v#v :V l05555 / / / / 4a}DyK _Ref465488633$$If!vh5>!#v>!:V l05>!/  / 4a$$If!vh5>!#v>!:V l05>!/ 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5>!#v>!:V l05>!/ /  / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / / 4a$$If!vh5>!#v>!:V l05>!/ /  4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5>!#v>!:V l05>!/ /  / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref465228068$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref464986966$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5>!#v>!:V l05>!/  / 4a$$If!vh5>!#v>!:V l05>!/ 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5H5$ 5#v#v$ #vH:V l055$ 5H/ / 4a$$If!vh5>!#v>!:V l05>!/ /  / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / 4a$$If!vh555$ 5#v#v$ #v#v:V l055$ 55/ / / 4a$$If!vh5>!#v>!:V l05>!/ /  4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a$$If!vh5>!#v>!:V l05>!/ /  / 4a$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref465228068$$If!vh5 555#v#v#v#v :V l05555 / / / 4a}DyK _Ref411320446}DyK _Ref411320788}DyK _Ref418309650K Dd|)X%oo<  C AB qS94 %< $ 9` T qS94 %< $/fH\] xZilU󞱉Ylx1FYXlvm `E@Mm^ !R0KA+P$6IDBj*-M*#K^s[8Q7{Ι;;qO5y|J!#>D 8P8 ~w/)JQ5:T,Oty/\ZNŰFy}dSW4NTnc34X"Qi ;.T !F(Q`b/5Ckcɟ6_id}xJdz.yGM,=U3PCM?\, K(R, sbيL 8gtC?ۥFl'(0cqS S>o!q^ɫ4P'UC'L!]dsw457V:E4Q7v>K#͡jgL7W'gjwu[=zz\+bpcN fɟ- nF[k>$WU&g<33ghAt7(rw:Qm/e*Ηp5O7o}aIl Q4NpQ*Yq)tC:5OdΩvgOIS^|KşX?>T'8M7Ѯ!V=D*3׊} ~ 3Q*UJT;n; KOޱS![y{V="N lr;entM}nBĶ:$54| ݩ`;h$4 sY\yͦvMڈTWoleo/**JN=O9tRK:H]W}⸖卫ZpZK;sKusZ*cq_k5csc0cVzZk +3H.UyIE'Z۟y~Թ?ܟoR3՟2BG5Z#>&XԥAʨV`nΓ튫\s+uY VgC};g:x}6e qlegPi*N}r=8XЕ0'Pq_<-:Onb۶.y.;rgD<^p1";P^waDG0#:Ό0:FZcD#[*^cD`D0`<.h_3X~u>ct3愯tV.ۡFϿGEmzQ]sԍRy nu ]UW=hzкAXYaLLSªY_i=}AUS9*PQT%A7Q_ f#0wv`?v+֖mU"|F[: F[:_ііoі1>*̚%b,s%׫=F׈ 64zH`H`Y_5k.K 11}rx(R.Xt7EEk.R.Xt rڧ ;0־AR05Q}G|*_R#UH~Xz*/pa, #vK|("lcn{E|"gaWDī`o0oI'X|&zc2ثD|"g a/0? {OL|'D|"gSa0O=Y'X|&>cIG vDd,Hss<  C ABUϑ _9~hm:18 T)ϑ _9~hm:< O$@X-xUohUe={ν7U6HRV'v[vm! Jj0 HBEeYBч ԇ>IF L~yv{ϸt&G̓ow]Oo+mx=k\\YʲCPNYeޔU`;+' _r6W[U~kz$:ݣqƇeX*(KT),bb j YyU{KwR~X.k2#9z88n/ ̒ƍ2EmC:=$ iz7|Zfi&c9r_ ]WR<ױ2ŵPR4%ȍKG{>WDyU(\Fۇp} xЫfLa$=DOs3F}4F/aLZ 㬁_$ٛJ3H7}YpDF2, >0[z!G1_Odd0ѩzwgu œtFeikMuh\{O.I|˵ ,y,o|z#S#ij75׍S?Z!e5Σ\{{6Of̂cx};>^ƞV ϨGV\"YAYeq=$y}sFY!FY{Sw3,UX] Dd)kk<  C AB \y iq T \y <$h{g M xYlW?BiKaX~L`^C0haRP(h(@,.#P`Ƙ$H\@4Yɦӭd*&C6~ι^ߏ 9{߽9~;v;%44?bKQMGh?X- *04wN𨔆뼛^ô'>nUҙ>(LTyx<=|@C-)Hé\4Aih CbYY#xz4a} qLkLko`͡@E=d=om^{`}} ENM*ʠ mTLhuNnT6~Khꀯ~-zY+QŸ"cdIm6Zw?rx e/4qo.5,Nae5Αùx)zh&?#^A@}Tצ{҃˱r<#54+YcI(TSgW_ s/u6mPn:vi3v]]P=懶5vJ[C;c;- YCyٵT!zK>Vx 9B/ʙ⩜hOuu*"Qsu'sk\q18ɫǓcd>Gdzsy\z.'em$Qvqp79.նv+}MM̼|&iSj 2OOP'ry{kS )d̑RNh]ޛ=-{oufdmw {osdq b`.6k~ SxiM.vDMCXPDIeG,_ZcKWnjq#FJΖ6O ngwy] 2xŴukYwS+i'~TNPUY{8rӓ?Osfٷ\(lqlBaa| 凔Šž9螳|RX? ݳU +8D ,<v)ծY)$~_T) 6:cyRLI{!J1%Fg칐bJij9lu~bJ.}3W)OϞ72$D@D NormalCJOJPJQJmH sH tH b@b Heading 1$ & F<@&5CJKHOJQJmHnHub@b Heading 2$ & F<@& 5OJQJmHnHuT@T Heading 3$ & F<@&5CJOJQJP@P Heading 4$ & F<@& 5OJQJD@D Heading 5 & F<@&CJH@H Heading 6 & F<@&6CJL@L Heading 7 & F<@& CJOJQJP@P Heading 8 & F<@&6CJOJQJR @R Heading 9 & F<@&56CJOJQJDA@D Default Paragraph FontZi@Z  Table Normal :V 4 l4a _H(k(No List 4@4 Header  !4 @4 Footer  !.)@. Page Number8B@"8 Body Text$a$CJ4>@24 Title$a$5CJ$@Y@B@ Document Map-D OJQJ:@R: Footnote TextCJ@&@a@ Footnote ReferenceH*8@8 TOC 1h5;OJQJ2@2 TOC 25CJ2@2 TOC 3 ^CJ2@2 TOC 4 ^CJ2@2 TOC 5 ^CJ2@2 TOC 6 ^CJ2@2 TOC 7 ^CJ2@2 TOC 8 ^CJ2@2 TOC 9 ^CJ<Z@< Plain Text CJOJQJ6"@6 Caption !xx50U@!0 Hyperlink>*B*6J@26 Subtitle#$a$CJ j^O     OOOOOOOOOOOO  =@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ST}ABgjk| } ~  k()*+,-./0 1 2 3 4 56789:;<=>?@ABCD! E#F$G%H&I'J(K)L*M+N,O-P.Q/R0S1T2U3V4W5X6Y7Z8[9\:]=_;^Ca<`FE?b"HIJKL M N O P QRSTUVWXYZ[\]^_`abc d!e"f#g$h%i&j'Fc =@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ST}ABgjk| } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijk" z z z z z z z z z z z z z z z z z z z z z z z z z z z*f G(18?GO1ZdinurxMp͋Ғ. 4  M  <3$^ 34 *pqx.Z 3VW]hx%&,7Gyz?@FQa,i j t u p,-Jide!"`w  *e g H!I!!!""##`$$$$$$$$%X%Y%`%%%%%%%%%%&&&>&?&D&h&i&w&&&&F(H(V(W(b(h(i(v(}(((((((((((((((((((((((((((((((((((( )))K)b)u))))))*%*5*k*l**++0+G++,,,,?-@-//111122'3L33344g5h55D6E6j6o6v66666666666666666666666677777 7 77777777 7#7%7(7)777X8Y888888888888888!99999999999999999999:: : :::9:::Y;^;e;m;n;p;r;w;|;};~;;;<<8===D=L=M=O=Q=T=W=Z=]=^==g>h>.?/???@ @@@@@@!@$@%@P@AABBCC?CDCKCVCWCYC[C^CaCbCCDDHEIEsEtEEEEEEEEEEEEEFGGfGkGrGGGGGGGGGGG1I2IIIIIJJJJJ!J$J'J*J+J[JGKHKLLLLMMMMMM)M2M;MCMNMOMQMSMVMYM\M_MbMeMhMjMoMpMrMMMMMMMMMMMMMMMMMMMMMMMMMMMNNN N NNNNNNN"N#N$NuOOOPQRR3S8S?S@SCSESFSSTTVKVVVVXY]YdYpYqYtYvYxYzY{YYYYYYYYYYYYYZZ Z#Z$Z&Z(Z*Z,Z.Z0Z1Z2Z|ZZZZZZZZZZZZZZZZZZZ[[[\\]]h^i^^^^^^^^^^^^^``cd7dMdNdedfdldrd~dddddddddde e e!e1e4eKeLeXeYe_eneteeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffff!f#f+f,f-f4f6f>f?f@fGfIfQfRfSfZf]foffffffffffffffffffffffggg(g+g-g8g9gQgTg]ggggggggh hhtTtUt\t^tftzt{ttttttttttttttuuuuujukuqusuuuuuuuuuuuuuuuuuvv#v$v{?{F{I{[{u{v{|{{{{{{{{{{{{{{{{{{{{|||||#|$|9|<|>|P|Q|c|f|h||||||||||}>}?}V}Y}^}}}}}}}}}}}P~Q~z~{~~~~~~~~~~~~KLM`ABāԁpq1JKbcio{|˅Ӆ(+BCOPVekwx{}ц҆׆نۆ܆݆#$+-567>@HIJQS[\]dgyɇЇчׇه #/0=@BKLdgpȈ!IJdgiÉĉ%')`anpr _`}ʋˋ̋΋,-39EF[]ʌˌ׌،ތ0168:LMRTVhimoqčƍ΍!#%78?BDVW]`bŽ <=JKOTcop}؏ۏݏ)*FIR"1=>PRTԑՑ$%ACEВђҒ"#>?VW]copǘۘܘ 67CDJY_kloqsřƙ˙͙ϙЙљՙיٙڙۙ!)*+24<=>EGOPQX[mĚŚ˚͚ښ#$146?@X[d =>X[]VWdfh$&(ab~ܞݞQRSfKL34DEKQ]^suʣͣ !-.468LMRTVjkprtäĤʤ̤Τ #%-ABIKMabiln=>DFSqrЦӦզ ^_{~٧ڧ#$58Auv!#%^_{}ҩԩ֩Kcdtu{!"(7=IJMOQ]^dfh|}ի֫۫ݫ߫$89@BJKLSU]qry{}ҬӬجܬެ&'+0?KLY\^dewz|"%.îϮЮ 9 Pưǰɱ̲ͲVWH'(͸θRҹӹ &FGIjnͺ9QŻݻ"-NP:@Z\^Ƚɽ׽0mƾȾϾMN\s +-IJLpqsu!Pg} 06b|Oht0t0t#0t0t000  0t0t0t0t 0t0ȇ@0t @0t @0t 0̇0ȇ@0t @0t @0t @0̞t 0ȇ@0t @0t @0t @0t0ȇ@0t @0t @0t @0t 0ȇ@0t @0t @0t @0t 0ȇ@0t @0t @0t@0t@0t@0t@0t@0t@0t @0t 0ȇ@0t @0t @0t@0t@0t @0t0ȇ@0t @0t @0t @0t 0ȇ@0t @0t @0t @0t 0 0ȇ 0ȇ 0ȇ0  00tV 0tV 0tV 0t 0t000 0 0 00000 00p0p0p0p0p0p0p 00000000000000000000000000000 00w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w 00!0!0!( 0!!0#!0#0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# 0# ( 0!!0&0&0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0&0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0& 0&0&0&0&0&0&0&0&0&0&0&0&0& 0&0&0&0&0&0&0&0&0&0& 0& 0&0&0&0&0&0&0&0&0&0&0&0&( 0!!02 02 0202020202020202020202 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 020202 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02( 0!!070707070707 07 07 07 07 07 07 07 07 07 07 ( 0!!080808 08 08 08 08 08 08 08 08 08 08 08 08080808 08 08 08 08 08 08 08 ( 0!!0:0:0:0: 0: 0: 0: 0: 0: 0: 0: 0: 0:0:( 0!!0;0;0;0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; ( 0!!0^=0^=0^=0^=0^=0^=0^=0^= 0^= 0^= 0^= 0^= 0^= 0^= 0^= 0^= ( 0!!0%@0%@0%@0%@0%@0%@0%@0%@ 0%@ 0%@ 0%@ 0%@ 0%@ 0%@ 0%@ 0%@ ( 0 !!0bC0bC0bC0bC0bC0bC0bC0bC 0bC 0bC 0bC 0bC 0bC 0bC 0bC 0bC 0bC 0bC ( 0 !!0E0E0E0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E ( 0 !!0G0G0G0G0G0G 0G 0G 0G 0G 0G 0G 0G 0G 0G 0G ( 0 !!0+J0+J0+J0+J0+J0+J 0+J 0+J 0+J 0+J 0+J 0+J0+J 0+J0+J 0+J0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J0+J 0+J 0+J0+J 0+J0+J 0+J0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J0+J 0+J 0+J0+J 0+J0+J 0+J0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J 0+J0+J0+J0+J0+J( 0 !!0P0P0P0P 0P 0P 0P 0P 0P ( 0!!0FS0FS0FS 0FS 0FS 0FS0FS0FS0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS0FS0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FS 0FSFSp( 0!!ȇ!x0ZZ0ZZp0ZZ0ZZ0ZZ0ZZ0ZZ 0ZZ @0Z@0Z @0Z 0ZZ0ZZ0ZZ 0ZZ 0ZZ 0ZZ 0ZZ 0ZZ 0o0^ 0^^0`0`!0`0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0^0i 0i 0i 0i0i0i0i0i0i0i0i0i0i0i 0^^0o0o0o0o0o!0o0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o0o!0o0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0^^0M0M0M 0^^0ā0ā0ā0ā0ā0ā0ā0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā0ā!0ā0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0ā 0^^0Ғ0Ғ0Ғ0Ғ0Ғ0Ғ0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0Ғ 0^^0S0S0S0S!0S0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S!0S0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S 0S  00 0 0 0 0  0 0ɱ0ɱ0ɱ0ɱ0ɱ0ɱ0ɱ0ɱ0ɱ 0 00000000 000tn$80`0n80d!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@0d?!0@0?0@0?0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0d?!0@0?0M@0i0@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@06669 ,7}AS'\elt|Ҁ;'O*Wix+>Soz p 3 % y ? &*X++++,>,h,,V.h....1'9<<<>>????@@mA|ADC]CE!FIaIKKfMM1OP*PRCSSSSST#T?YEY]_z___ `0````dd7jfjjj kKkXkkkkkkkkll,l?lRllllllm8mmmuӁ#P܂>փPzKqb{BOwь܌#6I\Ѝ /KIÏ`_ʑ3ʒג0Lh7V<Jo)=ԗ$И#W۞ 6CkşПڟ*=PĠ#?=VaܤQ3K-LjêAa=q^٭#u^c{!I]|ձ8KqҲ&Kdϴ̸ If@\jlmnopqrstuvwyz{|}~      !"#$%&'()*,-./0123456789:;<=?@ABCDEFGHIJKLMNOPQRTUVWXYZ[\]^_`abcdefghijklmnpqrstuvwxy{|}~kNsf$|$~$&&&JJJOO!OkTTT&VAVHVrVVVVVV______gaaadddiggggggniiiiiinoo{rrrbvvvvw wnxxxxyy|||}6}<}~~~'BI|ވ=X^~NJ;V]ȋԋ!'uh̑ґ"[v}ǒΒpқ3NTt>Y_Ӟڞ-HOȟ !)/V\ѧק;V\.0֭Qx~#>D±Ʊ (/X   t  t t t t"$+39! @  @Z    p(  ^n P+4 G# 0e/3"r E s *FE/``P+4 Ff F S EFP+` Et  s *H0e0e" H  0C0e0e#"  C2Z h&7 3"`  C Bh&4x B`  C A4&7u Ah  S ?" : ?(  2(  2(  .dt 0e,r3 3 /`3"l  c $e,r3 l  c $0e, (  B S  ?JjMMMNknBθ`e,'*Gh% 48t-Mt@t[>t%@4 ,j4U"TN _Toc463841613 _Ref464291309 _Ref464622569 _Ref464622607 _Ref464897011 _Ref411320471 _Ref411320825 _Ref412173489 _Toc463841614 _Ref463841292 _Toc463841617 _Toc463841618 _Toc463841619 _Toc463841620 _Toc463841621 _Toc463841622 _Toc463841623 _Toc463841625 _Toc463841627 _Toc463841628 _Toc463841629 _Toc463841630 _Toc463841631 _Toc463841639 _Ref412112231 _Toc463841640 _Ref464291300 _Ref411327678 _Ref464291982 _Toc463841641 _Ref465228068 _Hlt465228089 _Ref464293740 _Hlt465228125 _Ref411581810 _Ref465243927 _Hlt465830515 _Ref465830745 _Ref465830563 _Hlt465830585 _Toc463841642 _Ref465228256 _Hlt465830452 _Ref411320446 _Toc463841643 _Ref465244683 _Hlt465830616 _Ref411322194 _Toc463841644 _Ref465244667 _Hlt465830650 _Ref467640332 _Ref464986966 _Ref465830256 _Hlt465830270 _Ref467640351 _Ref418310154 _Ref418309650 _Ref469364466 _Ref465484836 _Ref464293965 _Ref465232710 _Toc463841646 _Ref465239780 _Hlt412540047 _Ref465135174 _Ref465484871 _Ref465234077 _Hlt465500851 _Ref412112437 _Ref411320788 _Ref465233908 _Ref465243646 _Ref465239814 _Ref465245414 _Ref465488633 _Hlt411320480 _Ref412173574Ke6 g !`$&&&7788:::};};};^=^=%@%@%@%@bCbCbCbCEEEEGGGG+JPFS`ddiiTknotrxxM΋Ғɱ & !#"$'%)*(+-.,/5102673489:;=<I>?@D@ABCEFGHJKL@Mh) !$&22789:7:8:};;;^=y==%@;@N@O@bCCCCEFFGG+J+J+JZJQS` d6djpkorxyM_S1EDL!) #ow>FX`@F=C6<e!k!$%&&i&v&&&&&H(U(,,,,1 12234?44445555555%7'7L7N7880=6=DDEE1G>GIIN!NNNOOZZ^^^^eeeeeeeef ff f-f3f@fFfSfYf]fnfyffffnnsssssssst t-t3tUt[t^tet{ttttttwwwwzzzzzzzzzz{ {{{,{2{?{E{I{Z{e{l{v{{{>|D|˅݆҅$*7=JP]cgx15ilÍƍ͍ 8>W\Ĕy˗Ƙљԙۙߙ+1>DQW[l.3MQ "%,BHbhafv~^c}֫ګ#9?LRU\rxַӹ jmn|úƺ˺ѺԺ#5Y^a|>LXfƼLWƽɽѽ۽ 8HI]ľӾؾ۾!"JNV`jwǿ׿ٿ)-=>F,7ly%@Vgq!*4=Htp[cz#wI!Q!!!T$^$$$$$$$%%Y%_%`%a%%%%%%%%%%%%%&&&$&?&C&D&J&i&m&w&}&' 'H(L(((F)H)////0020:0<0445556,6.6)7.788<!<Q=S=T=V=W=Y=Z=\===@ @!@#@TA[A[C]C^C`CIDMDDDEEEEEEEE,F0FGGGGGGGG(H,HXI_IJ J!J#J$J&J'J)JJJSMUMVMXMYM[M\M^MMMMMMMMMN N N N NNNN~OOU#UWW{Y~YYYYY,Z-Z.Z/Z1[8[]]^^^^^^``eeeeeeeeeeeeeff ff f-f3f@fFfSfYf]fnfffffffffffffffTg\g]g`gggggXh`hhhbieiiiijoouswssssssssssssssssssssstt ttt t-t3t>tDtUt[t^t_tftnt{ttttttttttttuuuukupuAvFvvvvv"w*wkwswtw|wwwwwbxexxxyymzozzzzzzzzzzzzzzz{ {{{,{2{?{E{I{Z{v{{{{{{{{{{{{{{{>|D|h|l||||||}}}}}}}~~M_āӁNUՂ܂$6=˅̅Ӆۅxz҆ֆ݆$*7=JP]cgxyLJɇχчևgopsLjȈˈiqru y"15:>MQVZilquÍƍǍ΍ҍ  %)8>DHW\bhŽǎ ݏIQRUEMҒ x|,0(/ǘϘlnƙʙљԙۙߙ +1>DQW[lmuÚŚʚ[cdg]ehk(0Se:>ɡ͡im 8<.1 8ɱHӹ jmn}ѺԺ=?Y^ɻ˻&*5;X] DJ׽ٽ46qvȾ̾ӾվNV\^wÿſ-1uv %*QSlq7; PUmpty::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.                           !" #$%&'& ) * 'Ȓz,fx/ީ6f$&?&D&h&i&w&&&F(H(V(W(b(h(i(v(}((((((((((((((((((((((((((((((((((*+,E6j6o6v66666666666666666666666677777 7 77777777 7#7%7(7)78888888888888!9999999999999999999:: : ::::Y;^;e;m;n;p;r;w;|;};<8===D=L=M=O=Q=T=W=Z=]=^=?@ @@@@@@!@$@%@C?CDCKCVCWCYC[C^CaCbCtEEEEEEEEEEEEEGfGkGrGGGGGGGGGGIIIJJJJJ!J$J'J*J+JLLLMMMMM)M;MNMOMQMSMVMYM\M_MbMeMhMjMoMpMrMMMMMMMMMMMMMMMMMMMMMMNN N NNNNNNN"N#NR3S8S?S@SCSESFSVVXY]YdYpYqYtYvYxYzY{YYYYYYYYYYYYYZZ Z#Z$Z&Z(Z*Z,Z.Z0Z1Z^Z{Z|ZZZZZZZZZZZZZZZZZZi^^^^^^^^^^^d7dMdNdedfdldrd~dddddddddde e e!e1e4eKeLeXeYe_eneteeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffff!f#f+f,f-f4f6f>f?f@fGfIfQfRfSfZf]foffffffffffffffffffffffggg(g+g-g8g9gQgTg]ggggggggh hhtTtUt\t^tftzt{ttttttttttttttuuuuujukuqusuuuuuuuuuuuuuuuuuvv#v$v{?{F{I{[{u{v{|{{{{{{{{{{{{{{{{{{{{|||||#|$|9|<|>|P|Q|c|f|h||||||||||}>}?}V}Y}^}}}}}}}}}}}P~Q~z~{~~~~~~~~~~~~KL1JKbcio{|˅Ӆ(+BCOPVekwx{}ц҆׆نۆ܆݆#$+-567>@HIJQS[\]dgyɇЇчׇه #/0=@BKLdgpȈ!IJdgiÉĉ%')`anpr _`}ʋˋ΋,-39EF[]ʌˌ׌،ތ0168:LMRTVhimoqčƍ΍!#%78?BDVW]`bŽ <=JKOTcop}؏ۏݏ)*FIR"1=>PRTԑՑ$%ACEВђ"#>?VW]copǘۘܘ 67CDJY_kloqsřƙ˙͙ϙЙљՙיٙڙۙ!)*+24<=>EGOPQX[mĚŚ˚͚ښ#$146?@X[d =>X[]VWdfh$&(ab~ܞݞQR34DEKQ]^suʣͣ !-.468LMRTVjkprtäĤʤ̤Τ #%-ABIKMabiln=>DFSqrЦӦզ ^_{~٧ڧ#$58Auv!#%^_{}ҩԩ֩Kcdtu{!"(7=IJMOQ]^dfh|}ի֫۫ݫ߫$89@BJKLSU]qry{}ҬӬجܬެ&'+0?KLY\^dewz|"%.îϮЮ NPǰDZɱW߶0θӹ j]tuyyyyy000000y000000000""""0yyQ|00000000yyyyyyyymyyyy@ ^^]^^@{Rp @Unknown GTimes New Roman5Symbol3 Arial7Courier;Helvetica3Times5 Geneva? Courier New;Wingdings"q'h\C|&,AFNE>4dWG @WBoot Server Discovery Protocol Administrator Site License.                           ! " # $ % & ' ( ) * + , -  Oh+'0 $ D P \ ht|' Boot Server Discovery ProtocolAdministratorNormalSite License5Microsoft Word 11.3.8@NZ@` b@Ȼɽ@v V ՜.+,D՜.+,L hp|  'ENW Boot Server Discovery Protocol Title 8@ _PID_HLINKS'Ah_mailto:dieter@apple.com  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root Entry F?n|UVData {1Table WordDocumentSummaryInformation(DocumentSummaryInformation8CompObjDObjectPool?n|UV?n|UV FMicrosoft Word DocumentNB6W