邢唷>? ?欹y€ qbjbjE闑 5z'€'€----??????85.|???_6u6u6u6?2 C$?F剑_?覩??覩覩----u6u6p範$INININ覩--u6?u6IN覩ININ,?6(u6?:漵厍?荋R帬轄<R蒍("J$?n IN覩覩覩桵覩覩覩覩覩覩覩覩覩覩覩覩覩覩覩覩 ?: Digital Signatures for Kernel Modules on Systems Running Windows燰istaJuly 25, 2007AbstractFor Windows Vista and later versions of the Windows family of operating systems:Kernel-mode software must have a digital signature before it will load on x64-based computer systems.Boot-start drivers should contain an embedded signature.Certain configurations of x86 systems require kernel-mode software to have digital signatures to access next-generation premium content depending on content protection policy.This paper describes how to manage the signing process for kernel-mode software for Windows Vista.This information applies for the following operating systems: Windows Vista Windows Server 2008The current version of this paper is maintained on the Web at: HYPERLINK "http://www.microsoft.com/whdc/winlogo/drvsign/kmsigning.mspx"http://www.microsoft.com/whdc/winlogo/drvsign/kmsigning.mspxReferences and resources discussed here are listed at the end of this paper.Contents TOC \o "1-3" \h \z \u  HYPERLINK \l "_Toc173129682" Introduction  PAGEREF _Toc173129682 \h 3 HYPERLINK \l "_Toc173129683" Digital Signatures as a Best Practice  PAGEREF _Toc173129683 \h 4 HYPERLINK \l "_Toc173129684" Kernel-Mode Code-Signing Options  PAGEREF _Toc173129684 \h 4 HYPERLINK \l "_Toc173129685" The Kernel-Mode Code-Signing Process  PAGEREF _Toc173129685 \h 6 HYPERLINK \l "_Toc173129686" How to Obtain a Software Publishing Certificate  PAGEREF _Toc173129686 \h 6 HYPERLINK \l "_Toc173129687" Guidance for Safeguarding Code-Signing Keys  PAGEREF _Toc173129687 \h 7 HYPERLINK \l "_Toc173129688" Using Cross-Certificates with Kernel-Mode Code Signing  PAGEREF _Toc173129688 \h 7 HYPERLINK \l "_Toc173129689" Verification During Driver Installation and Loading  PAGEREF _Toc173129689 \h 8 HYPERLINK \l "_Toc173129690" Generating Test Certificates  PAGEREF _Toc173129690 \h 9 HYPERLINK \l "_Toc173129691" Creating a Signed Catalog File  PAGEREF _Toc173129691 \h 10 HYPERLINK \l "_Toc173129692" How to Create a Catalog File  PAGEREF _Toc173129692 \h 10 HYPERLINK \l "_Toc173129693" How to Create a Catalog File By Using Inf2Cat  PAGEREF _Toc173129693 \h 11 HYPERLINK \l "_Toc173129694" How to Create a Catalog File Manually  PAGEREF _Toc173129694 \h 12 HYPERLINK \l "_Toc173129695" How to Sign a Catalog File  PAGEREF _Toc173129695 \h 12 HYPERLINK \l "_Toc173129696" Signing the Self-Extracting Download file  PAGEREF _Toc173129696 \h 13 HYPERLINK \l "_Toc173129697" How to Install a Signed Catalog File  PAGEREF _Toc173129697 \h 14 HYPERLINK \l "_Toc173129698" Adding an Embedded Signature to a Driver Image File  PAGEREF _Toc173129698 \h 14 HYPERLINK \l "_Toc173129699" How to Verify an Embedded Signature  PAGEREF _Toc173129699 \h 15 HYPERLINK \l "_Toc173129700" How to Disable Signature Enforcement during Development  PAGEREF _Toc173129700 \h 15 HYPERLINK \l "_Toc173129701" How to Use Test Signing  PAGEREF _Toc173129701 \h 15 HYPERLINK \l "_Toc173129702" Using the WHQL Test Signature Program  PAGEREF _Toc173129702 \h 16 HYPERLINK \l "_Toc173129703" Enabling Test Signing  PAGEREF _Toc173129703 \h 16 HYPERLINK \l "_Toc173129704" Troubleshooting  PAGEREF _Toc173129704 \h 17 HYPERLINK \l "_Toc173129705" Detecting Driver Load Errors  PAGEREF _Toc173129705 \h 17 HYPERLINK \l "_Toc173129706" Enabling Code Integrity Diagnostic System Log Events  PAGEREF _Toc173129706 \h 18 HYPERLINK \l "_Toc173129707" System Audit Log Events  PAGEREF _Toc173129707 \h 20 HYPERLINK \l "_Toc173129708" Informational Events in the Verbose Log  PAGEREF _Toc173129708 \h 20 HYPERLINK \l "_Toc173129709" Driver Verification Debugging Options  PAGEREF _Toc173129709 \h 21 HYPERLINK \l "_Toc173129710" Code Integrity Event Log Messages  PAGEREF _Toc173129710 \h 21 HYPERLINK \l "_Toc173129711" Resources  PAGEREF _Toc173129711 \h 22DisclaimerThis is a preliminary document and may be changed substantially prior to final commercial release of the software described herein.The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication.This White Paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, email address, logo, person, place or event is intended or should be inferred. 2006?007 Microsoft Corporation. All rights reserved.Microsoft, Win32, Windows, Windows Server, and Windows Vista are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.The names of actual companies and products mentioned herein may be the trademarks of their respective owners. IntroductionFor both consumer and enterprise users of Windows around the world, protecting personal and corporate data remains a top concern. Microsoft is committed to implementing new ways to help restrict the spread of malicious software. Digital signatures for kernel-mode software are an important way to ensure security on computer systems.Digital signatures allow the administrator or end user who is installing Windows-based software to know whether a legitimate publisher provided the software package. When users choose to send Windows Error Reporting data to Microsoft after a fault or other error occurs, Microsoft can analyze the data to know which publishers software was running on the system at the time of the error. Software publishers can then use the information that Microsoft provides to find and fix problems in their software.Windows Vista relies on digital signatures for kernel-mode code to increase the safety and stability of the Windows platform and to enable new customer experiences with next-generation premium content:Drivers must be signed for devices that stream protected content. This includes audio drivers that use protected user-mode audio (PUMA) and protected audio path (PAP), and video device drivers that handle protected video path-output protection management (PVP-OPM) commands.Unsigned kernel-mode software will not load and will not run on x64-based systems.Boot-start drivers must contain an embedded signature.The scope of the new kernel-mode code-signing policy is far reaching. For developers who publish kernel-mode software, this policy has the following effects:For any kernel-mode component that is not already signed, publishers must obtain a software publishing certificate (SPC) and use the SPC to sign all 64-bit kernel-mode software that runs on x64-based computer systems running Windows Vista. This includes kernel-mode services software.Publishers that provide 64-bit device driver or other kernel-mode software that is already signed through the Windows Logo Program must have their driver catalog files signed with a Windows Hardware Quality Labs (WHQL) signature. To fully test the driver package before submission to WHQL, they must use an SPC to sign the driver catalog file.In the special case of boot-start drivers, publishers must use an SPC to embedded-sign the driver binary image file for optimal system boot performance. This requirement applies to x86 and x64 versions of Windows.A driver is said to be boot start if it is loaded by the Windows Vista operating system loader. Boot-start drivers are identified when the driver's INF specifies the start type as 揝tart=0 or a kernel service is configured with a ServiceType as Kernel Driver or File System Driver and StartMode is 揵oot?The kernel-mode code-signing policy applies to all kernel-mode software on x64-based systems running Windows Vista and to boot-start drivers for both x86 and x64 systems. However, Microsoft encourages publishers to digitally sign all software, including device drivers for both 32-bit and 64-bit platforms. Windows Vista performs kernel-mode signature verification on x86 systems to support protected media content. This paper describes how to manage the signing process for kernel-mode code for Windows Vista, including how to obtain an SPC, guidelines for protecting keys, and how to sign a driver package by using the tools in the Windows Driver Kit (WDK).Digital Signatures as a Best PracticeSince the release of Windows 98, Microsoft has promoted driver signing for designated device classes as a way to advance driver reliability, to provide a better user experience, to reduce support costs for software and hardware vendors, and to lower the total cost of ownership for customers.For device drivers and other kernel-mode software, drivers signed as part of the Windows Logo Program increase end-user confidence in the quality of the software and improve the user experience because a driver's Windows logo indicates that the driver was tested and that the digital signature that accompanies the Windows logo confirms has not been altered since testing.For most kernel-mode driver packages, a digital signature is provided in a signed catalog (.cat) file. WHQL provides a Microsoft-signed catalog file to distribute with a driver package that meets the requirements of the Windows Logo Program.The process of creating signed kernel-mode software consists of two distinct but related activities. These can be done in parallel because the software usually is not required to be signed until relatively late in the development process.Managing the signing process. This is typically handled by publishers program management and software release services and includes:Selecting the appropriate signing option.Obtaining the necessary certificates.Managing the digital signature or code-signing keys.To digitally sign image binary files or catalog files, a software publisher must have a certified code-signing key, which means that a certification authority (CA) has sufficiently established the identity of the publisher.Implementing the driver to be signed. This is typically handled by the publisher抯 development team and includes:Implementing the driver itself.Creating a signed driver package for internal testing or release.These processes are documented for earlier versions of Windows in the WDK and the Platform SDK. This paper describes additional options related to kernel-mode code signing for Windows Vista.Kernel-Mode Code-Signing OptionsMultiple options are available for working with the kernel-mode code signing (KMCS) requirements in Windows Vista. Signing driver files is not required for Windows Vista to load drivers while developing kernel-mode code. Instead, developers can use one of the mechanisms to temporarily disable load-time checks by the kernel on development and nonautomated test systems. However, test signing of driver packages is required to automate installation of a driver package on test systems without having driver installation pop-up menus. The Driver Management Infrastructure (DMI) verifies the driver package signature during installation and warns users of unsigned drivers.Table 1 compares options for digitally signing kernel modules that Windows Vista supports.Table 1. Options for Signing Kernel ModulesSigning optionsFunctionality verified to meet logo requirementsIdentity verifiedIntended useWindows Logo ProgramYesYesReleaseKMCS by using an SPCNoYesReleaseWHQL Test Signature programNoYesTestingKMCS test signingNoNoTestingThe Windows Logo Program verifies correct driver functionality and ensures high quality and reliability. Microsoft digitally signs the driver packages that are submitted to this program. The Windows Logo Program accepts device packages that are installed via INF file for hardware that meets the logo requirements. The driver publisher submits the driver package after completing driver verification tests. Drivers that qualify for the logo receive a Microsoft-signed catalog file. For information about the Windows Logo Program, see 揜esources at the end of this paper.Developers can sign the driver image file or driver catalog file with an SPC for testing before submitting to WHQL to verify that the driver loads and operates correctly.KMCS that uses an SPC provides identifiability of the publisher of a kernel module loading into Windows Vista. KMCS does not provide any level of certification of functionality or reliability of the kernel module. If drivers do not qualify for the Windows logo or the logo is not one of the product requirements, the publisher can create a catalog file for the driver package and sign it with the publisher抯 SPC.Important: KMCS does not replace the WHQL program. Microsoft encourages publishers to use the Windows Logo Program to ensure driver quality. KMCS does not require the software publisher to pass the Windows Logo Program testing requirements associated with WHQL.A signed catalog file is all that is necessary for most driver packages to install and load correctly. The only exception is packages that contain a boot-start driver, which is loaded by the Windows Vista boot loader. These drivers must be signed in two ways:The kernel-mode driver binary file that is loaded at boot time must have an embedded signature in the binary signed with an SPC. For simplicity, it may be easier to embedded-sign all driver image files in the package.The driver package installed by using an INF file must also have a signed catalog file梛ust like driver packages that do not contain a boot start driver梖or signature verification during installation.Manufacturers should ensure that hardware vendors acquire an SPC and sign any boot-start drivers that will be installed on manufacturer-installed systems.For testing purposes during the development cycle, code signing using a 搕est certificate is recommended instead of signing with a release certificate. Windows Vista systems recognize a test-signed binary only when a boot configuration option that allows use of test signing certificates is enabled. Test signing is not enabled by default, and test signatures are not trusted by the majority of Windows Vista systems.The WHQL Test Signature program is also supported for test signing. Participants in the program can submit driver packages for WHQL test signing. The signature on the test-signed catalog files are generated by a certificate issued under the Microsoft Test Root Authority. The Microsoft Test Root Authority is accepted when the Windows Vista boot configuration setting enables test signing. For information about the WHQL Test Signature program, see 揜esources at the end of this paper.For both 搕est and 搑elease signing, the development team should follow best practices for key management, as described in 揋uidance for Safeguarding Code-Signing Keys later in this paper.Test signing is discussed in more detail in 揌ow to Use Test Signing later in this paper.The Kernel-Mode Code-Signing ProcessDigitally signing a kernel-mode image file or catalog file establishes the integrity of the signed file or files. Software modules should never be modified after the code-signing operation has been performed. Modification of the image file after code signing results in installation-time and load-time signature verification failures. There is one exception to that rule: you can add an embedded signature to an image file after its hash value has been incorporated into a signed catalog file. This does not invalidate the signed catalog file because the code-signing tools do not include the digital signature section of the file when they calculate the file's hash value. A driver package containing multiple files may be signed by using a catalog file. The driver package must have a signed catalog file that is used to identify the publisher when the driver package is installed and to verify the driver image when it is loaded into the kernel. The catalog file contains a digital certificate that identifies the publisher, plus hashes of the package contents that allow the system to verify that files in the package have not been altered.As previously mentioned, boot-start drivers must have embedded signatures in the driver image file. Embedded signatures in boot-start driver image files optimize operating system boot performance by eliminating the need to locate the appropriate catalog file when the operating system loader verifies the driver signature.Driver signing is not required for every build during the driver development process. Developers can disable driver signing enforcement as described in 揌ow to Disable Signature Enforcement during Development later in this paper.For step-by-step instructions for kernel-mode code signing see the white paper titled 揔ernel-Mode Code Signing Walkthrough.The following sections discuss how to obtain and manage certificates. The mechanics of signing driver packages are discussed later in this paper.How to Obtain a Software Publishing CertificateUse the following steps to obtain an SPC for signing your kernel-mode software that meets the mandatory kernel-mode code-signing policy:1. Obtain an SPC from a commercial CA that issues digital certificates for signing kernel-mode code. The list of CAs who provide SPCs (or code-signing certificates) that can be used for kernel-mode code signing is available at the 揗icrosoft Cross-certificates for Windows Vista Kernel Mode Code Signing Web page listed in 揜esource at the end of this paper.2. Download a corresponding cross-certificate from the 揗icrosoft Cross-certificates for Windows Vista Kernel Mode Code Signing Web page for the root CA that issued the SPC. The cross-certificate is used in the digital signature for kernel-mode code so that the signature can be verified up to a trusted root authority known to the Windows Vista kernel.When you request an SPC from a commercial CA, follow the instructions on the CA抯 Web site for how to acquire and install the code-signing certificate on the machine where you will use the private key to sign code.Guidance for Safeguarding Code-Signing KeysThe cryptographic keys that are the primary part of the code-signing process must be well protected and treated with the same care as a company抯 most valuable assets. These keys represent a company抯 identity. Any code that is signed with these keys appears to Windows as if it contains a valid digital signature that can be traced to the company. If the keys are stolen, they could be used to fraudulently sign malicious code and possibly result in the delivery of code that contains a Trojan or virus that appears to come from a legitimate publisher.For detailed information on safeguarding private keys, refer to the white paper titled 揅ode Signing Best Practices.Using Cross-Certificates with Kernel-Mode Code SigningKMCS uses cross-certificates as part of the code-signing process. A cross-certificate is an X.509 certificate issued by one CA that signs the public key for the root certificate of another CA. The Windows Vista operating system loader and kernel recognize cross-certificates in verifying driver signatures. The cross-certificates allow the kernel to have a single trusted Microsoft root authority, but also provide the flexibility to extend the chain of trust to multiple commercial CAs that issue SPCs.Cross-certificates are issued by the Microsoft Code Verification Root authority, which is trusted by Windows for kernel-mode validation. Figure 1 illustrates the certificate chains for a cross-certificate issued by the Microsoft Code Verification Root for a commercial certification authority, the 揦YZ Root CA?Figure 1. Cross-certificatesCross-certificates enable developers and publishers to use SPCs to sign kernel-mode software. Developers who use KMCS download the correct cross-certificate (.cer) file to the system where the digital signature operation is performed. Publishers are not required to distribute the cross-certificate file with their software or driver package. The cross-certificate is included with the digital signature on the driver image file or driver package catalog file. Users who install the driver package are not required to do any configuration steps for Windows Vista to verify the digital signature that includes a cross-certificate.Important: The version of SignTool in the WDK or Windows Vista Platform SDK is the only one that currently supports adding cross-certificates to a digital signature. Previous versions of SignTool in the Windows Server 2003 Platform SDK or DDK do not support adding cross-certificates.Cross-certificates for multiple CAs to use for kernel-mode code signing are available for download from the Microsoft WHDC Web site. For more information, see 揗icrosoft Cross-certificates for Windows Vista Kernel Mode Code Signing in 揜esources at the end of this paper.Details on how to add the cross-certificate to the digital signature is described in  HYPERLINK \l "_How_to_Sign_a .cat File" How to Sign a Catalog File and  HYPERLINK \l "_How_to_Add_an Embedded Signature Us" Adding an Embedded Signature to a Driver Image File" later in this paper.Verification during Driver Installation and LoadingWhen a driver is installed on a system, Windows verifies the digital signature on the driver package. During installation, the contents of the driver package are copied to the correct system locations and the system configuration is updated. However, the driver is not actually loaded into the running kernel. To verify the driver package, the digital signature on the driver package is verified and each certificate in the certificate path is checked, up to a known trusted root CA. For driver installation checks and Device Manager signature checks, the known trusted root authorities are defined in the local machine Trusted Root Certification Authorities certificate store.When a driver is loaded into kernel memory, Windows Vista verifies the digital signature of the driver image file. Depending on the type of driver, this can be either the signed hash value in the catalog file or an embedded signature in the image file itself. The cross-certificates that are used when signing the kernel driver package are used for the load-time signature verification; each certificate in the path is checked up to a trusted root in the kernel. The load-time signature check does not have access to the Trusted Root Certificate Authorities certificate store. Instead, it must depend on the root authorities that are built into the Windows Vista kernel. The Microsoft Code Verification Root is one of the root authorities trusted by the Windows Vista kernel and operating system loader.Figure 2 is an example of how certificate paths are validated during digital signature checks for a driver with a signed catalog file. When the driver package is installed, the certificate path validation verifies up to the Trusted Root Certification Authorities in user mode (shown on the left side of the figure). When the driver image file is loaded into the kernel, the certificate path is validated by using the cross-certificate to the Microsoft Code Verification Root in the kernel-mode trusted roots.Figure 2. Certificate path verification for driver installation and loadingGenerating Test CertificatesTest certificates are used in place of SPCs for test signing kernel-mode software modules that are not for distribution or release outside your organization. Test signing involves applying a digital signature to kernel-mode binaries or driver package catalog files for internal testing purposes. Test signing is discussed in more detail in 揌ow to Use Test Signing later in this document. A cross-certificate is not required when using a test certificate for kernel-mode code signing.Test certificates can be generated by using an enterprise CA or using the Certificate Creation Tool (MakeCert). For more information about using an enterprise CA for issuing test-signing certificates within your organization, see the white paper titled 揅ode Signing Best Practices.In the following example, MakeCert generates a test certificate issued by the default test root, stores the private key in a key container, and outputs the certificate to a certificate store and a certificate file: Makecert -r -pe -ss SubjectCertStoreName -n 揅N=CertName OutputFile.cerThe arguments to MakeCert in the example do the following:-rCreates a self-signed certificate, that is, a root certificate.-peMakes the private key that is associated with the certificate exportable.-ss SubjectCertStoreNameSpecifies the name of the certificate store that contains the root certificate.-n "CN=CertName"Specifies a name for the certificate. If a certificate name is not supplied, the default name of the certificate is "Joe's Software Emporium".OutputFile.cerDenotes the name of the file in which the root certificate is saved.An example command script that uses MakeCert is available in the WDK. The script file name梥elfsign_example.txt梚s located under the 揵in\selfsign directory. Before you can install your driver package, you must add your test certificates into the certificate store on the target test machine. The following example shows how to add the test certificates to the Trusted Root certificate store and the Trusted Publishers certificate store on the target test machine.certmgr.exe -add OutputFile.cer -s -r localMachine rootcertmgr.exe -add OutputFile.cer -s -r localMachine trustedpublisherThe arguments to the Certificate Manager Tool (CertMgr) in the example do the following:-addAdds the certificate in the certificate file to a certificate store.-sIndicates the certificate store is a system store.-rIndicates that the registry location of the system store is under the HKEY_LOCAL_MACHINE key.Root or trustedpublisherIndicates the name of the system certificate store.For more information on MakeCert and CertMgr, see 揜esources at the end of this paper.Creating a Signed Catalog FileThe tools that are used to generate and sign catalog files桵akeCat and SignTool梐re provided in the WDK in the %WinDDK%\BuildNumber\bin\ directory.How to Create a Catalog FileA digitally signed catalog file contains the hashes of all kernel-mode modules that are verified when loaded into the kernel. The catalog file can also include hashes for other files in the software package, such as user-mode application programs (.exe files) and application extensions (.dll files). Microsoft recommends that the catalog file contain the hashes of all files in a software package.The catalog file contains a list of file hashes that correspond to a specified set of files. A file hash is the product of an SHA1 hash over a target file. A flat file hash is not used for files, such as drivers, that use the portable executable (PE) file format. Instead, relevant sections such as the PE header, executable data, and authenticated attributes are selectively hashed.When a driver is loaded into memory, the Windows Vista kernel performs an SHA1 hash over the relevant sections of the driver binary image file. Windows verifies that the file has not been tampered with by comparing the resulting hash value to the list of binary hashes in the associated catalog file.To install a Plug and Play driver with an INF, the simplest way to create a catalog file for the package is by using the Inf2Cat tool, as described in the next section. You can also create the catalog file manually, as described in 揌ow to Create a Catalog File Manually later in this paper.How to Create a Catalog File by Using Inf2CatInf2Cat is a Windows Quality Online Services (Winqual) tool that replaces the functionality of the WDK's Signability tool. For driver vendors, Inf2Cat verifies the driver package and uses the information in the package's INF file to create an unsigned catalog file. For convenience, you can also use Signability to create a catalog file from an INF, but Inf2Cat will replace Signability in the future.Note: Inf2Cat is not currently part of the WDK tools; it is installed with the Winqual Submission Tools. When the Winqual Submission Tools package is installed, Inf2Cat is placed in the Program Files (x86)\Microsoft Winqual Submission Tool folder. To add Inf2Cat to the build environment along with the other signing tools, copy Inf2cat.exe and all DLLs in the folder to the %WinDDK%\BuildNumber\bin\SelfSign folder.Using Inf2Cat to create a catalog file1. Create a driver package directory that contains all of the files in your driver package.2. Create an INF file in your driver package directory and edit it for Windows Vista. Specifically, change the build date to 4/1/2006 or greater and the version to 6. For example: DriverVer=04/01/2006, 6.0.1.03. Run Inf2Cat to create a valid catalog file based on the INF file by using the following command:Inf2cat.exe /driver:C:\WinDDK\6000\src\general\toaster\toastpkg\toastcd\ /os:Vista_x64The arguments to Inf2Cat are the following:/driver:PackagePath Indicates the path to the folder that contains the driver package files. This command uses the WDK's Toastpkg sample as an example./os:OSValue Indicates the operating systems targeted by the driver package. OSValue is a comma-separated list that contains one or more of the following values: 2000 XP_X86, Server2003_X86, Vista_X86, XP_X64, Server2003_X64, Vista_X64, or Server2003_IA64.How to Create a Catalog File ManuallyTo manually create a catalog file, first use a text editor to create a catalog definition file (.cdf). The .cdf file includes a list of the files that are to be cataloged and their attributes.The following example shows the contents of a typical .cdf file that is named Good.cdf. The package to be cataloged contains two files: File1 and File2. The resulting catalog file is named Good.cat.[CatalogHeader]Name=Good.catPublicVersion=0x0000001EncodingType=0x00010001CATATTR1=0x10010001:OSAttr:2:6.0[CatalogFiles]File1=File1File2=File2A catalog file is created with the MakeCat command-line tool, which is included with the Platform SDK and the WDK. The MakeCat tool:Verifies the list of attributes for each listed file.Adds the listed attributes to the catalog file.Hashes each of the listed files.Stores the hashes of each file into the catalog file.To create a catalog file1. Use a text editor to create a .cdf file that contains a list of files to be cataloged, with their attributes.2. Run MakeCat against the .cdf file.MakeCat does not modify the .cdf file.The following example shows how to make a catalog file from Good.cdf. The -v flag specifies the verbose version of MakeCat. The hashed files and the newly generated Good.cat file are placed in the same folder as File1 and File2.MakeCat -v Good.cdfThe catalog file is now ready to be signed.For more information about MakeCat and the format of .cdf files, see the MakeCat documentation in 揜esources at the end of this paper.How to Sign a Catalog FileThe catalog file that MakeCat generates contains all the required file hashes to install kernel-mode modules on a user抯 system. However, the file must also be digitally signed.A catalog file is signed with the command-line SignTool (Signtool.exe). The digital signature on the catalog file, which is used to verify kernel-mode image files, must contain a cross-certificate. The cross-certificate is added by using a new command option to SignTool.Important: You must use the version of SignTool from the WDK or the Windows Vista version of the Platform SDK to add a cross-certificate to the digital signature.The following example shows how to use SignTool to sign a catalog file with an SPC and corresponding private key that is imported into the Windows certificate store: SignTool sign /v /ac CrossCertificateFile /s SPCCertificateStore /n SPCSubjectName /t http://timestamp.verisign.com/scripts/timestamp.dll Good.catFor information about how to use SignTool with a hardware security module (HSM), see the documentation in 揜esources at the end of this paper.This example uses several of the arguments that SignTool supports:SignConfigures the tool to sign the catalog file that is named CatFileName.cat./vSpecifies the verbose option for successful execution and warning messages./acAdds the cross-certificate from the CrossCertificateFile file to the digital signature./sSpecifies a certificate store that is named SPCCertificateStore./nSpecifies a certificate with the subject name SPCSubjectName./t URLSpecifies that the digital signature will be timestamped by the Time-Stamp Authority (TSA) indicated by the URL.Important: The catalog file or driver signature must include a timestamp to provide necessary information for key revocation in case the signer抯 code-signing private key is compromised.During device installation, if the SPC that was used for signing has expired and the signature was not timestamped, the catalog file is not installed and Windows does not allow the driver to be loaded. However, if the signature is timestamped by a trusted TSA, the catalog file is installed and Windows allows the driver to be loaded.Signing the Self-Extracting Download fileSoftware that is published for distribution on a product support Web site is usually packaged in a self-extracting archive file. The self-extracting executable is downloaded by using a Web browser, and the contents are extracted before users begin to install the software on their machine. You can also use the SPC that signed the driver package catalog file to digitally sign the self-extracting .exe file.Digitally signing the self-extracting .exe file identifies the publisher of the archive file and ensures the integrity of the file that is downloaded over the Internet. Users who download the file typically see a trust dialog box梠r security warning梬hen they choose to download and run the self-extracting file.In Windows Vista, if the user looks at the details of the security warning dialog box and selects Always install software from , this option simplifies the later confirmation when a driver package is installed. When the driver package is installed, user are asked if they trust the publisher of the signed driver package before the driver installation begins. If users select the option to always install software from the driver publisher when they downloaded the self-extracting .exe file, the trust dialog prompt box does not appear during driver installation.How to Install a Signed Catalog FileFor drivers that are installed through Plug and Play, no changes in the installation process are expected. Installation of an embedded-signed driver requires no special processing beyond the standard INF and setup mechanisms. Note that only users who are members of the Administrators group can install driver packages.Drivers that do not install through Plug and Play must install their catalog files in the system catalog file root folder. Installation of a catalog file in the catalog file root folder can be managed by using existing Microsoft Win32 catalog file API calls, specifically CryptCATAdminAddCatalog.Adding an Embedded Signature to a Driver Image FileTo optimize the performance of driver verification at boot time, boot-start driver binaries must have an embedded signature that uses the SPC in addition to the signed catalog file for the package. The embedded signature saves significant time during operating system boot-up because the operating system loader is not required to locate the driver抯 catalog file. A typical Windows Vista system may have over a hundred different catalog files in the catalog file root store. Locating the correct catalog file to verify the image hash of a particular driver can involve a lot of system overhead searching multiple catalog files for the correct file.Boot-start drivers are identified based on the service StartType value of SERVICE_BOOT_START (0).Embedded signatures do not interfere with catalog file signing or validation. Note that the hashes in catalog files and embedded signatures selectively exclude the signature portion of the PE file format.To use SignTool to embed a signature into a boot-start driver binary by using an SPC and a corresponding private key imported into the Windows certificate store, use the following command:SignTool sign /v /ac CrossCertificateFile /s SPCCertificateStore /n SPCSubjectName /t http://timestamp.verisign.com/scripts/timestamp.dll winloaddriver.sysThis example uses several of the arguments that SignTool supports:SignConfigures the tool to sign the driver named winloaddriver.sys./vSpecifies the verbose option for successful execution and warning messages./acAdds the cross-certificate from the file CrossCertificateFile to the digital signature./s optionsSpecifies the certificate store named SPCCertificateStore./nSpecifies the certificate with the subject named SPCSubjectName./t URLSpecifies that the digital signature should be timestamped by the TSA that is indicated by URL.Important: The catalog file or driver must be timestamped because this provides necessary information for key revocation if the signer抯 key is compromised.How to Verify an Embedded SignatureThe following procedure shows how to verify an embedded signature with Windows Explorer.To verify embedded signatures1. While running Windows Vista, right-click the driver抯 .sys file and click Properties on the shortcut menu.2. Click the Digital Signatures tab, if it is present.If this tab is not present, the file does not have an embedded signature.3. Select the signer and click Details to open the Signature Details dialog box.4. Click View Certificate to open the certificate抯 property pages.Verify that there are no warning dialog boxes.Verify that the certificate抯 subject name is Publisher is registered with a recognized certification authority.5. Click the Certification Path tab and verify that the subject name of the top certificate is Microsoft Code Verification Root.To verify embedded signatures by using SignTool for kernel-mode code-signing policySignTool can be used to verify the signature on a catalog file by using the following command:Signtool verify /kp /c tstamd64.cat toaster.sysVerify that the image hash for the file toaster.sys is found in the catalog file. The tool returns the string 揝uccess?How to Disable Signature Enforcement during DevelopmentDuring the early stages of development, developers can disable enforcement in Windows so that driver signing is unnecessary. The following options are available for developers to temporarily disable kernel-mode code-signing enforcement so that Windows Vista will load an unsigned driver.Attaching a kernel debugger. Attaching an active kernel debugger to the target computer disables the enforcement of kernel-mode signatures in Windows Vista and allows the driver to load.Using the F8 option. An F8 Advanced Boot Option introduced with Windows Vista棑Disable Driver Signature Enforcement敆is available to disable the kernel-signing enforcement only for the current boot session. This setting does not persist across boot sessions.How to Use Test SigningTest signing provides additional options to development organizations for incorporating kernel-mode code signing for prerelease software that is not ready for publication. Test signing allows the use of 搕est code-signing certificates to sign drivers that will load on Windows Vista when the Windows Vista boot configuration setting allows test signatures.Test signing may be appropriate to use in the following scenarios:Development teams need to test prerelease versions of a driver on test systems where it is not practical to attach a kernel debugger.Automated testing of kernel-mode software makes it impractical to use the F8 Advanced Boot Option to temporarily disable driver-signature enforcement on every machine boot cycle.Test signing allows developers to sign prerelease versions of kernel-mode binaries so that Windows Vista can verify and load the signed driver. Test signing involves the following differences from normal production or release signing:Certificates for test signing can be generated by using the MakeCert code-signing tool or issued by an enterprise CA, instead of using an SPC issued by a commercial CA.The Windows Vista boot configuration option to enable test signing must be enabled on the Windows Vista system that will load the test-signed driver.Development organizations can set up an enterprise public key infrastructure (PKI) and issue their own test code-signing certificates to use for test signing. When Windows Vista enables test signing, verification of the digital signature on the driver binary accepts certificates issued by any CA or issuing authority. Test signing verifies that the driver image is signed, but certificate path validation performed in kernel mode does not require the issuer to be configured as a trusted root authority. This allows organizations to use individual signatures on test binaries, based on the credentials issued for code signing within the organization. Microsoft recommends this form of deployment for test signing within the KMCS.Using certificates generated by MakeCert is also acceptable for test signing. However, certificates generated by this tool often do not provide useful identity information and offer no way to track which individual developer created a test-signed version of the prerelease binary.The SignTool instructions in this document work the same way whether you are using an SPC, a certificate generated by MakeCert, or a certificate issued by an enterprise CA. The only difference is typically the issuer and subject name in the certificate.Using the WHQL Test Signature ProgramThe WHQL Test Signature program is also supported for test signing. Program participants can submit driver packages for WHQL test signatures. The signature on the test-signed catalog files are generated by a certificate issued under the Microsoft Test Root Authority. In Windows Vista, the Microsoft Test Root Authority is accepted when the Windows Vista boot configuration setting enables test signing.Test-signed kernel-mode binaries will not load on Windows Vista systems by default. The digital signatures on test-signed binaries are not valid on Windows Vista systems by default because the kernel-mode code-signing policy does not accept and does not trust test-signing certificates.Enabling Test SigningUse the BCDEdit command-line tool to enable test signing. To use BCDEdit, the user must be a member of the Administrator group on the system and run the command from an elevated command prompt. An elevated command prompt can be launched by creating a desktop shortcut to cmd.exe, right-clicking the shortcut, and then clicking Run as administrator.The following shows an example of running BDCEdit at the command prompt:// Accept test signed kernel mode signaturesBcdedit.exe 杝et TESTSIGNING ON// Do not accept test signed kernel mode signaturesBcdedit.exe 杝et TESTSIGNING OFFThe TESTSIGNING boot configuration option determines whether Windows Vista accepts test-signed kernel-mode binaries. The option is not defined by default, which means that digital signatures on test-signed kernel-mode drivers will not verify and will not load. When Windows Vista accepts test-signed kernel-mode binaries, some premium content that is protected may not be accessible on the system.TroubleshootingYou can take specific steps to identify and troubleshoot potential problems related to verifying kernel-mode code signatures. This section provides information on troubleshooting problems with driver-signing enforcement. The main tools for troubleshooting driver-signing problems are:Detecting driver load errors.Enabling Code Integrity diagnostic system log events.The Toaster sample in the WDK is used as an example. It can be found in the WDK under the src\general\toaster directory.Detecting Driver Load ErrorsThe Toaster sample installs a device driver (toaster.sys) that, for this example, is not signed. The symptom of a problem with the unsigned driver is that the Toaster device fails to start. By using Device Manager, you can check the status of the Toaster device and view the driver status, as shown in Figure?.The device failed to start because the device driver was not signed and kernel-mode signing enforcement blocked the driver from loading into the kernel. To definitively identify the source of the problem, we set up the system to enable signing enforcement diagnostics as described in the following section.Figure 3. Unsigned driver errorEnabling Code Integrity Diagnostic System Log EventsKernel-mode code-signing enforcement is implemented by a Windows Vista component known as 揅ode Integrity. Code Integrity generates diagnostic events and a system audit log event when the signature of a kernel module fails to verify correctly.Code Integrity operational events are always enabled. The operational events are warning events that an image verification check failed when loading a kernel-mode binary file.Code Integrity system audit events are generated when the system audit policy is enabled. The system audit policy is not enabled by default.Code Integrity verbose events are analytic and debug Information events that show all successful image verification checks when loading kernel-mode binary files. Verbose events are not enabled by default.You can view Code Integrity events under Event Viewer, which is part of the Computer Management MMC snap-in. On the taskbar click Start, right-click Computer, and select Manage. On the Computer Management dialog box, click Event Viewer, click Applications and Services Logs, click Microsoft, click Windows, and then click CodeIntegrity, as shown in Figure 4.Figure 4. Code Integrity eventsThe Code Integrity operational log shows events that the kernel generates when a kernel-mode driver fails an image verification check when the driver is loaded. The image verification failure may be due to a number of reasons:The driver was unsigned but installed on the system by an administrator, and Code Integrity is not allowing the driver to load.The driver was signed, but the driver image file was modified or tampered with, and the modification invalidated the driver signature.The system disk device may have device errors when reading the image file for the device from bad disk sectors.For details on a particular entry, right-click the entry and then select Event Properties on the shortcut menu. Figure? shows an operational log entry for an unsigned or modified driver image verification failure.Figure 5. Operational log entryThe event indicates that the Toaster driver (toaster.sys) could not be loaded because it was unsigned (or the toaster.sys image that is trying to load is not the same one that was digitally signed by the publisher).All Code Integrity event log messages are listed in 揅ode Integrity Event Log Messages later in this paper.System Audit Log EventsCode Integrity generates system audit log events that correspond to the operational warning events when image verification of a kernel-mode driver fails. The system log events are viewable in Event Viewer under the Windows Logs, System log view.System audit events may not be enabled on all Windows Vista systems. Use the Local Security Settings MMC snap-in to verify or enable Audit system events under the Local Policies, Audit Policy settings.Informational Events in the Verbose LogAdditional Code Integrity informational events for all kernel-mode image verification checks are available by using the verbose event view. These events show successful image verification of all drivers loaded on the system.To enable the Code Integrity Verbose event view 1. Left-click Operational view to display current Code Integrity events (if any).2. Left-click the Code Integrity node to set the focus.3. Right-click the Code Integrity node, select View, and then select Show Analytic and Debug Logs on the shortcut menu.This creates a subtree with two additional nodes: Operational and Verbose.4. Right-click the Verbose node and select Properties on the shortcut menu.5. On the General tab, select the Enable Logging option. This enables verbose logging mode.6. Close the dialog boxes and reboot the system to reload all kernel-mode binaries.7. After reboot, open the Computer Management snap-in and view the Code Integrity verbose event log.You can check if toaster.sys is correctly signed. In this case, toaster.sys is a Plug and Play driver and is named in a catalog file (tstamd64.cat in 揬src\general\toaster\toastpkg\toastcd?. Use SignTool to verify if toaster.sys is correctly catalog file signed by using the following command:Signtool verify /kp /c tstamd64.cat toaster.sysDriver Verification Debugging OptionsSometimes, developers may want to enforce mandatory kernel-mode code-signing policy even when a debugger is attached. An example of this is when a driver stack has an unsigned driver (such as a filter driver) that fails to load, which may invalidate the entire stack. Because attaching a debugger allows the unsigned driver to load, the problem appears to vanish as soon as the debugger is attached. Debugging this type of issue may be difficult. To facilitate debugging in this case, Code Integrity supports a registry key that can be set to enforce kernel-mode signing enforcement even when a debugger is attached.Two DebugFlags values can be specified in the registry to control Code Integrity behavior under the debugger. The flags are not defined by default.The following example shows the location of the DebugFlags value:Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CIValue: DebugFlags REG_DWORD Possible settings for DebugFlags include:00000001Results in a debug break into the debugger and an unsigned driver being allowed to load with 慻?00000010Results in CI ignoring the presence of the debugger, and unsigned drivers being blocked from loading.Any other value results in unsigned drivers loading, which is the default policy.Code Integrity Event Log MessagesThe following are warning events that are logged to the Code Integrity operational log:Code Integrity is unable to verify the image integrity of the file because file hash could not be found on the system.Code Integrity detected an unsigned driver.This event is related to Software Quality Monitoring (SQM).The following are information events that are logged to the Code Integrity verbose log:Code Integrity found a set of per-page image hashes for the file in a catalog .Code Integrity found a set of per-page image hashes for the file in the image embedded certificate.Code Integrity found a file hash for the file in a catalog .Code Integrity found a file hash for the file in the image embedded certificate.Code Integrity determined an unsigned kernel module is loaded into the system. Check with the publisher to see if a signed version of the kernel module is available.Code Integrity is unable to verify the image integrity of the file because the set of per-page image hashes could not be found on the system.Code Integrity is unable to verify the image integrity of the file because the set of per-page image hashes could not be found on the system. The image is allowed to load because kernel mode debugger is attached.Code Integrity is unable to verify the image integrity of the file because a file hash could not be found on the system. The image is allowed to load because kernel mode debugger is attached.Code Integrity was unable to load the catalog.Code Integrity successfully loaded the catalog.ResourcesWHDC Web siteCode Signing for Protected Media Components in Windows Vista HYPERLINK "http://www.microsoft.com/whdc/winlogo/drvsign/Pmp-sign.mspx" http://www.microsoft.com/whdc/winlogo/drvsign/Pmp-sign.mspxCode-Signing Best Practices HYPERLINK "http://www.microsoft.com/whdc/winlogo/drvsign/best_practices.mspx" http://www.microsoft.com/whdc/winlogo/drvsign/best_practices.mspxDebugging Tools for Windows HYPERLINK "http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx" http://www.microsoft.com/whdc/DevTools/Debugging/default.mspxDriver Package Integrity during Plug and Play Device Installs in Windows Vista HYPERLINK "http://www.microsoft.com/whdc/winlogo/drvsign/pnp-driver.mspx" http://www.microsoft.com/whdc/winlogo/drvsign/pnp-driver.mspxKernel-Mode Code Signing Walkthrough HYPERLINK "http://www.microsoft.com/whdc/winlogo/drvsign/kmcs_walkthrough.mspx" http://www.microsoft.com/whdc/winlogo/drvsign/kmcs_walkthrough.mspxMicrosoft Cross-Certificates for Windows Vista Kernel Mode Code SigningHYPERLINK "http://www.microsoft.com/whdc/winlogo/drvsign/crosscert.mspx"http://www.microsoft.com/whdc/winlogo/drvsign/crosscert.mspxWindows Driver Kit (WDK) HYPERLINK "http://www.microsoft.com/whdc/driver/WDK/aboutWDK.mspx" http://www.microsoft.com/whdc/driver/WDK/aboutWDK.mspxWindows Logo Program and Driver Signing HYPERLINK "http://www.microsoft.com/whdc/winlogo" http://www.microsoft.com/whdc/winlogoMSDNCertificate Creation Tool (Makecert.exe) HYPERLINK "http://go.microsoft.com/fwlink/?LinkId=95774" http://go.microsoft.com/fwlink/?LinkId=95774Certificate Manager Tool (Certmgr.exe) HYPERLINK "http://go.microsoft.com/fwlink/?LinkId=95775" http://go.microsoft.com/fwlink/?LinkId=95775CryptCATAdminAddCatalog in the SDK documentation on MSDN HYPERLINK "http://go.microsoft.com/fwlink/?LinkId=95778" http://go.microsoft.com/fwlink/?LinkId=95778SignTool HYPERLINK "http://go.microsoft.com/fwlink/?LinkId=95786" http://go.microsoft.com/fwlink/?LinkId=95786Using MakeCat HYPERLINK "http://go.microsoft.com/fwlink/?LinkId=95790" http://go.microsoft.com/fwlink/?LinkId=95790WHQL Test Signature Program HYPERLINK "http://go.microsoft.com/fwlink/?LinkId=95791" http://go.microsoft.com/fwlink/?LinkId=95791TechNetBoot Configuration Data Editor Frequently Asked Questions HYPERLINK "http://www.microsoft.com/technet/windowsvista/library/85cd5efe-c349-427c-b035-c2719d4af778.mspx" http://www.microsoft.com/technet/windowsvista/library/85cd5efe-c349-427c-b035-c2719d4af778.mspxDeploying Authenticode with Cryptographic Hardware for Secure Software Publishing HYPERLINK "http://www.microsoft.com/technet/security/topics/cryptographyetc/authenticodets.mspx" http://www.microsoft.com/technet/security/topics/cryptographyetc/authenticodets.mspxOtherInf2cat FAQHYPERLINK "https://winqual.microsoft.com/help/Inf2cat_FAQ.htm"https://winqual.microsoft.com/help/Inf2cat_FAQ.htmWindows Quality Online Services (Winqual) HYPERLINK "https://winqual.microsoft.com" https://winqual.microsoft.comWindows Server 2003 SP1 Platform SDK download site HYPERLINK "http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en" http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=enDigital Signatures for Kernel Modules on Systems Running Windows Vista -  PAGE 3July 25, 2007 2006?007 Microsoft Corporation. All rights reserved.FGTop * 0 P    R S T     铢铢妁狴邬嶂狴嚣狴腮狎恫Ф煻鶚鶍倠ulh ch瀏0J,jh ch瀏0J,Uhqh譛^Jjhqh譛U^J hqh玵hE^t0J,^JjhA=€UhE^tjhqh譛U hqh? hqh= hqh )h](€ hqh㎞hhqh譛0Jhqs hqh訮O hqh譛(GU^ P  d T f -gd?gdAgdgd-gdqs#+ # $ % & 2 3 4 N O P Q R S T U V r s t u  咭笸猛该趁遥殷徱笸猛劽趁遥殷p殷兔'jh瀏h瀏>*B*Uphjzh瀏U'jh瀏h瀏>*B*Uphh瀏CJOJPJQJ^JaJ hpj€h瀏Ujh瀏U h瀏jh ch瀏0J,U'jh瀏h瀏>*B*Uphh ch瀏0J,h瀏( !=>?@def€絷尻厝乜豢ж竣辎楆尻厝乜豢冐竣辎x赍曦蓉炕jhh瀏U'jh瀏h瀏>*B*Uphjnh瀏U h瀏'jh瀏h瀏>*B*Uphh瀏h ch瀏0J,h瀏CJOJPJQJ^JaJjh ch瀏0J,U hpjh瀏Ujth瀏U*DEF`abcdefgh345OP朕招菩黄镀蕈拚⒄庌招菩兤镀蕈拚⒄o拚衅衐jVh瀏U'jh瀏h瀏>*B*Uphj\h瀏U'jh瀏h瀏>*B*Uphh瀏h瀏CJOJPJQJ^JaJ hpjbh瀏Ujh瀏U h瀏h ch瀏0J,jh ch瀏0J,U'jh瀏h瀏>*B*Uph'PQRSTUVWstuv4567S鲴鲣凿饲顺渌鲴鲣凿饲藦渌畡鲴鲣凿饲藀渌'j h瀏h瀏>*B*UphjJ h瀏U'j h瀏h瀏>*B*UphjP h瀏U h瀏'jh瀏h瀏>*B*Uphh瀏h ch瀏0J,h瀏CJOJPJQJ^JaJjh ch瀏0J,U hpjh瀏U,UvPa7L$S$# STUopqstuvwx-./IJKMNOPQRno疣鹩糜憾孩雍鷹疣鹩糜憾簝雍鷛疣鹩糜憾j8h瀏U'j h瀏h瀏>*B*Uphj> h瀏U'j h瀏h瀏>*B*Uphh瀏h ch瀏0J,h瀏CJOJPJQJ^JaJjh ch瀏0J,U hpjD h瀏Ujh瀏U h瀏-opq9:;<`ab|}朕招菩黄镀蕈拚⒄庌招菩兤镀蕈拚⒄o拚衅衐j&h瀏U'jh瀏h瀏>*B*Uphj,h瀏U'jh瀏h瀏>*B*Uphh瀏h瀏CJOJPJQJ^JaJ hpj2h瀏Ujh瀏U h瀏h ch瀏0J,jh ch瀏0J,U'jh瀏h瀏>*B*Uph'}~€>?@Z[\^_`abc€鲴鲣凿饲顺渌鲴鲣凿饲藦渌畡鲴鲣凿饲藀渌'jh瀏h瀏>*B*Uphjh瀏U'jh瀏h瀏>*B*Uphj h瀏U h瀏'jh瀏h瀏>*B*Uphh瀏h ch瀏0J,h瀏CJOJPJQJ^JaJjh ch瀏0J,U hpjh瀏U,012456789UVWX}~疣鹩糜憾孩雍鷹疣鹩糜憾簝雍鷛疣鹩糜憾jh瀏U'jh瀏h瀏>*B*Uphjh瀏U'jh瀏h瀏>*B*Uphh瀏h ch瀏0J,h瀏CJOJPJQJ^JaJjh ch瀏0J,U hpjh瀏Ujh瀏U h瀏-)*+EFGIJKLMNjklm朕招菩黄镀蕈拚⒄庌招菩兤镀蕈拚⒄o拚衅衐jh瀏U'jyh瀏h瀏>*B*Uphjh瀏U'jh瀏h瀏>*B*Uphh瀏h瀏CJOJPJQJ^JaJ hpjh瀏Ujh瀏U h瀏h ch瀏0J,jh ch瀏0J,U'jh瀏h瀏>*B*Uph'!"#$%&BCDE\]^xyz|}~€鲴鲣凿饲顺渌鲴鲣凿饲藦渌畡鲴鲣凿饲藀渌'jgh瀏h瀏>*B*Uphjh瀏U'jmh瀏h瀏>*B*Uphjh瀏U h瀏'jsh瀏h瀏>*B*Uphh瀏h ch瀏0J,h瀏CJOJPJQJ^JaJjh ch瀏0J,U hpjh瀏U,   012LMNPQRSTUqrst疣鹩糜憾孩雍鷹疣鹩糜憾簝雍鷛疣鹩糜憾jh瀏U'j[h瀏h瀏>*B*Uphjh瀏U'jah瀏h瀏>*B*Uphh瀏h ch瀏0J,h瀏CJOJPJQJ^JaJjh ch瀏0J,U hpjh瀏Ujh瀏U h瀏-VWSZ |#???????????B$E$n$o$????%%朕招菩黄镀蕈檼嫆嫆嫆噿€抷抷抷拫拠抷抷抷抷抷抷抷 hqh ) hqhIhqs hqh訮O hqh譛jhqh譛U^Jh瀏CJOJPJQJ^JaJ hpjh瀏Ujh瀏U h瀏h ch瀏0J,jh ch瀏0J,U'jUh瀏h瀏>*B*Uph/ WXGHi w ?????(&)&??<)*Agd?-$%%%%%!%"%'%(%??& &'&(&)&D&E&N&O&''#'$'.'/'€'???g(l(????))5):);)<)g)v)|)})???***.*??:+=+E+P+Q+Z+[+??????_-赕赀伫蝙蝙蝙蝙蝙蝙蝙蝙样戍蝙样鸣犍蝙纟昝蚣虻虍蝙蝙赕犍 hqh鑣 hqh) hqh辝3 hqh訮O hqh hqh|! hqh? hqhhqshh譛 hqh ) hqh譛D*E+F+??.&/??|23,3R3?g4??;5<5?6?9C9D9T9 $$Ifgda#Agd?-Agd )_-`-????..k.o.%/&/??001060i0j0??#1*1????-20242=2|2?x3y3??444444%4*4g4?;5<5??66 6 666-616P6Q6V6X6\6]6a6b6??8#8*8/8?腧潋潋腧潋潋潋蒡腧烛潋腧潋潋万潋蒡潋沈潋买万或潋潋潋潋潋潋潋潋潋潋潋蒡 hqh? hqh'Ohqshqh譛0JD hqh hqh辝3 hqh丵 hqh訮O hqh譛 hqh鑣J???8 999 9,9-94959;9<9D9L9M9b9c9s9t9???????????????::!:":&:':<:=:O:P:?批扎蔸犏嵇 ; ;f;g;<<T<U<^<_<袋腧腧腧腧腧嶙嶙嶙嶙嶙嵯平拼狡雌雌狡狡打腧腧腧腧ををををを hqh hqh辝3CJhqh譛^Jhqh丵CJhqh譛CJhqh譛5hqh丵5丆Jhqh譛5丆J hqh丵 hqh譛 hqhE %>T9???$$$Ifa$gd丵???%$IfkdO$$If杔4謀? P` \ 88  t?巽巽巽巽?€€€€€€€€€€€€,6244 lap?巽巽巽巽yt丵??????5/$Ifkd$$If杔謀? P` \ 88 t?€€€€€€€€€€€€,6244 lap?yt丵 $$Ifa$gd丵????? :5/$Ifkdx $$If杔謀? P` \ 88 t?€€€€€€€€€€€€,6244 lap?yt丵 $$Ifa$gd丵 :::::.:5/$Ifkdb!$$If杔謀? P` \ 88 t?€€€€€€€€€€€€,6244 lap?yt丵 $$Ifa$gd丵.:1:4:<:=:>:53AkdL"$$If杔謀? P` \ 88 t?€€€€€€€€€€€€,6€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€244 lap?yt丵 $$Ifa$gd丵>:z<%=漫?虭pBqB C疍朏VG盙諫yJPL揗zN鳱奜篛CP琎SS鏢gd瀏A-gd 袋裹傈咙尹冱$=%=4=5=6=擙橗??1>2>y>€>漫烃威瑶隐.?/???????.@9@?@F@^@i@o@v@w@癅藹虭譆谸GAHAzA{A腁茿鼳嗀?B@BoBpB珺瑽艭薈藽贑逤_D`DuDyD3E4E腧腧潆螂螂蜉螂螂蛟腧腧腧万腧万腧腧沈呻蛏蜾螂螂蜉蜾螂蜉蜉蜾蚵蜉蚵蚵蚵蜉蚧 hqh'O hqhkSh" hqh噀hqh 0JD hqh辝3 hqh訮O hqh hqh譛 hqh|!J4E8E9EZE[EiEnE'F(F,F-FcFdFpFqFzF{FG!G*G-G2G3GUGVG奊婫狦疓籊糋臛艷餑馟 HH際餒$IxI}IJJ@JLJiJjJvJxJ睯礘腏蒍﨡KNKQK鯧KOLPLmLnL絃荓螸蠰EMFM乃蛩剿乃甍蝙蝙蝙淫蝙甍蝙冰蝙hqh譛mHnHu hqh齜 hqh hqh?, hqhXp1h> hqh訮O hqhkS hqh辝3 hqh'O hqh譛EFMMM扢揗zNN礜糔螻蠳袾鮊鯪鱊鳱塐奜篛諳軴轔鶲鸒(P)P2P3PNPOP淧漃裀襊QQtQuQ嘠圦怮慟-R.RCRERFRKR淩漅SS"S#SbScS扴揝腧漭州湎菹啪喘﹄驘驑驘驘驘驘驘驘驘驘驘驘驘驍驘驘螂驘驘驘hqs hqhpo hqh'O hqh h瀏h譛h瀏h瀏0J86hp0J86h瀏h0J86 h瀏h瀏 h瀏h'O h瀏h h瀏h齜 hqh訮O hqh譛 hqh :揝荢萐TTTT3TDT hqh:{ hqhl| hqh訮O hqh痯 hqh歨 hqhLy= hqhE % hqh hqh\ hqh齜 hqhbe hqh瀏 hqh鸛?峠恎榞檊歡漡鋑鑗骻hhhh8hPhQh\h]hahbh県瞙i"iHiIipiui蔵薸鬷jj@jAjSjTjwjzj瀓猨筳絡緅羓耲胘kk:k>kRkmkok腧囹僖偎乃乃乃乃乃剿乃慕四硕四私〃瘹〒〒尐 h瀏h瀏 h瀏h@s_ h瀏h玵 h瀏h> h瀏h譛 h瀏h逳y hqh訮O hqh逳y hqh豖 hqh譛 hqh歨 hqhj<hqh甁=U hqhE % hqhl| hqh鸛5okpk巏弅GlQlelyl乴塴媗昹痩發譴豯mmemfmjm~m謒辪onzn}n~n噉辬鉵錸鏽鑞閚靚韓oo3o6ocodo阰雘 hqh譛 h瀏h訮O9歭誰豯mmfmm蟤鄊on~n胣膎do梡蟨qqmqrq穛簈韖餼Nrgr況渞-gd?A'&-%qCqGqHqJqKq靟韖飍餼鷔q2r6rLrMrSrUrfrgr檙歳磖竢箁羠舝苧蝦蟫豶賠sss&sMsNsbscszs{s俿媠杝穝緎譻辳纓莟鑤顃uuWu^u騱鵺xx xx/x hqh譛 hqh逳yA渞魊s膕Su觱x%ySy鍅唡瓅 }軁@~梸榽膥\\€個C $-$UgdWF/gd\AgdWF/$gd?~?~@~梸榽獈瑍瓇膥虀讆額騸 [\`ghiZ€[€\€t€y€梹瀫BC憗檨蓙揲组组虚鹿榈宓瘗声鶠砷虚麻曢hqh譛0J8 hqh? hqhZ'hqhWF/0JDh瀏hqhWF/0J* hqh訮O hqh@s_ hqh hqh hqh鎄2h(7 hqh譛hqhWF/0J8 hqhWF/:蓙蕘陙駚 (y瑐瓊瘋秱袀貍妰憙醿鑳顑飪麅瀯焺苿莿駝鴦lt繀绤羺聟脜菂螀顓飬QR[\vw厗寙憜拞枂潌皢簡藛詥CDFMswx腧怛垓悟球腧腧腧垓垓垓腧掘怛撼乾螂蜊蝙蝙蜊螂蜊螂蝙蝙蜊螂蝙 hqh;2 hqh hqh(7h譛hqh譛0JD hqh?hE^th譛mHnHsH  hqh訮Ohqh譛0J8 hqh hqh譛 hqh@s_A(@Xy垈殏瑐瓊2h槂箖飪y焺爠莿瑓绤羺聟脜飬wAgd-gd?A-Agd?$w拞DT鲌鴪焿23脢 WZ獘FI噷帉粛 gd;2o'gd?'&-Agd?Agd@s_x|}亣倗厙妵皣祰諊謬),JRST^_憟攬祱聢蓤蕡藞鄨鋱'29EF湁潐磯葔虊邏銐駢)-.123T\脢髪麏+2FV螊鈰銒鑻1Ew垓性声蛮膣基蛮蛮铲铲铲铲铲肼 hqh?hqh譛0J8 hqh hqh;2 hqhh hqhN hqh@s_0JD hqh訮O hqhJE hqh@s_ hqh譛Cw唽妼崒覍詫鰧鷮 12枍棈簫粛3:膸藥=Euv鈴鍙韽顝 $%7DVd帎晲TW洃煈瓚矐祽稇緫繎艖茟?@HIW[g厭搾黟沭莛莛榆鹛疖疖鹋鹁鹁疖疖疖疖鸱鸪莛佛莛攫莛莛莛佛佛莛佛佛莛whqh譛0JD hqhh hqhI hqh hqh訮O hqh|!hqh;20JD hqh;2hqh譛5?乗乚 hqh譛hqh譛0J8@ 4虗In畷貣 枡鴻艢倹bg獪鰷鷾R]槤洕軡銤'&-Agd?-gd?搾敀瑨ot創厯-ah魯鯏憰晻髸鷷BGW\wz墫摉槚櫀繓謻讝貣垪崡彈憲礂粭DTkr讟軜y~暀枡鰴鳈")ej脷艢虤詺 棝黟轲轲轲轲廪忾鹱鹩痖鹱鹛鹛鹛疴疴疴鹛瘅鹋鹋鹋鹱鹋鹱鹛鹋鹋鹋鹱鹋鹋鹁鹋鹋 hqhJE hqh訮O hqh|!hqs hqh h8: hqhI hqh甁= hqh譛hqh譛0JDG棝珱疀脹艣諞 OWgh敎魷鯗#7PQU\]儩枬棟槤殱洕蕽藵虧跐邼鉂>BCLMZ_}厼憺挒紴繛蔀蕿邽酁z{葻覠訜詿跓銦鰺黟黟黟鏖疴疔瘅瘅瘅疔鹞垧髋垧垧攫黟勿黟惮疔疔疔鹁馥疔疔疔鸬鹁疔鸬 hqh|!hqh訮O0JDhqh譛0JD hqhIhqh訮O0J8hqh譛5?乗乚 hqh訮O hqhJE hqh? hqh譛hqh譛0J8A銤C酁]{闊 j粻.煛 t英}担栅惀摝T-A刪^刪gd鵋gd' ij墵悹潬疇臓誀\潯尽隆取>AGHKLZ[dexyΒ尝盯尧英|}%'ht偆儰尋崵栅颏OP惀ゥ殾洣 仹偋酲雳 YZ药萤岍洎í躬邯陋锚嗒岐!"XY]^轵轵轵轵轵怛轵垓轵轵昨域hRh> hqh hqh鵋hqh譛0JD hqh譛 hqh訮OST讪崺帺y"斧公敭寻e劤毘鞔@m嵉幍碌愕涞r偡煾gd$gd-gd?gdY`-A^ǐ┇讷郢飓 )*stxy卢矛郜蕃瀣娆串诞府巩DJ儻劘弹动#$'(nq寻NOSTxy嚤尡WX\]ijwx撞夭,-67mn3Τ蕹叱酱未 hqh'O hqhY` hqh巊Bh> hqhhqh譛0J8hR hqh訮O hqh譛N未哟岽醮龃鞔!$%(尩嵉獾愕;<IJ}~嫸惗付苟 偡兎彿灧榉攴IJ埜壐桓几窀蚋),lmwx~児劰幑徆柟澒墓使诠酃)*HL岛轾怡质柱怡怡蝙蝙蝙蝙蝙蝙蝙蝙蝙蝙蝙蝙蝙鸣鸣蝙嫉 hqh玵 hqh hqhib+hqh巊BmHnHuhqh譛mHnHu hqh訮Ohqh譛0JD hqh巊B hqh譛G煾礁蟾舾m姽潞趸骰LA窠~KL忱道独掷沽9缆01gd玵Agd gd)-gd哖gd巊BA岛篮潞趸龌骰/0:;ABEFRS\]Ъ导都芳辜萍@ABOPQ{|捊摻〗藿呓蚪+,OP尵嵕幘 LYg伩偪纯悼箍慰涌峥榭隹豚蜃巫蝙蝙蝙蝙蝙蝙螂势腧黍框黍蛤蛤蛤黍蛤蛤蛤黍蛤蝙蝙蝙昨昨昨 hqh焄 hqh訮Oh瀏hRhqh0JDhqh譛0JDj籱hqh巊BU hqh哖 hqh譛 hqh G$%+79?]enuv}嵗幚浝ɡ怖忱蠢道独嚼纠晾卫掷诶枥槔昀-.嚶埪1qrz娒∶泵趁疵黟殁阝鹧鹧鹗佯恃鲤实树熏薛咽⑹浭鹗鹗鹗斒⑹斒鈲廒鈹蕸署 hqhv hqh哖 hqh焄hR hR0JDhqh0JDj hqh Uhqh 0JD5 hqh譛hqh譛0JDhqhMl5 hqhMl hqh|! hqh hqh 0JD7 *>CGHx€Zm埮暸犈∨ㄅ概脚吓信%&^jlv <z埱壡娗谇萸缜枨OPSXY埲壢徣熑橙寥谌廴迦笕繇阗阋艘艘艘艘且艘且酪酪艘挂艘酪耙耙耙耙且┮┮┮酪ⅸ药药野仪药野 hqh訮O hqh甶Ohqh譛0JD hqh哖 hqh焄hR hqh hqh譛hqh0JD5hqh譛0JD5 hqh~~j嵾hqh哖U@ *o嚺}GoP伻尤 兩紊v适/0W囂執壧gd甶O-gd甶OAgd甶Ogd甶O%gd?$gd哖笕 ,14:>JPl伾成瓷瞪郎派蜕紊仙稚咨嵘樯 $+,1<J^_uvwy暿菏皇适耸`b偹囁埶娝嬎幩硭钏羲*/7:VW喬囂膣怆螂膣膣膣怡膣怡膣螂h譛 hqh|! hqhJE hqh焄hR hqhMlhqh譛0JD hqh甶O hqh訮O hqh譛J囂執疤程柑樘晏筇籼煌猛no斘⑽芪菸45?ORZh煜HIRjq拘男缧蛐17佈傃冄壯匝昭阊煅 ^g溡炓梢腧腧腧腧腧腧珧腧嚯蛸胭蛸蜱蛞蛩蛞腧腧尿腧腧腧尿腧腧津津珧津唱瞅hqh譛0J8hqh譛\乤J hqh焄 hqh|! hqh? hqhf)g hqh [ hqh訮OhR hqh甶O hqh譛 hqhRA钕*HIs|扌缧MN犙卵澮炓室艘`视擞勑-DM ^勑-gdf)gA'&-gd?Agd?-gdf)g梢室-6DRST⒂挥怯kt呍懺脑驮(1暾笳呏幹gp T]r€截矩 DEbc操迟促踬鲑躅珙囝囝茴囝宇宇宇宇宇宇宇宇宇宇宇宇先饺冉葮溅饺jhqh5KU^Jjhqh5KUhqh5K0J,j+hqh5KUjhqh5KU hqh5Kh5Khqh譛0J8hR hqh焄 hqh? hqh譛hqh訮O\乤J5擞;<斣曉蛟笤フφ@A"#镒鹱+,hr€截Fb髻犣'gd5K&gd5K#gd5KA勑-DM ^勑_`a炡熩犣镖疒;<=z{|≯③筵糅踣89:JK傑冘塑麋谙谏路漏窢仿晠vc匳厱翿聟Ghqh5KB*phh睺HhE^th5K0J,mH sH $jhqh5KB*UphhE^th5KB*mH phsH jhqh5KB*UphhE^th5KmH sH hqh5K0J,jhqh5KUjhqh5KU hqh5K h5K^Jhqh5K0J,^Jjhqh5KU^Jj%hqh5KU^Jhqh5K^J犣镖|≯:傑 $]溯().W罗檗T嵾lz遴lmu€#gd5K'gd5K&gd5K塑誊蛙 $%ijk≥⑤溯梯&'().WX掁撧斵磔暂膛腐煾敻鸥瘎笖概}y舏^Hi*j?hph嘖,U^JmHnHuhp^JmHnHujhpU^JmHnHuh5K h5Kh5Kj?hqh5KU^Jhqh5K0J,^Jjc!hqh5KU^Jhqh5K^Jjhqh5KU^J hqh5Kh5KB*phhqh5K0J,jhqh5KB*Uph$jx hqh5KB*Uph斵擂赁罗檗贽$%&RST嵾庍冗蛇蔬鲞鬟<=>镞咽呖┻镞咽洃}泃沢蔧WG]j"&hph嘖,U^J hp^JjhpU^Jhph5K>*B*phhphp0J,'jW%hph嘖,>*B*Uphhp>*B*phjhp>*B*Uph*j?hph嘖,U^JmHnHuhp^JmHnHu hqh5Khph5K^JmHnHujhpU^JmHnHuhphp0J,^JmHnHu>jklz{掂多粪汔溧遴<=>jklmu搬~€意逾567嬨屻嶃庛蹼廑胝烹蹼廑焦ソ灄撣堐z坬垞蹐踓坬垞j?hqh5KUhqh5K0J,j?hqh5KUjhqh5KUh5K h5Kh5K hph5Khphp0J,j?h嘖,UhpjhpUj?hph嘖,U^J hp^J hqh5Khph5K^JjhpU^Jhphp0J,^J&€意嶃庛斻犮?屼夸板插冲村靛跺稿瑰哄诲煎惧'gd?&gd?#gd5K'gd5K&gd5K庛撱斻樸欍涖熴犮°咩嚆徙?@klm婁嬩斾や夸冷:;<ㄥ╁板卞跺峰煎铉铉钰呀谘陬差げ櫜類顑zj儥冾b^b^b^hrjhrUj[-hqh?U^Jhqh?^Jjhqh?U^Jhqh?aJhqh?0J,^Jjl,hqh?Ujhqh?U'j}+hqh辇>*B*Uphhqh?0J,jhqh?0J,U hqh玵 hqh? h5Kh5Kh5K$煎藉洛佩 ghijkopq黧镦镛镛辙锫伙箫钒 hqh?ha h3Zh瀏$j?h瀏B* CJU^JaJph€hABGmHnHujh瀏Uh瀏mHnHuh瀏hrjhrU惧垮厘铃洛缅腻佩 fgijklmnopq'gd?$a$gdib+3 0&P1恏靶/ 班=!癳 "癳 #悹$悹%靶靶 愋D猩陏寕K 嗌陏寕K http://www.microsoft.com/whdc/winlogo/drvsign/kmsigning.mspxyX侓;H?俔膮'cカ}D猩陏寕K _Toc173129682}D猩陏寕K _Toc173129682}D猩陏寕K _Toc173129683}D猩陏寕K _Toc173129683}D猩陏寕K _Toc173129684}D猩陏寕K _Toc173129684}D猩陏寕K _Toc173129685}D猩陏寕K _Toc173129685}D猩陏寕K _Toc173129686}D猩陏寕K _Toc173129686}D猩陏寕K _Toc173129687}D猩陏寕K _Toc173129687}D猩陏寕K _Toc173129688}D猩陏寕K _Toc173129688}D猩陏寕K _Toc173129689}D猩陏寕K _Toc173129689}D猩陏寕K _Toc173129690}D猩陏寕K _Toc173129690}D猩陏寕K _Toc173129691}D猩陏寕K _Toc173129691}D猩陏寕K _Toc173129692}D猩陏寕K _Toc173129692}D猩陏寕K _Toc173129693}D猩陏寕K _Toc173129693}D猩陏寕K _Toc173129694}D猩陏寕K _Toc173129694}D猩陏寕K _Toc173129695}D猩陏寕K _Toc173129695}D猩陏寕K _Toc173129696}D猩陏寕K _Toc173129696}D猩陏寕K _Toc173129697}D猩陏寕K _Toc173129697}D猩陏寕K _Toc173129698}D猩陏寕K _Toc173129698}D猩陏寕K _Toc173129699}D猩陏寕K _Toc173129699}D猩陏寕K _Toc173129700}D猩陏寕K _Toc173129700}D猩陏寕K _Toc173129701}D猩陏寕K _Toc173129701}D猩陏寕K _Toc173129702}D猩陏寕K _Toc173129702}D猩陏寕K _Toc173129703}D猩陏寕K _Toc173129703}D猩陏寕K _Toc173129704}D猩陏寕K _Toc173129704}D猩陏寕K _Toc173129705}D猩陏寕K _Toc173129705}D猩陏寕K _Toc173129706}D猩陏寕K _Toc173129706}D猩陏寕K _Toc173129707}D猩陏寕K _Toc173129707}D猩陏寕K _Toc173129708}D猩陏寕K _Toc173129708}D猩陏寕K _Toc173129709}D猩陏寕K _Toc173129709}D猩陏寕K _Toc173129710}D猩陏寕K _Toc173129710}D猩陏寕K _Toc173129711}D猩陏寕K _Toc173129711=$$If!vh5` 5\ 5858#v` #v\ #v8:V 杔4  t?巽巽巽巽?€€€€€€€€€€€€,65` 5\ 58/ / :2p?巽巽巽巽yt丵$$If!vh5` 5\ 5858#v` #v\ #v8:V 杔 t?€€€€€€€€€€€€,65` 5\ 582p?yt丵$$If!vh5` 5\ 5858#v` #v\ #v8:V 杔 t?€€€€€€€€€€€€,65` 5\ 582p?yt丵$$If!vh5` 5\ 5858#v` #v\ #v8:V 杔 t?€€€€€€€€€€€€,65` 5\ 582p?yt丵f$$If!vh5` 5\ 5858#v` #v\ #v8:V 杔 t?€€€€€€€€€€€€,65` 5\ 58/ 2/  €€€/ €€€/ €€€/ €€€/ / 8/ /  2p?yt丵Dd P389?  # A€"饜匆<]柛NI6k钸l?@=餯匆<]柛NI6k钸磮ltE隘;2陧]XTU?wfP`p!抵Q?﹠宫?W3錾4侺英磾 S*塑皮UZWY鍍艢筳=lk礄?lVZfen蛾禮朼T秨l铻縻洛rgf?>沁=鳒{唧烍诀湅"??氂祐!V)ⅠW?D2姩^*a鳨鳃騒U[o,!霣濦 ?E&y后Y狗躈惿栢椡u缛4冸^犣]纂瞰:D熅崭}?D2?嫾M瘿瘲i8?滣o?a〒浂鑨猜餂湫LG僼2yW,?晭飬祡c毼醟?Z祏箑瘍騲*-有哪h?插椝韙真遮萂醟w?[虛n7壒禄锞L镆b? ?痒t消骪Dh_篻l茴畕綹M軋鹯犦*T?棻]?5b醇q?確齀uf瀤/c賵#锲酆亊偽矀??L?H帮设?B旂?4Bd)x徤焧錝椻9l汏砮6痄ぅ#靗'ふ瞹符n韴= +ls])qf(?顦渀?*瘤呠_u郊啲i_糓璇眵鍃[?薅悭x[,鏾;瞭D澎 稵成 螓?魖熕6s塋繑镺`C阩齢(浱:r箒褤茽?]肐m蓮铒主笤&F鰽?洠譭鄁れ1|?'絪t?j 瀢s鰃?1g淢潲t鎐欥吜蚙圭7N槛蒪娂n??婂朑?5g<蹭?@硺饻2b/鵤聓濪虩?獰1e浪膙鈑剋 葄h紬婶"髜栆掲檞g辡`)栛u淣簘f蜈*?a入n媧y叁E\%墼嶁佼λ;遂琏军"qQ澰蛵?=}藛"yh骏r樝6?~睇LlF1呖?9Lm駆S憑=?嵍笤眒盭~m@鯞[橕 w[櫥蝐;約gKkC覹# x俻?Do羅]?殍拜垥巰蝹碡渭PZ蚓漼o坩錵?/m飚棗傶?辜<嫻体鹘\櫞?彃紮耨絃_劻莊圭i0& Y瀰#?盭? 鋱rU漳撾;D]輤揶}征?7栻烴$|Q及1])馛?裶's[/ 謐惷Q9敱惷瑎间圊:]?璺脿悃R?吅a傷2鷀趋}軇缀 酐靳東h蟘涿_躠j?€玝 [9苝盯5N衾畚cc _oZ1[?[€?鬷扖3@迠?璷&黸臉?稏}貆&婷j芏[漱膻vo;岰5n}豘鯽鳈{C噴v馻5yuF?~頾Ll芖m鯽E舂餫儽圐坿豲L|丿麓娩 )愣#n抰?[巶娧蚁?侠?溘嬗z7?{瑲t趺-涿攫*暹軪鵊淫睃姌燐??牟镬*?炳?氖w 楐T璷>鰤A嶴敄r芪rL 氢?-la唙啪J寜o!Z訔鲵貒v)-鞳-,酢5>N7簛}h蔢←孝]}柚篼瑶tF^雮燥L?|凑嘚镜聄z窧>簦嵕垓$櫸\l'u:濊;7a匞鉓+铷>?颉W5伞 過>4鹱檤h廈>t甀敚D茋斩i茭砿#=h雖?骊Y?1WJ_k蔷釐}E梜I躀鴠)?Gy蹼铱w標nJK. R?[A?]{柽P‘!龐W埑D螤,?乕蝰 且B铒20oo簲蘬Qy飮i煉瀠??骅|帓?{巖锕i蘵*?冶捇姇逆椂C珼沣t嫊€帤取屽衁c%w%离q^雮詏+b%w?G鈰熇uV腏JZ羽啳iM酶^呲e姪 蝶艢?泯wQ枂罈茮Vc%覒澏?F@烬b%?V瞆鹊&髳‖#蜋譻蹫^c蝪檖鰵鵭y庻J柢s撠兽v觡茳/兑yb+[賕[冫控J泆?芕>??&?剈1?兑峙靉铞歱稧 ]L(k牯茳穨踑?蟒抑掲{{ 誣j蟯)衅8`湻e]姙徲-欣?漺]J0閤@尲BY8隦蓝.3?愊糼鏝w0>出-L丿丈{殢 丙o嚒o 盔?擑殶?狴-蟬?追1U甽景熇?嫻辎 纛掬y?E瀼O舔擙{辩乍 {絈匊祕B臂韹凥V瘞蠐琉y.霟-_I:菁勄C?魙?5灿I琰u2哌Ic孉&: 薥o仍嚓風7?兿??擄?痚€o皀3躍(qlZ叓掵逵彔溌褃{圍o狊岸繋譺愇?V箊$Y◇?辄蘫澫檁嶛?T}ut鰇趼样惰鲵ゆ篯呓5輲NzCW}鱰脃轹}J缧硪#18 愳y且韥6茬i?{ 踣┲豷M风筅>M矾狺戈 靦⒊纍淄嵣;>鸷X:q孼}詑eQDu|Ajs鹽^j膂{Z??2綖谶9柜^氉冸B鶄?絆祽Mb挈6澠剠烎曄#v4綗-甥妗K<谱撰契M砖堕魨獴匣痭霈:s︾蟵q揍俑縪詍亵牖t赘汈濨蘵謜裺璌簏琥砱b|横<{鏙蓥咙ヵw(k雖炌}濻羐筡★蛛}栟甫鈌盡坸瘟璝r 蛀ぐG栆oe?膩i檅腊L@飹RD聃摂?石轒鶞#斂爝?』P璑C+}賅 zL◎兎Q狞-P津S畀狕s 歅E莈T#V°ャ縈秋y煄膂 湛?漮絇本?躲剎厁oPv嗣?V啲恻臈??s屔贠嘔黌?欩楏迕恶=宆w釠 |閏^嫣?E?w∞z筠C脚|胒蕂贛鵜GIn@達篷釘3 ?P曻婂廜晴#VNZJ.G蘋]E乔WR絖V!:w 濈 黪t茴?石'濈∠(oa=?棼樿镻孓煘zC攱盔d[糁i⒚Q倴)dO邰洓衄漵v@犒?庫鍙厔儈Ovs%壅琥?虸鲭窿d鐘蝕;z 垩q勄o\H鯙#;毧掛^叮[6-3?m裚轼i;犬灥嫀逳v苑鏌d?漱cc襼{D礻v卼v巊蕑aWC曊﹟鏶傋^叒湖xGn坈簹颠鋝螑ū3鲇w蘄vnC瞣3.!诲G淛鲳礫▅?*嶅霏掯Cm魒z岤捚奜馇處eo玝詚羸婹0r 膌? m捻0n?-?kC颻吜怯,=q个噩嚉'?璅朢Ν'=YM)?撣Io毹慨芨淂缂}J钎匝q遊皷<澒鳉p熚芮凋.裮鑷瓃v囡縐_p>m圹妪阕K麸@浖搤訹?檖n豳翟{?@];袊z?駯fS瘲u鯕'鏢疺x烕Po3CO撻fA唠宜1栥K? 瀇o{?qX仫桢榀邅7?~葱仫垎曑遧$滝a亶谳c 赞铌M眢鳣jwo]H遒OSf瑶a閣b9N2S&r?垀'?q<π飞众玌vl煸鳿O ;腼[C?醣輨#y茺凔6RK建旨?Jq5Y$*?輒鮴驛骘? 鸀€^幯?;霃嫸|_瑟v蓍?y=/ :a"蠠:H 鍆1`s1蛏€邒?Xl匸/[?絳J?^ 睾 昡Т磧S凐^ 遱e狰Y蠗癯脯:蹳:嚬?n蝍nB??T蠂岿燾褨Q 'E€茗辴窺廕{#?!妰"鷁葼W弓廾f.sM蘚?殆??檑瓡c^峯c揲峲墆蛭f甥,恑&弝結詴?p6a篾D锫?q釛?楄+8宣`0 QL箓蕮o︱隐垖y髖]鎚&6??cxi秵B飪浥篶,溍獥Э9瑏z??K@? 霎R^鼗庶鷐斍^V姣:Bxo??yⅤsXA>扢墘祛SZ熋陣儼8&?蝥驃衄/畖 }敐偩旦梂紵X×铿?杹裑@堔B鬡"Fo!裑菴鬡"Foa?Do%b?z 裑裑裑夰k?o‐a蒈A凉郾v怬s笲虈?段UH馭騈?p蛑盺 ~u3E鎶p~*对?duˉBK晥-蛐R!-蛐RˉJ臇 逍R%猳e!妽┘d*暬驡. 敲O耻№久D钆蘇 狗芛[釯?d&{?螾dT冹p9欵匠de鸉)倀-m噮,县?JM浔勶5泻B輘D,霈?镭崔r E賶灎l?嶟膣hk熨w濘?KjuOD0?凃鱢#鷡華艟{昈楨.$?ㄞ頏靽塭顂M笍e钲+猰?O 坂if?a呁f耯3`"c`抁W;楱?|刴淆?,"禔?恄饠?xr氿e焽aB 魘赐/P鵰縪h?妦~6滘}?看-濲袿i包5欵U筨1頍絺揶Oy(??p1M8w1鐫?袖逑/笖?~帚5FI鸔4传棦+(n5a鳅zk~←E=]C(Z铁蚓0墷EE?_Lo!KJi<亀細_馥?v*0跍A璸匎踞琫焱鉛</?珰綷kЭ泞濉/[壉笉聹A?曪炢x/6萁@|9櫡x?鋕)D猩陏寕K _How_to_Sign_a .cat FileD猩陏寕K %_How_to_Add_an Embedded Signature Us?Dd ???  # A€"?1 Y+?o(p昙?1J<@=1 Y+?o(p昙跇硡o裾g?陧|坯厉z飦 -條;QP@Hr?枱 V轫O 偍 EMh€l (E?況椡?{?髑哮v都{铥oggfg6*哸鶣:e#H晢a定欚繐?酞苳g嬫p敊篃aF薉鼉}^钢痓楽懬咀2练4 (`R!y!伜淺稘愒吸p)討&tH]楣i~5>忺n03怜e琓}m?糫讼0q ?葝宛?碂 r癩竬w?旺磁汤織澎淵#夢毼悙.tG黕z?E跦?O螱B蹱'??H鯋e卲r5颇淨汖g蚤鞕T斝顿褐 褍tJlh&薄櫾膉 べ敃严觻rE鐌I?颷悺ψ#9!2鶸毣a?莜砮Л賴蹲I??t淨㏕#狳*P綞e? 5Ⅻ妖嵚绐#彈擺h[')嚭?噜N鴳勐錚 P柿'薄9屣"僽拵4筵藯泣yG燑猸&嶀t鴣?鈍伿?P韘xPB邺欺 s洱襵S)腫戅f蹦b暖x)廓?bb:^a辩&鷶bO?催#賜B霛 J鎣I呍喥S柽e鶲徬I5lP 瓉 颢T>CH?4玊貂p-腇t?C~唱慆]凭晢怫-1*俜谈A昰,€?券R-1J韀iP诧?|_ ?縔狄 g_#S???3鴏咄览 砒鶛郱??饍匀$讼料⑷>[纖 0?HK,砒鶃oy郼鴼g~怴歟鵜#纆鴑6蒰+葡 譠AtYVY~~vE~v鹳聚亖鳤Zb/葡θ|罄贮饍匆&讼料┤ >;羨'0p?H>g1~E~钢:犓 5r闰sF餾)騭佅.疠 \W1~NE~郲鴺炬9蜨麙燫茚*蚕?tW侦pU嘴喆WU蚢翼潎t訰vUW€:曰]翟;\I?頉?n?}拥;\9谳愽A:鄽?鞖?門瞣鴵惧€?嚯饄?诰$]?} 繭嗷仧^翺?鹩?栊?鹩绅覩?睦 老€$1r婪?|>献损3F?爬麹老緵€ 鴻$鼘1??#?#?? ?S?s 老 嗷鴻仧Y孪??|s雷9囿| ?K?k 老 嗷鳼仧U孪? 鸪? 璋? 鸪瑞矲鸪爬黮老聚€$1r婪?|>戏署矴餾睦老禁€?$1鸪?;鸪;鸪? ?G?g 鼫老 鼫嗷?仧S孪??|s雷9囿| ?W?w 老嗷仧[孪?餾?鑠?餾绅sG痼睦?鷒9噻~ ?w ?|_鐎象菅霏{咹霤J蟰?g?C~砱l庚矙?祶醳譈t t筕A~昰埇}彭?祶纖00?Hc砒鶃o#狼F衑~悊e徰北H]|嶰_郔酉匱趏莋xR! 柄铸^钙賋垮ャ%83\t+絙y琛<牢鮌z(H纰芀?M2灀?t譸ч爿|怷}稺熰.蛩!瘾$?鼕库亼X9 E?臮芫筃e鸮ww'pww'pwwg憓H}贱.鑠リ_qラЦ㈨s8#?b噻~噻老~鴣?襦[<緕纆嘢啛=偀-~6鄃~6疠黮老&醙弫仧t貋e"鳼c鄃~V鄃攮老 ~鴣?襦[<緕纆嘙啛%偀9~f鄃~f疠 老,醙墎鳼€tX€鳼d鴻#鴻b鄃~&鄃進老麹~鴣?襦[<緕纆嘫啛1偀!~鄃~疠 老 醙寔仧t仧e"c唰~z唰啧繭~鴣?襦[<緕纆嘇啛.偀6~Z唰~Z餧 繭+岌媮€t鑰d鴌#鴌b唰~唰?繭?~鴣?襦[<緕纆嘨啛焊}*e{哢猅H>H瑍嵤?PIc唰~j唰~j唰~?麣R橧咔Tэ?俐尓剋j z缜? 恮~熱w~>苫燲轖E綺礠飾滢 鯭戺?話鱾UUu煫?Jh ^嬿袌!z诅R5I??t麱|t?麳B姉蔩嬿轩峁53f=€結W摖7珿cq 綋/0Ar间 m?塑坴巃 =_蓺坌unD8徇(V(_??Z&蓗r}5=YE:虺B鼘~逮嶠.彿?"1蜆檣?h.马~u04暃婠6zv苊<f?孓剬帏虈- 軎櫡嗢巆櫩輺夡L0S鈉x?癔Z?軫Ds歍錅S淊汮鏚 "殎]綘栬脭踹┧?{?5蓼-訞s榪~{ Jh_-)?fF亲3?lc?73]x珻McU*訉"軭^n=緌?渺悬}詬?閊苵紺t=?- Sj?镄圐铪1抉譸N+H~c扊ゑh O硇,9笴c'選v 簢衭汩Q翉q0漁唫f1怴g年ゝ柝G試?垎m"釭K(檋揀6t晜(迲}胔姬鴭?栘G猻け屫軄f觟j庳?V缄峝嘃鞰欟揳譀2S椔礢[!}}l聻l,伥菢娥2緼€{+覆>柫}角^酪{"椣$?-尿H?,??7{懰稏J絣堙Bz妑?谬)瘦R 鳟%2 住d礥縕叁跪Z)?蔾ュ?抚:C磚c簚エf芜f蚫?╗I蛳鼶.慄楦L溈;蓑-噂h濕9-忀2u芅jI逍.?蘜售D霅k]w 洉Ju 暑v?皇SwS蚍鞃鍛N/賙*龠z:憻-?w鰗勱械Xv毂它?规 堎?^2車Q钭n覙(ky鶍洛?駦Zr廃R?啡f詏摴徲}ヅpx麺?+鬨Xt3鍨竻鈪6p7萿?e侰GbN笼疤ニ柠觡a?0呬[4囊oKf]wr|蜙?u 柟縇 繑Y€鷒w裷?SwQ幎R省g‐蕊i%爆嬋k#b黌苭?垃虋夛鶖隱2\缜%蒀nⅤ扪Ym~業?甦>|Ic t@E婷/ゃ-?=RNh;??>;褴?9/:^c ??hJc@啦€E錚 P近4碙B蟰?q藹般9T^?:謂u泗a痝v8e6R嗁p熟Z稢鯽荝頖e笍ボ+KVZ^暛}鱻?'Sg<瑶l 锩芞wTtve鳍 籷斴赵U儋渷=?G榜H顩{榽P^é 飱菛Q官 荬%?離楐a彲"yC蒾蹍?鱼~%O}I?区耨!z,愈殘Lt颧*G^]嶴i9zJ)茿13嵁洿鲏庼U潸 鐲K沐z簟Q3FE瞌?跸k蹏栻鴒闏?N酸檙x湒Ce霤賴r]#悯慊贱袩?R題鑭趪NT圍n鏆悞 <8№殨}X0f>sH"^!n°7j?趪N**嘼e€蜃嶘U?鬡趪>(螯凊l痺z+鞢旈C锟N磬洬k勤6楤I_鷕.镃\F}@騥6}9;膘稤_冿堽黠D咤覦吡薲Q薡f审i昪Ut9帴錢诹e砻団?鲠徰>黖2u諽諐:趾隯翎徰>黖2}WYwUT,橚O汘峋z>D?婔/懾易.槌廭ZA?曭?胹j尡X芊桉灰b爆}飹uG キ斮vf[)3?Bx糐锵豺@鲚籃婶e:蘅喣賲/H滍踀屝B疏 蔋S ?蹬甧黅奪M?廁湖w┋J埱 *d梳qZ晆 E)?z q]#悯慊<芇旨灮郀rCy^Eb 礵瑿| 挘m*Nh籖瑄 |為qKv懍q 荘FㄈZ噸j蒢噲2@1釽Y芇^R戼?U洋撗i.綌眭CYM檥*胠店赙爷@遱S暆 付И8犅磤(#襐颪呗髑?/?.縙潊Fz岫}宣鑺?袣p# !??耛倏屘\82佁\?綌尓t%3 f5e?儗蹭"?!z2O掚嘵虏餸-]il牟pe 綿?韯拴YU棒逺薙bm,s莦眑5X ?]S碧k[廐{C,;^j姤髕柨笺 雋-VG茄:G轗鈎R9敥嵵镕Z彋$鳟6b?b塰踙%篖cE&=逭椘~eBu,氥嵤{稬齵#甂埖駹鯏?v險W?酕瓏C#H?O捹噯茡茧u2偞啲d`r菾啂恂&#O內og并粱厡揧GF揧鐖烕?鞱炤qぞ吿?皳|欟1礿桛罸碧軷薞涩忺庶粓e荎:忂奺9=cXz葶/?B躔6Gy觇8贔汨凯.K逽cl諚h黭9?┊)?ΡN蕯 U錧K|W湄薀旊y鬽4O9幁爋洜5▼謝TM弮T]L m荱杘洜5o绀f蓎沸ql铜Dk<衱旵?@1釽Y芕悬詵t璍浼yt霧Z?e{=荲Sfo?[?ei覭冱豃[YN汨ut-?c+W麜ml毡鑩?砎鍩缵腪W糌Je稡哴炾曜藬e瓭斖誳>塬汞④+?ゅu=?4?z>?:v獺y?對錺PF?飠昘饣"SdVU鼁曅鱌焮簓V笊5?近C`佣eY钻{ǚ@/ㄈE錨]脡?SsPB蹨X 妹颅?奎'拡i坢桫?f€覔U滹螔r(^(_瀋J逤=l噼威r[j`@黝嘴{ㄨ夾8萇(徺椼Y樢?Jh垤 16焅7跱?bb:~#芼#?<蟞=_姉蕳gLf?峜咗E}当]駕℅蜉U閟}4瀱= 逻魾妍醻閌xjvc偪l蘞N緵羋_囊?^棄d板MX?H$睯 柼 ,裏7'rA+r~蹫泓捵屄2髫媎孀腮玸办8g!朑?%z9([+鬧?^>瞻/髉芲k 5梓阊鼺>斒4@cu蝼⊙樎胡S饕o盢p呟铏蓪FwH紞謥腝毕?GGu愣猴?u菟眯猾mg‘x}a莠e?盱印ok盨c劋=F踞:沋掦掳p>螯<嵁S褅韾=-'b54覈t楐-V赭冄厥靂 "鎨笤$>Kj ?vI烢C4磶憂?荂I+憆m渕t-諘殆\薢8爾??F ?頬d?袏陪誗护3煹蒨X峞鹬$}鼟顩婟嗰摋将栊7學聖#P[箬C蚾 欻B魍住o;5渚?\?€弝駗兌oQp卧?鲐]鋧铆-??]I鱉W﹁o磭tS幕鸡磣?瑧艒諭勨即就 3О匀,{擀=酴 燊攺R哝x碦慻uYy8醃m名銸唣豴\.儕}餠O N恵踍=I鎇癲F邇e~F',??册H,從M&鵽瘨|r7疤莞愯裇o朸[>诡r菥濅u Ob俦颵"AW?霝闰-碾{H鶠??磡珫R鞠\!o浱槐?鋈qvS r眳暾甒[ip-[埾\衡鏲/仡乻h{%罯?ve0w@I?戙'`>涗Oo%鶠I~?蓔肃鷇,ga纱mI幥u'莣 遣,?貲,絪鉉鏲yで㈢$?$_+熻荽呰Y社Kd怪-?液汣怰e贽d始へ 柇嗸/Rわm藍~m蒻颤桳簥迪斦?}汱剩<赿铁xL.縠,儲嚢舣颩驒#包扂塑}/? I~鞷,;]N趱K/繗\縞=邀N!??r?邠牒齃:儱 m0斪kp骤/飡瞪 i鵹QG梠—蚨墒2鏕[%往跪6@8 :婋網鎾挩厗$j?4擥-4擥-4擥-4惛厗觯H蹷C荙 G-4t敌@趶Zh q G-4惛厗魻剩剩覌ZhHj $兵 壣|G>芽z ??r輼冧含锶u浜K撾~龡萯zFZ濒>憷舶{,儚 k搢矰,qX?`9uLj骨8+O□i]櫤 {仏yI1>硿懔?豌庡Y?a輭\Ti几,锞x^瑍4P诨瘈l{?:2灁僸}視睢锞.rd&揉 X2."kI娇F&/掽yw&揀蒟2Sn?灃d?d玄d檊坙=藸,弢6儨?g柟hD]祖,;薅慭棿K飸濅邟笫jw1趎觇鸘曙臼P1牵4频%募)器w财'P=裼玨募ェ㈢-?黴%? 壖惝 $冾W癲6-%?_桛図??它稾,眼0|黳69竞亠鐽鯫霴蝮_名劭巈罱笕u緒H>k蓷k渕v襺j€?;?,KK?西/闈棻攓磼蕙禨戺WO=復蓃稭蘁駝冥螆?搸'F君#鱓'<呜Cc西!r j u卮He,XH濖*K魱韄貖湎w#u蠆幛x"9甸ぎ5浽Q7/&鐧? u躝+墳诫蓇?撾?椎瓴?kqfD她D荿S?咆?g歡,;.>洞r?涼樗o%?鞄W稳誑vR 2J蔙^]e銻欜Z烍瞉灖,戕Rv{泖3钢濿顪@/施 斢諏{楀;覴6%}g碗:綊P9鬐yv9+冩&蓀H9)}g氌n鳀坐姅WI?ue貭4櫜?胒2es-縎K鼝跂 i迷粙碷~鞵A??zS喲銍赲挈[轺Mぜ泻濢鑊火暵"榔?rO*}繅鰢蜧梲賗+齕I^糣'r澪暜 Q谁賟荪懏敳#9 e屴e!`珥,$氾 <虙丩Y最欸賌毝lM痘 踄訊m蕟t :颰衠B澩蝑彨洶'?豷贳亵麞傹?鯱t'h'矇?琖 洜澚V祖癠党脉-滳t缉y朷? `咴鬭梛z彼5剑祀鎏曍驘*柁屳痌蟸]念觧cwkw?篡闽ut<噈媘痌摸⊥e籬違{h鏔夔匜墋 ZA鱐v氼o鰁?v狽臡襥竡:5襋t鼱?^鳊[Ew埈啀醉ek陃砠轂(]&緇竂銳讅従芙鶾竰舴s羸F淿?l衁MAG?炢畇s;tv甈g骣 ?:i咚pr耗綤恛[eh蟟?怠;?翩.辂r臌勴 '礟?A7V7N??股芩(5荔[b邍YA鱦?n峚鲏醬n礱.鳌a>鳛!7l邼燾攤巉 梚迄蟨 OqOrF侑喬b墋 厒顏茘躟鉜n惐h苊?~捧6埙/伧憘 箍 飍烁 ?芸?9祋q攠烜鏍摸>tn61|狪帅楲糷拆I&3荫1椟MA躯芲更鉗睚鉾茺苚箯嶜筄l??C_侯Mi?觤黁Sc礼S:劁?闽鮃雱t鼜)侊e?U?卿纣 摀彺/ ?眔&浠*铻m钇?麈鐦惩鶛媪妲脉鵃? :8驝|Ⅸ~>牲?7鐌鎙>諀g攠GA譖墋@u杺頖,9|k?柵|+薣鼄?a麕€ :毲篼停骁鶅骁滔騁虲l?椮g鮲?辤萃;x涻 o鈛謔闽潫*鑨筒枱fY煽jY量f摄gY掎鏧朑禀(伢兡鞠!J匲#l厤V呎)|nk璶!ゃA衠Z辆??XO瘅Y醄X忩Z跨叠e囌?麊B尽倉羡 #m锽兄Lx辷?詖?闹Dhh*苑曩 鄯t禨旭欗qa嵀蛋嘱狆櫗グ蝪煱阎"示 ?Jb遯如*琬e?黫S綯8e_.黤O秓鑨YA怯雯耟麐?醝 ?{P贕E僮u侥緟愡珷{夈+醡a┿梆栥a°槓?动桫BAG歝僷?_ㄧX#?V  E禀楮Mb_{鵁Y,]w'礻t姖漲b'g5苯澈仄y襮t^T帮莥針悻饟醙莙釀鉝莖Q??y?&S辆?縓訒-謕?Vw]畺a??铇绗+蝩&嫻N^滅L遲&圞漗1揖蝋?匋S 簑媨]蠆{\门]甉鈼 a?€幃 :诤簣璢?b[祝b證bg?Q稣€N墋 緿A鲖罘纳顆臝铟夈塬腝顣aA?n鱈验~Et恭坣鲖b納糥慢!示=犽S墋櫺冫VAw剁愗荏儀х'1垠洏?!6鄯tnW斜战M莒?nq泛?w缸妠軣F? ?-眔湔疽uo鬶}[庨逘铆3輏{|漥粅k踻jAj}輏k|QuB-$懊/勴袯uvl鼐<轩杺幏摉 嫇o&-&鍌|]x;)'示N`O墋[!噦頑侗皣m"靍>6漭B!{o鼐顮/値蝜?狚跥h泅诓]` ?示x▽%觥睒鶮c筀麯??売?p"g苢栋}5A? 鯱鉵飧4镣.N<+膕塓鰙 簬J鷦峘鹲麣|3~熍o黇?溆鶟帼雗衴FA菞?~ w嗊虧?r縼鼔扄?z迴伧;l廢衹?艔?鎋?餝@臼熸_ 蹏+t屷W驛~8稐颍㈧C敝Wb?冗珷?醤?黵醻>OxWh? 蹢 :?鑘"  像 O劎厏B?]稨靮?粋?D+遀t疠D遌寚|G盫鼐s犛癄B蠕 M鴂厗 o?n壊o1豷V2f鐐琥.咇丢綛oW梅彨潲?W征]xLq柙*胤D择 D?_继鍔?n眡6j坍=爻Rb?瓤?攉\:匪椕眦湾vp踼嬄鰑tt餸孚?rm|敫志O骨|鼍昋雠諄X懾7驈)U7甆[n|軇:]`鰾潪a鹡t恼櫶9爰?陮錶uF僚e绣椮 檃j)鑞淺揔Oe$'qd ?95l衴總幁u嗑ㄓ捽P鏭n]濇皾舖┿彶/鰄%鳊迖淟>聻N=泑孆楛+{&?{*鵗鴿嗅Q皁drnx矝{.傥M6s脪u\0Ye_塞焬恄撷煲?俜S柌薘迏?SV勴k :?鑘橋5[??鲋擼lZ蕳 7S6E襟9?I靕梌 痕ヶ`;f;ヶc护9刴楘L宣G轩簜庍Sf晨や?gJ蹞)摙靃龃捸鱃*yGZj?{!?鸒j鯮j&{15汖梲g鼐%犮  S;补?R鄄sRa绂>?Hm艝詆E箫Q焨椇b淫S#sm櫛|#鶓F鲊鸂8p除{w WMi6蟻囻遖?纇4歳锓╆W衞E吲|剘槍?⒍儕卮Zs)骜阇暥枿5'斍71CeZ稥蔃呯嗶髩 鷽誱~锞Y歯 歼絖謿釠珰籼鷃?断Z蓡@琰FPGB届W%\/_蛇!掱錟2}y敭璙t/瓌 罹壾>欫@?:o毀9Pm坒e帝#鬌 鬪h埰菪撖b冗-+閊堳话?? 娌.物XSa~?/殈街茱s廋.嫦C鵿菒橈@c~毢夶菟儩O0焭D碲*笙衭隆榦C!杉?YO觸Yc萁?sn穩穡Q :Z;\Y椩m 潖c_5睟c 渱?yC~毥糌煩nk边﹙ 跼?d:~F}諺引€?Lc頦3z 爂€y迩 8劁z?W7?y T=昶潽鯳涨玱璘喙鱿 枕潪@蟺=TiP}騻z勎#蟺娊 <艧iq氏€簈螞毲?0襍R蹋5*€肢斍3`澇Z^1/7>O梳澙%鸛Ⅱb?齅鉳!鮌慂_嵥am晎獤o][lu淳h?/衪蟵仼晦乓2?棹oB鏬撠 1Y?稉 o玓zl7﹝燡摢筓挭霁r{劄抌?鶥闠I?遪療童?绣tl邟颪咸灣kV`L鞦賉w谜幺醼侭 寅麹昃鴡鮪珃琟彵?绲n哽=p{鰦涨??麞Z鮮e?咐戇f?磗|嗲渾贈灉堝f悺蟑E銢∠陻蘿 }Rg楸/正砑xs譕7唢*瓆儙|驜gI狜丸o秬瑀曶脈搭繊鏋#羞A 艴`x潆0K鶛笠mI?*麣」朠鰆蒤v敉?喉ほ [鱋Dd!HH餘  C ?Atoaster1€b瓠挢鈋贼Z亨s蓔唼鱩w]k_鵫>? h墅柗煎峯|#庀_M芽Z} 鞵馩/栴?O与 畗€燠O赺鹝w躴=|毂囚!-苯箎dieg{P憝{锝锾c鐜?跞_?凡:繡餄[?~禅暎G崴赓硹彫卬世jA gbtt龥寅)2峿rz璣嘵ZZx嘦媾/~馛=磑z]勉YF瞲 ^,dt驱?l€]Y>饋钁z 閭Y餠c櫪H疝{颱愳廅x尅6慑?8dU1姞鈛z1x??*籵?挍/| Y?P嫪軁/警?皁?m/祣F濯澰R祣蛚叠p5鶧€ F-Hi齶妦u5籓顕W阌;u唼?燠頦?袿#?倦4シ?赙昃oz騳F舣V呙?峥鹘飬'A -H 覃鰮?岿挽)鎾|2?6珑vN滯mm蜔vv黩棋鳊M\K.L#~訥}I歪?魵准y:x骰?)ド漮ぼ堂?墎cx*1+蜉飤鱇_繬F芵疢鬨嵨?I`捓?侚p恸涣軽\??泛颤虑蝟m,鐂/彯6?乽*飢纣!桻j8秭};恋fx浘€z猚 鍮L+$榿.冨&捓$仜\蟋3纫r=拖Y畄徼胞搛謲弣 啭例俗|妥?跌珙:鶙蠝豁y份驗渠鴽~?厠稔饛搦址?r 榃.@n皢桚芟郎門餲~篤卞?ej壾?  6銊3Y嬺羞?_鴧_?鲚漤=U捓$亂摢嘘焚z骩洓珑w賨/2,\?~|鵢z萤c_xt膑?紃g钜郞介_}沁箭岿唼o{氙頻.凱惻⒍借E&€V@霆W疥孽v?s珑峓9鏄l-聄]m秵踪ml奎+蓳卣?罫]a捓$丆&佭鎱邼謚钐鲄]瀑忘#m鎇"剣樶趛咙?z蓉}鴹;徆撵l蠞:u髦鲕晤脔+遶鎱婝k;?鴱篾饍燅葸g{餲罟逯岿??|?缂R}"颶#?驅7?d嶻X蝬齘3罖滹鷀?廩S瘄??詋mD{ ?纾d瘆韐滌蔶oG秊浣醐oU┲?蚝捉螡胄O叁鎐>Yw懸\W(?#Fu8%cC殁t萸$裤w鼛JQb ??葲莐2誸捓%`夻癑I棩r 兎磔鬼馆-籹[;s踇s壑鷽佘淿貍pcw{塣餇0君7拷 噷蔡粵k'Y溸9{鍽?∥淉縭滂`隥阪p??栮k>嗃怇鑿~鶙9zT=爲&,C?骻魁?枮7Q檣綸鞢7`羯燑煽鴭繄鼉?fp*缙靠鶝抠 @绯>氤寘~尽裣?N陕?作}喵VcXK攓b襐vp殚{摅焜負鳺鮓崿錡~ハn斅 " ?=葐??gDT飜囈崕葵豢稹儫>輷Eu華崀銰~挠蘕'?€舕太MX谗昴?侂'侅?癄xR\ 毯鵠鲒發d?栙鳇挛[ox畸芳辰椿駺莻+揄 (锶蚴鸨鉗pw蜥G萎痮距?6糗酲. ワ岿浛?!硡iF蹍P? 仵?粔鬝?鮏 汙弎(语寨~ua |彔儳 ?~?鱯?A?钸篧D+峐R54燑叁:Q紦魮#o}烨~,?鹆;,!澳|調捓硱Pq壸k{儔7悮y頧?不 懒?瞅蝰蜏~眠吸夤嫍峾锔麨砱蠜\=y蝤ニN濟究璆Qi7~?葵wi5?? JX?+€纽4?宗 F繟潁娵'fry茾蟀1i画犾n眿Mh€'4!H?p觧镭茽沰棌.蜔Z=r妩雇KW7?偲|腊Ro剡諷0酵L槾5!n蛑??d?勤湬 謙g?鬕冨6zR}篴i_岁戰H?姞?C挮N褣檚愄俛駒S?ぜy衤钙?狦岤c磓囱U 至Yvb@#=璶乹['別秋}繥傩慙撀菷3渏睅B酈K酰閙$hW梈 碎 Fq.€瞲E郴M棧掻蕞k<肰?Aa_vuW tO沨"叶;羄n轎虀碹29唿蠹7G 骭??渐?o宇笿憹蜐澨jVYE彑①指 UVnV紐抑;ZY2i9蔶$MV婢涛5 韒!qf纙L譇I.c?Rc狭癭#(麅喊几皏0-粅|wq>暾廧欉~?蜇蕛x哕乱壽锕傅坏p籼贵'?辿诐飠?^椏o茪裂岸o铙筐 ^?潇褂z藨e雏閐j間?鶡蚶M謩帹稱6轁痻匎棑K}糸o孀寯f剾鬶!嫙T偄"?e`銷瘘jy0砰室xGIz盞 8珼翂a:铬(┄;5??絺Dh獥紂|cgNJ衳莱遗g]狽麜嬿S计C6?d蒒 辶怹c蔈\雤敩育#簑 i/i奴H胹?r靑軉 a9UAFvk漁??(1R贜解0郪A魎€豮?當嬚坓D`@ 08n榈犎鋩噹鹔魫Y髦A9枚<Y埖f!?顁镽no>瞛蝽~*??颿/<=z助??巾m蟆款燅W?淊德<茇]z疳橱?﨩O躛火-/鎻o\:w2D及9wigq}褙┯穄箌崾舠藄 窚?鸞旷[镃K翔稗QE=U?K眭l軳w偛脭舳q珇9RHu鹍萅厷贂a谸?b?那Dz箞{ €)D輰夽j覸?^涟? ?黮`鰻寈蕢琝?c硶zY{妋3级曇涄齫^艣譮 %衞薝pS暋BI鎒€L辁€綧龀30硈煽)閊TY鑔畍?€C?鵋'陥7艹3?)oD?xj`\纏汀傂嵞馸撊?寫qI朿XF砞'Z﹗Z4跀?孛p垙斀捽H{炴婡Y-p鬰rB斃箂g齩f?[煿讖稆痉煎W菌Zo?k楃鹀燋y燋燓)g霞ogw{跄韌/^稃?扈苕讅???rtakyi均[靖ネcw监痘铢痼~?蜱昵孜>6穨戌结u^餑o瑰蚠鯊魁辷飣+荗龓忹佚Q廚摹^蜦g^怨?|浙??~鎔`v肙蹩=槑筍唳8粑lO"峆B朁V鶀敇盙淘罃f鶣-?葥犐I)NRl隢4KX0痟陝g8瀹 p寅z幡:?&龅?忛g~鎔馥A吞?訕 倏戗v茠襚M尸E4=姻亷倈 g??Umt崺T€耄壝?. f`6擘秀巊瓥诞篵;G汬 Uel癣@覲沙i(4=?熸FA0|#0竺\挢&e囄7l矇O烚竞鼪o}嫏娺醣筮/淃~l玮暞_鯆筐诉舣v_鷥瘗w躵咨?廅贿眖顟囖弓踝鬹?]y讃辿螋-烚?n2L鄁\G?酪雊O啝G?R昊*病t_啋q\唽Jb氷枉?霺靶}砎Ff蚰剮?坕δ蔱?%禸U庋&1-DめgZ黚a\~zau陷哢詺獡Y閾:魪4翇z∑鄃鎤?供:jAJMD4 $伪€NP╲@D犠欰喣录$颤鹵?E暠墮 I踱爐罦 q﹔薳T料<獨[{ 算A?9S暽A? 偆げ豍Y埩"谍B',prI)?僎|匽4?ぷ嶫? 脱尭?谭@喓伜?擓燜vS笽`p芟/Qm_凋JS<稔}晇晓舴}?烔}庀|蔁}偎^r锝w葵斤??蔥~?~曜V棖锞笪?廩+?馭g摞綺麉_?欏鉍龐鶮x髅g;凡狐琬魲l.-疁>耧跨啐虖奎?虺?衩[粵烕昧wi{泸昁Kf=鰉樻"u鸌+颍 €9庞悉vz洈4悗癫€纎鄥8哿1籂^肎?/d)閺皜"▉憵桙|郂z濜{亏{%芔?呮:l?捼gf?侎,#n)-A狐j:KL 歛昌T餋遞s狵l <`Iz\)嘙墵遧彅Cd鯆1闣 怋?Q?^?麆OE肉N闂~夢鸠^錂戤"橀僪?3'G{'瑜"蔪U絓妈搹}慈亁1 蔼Ih陚7斿" 4赂誜崷輖婟壡yUl+?_瀽P竎8 揈V嬛篕€緈orP爩rz 誊廾,9ん蜳 2G悵奕EQKR沴1V`W饧7最觰€圊鍨1i蓼擇?茳鲵事cg箃鑫?|靕O淈瞸|akuasw玟吸給琺-8╨荗焳邴_r珞6址>皛楸呿?瘅柾鐬yh{~肟?髙鬃>pe g_騻踳慰漕艜辊#;犯{赓垲?2麛?c`戬??]?^?0??潎辝愨屐厹 柫{?閄 遑&掑 浡S逡?M 愑]\8)繦/鐯?/ 囙"(訸x妱嶳h 4羭?乂測$韏跅廄?沾E|抏2| ?v 淥恆?/F佳Xb慠-赧5R冏陿麑XH骮3摌醳衭鄮wf.廃e?hntLぬ+?櫡蜋矔_€Ze?虣€a懡厫襵UT#U啒Q疰収!?i? 42 L杧3Mv x; 册8筫笁'd?v浛q[k釰F]膑邨k蠲G?膊銚xレ?]%M頀嬏努2`弡脳|蔁~記军>釐匣魑崇儇Z_Z=赍yr屮?N?蕟狛|鲮+锕苻候柗惧锝瞚柚懦锆倦譕]?鏾谨姐鯷牺x}窚:荡pd~w?`yu闃兿幫飈^>髫郉口軧胶矡?齦91貹灪}?5w) V髡5愵K眶K岼魗a竊缨A/mwr鶙騙⑵辱0虏涂6N颶O揙潁院hv羨~鐆Jo8Io覫?芛am曍噖x?Se珺`S灥5紹粮I毦+@?;耆l?唣違?噿苾J'+藠憣槏r胆'苾蛪#仾疊浹V姯饺S譗h珟k (/>醝3!銸2- FYy@JC€{d絎AY?癇鈑h-掴p?徂7蕣`&鏪?艔蝗?}應R矂?鴄鵥F廪妺y鹪Kg蚷釲cy%揊]蔼場錸I#颽0O邸{ 檦&v龤D~妦>=恨袀﹜汀_ keP鹂齩騑_杨蹵焮t殇曷"竅]?ricZYZ?褴骬廨8竞傣???遷o迆鏺_>鲺G7岿脓N魁肪?齾7荐ゴ}跞觐噬輜]毓p鍋G蓰堪|菋^rr耔揶^2歿M凌I?曜Z殭氕3P_g+WBIj臵3D2=<褿E嫫鲇?7h>:嬞 朤s7GAF挂 覥\塴車侤J鈍P遶槝瘘珖d眦厡\yTR$忇;"y6[t$ 峟BVO魺Z綁蝇唊9:浳4傣jM曪荲]9v|*渍?煡]=y舯媑w杴埢s怿蜻讆諞蜽啭奎帗筲鐌?魁W奎/?髥准孓缃鸨3椫鞄瞲ly樨窞\>vti跄暄GO炜^忁6'Ha屭:n庴丽蔃9睫u?酾隕岿7鷋熷2.R]颽p&T灴?=^^?吊攈氞?Fg.q?蓘l胊坌3GjpA潣贡聆磉姞B|蹗3?勇纈z +吹b孇 ?`H+?4檭1カu[ 槧嘷_?Q饸Ii哯傼 K,l壬繿T~~!Y咈p?螭D櫧3LD鄸@??葌UB毣0═(8?(8B俾槺圈豹}恸杘鶘緋b貑谮罒ed賆[眙]稕V#1趼瓕儅!嘦?乂熇 ? RKY;6hUM?€趏o缹J嬸 M6尽7K畅p]Kw%齅鱬伈4坙錚锶 P澴槴m篗儤埝ぜ苆4怛制虱亲/^筸}弪匥?魑_蔑V流阕購麧?.9q洹岾雡迆e{迨?吆t糁c g痋埴~?鯀瓖W^伏亢降|裟蛔二晓骭z~钊瓯惘}翄>鶕~饔B=j邅秿烯伄煏,{璟鞢鏽袛r61N漖~6橘 婶oUD齿:畁MF圣~?罳?h[.挶f湪 -乶鎰Pc挡rS猝&毤*馶暤T??B說庨j淿惍I"5UR4髃狲Ot坧?潫?伒 m?m朂ⅵ?`娱T8R 3推`[7P畝巊斑R$i渑t溓WW) 柲T愛o揰颼懛堺嵳俖=V缱怔寏炸1KH鹡靗茷:zrum~p?捐?谲靖鱺嗲馓鉫踱鳊#W講賦 ^盎格刳箂 g/_y轢蟍X[?交皔i顽韩w遱双^簏捉v?m邴/葵y蚲齉? g嵼[彸?fFS印浳m環&暲q0绌n哽痩檰E泉?湃罝4~侟}=幖函8疰F4?Vj 2$艔€獍喧[J[$舦蟇??"撇 Es侟U?裩g3坉酛0逭穑Ej?艔?飷4/緱笖X偩>哇>4苰╫`ヌ昗)"辩玷+ ps鯥y跉%>肎0愈$u鞎@侣所@蛏'洰埠療糰╡僽kS 伋Z`梋,K/軵RM??,U 掱 倘頋 m[棧D挖爟U麤剪\5d4"绍馮箝Z眯瘌贲嫫彦晬G/=~忖馕埋ン椢瀆毣u韸]Oy魜誗m邮;弇;}潋顣蚦GO辠弁O,遈\檁歔\z焓莘炢粗esyq蟵`裕rO鬦F勝蒝Zは?I`捓$侂&佡乭籹妄潮钑嵟筸祆?€輗?F?楁v弆?儆蛵跖9巀3%K 狻錪u_y鹨櫿[|漣凋蛛^嚣滔惊_y3笄[覀冮?0I`捓鯏挺綉w杽?d迮莨#?坊覆頎柔0嵀呿G侞7cqgqykeqw?mie顟K;il饭痪瘇|鲲?甑缻q鮈釞g1襥H;]& L竛x鯗旀魺-g_p孺wfg孓p&?/宋堻?踞℉y?紏鳄燼ie錑帤茳/}烹飃^暖莧抯 钻|ㄇ鏴祝捓$両譓{);韑v砌芤p(6湁ax 鹾黕隈x>s8羇忧%6爋郾栍醜k傀謃峤珵浹~键羻枫 篆酙& 8頻?@爣 x恋曧嵯鹬O鏾ywgywki?忂o@腻濙遢单沟ポ歪?_欇噛綼骓鼌?绡瞲滂馐蓖莨+沇l狈?牾?皟t-3gW珨蝂 谧Te?!壄聪?呴cr援烧7抖{d郦筑i窧硣閦按躵f缂鑸6?*息?d(雚謖+H匆援戨W溠2 α靔轷嘷闟Sh┒灃"(睆U﹄J@名Vci藷閷蓓輆藭泡嵟?涷捱?硪孳势畋頋誡薡稐v禣lo ? ;v抖?澏脞馄怄キ[lf暗vj沿w侩蓘^OK7薬栈?tw,苟触醐喇糨Iㄤ???箓]鮑@滕1鎘g乒- [?j?軟戁嗺镬髩>ジ畻矄W双+藦纃鱎憓| 镡柞猳鱥c{辄覩咀v`>蜽p ??混y蛪蒤C鄀畅 K[|饶嵇"€ベL镬o劝hA渑公n笕,5爁O 泜}籒皡湲飪GK5}V紧Q毑蹛幎魤n洨]0鼋gH鏶_輫}y鼆??陛GK锥卬j尰>"n蒉P}4哆5 >糼xC柫^渳萑涩cZ峯?綮2惌w?筵訤伜=弃恞B濴4/Ew?蔺FR杜匘}?q鱭>嘳孄附?橯v+r蔘煩厇曆鄔A_qB蒶决ク?紖额 o?账6閮P墽螷瀅夸皂[帙竺>€WmP?7竫6来I阸[娤嫁陞A}O梢倡鷒藭蔷2vUh橙>B座鯄牡柪3C骄o颯y鬯涛"=杌}减倨涍狂7_聝歹€?oc踲@i:xX2s ] "h5炸崰|鶙蹞|┪鬹[ 鯙堤澷躿E硆ShK国b縸嘑||+囕a ?u魁Po迦純罐dl.愇1遁nO傈*谆躦輕7y苂寊M嚓R鳆凑M燸疳Q巾?昣鶗$郅赁7mJ"~躼狪醟km∵鎞虗\嘽錈繥1趲mε7螻窮彷㏒'榵禡招?汪 羕儂餯?稼 唼磉a{奎?k嶞駔~B诫m?Qw悁絝暙;閉鄌蝉瀅亢薰?辇林硣欳a€萮尼闹YoG?壣6e↖?WP咂d? 畑塖慷?A$嬼?墦vi7梟hΡ殔?廹BC校轣禪uJ蛌鹊_礕??[Wh稱冽l渍8憕渉搈€軉阂h籎D_^izq6QVLJ嫩炢Rb /G $頠巡沙*?停嵣FL鯔V母x*鶼H嘹?珶汛z縩旈抓??閁 ??l娣艀v-v7唑蹬盏?侜篭m|?檨芤a褖?鷚{蚄l像@拈呢染笙hE狵艍I?b tH枚 m鬈i巶$C-@讥背<贯衃叡姎"潢<Q銩蠸y 踤簼鬹 筪iI泊窐鲹 a&:s,洿芔rU?3;丏眾蒒坭?a乖9T踁FN5颐Xx钙仪I'蘪鉡箿`as 嶍^潧aI +W) #伥鰽《茐? 蘍鉯w0S??魀蕆#%?阨蝰z:荑鶹FY{请掉s霼?駌恁婜=衖累蘯伆R偺 +埸uJN謾w伙? F?]歔佽X O笱X?ef懏熃 圫!呪辶A搉癉@妤Q,# y!灺[隸傿驜玼垑爟>??Kn}K跙C挨t%fNJ疪""媯←穭唸*[u! 憭)}45娔灿|馀?H窼)1V磀.Y>嘊gWf"i;? o O投s摗煓吩 !劊 愻稢轕z<鳭W鐫褋鷍譨%摉RA魸 ?簊)烹W隂诩醒(5劅?C疆溟h菙姘I嗒掇砲Ek?酃G}尅?旗女o辇鷚CO荙s%疧廋}罚c<?j窑3甞蚪③1Pe襌[<4欳3h?d觼鉊2軍牱顫?桘)D?' p;1杶⑿镠钃X蘒瘲GHJげP贲:6D崘B柜i怣€聵a eV7H彀皙兏B迮?引禆 蛑B湵c腏!踍$仄? f\鮎"B遈T?勪 訌I≒湀!卝步禪訇"A?鱮,誵?3?`饞L<魡Vw棉 3鮠,uF蔨E1賨誉$?Ww靌Oh閩)JG遤P?埃盼@ǔZ赟倜巖e凸舳<)掗牥C觜 愭)l= 袏碞?唗 ˙?佤闾%E黢湷辅?:W?繁055霍5稕鮻4檙*e駦楟4r 膬j潩F桶醜鄮梜?ec堲2€;JQb/ 菴m耹鑝d5ê灙櫌沈侫妅 坈蒯ap硲>癝k鮎懧賻瑊a倩捕:S-廌唝_鸥 閼錊膶押}懪SH 浖因揟P皱l?\份v嫽嵵雥嚬D劊飅Gu詓湏#}嗀羘~=蘞O ?@t3樐!:楾\y0!|H諝Z \[/c'O6轿篐瑛彘絬?鋔 償獕狳V崍鎷y笺鸇鐇罈琄镽宻駜x?恃*q|棧憸 翽燛幠n處gl Eb€6#蛁?坅芥kS杺P朘bZD漻 暃L甍鹥鮟?鯿n働齮?)壯?~乭?))= =菦鋒菕?Ⅹ?5A冄XO涨W.孈S鑰B 菩蟉槭黅粠<想咔磙9猸r式`拿q|娑胴3%b€?g玾忯曤g?Y[J?s鎈&,?q携 Tn#w靬?镵蝷鱭"b蜕惃レ圎騁M箁I猈絁叫鞇_r0:偎棉畑h調bl_ \寨譳6C顲^?恁_R$:穧硩Y7 鷗?g婔汾0ち潓:e搆锠 繥N鱞B蓕[J鸂鏨@f砰泻u)秵忰鄳>濇€岏caK璩蠫嶊猝 怓?濯?Ee?窰农c?KGu N?P.欎Y?Q鲗 I0欼 與)?长T⊿=i2柴橯?@?斊 喲td驜2棨G9ak痔+?紼斿R襚C塌?d諔<;*分'绤 Z鑐€?\y襽E悁腨s.孍?齽 &懯j~\尦d瀭蛱mQ轋) 4?R誾飠嶀躉亴UyD蔸抻讘〥S&仹蝉濥9覴w╳睰挚%衉)??寂敫yCm?怪碻]3胊?HM9谠Gj倌kS欈饖F?孿埢硺?)d澈鬌vi铇孧@隳O?$W妜\u mR愚&U芰佲?M?Q€减]]?h竔埱0a戬? 薵'MNw鉟l?kp琮B撻G珔憁埲lOP篷V>鴒:骽挄尙?殧@$婝倡杕? rnX塟盌 陇叺2!验船*a蹄?娶,;R顜醃快肹?匀R?\漠D#?:X"湿脷睵1飑穲匓蟠$C梻TGz^孅薐铳?灰G鄘鷼2? x?\黁] 栌丙覝?篥橺藓綿Ly扙轭?6=硰徱??拎R?]-Z逍陳 .銊谛甜疘 晉傯{胡蔁涯s*资g啷倉p"e胛P?8.哗v{J觅訤F~%禖胛鷤Y&h婫3i衘|dePS?宻(茽冄蝦倢?衺?偵hfッ脞ハ繢?^蜏繷>m峚k矩4: V秗 U ?^CL郮?M\$ 汤Z恹像銌踂躋鲧D澩ュa脮YdWG卵K壆Z 瞞曞裍ㄎ繱賴:事欦磏惄炢D惂G0慟\籬_厗莪颟{?Z陒觰?蠤?I虱撣骱阬Fu堤?^w蟜疼藢?曪旮狐鼞6譕O殧0r\市鉙3耕櫉 X 瘂蓦腟c?拗[?鴥?H2<3I孰U$wCip暈?!]哃人]燓殍p!僬? XlG/黳鞶K f0 G 躧╆蠤%睸?c觱|姧剏-;(骃槱藇O?E缏ef >攤栅阰|y 营D翸宎`?w騠"豘杔Ox唣__j豀VP圖#:硵衂囪Nby劤毳i礢"漱R/窥歱绝嬁楲煓餯?3ⅵ欽l廍o-幩(?\瓶0t{执讜?4? K?c觮觰P?z嬀h嵽zP?;`躝o謷"削hT}瀅筎憵┆町s殰?绑(C瑈尙3堉?@悧モ8oq蕯伈胆嶉棐wC朗fz鶆硙虪DE觩艀w戓&造&褯`哮 X橸圼iZeF侀-?刜O剁穪y払v/D#/客s鳆┑h?8J卮#M皎/鑰讥aZ?毭耲罿N勂A擾?s$5Y珼旣激u9- ny刣凄 禀*&獹"?}1啧]吲"蔝b&甖 鸛g闔:霧の讵旍F悠},z r詸敃嘚}E?腞剌lr '敞穔?X$wE暡a競 8&]}?;:?楀.%yf8僳K緐槟?棩?7纸wL藦p瑙俍窑恝埠}K祂??S郂$爓i颤?吩濟T唠┪?冎}v鎗醒糬鉇灆i-摕 B莺颕hM#MfKk帓╠?岱?%愬k?瞹IJ啍揳"?%AAEh;?R赎??氎?G爍8?芗D辒Ki鰂‐iF9攍/鋾`d )莏枽j猀娷?﹋{8>-颺郭 迫|熜j?I s苝~煈匿 瘶z?鈡4>鲓簲觰 ?x砵囔)\s 砝啭杘n毦$59慂L匩?0IJ`喳?魁?鲞鹻颣句K窫鷋 o饶Dj捓$両7LW澝贼"n恵莀7尶I& \[ 鞆z-耯MV.d~\?痬礗& 躼 鞆zf祌E箧秷禭a? L?饻柪w- ?涶渘閴鵌捓S賨璏礷?丙.?I`捓$佺鯣=_/X€n梁涎;Jヱ ㄡ钴茣凸莨醯??l畐轵曧?b{w缡弃焐钨骔=;8煀?0I鄲I`泽1嗧鐋鋥FS穎3诩謇槦焄Y]>{铧懀+邴蝴籚?om;skW啙8彫塔9p\岍趋(=0n' L8鮸侙_淀怊鼷穧+}PqsG彲2鐆娑珂-?aX8}tu lmo璢^喷T?両嘷?蘉bg棷箔R6嘂~璾僰e泻墟秜}?穧q懵苈鮇g/?qr豯盥臿5仴臿麁艆啁产7I`捓釛俐╣瀜e&^[k碼苼\籹_xxa~耱众憰阵W唌贊E髧z莧辯蚰I紳9;阁n9uzc骝洰I& ?伀吾讹nu溿A賨\u泂灪約?摞s[荳徚磷}茈倔;俱E/|矜伟陈躩剓醾蠹逰cj騃& 庋鎲a輐Q藅M?0I宲踻8柤乒炀絳脈樢d?v欰{sv葓€M胯嬀H№妪y燋yH 鼞?礼>?}n}yn絶o遼笋[鍹鍤狠衟lN9{ ?h鹊幏q繳{.霓 I嘽顾U蘹袠 5讀蘃[ 廦:?侶崨鷱赡忥晿┈?悀?浇羲埙3腑R潠殫饼M髦Z'隭+? 曏K〖c鷫 w廩3cF裒硢?掴?{襼窐對岡牊@p斚? 虊vm灠yは??鹓"[鴿啭澝钿W.灮鴠啭}玸玚n頽.蛁痖趸W6?-,-?l韤麨鷶>诼Mi鋷佄y哇Q&黛\?悥k?'A冠Q2 爾韃塀K|肄驱踩诳+蟶柦-n-┈帶i求濝嬚籍m泴倍2n?4憼P{両観U咇檑9西綞E裮K!M囟弔BI谍搈_褎霵 鮯飤仉L蝪]F皳Fk龑7曆鉽亅窿矒狾笟蹶?N蹰鳋N誂 z鰌6帐鸀~焘c s k沰_瘗_?^)骒滞 C洘/铡扺玬g?N丷Q疤篖哊~7欹WRJ`Υ;yPget奰Up憁?{G8vxXq嶻m蚴桕?爯 ?啚&囄Hc偽嬂O'EtFN宮珴嬠捑妰 馧鐞@-PpG?懵Y瑅R揣磤页4鲋ZY瀽;蟷?J5?乄:殲#顶鲼&盢瑮怗诼A鑱筞涒跗嵟鮥}7m选u鷒o黖?醑窥??翻樽}葑}?鴚钸蒞鏂N.燓鬟4椟ン 瑝呯輚廁楮沎涆;脌幑w5Y71My(m儵4i;? 螖:l慎y倚螥-[F朏犅頼K#祫>-儸庸戚艵v:l焋臯颵犃VN鸁yah%惭 € :劏搎:D瞂U?kB芆'椕軐_x孂究Vz-彗EFYdE?謇?i栃O裶倐H=屐q彜?丸gBFm?j谀蔗懤翣灋:灁*苁B鶜殢忷?^枷蟰H唰;N饙ox?^鼕框W叽v弪晻?縰~n狺擒籺黍黍襭悕q頢檻iX??置Nht▂趏~鷁厞医^*M掽M鹴蕏H! UG*卍秚靖pB蠥畣髰輍鮴鋹筘0?帯U#擓)蘰+鷦}P圚?BLFV"*??渄簲+笚艺x3Q攚4壅nv?鸧兽yis哩\b:S\ 鴸議j%猅c棢頂qx鬸怃0K郹P?s1句i葲摁&斡gQ髈滣鶦?鬋飣鼾o圹W忁sN瓰>眗r{ck闶嫫嬵{哩E凗/蟶s3嬶jWH?斦\%蟞rl`篋!S0wJ(s9睆"?nii'yKIW€ 萋 %惀悃樤榁7@C杗#趼?3-黰 +詇~爲痻?SJo )=R:S満d(?繛孎吺耓b?jA9椴您F瓹?頫1步<剷U]垛RF輐);碬剬m?={醌_MひK摟,j膊虬.}V_y憙?k谀坩懤翣^枬轑梶ox葑!?u6髤s_跏W_<墛_8qu迦晔靴銅?遖娿猊贵>郮戈価J2灔腝%?谫,巩騏 €褙s盝繴1XE囍戋.傂Ic砲 琘Lt抇OF?圭k/4仐p懧鏮K圪e_M2敓0p纐溊)4髒e3!髓<暙 ?:負836灶u暩H#g⒑7H斉QJ鰻毆B濯T俯鬎?儣?)=Y9t"8硒珔哀(H湇??茚勋墦?亙A芥:閁?=卛?f\%c]蒇y}k跞迸フ[罡s~ayqyq蹁q6太^餮就8v麯囏簅v瘇U?廆?Rm页i刑?5漷怏盍?B‵懷o^0O膹~?隔_瞙幹M葲?揫.Wc冸dK湙韪w腯`?鋅Yy*f澖纨飅"眨6?惤EA貛Iu媿p裲.BD*疈`-懈蓞旹66镶s!橀-@?$=?撁琲o嘒儂?靐菾騜9??O岿7鎃?&7娟k菌?框?轁kv6/KL諥晕制苈N滚v繇+鈢[#蘍9h;*^j? b)?9±呄EH?l紿ㄔ鑈dD歴蛃T崪d鐴式Y佽470續蛄耯晶M$K汨懜,?唼紊/暆漲>窖w d夌醌蓏x磜>!肕)9芿%榃﹛籍D肣?Gn擣/B鰋晵+ ?盚欍/睆禐濨儂ioMzm 瞿k{鐏骶蟕忔斤帏涫鈮暸吊K嫑涆齘洒孛彯,摊,^u7m|隱擢\(m娫愋W)3n錷礘c 悁??軿q俙勻 囱+W , /H逭蜝斀 汆穠洲楣鴏利罨珝a?觞-惭鳘W绞觻F)軋a嚐蜫I ;!x?Uc?箈醟~?殁蜓S' 楃(谍Y剁.2鴰賳t邒1?!dd崯p S骣b縃覹Y"=石纩.a?iF鮒Dkt敍-Y^-FQhy*襽嶫g謇耫+3攨rd侦3倉&€隝滥?R灃 Eqda娚婁衂"W磳cJ彋>嘅?cjzf绐桮領X 劖噁潮-d cM閥2胄D蛂e醧}菁M_鯛/棕濚o?v捓%p`℅9[蝥}蹍焅9?孵倵绝來畴;[奎伔灩x~P钯H硎螝璅;1滎唤1<?炕襕垊S-泙t拵Q<乼宆I3z桐e~絋QL4猝寯k啭藥,緖尾紕~ 泸Mk$€洶犝9訆n 媄SB I欬w蓒?='fp喐0f敭綬Vw軤E dOn.炠N^i?W)`篸9糯氨濬??‐〇卒5?<昘AD!F;鲴\矟甀R7鯙gR蜒€驮絹濆9薙會険???炬?\9? 鐜,毐絪徼-s嶰浕醇p橹#W幭m_u硎Qz 對_R縏嬧5x桗?$9n?.雿B罢輹椥像銔J塞V?哝登錹q;鶙 猐赘磎渦鵯*F|1酺赬€q,7M%幮?樲+ ?灅魌飏钁盺 soc靓熉濨鮖聚諓PЁ啧]啧i燊i㎎謬 =醃L篙A 9返簒嵋櫫?簰M?詂<麺嬼?I`捓?p}Q徤b厞讃酕:Yy耿>z[s;???оn虩覆}r铠€畋Z)2g%唿臆郭踲鏞镂}(So& 芗妇ㄇw覰怓礬0~?k=S'枏e?鶜焄鷻燐匫鵠煾菇u耆駽叠鸀缃鬈暪S',v貧[樛^涛凛f蝜麻?0I`捓~妇蝂 鳽罆O卿q澏 ibQ窫翺紇|湴h坏皒~w{钊躱n^楙奔f嵞<糩癴own鳄"w蝪漱?2ь>I`捓U$p}QO*T4茧s鹢硚鬐遭錈橾???V <啕?櫽n}gs~ey釚阒原C叮膳}dn佈h嘠 颚睨I`捓?p}Q踧磺&1燐篃kc曄宵?;'忪z?蛏譯|失畁钷2w熘?r纥?g6键坻膜嵛荜周懲箷磲‰[煩'M?疖椑鮁塚{YN潦3wA\m‖眒焇=鮦颦磔吊砬z?鋄瓛菁rr-荖nmov熛}罘薚僆畻?赆葫 V薷讷Ej]O nZ睔牻H妙獿<琼(鍛) %0"gC\?澜^漞←I?B醍仈Z忕ov鑧(鱗達靬:?愽Db捓G 戅S? L笐楶颋J{*k捓$亙椑剒& 蹾 L╳#??I`捓罧`B絻o儔僆n&曰懸炇?0I噜%0∞练聊?両7R贻HiOeM?p楶镟踐鈆捓$) 鮪ごР& L8x L╳餸0q0I`捓崝绖z7R赟Y& &欲???0I郌J`B)愆琁^|LL?p#%0∞崝鯰?両/ && L笐楶颋J{*k捓$亙椑剒& 蹾 L╳#??I`捓罧`B絻o儔僆n&曰懸炇?0I噜%p印迺+WH菅阚圹)w跉皜麢3g?揊嗦 c+I\?櫉.g橤S1H曒u邂粶}^÷K庾鬃K阈孫=捄N侙闉4擽pU?徿幀猯狍缦廰笷iWS麂S)?I郌J噫B=:逗国??扛竂€=歯Kp氕二粜C?,,@/Хg蠟u嚉?{鋺G衠E'癒脚屓u熵1i ZH辈矀埐.]篢箮H[潐)艩A鴪弱豊觐誘鑈耜%f<数釃N&X%4昒5転:uJX剪憤嘻?~PwE垜e飡鍅Wp?I€n.裕ut?偋P轹踥?乼皢R然詈媓螡;'&sL鈁n?鴥JY(份v[謾\@%槊A @貓€€老惵?肧儋D襸 ?A柬mo伙钧 &A%衼J焩t$眅姉 她?ι檣dC:駫O濂%拣e赛f蘦B$3鉔灌5|罐}撜"V陈H cj鈻?m "┆L別R""诀€SeYM譫塾隴瘔?仜鮎9鶬9Yy聎遾7k嫨?虞u螖{ ^@u砒殚=鬈?纽褸J璽>C鯁脣唟C坂X`'懊O(be?Q6痏?S2?Nz嘎N脥L+_鵍J朏疯$贀榎?T-)?熹诨~:Q轜7棴Gi橬?蚴嘲豍)迡^? lNWKF]﹏冎$?駭!罄饇@%j骶7tc !F7")< @遴&樌帛z斋腀焫s鼁奝wd//\鬡€V@0禲峌價Λ楶[?F阤/{Y誀|?聎鯿6鮰M竌腹P彇f|憃?` U?樻7b(蛆I踚lF吸y醌_]^嵇悍d 4C??桷覘驹#CZ?栂KY臆服卑繮YE鷻哇鍛?陱Uy吜 f*fAp9 #智訇V俩牄\7?黷袴X秩謤?茪曩椣脂8扵籚S ?7e#鈫?`?砏咋S酴燪7暄1繢仜e褾& 絤F?MCQ鱂椩厡峝1?芆0趈g)臜l礃+4AE4 巭cgOea?敟?翃鴕媫?V旮T郯4 焖'蜪@薔陋鈮滨债?d?;璕烉K噫B= 帔@鈔輽@熈f璈(恤k嬱?儰FgYF?/?}dA褚婤氝5舉a祣ォ译ze]z€鼯緅^嵪鎣$KzR扷?嶆粎9氭?景2?庀9 躙N?VX逿卼M蚌EA@S<蜨殂?Iiil_@1J烗廪P呆c?應3? 檨穛詅 b栅 +Oれ阍刘雂}Ⅳ$&澂?Ya濤??]^葁笺4_殃nW?蜬b Dy捓(仜趼敠#3O 輘o-婬@C黤?A扆襈鉻G_禘奦тi矘蛛奱愦t#p?l糉?怓Q7冉10?c嗾,M蹢蠔囫oJ9駆诺\}V宭遧T腱VP灒`R菼7R7甑T"G谄Q涓8n 戕餳?+禍d1菑跠 杒\A-r餇o/囎籫??F&鐡{U宐T魂U薶存趸6祯栛D?仜 鯙[m3q;I`捓鯋绖z證虸&欲糾3q6I`捓鯋绖z證虸&欲糾3q6I`捓鯋绖z證虸&欲糾3q6I`捓鯋劳厇m2K爙~ qE鰍h+欫DA牤h镾猶釕B氽`yq鱪"祋wR?越痀吳翥6S-畈Hx/c?r禢跋*b?D\W眒鮱哨Re?KL汳Y?l?u煩n)_Y浦癯oT鷋?瀠咋寭F 躙ㄗ叠?匊A篢蜫f?絰遌耽鈣炬NiQ 7a,dh-t碷s焌在軴會iP耳取祷鉾 w?">S鳎楜 tn?? ?甖嘃襈葈]婭\ 礃?Z缟9萍9A笪v?%圲uP旝齙嘾齣洊Ъ 逿R抙幟絋柬輢d毠A{?胥w4挽猾稱)ハ-姢?表?@歈Q?饋t霧8襴 .6罺鴤?5煩昡Y_肕 ?|h竒骞|M!^橐础^{/K#c豔?窳Y?Kb|楷"~&愌帠抈珨W訔0~禝進読^s 躙巹D敵C(璶L邛*愎戦j枤G睝ノI亮 O&i痵 (<飝蟂VF恵囼T捉顄V贅楄Q_q!?軏┒乞&6# 4窠趬廁^8繟g栢[啁V壋XV跎A.?煎-oi{jO硘袮v苋 翼_sM蔹腹P/ ㄑ攫吢鹆2姎┾d缺=B@^谜X?4澍搮-賄z跃Se_迤冦?喇齌 讽0诶?飝彑柯卜踀やR?軣N絋A?黈Y?凸鑫w?譤2羻Z素`?$亴'覊W)YR捵域&F廡龅Sa湸颽褓層-7<]迣鲆R曜N* 7J橳q茯ち毴N锻N碳⒎b2補箞a堀?諮Ie齑Q? C绷嵞j垾 瀎滄S\cP騔u幚琓P5phW炬5=区Q <搲珴鸗常?Adm摈X5E怌奁6總в鱖5鱉K珂B=A関鏄A丹l庥誵煾l眴]!]书烍畒LMY:渨賳`D娩蠸蔬@暽苶V导fP郬鮓Jf#臄瑱韬仔化Px噂4债旫殰櫃嶻^竕NV辠伀QG湾 襞膒嗾婦du鎣勖54题~ ^P}5衐胼磆u?~s〆}d嘲b騞驯駹肫笺宒鯼?W P(g坩祔苻健螋7c[A鉊 軠@p冁t]恂t!Zp&#W`?马~?0?|M:母鷲+⑸勎頂挳%朢Y(玚瘣v胧?zceN?乬-仜鯕爈a 僔阙簍瑓?味?I恁嵫H i妯??/J霶 "\ 鑭c暝8堨腥1?`憙OYX艠GM&笎B3膟滞鋵恽箹?侫驻mX%1'淯/U怢pNh徒f @? d严~歙怽.l5?z驿5D?斃蛥z嶬=2鈽lh謺惭C)岻s珑幄陏鱀孑g飀?鷫ヵ?爇憵澳ョ銙惬 8€饽|0*0.蚋&}鱦?恞5躋喻斤}I勒礋砉添+帆袵\vO9氼m鋉鶗_仹碲_H疘[咛Dn.詋?迳遮:$攓?}8幘睪??C嵮苡0[?荶v7?檸G茣9萷X鰱?Z 竼+W? 紽兕賐垭b邴駗5筣嵕j狽??┼薩嗹峺?緳5v?仜 醪L鎲雋鄴/iZ/廪i瑥釿^攻駽e邊挳糤%瑫鉴~6l&腞鐚?鱦td1鄂T甃浖i榯D?頽凝醱偨鰰蔮皴繈)C芥犌箽瓢韏騉J?掦!@顲戱C翠棺厇m掰Q籌$p印?!~峩>r綃ぬYX?庎&莀違P?彋Xhk蔅C+}€,愹骿t側Vx`宬??_WD毖宮滛F.褏G~謦碚鋠5傢枝$7惦髲懜H彯?螃U垛7闿瓩忙L禤??} 謢?筞f慖逸O?愁丧秕R椭?yQ G荢斍忧鉭鱙 S: >#畢8zUTY ]X艿稲O怺翧?iG5Zoj%4K犫c[4億?;压9%psu犳F宬襚棫蔙鼍慾曭缨p8S偣jZe实箉gg蝂L\Mxj 躙→斒?勾鳼煨+媽嶃歚3?w宬?╜{漟魛廏塬{3?I?'仜 ?O髦 忞悷~?朂 烚吤?桿皺杔s蛚R鈍6Y櫘I? 躷℅i莔婠??D0囙s齻nZ?~9作砠M袹`濒s讲7n:裕絍?镔痦賺pe 怋癮鄐齻n@.穄隿欭h?倮裝閝i駍街7n.运%-@i^驒逗,-(i?倊独?}蹬14巷绍k錧{, 4??]賶鶝V7甑 lT譜~岥M=齆P杚醁6鉍 穬 l?E?B嗘恽功q2摟usO棵L)n.訩Q坳N犝??h瀻鯶C嘀庹`鉵聖⑿緷jU嚾交HE"襜W 秼埪勉?qklKD苷wy谒Xesw 彚恌墁鍐芆怢F鍢}Z峾佞艷?7阨咕1?夶~@闝,阦繍栚瑚檥_?蠡?0t`凣?[?甠?唫砚鳴羑fvj莂隝F榾嵫n5麨f鷳a" 鰽槍b:$ ![?︼:砬G郉诙?莓V嘙>?腹P蛽帐I9E簶0韵~!艑烠?康/v鹸秙|"髓g譄熴??X'7A醲V?`^霈?U3驋?迤瘔{韮铵璽懢檟>.f膽<)A7?鐻哉罥}8鴳S-n.?}*荇祝4崚?籫讏-再b崶FvBD盓蔏砹%X?艝`< 僀uu8ゲ耑茬j'豽哱OU9嫭|~獢?`3酉畖P亹櫶^ 鸫醡 ? Z桕P? 8T聶橓垜繫噝?U谜Tw糍?嫵絠澃m幰凭循p塥D襹fc麁?I邾菶螬z熔G 嚙3┌X}?揗 m 鷣琖q;ざ%谆啐睨M?zm8覎荾z4嶺G嬠S$VV;d,:<铁q 躙℅?v沚劅4翅K$x蠄犡!W?{⒀X桋G脵惾T1肞x俐卶蕹/awl.曭z圐<'f`wU'借E?AD 韣湅昼癝傩?俁铛崚橕羝濃лCa啉坅殒B絴鋞 $卐?]硸 <錸,鲙遇若稒Mf懷\虆rALz嶵秋骧藋徛a^6V-貳|[巭=F_2T 4 谍?"m~?(?哬梔n辘悻頖尣M9$腹P廎qT?~7:z2@靕6役 :躡pY朷S括Qf蕶a襆估椁莢"艨}I浻8凔&e)CS!5鎉醏太W縰Rx堖W靍r撘;&忕揎荗)%撕靧R?荕壀Ll|腍噫B絨* wFgl阷耇7昻X椯R苬椭kJ挠`1]醮4)衕Z4D- ?h誸DE醙A匨G窮螥曂??? K;?r臷踡〃'P7牋Б' L8$楶飷4哪?両7H贻 AO臠?pH$0∞!i垑岻n&曰A倿姍$0I鄲H`B紺& L╳=3I`捓!懤剒嚖!&6& L窤楶 z*f捓$丆" ICLlL?p?0∞鬞?両嘍拞権?0II`B$瑭業&欲$1?I`捓捓剒7H蠸1&  詋 神全6~庩6?槛 ?q肜Y;V读/ 泯Fd錷i讅n飅璊l#鳻髒$`侈?弧M|G撹鶸瘊⑥h施纗X寊2?.'蔫?n咻$tg6?o莣 熔<%燅e[F埤窼~滦N)?z纨v:Zシ%::@對輳=? m?,4鞝亻?0I鄆J 糼楨]*划柞E仅W12"`g璐焫#俏M?堉乨N穚r p!1X _榝€ 炼2鲹嗪: &5H母{耰t Fg; 茧h 蘊鰜曨?盵厐P餰?両OS乚gQ裓守塗烤ě?I!h?漎戓Κ費4?g臭_ k倹蜜'KM牱劶?;Q怇鑿蝬TtG濆虉死巭%pd禅?墎Tb醰饽tM??%K[o?2 b猼?墴鴫:€躜椏鼂亏{啭蝫~?r#饰 箬k况k库+劲全馏蕨酦c[CN婇dg热衧祠鑮+襍碆胡wΗx壊!j1鐺蔠疽1咢V鷨?~)姐\珎B6疰旊j眖4j鬏w焏弪Hb年圻臊殮鐿鴪輎`[嶈0淌F譤攼裢o~鬀摁ΖT諳O衍淆芟骄ǚ騽A 虚?茕\?聺袌{X撜竖m H5r&5iP\杙砪蘁h€忙?絓贂聧棝33襴鈭百*棄7奌o巊訲S釯?rf!>辇cL}7j澶A靲EP 豼*J$葍! 鐷谹(w8>-MG廷躙 鋮璉?哝C罊2€ gj鎗?x洼F亲矟N輡Ke闽 驗i邩疫爀箍琬鮥J滯~}Q/?;撵]艂堾'╦ &YH!鸟袖嚼KY灇蚳鯄3咼 Fy=m^# 6奁o湇勃蓭`毌p? LxF爇{Wz旋綃m┃燌轘饝 Dg?溃w笺Y^賥M5奥貎 胵9棽7Y,粩頵3?z瘊 把?銣眽纬XP~s龉┲7ǚ?:姣p讄 0籿珂w?魛Po泸懀媠;s粵 owksks鳯M淀+@o铞恟穽糟覚资鍈7焄?贵劧枼縲e_@柋=偣齦鯿dl,k L鳫旲v冓棍M艊曱M壆焯眛,絮7漫实3钧楢(顎纘氧踉i漤熵pe愝墦K薌6穠z讻a鷽$0I?H婪?>恤許铑瓠旚 s椬?眝|毜锻鑌酰厖亃驞?犯喊zb{g彳鵎;籹s ;sC`w帲n輂X涛饖橚& L8$牁q拻鲶蛑鉌\傎剀稕 翩橕:跕飅堊 鍨H Pon瘤肳址wW鏂V庂箂eiw蕤vn;髎旅濑?7 漪7I`捓a捓)i?轱揆唞禠π椬6痩蘛?宒]暩^¤^摭W革pq釹硹间%宐辙 寵爸6袕俭]飝氙飘ˊo陒9|h椓嚜泗|捓$乲)丄?秆d庯|鸑?頽/l]^殶徊祍踋蟵藿鹘蛘鬙y嘻咘澒?蝬X |纣啕姉监檸r窍忡 w氌貘蠞暑欯F鴢礴~轫嬎G>~6勔L鱅壿 ?5Pl?=跞|"蹲风蝄X;s鳇x'抉+唞2pm慖<兗s短頧_蜈漤_O櫮觹捓$丆"*<屫6?炦>f妄授軝砙g蟤<狺刭鮃巢肼尧 幘w7缢?€Po6O辰9n9箃dan{齁IRR{Xnop譣赯考硑迦尹?豻'踺赠 k缥]◎靡譋C緝诫 鹕5泍?w呻栩鯼年蚣€?臆\铍椃荦碲巂s\>?8E锋.溄校眭鲖g/?w國谨佮曂/栱签E?〞7?0朥x鴜岵驝Aü痌樄r閵;噭I鑱鞂?譍F挷r?遁7?鲋Ex囬私1鉽8??譆耿/M鍠k鋠k}ksmKY誘輫鈌糙伏癚|uAS^=3R.e5\1?0?謖?N險L挬纛襱誯p?黦虋?熻\8sq(h&uQ9\?T?愠痚艑W袷{胖晛I) 厯O岜敒菼腩绁s蹴¤Y噴哎苲嵰P?蟊D1祽v!ケ煖{酎鉈赜[龆閄b蔀螣?揺勚/m焁Y薷x鲽步=甽]距緢壍 菐  犦:+?m芒棝 鮢奋w慌埂?m畂=r?嬖陹 岮瞫郢撕霹[O罥/摴椊瘗鰗蜩貞跡輣笋K缥桶坏?(生錕'VW痋?臁级vruyyanU骩隦錔錍得枰淪&漦{?'癜燳撠濆訯O畔洪鎚'彮_緗泸?"'帄垮8??钛G?c薣W甽o琽?|r鍔\緊虑WQ8qd 噐-靚湸楈?妑筭lOOKg.lq去铒{骰誁4齝它聋WKb?K'?[^娳期牏dボx纓s腐蘏????镄??訦 +汽U觬蓖蠠9#^鼃韨长tw溹笤Q饭G|穊栨圅R:i港Irya鏚螓誸阋y鈣傅懍艿Ht恒\烜'鶞y蝰@稼滯~下闚C}?圣H拷緙松U焜摛潁鬛-甠hYif渙囗萳&蔾/渚?p鑤梒栓?e蓞?9h5{H陉,5?鸠_镼R&e筥8s娑忧J锂_懎謡臁嚁ツ∠豵cec 徑W=曻V{冫gy[Oi;?砍酡{锲'宪~ }兡斜?F沯佶蓓 鞕躻?櫰-蝝巜u褞?盢A锡&H gO]q?V累捂馽Gt荳?c恝??盗?渞?S鈋J镋y褴棋 鬸[n斚?腧?廃鹁姄8R忘2饁?w?料鹊瞂阉?穨^<殂玿惛釪觐J冋H?"[e ,-炀鑵蠗@ n?/绹蔈阤/簭齲@Mq呃 E測w習Lbi`ln[蔯攕w 罳P鬈y浤DTM(>H嘀[N蛀搛V韨+RMV;k頹?呣}醉璜鸓述唽%;麒C夳E譯lhw?-榣分Ib,?掽愤鈳=瘰縯馶q?q烊铈@Ai詔€倹w邁谁'?喎謬厳鎘馇厠? ^€p牥帶.圞ο 骷S{憙燌蔟w <麌獯鍸騘C繗eD猑岙株";銎n,羃w迒=%"v?湝旷wb霏隒|酪轻橐螯驃潫吨7n浑睽厱!槁数飤忹??沎胓m獹?q蛟輓嘶悃o┯奋*^ g螴,铹踤g衆緓ia迦}/x狷咡d$瞨鈹?蠆BJ`c硎騋o?K嬅E囹24Y0"鳼Z8牙?Y籸鏬w_箃鹘@^颞屡?~n~0fXK赴,'z瞈隱l={nms 癛~摸パ9z驍十浉檁竱e窼<舁r_鴴椌鐌飾祆臟G帩P;洷曛w軁?/_抅劊D扫悷"釥z艜e宿獹斟]锝?:鲷"C闀\?aX@景讣z硰=鹑>訧W帹?2畖;眢⑨鍂?窘"#着祦揫n棵v$烤尽 鯔 1€錦紉I浘齗飽Q^=秺%F煷庑娍?亢椌之`F;獥vF9鲳cg4?皅蟷/0?4宙I<蘻谛X椬榃赸X!奋闿*崒彍=WK!.藚KWJ糇贩! 3瑻n茾暄摟O^竘伙潛奋旱cg稹?痮戂`鹛/鲉洘;}q蟒@燿檑nW癀暐K急玽$賁xxs叹U"绰粣n~@忉?>胚~纵x栳俏滸S?z?"o}踥杞G彑2.傩hx嘐骙?q镞曂-礦"??笮vqi稕纴嗵U琉`f耆?>眶翝g啽邡鳄粟虘迡份qz簖?13Ca懝D%o积苇磔_~睡?h渂;迩膞di未}膙}  尌d>{鳇w揄?伳;1鴰ww{飕?笥'?鴦N?s刍J\^Y烬觖GJaI|a摹肱K,d踟厠對稊XX籦喽bS?s5濑蜩鲩h ?斿Oz敤幰岕 2$[Xb,六Jq,垁擫〉5眦G疥5瑷?2趑馀藙迭v>噦抟蝌}/x戙牂d聱e昮 \^罅鬚R?X牡I詯P瀹胐捏XwtN遰0%p梿閧挶率旯蠟籶蛟眷墓mx4UY媂=bcn!蹄'N愺琄,K(,踮濛HF?6秵f萷x€m脇?$FS毐3\间#q/迏 つ捣?薠/t0ΣT K喁.翳<梅}C=Ju題 壨跅骼I犥S釸嫛埑?4伀憯e=vV活憫@.]諯禬昍`S▼瘇蚹嫅FF轄F|F+?蘸}鲤?墋缈齱惕`Po婵夒?{3[锶怦c+?槏|Mu_総Ic烃7:蛁譭kH氥鐑=宯裤it戟7雦tiP苇w怼溇鍠|Xw鬑佡RI?`n}] 啛?z稙D鏠pr吙(j4閽舭m0h繬獘!尣0@槉働$ヴJ 2?<狥~C囻6 ?厌?"PUげ z≈?bU?=:? 7~0, 蘞RJW滫J 峻佤哻莦憭捞Tz?x4p驳プ駀B疒8?j畛?4nUS)K閨]T溪E遾Y?dj\2旪顊顟Y擡c鯏H2 (n队 ?:6噞舾:@铁6bo麽5积裲w缆 闞杇蜃╲餦铨?嘷?Z蛬餰/?苚::?q榢飪=`啿uX裮2鞍;Lb蘜4n躕閍襨a~Q`璧?敺?やn藉蕛HV哱亘翡3K?鴒G视橳譯?C]n豁枊v?L^觚猣>贘 ?y鳤uQ1 J脅D$櫑U_ 袳6∨6TkMrNt 膶wv田?扌"褵斋Y娽懣ZVABD躆(傢  龖u┍粒邓{戬Rt曊#G怑撄蹣袷赯K,i递瀆M>晜堈i"R?牞q籭慾試濯?'瞏琕?嶿桳[萫?FX寎}鬛1埧鹘镯uUIF 慗兙姶KV词.W耶パ譂?橗齍∥0犾gG$w@腯 E詰玻芏{?饺,瓑縪W}腃g(K)衁襵跃碀BU謝絁?n洽室 V(弴ζCm裯釄?燢m{址菊监x@猚N迓砯w)頗翲)Z绯幋区失鼇?>>痻奴^酹7坚鸄傘L 鹒7免g]喑蘹0╳5fU唑屚醠H装熁?窰?豿?<暝媧湄鹘蟂?彄浀z R/荠?怓)扱彶齯觍誇M饮鮨懞] .`/rj0? #(I _*UEd?f涄籧? 诶F轝襮妈9?%湼?烡梡\i鉿$q?Fq酘*岰樟厂漰?+I?? .1〆塳{痁?*蜞*珄?镼钅(唼龇;MeP涃階2r老=X% ッw癯モW拜?5怴揮5娔潂嘥)膡塈囹]飠楌0.櫇键窟觩筕 v;^9Q(]2臮)t谀踼肚 肸Md[?v ;妬W窥?鯿?僈疪D:t!秖U囷A廁B腴靹\Y?X 谰0潝z脈葘78玲b?€E?#k?覼5sM瞌蜫v歄齃|?躜鶶ooW疭射阾?隭A埃鲢Q筊阷R鯰s蔋IPdD桀b鬕Jǚu鈿?X,y4纠C糏;?sbYu螟讬:>樬牋 僤?酘殛X肝惢殀*/]~奣湚骇朰閴x ¨?姄Τ庑w吟(#澨]豓V毿δR蝴罨軾胭&5臅mM摦fv鎀羟醢葙)掂?*伊, m8 ┍?﹐滸8JL"曻瞠VFv '赎3婶祈@t褴?檇乥O Nz囚VVw,臤?n,"?HI菝鬓鶻a窠醌蝖?缏@#徠CI&P] ?1m逢枱L3 ?N铁EW鸪摂kZ 鬓ㄨ钄惽鉸橇N]-江腓賈醵膻缫舉凿i粋鑦'?:剾D韫{vG|6G快赵?z濚.E!R貭橆+煒慴 +U!迃~*斺偈扻 GDHq?右?MHA鑴 绤嵽+兆O暵@2??┘隟 1 尖?弴囊Rj瓖Xg? 赤22絲=廷?謠睌h娮[:p蕰羀b弼 鍀淂9訡耬{铩€2崫y攜苸泯:鈏P将顨$sW漦圝92J齄瓵蟯窹蟫n#\ 0/^侱3紱M2悦戡閴^鱎?)`-N 捶 o?蚐L]袧僬鳥8嘠蠝€r甄r際?A?#f糈p逞D諴哫4儷t瘞?铍撸璊欏璠W╪濥Ohz 腴F=?圵:尚?笯o鱊Coh?蜝??}ㄐ>wA蕙嶣悌EE髓,#1釩R\剢?玚`狈剩Hb罃{補?(q?膡?闐?╬﹫F术 興小狀?j恃0甹価鯯C#雐懀?Z唌 %龆杞%P榻樖h 禴舣烧 N楌誹窹镆e?趚 !毶|岧3=x逐z灝牓秸髮舨?浛窝{? 曅嫦詳 縹 F懙L堂-梌l塛镍蚂媷冫M??esA夬( 聅齵び|-?嘕.x_?蠲v朒?R畓m驪g猣缔kPc?裥P?U勫M%&# 暑}衼燍鮑'牊茬讙1*簜j?读]毄怤猀x鋑呪*鱞誌>%htYq綎jP难_ZI'S/]1竿v+Y=瓰飑婷淊岀€礵j?=0鱤m劝5D臠o斞W8沵赥V?收?7[/?V?浄 f庾惾酈=嬽液 >67唓钐纽?v鑊:+g堙s7?hw澝+.桵蔣2室=RA)^'x@9Oy哎玦N?鉇)yZ佩r昼殫蘶hsM.?农]葶㈥5arh觡E铓旭Iˋ钬說麪%bF菎0蕅|~?\m A軼c{gq敩?颈莗蔦酯+]?佧豹 4翊家怇樾笰G4q卨疓?菓N臮_?迣撈臮0P損d]q p僱戓l&-jM駾禱=璓曧-2溗8樶倡奼啍媣?:5Y琭麑U瓻窐仉>炑q彫{F\ 幣'損-濓hf.?%撔!j2"%A(V)U菚a(唼V悒璣Qu啑珨瀻?6趶 蔏_鲅驪逇c溣▊{揢P茺: Y-r?&遦5j卒Rn/?b紹哞%軺q锥術六酈綍鍄N=+WN韭艳z !侹R贡^W礲纡^溢╇?? 鬞崝=(gR6怓  U恗?唍竒A悦J& 扟g刃+1?湨U.3搗 焴B@iC舮紛〢?d"Y?}5~b燴 碍B硯T償d–鏜 逩yVB糳嵶 C匰0Li驀Jだ貣%Dㄨ2巚h苨諗X栚+瑰睊譧Y ?X~廭(7c 暺 BvYW壱4犖鱿桄啌K傃/﹫裌(遥PP痿n檨4?柆MY瀃8\╳徕鉥Kr禞 鮍剩氩列8=S4J肺飺褩瓷R锆K衮?贔U )L.?'KD)Gg唆?Ya翔耫v妠ョW 趆{_>5?k@Z ;€pRxKu麕?8缮榩蠥VF憡&▽?U  {aH塁bi嶗圎eW楕'a嵞 G?f程峄敪籐&.暵L圽w<4m-/鑼T訚Y畋Q. ?ZH焭 `5?﹄#X 鯉_鲺覆嵰箄羝€>&嫾5釚 璧簙歭t#o懝a,)An萜吃唝8:臨w姫h踈鄑#k 蘚覂硕>* ?B蕈攨?E{ii#R贅{}Z譐谥 賟??-(絲e圿崯盋K@MG3'S 廛鰛}闽蘋:Gl嵈熃i ))洹儬J)?&I2鳍d龅F僜蹴g农r頴l?}%jzヤ:L诃(l鶫欮鸫櫀踕}?>"%p鼐嬷和吏 絅膪鞝赞會原_霾?Z4勧7,€b檌4伷6 麙許蓆}Y(捈o{圹粕;*M?艵錜?:朏褨\阃f鴻鞘晀$t/耴w饎絓]Y庲y葲葆'"hf諹)7洁j竝Wy頹?~l鈧2? 潉 HPq"{薾獛 8F!@葤?∠`}羭Y?%BYx氚D糓Vv蟡厕7釻-唒n嶁eT"鳟GJ瘒x4夶3搈^鈄囃峘2瀕綇Hほ[┟厇g蝆磀f松1萁?鈃(衻E噐鰺h匾ò)<奃7~鮓5熀户zz?76顊 陏裒 覹z讬t =裁s匌:峽荪鑂顖?鷩螝?e4 繻)#?虚=璽}7畏R箈鑤1釂?費cKP墣%Hm鐷搧恈>镘?CJ&⒂?iPK衿!p?蒁f紕_鍟??阭羛 摭AL蹴HLWD2`倴? 藖誽琉]覆T扽瘇6娤焵V?勢歑3I櫋椝 G j?E樍禛y俨鑬歎UG2鏍 疕?Y:聧H潌カV蜄 憉翂T.,I溸F桗拃膠濒jzk鎙腕Pbr€讔f苙6鰰泪B絚G棷琽煘.|P煹株td=関:慚磜苆飕鯍訳咑j譺?萰x?.u,g 炭摕;6茣丵閰兯4?岤驲°E澪T擀z誫T*鍖垳頸x鎵{c_on!,隖-2^R<膃罖繻q?yUp2腅&y競麱_箋J鰼^U僊Y:y??虙7y6 釩L贒>鋾樆S°f3"請VWMyc^殀^?黅蕣梧失Y?K鍅げ?fr6晳?%q鶋T?D傲悧[琏幊^丬y6鹣諷柸F謟)!悱顕`p﹤烤h饱2E*'o︸栲 ?陆]﹄)$p窹ok{n跞夤櫿僫}參莘j?Tёk唛敥n繩'葌=:柈鎧蒏^"伯f4截翋頔R聇中6Nj9巶氲jd?Mnx谯[滋PJ渊 焎W 糉蛀??ll?M?砈中!;B?XYFら獰M萪c艭z‥r襣閐蔄嬞ц?7)% ?!乛Sk賒谼耿q壛透礼??=拧Pe^%穯嘓;嘼饧鞀?!F?@s|竓釰L藿^Nu?饆礵躑泣?惍誑便"q1W蘸懐抋U繢咖J朮?骃?觰5 .杂洁D詀馗洭祝寔W軶隣懄攕7O褹G廜C您囄N錬觘舩貸焑脏庞? BFㄗ6瀿3!E獟d?ToaA鎸k闹?爋%}悿^r韚O倨1x芞呉]借E漏玨?壣"&鹜?p舳Hu砤K壂砱Su諨CE慏年 ,矎po慕C臔瓀RFkN懥GmUont篺U:觐g丕,呪呦岟喢?噣R訵]摒?T邐儌I栐h?轉?E訦J鬓傰蒧]毤q?脊;?NJ兿^~朮g諩饕O81Y7Pui*)YYX哓9汉嫉3址n4U呀D媾?鍫?葐煟?ゾ 鑦毧飤骰ZzJ欓O磨a 簨d"e褔鬢#_戙臧挜u矫嘲2翋mx%PJ褱?Q!婬zj涤锉磙蕦 鋔虇"(1o{圹h8摌(2"騄揕p,f疮篾j]%c跶{Qt|選h0?J脓敒z4? H満qN2櫹X 蜜污M虿忺&C缰%奮--埕硽f糶岼呷?螙6墨擹湓k鵁循.瞷跇4'?峱u`▍MAs崎X?怗B轤鶗_QD幣r疐?<-峽6鸮夫∫咸酈,<蠬惈巈峉冃F@ ?鶂[恁g 渖 qrB1教砛P蝱G膜怸b?j牸Br論(筭遂=G5}+齣 毷榫鶎?xj骖j碒sFG^BH軰?拞慺冨L塁?砵FS眩螄訫鮴?F?cc?╡5g殔闅@鷓!: M昀赲j,8吺炸PiRQE?湿蛬鈍焒鎑蚷堮驾F躖I鹽r2W(懡?,KnA?权显b糙??砣JΛ斠??痡?椚?K謹椑薩h )]W粀U烽y犍蛼=M?瑡霂废V夔:勎4Tq5頯毜&笹Z骄B挲篶c:?w G嚃葡H肯穽Z?祃R障槕 绋6類+pi8右皚蟵諁S )T彜W茇賜?鹜<,S稽_罝ca?趻咈4 g+10ヅ瀸 蕭费Y誅A|玸r喥纇w(]Y 蘆鵀杺*V?緉7+R?嬉4e痠博{4 拏lX珼誸t4?qFto椌┌Z湐绩?悺鶳陶薂$f*棆|2焹拍. }S惮?z]d帶趺q紓諀)- 覩m廡5U湤焱?伱厇y蓭"F咝gk€].硌H上扆? 諊r侾旡枊Pūj9M粑?霺\*旕埙MS?f氵脃叧m dm﹒戾&??#燡JWB舡匊??阦U瑤/汸I 鈊i!cq涑瘋崷#>6M?脅q6蘂妜Z幫蓌s 嚂阃鋭赨鰁1窹軶z猜F +tN謅zC-?K垖偫?i`[O蜙¨BGkn_¢M 佲A3q萏揍B=cM-糊窱U馑諘綋赤t攓鞇Q 昨}敱N﹄孋暁_d/mⅦ|滾<鶳ψG3通5?椰飣4孑敒c%D弘簟m6赂(o溞PJi!4伡?敺I闲M 唵慕BF6$葇k檞⑺禘柈們t孈虍f欵璉C閴?弧旼罆義鐵啶\ci妯煴仈""e杅S嘨 ?軅-峌峝W\ T厔<e弘6ā湵_C'X鬠0w勀-滔0 P$hV!-'`X﹊pU咚棅C諗x4 W ═?透+Q獽鳐瘓4e+K漼篐鄍∞?G鯗?骮骩黬L嵾{殖胗u_潱羒槖2魭?覤秥7zR? 衘讣6L 纓;琴鑛嬄8魫 呻庶L疊e篺3墸馯?Wx:ォ嚹銒=廩誌猋岯鯦FJ搸錱摊擼P璫@胐>句悑?X Jhfc渜9q D跼E]r澳"=m+7:鄃緵e1X聚39箾?{梅S?鉋拨旜2蕪頱bH摵i^棅?孹I﹑倲攫咁}諞_越 m?_塙M鯜颅t媿i牕\€I| Cy链% +忭怠旜O"愦8抒腝v_暜"2賮T喻戾?垅洑 nC檥?脌礜D?g?},`U?跬dT瀬l:宇Z凮熴槐漼~~b阛瓒[On琠^?鴌睘GTq藲Hz硬灱企p閰鷂嬶K惧-o憛P樦s襏? 糞\)灒J蔮丙医J蟧`5祉{M 徖Ycp?MspJN 6$?鎏tR\絇鍎玄1k艧猠??~[F?冩扑?瞣?+薍笉鋁旘"X曆?SZ畼 V氷hlp㈦汀櫜lJ彵軘壏O禋~﹋1飵r槬嶄蚌錑2bl?<€H籫?論卶嬫憄沼xP"i睮,k軴mF鮯鮊?斃酈=f KW幀?}搢文斝殕诵 \儗薶蹯,?顄=曒ScE'vr?5Jm釻q}鏁y杖Wb跇鉒d潧蔱梐1秩珤道 p坥玜E+T.r,翼蔶斪@廙蔋株矵┗d惤繛6ZG巿窍扟q峤鄴1[??亅x夡B$*溎築?宿魭?e>&椂%杀)擎堽擓96t羟蚇茒^┼^o嫒O??荍臔踇灞頢?H鄍∞a惾拿$両楶?粆иM?餌 L?鯄In. L╳s调T跧&詻$両7&曰冠{$両闙}`捓$仜K贻\忑誺捓$ 酽>0I`捓? 鮪瀓;I`捓剒S?0I噫捓剒7W{O禎$0I`B僵L?psI`B經иN?0∞& L腹$0∞驼轘m' |h冐璐權窶d沒?瀂濮mV悔尔^狆Б' |DI繬鷰吩礗俘nOU'欲碛舔櫉鶛嚟:摥w豘d鈍捓sU焥R啉F狰設掻T讋z嚜9&f& 鸷??秜贩嗿-w顆'mg{矬7C三L憮& ,;Nm范秬Zw#Y鱹+洓?[?e?汉母{>g愾岭函a>訹Z殶_* 稇睑(溑博?I壇$ )刬/毣橛L^狅朄9 Q案扗( 〥擻??惆J暚梪∟ i韝厰iW擗o?_騗? 4瘴灜∩MT€x椎罨彾rW劄唭4`?=j圓7巵羾樬笵^z?菔?倧狎?叻oP ?N芠瑄⑨F(??廫€邸豏Y鉃拫綤A<|>zV準劈t钀4;荐垽d峢"{鄘跽W語膤Y燧籛輻捽R?l髛圂膑?朣∞剖夸桧1禛Xオ淔gI炕諲僀?r錊[蜖R戾={鯤8^y斏邪?5產肜躤<% .萋膲2垖钗v 快!.? 筦摛醕喘鐭^1腉O悞祾鐤鴬!Sg%名5晰儾硓鶊q锡鳒徸\s崘??擻躜€}j劣e)z熏^F 繈貘旼∞唸絛寒幸覂暍w 洧i?C#余複嗆} r覯7乧堁 e碧w笸7記异褤%pZ闺q;镻J頛爨挷 刵`D}}鐫w*?9m嵽p廃驁 %敐t擵莕Uf蠨R癣<迆 书#迚葖鳯d?N`]葵㈦m父K6DBヒncTB?= 旻鮿iI ?膘辿铳X 對嬷揙> OyO阁O| M軸襠$胺jSs_PFR)!娜?_帝Ug紦?吸靡俠Js廄5j熨x#潃+Y橞a矒埬m[|CHJ8妾?奋 B芕q凨)?N?RO!7鋏鑉晀煞H`=%]o釕灳E?Y3P (|琛?^箣8?:kT)癿?吡t?苎.蔧提 P$)赲€+ n(L癄捐)q駚靊鋐簁H韺?$;裄N?橒.勍?y)伊 _ ASv~蜝譙%躎v=_€厃阭斾K倦'8X貕瀗?q鄷鵭诩];襖!L3ヴ賕熍M-?.?iF?闸鈭え{1跾?@hれ鶺? F5师窑詈 pJIY倲2譧*edU-C坟gsJ%M 樲Iu 觳'u哹Bas蠕咗飧u楗梻?淓繛魞紖耞??s*咱(蓷|譕睇s評?V袊I雀汇嶜Xi洧| /txq輚着MD~筦揃挦.鋪@.枏?詝咥钃^妈h捠&稚楎葌师8W愧簦L)洈=℉扷 2f鑆欮苨@?q 蕌e*鑎涔P澇铆惙~啐b9阭K铍!挻aj[}特饣忴桚闫 槩?癋9?+礟|h[欜A艃6蓟衿㎏2肪蛛踝_Oq薠J唞踯 T?歊傸镵腯▃戛?"}: f! 諤沺q孠 爳(!齉铗%臠f捰Om訥w嘾t踡?拻HjeJ鍞{颒@.>f$Z 琵V羋Mn`磁ヤ┎2Me\敚舡莣_ǚQR.鵱 C兡A FU\棽砸急酁{钛晢kZJ 頄z劲p?e?]?罒つD:Z:鮀f B檼Qlg)eMP^ èx斄\抒>休86骰邥笎?+P餕j 澼A4倾Y猑琲<>鵂蕣荡媜鹅笖苄鵂/ⅹh耳挂挼y濬c2鏍徬-Y圫椭€萮:?猝K &\:螉D 巺鳫U擼FH2 贅肞"r&9G3殫移燮9獤[翬?L逺鮎(~q谎щT準:芒4晊)y片杺稽饴箤f滅Toc%牴F繈K毝棡8j微鼸枘O+ヱ馭YlL稰Ok?糲l偁椆r└8n?J?h鈻宼覊屗2旚礎R?<+ 廇I*q妿憩0h(}蕳Y"t擸垽PFM蒡Q4慅R櫏З梈d臇4$ 憳p%县q鴧}K?qU L眕7禘斳 冈隃 2OO|穄苨%晀生33!俯朝Z峐泈 J<俠扇墻幑?輱列 qe4)鑔鶌弨⑴囄璬臄&m+$? $(;w="5C1 蒨嬺#瞨&蜶Gq,?$f`殇帳欞朼$嵮鸿!孅?硽V燠?瘜fl斾K倦'-VvA@VX鬇 Z槝褡匞Z甫泿0l瀪z>?毴翯?揂:€サ瞅hm欍?x?蘥!$kT"<攓WR眻Q;y" ┕洢滀G陋0b狽&WTk"Zy\"K??4Mq餘睝二酫Ke*邹1>綪?▼€ |+?佹Z竐邔鮧{%捓?kl(嫈h穀e?舋郮垑OaP€<剩?a俖1H卍}No犜猃#f\^(J6E<lhF╬壐廿*^%扞? )?V婠櫹+穢;薢L镵(榎?薦嵞A+Y嚟锂楆d"Z?<磁橌?ePreC12儇圙~?S?鹒lT?鵡椌T?崻昮糡+嵣D衎i+闀s苹鑧1@諫葿 沶~酘"绠A:q~F -^~Q?"ZFl銁?YA1vhV^蒵NQ仝 槨涁艡+飯彃_碸糗,]曔塲(?r宠y*@X艰貪9s傀肟?祱~譶噽骯窢?Q}LNdgEEE!{%?Pf箳﹡棱蠊蟷钣燓4芮帖NB渙ㄘw遾髭鲭m燢蝦  jyr廄局臱s|b_胧旚鶮镟斤4栻jUmm嶳誳稻稈N懤?丣+:Mg?謜劲癍鈼W?8?$P*泈愍禢垣|栅€o砭螔r慇I 4`仄d蕻胔鐨S/礘旴魎佰??竊%P峕€C\厁船?譁z +戥蚙K_$P$?XH=人R珤騣Y酃旪]OH蒾s?V?(8?恀?C螠珁;g侞鍠|Y階絽=敊锤訪犲V的/(鑏 ,湑别?j?戥箙?難滶#EE鐧lE礘蚙Ws桐 ,煳s]???伂8D燸u痍]闡f G迦R..X dK怞倡@堰篰VUT礲醘A況  \ì@牗疼u痃]]鋷*[?? \昦汦 漜漩樊WKW俄:€|璄V?(X 酗⑩-穆: bmu截揘適5??f匵+F堸榡缵z姍橽mP悶?ZWI蕝%硠烦h賡?刐亚躆RHy cVO?珢d陀衁`鈹燞`犨E臶ㄟ踅OY厱tRC€K祼抨?辁[腉aL|腎j>&0墒(媌 葱kzI澀P樰Ih?貪m)k輶iE畿?d?X唏綥羼"?佊H`mu浆-{?菶5d損媃Gq 寒姒P謩c橻栒v幱滳C$苍u扟啤J挐?er榤F?倽@沸虶〆3)雬g栩J  舣謻zvˊ@xAR? 霋?笳淽籟恧ih藙鹅≧a4妲d澇/秤皊5罞a瞹?|)t騻秎`欭Y<槖x躍醬6u钸锘敿H燞`mゞ?"?ec1賥儉&l漧緳潌m弯沱撚?{鲥算鄷}[㈦ekN[鴪楺 澇漖"C?IG穮U*_*g罋MT冊蛞  舻謻zA^袃t佤O 曇沛#攢N〝Q{Pe酉祠,:gl焠拙l?) 陿藇熼泞?BL餽d#T3瑏レW\酟'暞芰:pT耹煸走w)|慇懤赗rw +f乊U%渂労栊3櫖氃懐A`T6籽闱Wy g碊 秄BH懲r媄楑┾:苪V"餪_濂餎謻z曶\y醏t甹呀x凾抉[}鑆筽cf鎐笘雽?绩濲庹艿*珼?~?2'$_蕫>^eQ.VQ乺5M縘9沧杬Q霐2鏹U愬(((x2M>雰@G>V嬙瓬zk 8< +躺飤骰 h?-G慇慇懤?馈崏v譣w-K豏鈯焰埳蟷钣燓4bf唦fg=僐钧罨讝z藶5豉O鬙.罴笪簀曊蛞  済x鲑gy洝??肱b#??D絏愦<禧O| 絜R讁鰵栮 鳴 鯊鴱棇蘙=铁o刷挹鲭蒍T儭乌5AⅣe   ,%UM7堖€D裑E彵单^|>?眫経?I  済?KZ縔@帛锚kK=Eゎ舖%嫭纕5U*P)(8?勶^俤%U^s阤??導dlf薴5=>.c4纑|宀Q檛\dNE鍷dh?O\犐E M惒曲给e咷|腾|Y!搗摬Yhbz剫?滜 磕 : A?俫B軙e囙 瞇 彸N姉鬍惎樢W/%循赊馅:=}T6Y'F盛 葌pT$〆朁椶虼8~朱R贚Vq7 狧郳悁嗢看嫺毽韌Jh殹梇+硕6iw檅怳伀灮曫.袭9蹀Q抹銌 g}?穀?婱翋稬A#>s??棐旪緂&Wdc牞e`?|d)y匀殅Y奘6YK\屎佥>簮伶~db$.MO?2漀獡UJ?Y幊T猵!0'g_-仁輻瓊磤繩uD蒜1 ?;塪=砈魨&逄鄢4/免廅驂B?o96Vi譤{湃舄t襥Y跀髦洴卝碛H3M+??g芑SXs辚?獿H梇sF"Z叉J E+?镈a 蜓Y4?掇骶鱽Nbff睤US?汖m輩秞??_@~O芡R巼9劤,G昀燚馉m@布UTKネ2飧哷蒮%Tx噿8剫枀2>^_?虚臄卙4 -礣篕bT挩!洳"諾4槖鎅H@#蕦瑈Q钞?[DろxソxV>?媽勿?U@┄EWH4緲uQj詈[n笶儚S懺4oT蚝棣汢O嫰Hu衻Jw躴笎)fap<}?b w74,r$??L0犟X竂 A|墺檃t!鯭戉堁;?6?Iy侼臚RII菮缑@閦閱肰蕽bc咔>??d?e蕣kn璁諔 憫F鈊/M;ut(濲姰D鵉L@婔搬筐E憖嗛eNW暒?in跉?$磭,B?U县y?荑}樽獸l 鎐: @6B?i1?J六 m^kw?!儢梌0?P誀%嘍蠧??絟ny溚酘\牑dxD黉%> 4聘|盕疔唼稛21}漎繨QA<兾 搜\鶵藃霆湧L儌Ic 路鷅櫑?褦!蒜K覣2裁t Ye韠咇训钫流U骦踝?xAI 款~黁M4m衞9絆3?4?拉,?捯zS/_眨棥%!氧h:Tt`{频%珇[ 悤H冱 塼闗3帪澹c埵m(籹??絧史蜓弤斉陽?挞<晶 B}鐲侟p墛異靇Z鋡倔qうTY?姧 )鸮泺 儔z$鷒{ホ1騋}逑尸蔕\y$E駭)c9?>n烊]山H 钾鯾k&^啜'勳豚5颇l嗟賙K姜?R驼J跱?=礖鹓:跧沱?>攈覕CG?埱滉こ?D41q锝 膰!亿=(\t憿&慘鹃惒8螶91酰閑骶昜蓛33忸q簶锣)3鼇瘐(粞?#腁崾惎+龤}?QA0殤怿雃CF~毪悒*EV>u颍RK嵴侺 /?参pG (紋{蔘$搬圎ESM藠gU?铼k锛? 歱屮g蹙单^廮uH;u窿A^喎釋?劚I箖F髺t鉂嘾J_硰U+湑J4??腘$J$嵿凨映> ;瘦C=DU尶堅0%蚊t=躋6U`蒖躟毢[綤唁+/%?彥獺 欗(=n0肱I荨S三揙\躤S遱锡 鶏o|狞址綞kg賎?璻阮"??裥f)PBUa眠鮎€"伋怈垜x歶蝹唊K紧7M5#m╫ 讌玧&!膽嚤筛僅?v 1輶?瞐P槾Th㊣YH鎙x*,' J实3岤FU虒?'罼榽犯壐需XT;庒o~覲L$爮光L'l*}茓c蟁]`VH? 譕 詀骸2!?)N咞T<踚炁 W)豴 h聗?2櫣h迀-?疯#kK絏yk揨,UH硨sF苤2V/\`?鮰顺BM忏&漧ㄦ"隼釋2t #豶庉'予\ *U糰\g鯞柬2n脍ZI_@俪掤?砫qD澍鑵.5叆PRI舣%隑:$爒閩S鄍6#劝蛻覒?札SD橁蛲 磥疛eGs戋DC韶?25E}':A?i#= ]~獷降踝覦I箓俈7Py歵&?G渊, %x"歀 譖q?疨沙甉 }WMetd癇I擥M 鉚.濤鍴*父?儒靂圖?笊襙嬥ab4;?_綷2B)垿鋛9朘?3"Ab由(M*哀擵 j梍E彔碂y够Z/JI`?爑k赺W~鱳肥?kw眩鼿o郌, L篼驐 继b "?歯>跹t3*D`Pザ!輕c隌$ 8@A[戸<鈗@dHJ邇?С€O(郤*O)塶>H0搄A'Vd黮\憉>獱Ry6鍞2﹫[1Y2EJ7煒誊侓J獪?€?覠1_ep岍革慍~?_谽蘺?{|醉? ??狂i?珯跻绁q*+~殛-_胝穮剳諸觎)q繬m5c ?慣唩榰Q羑咅凪h|8%f\恒3祚额: 慃綝9騋3C+@夾椋钆鶹壡逍骠?嶝猳.)S堍?<Ъ)ъTM盪Y傞"?徔Ae頿坲!腲F焊?p杣蒱廹髙S歅慇逫?<溣摅螣?穞礁Sh阸亓斣A沇%酈⒏ 3馐隮晛堏+伪尜宻揟DH/?JY豃 R藸xl蕤N 夰軲姅娐?┡k:ヰn ﹋M踢嬚醕L趞?諻3TR暖^偺N脯=/仹%_P╖_F8覼瞱媌Y訹躈幱冎╩松ul恵忌嗝砆P觔Cq酴硃装鋮Vi鶗?wJ9垑\-!9K!p蒅 rQム虑鑮渊t蒛錖檽E奢狧 ?丹搶抲B猌g屄S椋M?话免C貔è.r,[窪S灕な篭 湜╖_歷毨juq?蛒?刅T焖?珪kI燞燞`??貘数诏龤轉絋T涾袧澁稱+   ,*伵㎡}蔦1(zt?4蕣4鶷婼??筐?|龀燒?痵J嚁烟襉鸳遯)v慇懤B ,N较|?旷[旷g鰃鬐擨]闃/G慇慇慇縆`I_g更q眾c(?礡??侢暲捲婝叆J8謊rU糰薗$P$P$凶X渮qiTIDAT礒?p唻S異7郴蔘$P$P$?€燣 E瘳|W-向謀伸叞/+偢>弯A纱H燞鄠扏碟:G沿买℅闼挧紬﹡欥$_惈燞燞鄠e圬,緿!?蒠]/ mb嶼霥邿尉L#-G慇慇懤咹 K?]柇虃oU兵鷝Y 8萙硪?Y'N篩i矘RL輗   x譇:衙牢jL8h狤V靥?恢X骖罨颺酎, 蔰P馋??w鎾c慇慇%侓矨S5毯v?q?矑]謊蓃FE?痐慇懤FI C攨伋 mL?P莶鑖湒y/階,3?晁.鶠広豸G=+;殿磺魱7蕎婆X穲漬接n袁z6些5鏺<专テ往 胫{虢O}|d?藢纡[8ㄒ⒃[薹砓??}Y砍E绨隄簼F罚侞嵇痺鐨醍爲崃f?=;s﹄lмi早?W?療:6轀?▄猡妃0桩7醡蝂鞃謀{?6:蜴砛ok算拦痊?爥6=剁汈Ky蝝 x圻Z蟮1炦UnB#駤>22F5饗揞蔚k硙?譵螸漥4G穘n7蚢K?濚G葨?涘nv淙瘛懷豌絤j绒豳X痒榰蜯*[阭\辢F賴彳n榨t?磜kq鏜陬? 鮶[ 跗€兠C韛g集钪阰)}'覨?ytj膦潎Z豕挝夦nc篪L隩{熿碟#;?乬惑; 龅戂郹鱿⑩?峯 畟呟wo@)p懤o/捋}X,輽?[p`x?4\? ?wX偼敕蠉鶨楉?G;嶆\}犤;崄!L7?篿3揚鱐6佡秏骪Х桲續?Lc熋怕-mB柪[漼?F^??<2诸掏涛M奂?转?绾G廙磄粷Vc甎锴3?9螅瓩诶瘌汁婉-唇刖90qr猚Z凌H塄縱鹄沷嫯钥埱?损YQ椨l], T輎y偦吩苛釕揝拥丄;6>6q桊褩疾o~儧?ㄙ熘F骊潯鹶锕鞉;俄诮e舂諤gp螃涱l燁tNu谶诀;o焭蝰緙矁6药嬻//Y#?胡?_ 葛潕凼紏k詒`饎澼穖焜听c:tj督锏庙m棢j?珉莄?3v漉裱诶顙j頇熮鯯抉齅6n?硊l|s穀k祻緔?}?_z丧?埏枨歏e謪棈眢筘c弎Q'? ?遀鹱+噪霔鉈-拗^B4:鮂忿<~暝踎}s鈅傀锿釕弢翮唙祷q4漫<跦疋俎鹜+镙{飁訚Om?>[煕帍幪~哓?_c銢fgz跢黠莂泅碹怪唿Z( 6g?罟b男/橃诅jёN)y憖=6旰繭未G7?oG?弉k梪kW誮W挤訒瓮v(>z詙oС竽膗綃頞吞竨K璿樵7薷混冤曠(吽:祦鋺睉疡?edtS{巚[o蘵z枲汁郢諡菥s噵?€/?籉Et↖生L笓 .蚢樚歱蘋!罀?躋 AHを> 匋r鶥JM猕 醺昗м/N絣n漖背P_OF嗀(﨎暲;_驘?苧?榩Y隳眎订[約馈梬訸k>8v斓肭v蘉^埴q臔{髩7呖湖s隕銞众?U沕y嶳?u?棧7n=?m旡襰袡?迋?洞艮2;v?3N*舔t^群擰Vf?茅_|耠s醃鯸w梊r?+缷殩U躠'v? ]獦 +曞悂?,╇y2貤鮗狹?云S贻啶7?盱?溭鑪蜑?.pV~玧蟪鼗#s蚆倡鹂贷紈毳泅?謏\緄缥姒亾/jN?N磛4苬峮咭r}騁'鏥%S咃檉=E?鞋舱蛠濥?羞景oY柵溎/罼慔B|刮淰l虏(€(塆R糕?▁z?澑惾羶mE媡()}+浉枊C鋓越妴∮咯婼牺怞箨俷VE懿 x?鶵n畐u娤;辷桶M鲛謮z隨?}p彗'L撠緈叟;v帉嶊q快襅/縝蚆浨嚉3詸朱誛]礽dt?J鲦侏湽u▄纈鄚驻瓂_韞w峞A瘞kt:D?罀7週5宿狏?蟙u?靊g?紣9瘁屏"JV穢烜jB铌艰戯.渣蹺啐农G岽$?st挪癑?K`^褯坐 纡?摯zst{兓z@揢3S嵵T降聅g囱 m啁谏?D{蟒'5[儩鯤m玱穰M3稠媤碲糾荃?芊i胴磷_婚諿撄q?冤曠(1^1 萐┺櫌撰#vyQr{∷_ 輍v鄥z愈t囩.€ ?嬈G穟鹇A€観N;a悗a 狋金 本冲 J)壊鹰t絋Ш嶒4糧渮睶 綻澈ゞ眕/\r魎/5?z溅唔縣R躺m蛕黹C寓趌?踈?懽庬躵赡雪嫹]&/?赉嬒縷弁稯涋s贂'撄諝渟=臆打バ檓 ~騇覤.簍荺m鐾G.縝棎-矍{?7蓊饿奎獾7\39=饼+螿 浸粸閆沶驭瑤j溒*猻?柚{{?n{*轠t?嚃j啐.p夾+?2?镔硣aK壮5寗?P/ct 趻蚊?銖駹nAI?}8塤z擌w﹀{;轗飗惘?晓臺燑蔁|?燍?????鲴鬅|杙辆觝B?u靪 ,t請利锬O逓髪馶靗}f?津夐c#煌梗o服6y淙塁嶀睢7t旬眭w?桮烒摞7^Yy嶳?i蓸Y仉瓡暠邬蠹役笊崽b蹄懑s∶z+S琱狋U^)霽肢漓YA{叾毂肈札Gk坔1%檿罞dqp靋藊H黗d憫j贆o!梲c{庨鳌b撣"?掽I旘熐鄪L裪5{;H屚鰒?1ら锥O骊砥懒M迪|鵎苰w_6鸇?踫`覆笤舂崃o~鴺=蝠酆~?7>揅兦N弑m7蔌腸彲<荶w爸?:>鰴o~氵瘇i~蚩謠4?6迌迬Y+h蚇7?齋跞崦靳j? 寣H門<r Y籜F酌8|:?<]/猙C>篳妻{锝[<渃}茩y裝*C1€拺鷚鱳魁劭|髉&吞戚t=,G2%n懤?仒u鴷?_莪8躁觢稕C衛c呯浧:C弇'铥诜C忀黟隽蚚歝S嘚拣腟{讹欬t鼟蹏6鸰颵y嶳P鳱??嬣偄=棞9篰蟟屙 陖灧鷘i烬a闾鞧L0D揙B扱輛LZ宨P饋`扁 跓籐]1蛲o~撆赅灑R┃瀊轇鄕長z豁钝嘁#z魑紕筠{ 9)棼蠒紨` 蒥3h莨乛gW持礹黀od秤2?唠7?涔Ⅲ亙7m冱漆靡賩鍟o=瞷悵湚诙s囖縜锫鶣S蘫v?雳m壕躏m峟LCx?虢?鵽>}檷缧杠W唕XT案{e凧摓匶t筎3áJ燒KY藬礚2s吋U€Ej眃A愅+腉]~據<投/^霞颩絟夐Y<髏K?乻Gp莦Ⅶv扫?捷衵nl鯌/}V阐=貫戡朕K咪巄=?up弋痾徼M;愈1钧鯔嵵繣鉶蘊臬/?G)Lv戗瞂|谴*F|oL?7-j顋焇??Y膃Q腾*z吏概X€,VP锈[Yn聬E劁 3??駓Fn紳摖教?E鳊 7妤饪7踱a?X?郳揁on苵闽甗g5嫁欝叱|g汋銉鉍喎藓麦侇鹆铕蘀粺?冡姧廙?輠j茷k<8睩耞焏?戋A鋙|,鍙~簦t渗頴=:w镛}鬏w戥削Rr? 鬎N锦葳郳m哀仵?9欲螸溭44秨|淿S'y骈W耩D肽饚S团 7g滖疖l闳珱噅;.讳W芏麏朔o吋S渡mOo?xr邺i笛憲骺x#?151鯎 M焣f鏔DD?痖 箭鲔閖8饶.欲7劲R婖晙檊~隡炿純z#歪匍+[;~啅豛k~蒩驷=F祚=遱g售肝毁隈櫳蓹杀蚦蹎莏'Е酆c{}予暴I+* 餷檑谥j俾貤駂? >]噮z}枹煹Po症歖瀦甞>Z迶禐祦仭筍3崣涡腊i繇佹Jx眛}?橃 囤萜tk?7d欋fw抹F}怃駶c汫,~<菀泈Ccc??麣z?艭忼泿8內怕=隫S靜 ,#讀轒tU櫅佑5?;s祿s城琂Woo?5髉爿襴g^z笛m蚽s蟋醄T郗z隩肦偟A辿3響V}tjC揝勤瓉戓炂雃&mf俊^祩i氧鯑覠傣欐€VM撰?儂L貋罚`槴蟉飐藧碇 瀨g椵?债7O /j孹5举mvg鵡讎輏7'埘Y決 77oj6f嶁濟兆裕觘@?o抋?毐犸d)纙K 詢格VghKo?A蛗U汒僊篤v瞔h蹿pg綃烩鼁4j怔c'褪?鉵f?=R?盅冼瞚lp??欺81yr绂窬脰=泍淮<獰k~3KY竲躤烩祝$p繲 C敷逇k央鏖贼怆驘檓投xf蘯吖yk硬沠5糸二q吕祚匍痎o鍁蟹燻w胴鏅S3S'揽9?sh迂w^燥顰淭?譌3窽睫踫呫爹?休u譣櫺[??捓 蝮郏q[?wo#蓀铭:M愨涌禁簋夲%{螇驥'魌埸鱒悀k$z 鲋欔塭C 翘O?Wd?懨ET?(P-o熙r籧阥%迩曪朳n燒禀踝_螷魏蕔艉棦  溗€剪慌>硗幊f曼"MB嬉濝dY酛氋炣0盔嬁猿&陾爵%觅/?1N#0蕁q'蜫薗簏蹉蓬過\艝%O耻,?&烚K曼物{S9F砱宀r-憢枓歟踪 秄醗髉?nw羅l[?l-K榊?圹莆ヱ櫹?酂潠一IEND瓸`們WDd(#餬  C ?AEventViewer"€b鹜V匉?墅 NM€_噭?¬Nn稹V匉?墅 NM€_噭?塒NG  IHDRXgAMA睆 黙VGIDATx^頋胗G}麌凧?/ UaA%k_鞗級適猂[ 筦=叓榌鄄!獏XT r僘恖v%b`6篨 啥?K皱彦戜护趑絳︾??唏)?s蔟忐?繛烚藉?啕躘薏xzKv,掾? P @(妫亵苒顊?贮竸 @(犂X0/媲qP @(妞@B⑧咉 xA(槢 疁;鼽s厢€P`n ,垈g蠟= @(犂,菮x梸} ^P @(fˊ耂乜/(€3T 嵘_茺玙€P` d |衲墽焭貅UG$€P @(0B2?~鼦{鰯?7n軤A| €P` T儛 G?9槸幇wQ%(═ 勪:窛saナH€?o,??狯圻鷰)潈Nο振廅oT鄳锔}{偌駊uF瓲€P"?囙}濿t穻塇T獽? :髍:?誂€k兌[aX 剣c忶^!-- _鬼韹涳騔.)摧Gw菁x鹠_︰n栧鏇唼鲼EM鏽竟京Z鍁灨A邴 B(RR?iQ岞RMz}妪牧粷埻>*N庶 ~Wq濶n錓8湸谏倅舣4漊I柵*S0o≌M&?kSvo?oi麐硞燰2Y伔繜RsB籮U趞wC Xm?緄鱏#?帠B(B刼V堑8籢x镭恄腨m顪錳9纗-梡碩疕y淄9?嫐?暻c瞓YelK-%k哵IA-硻4朩[︰U骫Y ?ぁ€a彰糍??育E?姶K|i.%モzf~b'*鳬J熋豠_篬蘐汧2nP:慏龏Z工蛀鄺2€P勎?寭s彴 薔| 4KA鳻>#J3磪/瞤L贁)說e醁q<?凋?$ @B(?P率ч賰鲛傺埤掚e掘睮BcjT藓?\|x鉙o庚|视?c"匉默p醪Lm?YQC}j搐VU?f洬~!€P (B泐犪柇椦知稃|贗熐賿媆'緲奣Vx+V佚3uR眗j磒鎰?`擓犢懐-鮶剻#h$+葰u.柋'l=衬e慪炊虋@(f瓳(?z{睂貎噪vy!N爷dm桞諞橓蛧P T儼r/4苣$櫙鎊F沝s疱P LC乶诵糭|9鵧i>‰~ €P 5€P @伭?€P` !€P 蘘/痌祸(€SW ?遼髐P @(Ξ€勽 郩P @(Ξ€勽 鄀P @(Ξ€劘仅谠蹘鯝(x €P @乊+P芦e泅兽踜镞wu啐k?痎貨螏跜蜕殑妯浳l!齅諎_n^O[粱飲篫!=€P` 攤鹗暙拮?黠s&(臓鳝]砤_q,c讌柕U*m?!N屏m崥V^婝S互=鯡 鳓 P 4Q 刉._隹矉飣{ J>*1椠h遾k?鰋z4)创項給外杕匎証瘙BYf/仳鲎矓擜P @? tBq9V0匮d"'n?}騌+Mo谾%蜚杕W.;+@N(艟[X哛笘殨^躹 5NZf?魡S璽懄萖JAh 畐识←毝篤= @(悊m@(o鎃y勈%{?/緬湀滩虢nP艃ZN?玤棋 Wé rV,I:r锥是 咜榳n 甀A抏?i孮浮P @仺 ?5j丳z'匫貭%*-鑮0mfR耋姪Z^='欟慞Z懦Z攬犓q烗 ?挌盫閪徯!杆M縷Y亀 @(0Ab儼駥ɡ汢1您2T觓歙棉o賔昔啅璻侞Aㄌ脞€P` a> 賞F攗 y.謢羭顿?僁Ga>珐遝枣!崋g2)横枽s臵o躑%1寯P @仼)勱~[O彍冓JQ9;蕁蹂[噿蒿+n?藞壾蜙h輑s/襋yZ荪 \,贮K楕蕽s锶饌p跻?/絼譚x柘锖?小P @(`*勂岥?0霷貦e詹楝X- ? 臈 @(郪?_菓q B\€!fz€P X ?腛$(樀岈爕Zh釄:XP @侢饌?醼P @(0 简蕸xA(樇挺FW螡粁酈Y堦螐繂Q鉖 @亁  佦穖鸰鵋? 瘊)Fm>孋(?稂劭崄睮|靇蒂嬺奪嵖嗰,C(RT ,-P ?幞O烔鍇嗡b酜朽<!鍄3?_R1u^Tq逛L)?铲戂oGBJL?U@ ?*?? 絻,P @ +釁 /进扴x瀴Hg.酩`烇M墔魁臾/ㄤ祍鷧舂j刲~涿骶?W竣!煯狱B:)D?1澧饥Va5T9[怸P愝#4趆譖﹩V%fv+; €砇 缦烖q聏i7苍瘦-;梣剶纆溆燏赠s鐋燆踠|稇眯f!}!浄弣飡縵?z?BfO!%擶?爢7钤獮AA粊vU奪?穔X貯H槙~紉鞓 ?B煈O驌+g销>5鍮島ぬgR崘鐲;钧荦粀铀 S!%擶?瑔欸hP匈:粏 須? $€P 蘆/is算魁獪u鍾OV偘穆?砱硒?竓霰S/矩y刜[墩}Q.?jU^肑T麣謅;W€I+!团={栊豝w|簦滆糣d鶙_W旷蚾謢Q.?j5v B(扸 蘞螥控煺沀弐?Lz饥騊 @佄(醸?¨艟躔敏8`?y罕莀肗 #P @侢矼N滭I? Q;o?屭|P 腟 ?8€P 藹€p潓&B(爛_€ @(f@8腩G恪€P €P @乊+魏x(饌?? 埶eeHQ$€i)PB{{h渷P` U迒 LH€p灄5磟 贱戢菑?u暝适甯x?鼸娿谣K玤螠!眑耊換?铿:鎨丄恕@ t殝:B乯陙 鑼薔Ri攢嚈?)鑏€?K$匣2蚑尅?@H? ?凷痟?G貜c€罰矊№礎H灍3?釕鍀<骱?C _Q钗%襈#U^躐V簴朰[RK籮Qa狢嫷Z勀 勧Z鯑r 0璀盕Ach{c轝,訵6eZ聹$?G枟M帜鑸W? :╯:v啀-祄z贜Q4畞8練 S襷?岲)u?諧zZ椩C)?b m勡 榛+\氤,KK: 檐襌w?*港異獊8 听L藷瞌?%D/_緗蹶U?|説HqH⒗`Ri菩鼍@X翧e簲_? 粑b昇?躆h'孂Vv塯n\~0硬,鰓傈}&T梥i稨碶?|I+櫖@灇't摘殆顔摆^ a誧s佇n?a誝V鴦1葙t倫Η垈亏{咖舶蝰夘*5wKc€罰}0喍7!-娧^S^媍v?h抅驄铬6?-h筎夵錾瑒黮f押K&ow蓨e塴l?y卐 嘓K侏鍷鷭哫p:|鎙戄Rb氆?M.酨W曣rm2 稂位啐铟肩=倕a禋 /?K闄C蹧€绪E佚B烥i韡痌罧s))_圎圑T渥to噠閚U郪[郋W允拯?魽桁g邥)梡#剬偪葵鴩w躴晴>鞴{罟嚤?曔厖巍8j晍疁尸Nq!閖m[檄+/挛GQ 陋囬砱'ォ]敼┨W3&B薃ㄍ袹t塋宄差d晖J9衧6Y參l騎恄豺{勎畎€C8^f5sz剟=選阃W^}]}髦臡焳之龂臛鶛g宒P嗤7瘽z閷KI朻赎搦(*??瑋殲}鰿灎0潀9宴簷л囔-霻琢.SqjI,E)膛2 縐 虦B彳h?黙 倍陨!?u *熿?柋k鍋→;j6Df掩委 mr 萘?幈洣該蘼!1 粆| 耮^渲炮4.錿?n鼒熃跹|?杸鐌龝g奜嬿=bBw 4蚢p: ??S羼棼侬螌u蠓洁杒〩?\㏕シ觉瓏c/贛U?3ww苞Q挛橄鴑歷&戇P\?錂|輦瘐7迀鶗佐祝k?@'?"Q烬d鋺鱡炝蘘鳋}廳朎熟d瘵Y伳?紉驍KIEμ瓘2 a 竼>分院^2奣Aj$疛酎耹[ {睂貎4`s橬?蓛袨莒D桜#?琇生V燝姭3趢喷Y?籸pX鬗 ~j?壚~@瑜,铇坣 碐刲DyR笿a錔櫨(ㄞ-臌"耶o{媬|镵_舣8觉璷=踉S%戛织浸茣嗾F篛鲔c'j)筸胋胿!?凔? 谵Fj_()e蟮苵??p丠}C^6W 脮u虯H玞丨Av?朼灎?cdo楪萛C雤e-~蒘hq铿誕€P懿なSzXyR笹渠A鄓衕 劊?cP?每奄4 聹y亗倢厑f%P($#!m#蛷5黜媢q蹽;數7Oumo$笁砋F4<矩C€0铎a-r洶鳭cWw(蠺??讳壂]7癛8?耳7鑷鈒曢|旫痂鴱>咠眃?5j|葙殯?絛 槥av哇癕筆Y'偨'g挛拐笰_獿o3辂aF{鈿耯?冎涢]w?(0*FB鲨s箅岫<鈧?^刹皟4K禷澦S夲_麮顉J#脃q摯翬騔E浘昑湵2jGh?捼?蝈劊 ?P` 勬M A€淎霺9W ?j堻b'挬迏z掦O超癠wS * <鹿*C @艔?簢!@8螳"?;B驤9YXv?* 鯄4榱)nea劎詽2s@崝,踐醫昋:塺g噸勶套??镘砱鲕胖璤?濮€ ?攸U2馾 L~辘i}V +0働}抌q儼G醑??4覘 "  B鎟 準{ ${"T?-汮旫烺衮卪畿lT舞晳荩崓Xr剫={薰%{m苈(x嫣o\Er 穕躌3蛽WFtOtw哀U_O+駉薋 紸蟆賙OF咙 "辳锡儋-勆|傇〔!M1埪?"hmacU篈 买, 6賔⒗HA杵I咳墠?鞢?疓竒 羗 {1^簍塓餺o6陷怤∽# zu?怂酟?刔^Av)? 芙{麝阩e蠟?ij粼﹥{r*扄榿p蠟铧技e鉌?紸~←凙杺?匞8%?€八+鑐?=粜?|熵睊藛Br轷忕鈻 N肠爝pZ硾jt{獛繰濸F爂賉诟诧蘷縌┤?硁y櫱;t顚?P 戾|芓扭@劐稜栏??僄鮙"h滾F胳Ew 7掦x9B 魴聩[Jh搗,帧3TD?濩 U敓銚輱2擔眲錱JP醨簫勢觘uZ€<€儁則58w钴赕傂⊿凔?賖狾€c  翽彁-|A喢嵸S哬=BkR訄n飥涛鍇茡戀95牯 ?5猵U迬灶Y!疚M洦咟揤`0V?,?( R=hX魼紸 盕匳欎X1蟞ㄔ??戇y烵j蠗娥|蔮?KK4觎h創Fk@MZNU伭@X絡t m-J螣 刡;摔:餚锪廢乤@B`遁 9驣Q)禭C狡@8A}W`?泝0?槕wf銼#N╒M 宨觤!蜏刻笏煄▅岲QT 孾x勩詎 腀慞` ?鑔4睘a=綈 ぎ@榸?v.) B丵+幒{P?;)袆z !蕜揜 淭w?](0j) ?濋⒄娅@8呔G数 ?褟Fe#憡蘭]鑟稕v閪嘝`p铝a圶B婅郕籴d.S寍 ?褸乤囇X侎働螊猻も齚 訠O€?悒毊@ 岙]?m阡6鏸?碮 B=f捑?HP衳b薰?ピ僂蕖猁闝T阨XF3剗宴駏崱@CU豅Z?AH|[~攢虚猼,! 啗3嶰f蚍 摂伛E2+三? gY墾 :驉NF歆L圑燈Wk磿G?ㄘP BF刘胱梼?廝%aA竧芉蜍n,8馘)齉槌瞱.?}~ㄡ?藃耏v;]0 ♂贙F珪z1騂p啒鱂-Tc瀚 4食b冮NQ強j`C?籘?± T)X 聬)峩屺藣素C忿⒉貽豾a粱曺r5孂 EV?)J羨y乞jLb牎 MW?cQ`谊vk鍕e湯cH<;骂 &邃R]挡帮艂们cw??损漳FFD?bн莌aMa`KfA艂RFA蟬剚 槜峒P` な婨燊艬q>牓H燖@坬 F聮 D廈(PK€皷\H<R!|?孨?a Ua3iRa尧rP`@臛雁T g繝VP a,ea7Y耫蓡LSV` Dh?[喘a 駩u Lm?脱奦u@貐姲1)&轮№Y+{ 萝諐?7矙訶Dc鶴 霨g敀aHf+ (鱏;布,c褩埚頙R%-蹓坞? P@(b0@C伳@竰黝照镇^d馅d;酑=麴;vZ喍鱮狿-_l?"獼H唿r€(騕蟑J=$潧zg禲羴s?鸓靻8l(bH@伌=B崾适>x翳Q__鄂?绘d掗颁?浣柼岒6o贫qAN)垍8夎O%負?繼P繰 =彁歱钴x帱碚#蘿-W布p孏遀aWJ挛d?佃凊餳b溢#Y鹾YC血蒟?杬?aoRTH劵v碲磇揝er蹊糓>鉒〨 h躀踕梵K丑$膨請h堊曒闯 m_|J戠禋x衃摎筿3卉\ j钢NmeN4m槎N淖 唱j烉蹬B嘅味x鮅寤赨=庐攧澤(?墏o藦趹x?3? s牥)Oy撬wR劙73Xu阣j\"3"N攞x癜騀▅gGn薯 釁(Lb驪S艑癛しZm盇(玬杳?跼d驹缫觝g閬怮p蹂 lS?hWa膪濱n濅Y? ぇfPSq%铦釤@uP聏T篓蚵x 刦疷B Lq牐蜝€  剼 DA晒怕+?↓|E兦d遮?x灎R痠'л縣]B縂h亹%M勈鯿唹冇?勌u?嗶揥 湁GN贎€0T)∵#s泍勚炏b 飢猂鞂滶幭燛;B郣2鏘踡M 揩傂 ??婄螣萟檅誧b??@楶g—?Vx剋.頳/JB{桽勇裣d,!I悙B垡仇?R髟Tf/曍駄硓 ?f碩蠿VP3.X菹`E)?v"#孡I€0?d dG3廝 -d呩鮁T/p磏yg錠鍫敉\諸;$Q#T蘲茤錜耥???N癝绚v 剘彁?嗣名AX`弝g鶖℉Vi汪+\鏬 条as簶m??7@孬?, 廝M阅#駟墂D囅X?Q黖'>罋>!隯觊 o剦WsyA萖卣R?勺 L 褉{錬5櫳貣ZtxIM鎦 軘澐?硬y9MY昑W ^!稶G倦A {?v*'孧A€癈弍 m樇痋笿?_捍z暝'N;v忤裞|絖螠9C殀孓?簎雖份Fg&8B常i禹蚓k3鵱L禉_~鶗w笺?鳤慃??凷h棥@!‘軓 孷凨7>竨耄鴭_ m?:韲?濛 B亊涝h?:?T t爛u雗莅醕?{}~y鶓碹v?L$@楬GP?05趹?3B讫率 醺G8漮傈Z偐样?Z\@a筬X5妎U `j4轭C錭(毆Vz{a寔浗)`凁3鱳tS餑黿鈮'鲱輯{劷 \€P雮6牦M7迤-um砢尔PwQ,嘝e嶼€酗v5?l洉?专G6*鏢[琣l@C€?廝 ?塌@埊s??悉k? 太l╙踋涰{瓎樂C苗晹沚k;^? :*{u熶囑<畳K賨涳拳汁兼據甃酺z龛L€奥#€vp苬梺敶p餵历蛐稂偧﨟紾(死)721u晉買颦d?L潁#鉱S kFǒ婁<*纶篶砷謯,帾{Wb拋陏.=鸓e$@hvW鍔P€0幨 P似@貔?rskQLKHxu孟愻T偛薑`|f@8?,绛o}搿C嚲豤齐3?蟂-6奝縩滱$剁Y>釛CPn€}dy9呋-歙YV楺B€0塶B%鸗S诃=聈KK: 惩畻瞂纲~熷G-8摢L[熥*ud針{uD€序慅 婸/狳P!泄?麇婧e i赶?沸6b昿P d蟣涠eHzecnspn倛顦d悽蠳;痞@X6圥/I?(c;(D芄$禄+02A?g9p卐{簨(媤瘑濸j饷N0?勼雜锤B€0?SQ]逨詘捨&烥X绒UDE|叇@8E{Z+?B蘒?遶2w怬N邀沕 旈m蠧B莍gpDcA鏪撘1τW╥O 凙( B}qsOq肽湩e緲禩灢鄶粹Au岛k獸吵后X曼F?KO鹏@貨?(!?v 7斯X啹D釗煯?b!嵐胆锄?PVA^证(謀,胘?ォ|浽 l騆Z€癈弍?崨酺z龛L€袛r辂:0敤a噅荢 t€p赉?XNC€0崀B-{T tL?B}?E醐@胤?o 劊?T t@丞?6??玫B蕶(韦QL(P(b(@C€磈T=0b犂'帧hN{BMCB -?膺失)邝,@?鸗e%@(簧 #⑨#hlzVX杮?wJ雟槹c9U 淰?(j Q擛(Xk矟蒢D)稽M咥颈禝k4-動霿椽B9/憡麇 l【E7Y濢k? 揜 淭w?](0;钰祂应MN樨湩q徯fa9髕鬮籱#B *#恷鰬 痩渕F>煓F]覔雑DX阞欣F 処w*C亂亹(?∮ T閄?vCAo剒鹡 I欋 U糵祑パ`j4器e 6??谛3!`胨A刳#藽0逅U8棘葛遽s鮋 #J嘎l8劃~7 渏息] +A剞#,HhG爅录囐lh鎛剭圏?劤繲` T)X <耣鍾<臽y?荍闳+摣鷀>袍从` 踞 務!盘iu ?葞蚺2]x勌y??溟鬧zr! 钎\ c癁H諏h1鑗6B (`(0 龊硷岀9吕r @8({ 刏穭D"diF贈╒ )f@8Gsg@8?LB (0/聐?Z@ 扏 )N?褦n谎V燖* 劑曩aoR (0 翾t*1&挛z№;哹*芓稉T 歃诰a%a|峇Bb tX诵鰖` }鯵嵭:袮嘚@8睨E(6吞V搌MF脜軉旓,Zi[$玫歩J€p廸;凪C?杆?]蹟昼牨gi崈墿)N璆褳 劇 m/€'"诔澋叓ㄇ耒e 綢骱e鷮煻萝+灖?蹆嗽坕:&襆o╱D q#嚩WB}道綣l夵牑鮊 遊鎫缫::侧傈姲~?H$JS€0蛜C?*V?除鼾8崢c↙屭櫩槼L汙UN* e榹?n0犀 碯Y€0遛C荩(V融Kh{泳槚,n趤]肁X0擖Ah>%卍樱嶒U峇€p4]亰孍€艾' m蟜(堿*鵗$晍剻kX兴?5* 玁?-錖T雜?朡??潗jF 別澼Wh瞥偸->eT[獂嘃~絞睂;酏噋蜻~€p騗諹 ?=B踳 "L籁@貤?'耼 №谎V?谱%$@榅嚒篜牓aK憓z 動隨 ?b|@C€C 蘇€p^龒(垊$P`B 闘4耼t(悐a*=厇靓@貨赞趡齄楽??@$S糄mO[Xv*b`@C€p??磢撅迭觎婙紺鳆癳劽陱褿@8dТm笘項嶣€p葉秎€pX齉cu暑莼WWW谁m镗z春Ma礔SMN礸旬 剭カ萨蠧=们+I茾銖吒?鶙捬ㄋ幘?w]h枵pl焟W€'v?骟疐湂X铝nd氯脇z 劚鷮@覆豺鄡=z訵F「Gh蠇 ???u:B@跢,錪7a\}a=A耎滷 $隅螡{鄟螣??徯S墖?of豙種u螯!廤X劰?祧@負?&耎}臔H情缨锞鹡頀吼艅%w铯浨冹:盅d厂 Y 聑玵b 画[KSS 屨y剮 Q咴╣読N赛p絴_KU豰@豝CX槝a睚℃鎷[枛謮撈崠 躜;嶬KD绿  +?@珦WF拂峌ynOY腣xⅲ萹+脐煇╈q嚩c姀⑶@8蝵I聭tD椪籘?@8塶D#燖a癟H8鹿? !F01$犂缯遠m€a€HH&@8∥DS篞 霧?V【峼萚W€爱bH?y聛顎委涎 ?嘓跬肈萈M|7nDs汣蕥矟 P繮 rHD嶱_?俽?怂 RXK?E?屇[KSS 屨?;藅}耭O8峾;j嘯0dl?Vw喇P 腵€{亄峈m簬P $w傥=#B??矂葹镞mZ视,S 呸(?罳La燩H6脐朕坹M绞冴蚶厲?耪酃敵1+<{+迚嗇f 勍tC +脐芰{ 磖7N⑸痍笼Be=徧T?柭佰L€皺n?a耎滬X剒'骎2姽 V?T棌耎C(抅€0挵0洰a桮萚Y6 Z秊T?U<薭>T+#q孨€pt] @z縂h訄菥所f╳6Z濚,寱/朼鋞z凧驯嗇 匔堕*脐劾Uc嶱KP€p@馫?c鮇萻凾龈#郧vT P|=N聁 jb)芌v揢 L峨Pq(蠬€皯l?e??lB (`(bH@亂)潍垦憪 LH€pB潐@貚巑 B}鯋樊a]艕~ w1"? 淿煟 凜懼闥屙闰E4r憁皿f晢jR'斴a梛轮$囲浦 怸戝9?-璖?身?韁.v跌9(籯庐吔cua任2?詛?1_廐э)皴c崐1切 cuG郶|跽泓擲??*bi粆*雯6蔎B€0V7}X?5Q樵h]c糊*?6奐C€0V?徯?晘J*岻 >∕勨1醜a瑸?B}Idy#[O慵粔霰4傒!嘝e嶼€0V黥2促戝M ^杺Kdb崊q钦ㄍcuBY莪闰6? 轃d蝐鰻呮D??2喍 (t 劚?p?"郧仵(bh@C€0謵y帎蔉匉X!S 繲徨藯/^紅钴蕶3g_z轸}xO?斤?燏傧w枨鲷觷筐??s啔{棷餭胫輛潤?h擒纩玄?繞HPc<}㏒|裨鶠荏O唼?O鹿崓俣 渕祝?U€@o~竽?]:箂缥濤GN醩锡硣o<鴽钷卓x?(sj6@8Xo簗}隷:姉CR嗶琽&]0侌? 掖g鶍(鴥 滛p@?耡屏//\瞟?^峻蕸x9 eHRi橆檛裸菑烔ujee鍌r\紉扊臕.汴?@8獒€劽崄粇岬隬^烤u :)C鷲J胾裠K'鄣hXS6U甝>%_餜NA#潯髕慆;檻邸@坅 耡咲?どj猗龜桩鸰G頬G\基┎斅葞?n瑚爉摏 礢R+譍7痲楇HL?F'@CU豅Z€p橆9C姧d后痎w紴冱钆?=躇褶櫨8广/7蒹屗喃%QO敀e!}聬酫7@XW1?]L楕+剻葇A缈 勭^筺綆谂?b煰<炽7g矑?}曞誺H€0畦c 汭+F锞]籿m诖??駰_/<吕酾_筺l~譩鰕:搣T先O倦硾lq覿蝮2%3祪斂鵯輦巜}鯤?n葆??Edv譀(H? 悛澩w璢>泊X基?慆a屟 芇6揤 屰}D练鍑B禴4?灱z輡碹禌f熆恒O?轂Ё4嫑綏'v?aI渄o疅芫舢麖渖d?仑撞偰{櫡(W/b慬V?v?+尻醑m嗾練-c孨€0啰皺a念c\縹劥鴧??<~鍤幅?6﨣争侔x隙k?駳?^$揆炁Mw钏O~o豵 H尽r]'砑?*韉 X+v糋逐a Ua3i耎?(狴 棷Y焇厨搈柱經吖伉吸?邟А搆6?广O7}zo~RI欅?灀v^g晇._}7襟久靇袴 ?:f 凲篛劥颔朑?请桑[m記?暯弑^渱:C輻臣蜾?eSz?M藬L|霓癲螕 +oQ綀r;诪竳岺J?F'@CU豅Z€0J餮vk闻2g9総妄zz箫嬮?罀蓳7}鈏??镦灌缯祜蔹?y娞橣yO锿紈嘵 ??"牢橸f摽H€0畦c 汭+觹t墽厬佱橘抗x-プS勭峗 椶圾?Gk a Ua3i耡簭侌嗯k?qB?溽乽&jZ翲C ?,苔@8L遾鮟W?粴0|6硽Q恊归帶4)H覈T&]*@8轭E銡(6Q瓆灖.^咖2爵2^H覈Tj/5, P繮 lHP? 3劺糔H#?4翲侣l 勯j?6Qy&@榩鲉,:o U彔@AT楲[€0狺珜釪浄 wp湭剄t呎S罴*o L竪 ?- И@榣?矘吤g憹嵛"Y穦$G栕u`炾睅壁>J?R€pH鮗??=產3 磘+?漵玸?礝8;@榩纭阸汨?Q皡G槕oiK隓t苇秌_使聰{u彚@E謣寲,劑u`廚11G蜰ev乳? ;@砫KKt.鸖N碴iD`8/n箻砰yM喏觃#) IG鉗 O_垣夗薰笓^?^ 晟2s1"S?酃∕璻3"欔扩'94 [u7禒怖3@Xo尭S刔揜 L符↓L?rt彁# 桖x?莭B}甊zp奫Y?u7窗P#%嬅6榩棈£zu屺海Fe4彁鏲!鼸貯颹?笹⊕?sL?射氈a吜*!┉@圦 聞嘍s彴p鼓ru濻y/乨O刯摜eS┮缢Ej?廝豽瓮&躢(:@8妌@%皮@8⊿梫a^挏~T鏘??&K+b揣/颔5磟?Y?RJ#P塋濶莫喧儯4-@貦?4聞{矔G鑝7悡饜?@姨J€0犷v?v彴ふa翪"りa圝H3+聞粵?艌7A獸&<$B啫?砇 L富?O笐▃ 刔+ {?&邊hē@XK.$瀮zmR€  P`^ 勼阰?@€0@とI屳A#髎W 滬@?聛[鵌麪E \K?! u&氁a7:6砨S褞 Qj_亵e,Q艿bUkV粻]訑=o漠l?帢藮]軺u,=a F0潶釔椟Q2o枇黬,CY^V庙v芨餑 濕槍跀X?25et塥&孳矅.E撢曠蛔W 屨伝w颺]]-肺A(鏓?R褶聨闶Wi~★刏湨 鲷筄鰌}聻 臔暁琛~c菐昫邸9?t{?裟傜1迮乌銵:#??踔輋蘻?wrG信H訑+閔梙?nEA?囐?s 胫璖奘"浊撎.<赂z 劚:-p?"郧陘vv糯j;3c幈WPc!晬醣:爫]D?]Z]]=s i鶛{棷餭胫輛漣?駼侎(帶/FU據1帾冱Y舿d﹂囇X€p臐儶A D吷宇? 訳 襉^€p騗BM€  P`^ 勼阰?@€0@とI狛怖0c ?<>榑耩缱鏷q釔C$b剒郭諫傥凝€€劦J橳蔲+陽oC獘草 PG4bE╳哖7竩dZ]偘鎯刏\!爌D兲 @8孓AQa,貱v枆∞1_?yE卫訨f_導X蚵nc缕?鉚c鮨郶|鮒p働插<[牺蒪(塁 E;∪舑匚r农<镂e /"蚕Ъ縆琿Wm )f@麍>Q?f仩?g氟喳奪 YV賾Z壻朔M暀崰H自绖zy??Ge琋殽]€p栞嶧?}?蟠辁軽?W怇螜-w鴘f崌\{r滲2IO拱啎鉀V瓂?VON?@8E{Z+稏衏`跗片Jf秉淉?缣j哱W` _€PVD$cB€癢筈X 劚z彁懰嶱☆媏o4_2I_g9哇uE萿q 3cj4w"EBY@k劷*嬄扷 屨u}?duW?曐k?;蟘劄?趌N絧鯄O蒍?櫻Z?硁iic火E嶽€0Vk匉jY3諌慴< 勩 詃$ 劚:"?B*{戢d ]哯e燋@鼗?p 刢铩裾廙w狂鮈X?潗jF 秲裹7IEND瓸`倿:Ddr#餖  C A"`€b瘙9s蝮橴+捥??堰n鹨9s蝮橴+捥?塒NG  IHDR]h茀]sRGB pHYs?9fIDATx^頋O╣菚啕5^-毫鼲侟x!C z iHo芼矵鉴胓oq駙 鞂泪s?~鞥'峗蠩鲏彎q ]@€乕7o}畫W浥E 鞕罆4军庹~央猝?t?€vN噼薌熾鈨_>x魗Qw>$H€喇 茭颦?樗譿蛝?@_$痿枕?齗蹼/莜@€窥 荥rg壶褍婲1u鹜o氍5QAh妧鹠婝扛_鸹咁?^k莀晋E徂_|?⒂鱫斑徭@荠嬼稭n. 両 淔總?优忿?iXu澘]t?R糀h暲^tqm魿ёV鈦 霦W盗e属 癦]贺阽nJ~V; €2Z覧@C]C彾€ 丵簒痨1'诅溳曶酩?-!@`)搴梏蓕脝lF珫翷€ 吅鐴Qr\?搡鷊dQ?顰瀸tHs@X丅]層?煰タf,劫校趮'y鳷=湠??o镘纨x€ ?t1惍U?覙肤(扎a;::赲€f#PA絫鍂乛徕瑨哿3忔雁Gg?嶔o?S瘇xK?皯?.??岄€@5t1嶦6yI-增yK健瑬?G/进???罟混炄傀墌5€8x@€乐 阞餉洰希?缝!額;B8氘+桩91?W>綑蚕晋天麹S焅sO値x媞雜凐!亇(訣薑臒M嵂'窌Ib┗0?M琊W~%?j^K驋 ^?詈3s岂莗c@?P畫^逋臔?僕凋e,u狻鱨6明?萆Xl喈桿?t>婟旛K+@槇?]?n漛蓮E/f礼畫麻W3駡YRn??@榿勒柩 G灋潩齧駕塤{鮠j?師?呒削/ZXa@`~{鶠S6羾n纥啭婰€ 0欯ǎ€vD]躋盜€z 傣o@€牢 减G帼乔?癁4;?镃€@/亀呋[G鵮熃?€ 仌8<<煺E轤\y €f%€.螉浳 @`信堭 @`V桠 €VN]\y€f%€.螉浳 @`信堭 @`V桠 €VN]\y€f%€.螉浳 @`信堭 @`V桠 €VN]\y€f%PGo芨Q%曦O-蟄聸葔薗栈狸衟鞕@]琀po敫索\=飢T鱘辫競 E穾硞痝|  伣榁撉兣菃?癄鞀Y韏滴J琐N蚴В_d?P ? X溊労∣鯍-]蓋m ?y.2芬诔x$r^粹葥?xKy?_U鈰?@I赈釯iL睨阏??賘Ll折v娇槒~y攅戦B闺n冑4褆蟶蠞Eq瘞绩sV 婑t?鑲 綹~炑>Q涵S/L#揬y箐$\I蘮饌鐙+釰(a0fY$骳:Z'?浡鋊慰Z缧YC軛繑趏糲蝄)C壁Vutq甸m"癤{と?豉怇_>⒀d/8駘 ?灷I衏pvっ屈廠?n@瘚Iv械<锖Q mつnb dr(诬{不8皞1S心抺~伈x販?簶_槖薐?'GI袄M4V[B{zM鞔3鲒塷.鳏?暍+儃辒磞] 躩c焋r蘴藊?艢唨蕪煔G:砗璉辪斴璎v ,監ー梹曂笊Q栵%d心伺`?巼?utq新訣GJ/毶e磍t6矄骁まCy鈜獲c傌&閟PG倍壚壞*(薐燜盭漟艭W.1恷/u嘰皜j祅~殞$i塨~猌庸踂夬?sG?Q倚jdo^G}?鱞C?)蠝K镶U@<1z濍R蟜 "蘬薴?頱冶歸>i壮誾抨锽Oq,Q=鄊9?fn偈鵸選鏷钔 ?@g-ゃI . 腋Xz菛?/脾???M娧垹篂q耢丝:&?孉迋*'莂煨>蓟問}斘 嵂,枼N伞糡繱鳑E/H[&_晪boqR7M荩x蜠隒?ND┙i8y&b檞wT纆汰I賐d橽塴篒~饆釘GRW俉L企犐[PAiblPA峸韮|鳭o?糜吵 ?|胪;排E>]E峅桱<鴭z &?ye?uZ玷賛TeZe,埩 ON4墖ib剬賜 钧轢/m?p8>>>y蹁錯@]8r=革杕伩LU騄暼q仭&?覵)y0悪 L摗ツ1??B€ t睄: ?€.轴@h贺F€@雙  碅]ld@u爧u8€ €.禥G瞼 ?信:@m@郇#Y@€@鑒巟 ?爧m詰, @tG粿€@信6闔€ P篨?^ @殬 @嶡碉%? @湥6PDR€ 乯信j(蔌釩溔e碇~?ZA爉z锻煩雧篘'u>]仉鬨琮臽q煝B獬KH稚展zx{棧\訅/Z:舊猢4h6'o墷zTzZ供运J撙V&vh?屗HV粙j?昱]*T??Dt_#Sq勼7Ou閝(郛>設瑶y空eY淍`6嶛杈o隗-?+襠T^%&稳2y:8斠郫*豈鶼,M蝼膻諣&帀頗Z壪纒愩Hh;i>?f\黂f堌+毖絚|:欼賰委n罞;1,7D 砎芛X鎮>y縁藃湡萘:>'=Y2|掻OID49[u摖yW侰{蹾'gK#荱5]擨kp两jf Jo嫞ah蘻弃%f惉鈮癃d轢&]癡鰂x頤備?粋:騵嘲膐寥Z$q窶逎qc$椒績nnoq^枿榜p辵?剑娐@I褴ICE堰]辇 ?曱珅Ax鼍驏 之豠夹 O麢)"o胓5]4鉅揆Dg熣F嚇m園?Zp簪颎{秤B?f睮髎?旚=l裉?D芵态妻贜珛櫬尒?覀窡U茒G23G^N諳爇O僚倝3r?綥雐旾_虃?b讨Z鉊稔髃B厩^Ep脋2s 揬罨nQ3揚鳐orG污ナ,縻蓛敳婯錌衧G簣W疣 樲根?v蚗d?骶盕苹g瓚莲z 陑盍j'u?浠.铬檋鬾蝝]裕-3h(U窀虒萃晛€!kX|%9}祀rr陭IW?簑v舜頺訇?#c繤3cЩ2嫽BF?伄?,鯩湮翏﨡爧+)a@`3挧憴桡亭J牷$€.畈?@蠩 @鄐?€ 爐襦€ x € 礯技紕 @€ 亹纔轤dP@€劺u蜵€ 佅u€ 爧@€@咖涟€ |N]d4@€蠩 @ E€?€ 纞?@`扛?嗑牲U疉暏骈?伬C嚭豨簵侴Woc玻mu蜵?(A|S;q`輜漁讒n襘縄狭l?箤樵跼f2G抪塬$m攴?c@繦`#c蜆y灗~3?tq"皟蔸龟Oc|c?玙 捦銤Gm)'B扖靯pz4NQ蝜p媊潆1摞輟;霘J篴2€薰咣5cL鹷脙a?傫,莄役V[数?r?蔏凛甞:u罄曠 纥诳f槈*胴v嬔&E1??K煎质硏2&錫親{穼z?g岶Й悳JFt2烘狙f&釚r鎚鰒_惎n阴伟,& }B鵭捹邳s捡Q溗慊I=鮿X<蒡34灖仱3[@m蕒( 9顪@ 怏儺;'??w< 綩J迊砑Rみ*仚蜵[臛^X娎楥酯bl焊?$B馡 ?信*q@@)$i@€@鑒? 丗爧? @ t F淍€@#信F I€ P篨#N @鑒#?@˙]瑐'€ t睉B T!€.V翀@h贺H!I€@玚  4B]l@U爧U0€!€.6RH襽 ?信*藵竜]?]纤% p ?g梫?V苰喠鶢庲硊?g赓=戨,儶S烁?謯f焴H巭?=<淚矒踩嗜鑊描页夼矛_?桠"亻X?\镆di薯┓?啪譡Aj凍楥儭掽#蜚I猾j屣 e′鎞W捳蓞X_2bL恨?磜.駪 ?-宆傼璯vO畫櫋z鮛犢"A骹C窖幒b=赔殒譹消俥舘`喥欳琇-)Z兗i魸?ntX6鲣簶X神捻Rf勫g`揅摛裟?塟潯Z婌x活'yd琧塑S纋(伾u堰?"C盂柦%麈z椥{卓瓅壷H`冰jD*千y{?K够N?m暴E爭.fjX荢-"塌﹗靠l簋喞?c?撻蘭=X0N4i"鳅l?cq=cf$PGeS徆畞?M呸2$咭稂}?僞l桜re,^.沐;灂鶿Хm蜳素HN脆h:槂簤wh[&Gi鐅#媬^V鰔`u崸l?1C` 佷l?肓膲W鲣靔e飄L幋吚: 栽舥fHT€ ;t盐 Kl廆|拷@珏Mo€ 皀桠弘Ct€ 0/tq^摁@?€.>D@@珏Mo€ 皀桠弘Ct€ 0/tq^摁@?€.>D@@珏Mo€ 皀桠弘Ct€ 0/tq^摁@?€.>D@@珏Mo€ 皀桠弘Ct€ 0/tq^摁@?€.>D@@珏鮲闫峾 '@€?PS FDC頋[籹c +7s}?酇é媬媧祇孄锧€窥 匝臽[?岰碜僧nTBo稿婏╜{]7B糀?簶!%珁~)烧選巡O]sQe馤l\8bZ"0?鷷輝練\EA煷茭[q[徔A.€纍 獭铃\q"案 癵k雅?P賳餐隗&w@u 匝培?娇]0誉焥仸謪8?O?8]@?PG龥圿 w騴揖鳍?i笶懹j譽裲憌;XI€ 其笼鑪?yd[3簚 ?仛贺6)矁 ?榎倜韆? 乫L畫蛺"@tqU&G@@皟 ?@鱌er +t袹 ;@tqU&G@@皟 ?@鱌er +t袹 ;@tqU&G@@皟 ?@鱌er +t袹 ;@tqU&G@@皟 ?@鱌er +t袹 ;@?簒銒応鄿{婳6€ 癘棗桮/潂xzvv x瘃梅藜?^\\d9A:??冟?;sw庸饔{结 €^匙3倁xx{w酱?鄜€滕湔揑t氧4唾W?鐃耵S哈@`撖o邁X]t鴾椇@鍃3豐:厨奬鬸?鮪マ经v2頣\閪椪T瘚稂饾b P懤氵?瘚u轤蘢鍏?Db|%6 藜:j}U:兆揜]?競@n莺諀?窸撾#衃=縼瀥箻|uL潽; m!@`嫘E籴iY饮r!$@?両t彪M;}j犄吷攥嘧-?€T覧9,D褘耶+勯颚i&;M鈄莋谓D槀熏坊'I?玻LM蕣"鬤侄o羃u瀴頗/M j9萓緗Awq飖秂琽氛m觇〓)嵾脫W ,赤蠻趘y袑Y裔q赭袂叒W=vX6c5m|奲 逗 扦躬!W媽侙sp蓫nzZ?gmo蛤饌皆鷉玳-腓庑^監*锟20 P匑驺 搤瞐R?鄙荋扶掟嶉鈫融嘖棩$汓|癬 鹐運o螋闣?鑁61鰷蹵Z"孜%邙??HA?崗?)w轧-5m?靌恸b$N!竅檛採裳尳`teP'鱵杀4h?阆G>{W0q浣c>34聘?簒lt短#T潵尟豢稵唪k!\|鵂/闝k<鎫&x?诨c @,馡x躨oHA铤 粁N嘁拇"vu,齗g聐蛄▓#I騉俄*e?-觰R]俽?駤e#9B济`&'x&粿弈J?h孫?Тx瘄嚦饼H鰈#?!?(峃d蓩麙u獁N阨鵚僣鏎灮$s阀淟6笻e襂咜2皘 F鏡?躲'?cGc i阈蜔彖鷬?#哨袠~?M铸枼淤l信貾钊~飽渿凔{譅k&;?蘷:uH正Wqǚ# 圅劐紉镎a芵h|q筑啿鎯*k譶慾?cOvRKtqR#鼐覬鯭牘蒑蟺緃暧)?虶^%疞R正Ww豙?= .ε燎徊柫??t泐goリt??涯刺┾庵e駟.Z(蚫銍却旖濄嫫絮!L>喖棉%U廃?/嫏漰p楏K$丮/?ハ;7扌3蛷 牻 锧鋠AO螦蛈麵鵙騤\??n3C簑NX连┮の鱈U e嘚而}芣犙l嘐瘶虿愝翳Q舤p侎恶}泱拿簄窊艃o,€A礹,w襾奎8G潎蠖{q蜩湍[鰵aPF`P-屎0禸砲呝爧?C€绖信 徕€6G]躙€&$€.N最Z~?+>?蟆~鬐??幏攡但郻W噬熼jqv~ ??傺v[信m针*趀?这7@薾?夘W憟)H嶭忧V艍}d族02霖!` !€.産0?縼珬Y-{馏L.桟厃桌g⒃p @稺羿纳$fe ?艜孚瑰七+S襕躚唿n4惎_p?销違o枸漆c'?Y2儏U恵o}?清Kb椩騼-僒w?飼3f蹧稤桠vj晩? Q/q姍qg粫谓囖+疣錝D4y泃帑嵎墮嬹颯&崈婰剘}胞鏂4c吓瑨1'U-齿I~谤~5佁圆渵階豁YJ鬧#p郹k17疕梍躼恏顴熾eQ嫃Er挷L&霔軽趝u.H!p瀯湉0焆辩懍De F?孓G?炽-pNLA€?瀭j >cYumG掤賓瑫u$飚7?>舰(灀鈶 塞┳肋y豄l槺,鉌p嶛隇庺z錈鹠崀>[髳%瞱 鈱=$兎/罥摔(鰡?嵘MjW縼t*aTa誙2I室嬇.2 猡 <t钡戉 愜鬍Y(3?霰ThW櫧Z霢熝I処)J?檪W眬%QX贻誛坛嫃é/`轚澙塏!竡T懏麅寭營f\e8霋4尺HY 信 饺v=鱧:c颺綌W2麷立嶟菋┡向? B礐铗?胙??`搲ty薉梄淴*HA輱?|拨I]ⅩSM]Bi贺V=椚&-}~a@@` tq =冼荻&w衁夽糞_*鷧 爧[1C€繲信┤€禜]躡請€?€.NE短eO鳝檽A?粓/蔂绊欺嵻鏧Y?=?伊h纷t??鐪禖Y詹嫌俺忴犸繳G:省z騍矧1}>c嘨?滅#籢捓奊箕PKG赿d瓏&X休烫噁潇?p衕@uKヵ'?b}\棴O踪f霱<膎揥磢蛉hP>郃M孩褿j耨欮 愠齞.侥t 苮2>{?砪hB軺`狚蠚d/檶z嘫~餢f╡T蹴Z?#箌]l9箐鷁|揺l曣0狣?;?膉;擖}U挤癵7s嶔}c鯬傷汚{锷y悠茖?蒽A&荹鮜靉菛桠z朔暃,汔訐<诀_<熲t弢敖鄄)癲6慍醗|.俴{3蔐ㄞ线)?坃殸媍璀╩?斑咪棐?嫽.顆L廲?顁8荆F6颙6#~S糌;?鼱Q族pf3wW尡?篨閨 %僴阵鉝擌r1俚n?眪鹨糐T]艋zK?橩摇%缳bo蒜詥 且ip迺e隿燍a鳈r馤 *挓5C32程崫e喪|盋0N冰V舀w弼蠓O?<=;; ^}瘃梅藜?^\\,e玗啕榻訌N啭帑?蛤?2膀S仡詘荖?倁xx{w酱?鄜@秫湔~q夾匫@?蜵穁9O纗J6?<@`[v>5信mW 乮 爧域柠 l焊瓃- LK]湒o檞t鎐钇O蛗渻屗R 仌@W]牂啐灩籙?8@`信絍灱!@ E]\迅Hp伴_嵜砗C<x埫恿t?塍嶝9?媱竳pp?ox,N? H姛)P龄煡H阂{逩實笸籢蔗蓅嬹忮 @`鴞7?浸#qR3[:駲?:=t胯"啕鎒6JE€榔 p幒v]{-S爘髴雾Y` @`R桠??熴パ$绋轪^&鉉1l?m5(8 0轤j慘?-y5职. >丌c銃髴蝺|Q症D#@鰦u8VE锵u絔K?迸WTd寭腕鯥暇S桕 O淍( 犁n 犙€?纞辟覓 帻h4 乫 p広liI € p嶼?€ ?t辟覓 @ 犙€?€.6[Z 鑒4欯€@信fKKb€ P@],€F@h贺liI € 瘅n 犙€?纞辟覓 @ 犙€?€.6[Z 鑒4欯€@信fKKb€ P@],€F@h贺liI € 爧衕@竳yy賚r$@H€@`楥€@信λKr€ 0?€ ?t遍驋  $€.? 4M]l杭$@ 高?z徼裘映吵犿儚觉疋鈈爂帖 茺榻譤} @庚宍钧轢/m?伏>>>y]磻炂蔝h莤 癬桠~kO€ 0垁e咳麐儛b @@/0锳€ 5€ ?鰦椩 @`0tq02@€@信唻Kj€ 0? @燼鑒门%5@L]寣€ ??簒闫?.隒侖5阢らT 祁淦嵜嗲拗h辄--fm篼&€竚捋樉z3X淍]\6'婄珑优 ←i/优铧煙_锜憓M* 喂刯锶5?x纵鱥Ta镓尜肬 '+!郋Q俼享腋?乯鸈窏褺镝d\b敢D肥;呀$7鱍e覊s\?褄#Κ颜s}芽j敨鋲?缘搼~揮狝拏1lU鍼?{蔢Bé孂杞L鶪R> 捯Moo/谄 [R=搸蝢%G瘱茧S畕Q覃9斯e摇?t憈5復z蟜5熰 ╗p沱4k?仚 栽E褍x池晻藒Q$p&軰譻瓂辆洲譐T08~sQ?跹erod慇;?柶H抐檓煑鱛扦C[@`j赈 e稜鸿缛t敦尖gs謻~qj譌€x #伿鸿穼#?x孟 fC ?c最jǚ*隽m郝覹羀尵烩哻ⅴ- 0?伿壶賾T釽&糬蔥zq灲4銤h襝馂ㄏ1煄碷壠wΙzM?虽荄?跖dM韆X唲?鲑坌H*€棱觇b1x3蠠攋靳夂$5窪s{/?撉柜?檸t4r隲e|oH?VI?髀搢婲.鎨 异jG%∑O|T篒怹2G蜒LC[*得  0???荇沌hV涢帚_-X兝,紺€諧犣呋YOJD@(&纞!@燗,*)A€@1>wS寧€ 蜵,*)A€@1蜵嬔€$?j僂%%@(&€.#! 4H]l皑@信bt4  爧晹 @牁篨寧€ t绷 @嬔€$€.6XTR 乥棗桮/潂xzvvxy瘃梅藜S鞖€ 伒x鹘籢陬p?堩鰦k+馌€罀z鰦K咶€ 澉?]|韄?A<竸 ,O犽5'?Y>p"€ L@圄Ъ?W\B€@[M[?@G]菑€ t杯z ?€.庛Gk@h贺V=€@邱? 碋]l珵d@爧泺€?€.禪O瞾 乹信q黨@m@郦'貮€?uO.>с俌K耄跥嘷:肪箹€€v総w 壶牍['瘻軂匸厘飤訌N遹c侇€吏X骇耘縴縄齪冩?C濘,A帻?~显?<>|頿壊N丕巳?a竼 ?栴.鼃頵褋I€ ?桠 B8€ ?乯鸿>徻蚁@3hi輛筎I烼 孚璯廁钇x褬h @`Z簒裿W9飣tF蝳%]瑏裂|綮?猷€@Z]措棰S?W|?襦瀇I嘽鄱=溕€€'P禾v.?|髖e媁'糟.椑璃鱏逯蒡?b W鋌痍竂>k]闇篎嶐@`c栴瓻[_廤oY阴*?+\苉,輚tq拪}骠鑵#'慆讫棊 € 0園r鯑嫴瀢-騼k\M蠠湉鵴Y%涬腧<绝洺?肝凔铸塷[? 瑩@駄倩h'WoY玡■渝d葧t逼G€倈緍鼤*: BHh@`"U:恽1皌W鋑l?2?曇7o}眠3R蠝哥钍?j向gVoi一垼秈咃櫤镛w蝵{V;禢/进?? ^N^,轼?簕?{? ?闉伷牓{嘛觩?鸞N電忖?z€啦Kd储sT;宠?蔺诮a @t矜s7?`扼?棏藡@燯,輂暛瘙Ⅺ^鸞7o澕r覍4:Q<粞鉍o|鐛VyA;'酪蒗]tc笋u煩m 畀v奯簡(顋 }4O`鏚w?郝邁閲gJO緌尹 A@?佄希^^^顡YC€b>wV@€@3信fJI"€ P篨". @鑒3?@ˊ]€ t睓R T €.V€ @h贺L)I€*@+@ 4C]l$@爧 €?慃>峟?@€@/併沣揥O魵b@ 侂|熎N*M€ `!利J谸€繼爧{?yB€€篽 靺犁烥軰其 @ 唼忷TA@€€#?S螢卩螰IEND瓸`倉D猩陏寕K <http://www.microsoft.com/whdc/winlogo/drvsign/Pmp-sign.mspx嗌陏寕K http://www.microsoft.com/whdc/winlogo/drvsign/Pmp-sign.mspxyX侓;H?俔膮'cカ}D猩陏寕K Bhttp://www.microsoft.com/whdc/winlogo/drvsign/best_practices.mspx嗌陏寕K http://www.microsoft.com/whdc/winlogo/drvsign/best_practices.mspxD猩陏寕K 嗌陏寕K |http://www.microsoft.com/whdc/DevTools/Debugging/default.mspxmD猩陏寕K >http://www.microsoft.com/whdc/winlogo/drvsign/pnp-driver.mspx嗌陏寕K |http://www.microsoft.com/whdc/winlogo/drvsign/pnp-driver.mspxD猩陏寕K 嗌陏寕K http://www.microsoft.com/whdc/winlogo/drvsign/kmcs_walkthrough.mspxD猩陏寕K 嗌陏寕K zhttp://www.microsoft.com/whdc/winlogo/drvsign/crosscert.mspxQD猩陏寕K 7http://www.microsoft.com/whdc/driver/WDK/aboutWDK.mspx嗌陏寕K nhttp://www.microsoft.com/whdc/driver/WDK/aboutWDK.mspxD猩陏寕K &http://www.microsoft.com/whdc/winlogo嗌陏寕K Lhttp://www.microsoft.com/whdc/winlogoD猩陏寕K 嗌陏寕K Zhttp://go.microsoft.com/fwlink/?LinkId=95774D猩陏寕K 嗌陏寕K Zhttp://go.microsoft.com/fwlink/?LinkId=95775D猩陏寕K 嗌陏寕K Zhttp://go.microsoft.com/fwlink/?LinkId=95778D猩陏寕K 嗌陏寕K Zhttp://go.microsoft.com/fwlink/?LinkId=95786D猩陏寕K 嗌陏寕K Zhttp://go.microsoft.com/fwlink/?LinkId=95790D猩陏寕K 嗌陏寕K Zhttp://go.microsoft.com/fwlink/?LinkId=957911D猩陏寕K 嗌陏寕K http://www.microsoft.com/technet/windowsvista/library/85cd5efe-c349-427c-b035-c2719d4af778.mspxD猩陏寕K Uhttp://www.microsoft.com/technet/security/topics/cryptographyetc/authenticodets.mspx嗌陏寕K http://www.microsoft.com/technet/security/topics/cryptographyetc/authenticodets.mspxD猩陏寕K 嗌陏寕K ~https://winqual.microsoft.com/help/Inf2cat_FAQ.htmyX侓;H?俔膮'cカD猩陏寕K https://winqual.microsoft.com嗌陏寕K >https://winqual.microsoft.com/)D猩陏寕K mhttp://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en嗌陏寕K http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en Dd/v餏  C ?A flag俠餙 }S鄨VK穬僁<胠?+ ?n? }S鄨VK穬僁<胠?塒NG  IHDR*rB?sRGBPLTE唘-棪諗叁%塃f婟魠8矣震菑g〥v壞dy粃禕IX︱?韁#蚁琯竽ǘ蒡g!宅(舄h髴H哩Gf桪槐勨?畏擇耱址亭,*'(诔'?+洕?78苛妹?镞聾Vj睰KM8Rl?(肊'眍飫椡皳2n8屍?浭?!RSU撩批樽ZZ]箶)髾S韩r盱?0捀?季林R'唺婥汫黁d畨壎_8煌厶够仅蜴崞v仁蘋k雏穻瑯O?&ND{唓6U,Gb?F漬吢髉!侍螎炑憮揨q订徕泸焓魙,背礲ce漕貙帒兘@癎s;qsusuxx{鸿殛#慧旵BDmnq崣、?jkm*魧By綜拖挟俺趱醵富yz}當2Gi1貂钽沅梹3。ベ圮亙喣派體#榱+巧藂瓹凸棍消%╠oH车岗D'捱嘭仝枠沞m睖磩彐鏺禘Oo1茌搦瑃涎覸p4鲼亙兆財枠 妼巇fh簪]挠銃徣}~仛湡彂擣FHF]-’佟ch?nq璢^`圮拮刳沅屐祉骁琰<=玷鑈Y[哙酺UW`acエ镳觌?23vwz篌蟀?飌zo賍锶2恴靮:负掀?PPR@?A屡銦藹霋\驇[股璩d]鲍怠獜/葂`环擳毎?蜓仏埐燕緵 $#k懮怕察脬j葵萑?"#.+,持w鷒ps鐎 I`.浧g跗笫%K)彣蘋?醒陝唸澡緷煝敋?>檺瞶繀劧赶担X"魍G繧DAThC頇 TTU壞AJA!A襊 -5MM襋B-B?\JL?L⑸?R@以D%?+迢N雐?赪冲魍 3戓L?痤伙絳窟 N|?в愊?U蹻?麩肳廃摍 l 銄纣澧蠹7艻 0磪硟邾蠋q蠱?|]?獜蟶濈浮e餅,q-1Sz墎蟅0?聒◆鈎^P韝樁労黐韘k疚3|`谳w ]缅穿p,m鳎@??>M|Q N?坚p蛦?屹簈酑右樫恸摷抗就?e?TE稷`b猙ZGld钖8攳?箩6[\9F:j蟩醗[>~蠃k净瘻G1譸t崱a枹澿8?`fda麼濺顎|'緮#7橏g颂Gz府5銏侈醵硺'诅5芄)0;凎%3杛j蘪o1百X?擐希.鈫C?~5虧7l2RqC综腍檞^,勈L=I}&謭襎枸B鴃f堻愹味蓤Q=4丞獬惨忿sM?q#?珲蒿㏕b%A`1W"笩"刅寨l@%菄- t4觡钦輓M輈DAr%j郥躔0風mNu磿鹫〨玺?掏}记毡榲陕隴^釥 $)U楈&?喳茰AT€tO咵JVA纫z笅6軮uG勌是圔q)纁 幸O颷 oL溦劤莧摸5鶋衍间毛鈻煭瓎(C)?!絆!B諤,弯?@M慦澄f妍4 亀A礫猽K0▍ `s贊0!q[Eoe帖碼<7r捺练凩3瘝C$廝=pI态VD潳i忆父QG膋销L氳i墐嶒P螢鰅^2迃X 闉+渘鄛流^^茖V2營?乗?赧r?Pp岇仏*觿+炃(%3巁I8n m!c=&甙tL遱洲蚪髋撲纊杧凞M 搞?據?獞埑軧笌(Z輸5売︵烩P|?塄9釥?t?-勩菽Hg%&x腘榺萯eH纮恢>y莽XVm€自粨襂?隤qK藾€羒NFV?@M蕴娘0殻?溁?D澪gッ鱩s軒&>to_!櫐 i饸f鬔堦褤縜 %: a 颰蛦*? 3, 贖4脱t2嚳L濙锵慭q饽珑9罤絵_剳给m+7Q粛x獏C-灤%z僂嘮PB+WE絰),?C7?-{43≯?C钸祂WXX樹 腍蟉{慦鲤V暼>翏=櫶??朖2W{‖?N綜?o玄l3~?鳽u??CA乤鮿?7糁?de珣2猎YI矞婙M*!\Df恋Kk?_i肦┦湘n叠臖擛M +:c%K(%燸収 h2濠兇B搄R曦サC坲F?&嫩//镝?O倘n逃N羂]Y狕{*矬鐤捠迤遲 J票8疪+ 毀?Q杰冀贖^arPkB阾述 垢飝'N|屣玖v妏裔2獼钏璶楮Q齑R噭vZ?C仵{拶+炑ag飄紫wF嘳跨澖忾?赉-戾1IEND瓸`^[ 02 0@P`p€2( 0@P`p€ 0@P`p€ 0@P`p€ 0@P`p€ 0@P`p€ 0@P`p€8XV~_HmH nH sH tH H`?H Normal OJPJQJ^J_HmH sH tH `?  Heading 1,h1!$ゐ|&d@&P25丆JKH OJPJQJ\乛J_HaJ mH sH tH t`?t  Heading 2,h2$ゐ|@&15丆JOJPJQJ\乚乛J_HaJmH sH tH p`?p  Heading 3,h3$ゐ?@&.5丆JOJPJQJ\乛J_HaJmH sH tH b ?b  Heading 4,h4 ゐ@&&5丱JPJQJ\乛J_HmH sH tH BAB  Heading 5,h5@& B*ph3u8Q8  Heading 6,h6@&DA`?D Default Paragraph FontVi@?V  Table Normal :V 44 la (k ?(No List 2B@2 H Body Text&﨩& SmallCJr`?r Header$$?&dPa$'5丆JOJPJQJ_HaJmH sH tH D @"D Footer$&dPa$5t ?t Comment Text,ed-DM 览(5丅*CJOJQJ_HmH phsH tH HC@BH Body Text Indent刪^刪LRRL Body Text Indent 2勑^勑P﨩bP Q Bullet List & F h刪^刪H﨩arH Bullet List 2h勑^勑^>`?^ Title とむ/CJ0KHOJPJQJ\乛J_HaJ0mH sH tH LL  Subtitle2 む5?丆JOJQJaJ€Z`?€Plain Text,Code-DM 噜4B*CJOJPJQJ^J_HmHnHphsH tH utO ?t  Note Heading$?$dN'5丆JOJPJQJ^J_HmH sH tH f﨩f Procedure!$$ゐ&dP5丅* CJOJQJph€8/@8 SList刪剺^刪`剺N@NTOC 2,TOC level 2 勷^勷F@FTOC 3,TOC level 3 勦^勦V@VTOC 1,TOC level 1 CJmHnHu Table row cell$:V!?€€€€€€€€€€€€>j謌€€€€佒傊冎勚€€€呏喼囍 j謏4€佒傊冎勚呏喼囍 巽囍 !f$4$#CJOJQJ吺56CJOJQJN﨩"N Table Body,tp" & FCJaJF﨩!"F T Table Head#$$ & F5丆J@﨩@ Disclaimertext$CJaJ@﨩@FigCap %ゐ5丂 CJaJ<﨩r< PDT,Term1&$劥^劥5:﨩b: ODL,Def1'$刪^刪:??: Superscript H*OJQJ6??6 Subscript H*OJQJJ﨩J Plain Text Embedded CJOJQJd﨩dVersion++$$d&dNPCJmHnHu6U`?6 0 Hyperlink >*B*phB﨩bB Body Text Link -$$zz  Table Grid7:V-?. CJOJQJB'B Comment ReferenceCJaJdj12d Comment Subject0-DM B*CJOJQJ\乸hfHH  Balloon Text1CJOJQJ^JaJ8^"8  Normal (Web)2aJ(1( Red B*ph>> Note end 4d?CJaJ>R> Alert Text5 B*ph€PbPList - New Paragraph6刪^刪`??B`  Note body7&dP OJPJQJ^J_HmH sH tH (﨩( Italic6N??N Text,t 9dOJPJQJ_HmH sH tH ^^ Bulleted List 1,1bl1:h刪^刪 B*phf??f Bulleted List 2,bl2; & F|OJQJ_HmH sH tH HH  Text Indent<刪d|^刪^J>)>  Page Number5丆JOJQJ E Normal+BoxF>$d%d&d'dNOPQCJPJ^JaJTT Text in List 2,t2?勑d||^勑TT Text in List 1,t1@刪d||^刪d?d BLe,listend (LE)Ad?$CJOJPJQJ_HaJmH sH tH n?!n ALe Char,listend (LE) Char$CJOJPJQJ_HaJmH sH tH *W1* Strong5\$﨩A$ Bold5VQV >Normal+Box Char CJOJQJ_HaJmH sH tH FVaF FollowedHyperlink >*B* ph€€2r2 I StrikeoutG7TT Body Text Char OJPJQJ^J_HmH sH tH 88 GStrikeout Char7 - Char Char Char Char Char Char Char Char Char JdOJPJQJ^J66 Footnote TextK@&@ Footnote ReferenceH*e HTML PreformattedPM?( Px 4 ?\'??2?@9勷-DM 葺^勷OJPJQJ^J44 copycodebuttonZZ 'DL Char,Def1 Char OJPJQJ^J_HmH sH tH PP & <DT Char,Term1 Char5OJPJQJ^JRR WF/Bullet List Char CharOJPJQJ^JP ?"P WF/ No SpacingR OJPJQJ^J_HmH sH tH :1: WF/ List CharOJPJQJ^JNAN #WF/Table Head Char5OJPJQJ^JaJ2﨩R2 VWF/List2U勑^勑,2a, UWF/ List2 Char&r& X甶OBopldW,, W甶O Bopld Char$$ Z哖BikdY** Y哖 Bikd CharPK!倞[Content_Types].xml瑧薺?E鲄卸豶?ヘ微Iw},浔-j弰4 蛇w旄P-t#b螜{U畯銧擉T閁^h卍}悒)蛔*1P? 揯鬃W孱0)櫐T闉9<搇?ぼ$yi}佸;纞@囨?顚跄H滖男u? D谞z內/0娗盃瘥 $€ X3aZ⒁锣,癉0j~?叨蝏沩~i>赝3縗`??[G殁\??跼k.搒粣..椃碼婵?PK!ブх6 _rels/.rels剰蟡? 囷吔冄}Q颐%v/C/?h"脎O 劋秣?孂釘 毆免C?薶醰=偵叅?[xp啠{鄣_糚眩V?EL+M2?'歠嫸i ~橵 l硔u8z篐 ?鏄瘊?W鈽~J攘T鴈\O*餿HG絸HY垫}KN吡P?菥甩眿T鸭?/#辐A7聁Z?*c?韖U咤n嗚wN蝴%幓O穒鑸4 =3跅P獫 愉锸1弇 \\9肭戸釳負?a鸇鵠凔Yt籠繇[x掛簌嶇]蓕Wr?|蒥斚g-闯 eW?6-r及CSj嗜i歞 鸇袊A轿IqbJ#x剃簝 6k愢?A凷h半?蕦t(Q?焯p%m崌&]賑aSl=怷眚狳\P?籑h?M喱蘓甦DA碜aV譈潤[輬fJ澝璓|8 謩AV^咉筬蘃犿n鬓? ?醼d>襷消╪湐菉 €丞饝>錆b窎&芪猡2黄v棍弈Ky霞ん鯠:菠湝,AGm\nz惹i脵?u蠂YC6霴Mf撳3o秗跑$5叺麥翹H匱[XF64蘐,褱薓0隕)`#?Y僠;寒%?馯儋m;麣昍>QD ⑧嵷D靋pU??LE?p彟璵鉁%]枢?fi劤r玈4蟙 7y\萡轏鈦n暡逦瘖I R?3U魚7+侖€赘#澂m q˙iD€屏笅卛*窵69?m蝁&困鰅咠HE倫=(K&鶱!V霄.K抏凩D暷暕{D 釜鱲E軎歞e类N茻麨e?訫N9邷R旖6吻&3(逯a有漩/DU韟颤遻藠鑹Y浾瘸槙秱V桍??穁[辨4^n媛?喠?J峋??Q?鹐Bo–羾M Ⅹ抦 qqz pv PSo}%_-?袋4EFM揝圸`峠ok%q庛煎qtvwxy{|}~€*T9??? :.:>:鏢歭渞w 銤T煾擞犣€惧quz S%3OQRTt?eEacdf4PRSUu6Tpstv . J M N P p     ; a } €  ? [ ^ _ a  1 4 5 7 W ~ *FIJLl!"$D]y|} 1MPQSs5WaW|W刉糤餡叫Db逞跹`炓镆<z∮粲8傇淘 $j≌苏&W撝乐橹%R嵶勺鲎=jz敦阖=j~亿6嬠犤噗?l娷寇;ㄝqXX?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁X?%暲曁晫XXXXXXXXXXX€X€X€X€X€X€XXXXX刣km!晙餿  ?R? ?WT8储荄沮鞨愓簽@€€€饸  ??  養 S  ?餒??  qd Copyright_Toc173129682_Toc173129683_Toc173129684_Toc173129685_Toc124783261_Toc173129686_Toc134592840_Toc173129687_Toc173129688_Toc173129689_Toc173129690_Toc173129691_Toc124783269_Toc124783264_Toc173129692_Toc173129693_Toc173129694_Toc124783265_How_to_Sign_a .cat File_Toc173129695_Toc173129696_Toc173129697$_How_to_Add_an Embedded Signature Us_Toc173129698_Toc173129699_Toc173129700_Toc173129701_Toc173129702_Toc173129703_Toc173129704_Toc173129705_Toc173129706_Toc173129707_Toc173129708_Toc173129709_Toc173129710_Toc173129711_Hlt153010123_Hlt153010124_Hlt173128760_Hlt173128761_Hlt153010107_Hlt153010108_Hlt153010065_Hlt153010066_Hlt173128770_Hlt173128771_Hlt153009789_Hlt153009790_Hlt173128776_Hlt173128777_Hlt153010082_Hlt153010083_Hlt173128783_Hlt173128784_Hlt153009679_Hlt173128790_Hlt173128791_Hlt173128797_Hlt173128798_Hlt152759176_Hlt152759177_Hlt153009690_Hlt153009691_Hlt153076176_Hlt153076177_Hlt153009968_Hlt153009969_Hlt173128822_Hlt173128823_Hlt173128828_Hlt173128829_Hlt153009975_Hlt153009976_Hlt173213666_Hlt173213667_Hlt173128976_Hlt173128977_Hlt173128990_Hlt173128991_Hlt125204885_Hlt125204886_Hlt153009739_Hlt153009740_Hlt152739187_Hlt152739188_Hlt173128998_Hlt173128999_Hlt153071013_Hlt153076391_Hlt153076392_Hlt173129012_Hlt173129013_Hlt153010051_Hlt153010052_Hlt153010014_Hlt153010015_Hlt173129022_Hlt173129023j????奊*I鏚砃XQ`鬸zkzk%q\x羮w~w~ I貛貛鄸}摓劔rmoG壞犐h$$++搜搜窝窝||壱壱MMUU 湓湓蛟蛟屨屨栒栒ggKKOOQQVVqq勡勡囓囓[[__r  !"#$%&@'@(@)@*@+@,@-@.@/@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@[@\@]@^@_@`@a@b@c@Fv&.?笹rILL镹;Xm`k胟Rq亁w~崀憕3m貛 礇獮楔櫕r伅壉K喗n辽q%%,,萄萄涎涎}}娨娨NNVV 逶逶笤笤嵳嵳椪椪hhLLPPRRWWrr呠呠堒堒\\``r))|傆嵱斢曈犛W林橹S嵶髯kz湄k拜拜递遁惠驾凛螺jkor11臔糎肏R&RRZ[Z``豥eeeee蝒鄀fri秈餴Mjgj歫SvUv藇譾_wgw VZ獌EI唲巹g獢鯏鷶Q銜B鞒陡扛1牷 39崃枇缛L拜拜递遁惠驾凛螺jkr333333333333333333333333333333333333ReEd4STt. N  a ? _  5 ~ *J"]}1Q)),+R+??D1T1???>2?? {2{_珵_桨K~ LW林轮橹ST嵶髯kz湄k拜拜递遁惠驾凛螺 Qjkr))W林橹S嵶髯kz湄k拜拜递遁惠驾凛螺jkr$|謠?}t8N?~j珓" Z€囿轪?J?D?????阱|h? twlz^墩? PGAYF@'V??2櫈d瓾$ 綥?笧灱鵟?膻,  &?b牺?m?:炧3甎'5 >窣Jl ,廈(tNWp 牦&V燬绕T#縎??4QZT@M:^?nU`VX9 糭X? 阤抋T}?Z胦\!妇gap驊F萷佧&q繾"莙剆格B?L/晐窣?Z胦 阤鵟?AYF ,廈`VX&&?蚯                                            夲樠                          鯵跃                                                                                                                   鎇阑                          8袙         @ @ @$爎cU~;€nF覻+ ?U~; Y舏??穣}#z砓/#!%?MJ=?€nF7E?€nF'X*d?€nFDo4€nFrQ?}#?>@rQ??獲€nF?谺€nF$C@?MJ$C_M^^僊€nF舏i翽i翽覻+ ,騍€nF5U€nFz砓綛e]Nt靁€nFRd燴綛e] Yn2b€nF裿榞€nF膞p€nF経rRd燴腒?穣'X*;歨怐Ml三 ;焄\|!E %AY+ib+?,嘖,╗-1O.WF/\(0Xp12鎄2辝3i?4(78: <=甁=Ly=巊BKrFABG6H睺HI5K訮O甶O1}QR誟R鞦_@s_獃bugf)gWllPmrE^tjx逳y?be](€A=€kS豖鑣?㎞poN 齜?a )坒*噀l|媉譛Yb鵋'O玵V qsq);2琫->A5辇哖Y`橻鄛顴孯?m瀏JE:{)濢"Ymp?疢丵w{Z' v痯 [~~h'鸛@qp@UnknownAuthor G? €Times New Roman5€Symbol3. ? €Arialk @Simplified ArabicTimes New RomanG5€  狖hMS Mincho-3 fg?= ? €Courier New5. ?a€TahomaE=  €Lucida Console;€WingdingsA犽 BCambria Math"1 鹦h????虴?!暭q!暭q!e 亖4d99[颋 2僸?圥?譛6! xxFDigital Signatures for Kernel Modules on Systems Running Windows Vista$                           ! " # ?鄥燆鵒h珣+'迟0豜(< HT t € HDigital Signatures for Kernel Modules on Systems Running Windows Vista Normal.dotm1Microsoft Office Word@@>N?s@榮厍@榮厍!暭G \VT$m 醐 &" WMFC繝 LLlVT$m EMFL U"   Rp?@"Arial\0 ?@1`2?? (2?uO`2?? _?1?? L*妾71€€?€X3.? €Arial] "]A?`?1?9*1(1(1t?1P1L*dv% % % Rp?@"Arial\0 ?@1`2?? (2?uO`2?? _?1?? \+妾71€€?€X3.? €Arial @?9*1(1(1t?1P1\+dv% % %   €% % % !F(GDIC+i 4!b K  Q?,g 2,*P$th% ~(*组分徢t嫹H戵,}hS欝8咊!g#\'D'E交党帉桓昧]ZZ[庲'R(4 `xWUT"友觊刈翁篌貂蝰邃USR盱#wB岕]Ⅳ+?构铛劥hfdē辆煖('*媻A?@溷xus嘲鳅!pz矏,U6=媐仡捐Dゞ〉usq艾=<<[YXzwv}zy傅松谪洏噙MKKmkj镱;sG-]F8_D梖C畄g茮曐w殖>蓴?茖C緔8n2梃HFF桤淌DBC邢878:{剠4pVB秡D危@虩@脜1iG沼324唭憥槚,+.掭距@絻G汣Hod汊攽痫ecb`^]#E?摀\掚]d.`IE秌ca`儊牆RPP苒&8?蕸G容 €T斬g摲q唟ィ骝猜膳弁枭阌_鲽qnm台蓱k蜅咋葟|粂d砶O8垎珂璪G膲v荻侬褳j秖ZI橚$簕x)K捃琶亊}闩甦Q滷4?.?扥ozp祀#"%聟n璹n叀r垨spo细熟z1o4嚔v漆羊秫н*铁/溍O槵徉綮瞛V-u3€0柛,ね(眷契捏'弛蜌摪$衡8蓑;绪)敼秹2敭+灵0眺!声暄郯汶G2蕊眒e玥c/彧喇虾劚#墻%尠%鼠谫8X5彂彂}OM ?'S黟p区墼蒌噍阏宻聉?'贩R%符~S 帆~ 帆$妔尫O'3s3M 9宑?s奷?卧茚溴嬗哕?塓64;qPq17彂讬9"$岒{撡谯茌漶骐熹憎}9R#P!P4H1d0G6憭┏桴!LL!欒淳鏊藤樵葆赕腱拊榉0P!pPtJ9s"刎蝮篌┅┚艞瀑粼茚赍骒嘬愀GaHP!pP:M`1L悫念涱碍Ъ炒达鹳污茌漶嬗哚鏒'eP!pPEIS1JqQgOpΟ爻┚{姨陂茌潢骐熹哉LuE qE%P!pPatHNa6MvO烤疾δ铂尘钘藤樵茚赕腱捃鉪I坿r1"tP!p&€uKStHFubJPgsK猕卑きЪ尘硹阃污茚溴嬗咻"|N68P!p8H85N&teFP8N"gJ#准Гきж辰?腺谯攒蒉哙噌矍O Pc6P!p4QfH7es${?煚ΟΡ渤┚仕掏蜗醒艘矣哉0pP!p:E|0p!7LOゥ挡磨つ布尘艞魄"咳?縁#He4dPfp?u5RdP€7SEE花卑きЪ辰縏倧噉nC繲?t;eL!E;u&{PL波Ρ渤吹~禵WXkx\lm\噦z{9ugg!58~€4I:8a:ⅲぅΗī2w?j@CXx]mm]nCof|4LRRt:玣 Of !'棑槞殯殰淥潪烼咢WXkn巐\n^_?g4JF|7`~&" WMFC LL(憭摂敁憤,`/?VWXkx\l\]^倳9!4仔(  +,-A?j@CXx]l嶿n廽fF$uP#彂凖 *  _咢WXk]mm]n嘷-511N垑KPv媽~&Q扇  =#WUVWXkn\l\]k們}( * (,vw?V@CXx\l\]nyz{t|s}K&6~ONPu%qJ}ua7€幕h( * ) +,iS?j@CXk]lm\nCopq"q9:;Ir26eGs3tub";u殚= =+STUVWXYZZ[\]^_KH&H!I`Kab:Pcd6efgad1<  =,>?@ABCDEFGHI'JK&LEMNOPOQR()* )(+,-./012345$6$78&09:;0   !"#$%&'ゥ  鳄" FGDIC" % % %  TTh  BUU嘆€嘆h 3LP %!'% Ld;>;0 !€?€?% €" Rp8@"Arial\0 ?@1`2?? (2?uO`2?? _?1?? l,妾71€€?€X3.? €Arialメ`2T?`?1?9*1(1(1t?1P1l,dv% % % % % %  TUU嘆€嘆eLDigital Signatures for Kernel ,p,5o,8-opo8oCod88oB7oCoo,9 TuUU嘆€嘆JLModules on Systems Running ooo,od8po8dd8od7oop,oo9 Tx}[UU嘆€嘆0L\Windows,ooodTT}L[UU嘆€嘆0LP 9TlM} [UU嘆€嘆M0LXVista,d5oTT }m [UU嘆€嘆 0LP kRp?@"Arial<1 ? 2`2?? 3?uO`2?? _?1?? |-妾71€€?€X3.? €Arial?秏<1????9*122t?102|-dv% % %  T3v}UU嘆€嘆oLhJuly 25, 2007"%!%%%%%%TTw3}UU嘆€嘆woLP $!% Ld%(%0 !€?€?% €% Ld0 !€?€?% €" % % %  T|2;UU嘆€嘆L\Abstract:4. ..TT<2iUU嘆€嘆<LP .Rp?@"Arial<1 ? 2`2?? 3?uO`2?? _?1?? ?妾71€€?€X3.? €Arial?<1,7X??9*122t?102?dv% % % Rp? @"Arial? 2`2?? 3?uO`2?? _?1?? ?妾71€€?€X3.? €Arial?<1,7X??9*122t?102?dvdv% Rp?@"Arial?V€?€(Ph(P0P?憒?Q憒hm憒憒? 0鮳!|0PJ %XX ? / P ??"x0簟€|??c耨w濛駑dv% ( % ( % % % Rp? @"Arial? 2`2?? 3?uO`2?? _?1?? |-妾71€€?€X3.&" WMFC LL? €Arial?<1????9*122t?102|-dvdv% Rp?@"Arial|-妾71€€?€X?憒?Q憒hm憒憒? 0鮳!|郣<XX ? / P ??"x0簟€|??c耨w濛駑dv% ( % (  % % % TUU嘆€嘆LpFor Windows Vista3.R../;*8*.TTUU嘆€嘆LP=TTUU嘆€嘆LP T UU嘆€嘆!Land later versions of the Windows.../.).*..*../S...<*% % % TT  UU嘆€嘆 LP1% % % TT  UU嘆€嘆 LP T UU嘆€嘆 Ltfamily of operating -G(....... TxYUU嘆€嘆HL\systems+'*.G*TT2YUU嘆€嘆HLP:TT3_YUU嘆€嘆3HLP -Rp?@Symbolx0?\1`2??D2?uO`2?? _?1?? ?妾71€€?€X5€Symbol€|分?鳋;119*1D1D1t?1l1?dv% % %  % % % TT{UU嘆€嘆LP佛&% % % TTUU嘆€嘆LP pTT€UU嘆€嘆€LPK7TloUU嘆€嘆LXernel../TTpUU嘆€嘆pLP-TT UU嘆€嘆,Lmode software must have a digital signature G...*.;..G.*./)./...+./...T UU嘆€嘆 Llbefore it will ....<T~UU嘆€嘆 Ldload on x64/../.*..TTUU嘆€嘆LP-!"  TT€? UU嘆€嘆€. LPb.T5? UU嘆€嘆. Lxased computer systems..*..*.G...+(*.G*TT6b? UU嘆€嘆6. LP -!"  % % % TTa  UU嘆€嘆 LP佛&% % % TTj  UU嘆€嘆 LP pTd€j ) UU嘆€嘆€ LTBoot7..TT*j E UU嘆€嘆* LP-TFj  UU嘆€嘆F Lhstart drivers *..).*Tpj  UU嘆€嘆 LXshould*../.TTj  UU嘆€嘆 LP Tj UU嘆€嘆 Lcontain an embedded signature.*/.../..G..../.*/../.TT j UU嘆€嘆 LP -!"  % % % TT L UU嘆€嘆; LP佛&% % % TT L UU嘆€嘆; LP pT€  L UU嘆€嘆€; 4LCertain configurations of x86 systems require kernel<...*../....*.*/.+(*.G*....+...TT  L UU嘆€嘆 ; LP-T €L UU嘆€嘆 ; Lxmode software to have F...*.;.../.*.!"  T€Q  UU嘆€嘆€ !Ldigital signatures to access next.//*/....*..**.**..*TT Q 8 UU嘆€嘆 LP-T<9 Q m UU嘆€嘆9 (Lgeneration premium content depending on ../......G.G).././../......!"  T€  UU嘆€嘆€ L€content protection policy.*.......*/../,(TT F UU嘆€嘆 LP -!"  % % % TT X UU嘆€嘆J LP $ % % % TS UU嘆€嘆 ALThis paper describes how to manage the signing process for kernel4.*..../.**..*./<.G...../.*/.....*.**.+...TTS UU嘆€嘆 LP-TS  UU嘆€嘆 Lhmode softwar&" WMFC LeLe G...*.;/. T  UU嘆€嘆 Lpfor Windows Vista..R...;*8*.TT  UU嘆€嘆 LP - TU UU嘆€嘆 =LThis information applies for the following operating systems:4.*..G..././.*..../<././....,'+.G*TT U UU嘆€嘆 LP K TT UU嘆€嘆 LP ,T OUU嘆€嘆 LhWindows Vista Q...;*7*.TTP UU嘆€嘆P LP K TTpUU嘆€嘆_LP ,TtpUU嘆€嘆_LhWindows ServerQ...;*7.).TTtpUU嘆€嘆t_LP=TTpUU嘆€嘆_LP TdpUU嘆€嘆_LT2008..//TTpUU嘆€嘆_LP - T UU嘆€嘆8LThe current version of this paper is maintained on the W4..*...).*.../*....*G...../....QTx UU嘆€嘆 L\eb at: -..TT 2UU嘆€嘆 LP K TTrUU嘆€嘆aLP ,Rp?@ Arial? 6?`263 ?6uO`263 _?136 ?妾71€€?€X3.? €Arial<1H39*1??t?1??dv% % % % % %  TSrUU嘆€嘆a<Lhttp://www.microsoft.com/whdc/winlogo/drvsign/kmsigning.mspx..<<<G*.*.*-G;..*;./...)*..*G*....G*.)' % LdjSoj> !€?€?% €(  TTT€rUU嘆€嘆TaLP - TUU嘆€嘆LLReferences and resources discussed here are listed at the end of this paper.<....*.*../.*..*.*.**.**.......*../.......*/...TTUU嘆€嘆LP - % % % TT8UU嘆€嘆LP . TTUU嘆€嘆LP . TTgUU嘆€嘆ULP . TTpUU嘆€嘆LP . T|R7UU嘆€嘆%L\Contents<33.3.TTS€7UU嘆€嘆S%LP .Rp ?@"Arial<1 ? 2`2?? 3?uO`2?? _?1?? ?妾71€€?€X3.? €Arial分h4u<1???9*122t?102?dv% % % Rp ?@Times New Roman\0 ?@1`2?? (2?uO`2?? _?1?? ?妾71€€€XG? €Times ew Roman?9*1(1(1t?1P1?dv% % %  % % % TDqUU嘆€嘆 LdIntroduction***)&*)TTrD~UU嘆€嘆rLP T DUU嘆€嘆 L................................T D UU嘆€嘆 L................................T  D^UU嘆€嘆  L................................T_DUU嘆€嘆_L.............................TTDUU嘆€嘆LP TTDUU嘆€嘆LP3*% % % TT-UU嘆€嘆LP -!"  % % % T,N UU嘆€嘆N%LDigital Signatures as a Best Practice6*)2)****&*&*2*%2*&&)TT  UU嘆€嘆 LP T   UU嘆€嘆  L................................T  ZUU嘆€嘆  L&" WMFC LEL................................T[UU嘆€嘆[Lp.................TTUU嘆€嘆LP TTUU嘆€嘆LP4*% % % TTUU嘆€嘆LP -!"  % % % TpN'BUU嘆€嘆N3LXKernel2***TT(@BUU嘆€嘆(3LP-TABUU嘆€嘆A3 L`Mode Code=***6***TTBUU嘆€嘆3LP-TBUU嘆€嘆3LlSigning Options1*)**9**)%TTBUU嘆€嘆3LP T  BUU嘆€嘆3 L................................T  0BUU嘆€嘆 3 L................................T1BUU嘆€嘆13Lt...................TTBUU嘆€嘆3LP TTBUU嘆€嘆3LP4*% % % TTJUU嘆€嘆3LP -!"  % % % TFYUU嘆€嘆 L`The Kernel-**2***TTZFrUU嘆€嘆ZLP-TsFUU嘆€嘆s L`Mode Code=***6***TTFUU嘆€嘆LP-TF+ UU嘆€嘆LlSigning Process1*))*2*%*%%TT, F/ UU嘆€嘆, LP T 0 F UU嘆€嘆0  L................................T  FoUU嘆€嘆  L................................TpFUU嘆€嘆pLl................TTFUU嘆€嘆LP TTFUU嘆€嘆LP6*% % % TT/UU嘆€嘆LP -!"  % % % ThNy UU嘆€嘆N/LHow to Obtain a Software Publishing Certificate6*5*:****1*5**2*)&)*)6*&))TTz  UU嘆€嘆z LP T € UU嘆€嘆€  L................................T  UU嘆€嘆  L................................TTUU嘆€嘆LP TTUU嘆€嘆LP6*% % % TTUU嘆€嘆LP -!"  % % % TEUU嘆€嘆6LGuidance for Safeguarding Code:***)&**2*)*****)6)**TT EUU嘆€嘆6LP-T  EUU嘆€嘆 6 LdSigning Keys2*)*)2*%%TT  EUU嘆€嘆 6LP T  sEUU嘆€嘆 6 L................................TtEUU嘆€嘆t6L............................TTEUU嘆€嘆6LP TTEUU嘆€嘆6LP7*% % % TTMUU嘆€嘆6LP -!"  % % % TIJUU嘆€嘆 LdUsing Cross6&**6*%&TTKIcUU嘆€嘆KLP-TdIc UU嘆€嘆dL|Certificates with Kernel6*&)*%5*2***TTd I| UU嘆€嘆d LP-T} I UU嘆€嘆} LpMode Code Signing=***6**)2*)*)T  IUU嘆€嘆  L................................TIUU嘆€嘆L&" WMFC L%Lh.............TTIUU嘆€嘆LP TTIUU嘆€嘆LP7*% % % TT2UU嘆€嘆LP -!"  % % % T€ UU嘆€嘆3LVerification During Driver Installation and Loading2*&***6***6%**%)***)**)**)*)TT! ' UU嘆€嘆! LP T ( UU嘆€嘆(  L................................TUU嘆€嘆L|........................TTUU嘆€嘆LP TTUU嘆€嘆LP8*% % % TTUU嘆€嘆LP -!"  % % % TWHUU嘆€嘆9LGenerating Test Certificates:******-*&6*&**%TTX]HUU嘆€嘆X9LP T ^ HUU嘆€嘆^9 L................................T  HUU嘆€嘆 9 L................................THUU嘆€嘆9L€..........................TTHUU嘆€嘆9LP TTHUU嘆€嘆9LP9*% % % TTPUU嘆€嘆9LP -!"  % % % TNLKUU嘆€嘆NLCreating a Signed Catalog File6***)*2**)*6*)**.)TTLL]UU嘆€嘆LLP T ^L UU嘆€嘆^ L................................T  LUU嘆€嘆  L................................TLUU嘆€嘆L|........................TTLUU嘆€嘆LP TXLUU嘆€嘆LP10*)% % % TT5UU嘆€嘆LP -!"  % % % TtUU嘆€嘆LHow to Create a Catalog File6*5*6****6**)*.)TTuUU嘆€嘆uLP T ' UU嘆€嘆 L................................T ( UU嘆€嘆(  L................................TUU嘆€嘆Lx......................TTUU嘆€嘆LP TXUU嘆€嘆LP10*)% % % TTUU嘆€嘆LP -!"  % % % T\ JUU嘆€嘆;-LHow to Create a Catalog File By Using Inf2Cat6*5*6****6**)*.*2%6&**)*6*TT  JUU嘆€嘆 ;LP T  ^JUU嘆€嘆 ; L................................T_JUU嘆€嘆_;L...........................TTJUU嘆€嘆;LP TXJUU嘆€嘆;LP11*)% % % TTRUU嘆€嘆;LP -!"  % % % T,O UU嘆€嘆%LHow to Create a Catalog File Manually6*5*6****6**)*.*=****%TT O UU嘆€嘆 LP T  Ob UU嘆€嘆  L................................&" WMFC LLT c OUU嘆€嘆c  L................................TxOUU嘆€嘆L\.......TTOUU嘆€嘆LP TXOUU嘆€嘆LP12*)% % % TT8UU嘆€嘆LP -!"  % % % T)UU嘆€嘆L€How to Sign a Catalog File6*5*2***6**)*.)TT*3UU嘆€嘆*LP T 4 UU嘆€嘆4 L................................T  sUU嘆€嘆  L................................TtUU嘆€嘆tL€..........................TTUU嘆€嘆LP TXUU嘆€嘆LP12*)% % % TTUU嘆€嘆LP -!"  % % % TMUU嘆€嘆>LlSigning the Self2**)*)*2*TTMUU嘆€嘆>LP-T MUU嘆€嘆>L|Extracting Download file2$*&**6)5****)TT  MUU嘆€嘆 >LP T   MUU嘆€嘆 > L................................T  AMUU嘆€嘆 > L................................TdBMUU嘆€嘆B>LT....TTMUU嘆€嘆>LP TXMUU嘆€嘆>LP13*)% % % TTUUU嘆€嘆>LP -!"  % % % T$QU UU嘆€嘆$LHow to Install a Signed Catalog File6*5**&**1*)**6**)*.)TTV QY UU嘆€嘆V LP T Z Q UU嘆€嘆Z  L................................T  QUU嘆€嘆  L................................TQUU嘆€嘆 Ld............TTQUU嘆€嘆LP TXQUU嘆€嘆LP14*)% % % TT:UU嘆€嘆LP -!"  % % % T€NW UU嘆€嘆N3LAdding an Embedded Signature to a Driver Image File2***)**1?*)**)*2)******6%*>***.)TTX f UU嘆€嘆X LP T g UU嘆€嘆g  L................................TUU嘆€嘆Lt...................TTUU嘆€嘆LP TXUU嘆€嘆LP14*)% % % TTUU嘆€嘆LP -!"  % % % T NH PUU嘆€嘆NA#LHow to Verify an Embedded Signature6*5*2*%**2>**)***1****)TTI Y PUU嘆€嘆I ALP T Z  PUU嘆€嘆Z A L................................T  PUU嘆€嘆 A L................................TPUU嘆€嘆A Ld............TTPUU嘆€嘆ALP TXPUU嘆€嘆ALP15*)% % % TTXUU嘆€嘆ALP -!" % €% €( 666666666&nWMFCLL666666666666666666666666666 6 66 6  6 66 6  6 66 6  6 66 6 666666666666666666666666  $4.?@"Arial---?@"Arial--- €---,$3,A **0(*组分徢t嫹H戵,}hS欝8咊!g#\'D'E交党帉桓昧]ZZ[庲'R(4 `xWUT"友觊刈翁篌貂蝰邃USR盱#wB岕]Ⅳ+?构铛劥hfdē辆煖('*媻A?@溷xus嘲鳅!pz矏,U6=媐仡捐Dゞ〉usq艾=<<[YXzwv}zy傅松谪洏噙MKKmkj镱;sG-]F8_D梖C畄g茮曐w殖>蓴?茖C緔8n2梃HFF桤淌DBC邢878:{剠4pVB秡D危@虩@脜1iG沼324唭憥槚,+.掭距@絻G汣Hod汊攽痫ecb`^]#E?摀\掚]d.`IE秌ca`儊牆RPP苒&8?蕸G容 €T斬g摲q唟ィ骝猜膳弁枭阌_鲽qnm台蓱k蜅咋葟|粂d砶O8垎珂璪G膲v荻侬褳j秖ZI橚$簕x)K捃琶亊}闩甦Q滷4?.?扥ozp祀#"%聟n璹n叀r垨spo细熟z1o4嚔v漆羊秫н*铁/溍O槵徉綮瞛V-u3€0柛,ね(眷契捏'弛蜌摪$衡8蓑;绪)敼秹2敭+灵0眺!声暄郯汶G2蕊眒e玥c/彧喇虾劚#墻%尠%鼠谫8X5彂彂}OM ?'S黟p区墼蒌噍阏宻聉?'贩R%符~S 帆~ 帆$妔尫O'3s3M 9宑?s奷?卧茚溴嬗哕?塓64;qPq17彂讬9"$岒{撡谯茌漶骐熹憎}9R#P!P4H1d0G6憭┏桴!LL!欒淳鏊藤樵葆赕腱拊榉0P!pPtJ9s"刎蝮篌┅┚艞瀑粼茚赍骒嘬愀GaHP!pP:M`1L悫念涱碍Ъ炒达鹳污茌漶嬗哚鏒'eP!pPEIS1JqQgOpΟ爻┚{姨陂茌潢骐熹哉LuE qE%P!pPatHNa6MvO烤疾δ铂尘钘藤樵茚赕腱捃鉪I坿r1"tP!p&€uKStHFubJPgsK猕卑きЪ尘硹阃污茚溴嬗咻"|N68P!p8H85N&teFP8N"gJ#准Гきж辰?腺谯攒蒉哙噌矍O Pc6P!p4QfH7es${?煚ΟΡ渤┚仕掏蜗醒艘矣哉0pP!p:E|0p!7LOゥ挡磨つ布尘艞魄"咳?縁#He4dPfp?u5RdP€7SEE花卑きЪ辰縏倧噉nC繲?t;eL!E;u&{PL波Ρ渤吹~禵WXkx\lm\噦z{9ugg!58~€4I:8a:ⅲぅΗī2w?j@CXx]mm]nCof|4LRRt:玣 Of !'棑槞殯殰淥潪烼咢WXkn巐\n^_?g4JF|7`~(憭摂敁憤,`/?VWXkx\l\]^倳9!4仔(  +,-A?j@CXx]l嶿n廽fF$uP#彂凖 *  _咢WXk]mm]n嘷-511N垑KPv媽~&Q扇  =#WUVWXkn\l\]k們}( * (,vw?V@CXx\l\]nyz{t|s}K&6~ONPu%qJ}ua7€幕h( * ) +,iS?j@CXk]lm\nCopq"q9:;Ir26eGs3tub";u殚= =+STUVWXYZZ[\]^_KH&H!I`Kab:Pcd6efgad1<  =,>?@ABCDEFGHI'JK&LEMNOPOQR()* )(+,-./012345$6$78&09:;0   !"#$%&'ゥ  鳄''--- 2 Z3$ ,$3- @ !\-'?@"Arial------82 3$Digital Signatures for Kernel         42 3$Modules on Systems Running e     2 3$Windowss2 #3$  2 ,3$Vistaw 2 s3$ ?@"Arial---2 3$July 25, 20072 3$ ,$3- @ !-- @ ! -'---2 43$Abstract 2 43$ ?@"Arial---? @"Arial-?@"Arial-----? @"Arial-?@"Arial-----%2 E3$For Windows Vista  2 E3$ 2 E3$ =2 E!3$and later versions of the Windowsr ---2 E3$---2 E3$ )2 E3$family of operating  2 T3$systemst 2 T3$:2 T3$ ?@Symbol------2 j3$---2 j3$ 2 j3$K 2 j3$ernelm2 j3$-M2 j,3$mode software must have a digital signature   "2 j3$before it will  2 j8 3$load on x64i2 j}3$-,$3'2 y3$b,2 y3$ased computer systems.  2 yR3$ ,$3'---2 3$---2 3$ 2 3$Boot 2 3$- 2 3$start drivers 2 #3$should2 J3$ 82 N3$contain an embedded signature. 2 3$ ,$3'---2 3$---2 3$ Y2 43$Certain configurations of x86 systems require kernel  2 3$-,2 3$mode software to have  ,$3'=2 !3$digital signatures to access next2 w3$-G2 {(3$generation premium content depending on   ,$3'22 3$content protection policy.2 M3$ ,$3'---2 3$ ---m2 A3$This paper describes how to manage the signing process for kernel  2 /3$- 2 33$mode software  &2 3$for Windows Vista.  2 3$ g2 =3$This information applies for the following operating systems:   2 3$  2 3$ 0 2 3$Windows Vista   2 -3$  2 &3$ 0 2 &3$Windows Server  2 &23$ 2 &<3$ 2 &@3$20082 &^3$ _2 @83$The current version of this paper is maintained on the W 2 @3$eb at: t2 @3$  2 O3$ 0?@ Arial------ e2 O<3$http://www.microsoft.com/whdc/winlogo/drvsign/kmsigning.mspx       - @ !|Q-  2 OM3$ }2 iL3$References and resources discussed here are listed at the end of this paper. 2 if3$ ---2 ~3$ 2 3$ 2 3$ 2 3$ 2 3$Contents 2 3$ ?@"Arial- - - ?@Times New Roman- - - - - - 2  3$Introduction2 3$ ;2  3$................................;2 N 3$................................;2  3$................................72 &3$..............................2 3$ 2 3$3- - - 2 3$ ,$3'- - - C2 %3$Digital Signatures as a Best Practice  2 t3$ ;2 v 3$................................;2  3$................................%2 N3$..................2 3$ 2 3$4- - - 2 3$ ,$3'- - - 2 3$Kernel2 3$-2  3$Mode Code  2 3$-"2 3$Signing Options 2 o3$ ;2 p 3$................................;2  3$................................(2 H3$...................v2 3$ 2 3$4- - - 2 3$ ,$3'- - - 2  3$The Kernel2 3$-2  3$Mode Code  2 3$-"2 "3$Signing Process2 y3$ ;2 z 3$................................;2  3$................................#2 R3$................2 3$ 2 3$6- - - 2 3$ ,$3'- - - R2 /3$How to Obtain a Software Publishing Certificate    2 3$ ;2  3$................................;2  3$................................2 3$ 2 3$6- - - 2 3$ ,$3'- - - 82 3$Guidance for Safeguarding Code 2 q3$-2 u 3$Signing Keys2 3$ ;2  3$................................52 )3$............................2 3$ 2 3$7- - - 2 3$ ,$3'- - - 2 $ 3$Using Cross  2 $3$-/2 $3$Certificates with Kernel 2 $3$-%2 $3$Mode Code Signing ;2 $ 3$................................2 $\3$.............2 $3$ 2 $3$7- - - 2 $3$ ,$3'- - - X2 133$Verification During Driver Installation and Loading  2 13$ ;2 1 3$................................/2 173$........................2 13$ 2 13$8- - - 2 13$ ,$3'- - - 52 ?3$Generating Test Certificates  2 ?W3$ ;2 ?X 3$................................;2 ? 3$................................22 ?03$..........................2 ?3$ 2 ?3$9- - - 2 ?3$ ,$3'- - - 82 M3$Creating a Signed Catalog File  2 MU3$ ;2 MX 3$................................;2 M 3$................................/2 M03$........................2 M3$ 2 M3$10- - - 2 M3$ ,$3'- - - 52 [3$How to Create a Catalog File  2 [\3$ ;2 [_ 3$................................;2 [ 3$................................,2 [73$......................2 [3$ 2 [3$10- - - 2 [3$ ,$3'- - - O2 i-3$How to Create a Catalog File By Using Inf2Cat    2 i3$ ;2 i 3$................................42 i&3$............................2 i3$ 2 i3$11- - - 2 i3$ ,$3'- - - C2 w%3$How to Create a Catalog File Manually   2 w3$ ;2 w 3$................................;2 w 3$................................2 wi3$.......s2 w3$ 2 w3$12- - - 2 w3$ ,$3'- - - 22 3$How to Sign a Catalog File 2 P3$ ;2 Q 3$................................;2  3$................................22 )3$..........................2 3$ 2 3$12- - - 2 3$ ,$3'- - - #2 3$Signing the Self2 3$-/2 3$Extracting Download file2 3$ ;2  3$................................;2  3$................................2 s3$....2 3$ 2 3$13- - - 2 3$ ,$3'- - - A2 $3$How to Install a Signed Catalog File 2 €3$ ;2  3$................................;2  3$................................2 X 3$............2 3$ 2 3$14- - - 2 3$ ,$3'- - - X2 33$Adding an Embedded Signature to a Driver Image File   2 3$ ;2  3$................................(2 A3$...................2 3$ 2 3$14- - - 2 3$ ,$3'- - - @2 #3$How to Verify an Embedded Signaturee   2 ~3$ ;2  3$................................;2  3$................................2 X 3$............2 3$ 2 3$15- - - 2 3$ ,$3'"System- - $$33$$33$$33##33##33##22##22##22##22""22""22""11""11""11""11""11!!11!!00!!00?胀諟.摋+,D胀諟.摋+,P     (08@H |q9 GDigital Signatures for Kernel Modules on Systems Running Windows VistaIntroduction* Digital Signatures as a Best Practice% Kernel-Mode Code-Signing Options%The Kernel-Mode Code-Signing Process4 How to Obtain a Software Publishing Certificate4 Guidance for Safeguarding Code-Signing Keys? Using Cross-Certificates with Kernel-Mode Code Signing< Verification during Driver Installation and Loading% Generating Test Certificates# Creating a Signed Catalog File% How to Create a Catalog File6 How to Create a Catalog File by Using Inf2Cat. How to Create a Catalog File Manually# How to Sign a Catalog File2 Signing the Self-Extracting Download file- How to Install a Signed Catalog File8 Adding an Embedded Signature to a Driver Image File( How to Verify an Embedded Signature8How to Disable Signature Enforcement during DevelopmentHow to Use Test Signing* Using the WHQL Test Signature Program Enabling Test SigningTroubleshooting! Detecting Driver Load Errors9 Enabling Code Integrity Diagnostic System Log Events System Audit Log Events0 Informational Events in the Verbose Log* Driver Verification Debugging Options& Code Integrity Event Log Messages Resources Title HeadingsH_PID_LINKBASE _PID_HLINKS_NewReviewCycleOwnerSPSDescriptionStatusAA8QRmhttp://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=eny24&https://winqual.microsoft.com/y2F93https://winqual.microsoft.com/help/Inf2cat_FAQ.htmy2 JUhttp://www.microsoft.com/technet/security/topics/cryptographyetc/authenticodets.mspxy2.1`http://www.microsoft.com/technet/windowsvista/library/85cd5efe-c349-427c-b035-c2719d4af778.mspxy2-http://go.microsoft.com/fwlink/?LinkId=95791y2-http://go.microsoft.com/fwlink/?LinkId=95790y2-http://go.microsoft.com/fwlink/?LinkId=95786y2-http://go.microsoft.com/fwlink/?LinkId=95778y2-http://go.microsoft.com/fwlink/?LinkId=95775y2-http://go.microsoft.com/fwlink/?LinkId=95774y2M&http://www.microsoft.com/whdc/winlogoy2!27http://www.microsoft.com/whdc/driver/WDK/aboutWDK.mspxy2DR=http://www.microsoft.com/whdc/winlogo/drvsign/crosscert.mspxy2WdDhttp://www.microsoft.com/whdc/winlogo/drvsign/kmcs_walkthrough.mspxy2O>http://www.microsoft.com/whdc/winlogo/drvsign/pnp-driver.mspxy2>http://www.microsoft.com/whdc/DevTools/Debugging/default.mspxy29Bhttp://www.microsoft.com/whdc/winlogo/drvsign/best_practices.mspxy2~=<http://www.microsoft.com/whdc/winlogo/drvsign/Pmp-sign.mspxy2\y2%_How_to_Add_an Embedded Signature Usv1y2_How_to_Sign_a .cat File7y2_Toc1731297117y2_Toc1731297107y2_Toc1731297097y2_Toc1731297087y2_Toc1731297077y2_Toc1731297067y2_Toc1731297057y2_Toc1731297047y2_Toc1731297037}y2_Toc1731297027wy2_Toc1731297017qy2_Toc1731297006ky2_Toc1731296996ey2_Toc1731296986_y2_Toc1731296976Yy2_Toc1731296966Sy2_Toc1731296956My2_Toc1731296946Gy2_Toc1731296936Ay2_Toc1731296926;y2_Toc17312969165y2_Toc1731296906/y2_Toc1731296896)y2_Toc1731296886#y2_Toc1731296876y2_Toc1731296866y2_Toc1731296856y2_Toc1731296846 y2_Toc1731296836y2_Toc173129682[F=http://www.microsoft.com/whdc/winlogo/drvsign/kmsigning.mspxy2bnick<added comments and updates regarding embedded signatures   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€?     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€?     !"#$%&'()*+,-./?123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€???????????Root Entry FPXO漵厍€Data m;1Table抱WordDocument5zSummaryInformation(0^DocumentSummaryInformation8@ CompObjy??  F'Microsoft Office Word 97-2003 Document MSWordDocWord.Document.8?瞦...................T  UU嘆€嘆  L................................TTUU嘆€嘆LP TTUU嘆€嘆LP6*% % % TTUU嘆€嘆LP -!"  % % % TEUU嘆€嘆6LGuidance for Safeguarding Code:***)&**2*)*****)6)**TT EUU嘆€嘆6LP-T  EUU嘆€嘆 6 LdSigning Keys2*)*)2*%%TT  EUU嘆€嘆 6LP T  sEUU嘆€嘆 6 L................................TtEUU嘆€嘆t6L............................TTEUU嘆€嘆6LP TTEUU嘆€嘆6L