pax_global_header00006660000000000000000000000064123425303640014514gustar00rootroot0000000000000052 comment=fbebc394f441e35e4777868627b4d2d1ec349a6b Heimdall-1.4.1/000077500000000000000000000000001234253036400132365ustar00rootroot00000000000000Heimdall-1.4.1/.gitignore000066400000000000000000000010111234253036400152170ustar00rootroot00000000000000.DS_Store ._* Debug/ Release/ Release (Static)/ GeneratedFiles/ autom4te.cache/ *.vcxproj.user *.suo *.sdf *.opensdf heimdall-frontend/Makefile heimdall/Makefile heimdall/config.h heimdall/config.log heimdall/config.status heimdall/heimdall heimdall/libtool heimdall/source/.deps/ heimdall/source/.dirstamp heimdall/source/*.o heimdall/stamp-h1 libpit/Makefile libpit/Source/.deps/ libpit/Source/.dirstamp libpit/Source/*.o libpit/config.h libpit/config.log libpit/config.status libpit/*.a libpit/libtool libpit/stamp-h1 Heimdall-1.4.1/LICENSE000066400000000000000000000020671234253036400142500ustar00rootroot00000000000000Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Heimdall-1.4.1/Linux/000077500000000000000000000000001234253036400143355ustar00rootroot00000000000000Heimdall-1.4.1/Linux/README000066400000000000000000000522401234253036400152200ustar00rootroot00000000000000Heimdall (c) 2010-2014 Benjamin Dobell, Glass Echidna http://www.glassechidna.com.au/products/heimdall/ DISCLAIMER: This software attempts to flash your Galaxy S device. The very nature of flashing is dangerous. As with all flashing software, Heimdall has the potential to damage (brick) your device if not used carefully. If you're concerned, don't use this software. Flashing ROMs onto your phone may also void your warranty. Benjamin Dobell and Glass Echidna are not responsible for the result of your actions. These instructions are for Linux operating systems. Flashing Heimdall Firmware Package with Heimdall Frontend: As of Heimdall Frontend 1.3 there are now two main ways to flash a ROM from Heimdall Frontend. The simpler and preferred option is to download a Heimdall Firmware Package and follow the following steps. 1. Fully charge your device (use the wall charger as it's faster). 2. Open the a terminal and run Heimdall Frontend by typing: heimdall-frontend 3. From the "Load Package" tab, under the "Heimdall Firmware Package" section click the "Browse" button. 4. Use the dialogue that appears to navigate to, and select, the Heimdall firmware package that you wish to flash. 5. You will see progress bars appear as the package is decompressed and extracted. When the package has finished being decompressed you should see information about the particular firmware package that has been selected. 6. Verify that your device is listed under "Supported Devices". If it's not then STOP immediately! DO NOT flash this firmware to your device! Instead search for an appropriate firmware package for your device. If you believe there is a mistake and your device is actually supported please get in contact with the firmware developer (not Glass Echidna!) and ask them to rectify the issue. If the developer provided a URL you may be able to contact them by pressing the "Homepage" button. 7. If you've verified your device is supported you may continue to press the "Load / Customise" button. 8. You should now be looking at the "Flash" tab. If not verify that you did in fact push the "Load / Customise" button. Generally, you won't NEED or WANT to customise a firmware package! In which case you can safely move on to step 9. Nonetheless, the "Flash" tab provides you with a means to customise the firmware package before flashing it to your device. See "Performing a Custom Flash with Heimdall Frontend" for more details. 9. Put your Galaxy S device into download mode and plug it in to your PC. Download mode can be accessed several different ways depending on your particular device model. If you're unsure how to do this please search online for the appropriate method. 10. Press the "Start" button. 11. Heimdall Frontend will display the progress and inform you when the flash is complete. If something went wrong i.e. your device wasn't detected because it wasn't in download mode, then the status section will let you know the cause of the problem. Performing a Custom Flash with Heimdall Frontend: This is the advanced means of flashing firmware to your device. If you're not an advanced user or a developer, in the event that a Heimdall Firmware Package doesn't exist for the particular firmware (or files) that you wish to flash, then I strongly recommend you get in touch with the developer of the firmware (or files) and politely ask them to create a Heimdall Firmware Package for you. In doing so, you avoid the risk of making mistakes due to inexperience. If you're looking to customise an existing Heimdall Firmware Package then follow steps 1-8 of "Flashing Heimdall Firmware Package with Heimdall Frontend" then start from below with step 5. 1. Fully charge your device (use the wall charger as it's faster). 2. Download a decrypted device ROM or a Heimdall Firmware Package and extract everything to the one directory. 3. If the ROM is not a Heimdall Firmware Package it may instead be provided as multiple archives (nested or otherwise), extract them all to the same location. NOTE: If you want to use the CSC then extract it last. If you're asked to overwrite files then do so. 3. Open the a terminal and run Heimdall Frontend by typing: heimdall-frontend 4. Select the "Flash" tab. From the "Flash" tab you're able to completely customise a flash. 5. Before you can chose which partitions you want to flash with particular files you MUST first select a PIT file. To do this click the "Browse" button in the "PIT" section. This will open a dialogue allowing you to navigate to and select a valid PIT (.pit) file. If you do not already have a valid PIT file stored on your computer you can download your device's PIT file from the "Utilities" tab. 6. If a valid PIT file has been selected then the "Add" button below the "Partitions (Files)" list-box will be enabled. Press this button to add a partition to your flash. 7. When you first add a partition you will see the "Partition Name" and "Partition ID" be populated with information. Use the "Partition Name" drop down to select which partition you wish to flash. "Partition ID" will automatically update and is never directly editable. 8. You must then select a file to flash to the partition that you just specified using the "Browse" button under the "File / Partition". You will not be able to flash, create a firmware package or add another partition until you have selected a file. However, you're still able to press the "Remove" button if you've decided not to flash the partition you've just specified. 9. When you've specified a file name then you'll be able to see the updated information in the partition list to the right. You can select any partition from this list and customise it as you see fit. You can also remove a partition from the list by selecting it and clicking the "Remove" button. Removing a partition from the list doesn't remove it from your device, it simply means it will not be flashed. 10. Repeat steps 7-9 as often as needed to specify all the partitions/files that you wish to flash. 11. Now you can chose whether you would like to repartition your device as well as whether you would like to prevent the device rebooting once a flash has been completed. These options can be enabled or disabled by toggling the "Repartition" and "No Reboot" check-boxes. In the general case you will only need to enable repartition if you wish to change the PIT file on your device. Keep in mind that repartitioning will wipe your device! The "No Reboot" option is rarely required. It's mostly in place so you can manually boot straight into recovery mode after a flash (rather than booting up normally). 12. If you've added at least one partition to your flash (and selected a file for that partition) then the "Start" button will be enabled. Press the "Start" button to begin the flashing process. You may notice that the "Create Package" tab becomes available at the whenever the "Start" button becomes available. From this tab you're able to create a reusable, redistributable Heimdall Firmware Package with the files and partitions you just selected. See "How to Create a Heimdall Firmware Package" for details. 13. Heimdall Frontend will display the progress and inform you when the flash is complete. If something went wrong i.e. your device wasn't detected because it wasn't in download mode, then the status section will let you know the cause of the problem. Flashing Firmware from Command Line: 1. Fully charge your phone (use the wall charger as it's faster). 2. Download a decrypted device ROM or a Heimdall Firmware Package and extract everything to the one directory. 3. If the ROM is not a Heimdall Firmware Package it may instead be provided as multiple archives (nested or otherwise), extract them all to the same location. NOTE: If you want to use the CSC then extract it last. 4. Put your Galaxy S device into download mode and plug it in.. 5. Open a terminal and navigate to the directory where you extracted the ROM/firmware files. 6. Type the following to list all the functionality Heimdall supports: heimdall help 7. Before flashing, you must first know the names of the partitions you wish to flash. These can be obtained by executing: heimdall print-pit --no-reboot The inclusion of --no-reboot ensures the phone will not reboot after PIT file has been downloaded and displayed. After executing a command with the --no-reboot argument, the next command should include the --resume argument. NOTE: You can still safely reboot your phone manually (with the power button) after executing --no-reboot commands. 8. Use the help and print-pit output to construct a command with all the files you want to flash. Here is an example that does a full flash and repartition on a GT-I9000: heimdall flash --repartition --resume --pit s1_odin_20100512.pit --FACTORYFS factoryfs.rfs --CACHE cache.rfs --DBDATA dbdata.rfs --IBL+PBL boot.bin --SBL Sbl.bin --PARAM param.lfs --KERNEL zImage --MODEM modem.bin 9. Heimdall will display the progress as it flashes so that you know things are working as they should. How to Create a Heimdall Firmware Package: Firstly, Heimdall's firmware package format is just a regular TAR archive compressed with gzip. The only two real requirements are that a valid firmware.xml must be included (refer to Appendix A) and you can only include files (no directories, links etc.) As such if you'd like there is nothing preventing you from creating Heimdall packages manually. Of course Heimdall Frontend provides a simple user interface that takes care of all the hard work for you. There are two ways in which you can create a firmware package. You can create a package from scratch, or you can load an existing package, apply modifications and then save the package. Creating a package from scratch is the preferred approach, by taking this approach you're far less likely to run into file name length limitations. Before you can access Heimdall Frontend's firmware creation functionality (available from the "Create Package" tab) you must first specify which files will be included in your package, as well as a few flashing options i.e. Whether or not users should repartition when flashing. This information must be filled out from the "Flash" tab in exactly the same fashion you would provide information to flash your device (see "Performing a Custom Flash with Heimdall Frontend"). As mentioned above, it's not the preferred means, but you're able to load an existing package as a starting point for this information. Once you've specified the files/partitions you wish to include in your firmware package the "Create Package" tab will become available. Clicking this tab will display additional information that you can include in your package. In order to continue you must fill out all sections except for the URLs section, which is optional. The following is a break-down of what all these options mean. - General Firmware Information: - Firmware Name - This is the name of your particular firmware. An example would be "Cyanogenmod". Firmware Version - This is the version identifier for your package. Any valid string will be accepted, although the inclusion of decimal point version number is preferred i.e. "7.1". If it makes sense then feel free to append a text string like "RC1" or "Beta 1" to the decimal point version. Platform Name - This is the name of platform (or operating system) that your firmware is based on. In most cases this will simply be "Android". Platform Version - This is the operating system version that your firmware is based on. Again decimal point version numbers are preferred over text, i.e. "2.3.4" is preferred over "Gingerbread". - Developers - URLs (Optional): Homepage - Here you can enter your personal URL or a URL particularly pertaining to the firmware being packaged. The URL must be well formed for it to work. An example of a well formed URL is "http://www.glassechidna.com.au/products/heimdall/". It is important to include "http://" in order to specify the protocol as other protocols such as "ftp://" are equally valid although unlikely to be used. Donate - Here you can enter a URL that will link users to a page to make donations for the effort you've put into developing your firmware. Once again the URL must be well formed but there is no requirement on how your donation page should work. For instance both "http://www.glassechidna.com.au/donate/" and "http://forum.xda-developers.com/donatetome.php?u=2710388" are equally valid. Developer Info: Name - Here you can enter in the name of individual team members or a team name. Click "Add" and the developer will be added to the list on the right. If you make a mistake you can select a developer from the list and click "Remove". You can list as many developers as you like, however visual constraints of the "Load Package" tab means only a few names will be visible. Where possible you may want to opt for team names over listing individual team members. - Supported Devices - This section allows you to create a list of devices that are supported by your particular firmware. Although Heimdall isn't capable of enforcing this we strongly recommend you take this section seriously. If filled out correctly you could help save a number of accidental bricks! Device Info: Manufacturer - This is where you can enter the name of the manufacturer for a particular device. For now this will most likely be "Samsung". Name - This is the human readable name for a particular device. "Galaxy S", "Galaxy S II", "Droid Charge", "Vibrant" and "Galaxy S (Telstra)" are all valid names. There are a lot of possible variations here so be as specific as you think is necessary. Product Code - This is by far the most important bit of device information. Device names tend to be region specific and further subject to the whims of telecommunication companies and resellers. Product Codes (or product IDs) are designated by manufacturers and are generally the definitive means of referring to a particular device. Examples are "GT-I9000", "GT-I9100" and "SCH-I897". If you're unsure of a particular product code then both Google and GSMArena are your friends! After filling out all the necessary information the "Build" button will be enabled. If it's still disabled then you know you're missing some required information. In particular you must specify at least one developer and at least one supported device. Pressing the "Build" button will bring up a save dialogue where you must chose a file name for your particular package. Don't worry about specifying the ".tar.gz" extension Heimdall Frontend will take care of this automatically. Once you've chosen a file name Heimdall Frontend will begin the process of building the firmware package. In doing so a valid firmware.xml file will be generated from the information entered. All files will be archived in a single TAR file then the TAR archive will be compressed via gzip compression. Compression will take a little while but you will see progress bars so you know the application hasn't hung. When the progress bars disappear you're finished making your package. Congratulations! You're now ready to redistribute your firmware package online or by any means you see fit. Appendix A - firmware.xml The following details a part of the Heimdall Firmware Package format. This is only relevant to developers or advanced users who wish to create Heimdall Firmware Packages outside of Heimdall Frontend or in some way integrate support for the format in their own software. All Heimdall Firmware Packages must contain a file called firmware.xml. This file stores flash information and meta-data for the package as well as information about other files contained within the package. The format is fairly straight-forward so it won't be explained in great detail. Nonetheless the following is an example of a valid firmware.xml file. Test Firmware 1.1 Android 2.3.4 Benjamin Dobell Hedonism Bot http://www.glassechidna.com.au/ http://www.glassechidna.com.au/donate/ Samsung GT-I9000 Galaxy S Samsung GT-I9000T Galaxy S (Telstra) Samsung GT-I9000M Vibrant Nl3276-I9000 s1_odin_20100512.pit 0 0 0 gq3276-boot.bin 24 Uh3276-cache.rfs 22 em3276-factoryfs.rfs 11 fl3276-modem.bin 21 Xd3276-param.lfs 3 if3276-Sbl.bin 6 cr3276-zImage New lines need not be included and the order in which elements are specified does not need to match that of the above example. One and only one element must be included. The element must also have a version attribute specified. The version must be parsable as an integer and indicates what version of the Heimdall Firmware Package specification the package adheres to. All data is stored as strings, however a 's element must be parsable as an integer. The value represents the partition ID (according to the specified PIT file) that the file should be flashed to. A 's and elements must also be parsable as an integer. However, as they represent boolean values, a value of zero ("0") means false (or disabled) where as a non-zero value (typically "1") means true (or enabled). File names are specified relative to the TAR archive in which firmware.xml and all other files are to be stored. Heimdall Firmware Packages do not support directories or links, as such file names should only be a name and not a path. and are the only optional elements, all other elements must be included. Appendix B - Installing Heimdall from Source: 1. First make sure you have installed build-tools, pkgconfig, zlib-dev and libusbx. NOTE: Package names may not be absolutely identical to those above. 2. Open a terminal and navigate to the directory you downloaded, or extracted, Heimdall to. 3. Enter the following commands to compile libpit: cd libpit ./configure make cd .. NOTE: There is no need to run "sudo make install". 4. Enter the following commands to compile and install Heimdall: cd heimdall ./configure make sudo make install cd .. 5. Done Appendix C - Installing Heimdall Frontend from Source: 1. Compile and install Heimdall, see Appendix B. 2. First make sure you have installed Qt (4.7 or later, but prior to 5.0). You can typically install Qt through your platforms package manager, or alternatively download it from: http://qt-project.org/downloads 3. Open a terminal and navigate to the directory you extracted Heimdall to. 4. Enter the following commands to compile and install Heimdall Frontend: cd heimdall-frontend qmake-qt4 make sudo make install NOTE: If qmake-qt4 does not exist on your platform, try qmake instead. 5. Done Heimdall-1.4.1/OSX/000077500000000000000000000000001234253036400137075ustar00rootroot00000000000000Heimdall-1.4.1/OSX/README.txt000066400000000000000000000545421234253036400154170ustar00rootroot00000000000000Heimdall (c) 2010-2014 Benjamin Dobell, Glass Echidna http://www.glassechidna.com.au/products/heimdall/ DISCLAIMER: This software attempts to flash your Galaxy S device. The very nature of flashing is dangerous. As with all flashing software, Heimdall has the potential to damage (brick) your device if not used carefully. If you're concerned, don't use this software. Flashing ROMs onto your phone may also void your warranty. Benjamin Dobell and Glass Echidna are not responsible for the result of your actions. These instructions are for OS X operating systems. Installing Heimdall and Heimdall Frontend Binaries: 1. Run "Heimdall Suite.pkg" and follow the instructions. 2. Reboot your system. 3. Done Flashing Heimdall Firmware Package with Heimdall Frontend: As of Heimdall Frontend 1.3 there are now two main ways to flash a ROM from Heimdall Frontend. The simpler and preferred option is to download a Heimdall Firmware Package and follow the following steps. 1. Fully charge your device (use the wall charger as it's faster). 2. Open the Heimdall Frontend (heimdall-frontend) application. 3. From the "Load Package" tab, under the "Heimdall Firmware Package" section click the "Browse" button. 4. Use the dialogue that appears to navigate to, and select, the Heimdall firmware package that you wish to flash. 5. You will see progress bars appear as the package is decompressed and extracted. When the package has finished being decompressed you should see information about the particular firmware package that has been selected. 6. Verify that your device is listed under "Supported Devices". If it's not then STOP immediately! DO NOT flash this firmware to your device! Instead search for an appropriate firmware package for your device. If you believe there is a mistake and your device is actually supported please get in contact with the firmware developer (not Glass Echidna!) and ask them to rectify the issue. If the developer provided a URL you may be able to contact them by pressing the "Homepage" button. 7. If you've verified your device is supported you may continue to press the "Load / Customise" button. 8. You should now be looking at the "Flash" tab. If not verify that you did in fact push the "Load / Customise" button. Generally, you won't NEED or WANT to customise a firmware package! In which case you can safely move on to step 9. Nonetheless, the "Flash" tab provides you with a means to customise the firmware package before flashing it to your device. See "Performing a Custom Flash with Heimdall Frontend" for more details. 9. Put your Galaxy S device into download mode and plug it in to your PC. Download mode can be accessed several different ways depending on your particular device model. If you're unsure how to do this please search online for the appropriate method. 10. Press the "Start" button. 11. Heimdall Frontend will display the progress and inform you when the flash is complete. If something went wrong i.e. your device wasn't detected because it wasn't in download mode, then the status section will let you know the cause of the problem. Performing a Custom Flash with Heimdall Frontend: This is the advanced means of flashing firmware to your device. If you're not an advanced user or a developer, in the event that a Heimdall Firmware Package doesn't exist for the particular firmware (or files) that you wish to flash, then I strongly recommend you get in touch with developer of the firmware (or files) and politely ask them to create a Heimdall Firmware Package for you. In doing so then you don't have to worry about making mistakes due to inexperience. If you're looking to customise an existing Heimdall Firmware Package then follow steps 1-8 of "Flashing Heimdall Firmware Package with Heimdall Frontend" then start from below with step 5. 1. Fully charge your device (use the wall charger as it's faster). 2. Download a decrypted device ROM or a Heimdall Firmware Package and extract everything to the one directory. 3. If the ROM is not a Heimdall Firmware Package it may instead be provided as multiple archives (nested or otherwise), extract them all to the same location. NOTE: If you want to use the CSC then extract it last. 3. Open the Heimdall Frontend (heimdall-frontend) application. 4. Select the "Flash" tab. From the "Flash" tab you're able to completely customise a flash. 5. Before you can chose which partitions you want to flash with particular files you MUST first select a PIT file. To do this click the "Browse" button in the "PIT" section. This will open a dialogue allowing you to navigate to and select a valid PIT (.pit) file. If you do not already have a valid PIT file stored on your computer you can download your device's PIT file from the "Utilities" tab. 6. If a valid PIT file has been selected then "Add" button below the "Partitions (Files)" list-box will become enabled. Press this button to add a partition to your flash. 7. When you first add a partition you will see the "Partition Name" and "Partition ID" be populated with information. Use the "Partition Name" drop down to select which partition you wish to flash. "Partition ID" will automatically update and is never directly editable. 8. You must then select a file to flash to the partition that you just specified using the "Browse" button under the "File / Partition". You will not be able to flash, create a firmware package or add another partition until you have selected a file. However, you're still able to press the "Remove" button if you've decided not to flash the partition you've just specified. 9. When you've specified a file name then you'll be able to see the updated information in the partition list to the right. You can select any partition from this list and customise it as you see fit. You can also remove a partition from the list by selecting it and clicking the "Remove" button. Removing a partition from the list doesn't remove it from your device, it simply means it will not be flashed. 10. Repeat steps 7-9 as often as needed to specify all the partitions/files that you wish to flash. 11. Now you can chose whether you would like to repartition your device as well as whether you would like to prevent the device rebooting once a flash has been completed. These options can be enabled or disabled by toggling the "Repartition" and "No Reboot" check-boxes. In the general case you will only need to enable repartition if you wish to change the PIT file on your device. Keep in mind that repartitioning will wipe your device! The "No Reboot" option is rarely required. It's mostly in place so you can manually boot straight into recovery mode after a flash (rather than booting up normally). 12. If you've added at least one partition to your flash (and selected a file for that partition) then the "Start" button will be enabled. Press the "Start" button to begin the flashing process. You may notice that the "Create Package" tab becomes available at the whenever the "Start" button becomes available. From this tab you're able to create a reusable, redistributable Heimdall Firmware Package with the files and partitions you just selected. See "How to Create a Heimdall Firmware Package" for details. 13. Heimdall Frontend will display the progress and inform you when the flash is complete. If something went wrong i.e. your device wasn't detected because it wasn't in download mode, then the status section will let you know the cause of the problem. Flashing Firmware from Command Line: 1. Fully charge your phone (use the wall charger as it's faster). 2. Download a decrypted device ROM or a Heimdall Firmware Package and extract everything to the one directory. 3. If the ROM is not a Heimdall Firmware Package it may instead be provided as multiple archives (nested or otherwise), extract them all to the same location. NOTE: If you want to use the CSC then extract it last. If you're asked to overwrite files then do so. 4. Put your Galaxy S device into download mode and plug it in.. 5. Open a terminal and navigate to the directory where you extracted the ROM/firmware files. 6. Type the following to list all the functionality Heimdall supports: heimdall help 7. Before flashing, you must first know the names of the partitions you wish to flash. These can be obtained by executing: heimdall print-pit --no-reboot The inclusion of --no-reboot ensures the phone will not reboot after PIT file has been downloaded and displayed. After executing a command with the --no-reboot argument, the next command should include the --resume argument. NOTE: You can still safely reboot your phone manually (with the power button) after executing --no-reboot commands. 8. Use the help and print-pit output to construct a command with all the file you want to flash. Here is an example that does a full flash and repartition on a GT-I9000: heimdall flash --repartition --resume --pit s1_odin_20100512.pit --FACTORYFS factoryfs.rfs --CACHE cache.rfs --DBDATA dbdata.rfs --IBL+PBL boot.bin --SBL Sbl.bin --PARAM param.lfs --KERNEL zImage --MODEM modem.bin 9. Heimdall will display the progress as it flashes so that you know things are working as they should. How to Create a Heimdall Firmware Package: Firstly, Heimdall's firmware package format is just a regular TAR archive compressed with gzip. The only two real requirements are that a valid firmware.xml must be included (refer to Appendix A) and you can only include files (no directories, links etc.) As such if you'd like there is nothing preventing you from creating Heimdall packages manually. Of course Heimdall Frontend provides a simple user interface that takes care of all the hard work for you. There are two ways in which you can create a firmware package. You can create a package from scratch, or you can load an existing package, apply modifications and then save the package. Creating a package from scratch is the preferred approach, by taking this approach you're far less likely to run into file name length limitations. These are not Heimdall's own limitation but rather a limitation of the TAR archive format. Before you can access Heimdall Frontend's firmware creation functionality (available from the "Create Package" tab) you must first specify which files will be included in your package, as well as a few flashing options i.e. Whether or not users should repartition when flashing. This information must be filled out from the "Flash" tab in exactly the same fashion you would provide information to flash your device (see "Performing a Custom Flash with Heimdall Frontend"). As mentioned above, it's not the preferred means, but you're able to load an existing package as a starting point for this information. Once you've specified the files/partitions you wish to include in your firmware package the "Create Package" tab will become available. Clicking this tab will display additional information that you can include in your package. In order to continue you must fill out all sections except for the URLs section, which is optional. The following is a break-down of what all these options mean. - General Firmware Information: - Firmware Name - This is the name of your particular firmware. An example would be "Cyanogenmod". Firmware Version - This is the version identifier for your package. Any valid string will be accepted although a the inclusion of decimal point version number is preferred i.e. "7.1". If it makes sense then feel free to append a text string like "RC1" or "Beta 1" to the decimal point version. Platform Name - This is the name of the platform (or operating system) that your firmware is based on. In most cases this will simply be "Android". Platform Version - This is the operating system version that your firmware is based on. Again decimal point version numbers are preferred over text, i.e. "2.3.4" is preferred over "Gingerbread". - Developers - URLs (Optional): Homepage - Here you can enter your personal URL or a URL particularly pertaining to the firmware being packaged. The URL must be well formed for it to work. An example of a well formed URL is "http://www.glassechidna.com.au/products/heimdall/". It is important to include "http://" in order to specify the protocol as other protocols such as "ftp://" are equally valid although unlikely to be used. Donate - Here you can enter a URL that will link users to a page to make donations for the effort you've put into developing your firmware. Once again the URL must be well formed but there is no requirement on how your donation page should work. For instance both "http://www.glassechidna.com.au/donate/" and "http://forum.xda-developers.com/donatetome.php?u=2710388" are equally valid. Developer Info: Name - Here you can enter in the name of individual team members or a team name. Click "Add" and the developer will be added to the list on the right. If you make a mistake you can select a developer from the list and click "Remove". You can list as many developers as you like however visual constraints of the "Load Package" tab means only a few names will be visible. Where possible you may want to opt for team names over listing individual team members. - Supported Devices - This section allows you to create a list of devices that are supported by your particular firmware. Although Heimdall isn't capable of enforcing this we strongly recommend you take this section seriously. If filled out correctly you could help save a number of accidental bricks! Device Info: Manufacturer - This is where you can enter the name of the manufacturer for a particular device. For now this will most likely be "Samsung". Name - This is the human readable name for a particular device. "Galaxy S", "Galaxy S II", "Droid Charge", "Vibrant" and "Galaxy S (Telstra)" are all valid names. There are a lot of possible variations here so be as specific as you think is necessary. Product Code - This is by far the most important bit of device information. Device names tend to be region specific and further subject to the whims of telecommunication companies and resellers. Product Codes (or product IDs) are designated by manufacturers and are generally the definitive means of referring to a particular device. Examples are "GT-I9000", "GT-I9100" and "SCH-I897". If you're unsure of a particular product code then both Google and GSMArena are your friends! After filling out all the necessary information the "Build" button will be enabled. If it's still disabled then you know you're missing some required information. In particular you must specify at least one developer and at least one supported device. Pressing the "Build" button will bring up a save dialogue where you must chose a file name for your particular package. Don't worry about specifying the ".tar.gz" extension Heimdall Frontend will take care of this automatically. Once you've chosen a file name Heimdall Frontend will begin the process of building the firmware package. In doing so a valid firmware.xml file will be generated from the information entered. All files will be archived in a single TAR file then the TAR archive will be compressed via gzip compression. Compression will take a little while but you will see progress bars so you know the application hasn't hung. When the progress bars disappear you're finished making your package. Congratulations! You're now ready to redistribute your firmware package online or by any means you see fit. Appendix A - firmware.xml The following details a part of the Heimdall Firmware Package format. This is only relevant to developers or advanced users who wish to create Heimdall Firmware Packages outside of Heimdall Frontend or in some way integrate support for the format in their own software. All Heimdall Firmware Packages must contain a file called firmware.xml. This file stores flash information and meta-data for the package as well as information about other files contained within the package. The format is fairly straight-forward so it won't be explained in great detail. Nonetheless the following is an example of a valid firmware.xml file. Test Firmware 1.1 Android 2.3.4 Benjamin Dobell Hedonism Bot http://www.glassechidna.com.au/ http://www.glassechidna.com.au/donate/ Samsung GT-I9000 Galaxy S Samsung GT-I9000T Galaxy S (Telstra) Samsung GT-I9000M Vibrant Nl3276-I9000 s1_odin_20100512.pit 0 0 0 gq3276-boot.bin 24 Uh3276-cache.rfs 22 em3276-factoryfs.rfs 11 fl3276-modem.bin 21 Xd3276-param.lfs 3 if3276-Sbl.bin 6 cr3276-zImage New lines need not be included and the order in which elements are specified does not need to match that of the above example. One and only one element must be included. The element must also have a version attribute specified. The version must be parsable as an integer and indicates what version of the Heimdall Firmware Package specification the package adheres to. All data is stored as strings, however a 's element must be parsable as an integer. The value represents the partition ID (according to the specified PIT file) that the file should be flashed to. A 's and elements must also be parsable as an integer. However, as they represent boolean values, a value of zero ("0") means false (or disabled) where as a non-zero value (typically "1") means true (or enabled). File names are specified relative to the TAR archive in which firmware.xml and all other files are to be stored. Heimdall Firmware Packages do not support directories or links, as such file names should only be a name and not a path. and are the only optional elements, all other elements must be included. Appendix B - Installing Heimdall from Source: PREREQUISITES: Heimdall requires C++11 (aka C++0x) functionality in order to compile. Unfortunately, XCode includes an old version of GCC which does not include support for C++11. XCode does include clang, which does support C++11. However, clang's C++11 can only target OS X 10.7 or newer. There are also slight compatibility issues between clang and Qt, which is required in order to compile Heimdall Frontend. As such these instructions will utilise GCC 4.7 installed via Homebrew. Xcode can be downloaded through the App store or from Apple's developer website: https://developer.apple.com/xcode/ Homebrew install instructions are available at: http://mxcl.github.io/homebrew/ 1. First make sure you have installed XCode and Homebrew (see above). Then open a terminal and install GCC 4.7, pkgconfig and libusbx via Homebrew: brew tap homebrew/versions brew install gcc47 pkgconfig libusbx NOTE: Installing GCC 4.7 will take a long time. 2. In a terminal navigate to the directory you downloaded (or extracted) Heimdall to. 3. Enter the following commands to compile libpit. cd libpit ./configure CC=gcc-4.7 CXX=g++-4.7 make cd .. NOTE: There is no need to run "sudo make install". 4. Enter the following commands to compile and install Heimdall: cd heimdall ./configure CC=gcc-4.7 CXX=g++-4.7 make sudo make install cd .. 5. If you haven't installed the driver before, do the following: cd OSX sudo ./install-kext.sh 6. Done Appendix C - Installing Heimdall Frontend from Source: 1. Compile and install Heimdall, see Appendix B. 2. Heimdall Frontend requires Qt (4.7 or later, but prior to 5.0), available from: http://qt-project.org/downloads 3. Open a terminal and navigate to the directory you extracted Heimdall to. 4. Enter the following commands to compile and install Heimdall Frontend: cd heimdall-frontend qmake -spec macx-g++ QMAKE_CC=gcc-4.7 QMAKE_CXX=g++-4.7 make 5. Done Heimdall-1.4.1/OSX/heimdall.kext/000077500000000000000000000000001234253036400164405ustar00rootroot00000000000000Heimdall-1.4.1/OSX/heimdall.kext/Contents/000077500000000000000000000000001234253036400202355ustar00rootroot00000000000000Heimdall-1.4.1/OSX/heimdall.kext/Contents/Info.plist000077500000000000000000000037151234253036400222160ustar00rootroot00000000000000 CFBundleDevelopmentRegion English CFBundleGetInfoString Galaxy S Download Mode (Heimdall) CFBundleIdentifier au.com.glassechidna.heimdall_usb_shield CFBundleInfoDictionaryVersion 6.0 CFBundleName Galaxy S Download Mode (Heimdall) CFBundlePackageType KEXT CFBundleSignature ???? CFBundleVersion 6.0 IOKitPersonalities GalaxyS CFBundleIdentifier com.apple.driver.AppleUSBComposite IOClass AppleUSBComposite IOProviderClass IOUSBDevice idVendor 1256 idProduct 26113 GalaxyS2 CFBundleIdentifier com.apple.driver.AppleUSBComposite IOClass AppleUSBComposite IOProviderClass IOUSBDevice idVendor 1256 idProduct 26717 DroidCharge CFBundleIdentifier com.apple.driver.AppleUSBComposite IOClass AppleUSBComposite IOProviderClass IOUSBDevice idVendor 1256 idProduct 26819 OSBundleCompatibleVersion 1.8 OSBundleLibraries com.apple.kpi.iokit 8.0.0 Heimdall-1.4.1/OSX/heimdall.kext/Contents/_CodeSignature/000077500000000000000000000000001234253036400231305ustar00rootroot00000000000000Heimdall-1.4.1/OSX/heimdall.kext/Contents/_CodeSignature/CodeDirectory000066400000000000000000000002501234253036400256070ustar00rootroot00000000000000 0au.com.glassechidna.heimdall_usb_shieldlE%_)^M'0C8߫wҁΏy+ EؑɦuFҁΏy+ EؑɦuFHeimdall-1.4.1/OSX/heimdall.kext/Contents/_CodeSignature/CodeRequirements000066400000000000000000000003101234253036400263230ustar00rootroot00000000000000  'au.com.glassechidna.heimdall_usb_shield *Hcd *Hcd subject.OU QUKQK3GKXKHeimdall-1.4.1/OSX/heimdall.kext/Contents/_CodeSignature/CodeResources000066400000000000000000000037241234253036400256260ustar00rootroot00000000000000 files files2 rules ^Resources/ ^Resources/.*\.lproj/ optional weight 1000 ^Resources/.*\.lproj/locversion.plist$ omit weight 1100 ^version.plist$ rules2 .*\.dSYM($|/) weight 11 ^(.*/)?\.DS_Store$ omit weight 2000 ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ nested weight 10 ^.* ^Info\.plist$ omit weight 20 ^PkgInfo$ omit weight 20 ^Resources/ weight 20 ^Resources/.*\.lproj/ optional weight 1000 ^Resources/.*\.lproj/locversion.plist$ omit weight 1100 ^[^/]+$ nested weight 10 ^embedded\.provisionprofile$ weight 20 ^version\.plist$ weight 20 Heimdall-1.4.1/OSX/heimdall.kext/Contents/_CodeSignature/CodeSignature000066400000000000000000000205341234253036400256130ustar00rootroot000000000000000 *H 01 0 +0 *H O00z–! 0  *H  0b1 0 UUS10U  Apple Inc.1&0$U Apple Certification Authority10U Apple Root CA0 120201221215Z 270201221215Z0y1-0+U $Developer ID Certification Authority1&0$U Apple Certification Authority10U Apple Inc.1 0 UUS0"0  *H 0 vO[A#+_s?5 ?$?O>mG V)甝5 ʹ`)xEii`k_#:"1O4YBx.3E EoZ[: 2m6lp&D{H X#ş9~]2_R@꾬d[jDl>İ&{^j=GX1? v(mNi&NVtKfxLY00UW|-,T0U00U#0+iGv k.@GM^0.U'0%0#!http://crl.apple.com/root.crl0U0 *Hcd0  *H  B9tkƤ7* D,Ya2Կ;P9jDt[pKl#q-_œpe- xXI (3zvOߨJ Vg/>ă:wmt.#Qo`H»ZFE~' "rorPu=%]6H9;ꐀ.`x S>O2VMxଚBzFXV,*E K4aUD'sNp000  *H 0b1 0 UUS10U  Apple Inc.1&0$U Apple Certification Authority10U Apple Root CA0 060425214036Z 350209214036Z0b1 0 UUS10U  Apple Inc.1&0$U Apple Certification Authority10U Apple Root CA0"0  *H 0 䑩 GP^y-6WLUKl"0>P Af$kУ*z G[73Mir]_%UM] d5#KYPXPg ˬ, op?0C=+I(ε^=: !.t< bqGSU/ApLE~LkPAtb A30XZ2hesg^eIv3ew-z0v0U0U00U+iGv k.@GM^0U#0+iGv k.@GM^0U 00 *Hcd00*+https://www.apple.com/appleca/0+0Reliance on this certificate by any party assumes acceptance of the then applicable standard terms and conditions of use, certificate policy and certification practice statements.0  *H \6L-x팛wvw0O=G7@,ԱؾsdyO4آ>xk}9S 8ıO k+Y |@Vtӷ#;Go$ѷpE'mx~"5%kԢ$#s`[ /DH`8=&g 3j /Sj[dc3w:,V!ںsO6U٧2Bq~RB$*M^cKP 7uu!00lw1=0  *H  0y1-0+U $Developer ID Certification Authority1&0$U Apple Certification Authority10U Apple Inc.1 0 UUS0 140519004200Z 190520004200Z010 &,d QUKQK3GKXK1E0CU +2000.+0"http://ocsp.apple.com/ocsp-devid010U:rZI. ;*w0 U00U#0W|-,T0U 00 *Hcd00(+http://www.apple.com/appleca0+0 Reliance on this certificate by any party assumes acceptance of the then applicable standard terms and conditions of use, certificate policy and certification practice statements.0U0U% 0 +0 *Hcd 0  *H  F<6!%J`N uJ+&œǸae7#$y`{NT\'8&(0,$TZ׬ɦ^Uk6'}d)&/fa`,܏qm嚩7>}/)cF3 qE=OmoHFSgQHx@HG9MQH; fl ;R>@)ܿϮ6)>);O/5$N/٥ۨ ˾.1000y1-0+U $Developer ID Certification Authority1&0$U Apple Certification Authority10U Apple Inc.1 0 UUSw1=0 +]0 *H  1  *H 0 *H  1 140520172444Z0# *H  1fs2K!W? ݲ0  *H X4>)TE\rzc=I`V?+ YJ0ુؖlqyl0rDc57+'J4)d~\(S$:P>_/(>.zzOg?o^ zai[/r:F8;EXmR /i<RAe2&Y\Wu |@! @K0 *H  10 *H 01 0 +0j *H  [Y0W*0!0 +ָZAj(ՒK@dp,220140520172301Z0rvlf- 005wˇ0  *H  0|100.U 'Apple Timestamp Certification Authority1&0$U Apple Certification Authority10U Apple Inc.1 0 UUS0 140507150738Z 140618150738Z0A10U Timestamp Signer LTN10U Apple Inc.1 0 UUS0"0  *H 0 § x===\NtRЪtiS\7Gn~H{MzaW),9^.zrf)>Q6 R0;ƥnPY.;. "O_ krVuer~}S5#""&wW ᰛR(e) v1["yRTw >#k edu[7Fǥoz L8NNۡ2>j6XkxS00U 9UAJ2;3 0 U00U#04%N78X&)0U 00 *Hcd00(+http://www.apple.com/appleca0+0 Reliance on this certificate by any party assumes acceptance of the then applicable standard terms and conditions of use, certificate policy and certification practice statements.03U,0*0(&$"http://crl.apple.com/timestamp.crl0U0U% 0 +0  *H  V*JU1Y'K}eFFޤxfa!娘a|Ì8*1&Ls6> \k`ǯ*&]*!ëV>NY(DZkR& z6@W.-=Nyb^ÇC"5cSJwsUT, `U闡Xϙr-~erFtЩ)A;?vbHxq-}6ũrK(K|Vzt;Х)J'r\30uBY:ĀF$F8N00}LWc0  *H  0b1 0 UUS10U  Apple Inc.1&0$U Apple Certification Authority10U Apple Root CA0 120405120244Z 270405120244Z0|100.U 'Apple Timestamp Certification Authority1&0$U Apple Certification Authority10U Apple Inc.1 0 UUS0"0  *H 0 wg\.#g>B } s@/P'4p <No97ڞecIm] 9 :JidF5ea. =o%L x"!{[ѣ~I; r3,JZr 9Pt(ny_~VVlĮ (tM&By^`EXQI^JMs{Rˣ]klt-D>a>E~4u&@u0Kw00U4%N78X&)0U00U#0+iGv k.@GM^0.U'0%0#!http://crl.apple.com/root.crl0U0 *Hcd 0  *H  6qS#xe[#Ǣϴ(p!93rC=BQu]ˌjj:T}k>mzT_Cv\ N<>r4\g e0B4ӧBsu|QC`ܮ'kg3EoɘMiKEN"W""En?厸F\ɰ:m7(FeoUhR>?&:k22H;Kу000  *H 0b1 0 UUS10U  Apple Inc.1&0$U Apple Certification Authority10U Apple Root CA0 060425214036Z 350209214036Z0b1 0 UUS10U  Apple Inc.1&0$U Apple Certification Authority10U Apple Root CA0"0  *H 0 䑩 GP^y-6WLUKl"0>P Af$kУ*z G[73Mir]_%UM] d5#KYPXPg ˬ, op?0C=+I(ε^=: !.t< bqGSU/ApLE~LkPAtb A30XZ2hesg^eIv3ew-z0v0U0U00U+iGv k.@GM^0U#0+iGv k.@GM^0U 00 *Hcd00*+https://www.apple.com/appleca/0+0Reliance on this certificate by any party assumes acceptance of the then applicable standard terms and conditions of use, certificate policy and certification practice statements.0  *H \6L-x팛wvw0O=G7@,ԱؾsdyO4آ>xk}9S 8ıO k+Y |@Vtӷ#;Go$ѷpE'mx~"5%kԢ$#s`[ /DH`8=&g 3j /Sj[dc3w:,V!ںsO6U٧2Bq~RB$*M^cKP 7uu!1?0;00|100.U 'Apple Timestamp Certification Authority1&0$U Apple Certification Authority10U Apple Inc.1 0 UUS5wˇ0 +0 *H  1  *H  0 *H  1 140520172301Z0# *H  1q?@`; ov]b0+ *H   1000~~Κbh0  *H qU "oTyb _ 2>VOVx% _ {N.e|nLO%jw#92+M 'Nqc& TEj( W$Aa<9o ]a/.DAS kV;@uzÐʿ]U g޿n"DQ7 Y`Ê|Θ5qAM,% ψQ8&xz-$y>VHT#Heimdall-1.4.1/OSX/install-kext.sh000077500000000000000000000005611234253036400166670ustar00rootroot00000000000000#!/bin/bash echo 'Installing Driver...' sudo cp -R heimdall.kext /System/Library/Extensions sudo chmod -R 755 /System/Library/Extensions/heimdall.kext sudo chown -R root:wheel /System/Library/Extensions/heimdall.kext sudo kextload /System/Library/Extensions/heimdall.kext echo 'Installation complete. If Heimdall cannot recognise your device a reboot may be required.' Heimdall-1.4.1/README000066400000000000000000000016401234253036400141170ustar00rootroot00000000000000-------------------------------------------------------------------------------- Heimdall (c) 2010-2014 Benjamin Dobell, Glass Echidna http://www.glassechidna.com.au/products/heimdall/ DISCLAIMER: This software attempts to flash your Galaxy S device. The very nature of flashing is dangerous. As with all flashing software, Heimdall has the potential to damage (brick) your phone if not used carefully. If you're concerned, don't use this software. Flashing ROMs onto your phone may also void your warranty. Benjamin Dobell and Glass Echidna are not responsible for the result of your actions. -------------------------------------------------------------------------------- For more details about how to compile and install Heimdall please refer to the appropriate platform specific README: - Linux: Linux/README - OS X OSX/README.txt - Windows Win32/README.txt Heimdall-1.4.1/Win32/000077500000000000000000000000001234253036400141405ustar00rootroot00000000000000Heimdall-1.4.1/Win32/Drivers/000077500000000000000000000000001234253036400155565ustar00rootroot00000000000000Heimdall-1.4.1/Win32/Drivers/zadig.exe000066400000000000000000315517011234253036400173740ustar00rootroot00000000000000MZ@ !L!This program cannot be run in DOS mode. $PELXtNe  f>c0@@fIg d@d0d|d.textdf P`.data|*,l@`.rdata8b:b@`@.bss( c`.idatadc@0.CRT4 dc@0.tls 0dc@0.rsrc@dc@0/4 ed@B/19e d@B/35U ed@B/51~0ed@B/63eFe@B/77eZe@B/89Peve@0B/102f~e@B/113Ffe@B/1240fe@BU]Ít&'U(D$D$ D$$D$ cÍU1f=@MZtjtM$b$U YDt $iA}X1$eb뱋<@@PE@zQf t)f dylW1Fyt<1+U1WVSUD$@@@ @@@@̃d5X&99$փD$\$$` u͡1ۃs&tD$D$$Ѓ X$gAT$AӃD$$A$\t $@Z=tj1ɋ„t.t* ~˃"D荴& uUEH P@E£LE$`u=E1~E1f$_p4$_Ut$$T$_9]ɋUUZ  D$D$$Zۣ u d_e[^_]á$@_fD$ $ $_D$$^$`%D$ $ ^t$ AӃ$AӃ$A|$}^'UY%t&UYUH}=]1ۉuED$D$D$ D$D$$׃؋u]}]D$$]tۉD$Et$D$ D$D$$׃9t$1] U8]] uu}} t3E|$ \$t$D$x$ ]u}]D$4$x9uD$$$뮍'UE$D$ D$D$$UWVSLED$$D$ E D$@g$\D$ D$D$Ƅ Ƅ Ƅ$5D$D$D$ \$D$$փD$ D$D$$LЋ=$׋Eue[^_]áD$D$D$ \$D$$փ D$D$$ $׃e[^_]fEE]E.E.E.E[|vD$$Z|$D$D$ \$D$$֋9 T$ D$D$$LЋ$7Zt&D$$ ZT$D$D$ \$D$$֋9u[L$D$$ $Yst&$pY $cY,UED$E D$E$ UWV1S\`$pEȡ`D$ D$D$K$EЋ`uwUС`\$ D$QT$$UԃSDA=dDЅEljT$$XuUЅ4At<$jXdSD$D$D$ UЉT$D$$ $XMȍUT$ D$ $D$L$E`Ũ9LCD$D$D$ EЉD$D$$ED$ D$D$C$EL$EЃeMD$LA$L$ft&D$$VMЉ|$D$D$ L$D$$EUă9_$UVUčML$ T$D$Eȉ$LUĉ$EpVED$$PVMЉ|$D$D$ L$D$$EUă9M̉T$ UD$ $D$CELUĉ$EUE}С4Au 4A1D$`D$ D$N$Uԡ`t$D$ D$`$Uԉe[^_]É$YU$LUt&2t&'US`D$ D$D$G$Ӊƒ4A1t!`D$ T$D$P$Ӄ]Ív'UWVSLUE}AEAE䓰AEĄAEțAẸAEЬAEԴAEؼAtAUZt7}A1DADljD$$UTttDݍvL[^_]ÍvAf1DA UDċZDDžD߉D$$4tuӃL[^_]ÍL1[^_]ÍUVSMua5xD$$֋D$$ӃD$$փD$$Ӄe[^]Ít&5xD$$֋D$$ӃD$띐t&U1VSذAut9R$DAEʋ(AL$E‰$4ðADڃ$AxRPAۣAuIue[^]ádD$ `AD$D$V$PAe[^]Ít&dD$D$U$@ uPAe[^]ádD$ `AD$D$V$WUSlD$$l1D$A$$AD$CD$$uD$ AD$ A$wD$$\lD$|A$$AD$]flD$A$$AD$]Í&lu`UWVS=4TD$D$O$1 =@D$P1D$$ӍE1ۃ D$4$UEуÉ T$D$4tL$T$$AD$AD$@$D$ (5@Ax0=L\$D$$ e[^_]á0AtD$ѱAD$@$D$ (5TD$D$O$֡ D$D$P$փ nDA94SUVS1ۃu4D$DЃ)У4$uuče[^]e[^] UWVS\]փ;LAD$$xEЃt$$D$$UčUЃT$$EЉEEԃEED$$EMU+UԉE}؃+}ЃU6MD$$UċUMT$UD$|$ L$)T$$LAe[^_]Ít&'UWVSlD$uD$C$ p u 4AhD$($`话`@AD$ D$D$K$D$AD$$ӡ D$AD$$ӡ D$AD$$Ӄ $(D$$xD$$XLr_@AAAD$)¸GЉT$D$ A4$ED܅Et $Ht4$UMM)9UtE$D$E4$D$ t4$)¸GЉT$D$ A4$4$4$<DEE}ED$LA$R&4$t&4$¸)ЉD$ED$G?D$D$D$D$D$ t$D$$ Ӊt&D$A$L&ED$$D$D$ D$پAD$A$U1VS Mu ]9 t ue0[^]Nt9@U\$t$T$ L$$ e[^]&{u@C D$ ,D$D$ $e[^]&UWVSLLED$AD$$D$ ǡ(EЋ!%tDSD)ډ$D$UUD$D$ |$T$D$ƉD$$ EUU܅ҋUԉEu/t4$E؉$E܃tee[^_]ÁD$D$T$\$D$ t$D$$ EuUE뀍&Uu+|$ D$ܿAD$$Ue[^_]É|$ D$D$AD$$Ue[^_] UXE ]u}t]1u}]=A=D$D$D$ D$ AD$$׃$ËE\$ D$D$f$$dE\$ D$D$f$0D$$D$ËE$=Lׅt$h$ӃD$D$D$D$ D$$Ѓ8ED$ D$D$d$׉$ӃEfED$ AD$D$f$t&D$D$D$D$D$ \$D$$ 1vD$$ \$D$D$ D$ AD$$׃94$É4$&D$$D$t$D$ D$D$$9uWET$ D$D$d$׋$-K4$$ t&t&'UWVAS]U fFAEJAfEu1e[^_]Í&MtE1t$V=w΋MD$D$D$ L$D$$EЋtƅ{D$D$D$ T$D$$tU1Ƀ/tt4$t1 $ D$$t|t|$D$D$ T$D$$tUt9~{e4$aNj|$QD$D$#EM1t$ $G4$U|$D$2| $Dž|fE$9sz1Esf9xtM$9r1MDuf9yt1M $9rM|yfQ|뎋|fQ_|M1|=fQD$D$D$D$D$ L$D$$׃ ~_D$$tID$ED$D$\$D$ D$D$$׃ 9t 4$1U$D$$jt.M|$D$D$ L$D$$Utƅ{94$1tƅ{4$1|$/ $1U1%dWׁADžd$pt tt}Ívhtt1vA׋lt,t3uA뷁pXAAA뉐Uh]u}U1 rElAEw@E[Eȉ$tbD$$4$ÉD$¡LUEЋU҉u2t$n<$4$]u}]ÐD$D$D$D$ AD$ \$D$$ uUĉǍvy$LATD$TA$\'UWVS|]EE,UT$D$$ E}5|$D$ D$D$$փLU҃zD$A$D$贘D$A$D$藘Eۿ@uUfE D$D$D$ D$D$$U҃[Ut$D$D$|$T$ D$$U$ ED$UD$ D$4$D$3ۺAAE‹U D$D$A$T$ r4$e[^_]áLUEEE|$T$ D$D$E$փUE؉D$$|E܉D$E؉$E؉$u܃D$4$DNjE8<$UUD$|$D$T$ 4$HD$A$D$P4$E1E1$EoUEe[^_]ÍvED$XA$D$ܕu܋U$&}D$<$D$t$<$ EE E}ЉEFD$A$D$NEE$&ۺAAD‹U D$D$A$T$ U$T$U7UE t&D$$E UD$E T$MD$ D$D$$UUM9E $Mt$D$D$|$D$ D$UM $EE3fD$A$D$LEBD$A$ܓ4$EfD$,A$D$裓E& $XvU1WVSU]EXۉ0E$8X\$4$=BЉT$($0HBƄ8EuE$ËE$|C<$D$A|$ËE$D$D$ED$ (t19v< u9w}E ]EE8441󫋅0Dž8X< fuD u=D$D$D$ \$D$$1҃ D$!VD1t&9<fMt]u}]ÍvVu^Et-űu CtyމËC|$$~uЋűUԍMuUN bۉJ MЉrZJ tS ]ЅtMЉQM`MVV搉]Ћu1뚍UVSÃt<#u [^]f<;t5 t<;t$օuу<#u[^]É'UVSÃt%5&t $օu[^]ÐUh]Éu1}@ uxt]u}]1Ҹ AMEEEEE|u=D$'AC$%vC $D$<$D$EЃE%t !%tDJD9v,JB tPH ‰9w]<#3+<;#<[<}E$D$="9 :"Љ8t8A<"<#d\<;vQ<{>ȉD#!$D$*E$EEH[Ev8{t[tU؉t$T$S$Ћ$ &MԅE E܉C$9A<#<;LEԅPz*uUJUEԋRUBD$]$c:" t$9r⋅8U܃:kzE$D$*t E1ɉ$EtEHE׋0D *,U1ɉ$-ujz*EK<##<;ЉYY;ȉyRu&Rt%B$L$,uƋJuBuURuRt%B$L$uƃzuEHЃE$EЉfUVuSt>t[^]ËFut&؋XDuu[^]7 U8$]u }@$1rE1U$|UEE8~tqEU$UUU|$$E4$D$Ur.A uKSE 1]u}]Àx/u$)AHUp$UE]ЉUUt$f]u}]Í&EU4$D$ED$gUK0H먍UU]Í'U8]]uu }}t;t ]u}]ÅtuatE$(¸ tC Zr BEzB B$BE1]u}]E룍vUS]t t8 t[]Ð$[]ÍUWVS<0Eظ UЉM̅t> t<[^_]ÍVt:u^ F9BV$1ہfF Ut~uuSt([t&C|$$uCt[uߋuM܋^ AFCt EHUԃ uu[:ۉ~^ uu[;M؉ $m}t E1}UF@FM؉Eȉ $Eyf.v'USDUU]ME\$ UUD$T$$tD[]1҉؍Mu UtM $EEԃD[]ø却&UVS E]ut`UMT$U$U SPv@u5]t<$$…҉ t\$$<1 [^]Åۉ]u1 [^]Ðt&U1҉Huu]]}};t5EU D$EM$@v|u E8u]Ћu}]Ë5UED$ED$ $UԉǍw4uUԉ4$U9uu;뚐t&1҉;Ћ]u}]֋Uԋ0tfkt&'U1҉Huu]]}};t9EU D$EM$@u E8u]Ћu}]Ë5U֋UE80uxxtlMUD$ L$$Uԉǃt5uUԉ4$U9uu;돍1҉;Ћ]u}]ÉU֋Uԋt^MD$L$$0Uԉ뒉'UWVSD$AD$J$D$ ]EfUS4t@ t/D$ D$%AD$(A$]1fȋ]À8v$D$AD$:$x]ѐ$AH뱐D$8AD$:$4]1A'농D$AD$:$]1ASvUT$$|]1t$D$AUT$ D$\$$E$1ɃD$zAD$:$d\Xl$|UD$T$ \$D$A$1Ƀ}D$7AD$:$\XuD$TAD$:$[ED$D$ D$D$xA냃D$ D$%AD$A$[1t&D$ D$%AD$A$T[1D$YAD$:$1[1D$xAD$:$0D$AD$:$ZHD$AD$:$D$AD$:$ZD$AD$:$ZD$AD$:$dZv'UWVS}]$D$ "D$JAD$"EEE\$D$$ u e[^_]áLd=tG W@҉  t :$TA t#$TA$訲=w,$TAt$TAز$pP@|$TA赲@4$T$D$/$TA蓲t$$TA胲$Pw($TA_1t$TAK$Ƅ|t$ D$\AD$"$XG$Ѓ= T$ A`у$\D$ATЃt!@,M@L$$҃D$D$D$D$D$ D$D$@$%A APEEEEED$ D$D$$E>E  !%tDJD)FxP$D$t$ !%tDJD)JF‹PƄx !%tDJDM+P)кG…ɺAADыPD$T$ $賯Z<$8|$PBt$D$<$PCƄtDžLPD$D$|$D$ D$$XЃ$@d$\Ѓ =Ѕ 7Au}A%ADЋj1tV.r~BD$6vD$D$ DžF<:zDžJ@DžNDžRNA>Z^DžbDžfDžnDž <Dž@DžDžNA"Dž&Dž*Dž2D$NA@D$$X@DžPmPD$D$D$ T$D$$@X1ɃP(D$D$D$ |$D$$X1҃h1D$D$D$ t$D$$X"Dž2 $dBPNjt$軫Džt$蟫Džt$胫Dž"t$gDž"2t$KDž2<$\PM$تPDžH1LHED$LUAT$ )t$L$$d=U fZm$ED$ AD$"$D$ Qp$<@@T$pFƍ|D$4$ߩ@$PPPFƄ|LtL$&PtP $EEvE҃PL !%tDJD);PvLL_AT$D$4$蕦 !%tDJD)FxPD$t$ $辥 !%tDJD)JF‹PƄx !%tDJDPD$kA)кG‰D$P$腥P$AD$AE‰$4DžtuninDžxstalDž|l -dfDž=DžH@Lt$誤Ht !%tDJD)9Hs LtL$=LD$<$L$茤EE EED$D$@D$D$ D$D$@$%AL$D$AD$"$D$ `JO$DEԃtU=$EE؃t$EAt$A$׃==J=AD$$D$ EԉD$AUMD$ T$L$$Xdmt<=$bD$XAD$"$D$ "IAD$E؉$=uED$$&E1D$E؉$8E܃t=EJN$DP<$ՁޱEP0kU4x,@@xzxzx z xzxzxzxzx z x$z$x(z(x,z,x0z0PSPSP S PSPSPSPSP S P$S$P(S(P,S,@0C0Q$~A|D$AD$$$*D$$AD$$$|*D$$ǃ D$\$D$ D$D$$׋9$L$WD$AD$$$)$L$ D$4AD$$$D$)s$ނ4UWSU ]t 1T$$G|8[_]1tD$OAD$$ )1[_]uԋt"ƒ Ѓ[_]t&эvUWVAS1ۃ} DƅE׉D$$u%Et5DƉD$E$ځt u1[^_][^_]UUBccv/T$ D$AD$%$A(At&$AcAfkA~AfAиAfAAfA밸AfA렸%Af=A됸\AfA뀸AvAlt& A]XAMyA=A-AUHuu͉4$]]}D$ ޚD$JAD$t$D$$ u]u}]vL=t߅u3u<$1뺍&'UWVS MAIA]$D$ UD$JAD$EċAEȐAE̕AExxxxEx.xxExxx.ExxxxEx.xxExxxDžTADžXADž\ADž`ADždADžhADžlADžpAE~\$D$$ ,u e[^_]L=tXD$ D$D$A$4 Dž8Dž DžDžDž0E t U :08'0v4DžvL$D$$  D$0$}8< TD$4ML$U܍vED$T$ D$ L$$*TT$4ED$M܍vƅTD$L$ D$D$$htF4$Jg\$u؉t$#tD$A$gnEЍAUZt [D$D$A${g\$D$A4$ggU \$D$D$ T$$KUJu"BDƉD$$E$Hf$\D$AD$$ $E D$AD$$k $t&UZB (D$BD$BD$4AD$$ЍAD$ AAddDAevicAeIntAerfaAceGUfAIDAt&ED$D$D$AD$AD$D$ A$Qn8ED$D$D$ D$D$$҃ED$AD$$D$ Et$AdE$VKU(BD$BD$NAD$$ЍAD$ vUB$$cPD$t$$ؕAUc4$t$$D3D$$`cD$\$D$ D$D$$9Et$ D$D$$c$ct$ D$$D$mc4$5c$bEt$bED$ D$AD$$ =Ѕt~UB 0D$PA1D$$8uF$T$a uD$tAvD$ AD$$D_:(E$ED$0ED$`A$D$,ED$(ED$$ED$ ED$ED$ED$ED$ED$ ED$aXAWD$,AD$$$$8ATD$@A$\@D$ D$AD$$ PD$AD$$D$AVD$AD$$$5UE D$AD$T$D$ $x$VD$AD$$BOD$AD$AQD$ D$A$f_ЍAЍAD$AD$$NUS$E]EEۉ]EE EtCt=D$AD$${ED$D$@$$[]D$AD$$>E$$[]t&'U(}=uu]t&u]u}]ٝӍ&>tރ=v9Ѕ.1ۿA 4$DljD$]uԋM 11҅tE @D$T$ D$$'t$ D$PAD$$]1u}]t&$8ATD$@A$\ft$ D$AD$$t$ D$AD$$D$AD$$`iU (Dƒ=HAD$D$D$D$D$ D$D$$` DAD$D$D$D$ D$D$@$`HAtl 1áD$D$$@@D$ e\$rD$xD$@$V\$CD$D$@$'\DA$DAÐt&UX=HA]Éu}9@A֛T$D$ D$ޛD$<$YZEL$D$ )D$7$@xsDD$HAUT$ D$|$$( D$$D$ \$$]u}]Ë؜,HAU|$=T$ ED$D$$ס(5 D$$\$D$ $֋HAT$ D$D$mD$$ס( D$$\$D$ $֋]u}]Ít&U( $]EuU u}]tى4$]u}]Ít&;@A=rtcsM@bT$ <$D$D$ޛYt$\$<$Y|$$ Y]u}]Ãt)t@֛맃 ]띃@p듍@h냍U8]]ډ$uD$ D$vD$W\$D$$ u؋u]] L=t$u,ENuE$E (4$밉4$렍v'U8]]؉$uD$ D$vD$ W\$D$$ u؋u]]L=t$;EuiHAtW$HADAt$DA$(4$1ۃr빉4$T4$1At&'Uh]]Ή$u}} D$ D$vD$U\$D$$ u؋u]}] vLE=tۃ=DA tiU ED$|$T$D$ DA$ueEU=tzu`4$`t&ED$|$$ UxAU1ۉ4$)4$14$UD:4$1rU4$RUE]@A1UUft- = tf9Š}uŤ}]f1]1ꐐU4$0TAD$ D$D$PA$&U(]]u}D$$u]u}] ӣt$ƅD$$E uE 뮍&'U(EtUT$D$`A$`E Í'UWVSE uUM=vs=8=_=uj4$D$$X$PA$De[^_]2t4$L$ T$D$<Ã؍e[^_]=uuD@DUr)9i`أD$XA$XA=D$$סXA5($֡XAD$$סXA$փ@t&=TAcD$ӣD$أ$Rw1ۉPAe[^_]t&$D$8$<Ã؍e[^_]T$L$ D$4$<1҃9أ u10t&5PA4$5D@փD$$X=PA,4D$,D$(D$$|$ D$ D$D$#D$ D$ PD$D$1ӣ$Ӄ0\A $D$ D$D$ EС,D$,D$(D$$|$ D$D$D$ D$ D$ PD$fӣD${ӣ$$ӣXA\A0T=T$ӣ׋\D$ӣ$ӃH$ӣ׃D$ӣ$Ӄ<$ӣ׃D$ӣ$ӣ8HD$4ӣD$0D$,D$(D$$D$ D$D$D$D$D$ D$D$$Ѓ8D$XAD$ D$0$=PA<$փEЉUD$<$UE$D$hE+EU]؉uEE+E+]+uԉEE$D$,؉MEڍT݉UED$t$\$ T$D$<$PAD$ D$D$$PAD$ D$D$$U؃e[^_]t&D$D$$ATALD$ ԣD$أ$=,=TAD$DԣD$أ$TAD$$D$ D$$$1$PA$D$/D$ӣD$أ$D$ {$D$DӣD$أ$D$ \At&UWVS] uue[^_]ÅtD$4$,D$D$$ LAyL=hE0]\$D$ԣ4,$d *,D$,D$$t$ D$(D$fD$D$dD$dD$ ĖD$fӣD$ԣ$40D$$$](5=LD$ D$D$$փt9t$$$׃D$գD$գ$룡LAt$LA]ԍe[^_]f,=E0EE0 AEEED$$׃ED$$׃ED$$EijԣEE$E$f&$4D$ԣD$ D$գ$LAL$LAR3D$pԣD$գ$LA$謍D$ԣD$ sUWVS` 4@D!%tDSD@`$;HD=@D$ \D$`D$٣T$$H$Gf\*@D$t$D$ \$D$$TЍ`T$4$L2D$D$D$\$D$ D$D$$ `M1WD 9uC$8$D$4Gu؋@\$D$\D$`D$ D$٣$GE$%٣T8D$0٣$\HD$D$D$ D$D$$T1҃$1(D$D$D$D$ D$D$(t2ED$ED$ D$4$H(Džt$Et 4$EB5fEYfEE،EGEEEOEEޕEEfExfEEȌEGEEEOEEΕEE$%٣T*D$l٣$\<[$%٣TD$٣$\8!$٣TD$٣$\0<U1Pt&P2<$D$٣D$D$ ,uD$D$D$ \$D$$TMT$ D$LۣD$$L`D$$%LL$ e[^_]áD$D$$٣@D$ $De[^_]ÿ٣o٣[@$C$ CD=w@\$D$ \D$٣D$4$CUD4$D$ %٣D$T٣D$$cD$ %٣D$T٣D$$:v$%٣|D$$pBD$(t$D$ D$D$$T(9$ B1$%٣|$%٣|$٣| D$$A,t$D$D$ \$D$$T9,$D$9A9w 9v8.u9w٣$0H$8H=H٣%H٣ H1ڣ\$ D$5ڣD$$KED$EEE٣E@t$ D$D$Dڣ$0\EPDž`Dڣhd`|UDžlڣDžpDžxT$ 4D$D$ D$D$D$$<,$?,D$ D$ڣt$T$DD$4$8$ڣ?4t$D$ڣD$ D$ڣ$DD$8HtH$%?,$?D$ D$6ۣD$$\$ D$٣D$$VEEEEED$EEE٣E@EEt$ D$D$ڣ$0tQEPDž`ڣhd`|UDžlڣDžpDžx$1躂D$\ڣD$$D$ z\$ D$٣D$$U,1$1R\$ D$ۣD$$D$4D$ ٣D$T٣D$$!$\$ D$ڣD$$D$\$ 1D$٣D$$,$<UWVSL5TEErۣ$٣փ\D$ۣ$Ӄ$٣փD$ۣ$ӃEh$٣փD$ۣ$ӃE9$٣փD$ۣ$ӃE D$ D$D$D$$ ׃ED$ ED$D$ $UԃtgED$ D$4$D$UЃul$f1D$,ܣD$N$D$E D$ 4$1D$ ܣD$N$D$ 4$D$Ӊe[^_]D$ ٣11D$T٣1D$N$^D$ ٣11D$T٣D$N$4f$٣|$٣|$٣|D$ ٣11D$T٣D$N$$٣|$1~D$ۣD$N$D$E D$ t UWVSL5TEE$٣փ\D$ۣ$Ӄ$٣փD$_ܣ$ӃEh$٣փD$|ܣ$ӃE9$٣փD$ۣ$ӃE$٣փD$ܣ$ӃEE D$ D$D$D$$ ׃.EuD$t$D$D$ D$D$$Uȃ$1|D$ܣD$:$D$ED$ Et$7tD$$UЃe[^_]D$ ٣11D$T٣D$:$PE롍&E$]7EOD$ED$t$D$ D$D$$Uȃ}0$ŰE D$|$ D$ܣD$:$D$t$D$ D$D$$UԃuD$ ٣11D$T٣D$:$V$٣|$٣|$٣|$٣|*$1{D$ۣD$:$D$E D$ $٣|t&'UWVS\5T$٣փ\D$ۣ$Ӄ$٣փfD$ܣ$Ӄ$٣փID$_ܣ$Ӄ$٣փ2D$ۣ$Ӄ$٣փD$ݣ$ӃR$٣փD$4ݣ$Ӄ $٣փD$ۣ$ӃD$GݣD$ D$D$$ ׃E $D$ED$ FD$D$D$ D$D$4$ $t $tD$4$Ӄe[^_]Ðt&D$ ٣11D$T٣1D$ $뱍t&$٣|K$٣|l$٣|$٣|$٣|D$ ٣11D$T٣D$ $c }+L$D$ D$4$$f1wD$PߣD$ $D$ S$1vD$XݣD$ $D$ H$٣|$1vD$xݣD$ $D$ RD$4$Ӄ$٣|ܣ $ƅƅD$D$D$ ݣD$D$ $D$D$D$ ݣD$D$ܣDžܣD$ݣD$DE|$<$D$D$D$ (ED$ 1D$ߣ|$$D$0ߣ1D$ $T UWVSE؁LEčEEEEEEEEEEfDžhfDžjfDžlfDžnfDžpfDžrfDžtfDžvEnߣEEEߣEEߣEEDžNhttpDžR://lDžVibwdDžZi-cpDž^s.ak5TDžbeo.ifDžfe$٣փB\D$٣$Ӄ$٣փ#D$ܣ$Ӄ$٣փ D$ߣ$ӃP$٣փD$ݣ$ӃE1ۍuD$D$ t$D$$$׃$rD$ߣD$ $D$ 11Dž1Dž$-ҋÅ!Åt$-t$-t4${-Eԅt$l-E܅E^;e[^_]ËE$,ML$D$ t$D$$$׃EuDžDž ED$D$ t$D$ $1҃EE$b,0ML$D$ t$D$ $׋E䍵xDž'NEEDžDžxDž|D$D$ t$D$$׋DžtZE$+t=EL$ D$t$D$$׋11$"pD$0D$ $D$ DždD$ ٣D$T٣D$ $Dž11D$$&$f$٣|$٣|t&$٣|$٣|11$ oD$D$ $D$ DžDžB<$1E1MM䉕EߣEEL$D$ D$D$$׋tGE$i)t0MD$ EL$D$D$$׋uI$nD$HD$ D$ 1$DžSE}D$|D$ (E$Dž qDž$,Ed D$`D$ D$D$<$ыD$D$ $E܉D$ ED$D$$$1lD$0D$ $D$ DžL= $tlD$D$ \D$OD$ $!MED$D$D$D$ D$L$$t`EЉ$&EtHD$EMD$L$D$ D$D$$$kD$hD$ oD$hD$ D$D$<$D$D$ $01MDž0Dž8Dž< EȉD$hD$ED$0EЉDžHED$L$ D$D$$ t>MD$D$ L$ $Dž$jD$D$ $D$ DžRt&'UWVSl5TEE EGݣEErۣE$٣փ#\D$$Ӄc$٣փD$ۣ$ӃE4$٣փVD$ۣ$ӃE$٣փAD$8$ӃE$٣փFD$ۣ$ӃE$٣փD$ݣ$ӃEt|E܉D$ED$E]\$ D$D$@$׃$16hD$YD$$D$ M܅u$٣|[D$$00MD$ET$D$ D$D$$D09EEEEEEEEЍEEȍẺPEĉ\HE؍EԉpE܉uEEEEE]EEDžxDž|EEEDžLDžHDžXDžTEDž`DždDžhDžlDžtD$ `D$ xD$ED$D$D$D$D$$8$@t;$`D$dD$$D$@D$ ED$D$$D$ Dž44$7v'UWVS\=TE$%٣׃5\D$$փ{$%٣׃2D$ $փE'$%٣׃D$$փE$%٣׃D$/$փ$%٣׃D$G$փEED$D$ D$D$$D$`11D$1$EEunt<$bt4$Vt $ŨEЍe[^_]ÍD$ %٣11D$T٣1D$$覿EEtD$$yE1D$D$D$ D$D$$EЃE 1D$D$D$ D$D$$Uԃ[4$DED$D$ D$D$<$Ӄ4$-t$D$D$$DD$ Uȃ$D$D$D$8$DD$ UȃUOE$e$RpEM$BM $D$ED$M $M1҉]ȉӉu9s{</u\4$f$%٣|#D$ %٣11D$T٣D$$能EEc$%٣|]ȉ $uMD$ D$`D$HME $E=vdu`ED$dD$@$Et&$%٣|$%٣|Et5}ċ}1҉uu]ȉӍ$89w]ȋ}ċuEܣM$$UЃuG$fZD$D$$D$ &0$%٣|WED$D$$D$ E$YD$D$$D$ED$ 詻ED$$EUD$E T$D$ D$D$$UԋU9N4$1?&D$$D$Et$D$ D$D$$Uԃ9<$1@v$XD$D$$D$ 褺E$XD$@D$$D$ lESU8]]uU}u}M ;}>t_ 9GƉD$ED$ $H3]u}]D$UM$MUu$3]1u}]ÍUh]]uU}uu`]u}]fttM t݋Etփ}Et̋}E}уMЃуMt}t} E UE$9UɉE܉kMċEEEUԍE}9} ~6M M̅t(EЋM<$D$L$9tSE9Esԃ} UME}VE1уM 3M)L$ EM܉|$t$D$\$ $U}Љ])} ^t\1эyM9M M|7EċMUD$>L$$dUu|$T$4$MtJuEЍ}M]|$ D$EL$M܉D$\$ $)ڃ]E}T$|$ D$\$уL$M܉ $t}u)} EK} EM }T$ D$EL$|$\$D$E܉$9EE܉$CXE Ut$\$D$ED$ ED$E܉$KUt&U8EU]uuEE }}U$E܋E D$ED$ u]u}]ÍvD$$E؉\$$t$tU܉}]u}EuU UUUUU؉U ]UE tt t&UD$ET$$j  UVSHE :v:=pAt pAe[^] &$`|\D$m$ӣD$$Ӌң tt#t tAu$mAGe[^]1ÍCtAuNj5T$փtD$$\$օRu$օVu$|Q UtL$qUQLD$D$ HD$P$#MɍaÐUHtA]u}=N@EEtЋ]u}xA]ÍvE$hE}Eԃ04lEЍE؉$3}3}3}113}ЉN@t=tA]u}xA]øDO@U(EU E$tAExAE$,D$ $1UWVS ue[^_]Í$$<t/=L$ׅu tC4$Ћ[u$$xe[^_] US u1]D$ $eøt܋E$$E C<<C$$x1럍'US ]u 1]Í$$<t9u F9t ‹Bu$$x1]ËHJ$$$xًB<ڍUE tBru6* u $$΍t& t Í$$tאUEU M]Í&'UEU M] UE U]fUE U]UED$ ED$E D$E$RÐ%%%%%%%%%X%@%T%t%%%%%|%%%%h%`%d%%\%%%%%%x%%P%%l%p%%%%%<%%%L\AC:\usb_driver}AAAzA0CU$1>Qdz'Unknown error (-9223372036854775808)tAN@Dmsvcr80.dllmsvcr70.dllmsvcrt.dll_set_invalid_parameter_handlercould not populate dropdown list past device #%dWinUSBusbhublibusb0libusbKusbhub3nusb3hubusbccgpUSBSTORHidUsbDelete Filter DriverInstall Filter Driver'%s' driver is not availableNo Driver AvailableNo driver is available for installation with this application. The application will closefalling back to '%s' for default driverdefault driver set to '%s'%s (v%d.%d.%d.%d)%sprogram assertion failed - editable_desc != NULLcould not allocate buffer to edit descriptionDriver operation may be unsafeDriver operation should be safeFilesExtractDriverDeleteInstallUpgradeDowngradeReinstallReplaceWCID Filter %s %s%stoo longinvalidcould not create new device_info struct for installation%s Generic DeviceDriver InstallationThe description string cannot be empty.%4xcould not convert VID string - abortingcould not convert PID string - aborting%2x.inf'%s' is %s for a device nameUsing inf name: %sWarning - Filter DriverWARNING: Improper use of the filter driver can cause devices to malfunction and, in some cases, complete system failure. THE AUTHOR(S) OF THIS SOFTWARE ACCEPT NO LIABILITY FOR ANY DAMAGE RESULTING FROM THE USE OF THE FILTER DRIVER. Are you sure you want to install this driver?Succesfully extracted driver files.Warning - System DriverYou are about to replace a system driver. Are you sure this is what you want?Installing driver. Please wait...Could not extract fileszadig.iniini file '%s' not found - default parameters will be usederror while processing '%s': %sreading ini file '%s'advanced_modegenerallist_alldeviceinclude_hubsextract_onlydrivertrim_whitespacesdisable_cert_install_warningsecuritylog_leveldefault_dirinstall_certcertificate '%s' not found in this applicationdefault_driverinvalid value '%d' for ini option 'default_driver'IDR_INSTALLSPLITChange the device nameVID:PID[:MI]Current DriverTarget DriverWindows Compatible ID Click '?' for more info.Directory to extract/install files toOnline information about WCIDSubmit Vendor to the USB ID RepositoryWingdingsshell32.dllurlmon.dllieframe.dllnetshell.dllComctl32.dllImageList_CreateImageList_ReplaceIconzadig v2.0.0.147Unable to access log output - logging will be disabled (%s)VIDno VID found in preset file - aborting readout%04XDescriptionPIDMI%02XGUIDsVendor name could not be resolved. If you know the name of this vendor, please consider submitting it to the USB ID Repository, by clicking the button on the right.SUCCESSFAILEDUnable to create notification delay thread - notification events will be disabledUSB Event NotificationThe USB device list has been modified. Do you want to refresh the application? (you will lose all your modifications)wdi_read_logger: error %s%d device%s found.http://sourceforge.net/apps/mediawiki/libwdi/index.php?title=WCID_devicesopenhttp://www.linux-usb.org/usb-ids.htmlcould not use modified device description(Unknown Device)(NONE)USB\MS_COMP_Driver Installation: %sDriver Installation: SUCCESSThe driver was installed successfully.Driver Installation: Cancelled by UserDriver installation cancelled by user.Driver Installation: FAILED (%s)The driver installation failed.Using '%s' as extraction directory.unable to read log textZadig loglogzadig.logcould not allocate buffer to save logZadig device configcfgsample.cfgmmc certmgr.mscUnable to launch the Certificate Managerhttp://sourceforge.net/apps/mediawiki/libwdi/index.php?title=ZadigSystem32SysWOW64SysnativeGlobal/ZadigOther instance detectedAnother Zadig application is running. Please close the first application before running another one.MAIN_DIALOGDialogBox failureCould not create WindowWINDIR\\libusb-1.0.dllSuccessfully deleted the libusb-1.0 system DLLsCould not remove the libusb-1.0 system32 DLLsCustom (extract only)[%d] Windows error code %u (FormatMessage error code %u)Unknown error code %u "*/:<>?\| SHELL32SHSimpleIDListFromPathPlease select directorycreateopenSaved file asOpened fileOpenProcessToken failed: %sGetTokenInformation (pre) failed: %sunable to convert SID to string: %sunable to convert string back to SID: %sGetTokenInformation (real) failed: %scould not set security descriptor: %sCould not %s file '%s'Could not allocate buffer for reading fileI/O Error: %s%s '%s'save%s (*.%s) *.%s All Files (*.*) *.* Could not selected file for %s. Error %Xmsctls_statusbar32http://sourceforge.net/apps/mediawiki/libwdi/index.php?title=Main_Pagetooltips_class32  (root)rHOMEynUnknown erroryestruet1on8AJANASAUAWAnofalsenil0off:AxA{AAAANo errorProfile version 0.0Bad magic value in profile_nodeConfig section not foundConfig value not foundAttempt to add a value to a node which is not a sectionA config section header has a non-zero valueBad linked list in profile structuresBad group level in profile strcturesBad parent pointer in profile structuresBad magic value in profile iteratorCan't set value on section nodeInvalid argument passed to profile libraryAttempt to modify read-only configConfig section header not at top levelSyntax error in section headerSyntax error in value assignationExtra closing brace in configMissing open brace in configBad magic value in profile_tBad magic value in profile_section_tIteration through all top level section not supportedInvalid profile_section objectNo more sectionsBad nameset passed to query routineNo config file openBad magic value in profile_file_tCouldn't open config fileSection already existsInvalid boolean valueInvalid integer valueBad magic value in profile_file_data_tAAAAAAPAAAAA A@AlAAAAAA5ATA|AAAAAA>AXAoAAAWindows 2000Windows XPWindows 2003 or Windows XP 64 bitWindows VistaWindows 7Cfgmgr32.dllCM_Get_ParentCM_Get_ParentACM_Get_ParentWCM_Get_ChildCM_Get_ChildACM_Get_ChildWCM_Get_SiblingCM_Get_SiblingACM_Get_SiblingWCM_Get_Device_IDACM_Get_Device_IDAACM_Get_Device_IDAWSetupapi.dllCMP_WaitNoPendingInstallEventsCMP_WaitNoPendingInstallEventsACMP_WaitNoPendingInstallEventsW[#%X] Windows error code %u (FormatMessage error code %u)Unknown error code %uOpenProcessToken failed: %sGetTokenInformation (pre) failed: %sunable to convert SID to string: %sunable to convert string back to SID: %sGetTokenInformation (real) failed: %sprogram assertion failed - no current device%sinstall-filtergot request for device_idno device_id - sending empty stringgot request for hardware_idno hardware_id - sending empty stringprint_message: no datainstaller processsyslog_message: no datasyslogset status: no dataswitching timeout to infiniteswitching timeout back to finiteinstaller process completedno user_sid - sending empty stringunrecognized installer messageо@@3@н@`@0@@@@\installer_x64.exe\installer_x86.exe6432installer_x64.exeinstaller_x86.exeinstall-filter.exeGlobal\%sTEMPno path provided - installing from '%s'one of the required parameter is NULLdetected another pending installation - abortingCMP_WaitNoPendingInstallEvents not availableKERNEL32IsWow64Process\\.\pipe\libwdi-installercould not create read pipe: %s\amd64\x86\install-filter.exelibusb0could not create stdout endpoint: %sthis application does not contain the required %s bit installerplease contact the application provider for a %s bit compatible versionSHELL32IsUserAnAdminrunasoperation cancelled by the usercould not find installer executableShellExecuteEx failed: %s CreateProcess failed: %sunable to alloc buffer: abortingmessage overflow (async) - increasing buffer size to %d bytesunable to realloc buffer: abortingcould not read from pipe (async): %sinstaller failed to respond - abortingcould not read from pipe (wait): %smessage overflow (sync) - increasing buffer size to %d bytescould not read from pipe (sync): %scould not set security descriptor: %swunable to read file attributes %s%s is a file, not a directorycould not allocate buffer to convert relative path\directory name is too long %sunable to create directory %s (%s)qualified path is too long: '%s'failed to create file '%s' (%s)successfully extracted driver files to %sVersion.dllunable to open version.dllVerQueryValueAGetFileVersionInfoAGetFileVersionInfoSizeAunable to access version.dllunable to use TEMP to extract fileunable to allocate buffer for version infounknown driver typeSuccessInput/Output errorInvalid parameterAccess deniedNo such deviceRequested resource not foundRequested resource busy or similar call already in progressOperation timed outOverflowSystem call interruptedCould not allocate resourceOperation not supported or not implementedResource already existsCancelled by userAnother installation is detected pendingUnable to run process with required administrative privilegesAttempted to use a 32 bit installer on a 64 bit machineThe syntax of the inf is invalidUnable to locate cat fileSystem policy has been modified to reject unsigned driversOther errorUnknown Error: %d @!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@@@@@@@@@@@@@@@@w@p@g@`@W@DriverlessVID_PID_MI_usbhubusbhub3nusb3hubflxhcihtihub3etronhub3viahub3asmthub3USBDriverVersionHardware ID: %scould not get hardware IDCompatible ID: %sUpper filter: %sDriver version: %s.could not read driver versioncould not retrieve simple path for device %d: CR error %d%s USB device (%d): %scould not read device description for %d: %sUnknown Device #%dSetupDiGetDevicePropertyWfailed to locate SetupDiGetDevicePropertyW() in Setupapi.dll\#&VID_%04Xcould not convert VID stringPID_%04Xcould not convert PID stringMI_%02Xcould not convert MI string (Interface %d) (Composite Parent)Device description: '%s'usbccgpUNUSED(Undefined Vendor)WinUSBlibusb0.syslibusbK.sysuser driver.infinf name provided must have a '.inf' extensionno path provided and unable to use TEMPno path provided - extracting to '%s'unsupported or no driver type specified, will use %sprogram assertion failed - no driver supportedcustom driver - extracting binaries only (no inf/cat creation)unknown typeno device ID was given for the device - abortingqualified path for inf file is too long: '%s\%sVID_%04X&PID_%04X&MI_%02XVID_%04X&PID_%04X{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}%02d/%02d/%04d%d.%d.%d.%d#failed to create file: %scould not convert '%s' to UTF-16could not tokenize inf file (%d)succesfully created '%s'.cat generation disabled by userVista or later detected - creating and self-signing a .cat file...WTF more than %d cat entries - ignoring the restUSB\%sCN=%s (libwdi autogenerated)could not create cat filecould not sign cat fileNo .cat file generated (not running Vista or later, or missing elevated privileges)error - could not find cat template '%s' cat_template[driver_type]using standard modeusing progress bar modeunable to locate certificate '%s' in embedded resourcescould not add certificate '%s' as Trusted Publishercertificate '%s' successfully added as Trusted Publisherthis call must be run with elevated privileges on Vista and laterMZ@ !L!This program cannot be run in DOS mode. $}ʫBBBKd1EBKd7QKd MKd6CKd'eCKd0CKd5CRichBPEL[J!  NCS@P<6@.text `.dataG@.rsrc<P>@@.reloc  *@BlVH6$DfJ6~lP>(xfXH<.rZ6*t"bR6v\@Dfv$/[J0HHtGetVersionToBeInstalled: ConvertUlongToDotFormat returned %s GetVersionToBeInstalledBase36: ConvertUlongToVersionStringBase36 returned %s Unrecognized DIF_ value %d (0x%X) DIF_POWERMESSAGEWAKE DIF_TROUBLESHOOTER DIF_ADDPROPERTYPAGE_BASIC DIF_ADDPROPERTYPAGE_ADVANCED DIF_REGISTER_COINSTALLERS DIF_DETECTCANCEL DIF_INSTALLINTERFACES DIF_NEWDEVICEWIZARD_FINISHINSTALL DIF_NEWDEVICEWIZARD_POSTANALYZE DIF_NEWDEVICEWIZARD_PREANALYZE DIF_NEWDEVICEWIZARD_SELECT DIF_NEWDEVICEWIZARD_PRESELECT DIF_REGISTERDEVICEDIF_SELECTBESTCOMPATDRV DIF_ALLOW_INSTALL DIF_DETECTVERIFY DIF_ENABLECLASS DIF_PROPERTYCHANGE DIF_DESTROYWIZARDDATA DIF_INSTALLWIZARD DIF_DETECT DIF_MOVEDEVICE DIF_VALIDATEDRIVER DIF_DESTROYPRIVATEDATA DIF_CALCDISKSPACEDIF_INSTALLCLASSDRIVERS DIF_VALIDATECLASSDRIVERS DIF_SELECTCLASSDRIVERS DIF_FOUNDDEVICE DIF_FIRSTTIMESETUP DIF_PROPERTIES DIF_ASSIGNRESOURCES DIF_SELECTDEVICE DIF_REMOVE DIF_INSTALLDEVICEFILES GetDriverDetailsData: SetupDiGetDriverInfoDetail: %s GetDriverDetailsData: SetupDiGetSelectedDriver: %s Could not extract the path to the INF files Path to INF files: %s Path to INF files required %d characters, buffer is only %d characters long, error %s WdfGetPathToInfFiles: path %s too long, %s WdfGetPathToInfFiles: %s ReadComponents: Malformed or non-existent Wdf section, zero services found Please refer to the Kmdf samples/documentation for the correct format ReadComponents error: Couldn't parse the KmdfLibraryVersion string. ReadComponents: ConvertDotFormatComponentsToUlong returned %s ReadComponents error: ill-formed KmdfLibraryVersion string %s: too short ReadComponents error: SetupFindFirstLine([%s] %s) failed: %s ReadComponents error: SetupGetStringField for KMDF version failed: %s ReadComponents error: KmdfLibraryVersion string too long, max is %d: %s ReadComponents error: SetupGetStringField failed: %s ReadComponents: WdfSection for Driver Service %s using KMDF lib version Major 0x%x, minor 0x%x ReadComponents This version only supports 1 component. Neglecting other components KmdfLibraryVersionReadComponents: Error Non-existent wdf section, error %s Please refer to the Kmdf samples/documentation to add the Wdf Section KmdfServiceException(%X) @ %p -- .exr %p; .cxr %p; kb GenerateDriverServiceMarker: GetDriverImageNameFromServiceName failed: %sfor service %s Invalid value for SectionName error Section [%s] is empty. error locating section [%s] in inf %s - %s error Section [%s] not found in inf %s. ReadWdfSection: Checking WdfSection [%s] Error creating complete section name (%s%s) - %s .WdfError getting name of install section, partial section %s, error %s Error getting size of name of install section - %s Read WDF section, section %s + <arch> + %s is too long, overflow Read WDF section, section %s is too long, must be %d max Read Wdf Section From Inf: Could not open INF %s Read Wdf Section From Inf: Could not copy section %s to buffer,too long, error %s WdfSectionGet coinstaller name: Could not copy file name %s to buffer Get coinstaller name: could not allocate memory for file name GetCoInstallerName, file path %s is longer than MAX_PATH FAILED: component [%d] : %s\%s.inf too long InstallComponents: ConstructKMDFFileName returned %s InstallComponents: ConvertUlongToVersionStringBase36 returned %s InstallComponents: Reboot needed by windows update InstallComponents: KMDF installed successfully DefaultInstall component [%d] : %s %s\%s.inf%s has been extracted to %s ExtractFiles failed: %s (0x%x) Check %s for trusted signature Failed to extract WDFCAB_RESOURCE for %s to %s WDFCAB_RESOURCEExtracting WDFCAB_RESOURCE from %s to %s Could not determine current coinstaller's name Could not create buffer %s\wdf.cab, string too small %s\WDF.cabDIF_INSTALLDEVICE: No need for reboot, because KMDF was not found in the system DIF_INSTALLDEVICE: Update is not required. The on-disk KMDF version is newer than or same as the version of the coinstaller DIF_INSTALLDEVICE: Update is required, because the on-disk KMDF version is older than the coinstaller DIF_INSTALLDEVICE: No need for reboot DIF_INSTALLDEVICE: Reboot is required, because the in-memory KMDF version is older than the coinstaller's version. DIF_INSTALLDEVICE: KMDF on-disk version: %d.%d.%d DIF_INSTALLDEVICE: KMDF in-memory version: %d.%d.%d DIF_INSTALLDEVICE: Coinstaller version: %d.%d.%d InstallComponents: failed: %s Final status: %s Create temp directory, local too small to fit %s, error %s %s%s%s\Temp\WdfTemp\Microsoft Kernel-Mode Driver Framework Install-v1.9-Vista.msu\Microsoft Kernel-Mode Driver Framework Install-v1.9-Win2k-WinXP-Win2k3.exeLocalAlloc failed Buffer too small for fileName, error %s WdfPreDeviceInstall: Installation completed but reboot required (ERROR_SUCCESS_REBOOT_REQUIRED) WdfPreDeviceInstall: Reboot required WdfPreDeviceInstall: exit: %s WdfPreDeviceInstall: EXCEPTION: Invalid Access For the Detected OS (Win 2k or lower) coinstaller will not install binaries WdfPreDeviceInstallEx: entry WdfPreDeviceInstall: entry WdfPostDeviceInstall: exit: %s For the Detected OS (Win 2k or lower) coinstaller will not do a post device install WdfPostDeviceInstall: entry WdfPreDeviceRemove: exit: %s WdfPreDeviceRemove: entry For the Detected OS (Win 2k or lower) coinstaller will not do a pre device remove WdfPostDeviceRemove: exit: %s WdfPostDeviceRemove: entry For the Detected OS (Win 2k or lower) coinstaller will not do a post device remove WdfCoInstaller: EXCEPTION: Invalid Access DIF_INSTALLDEVICE: Post-Processing DIF_INSTALLDEVICE: No action taken for NULL driver For the Detected OS (lower than Win 2k ) coinstaller will not install binaries DIF_INSTALLDEVICE: Reboot required DIF_INSTALLDEVICE: Pre-Processing J\u"F9N`4R 2̯7 `@À,00r+=(׼QZQC1BVerifyMSRoot: exit: %s VerifyKnownCerts: exit: %s Found hash matching #%d of %d given certs. Comparing retrieved hash value with passed-in key CheckWinTrust(%s) returns S_OK Digital Signatures on file %s are not trusted: Error %s Error: %s when verifying trust for %s VerifyFileTrust: exit: %s, %s error: ERROR_BUFFER_OVERFLOW on line %d URLMON.DLLDllGetVersionExtractCABINET.DLL [%02d/%02d/%04d %02d:%02d.%02d.%03d] WdfCoInstaller: StringCchPrint failederror(%d) %sstatus(%X) %s<no error text>file: %s, time-stamp: [%02d/%02d/%04d %02d:%02d.%02d.%03d], size: %u bytes %s\%s*Could not create tmp directory %s, error %s Create temp directory, local too small to fit %s%s, error %s Extract resources: could not write file %s, 0x%x bytes in length, 0x%x written, error %s Extract resources: could not create file %s, error %s Extract resources: could not lock resources %s, error %s Extract resources: could not load resources %s, error %s Extract resources: could not find resources %s, error %s Extract resources: could not get module handle, error %s GetServiceKeyHandle: RegOpenKeyEx(HKEY_LOCAL_MACHINE\%s) GetServiceKeyHandle failed: %s GetServiceKeyHandle: RegOpenKeyEx(HKEY_LOCAL_MACHINE\%s\%s) System\CurrentControlSet\ServicesSetupOpenInfFile failed: InfFileName %s, error: %s WdfCloseInfFile: invalid handle %p Service %s is running CheckServiceInUse: %s service could not be queried CheckServiceInUse: %s service could not be opened CheckServiceInUse: Could not open handle to the SCM CheckServiceInUse: Invalid argument SetFakeSystemRestorePoint: Problem finalizing restore point SetFakeSystemRestorePoint: Problem initializing restore point SetFakeSystemRestorePoint: Error setting restore point description KMDFSRSetRestorePointW was not found. No system restore point will be set SRSetRestorePointWSystem restore is not supported. No system restore point will be set srclient.dllThe package was installed successfully: %s. For additional information please look at the log files %%windir%%\windowsupdate.log and %%windir%%\Logs\CBS\CBS.log The "Windows Update" service is disabled. It has to be enabled for the installation to succeed. For additional information please look at the log file %%windir%%\Wdf01009Inst.log The update process returned error code :%s. The package was already installed in the system InvokeExe Create process failed : %s Invoking "%s". Buffer too small for lpCommandLine, %s %s %sBuffer too small for applicationParameters, %s "%s"%s /quiet /norestartCould not expland %s %windir%\system32\wusa.exe /quiet /norestart /o /ERDeleteWdfLdrService: WdfLdr Service deletion succeeded DeleteWdfLdrService: WdfLdr Service deletion failed DeleteWdfLdrService: WdfLdr service could not be opened wdfldrDeleteWdfLdrService: Could not open handle to the SCM DoNotDeleteServiceSystem\CurrentControlSet\Services\wdfldrInstall: failed: %s GetControlKey failed: %s GetControlKey: RegOpenKeyEx(HKEY_LOCAL_MACHINE\%s) GetControlKey: RegOpenKeyEx(HKEY_LOCAL_MACHINE\%s\%s) failed: %s Wdf\Kmdf\KmdfLibrary\VersionsSystem\CurrentControlSet\Control%s.%s%sConvertUlongToVersionString: Failed %s 00%s0%s error %s KMDF_VERSION_RCParameter MajorVersion was NULL Could not find a dot or found an invalid character in version string %s, error %s Major string %s too long to fit in buffer (max size is %d), error %s Could not get major version from string (empty), error %s Could not get major version from string %s (too long), error %s GetDriverImageNameFromServiceName : failed error: %s GetDriverImageNameFromServiceName : RegQueryValueEx failed error: %s serviceName %s length %x ImagePathGetDriverImageNameFromServiceName : GetServiceKeyHandle failed error: %s serviceName %s ArpEntryPresent: RegOpenKeyEx(HKEY_LOCAL_MACHINE\%s) wasn't found so we will assume the package was removed: %s %s%sSOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WdfCould not construct path to drivers folder, path too long \system32\drivers\GetWindowsDirectory: returned error %s GetInMemoryVersionUlong: Invalid argumentswdf000GetInMemoryVersionUlong: GetMajorVersionFromVersionStringBase36 returned %s GetWdfMajorVersionControlKey installVersion %s majorVersion %s RegCreateKeyEx failed: %s GetWdfMajorVersionControlKey: GetVersionToBeInstalled returned %s Could not find service name value ServiceUsing default name for KMDF service: %s Invalid value for ServiceNameLength KMDF control key was not found Wdf01000ServiceNameLength was 0 Parameter FileNameWithPath was NULL .sysGetLatestInstalledVersion: Error finding %S resource GetLatestInstalledVersion: KMDF was not previously installed in the system GetLatestInstalledVersion could not construct KMDF file name, error %s GetInMemoryVersionUlong: No information about in-memory KMDF version GetInMemoryVersionUlong: Problem reading Build Number. Returning 0.0.0 BuildNumberGetInMemoryVersionUlong: Problem reading Minor Version. Returning 0.0.0 MinorVersionGetInMemoryVersionUlong: Problem reading Major Version. Returning 0.0.0 MajorVersionGetInMemoryVersionUlong: Cannot create string(HKEY_LOCAL_MACHINE\%s\%s\%s) %s\%s\%sParametersServiceNotPresent: %s service could not be opened ServiceNotPresent: Could not open handle to the SCM SetDriverServicesCoinstallerVersionValue installVersion %s RegCreateKeyEx: %s SetDriverServicesCoinstallerVersionValue: RegFlushKey failed: %s SetDriverServicesCoinstallerVersionValue failed: %s SetDriverServicesCoinstallerVersionValue: RegSetValueEx(%s) value %s DriverServicesSetDriverServicesCoinstallerVersionValue: GetVersionToBeInstalled returned %s SetCoinstallerVersion: RegCreateKeyEx failed: %s for key %s SetCoinstallerVersion: RegSetValueEx(%s) failed %s value %s SetCoinstallerVersion: GetVersionToBeInstalled returned %s Parameters\WdfSetCoinstallerVersion: GetServiceKeyHandle failed: for service %s SetServiceValue: RegFlushKey failed: %s CheckInsertIntoGroupOrderList: RegSetValueEx(%s) value[0] %x value[1] %x CheckInsertIntoGroupOrderList failed: %s WdfLoadGroupSystem\CurrentControlSet\Control\GroupOrderListlistSystem\CurrentControlSet\Control\ServiceGroupOrderBootApplication: could not open service %s, error %s BootApplication: could not open service control manager, error %s QueryServiceConfig for GetStartType failed, error %s GetStartType: could not allocate memory ConfigureServiceSettingsInRegistry: Invalid Parameter ConfigureServiceSettingsInRegistry: RegOpenKeyEx(HKEY_LOCAL_MACHINE\%s) ConfigureServiceSettingsInRegistry failed: %s ConfigureServiceSettingsInRegistry: RegOpenKeyEx(HKEY_LOCAL_MACHINE\%s\%s) ConfigureServiceSettingsInRegistry: RegQueryValueEx(%s) value %s GroupConfigureServiceSettingsInRegistry: RegSetValueEx(%s) value %d StartConfigureServiceSettings: QueryServiceConfig returned invalid information ConfigureServiceSettings: QueryServiceConfig failed, error %s QueryServiceConfig failed ConfigureServiceSettings: LocalAlloc failed, error %s ConfigureServiceSettings: OpenService Servicename %s, error %s DoBootStuff: CheckInsertIntoGroupOrderList returned %s DoBootStuff: DecideLoadOrderDisposition returned %s DoBootStuff: ConfigureServiceSettings returned %s BootApplication: SetServiceVersionBootType returned %s BootApplication: GetStartType error %s Driver Service name %s BootApplication: startType %x driver service name %s %s_%s_%s_%s.%sMsftKernelWdfCoinstallerWUInbox%s_%s_%s_%s_%s.%sMsftWdfCreateMarkerFile: Unknown Marker file type NonCriticalCriticalCreateMarkerFile: GenerateKmdfMarkerFileName returned error %s CreateMarkerFile: GenerateDriverMarkerFileName returned error %s CreateMarkerFile: Error - BinaryName was NULL CreateMarkerFile: GetVersionToBeInstalledBase36 returned error %s 8BBEEE00P('8PW700PP (```hhhxppwppHRSDS=eA =WdfCoInstaller01009.pdbV3ʅtf9tFFJuuW^t |+ʉÃ'̋USVW؋33t!9E tftfAACCNM GuuIIOz3fMt9_^[]̋UME ;r M3 E] ̋UVu uhW7tVa%Ph>%YY^]̋UVu uh7tV&%Ph%YY^]̋UE HuE`G3@] ̋UMA&;$Jht$Y3h\h8h hhhhph<hhhhhlhTh,hh{hqhghd]h0ShIh?h5hP+h!hh hhh0hhhhhQQh Z# ]D&-4;BIPW^elsz5ǂтۂ5 5!+̋U 3ʼnESVuW} PWV3DžLuV"Ph{"YYKj"Ph@@PWVu$؃zu3SQ"Ph."YYËM_^3[Y̋UVuWuj _W"Ph!YƍPf@@fu+=vj _W!PVh! %$BfPhP)YYjoX)VuVh(YYj ፍQPM3^P̋U 3ʼnES3fhP5`G3@Pf@@fu+=rPh+oYY3v{Ef\t f:tHubWEǍPf@@fu+Vp6Pj@؅u h*Y"WVSs}Wh*YYS3^_ËM3[|ŐU3ʼnES3W}dh`;ujWPht5YYjWXV555h5hTP7\XTh4=HPC6PLHh84 t#SVTP'}DžhhP3h3YSHPVT';|uVy1t 8uh02"h01hY&h0vYjEP;Kp;ujsVhp0thP5}j _Vh0YYA9;uh/Y#tPVhH/ tPh(/V;t!tPVh. VVtPAtPh.gYYStP ;}SSSSptPp;}PPcPhH.@ dptPh. 9-l8jEPh-';jEPEP0;EPpth-hPtPlh-v `Ph-tP3C"tu9hu 9`u33@dhH-MY9t h,>Yll;-OW5PhX,W$Ph+dyEPph+ j _9pt p^M_3[SK̋UVut)&t!39(Bv-!@;(BrV}Ph59YY^]jjjj+jjjju jjPj̋U3ʼnEM ES3Vu;ujWXWj3GWSj;u&WWSjuWWWju DhP;ujoPh7uYY~Ƀ~|AWj@؅uh7HYjzR>7u6Ph`6PhP6PS}"jo!PSh5 SjoX83_M^3[qI jh I3uhl:YhEQuh9YDu9uuEWEE;t8uu uE;u u EEPZE;t =&uujV?CuËehp9YE E3uPh,9YY9uu9ut0h8YE9pt VVV4 h8YE EH ̋UQQWh:W3}YEPu EuE_h;Yuh ;+YD#VV(Ph:YY^uh<D hD<YjPh<Y3Yduh=D hh=pYjPh(=]Y3Yjh@6G3uuuEHH/u}97h8@3Yth?YVuu  uhP?YEDuu E;t#=uh>Y3EEhE;unuE&|EPWuu E;ujV@E&9utBjuu ^ 3h>LYEuHËehH>+YE EE)F̋U$3ʼnEMSj[]܅u EWhW3}諫EPEPjQ8u E@>E 9]u2e@Vˍ}3tt ]Ӄ}Pre^_u Ph@h EYYM3[D̋U$3ʼnEMSVu  W]E3}諫EPEPjQ8u@_}uhA eVYvAjYu3tۃtE9Erދ]Pu3h8A WS PhA^ YYM_^3[D̋U\3ʼnEESVEE WEj0DfE^3VfEESPEkŪEEˆ]EEOEEEC3}EM jYE3@jMM_Mu}]ĉEȉEЉM9Eu EE@9Eu]ĉE܍EPEPSJ;~ % ;}uV PhBk TuԾ J;tCSSSPJ;t69]uH IQPrJ;t"p SP]J;t upEPEPS}_J;}V Puh8B uhA YYM_^3[hB ̋UVju uEV PuhCs ^]̋UV5W}7W_^]̋UMSV3Wt]u tVyAu+ϋtF8tDu@΍yAu+;uuV@YYu΍yAu+ύt>u3_^[]̋UQMS3۸@VE;u E ]\qfAAf;u+N;vM >WQj@} ;t%SSVPVuhS~] 7_E^[̋UM 3tvW|@ES3Vt&UW++Ѝ 7t t@Nu_uHz^[] ̋UVW}w ƋvPSu!w_^]̋UQES3VW];tZ} OwL t t:u:t7@38tt&A8u;v t t:tIN;w3_^[ AO;wuPQV}h h@C*YY;t8tEƀ8:uE@8uXE̋U }E@} SVWhCӋ5ECt7hCPօt"MQEЃ}wu Wu։Eu*uhCӉEmWP։EBh,j@Ӌ"u FhPE}hh@CYY}uuFVUEuGGWj@ӉE uWP EF~uVUE|q3ۋ~5u 7?uGWu F ۉC{MߋuNjF3;t!9MuufVN N(UEE@u EV8VEu}| }uE@E_^[W̋U 3VWEEEEPu@|9EPu |)EPu|uuuuuuu5uu֋_^̋U3t;MvW]̋U3Et9Eu;u;M vWu ] ̋USVuu 3NVW|;wt z3fwƋMt^[] ̋UQVutEtU O+3ɉfEt?Eu%PWE?< }u E 83v-M Dw3fvEt E 833f3^ ̋U} wErw M3 E] ̋U03ʼnESVu W}h(3ۍSPDž,; 9]tSjjv(PVW,t PVW0M_^3[ ; ̋UU jXtvW|EMhj<] ̋UQM VWu}hW3; ESى}]t 9EuEC3EtW;3f;uUf9#WaEhEPEыE+؍ GM]|2Et\vW vO%QPEP: 4M EttuEP P]3T]}zuEtMEt[_^̋U39E t } vW|E Wu}uj_]̋UM jXtvW|W}EPujf_]̋U 3ʼnES] VW}hPPh4DVPPPPPPPPPhC(Pf@@fu+=wXS+WQEP|@PhCVPjtjP $M_^3[7̋U=,Bt E Pu]̋UE Pu]̋UQSVW3SSEPhuShu]M;uDEDuDQuPW`EV} hXDWV9]t u_^[̋UDW}ǍPf@@fu+ǍPf@@fu+=w~VjhjjjhWt\EPVtFEPEPt4uEPEPEPEPEPEPEPWhD}(V^_̋Ud3ʼnEEW} Pf@@fu+;v3 SVuEǍpf@@fu+;ߋpf@@fu+ÍPf8@@fu+;SxEWVP} hGPP؃t]u;u/PWVPo|:PPSuS3@^[M3_4hbh@CYY3̋Vh j@3tRWWVft3+r,`6WhVu}#joPWVhEV3_^jVu<==u hEV PPVhEg V3̋U3ʼnEVVPtR+rKh`6hP}hh@CYYhEPWPM3^j3̋UQQSV3Wu9u?9u 69u-u;u VPhHlYY ] j SWE;u"V[PShH7 PW;uV-PShHPE ;uVPShGVhjVVh@u؃uVPuh GpuWVEPWu Su(VPuWuhhFljW^tS_^[ ̋U SV5,WMQ3WPJShEE։EuL9EtGEPWjuu֋uEtM IuSh(J WPhI#ShpIYYuPhI}YY}50tuօt}tu33@_^[̋UQVEPjjuuP[PuhJ5 ^̋UEtt P PhXKYY]̋U(VuW3};uhMYShWW؅u hLPjVS uVh8L2EPj$EPjW$uVhK}uVEhKaYY5(tS[tW֋E_^̋U,3ʼnEjEPj_t3 EPM3/̋U3ʼnESVu 3h,P;u}u hOY3WhOP;u}hNhSP2/ }u_hNhPDžh}h`NWVPׅuY6;tSxtN"tFhM/FFVPDžgׅuh`MDžCY_M^3[D.̋USVWjD^V3ۍ|SP<.3} EPEPEP|]]:E;}5u;Ej4j@E։E;u EChUj4P|}4 h j@։E;u EChP3ɿdUWfxE;uWh8UYYECSjYMQRPo|EPEjYRPX|ɍEPj*u|uj@։E;6hUuhUuP}PKPhT(YYEPuuyEPj}Wj@֋uCu]KuuhTWV}PPh@TYYVhTYYEP3|PWWWjWWVu|u!PE}PhSZYYjuE;t juEPuE9}uuhhS}n;tX= tQ}uPPhSh`R)="u hQ2PPhShP PPhHPYYű5uփ}uEPj}]39]t u9]t u9]t uE_^[̋U SVWEP3h?WhWh}3ۉ}},9}WWWWhWut{hWW;u h8W[h$WVS E;uhVVuEu=0th@VhUqEY9}t u05(;tS9}tu֋E_^[̋UVuujW;Ph$XYY3'&WpW3 u@_^] ̋Uj$u u ]̋Uj u u ]̋UVu38Et f>.@t);u s$P`tP\uFF3^] ̋UQQSVW=,MQ3hPYVhEE׋؅u;9Et6EPh?StYSuׅu9Eu8P PSVhX VhXYYSPhPXYY}_^[t u0E̡ HtHtH33@̋UU3t'f9t"VWʍqf9AAfu+AJf9:u_^]̋U}u3 u@]̋UQESVW38E3ۉ};t8E;t8u ;te9}t`f9>tPuVYYu 9}uEE E;tƍPf@@f;u+tFCf9>uE;tE3_^[̋Uu1]3@̋UMU V2;t+ }uAr;uAR;t+3^] ̋UU 3Wtv|%}v U3f uEMj]̋U,3ʼnEEM VPjEPM }jwh@CYYjoXE܍Pf@@fu+uj SW|EjWEP؅tMf;.uGCC;s?jWSt2=E3fEP׋M؉fESfYYM؉A3j X_[M3^%̋U3ʼnESVu 3;t[9]tV3W}fEP7EPwEPEPhYuV_}jo[hh@CYYhh@CwYYjoXM^3[% ̋U,3ʼnEeSVu W4}*}3ffEfEfE؍EP7/EPf@@fu+EdZPuSuV})hGhZuV} hREPwEPf@@fu+HtRHt1Ht EWEPhZEjPo}Ghv]EPSEjPQ})hk?EPhXZEjP/}h`EPuV}4hh4h@CEoYYuPhZYYME_^3[j# ̋U$3ʼnEVuW} }3VffEjEP}joPVh\g joE܍Pf@@fu+uj XPh(\5YYj jDEPEPytAf8.u;3fEPuWp}!jo PuEPh[w32jPEPhZ jWPhZYYjWXM_3^;" ̋UM 3V33}fUu f:0u @}u3Wj_+WBPuQ)_}jo^hh@C9YY^]̋U3ʼnESVuW} 3ۉ; 9]3fPVujW[VSPhp^ PPPShX^Dž؅tVSPh]뭋=vjW[aHEf.uf\tH=@;~j +VEPuW}jo[h+h@CYY3fwt$0jW[SPh(]YYM_^3[n ̋UMSًV3EMuu;t;u ;u;t;t W[;u;u;tE0EW}f90tXMQMQMQu PtAEt!79uu4Eu.M3;t;u9Et UJ;u9Et ;Mu!797u dE}Hf@@fu+|8?P}YEuj\u 9ut;9uu6uWP} hEPf@@fu+pE}}t@E9Eu8Eup+PSÍPf@@fu+EttEE MYSh|jEPJShhjhPU}h|jEPShi6PjWPh,9PVWWhiDžӅth i>PDžWWhiӅthph>8NPDžWWhXhӅt%hgN8h8g4Y9t 0[M_3^̋U03ʼnEejEPj(t3gVhjjuhkY3AWjEPV uEPhjYYEV5(օtW֋E_^M3̋U03ʼnESVW}jE3Puԉuз;tPIPhm&YYVE;EPEPVh?VVVhmu;uc9ut^jEPjVWu;t'EPWhm SPhlYYPu ;t)PPhl]PPEPhpks =09utu9utu׋M_^3[̋U03ʼnEVuWEP3V}ԉ}uVhoYYEPEPWh?WWWoVu;uY9}tTjEPb;tPPhXojEPjW"Vu;t0MQPPVhnVPPhXnr 509}tu9}tu֋M_3^̋UVWEPh?3Vhqhu,;EPEPEPVqVuEtjtb3@jEEEPjjVutWPuuVhp"u tWPhxp|YY}t u0_^̋U$3ʼnESVW}3۾VSPƅ ;u Ph?ShHrh,PPPS8rW5ֹ;t;;Y;txSP; PPSWօu1SQQPt 9t Y9t 0M_^3[̋U3ʼnEVW3VWPf Ph?WhHrh,;2SPPPW=8rV׋ظt;;YjP PPjV׋؅uZQQMQj[SPhq|.t% PjjV؃t Yt Y0[M_3^V̋UVW} 'h?jjuP Ph sYY3>j'uV E t7$PPuhr V(E _^]̋U,S39]ujWXEPuTE;tV5j$XMQPEEPuօt E M؉oW؃zuIuj@u htBEPuWuօt GM 3WtSPhsYY_u5(u֋^[̋UH3ʼnEUSVuW3j 3Y}ԉUuĉ]̉]E(;Y;Q=,EPhSJVh׉E;9]EPjSuu׋؅9EE =jEȍEPjSwVu׋؅t uVhwhEPEPjjvVu؅t EPVhpv;EPEPu th|j2EP蚱jjo_h,PuV貱}jo_hAh@CYYjWXM_^3[~ ̋U,3ʼnE3VuffEjEPrtPPhYYE HtBHth} u h~hhPEPVt5P^Ph ~hPEPtP7Ph}jjjjjhPtPM3^̋Ucsm9Eu u P?YY]3]̋UVu3utу;u r^]hYpGlGu@à 3̋US3VW9E u&90B~ 0B=hPhG3K} >d Y=hE PhG;thljSVׅuE dGj_t jq9hhdGYYzhh1Y=dG3Y9] uSVp9|Gth|GYt uWu|G0BwhljjVׅudGt jYMpGt0=lG tЃ;sS%lG%pGYjVdGp3@_^[] j,h`M 3BU3u ;u950Buu;t xG;t6U4BuQuЉEE MPQYYËe3uu9uEuu uEE MPQKYYËe3uu9uoM EuQuEE MPQYYËe3uu} 9uEVVu輤E MPQYYËe3uEVVuE MPQYYËe3uxG;t,EVVuE MPQ_YYËe3u9u t } Euu uEE MPQYYËe3uuxG;t>954Bt6Euu uЉEE MPQYYËe3uuE E  ̋U} u]; u%%hd5D$l$l$+SVW1E3PeuEEEEdËMd Y__^[]Q̋Uuuu uh^h]QL$+#ȋ%;r Y$-SVWT$D$L$URPQQhd53ĉD$d%D$0XL$,3p t;T$4t;v.4v\ H {uhCCd_^[ËL$At3D$H3^Uhp pp> ]D$T$UL$)qqq( ]UVWS33333[_^]Ëj33333USVWjjhQc_^[]Ul$RQt$ ]̋UES]Vs30WEE{t N3 8U N V3 :U E@fMK[ EEEt`[LDEEtE|<CE؃u΀}t t N3 8U N V3 :U E_^[]E͋E8csmu)=tGt htG0tMjQtGME9X tURWӋEMH t N3 8U N V3 :U EHF9S WMQW_&%̋UMMZf9t3]ËA<8PEu3ҹ f9H‹]̋UEH<ASVq3WDv} H ;r X;r B(;r3_^[]jheV\Yt=E+PVYYt+@$ЃE E3=ËeE3%%̋UeeSWN@;t t У[VEPPu3uT3X3\3EP`E3E3;tuO@5։5^_[̋U(8C 4C0C,C5(C=$CfPCf DCf CfCf%Cf-CHCE(xfXH<.rZ6*t"bR6v\@Dfv$_vsnwprintfmemcpymemset^_stricmp_ultow_wcsicmpi_wtoifreemalloc_wcsnicmpj_XcptFilter_initterm_amsg_exitmsvcrt.dllvSetupDiGetDriverInfoDetailWSetupDiGetSelectedDriverWSetupFindNextMatchLineWSetupGetStringFieldWSetupFindFirstLineWSetupGetLineCountWKSetupDiGetActualSectionToInstallWSetupPromptRebootSetupDiSetDeviceInstallParamsWiSetupDiGetDeviceInstallParamsWCM_Set_DevNode_Problem_Ex SetupCloseLogSetupLogErrorW SetupOpenLog SetupOpenInfFileW SetupCloseInfFileSETUPAPI.dllGetLastErrorEGetProcAddressGetModuleHandleWGlobalFreeVerifyVersionInfoWVerSetConditionMaskHLocalFreeDLocalAllocGetModuleFileNameWGetWindowsDirectoryWWideCharToMultiByteMlstrlenAbFreeLibrary?LoadLibraryWOutputDebugStringWGetLocalTime^FormatMessageWRCloseHandle%FileTimeToSystemTimeGetFileInformationByHandleCreateFileW.FindCloseEFindNextFileWDeleteFileW9FindFirstFileWCreateDirectoryWRemoveDirectoryW%WriteFileSizeofResourceTLockResourceALoadResourceNFindResourceWsSetLastErrorGetExitCodeProcessTerminateProcessWaitForSingleObjectCreateProcessWExpandEnvironmentStringsW>LoadLibraryExWInterlockedExchangeSleepInterlockedCompareExchangeRtlUnwindQueryPerformanceCounterGetTickCountGetCurrentThreadIdGetCurrentProcessIdyGetSystemTimeAsFileTimeGetCurrentProcessUnhandledExceptionFilterSetUnhandledExceptionFilterKERNEL32.dll0RegCloseKeyaRegOpenKeyExWWCloseServiceHandle)QueryServiceStatusExOpenServiceWOpenSCManagerWDeleteServicenRegQueryValueExW9RegCreateKeyExW~RegSetValueExWSRegFlushKey$QueryServiceConfigWPChangeServiceConfigWADVAPI32.dllFCertGetCertificateContextPropertyCRYPT32.dllWWTHelperGetProvCertFromChainYWTHelperGetProvSignerFromChain\WTHelperProvDataFromStateDatasWinVerifyTrustWINTRUST.dllCommandLineToArgvWSHELL32.dllIsCharAlphaWIsCharAlphaNumericWLoadStringWUSER32.dllhCoTaskMemFreeole32.dll5[J$Js2Ė7F[oWDFCOINSTALLER.dllWdfCoInstallerWdfPostDeviceInstallWdfPostDeviceRemoveWdfPreDeviceInstallWdfPreDeviceInstallExWdfPreDeviceRemove N@D 5 @ @@@@ @P@$@@ @4@N@ p+ŝi@]%O@qוC)@D@<զIx@oGAkU'9p|Bݎ~QCv)/&D(DJzEeǑF e uuvHMXB䧓9;5SM]=];Z] T7aZ%]g']݀nLɛ R`%u?q= ףp= ף?Zd;On?,eX?#GGŧ?@il7?3=BzՔ?aw̫?/L[Mľ?S;uD?g9Eϔ?$#⼺;1az?aUY~S|_?/D?$?9'*?}d|FU>c{#Tw=:zc%C1̖rXqw*VXH+YYV]>xإw¡i,J?%[/)6|)u8YAOuj}w"9rAs#dw.(=F$v0St?`P9 T{aT >DNL|n,*}?8 =/`A(fvW#" ؕ6;>@VFA p4?ǎ}+ ;n(U0'PNևpMO 0 `a]\@Um ̵  m OkUEֿ>ɏ"o|, WȬ!čN9^yػ*f3= nΉb d̒ZY7'"oa(Ofr-[}ezw-a2Yy)¼̻"`1j{^ЪNl $V#fﭹY^vlKJ/Hp>o*vFOh9 0@Ip\V~~ìT[&'Iћg/UE;AZ)df]YBbW?Qڰ7.5={&b]bT%hn1V5kŷuLh~{C;~o4[/CB?vY"1eD&,-{4%,e.soi6c<uR +x+qXV" /,}ev#++AC$^`U~ؐ~IA23];[j~GM--{K,\|w mdSc?*+::} E4ðBlD;67%C4fK;0N4E{|^]ŮV LIp'i[B͐X]LW,rZpF((|eMLp0ɣs AE(Ex*a5G { Z8ehjS.`drRqʔ낶6 JѲ}¼^Zps KMSb8V`a-py{DBfVJLflZt5m'$O`fɺNp@xh<@ڹ`DHs`bSC G-rk%] /1F8C%5YJ{2~xweY;옘5_\,*ZZBD>q>aF*գg3A]QhuJOA✙E~!6m%I{(-0I6Ƣ90b &l~p|5 8Oe5uVgVFK&+e}ܕG- K`-g*I4+KofG:Ӆ=9%B` ǝ wdËX{O8Ѥ 4ƨbR'ai2bofL|Bq=نpS"{ڥkfחvu h5e1- bAE@3 8t3 =2|M$:) T,|a T90ݑ a4f3.b2܈mZqO3pQÜS?-邈 >愈TL{2uGM$phWu(Eߔw[LQRUӸaF̡t\cd(C0SRg]6p*908ؠL;^*D˵SbYtJ4[hJuE>XqlȘ":\CS#aܬa˂[ 2ɒ',R9_1#23pR\)ֹ)#~"u DwɠoY"D* ˾(Ăxqg{ah68DJ u0e58gUy0vmnIѪu*6[~)rruc XȰz=3w-W2UhWGEr%O.uHP y~ciח85/bc "bV}>D$Ɨ"h1џ1p#BSq{פTbiu:_ߣ}v "HX(y6 ufT08tfƄu%Qb|X%ɤSL 7R^2{yUJm(twҲNFSޯW]45Ч@;վb,aDx3ݣ3y G3 OTOZג\̑:nIpx B>o!Ў@:]*,?m]ZDbK.jD~N27nN+3"ᒝ(&\V=UW! Vި589F)hiR{Ho+}rdyCrQgM%,ǢA;C%[:*T(L޹Zs7uVk5*b53,uF1%=ٽ阥SauR/9-- 1TU!r;*Ըc 5NOabǂtoUyTYM<|9~T &"~n$%\.&X /0/[tʰpI.d4,_l :E]aݴWٚsM^tÅb(US Oe bXŒ+=$C8Lو$խJ>N#= v޷h#&Kw1kg>y]Ix*+>%24\AImղ3 @\#j?"V|blYmfn }?9:]1! )Iiї,ztƬ{H AX!$+Uz ńc ue(/+hr–`` &[1yQ**s*Hg9Ǘ#n\>TZZ?.aea:^duT\Jb㹿TY-eN-)r^Y5QRx"6?J5],SC8T Xj5xޗԅ- c;h#e?~mDl]1vrDH>O$;ICɟjv!PV}+缦TT ʸziVSWi9l|<ֶzC;\J˸xB<&@ ~24jC@ԏZ:Tql!Č{fD`DԸ.1:'Xo-ٕX7UusjHlbL¸R߈,pV- \l( S3a(pdDH|T_#ͨ@ -+4G슣9s{H#,kr4dNt2rӕx { t5VO#(+kPelxffv*5gzRO`Z p҇4N+wRV 㣕;M drMCNZ{'O8tFw $VqpI]k+1Ve+]wPZ6 Ʉ"븶VxlfQK&eml<{+ȣS۸Pzwa^2E-uW@|/ +GZ рti<`ŖN|XG2#_u nUP"*QG"`_ju}_+7/N_!'}/*W(A4-}4gGn7@߅s'Tg8"tq$h4Vym^2")L$ z<8RЅ  ں4hК;'9G=>4ž+eFٵi|ϹBXѼT1HMlJL3-}p_[M`]}O9bh萏(9OŞR"3W"]0OmA|>s=E>-[ Gswovji|z j-J1˳j֟PQG(EŸ*KדF[4Z-8nod[ |O3z߃wsˆd#[%|XKdFNdL k;[w~Gaq<_18+/5韸 x\fY)kBzB%//oQ mX: uT\TĞΨ 3~~ YϜo/:2a5g6/xqu=Ҝk=+V;?Ǩ1Ek6,_4"2g㈀p3ݥXWpZ &eO]lO‹t3̝HN3 JQWc. Y`B0&Iy) Uv"l4a^}~:OϷ@盇bܒ)LPS[8r&t0DL Y?d5stfs^NH'g--ۓ7i%7O]mdm2X^F`<2R>feY+L@nC1m_w`ΎX2fQl\vW9v݉ykǾmhS9 \0b*nrl<t&hEB:έg !sʏ_}:_ ^Hz ęa+B̀ezT ~7[F9-o5H(wءv!&2p ga.*.zv3~r 6ѨӴ_;`}gxU8q[4i+ <#_Q疘 srZE&рwokh ،,EU\ǀQ0g9a[iAWӪ8Qhb{T9IdS P@Sm]Mu.WGdTӲRKQpFXAkdPb~k+~԰fxl x}hyZZAV=+PZQoIƾVϪ"K޿҇  r:vT&ۚHlFZpkNV2|eqN*/pem;HxRI?+^ d'w`zЕu0*f-;Ia&o5Y4=\.~p^oig>F\uʼn;Zh?]4q-ݑ0<[Ng75}?irv'nFc.+xÔÖSm_E(Ϟj-Ԩ !RMPN UVbzhfJ7p9f;+2jctf-8ͅ~NW%s h#dj$BY?%N}!j cL[a/6yÕf0K`4kOmy:_-\_1~Ϳh!.6ձ;x(9a߂Θ::suqTSx]sNת8x*4b赞jv ?q"b?D<(%&@Uvt Q+wt :;wABǟ )TԬ>'[\D^a 6N[vu-o^HTH}lv#8~E͇XGۢR}2.{Q340˯~&jΞ+JLμ(,I;ٓ4➝P=93UmXf0@[_&։UyN$քAqӒK#υPXߡs$Of5tWBM &5yR2;BɆz;>x̯7Sp8 øN*Q)'h@\jw0RNIdDk#8L`FTOQo鄟ry76꫟HJ&l<&)aЁ$mr]|Hx` Y̱&a?NS,T1_!j&xԆ^ilmJ`j3Q G/,t4g^3ZkV -9HIElh&P{*e): }GE(P*JƠX<j%uxpJ(OKG ዋ Ci9XtC6$Qo"Z5PUw }~sGj5jG V޺i-פX"[1ooj*SḞ*ŝV;e*S78 G#j#VIZ*$M-|=8#C-5Yӂ$YuKi|坥BP GΝqUlx1vFaީ٢WC-LWjjm.@`rRSY6tr_G)j,hB9@΂qPZ]2㝭=@MdB׊J8o?DF7Cm^$1.{:n3/lרRҚbK: y|x"n7,v秜8w~ݮ'upLqk0P, _а?nUg]_{=ֵv:z }t\4'f~3?<|>q|V8ηXɭW3P7 SY|rLRxuWf c3{rigHkDdxC{|ous7X3$QCfPjcKn}O\൐ @:OX׾99f8XssVP&@d 8u8:=JV2QYYE_VW7^"+[P"m]QOLGC%s]cW~")E]D9-Dxzѫers|? _wrx :ƭ5@X*Jiw$vƂ-HOw;,K) ]-پ z10+|chiAV+(_=KNW[ߣ3XVP@s?Kw$/s$P}(NM"t-A6.VU^it;0' 쾏\*KYDY=[j("gp_K^E#ic9U-=zcmQ7Nopmhls%ۍ?Xjݳ096vO񈚾!pF%o;3NRvZϩ4j= t:F=>I3ţ1fWϬ\0Q) 'F`/IUa}sLC~\$%hv?֝0kxRwҢ28nѐc~rNkTs˛?N(ҭbO։~-*=~d"&BZ?d;C7~OжdBPGn6YWixv^lyɊkYa:&2Pܔƨ%H@ՇG*%ޡ~F8)nPG@BB!6rQo|w{1u9`Ͼ5^QIiOrBd^)02ָHoލvYoryPDdVF5S-QrIW)f-҃tG 3kf(=VojJCƨ6UP 1 xhԂQW)d@Yaw"[m)`WR 5%;]E; 2Uſ^Pe٪pƃmI?,YOM`8lp ʲ;w`lLacGNYn9W\$޹'+W^xSVpH5 Y!pL"XpZ[*5@0ˈ)`cMelt>Wq`d}~ZؓFT`v~_b҂qj|s-KقAeHN#hτ-541ާ~F5>ʈwWf'nPB!1V{-5aP8(||[apR 'Yyu77X~݂e 'Cz%p_>k?.S$GCVf{ygfjZ3fwsi|/G7,~_ 3erj1]_PeEUS$vW\%Xʷav9$6 ؈hf!'jqdmvDDS Y-)S@ v p6|̊p3 ~T=hjugƣ\YșS Nѧ[n^"7k\>wp놿QAɰ J>EHeX? u:D6q03ѝӂ3DPcYL H=ll Mzfr7#x߶7GqXa]i>c?ӻӳb+ P18D2GC DĮ7/> u!"՘VVe'%#K=[8zC8*ʫPh& [ r`ze*_ ?B+zӴƮcR6>Q}uz4+*}amHpTgqǏD$%- i0\2kȹ.Q!8fmؗ XQ dl<r|O%xGh' K@7᛿<M!YA*MjVYPXq"ߙ1tdfpӆF/TVf +"U ocA ŒY#ч1["'&\ k,`cʲ/9BA>٪\QLJUR7zW]Ʉt$i#]u]BG|`دьKk3nh|_k 7ySH-M<ʂ}5펓TL 3ClJҿ'q|Ak\3j ⸬D8}xG íDtZD9wM9r]7$"PHc9dO:}Zm6m'EefTl5z)[2jYE&E)k[9Ԯng0[ZawshX$WmCwE* U ˆIXb 롬.lIE?2mg.!uϫ{b:>nsB̍3!$aդWV^a"d[ȉV4s~81d0#jXh4F}U=.Cn;HA"KO(z7d^Z3Zf6-JS2NZi޼?Ise2g !*,t-i"W=KO CSSֲ4 Ɔu~>ӘG-,l 1 aZϧTc]" wjnb'#dgΡnY42lo,(6"y#vRx63, |\~3\w'J:.}g&>ǒ64rω.vd>E4*#״Hi>1w?un\vr6c  BJxdOGt;Vtd ; fWnyhz{nͩt&٩pUHU-4GΥ[ji~^ vEZ_Z]":CQAKj_M2f)*)с ǗYr+n.V eqX7uR=ZeƑ`Z'Nt5BJ#AGCHBfXؽgz4v{ZWGO]1PTk; ʇp 30)F S't-$ZWCXb $g7Ou?X'\g<2V\㜳Ìitvc!Y!x]a'Ɉ ڳUG1x d |u_wW ^"j'q*"_ |MҹZO5 z?nc SZ㰴|\URσ7 ^+WZˑ\$EeuІc1_J_vakӏ5\_VkΉX} ca,F;񮷈Tdxd;.⏵ \4&ׄڽgYqNfhmp9:aUS5})M]Bb5~ӆV_#d*(qں-o`a҅? Bd~U? }%_e*n~O FI oҕy='7`>2e =7j3oh-v tbk)acNnb9zꌠ #^U}ԬjYpi<01z[`ĵCi 3ݝG;yے6‹`'™1vC{)$^[sJ1:RcLc}놻GW歷C$k"gta\vv;4ym2ſ̪nucuxEjgOј1'W&ERE]PCQv(D$C??C}FodEߪ;*m̘ b/%aLDB-Is< LH ǐmK3gA;4y05F`bP [Ƈ0ͭ$¼bef8_l}ɂfYvCߩǽ0_|p#G.O]*2p=a" FFO6Iqtukn,C_?kU??po?>+0RjG@1?T+yNA%~>?VdPN0z~͙|ͤeM=]_k؇kw_t_F|?l!v/qJ++8?? }0ߞ__vׯO PNc rX_dbG_`]28w#K9BMg4r~ UÑnG? \E{ێ/8d'gbo^@ ?`N/R-CAN+W_!9A;Lpߣ0O׿,Mbg@ }WYs!|^ )7ax SOcyP_G?7߅#_q9u~oZ»TAZo{) ~o獄  G_B~7ϦoMR3'?,9:A~IMOYD??!(t2DӀo@? 3M8$'d#ՠ #! #TkZZë"q;|IvK>~7}m6Lˆ0 ZǑ] B.O01L}vح +EaQJ )n- \kYm3ܫ {kYQ3a UT61ʉIeY̲֡;`}}z_&J( 9[K 0nȪS@_A}>?#' ^Q9}3 kw!z9@߹D"k6jw%LS) q;sk"NB>$HR(r.},rTau. U~dFO DNoDT%ˋ:aMɾ܌"5}5МG$Md:u9s ys˹u՗&@J{ur;];!&+eq`L-eh{I@AK9䯱Z<&E=p tabaww^,ɒ)"șmn߲|VF|mGf2{אud-6c[qzyBNȄfM {A&Άj3?_nYp3Hp+eFse+CzU Hzf0n 1<"LyMvlgƣ^]_b e5D'`3ACXw+@\ X'?LDxbK Es7w@> _^8wEwގ:}!Yk=E鲖ixWv}d*pǝP@mv&ǻLE]ޫs/6WܶmBT|M*ymKڭiWeKC8VrIPA=%uwmMv1AA7W䃛޾}`O(?⨑_*T ʻ-RpNˢ-{lMRĿIU̱rII1ٗ9]N&9:eZB۴D&_F"5 ʸT'iʩ S:RH-I Bc+֞jU;vB-Ҿ:G^n* 곊hy!AgGU583KA:݈Zѯό]_ =~;W/hy? ,9ڰK2uu153Js(wg,1[7/TB< TC|UٜScqC>zT *a/ :nxE *z@6 {*FMLXDhxxgw#;9/ q8h  :BGp5࢜ο)\\0`^"b򮺂58$-J 1BWT (mL[52|"TYo&77bQDC/6~{널{?S:1aåئߕ9V1fq~>;>IK+[)fD[#qmr]ۢ jc@=2O`Oꦗ9K7d"ԙ0/R4GuSRw&u|sZytT'򴺕}tS)uحcRR=Q 4ʴN,j9LG,'=-}2탱ɒJtGZj(^X UkX@$fn~>#j3Q~ue1N0kLSNOOX]N4<:w$!=,`_TDyFRE7k&P3װhs [=ڔW hw٘s,<@!Ar%ujR=߉ZG5Frw';{8V{zsN=EjvaT3jR_YH| t]N7;QbĂ$o? )k@f0|Δ_7fwL߱Yatg뷻t}]vodܩ/$d0S̊#g+ie{=3e[s!:#2j ]7zX$#*z^vJ_OO9a}%g!=]4fd [W_ $(xF+O69Cx7gW> N*0}e &8R(^$(@ Uhi pUeң]8Tr ـ2,5+HWjؼOq} omNINaUVUoʟ7.)fI5`\կ5O`Y pec ^/0z7Y ~&{n(w:g .eOP$Y]0/vX?Ufت0Ƙ{ @SqK! )\\0]_,QT">q0M.Pr+j֟WW)c2x$5R,7 5=`N0QB\]S]^h6|rG_ț؜į}~|Ѧ3J}XZ>6"֪>!3Q? bf,-ʬvj71͖!:5l3f`RgxRpdL-MC^mאr ȶt%#DlHpqJ{/7 6  JƘk!? AcЇL%/ـhr,,, dom.=Pt\z~;4 !w}+l6\N\0VyJLNb-I +DE-:\@kYv갣Ȭ4 Y4:S=<_Cn (mqVrD򝟋 lɺO&){ uIY-n. )!} %Vۏ5v0/:lc= BM t?;nRї^;uu q#l"CY.S4!V~{-! 9|)k : \"X}O $& H' S  K#}/qq+ܶf|R@R4q9}N"G&WK+7n,Ks5Y-,}oium.s!ھ]4&hg&CO嗧 =6$:!`4FπiadP vE @Յ(VǁpʷsskL4jO4B5{ g> u}-Sf ?,3'Mר=x4SބĹV~Fe?׆$mq73| mLw&K2) 2M1?I~M;~o*#|*.Lл oޭ}v1Y gqtqLTՀ[ǚE-6[a\Rmۅ=&@߇BU4L؍Q7 EQŸ %x)h;h R-+ gTmoc9.=|YI6™rp;:#ƁI(\[9g@C>T/+adOߛL': '#VMYd;|3anjh¦֥]o' gtv0Vq6{}걵]9A~&+Cg8/,@'+37S.LKt9yт5B"!gΥzfkؠR9O\'t}q!gxv; :QkTdQӵ2LCl8]v^xXCHnFՔ#,E1 ?Ntb) uS *=p K3|k9|̂m/ jNTOuPؒ;!'x/ Kgn㮏'ٮN*kYz&rcogmG0 %=uǾ[ k nU pq8Q!ҥNع2X5+y2Y1ZP $&@hC z0@P z?{~T$¸n*&DXyߺwHl1"𡧭x TۯkW҇F 8?0XU>:F-]jl}?OC7 C>0tРҒrV>*M(Xk.Vfd3EB[ m%r Ftn$6[*vݜ<+ӑ$^$qr5ѽbxNZuT,7<_4xYQjDoJ9@&} ʷVOBf,%ЙjhH~@h'*LLE 5/͈Bf(cY56?gzH壥ScbUf"E2HШNp=8?JV& H: Bbm_ ':GWUl֜,h*׳-V/&r|77W=EU'H'RP\XhGiUZ jxFUSf :JG uw!`E|6SLu.0v6NEdz th`ml)$[ (eJ:U0dCB?cEZ$\ [6;(媩4}KffO9Qk_qu1j[/jPSfNc:4Z)@ rн$c6 J| G8R=Cx>?R{4Wb~\GhXVb)dM=  [o2ǰ ɂK)7$x dEGb(?0ddZ#eX%C`uyC< ľꊂa!X $B}ny?/LT~ˋ`f7! u<IJjՖUXמ]8n;6ѭ^'S=B _#  %oZ#<,2<k #$'uX)* x:T^c}~|HNՠ>[fH˲XT47 %m%ʱ\><>O),Bqv4/BhFgͩ$ 2!Gd(%R]Lz͋;jI%>[;$̵I/*v Y(vU"v0 S|U_\uR{̽:$ځŌgblM/fB1Sd}z,qg N Hjĝujƥ®1*sN!g0h^ 񊷑G$'Ä 6쇋]ʾ&Ѣ‡(};~]t^#Ow ӸL i7Z1Z|^N805hS#6S %/T^]dC(YNDqSbl,aSOYC}bH$̑~)]ܢ0 lَD; ~lO6iz6'ww-,0zV1|/1R o=$UgGү[xT5Z%hg>z JϿRuX0h[\^r]ׯG7q0KaUfge&XZ;U|&ԉ"r)a9htrbM Yד]Uf]ZݲvR<9aJS%NO֏?,>K^4f_ӴmHd= 5{DnLچWET(=w^h@bY,q<Յ֞47U{YXtW)ICa2,m\~0L#1պ )޺IՠdXF^#M7.=m 7 PVPgJuWjT1kyÕ ߼0/҇ޯMy!Gb=M/|<ݚb4uÂ+Y4a%v+) $n+-Ώ4K6ꦦ s^+=5h)r"zSչKP>TLev8\tBCAޱ"_J)44}Ȱ/(ndO (Ű򜭒Y ̰Rp̜q-<;q/iG.=blԹLf\9&հfeq6p|8J$bOuϤ=u b/]:|&1 y{_WFJ8> =! HT3$ox|=WˤdvW2ene@Sw&hzl7E!5RRJ\A쏢]^O4UûH)?P0u1DN2T¦K  !!(FoU-j t L/a1 [MT?B) }7P7%PYϾv#>~J G+?~Om8T:x㜇pf I@`y6Vdm- GAy緽dj~69L K~ԣ-,t?1CS %+>ԴET5j|?s>b+)5K(^9G Q2i  $M|Fn+fr-Ż N=P<'% Q/^VS6^V^H QGe6L(` 2ܛ7/̨ٝɹ(V1g f lĶ>FE!uø^z:6wQ,`'[?zdTns 6~;G_niApY$= EѤb ˃0`, .%FFI[QJ #x&#^ mlb\-UŀF6]aI!8۟/B)dK1dzzjOK>zr24;Rm[0($5FD e6B\~+_sj xFbGfܥ02VI׎kܙ~>c ><"8)))OpKѕ\t8xģ.WE"'.ab' ^u؞2r:WJS;pqܤO|П2d=oIcח+`ݕZYZ-y!@1Dk |nf4I֢1SLIpbhx#~xٹ2n.dV6lD֜q>p A<ڷQbV;8 +$(G_lu8K=ɮuS+ZƺR^&zMt* 9ZKBY-F:j̕y/\qƲܡQ'VN94Sm~ء%e+WrHR3@Gۆ23|6%]1)/vAj*>HPY|;؎'1+C2p҂K> =w'+Aq[|S1MfJFnX>;ĕVqg쓥pȣv :*2?Xa3Y hh5DZl]S$'~)/殺MF/݁ 74FH޼ғP8714Isr^q_jhl!g.)O1$ Mq6^ ZSoV^ ,gszgZV"90c+zOcơQ^S'SL HJ?AoEBeH)R"tb 5`n@v"u! ϟ1dNӗE:rΕ}/Z#tMrc j㷮1mӭ bG㾯,wc𗟂 YL6Rg=,C=To0%<eSZQiaD%}81="p։sZ7ɱ VY޾6ɪR^'x?-V7*JmXaL@qAq<n94agD>b95fbbG{& feX$9M MJ鷺e kb<+T'kA?OCW1᠌TSYI [l( 7pă,%nu/0D':c PwLu:.B ` sEG*%SaOvWtv ɊOImmW\}j^jG{ JŒ+cuPX%E;0hH<2^D⽕o1p)p'%yKťBR0<]",R CV&B ;o1dNk`੮c1d_^X{r+|Xbs+t+D vSa+\{uSMg2#\&p6lnsxuTsbbAd.XyVGmn%5S+,HV|}/[>^#H"<BLtPD1|}\G1(@RѺ #PcPٳ[We,Ġ=P^ ,/T 9,5q:bΟ5v\Aq+zuQi|'֮@,nG?͢AR5Pt^RfN }xXU;0(y&]<-+dS*B P(cIG-kqtG toߍ#AЅ:;4cXb)Y`:d``s[wt aS)t}JpkBΘ m {}vAа™wE`Q/! %9bh*ny&xr6wf1^ (M1E|ԬscOf1՗)cL/ʵ6rXIF 81@ % `lap5Ck cO"2K-%Nvw-HK١b=2Sb"B׷I^OQ3W)q0$ afP-X wȰaNSiWzFMGʩaƯ,^ީUCR{S%(Ƚ7krri#.ϢFΚM0nxv]?ᇫTPɪG"=È@ lop'gibZ^=#wE. |'j )mF}-nSˡM6$ޚH{ ugkgJ0wr k[[Wtgn9eqͧ ?:jp+qЊYJ.ѸaQ LǠkm{Hv z`$.Kb|MtyuҞsK(i^_2Yd =BP*c@OX LgjHUW}-kܽc|@A3/d>\yGF){; E9E)DfÍ#!syePO(tHH8SX Ep@ODU~ȕXCH;5#adyϤuGv ^ 8(V$ ׏\T/0ktHA.x5KRJH_p$ Gd=W旷ܭX4m#"Ⱥ0&&IC}cb;#ԌD-q2۪4 Ԋsv-]SsAJ){O`sw@EIfLW5g+:3o!Z @OEE"\ĝ%N*$ex2oMֲ\1&5F$4|2+'mFCqеө>AV4 D=7 ̟32ج />U"K fj(HzDr-${{],5!p 1oQYRF6ڂ Ȼ]7Qv/Ǒ"CQ'/PBPˍ*DW8n/~6RjX6զ,˗S2k&x<2WC+uhwTv|xбpȷ/^x8Y(GdE¢tArQ,u3457d.j%KQ3EPAI[/;A-9uܼY _At4E̾)"8j0C1 W_q7ؒ,7RB4ͷ:S]nTWD458hH:N!9:Pw_ W?n#([=!Cw }5c> ֈwVA3yI ^8, 7&5M"Yěxkq7})NZXs63ǔeMZMxڳ~BZa'1?!=wrD>̈ ̪kK _e^ucO7mv;reH ͐'6 =!x t7'좑r%^vDЈٗF|Xq43?"vjhVd)&\)l5;Sȼ =m XÄ vY??ޱ$J b!ȧ4ٸF9Uhg8%{Y/o M[?(ObG _ Qb\9.s|r_mulդ ㇋Pyhx^RD!5ukVBPNFq.&Iv&bŸKE{;^a5K&]UwС&=Ǡd?RǎdaGe >aP遞ga%V4j!SB3Oha|{OJ ~y0ϬD|y*qÙ'| y) V.q)0Z^'r D8E/9-j&NV'bErKma6oGGF(+s@jO3̩_@QX,1AOw@;gǰ\h wWqEa>cA>o-:y? #0+7|>a D[)ub%I\;ǻǾ%V;5M󽕄%"@r~ioVcR$@ܫP.;'YE17ޕ^fkd> Me7yPt0crqd+YaJa:BuWC_9<.\w2<FS9B߄ bfӪ**oi;g@PQ Ş콆#6Xxzוtiǃ'{,9Ő5䞚` A'٧!K-=fB2ۊJyq+,Ԍ9(:eG[W~E~iLv*}k: r*l{IS,H_6SKKZ,SΣ$J:pݧzzWr<&Y͕[CjVWc1+m&RKXqF튂VP'!Dy2NUHLآY$YiG:w։߰x}YkNpltȠat=YZ`.>eց@{0r_DMr;x{^܎QV#_ ,0 sj5e_A }Y|qJjpf$d, $>$&¹|m5~׷G~s,3m2&*q$:9a"CF7dz񛼧b7v=7ZbYbѧW{~k{~J3 tĻ&7rSC&}8&4T$z|rzZ':2zxd4e0#dР36Lɯ {F*qKI#YwFab++ҏsn_W5'I"BV(AҝWV;~<{;0ߥ}|F4Sc{!H+"2{bWV }~iQ({{{Hk<-Z~A[ pcj[!C( Jv$췡+">(܆ x` %=Εl xWs9i95s\'=X~rWKo > k#!4T0ߺm,~a h1P)'ŒrR TH׆.tΟRg 8|N5~TtŚsb_;3lċuٕ37^jJE&v |_|e7\VyNC.ZPJnޖMOzEQHݚQdp= MxXɱRK4^sovFԗ:p*Ӏ]8TZmGx.cFvrQ=Fw@y}6I<'|V=oRo@zM p2pT 2 f8/FHJ!B\|`TϧArgr!Y+H/KlAJiF CޢakG͢KB6rN4`#pz{,[j1DFAStr+6bPW: bFϸFoF*ya&DN93OL ~QXۦ(݈$g(,FSSeb(B/‘03>MX1PzEܿdi`6pLíO\oG\+xJ|E;w_A<{ N( 18I#<4SS.ޗpwd+99 V9\T Y#BwB߲]dVI\l h]h;h)6۾%%o`q5Vo9Z^,|-D.ac1dJ;8mC5.,W. z!;9ЌMvxRV7|Z.@CLM 2be2vXD5cF[g>\ 'ʖ'`8\Za6dW;8^u,Ÿ:_7iA( Y/5Ji4]4eʊ'U-po;$Ӵ1  m{jF<\-kHIUt⬓roy@nIw ] M#êQ}z%a9|33|BsQ# 0P>,m-~rm hN71Ogt$P:*՛qZN3fj.!y'? 'g(7 5VN1Qqp@C,c憙F V*^\vggw9gA_ Gb81^RN_F{ԇH_* 2NulJxAgIξ# 3~Alj&@]5b|"0@^XT0 [[FA$ vF5üD#[4,-t6;\VSc4".ԒljQ*c4Xuث, BUuQ͙e@F I:kmI`Kݯ$T1Ԙ]R&-IEoF8c3V(H$[ .[j:hD}sb> |#kx?=%-1Uz76Sb"q!A@COYx KI[9P)̿. 2eOgΫ&ZnDu:%ksHIgg$y46 6qןִB1ȈȊQW~~5*q\2&Є*{<IY{Զ|g3HR.^^^ .G%'!v+o*"v-^$%Rg<`xsjߎ2OaYP=,ҌC挷)LόHpW7BQ?-!:Hhttd4#B5XoDKqKL(Mʺ'uѥ}s2+: 6BZBY8Bum1mnha(!B0"L3p9t "5iѽ 'dIs//\¿'Q#|y4"õ^> z2c H,&Sp* 0l:ZLYys^P J߯ͭ[#]v(w['0xدNS "Dec)hw@{U"U$PSkORu6BO;*::Q@UmVE8DIT+[-[&[?_^M D]1?ZB 02cg\X?*VHr:<6|v޸B!ԏ4u<OEb&șkO(&ۙQ pr%tu xxxrxSVp`) %m]e"FF.,{w҂%%K =H`1H$8e}*.dulv]LJ%;P[:t-%% wF9dX2f,f-&-F01CLL,M,ln-۝&fdN}8ʗCr1uHHghlhm.ɧf5N@k[pN;)d8ma(RL"hd[&F{:N/Tp>k\[^ݼSc%Ct<+B[ pj[fY{ݱTUW9+-?2=rV_B e 95hP>z ])SUB rK6В;I.kGB%[{oq"(H`L4 cXm1J0ù1tYcH,yljo!ǫxo/ﬥ/AcX. #쟸M49H*O{j"FYhsxDEU7;x7{@/9 +ZM1 %VUބ,H7+'|5I'BrUxjmb<* oԽ…dCN^B4&  GKc[ YvOV%QZe|˳~= $՘Rg4wۍWP=Ht&9ƃ%úA8}<*~TK]<]D2n=Cq+=u[KU42x7I mKMeJќ,\zr:Y}ۣ*|R1snQ3,pn'_ٲJ. T8Oͳ./l{b}d%ׇvc:"B(1S~ؐE@I3Wi$ bhݩ|8xм-r8vnڊ/;=!33 ~flc:m*UeŃ7rݡhА23"h}n;o5~mU,Nlc]̷QMyF.jL&x3yx^y/7$:Ϡ!^ ;w|JIX<}P_1TȗRt.DMy|+0ڌoOV qLyq>KڍwuR!QF㢖Mby< ~i{ 2z췌T/];\rI3S9B˛CxGX6LfC0nͰ2 /Qo:q)iAz"iRM۹G+^262anvpnSǘ!yǶwSQ!Cq>iBou5qgƛnOb[GOޕT]75X{L^J֭6&8i7@ FT7j턁!)Z¸0=茗Xע&hh4YO/4ƅ?_L^cpoHUklG:߄<㠴0/1rK]Q9/vS@n^b3,ҲiEL`3AVk!2@>Z$@2+ f߬)G[8'٤gkR wl'&O+_ xY}%?Vf< ϲ3w((, b[߸iuv,VdXLzaHa2|q%'>9&BB Y>Jh^di9uV@ѯW!:<33&->;}7=?ѥ9μhPx:ɓ{؟w-Lr)Ꝅݙ<};>(:'+O%ax0 @KomUs).ng) $H/W:[A2{g 3_z~U1\ wRcUQec F2Z& Ykg܅42rQ}v–db06wN;D.X"i'.I!7K@[swUӎK%Imɢ[z* ߰nTem@w%:%dȁڄk)ݨ,#':a^}}D =IX:˖PLlz|#)ݕ WMr8ҡ-gmS0n=KNBkfI%t_Š#w]L:.҂ʾ? HUY.mUU ]V/?#*;B{=g7np|G?03${HP1zm1&xњieOcڭ.dl2OY% *\<@6ξEcУe4)Ow+$c6 (poZ(!٫t #3(E+ B ]W^W'~)%-R]kyJT`e%^"0s|lzR,i%Oɼ&'g^&1~my7w!.!*!}}fw7W,s8әq |\3dޞa{-#.wK_7 UE –J"GVl]ie/ІoO 2aՕGpB;lDqs3εg׏ewԧ2 ʖ+n2'<׻FNݹǸ|*+ut2$rh=K 8Ȝ d+-7%\4Td*5un6vn! hkJ\5e)Jią굙s}p.ب+KwmP0 9ٔ&zD=&Hn\A t*%usqGX86(uyms϶4]$CC.vYҌǵU;B+24yeh鋛;ụM kb 7+4tɛr3wc!_ ;;K=mX:np}%YYh+`aqaYG6#"<[a9H}],?o/ F^&zEhwsS#Ew;I׾'g7 b4<VW͏iWe#  +j#S/X莊7tQ#ީuhVgmi/Ad+V; %.aq{nfH`0[(xJSA_4y@ִ4I͌T+i]Ϝr s|Vc"IprC?);>u!]-ozb}B4\E Z@K) HY4m~ھ ywYΎsbh;JM^:%Y{ t`#$NN7XA -neKd؍xGYՋaކp!)RE~Q5_4lȰ1VQtftOAhVF>Iظnؔ켍=VS`B?w77xZj-a}Qyɉ2dţ,8 S-'ˈR6ڳX]HVfa@&*]ț` !܃S,5C^NO k/ڎmr5DAyA?蘟ߠ +Bc -I_O^ _nn`1ÙUuP[w"Hg&?R[nVSlqha#rFiӓ5/p&1&zںn{/35#ξV@?W=(:pXD\1Ule](Ct g7gj֣DƅG6]®,SdlG I(Y.DdnG'y__qWqQ9C5Y:-h_sΪ1&-Q~uT0YF͏&q6,! J-/Kvebg)Ua㵋?m".W5S*y@ibѨkN(ry=ѲAخ٭.,qV0}PebxCB=Ck}-miڲudΡb,udoHbG Y!`e/H9mC<*f5쭪.rl(0ӳCza3jw9Xo O<[ѷq ?Z}m2]E~eJy:V%4 Lh joGoEq1TF)sٻNARr / uO=;_1Ͷu 5Q]న_^'6w>c p#[Ȇ5@,ʼ i)HAoLW@#Vw}M6A_%딽>7[챐ɭnK3VBt/ ,udt}đ$Z)/EH, [״bqcQ=~/ׇ>Y!K;LL0_M6ejdhyv!iìا~VHA"=N0эɴ~bQ1R[[PJ_=QVTAJf c^S=9ʰEL#d됃\RIMmʏ)JH&s; p ͜Y mmֳ CY?:ꘄ v^_^?_}yUl4}o>Av,t^<Ч@p?`Yk߸86J)G}V;Qb*!|9C-}`b6kaJA/6`yw|ӠWVh{S> s{{3z78֭31^csAk|4}"B/<Nb| NI_"u}Yz:@$Dܘ1r?FrutX3 S撾:D\ a t\1L>9,i? ѿa*yQ]`aψ+MG~aw 1!/|̀XyOr`9isP;wϋ'0>"t ާq 3H'K;!%"5;_~R`Hs caյiRGxJf43數 g@=FY^|0>OYy~q;k{]' +`%1?yp~-T; wP߬5e9w}So0WpU<|?ɦDs2, bJEԊz!& !vlCpǹj`Ǻs[7-jqbI_Y)M-f۳71oVݠveUG#۰q̲"JJLq0N1\`9•[e`军8CgXYo݀@"G5yyUԭ9ny3X*瘙NNޏ9&5ee\Ѡ7:ADy9Aho,Zb/`lZL Z%[ j~A5s$>gҩ"$]a>߸+TrMr/",{_#ٗSFQLvmv2c^t;L{Z^,a!-=[#^w rΉ̓bt~uj ~S -t?fZ5sS ;1)9Y7Dim`⩵d/EGьED A$f9Ƥ:pw1.w6Ihq  ^@2"h̏;fDz;A#}i]s7th456#ڗE)\"%UHyЭ}RWٙrLxȆob?Sp9X HyWϏ ~Hq%ٿ-ڭm.-8FxN0X8|Vf~/n>98 }FQ͜g 2^/fW1ۓy ,"cH룠澪@Kz6c^h챓&ll/EbT0?.ɵ t lxgWēF 0BYzE ]׼ Y륌R%mo:muཎX]o*dS2"F ۭ ]"C ,: pThW>k :Ǽ38?4ZMQ2_C T.: v!TMuw\Nb+"wRS%\GǨdr!rP9peKFpSGK7O#{@51% o{KNI@6 ŊI~ZUJ |>S]eMG IYo%9Vq~B&/o3l8!VB$Kb VsqZ ysZM-|akpޣ_RY/::Ӧ@3B̔ ʴFW2w%kyCr%갓ӚP"aѴ=N7n{{vX+1PuF.@Xj>V$5/ 0U'.wbj~M >,\vKm[}q {*!Y:Ur;t@F^g:UeY {yZm~ Q*mJ* ԍ$ bKY`Xo=M6ϲJ rx zmOah%3eJ,݂cWq~ 7бD>i<֘ȑB)L+r,_P;ԧ豮>׊ ~w9Fs 5UD} ft1M[ VrץEW_UHay*0m8~h?HN۝yA!^a_w\,@J%6VmJ't {TbgD mG'@}ٻ9_z $E+qP B|I{jB)k=z E țG @远8XZ1_gDoxXQBFt˅QZ:x49եi#볟(-D`Wd&& XL7ZCAcmu3IoyUsV_T/I-;|ɲ+tE-Xv>Z&zƝ$£O|̨vprFMz+0N ȜTHȉ!0Vtfr'=gV$&kiSK ;{, ]+<8\|^6 !#5Ghk ٽ,x5p+d~=l7`;1yY/b+v5TgR!bݴ]R0+C 'X^1';j+}f^N7q;|opM?q+R&V|~\eƘj{,g  !˜Ւj۟O^Kk&q+{FsE52,9鹣ݨc}L4X'\98f,phorn9t l(ho\0V4*ٞ,lQ5\A0fnnђWzeUǵܳ[}oʡ[e;&> nЁ'C|E1E2y]{G(= /Q+s]cDow˩ho;> b:|gkɍ*捱*k C׭Kg8<u]ʵ%XwB؝owV` |PT^JcvQ;enr|֨"XyNm΃mkZǤB\f:6Fx!TTφY>KA.+62*[*W9FЋ~֮6woJ81mW @\ '\ܠޜr0uMq!о?}~܍f's8a]rf: : [Q{UB:e9x=;g.HL+NvdXے5 3WkCSgg!K'fJ8HoP>%"\{O&YYZ2j}c+a,ffO󍦉"w2l4VJ"Q:,.M(+I@ IhdÞ&n{䖢HVf֠Jh-\6S;o;t&L-FY"he(nn $xh9,h?x!x#r*x; .`o1)Zd(d!тi臲bs<СY+4HE@y$N,~h=ŢSzLq V{0@b6:mTҏ@!3B8B ~[*Jg/$QQuX6XYKٝ`6s⥟S`yk| g폟>`1}\ eY טt L4 %[,kVժy oRTӧ۷vtTNa\Z15V}:vu@fZbX :aN'M2sQ8^7Jq%%y%թr4ԭ4M8ysѫ!է#q HM+-#C9St RغyXP<) tFB-7/G,ckta}S}1Ӝș^^!=CilRǴ+5K~mخ̋!f A̯Yx[m}~F n園hŽWRNjY#-G0]z€~4}bGQXka#}>#")WOD\d;;0G*̈́j>SNH"KSy ubJٳ״T[zf(d{ lE0sqGͦS,,餱i39(&Bw#*箅#PP4Hvo|b;;ajGLc;*l U! x}0^KI/Iljn|sA'^*`T*JTvi@OXD5(!l]ƚ :8ۈ=^'9ضWF?EvOH4=,v1~H,G{3tgvF;vB*I5WfXFo ttf$ݎޞ^{r{߮/IJW̹/Oj in5>BXǀ#'AD {ӫƎU\KbO\1n:ju+Of6!mE RGa- o}6{>/p1vʴEz~I5Bp2쒠Ǡ0~3󠨡.bܪ`ݐ$z'x~E;pa/) J3,u5sWBt[0?%@re3תQ"sZӈtc&|d4Է]r鏶MdΌB-Z<&*[9G\O$`/:!,$R4B,m(ZČb;FI%cu?;Fň2IQqNJ6Y}~){n]>Ͻ".yM0&69]nb3u&N16޼ 9qD^d|ulNJioI08,z6~vma!X15P6L#rݚm,7nBЌͽoGoMt}/gR"K>q07 Jg/rd?6$A)ysM AS垝@Y5xȞm zcyrʨW?;12Z.++ᅗ` ҕ{9#9c#B\`9=w,60jyʫ`,&*x\ .uڜrBn Ip#Ր'+9) |VI` t>z7[a;6 έ~Ro EyI _ZvscϠy',+ᷰ4Evz=T:=*Hwi!1\nZ/8_,~&kH疀_:4"f 83vc^ ZDulzᖚg-C,p]ԏrG8WՔklpgЉIY{=~{J57(՟~3lZK/ >%QcF6 8GDU*IEt)m!@9G;w7aa (}fka0 L xs&%>f>/ zHaPo Q(.89ZdمO3u{?צzHA`S?&FD\K^Y Í ٪ LuII09U,2NH1YGg#Q\]UG+qE-uc(ZasIjIGg,AJGdae{-ÎOb~fJ7pmD\/;ZX+sr'N*2.KYrndxOԮ%*߷8.+!ҚOy=y:yb=IWO4Y YOd_lE_#)\K^{V <ԓ5^2bh;PdX&#{GiIAMʪX(W t@<6(@;ּ|Yf;wxo7]Ĕ8/SS@(v3,-La7F+ }Y=nK[/{e3]_l2_Fjs5G~{=J$<gi@kQA ?ny"<PɋPE'K&voT׸;Gob2)m= =+s3ڗi!퉹'("V_(-c$ℾHvp M25&67inG"M Q\ <4+$8Dap, /=SvK@ԋtM&s9ap䳴7{R'͞!R:N%z:绲?JO|4[?;o:W8[s4ɦq]V3uQKRS3e!tkUAzQ\sU'm?X sT`NKc+W稞Wc)Gg$"ƽ1Bw|}<NRݩtu͸^<- Ƣ~ fI!=.WCjjn!M oB b5wO ;/V^?(MWJۮFOGmoh!I:5u$]5ʥ 48U&DpO4CB75*q5겧BILdfūN2:[6%0 -\s2}s>WIm?Xņ6gt ֿ!!΁ڲ/@#[l4?3Vϔ?X Qa_dѲ\ŝys7Et89pdΙvuֳ* >&/Pޣcش>a۟\u冐b$gk>ԑ#@8>߶-SbWp^~ r?3; j2b1 ^LJ؛bGsXy1g9ϟ1AbQ_/\!e!؀C|UA')]t[9A8VQS0Gw8=ɰZ)|x4#@F'ÈPSF$sp;hawg YI)i-:Ž65,E,z .[~}pu3[>5.C0ڋ}V>8K]" ;+ tM]h ]4NL^ouMG wjYMB̝&{~^ iK#&=#ЎǸ'ϡmO/㸎16|1n <Ұ~D>"D&Ϡ3+~fdr, g 4<9LO=gKb7mlY iKy b^V 8CB/Āuy.> Fe EQMG,xٓ5JQؗwBybxrڏ [߳+&n ѫ\i;%P"S\zǡrw\wKf M:Ue׊:*ĔkrPO ;)DPɲ̼O۹)0O1bV'O[[Aq4`4{Gre?FA]mJd̚\"v:s'յL6Lig#ح|AW3z,+, mYV}N`El-t9Sn52_9䦚)EQw!|"B:sӵeiV}K/(E.3Ee8iLyf*7Jo`V4%UGfcE q^ -CT<`ZDrqnv˼Txu^pHc>C#Y /=7na><7cύ/iߎC)w2J`و >YK4pHF)[]HJ7|1˓.vh"7b>RLwSsH1e_LnRK %G4þgL`rV+kP+F ^(~ѷ]4 aDPDw.Q;@׼ǓɱIf3ygN$gW;' Ѐ0踻Ѱd0;Gt-׀Pbo;9l/W'~L b) OYˇ'A=v9%k֭oVv7-bjc05ezz8:[A/9Z wm*:ꢹ6Y'9=zN^1!o`T׽so p[E]9nlArl@h6 ӴtKG1QlUb)|GxTcv $i3:$\`7dC(m`d pW@Q*15§~9[~RMbTNe17dfp#]PA9A+ Ha>$rP n08fS  ]pNx$f*m5GFZbw+,թnL<*3-ũ:2G0C9SL![gš7y3;A(bi a?zBH-Kop ݇֋l+*ESٳm ׽kZL%.Yailc8}T q M)K iONֱПME\C(M /Eh-2*y"1nrFHXqaflQS(L&>m~IU9?ÅV§pWK3j>M]uLۣ˔G(˥-P޴ I6a1`y+^Hy"*t3?BDAU3yr %*|>̔ș+:8 U&&ÚM F:Dt|˶5 كק2~c Zs|Gf彆.FZe r>nQmB3ėĭ60bQ3EKHmҺǝɎ,iD%O7WЉ'RR!冬+e[3J8c*UGOU3s+#'qca8QpPI4ԩVvAa@s+lRw"+|C%`W]?Pj-ҵ1P?Pcs[}]; i bh8|ou)>T{93_].S#Ln,Jхz (y*$a NQ@|ۡRqSTDNߤ8 twrs_\%PD L.oR*%|r=O$dŽ(y6NXH$"Sa+09+3{v+S5v6N|gV[}Qg2Anlf+ԋIb'S,E$9BglH>A#F{c$z8L"پ $%`96J<GuL2bBVFƵX3\Hu2{udժlGLa '=ehw^= Yh\_ !$v2FWB$@EB4f=sO s&5֙tolV7@':BX<]`m2o+d G9m:4?uxqy&"\YJr۳'-$>¹{ENբ*S0z9ə"nhQǬh{ͷ[R5Z^LQZ}.,WIL ܳh/$x~ I\UW$r%|+ yqRJ," ڂ$뱧A hm10njh OT|ib+HeL @떰݂%!g': B⛀Mjk=HrP*ok#P~|oC^;7;9XrM45L19`V@79rlPmPv4;82mgGd-."bX,Q;Ǣl٫҇T~;NzIhMmp?hēZ qH_[>: b;S^teZp*nb31BGh] E~eh%O)o9ptL7W1HTHÚ)[mLY_<5vۢRK\Hd}|DC&bcL^4<0ME 4VO8;g@1h'lʋ:ŬB\7BoDǀ$m")\sP(EQs(TzgC]"3N]4[LO͆7m~>!A>bhu2+D|v8dh꾵 Pf-tEM1Y=NQM K#a{V߳{AJ> S&O[)Gx^uY2\ l6mĬȞшiXUs>% 9MYUF4apEQmu5|d]آFv^(w!R(K |Rb8|\Hmw":>:z('an͆ǐ1^Z1Ag&?f9# BU[^U4$Qޟ[d+ZR0Q{ę _t-`)a϶w!UVg[=ᵇyНg*XayYA2K"n$%%$;ā>lVTei#jSq#CW=|:CgښOa[չ Jd!ٓHP0vQqG-{-_]i8><ďwY<4m#O65&>}NMϣMXz}lH#Y鎺uT-VZ'2AE68.VB #]b;pe?xM&՗Wem:Uc h' R:0K%;JV-I X%i/Y! cNkE:8SV7x)2D|bwDHcVZ\..3lK n[VT*_tn "OqZIcbͲo/z5tMR:- @iF[1Z$%dj4gQFHʸ6oYdW$kvHjaOk:'0TUеo<`91o ӚJXEn(E㝠㳭EǼ/erK&JM"wRIl>sxlgLҗGeJ|dK%S'$و).|̾;fU= m[}D\>&AW}`x7jrE$GGL+P-:0(]돩{MQ8K`9ߚnyjY_\$Mp T\ l p9hZ Gsm ܥ8Lr/1&Bw J,03o˭wZu?D%Mku9S%x,2W 4$v%i]-%WD\Ьr^V7Qr;9FYc[>O cXԤkUQ.g+Af9NN1hE-po2~eұ/bwHKFųrI6lĺ%zl=%psw0Oo/{"gMR"e♞X,A\ֺuf \Sy'\`@C+9'ϪyIhB*J$jON2S'v oNdCwz.Hyt}Ri9#PKe)3C$;VJݐ/)#q3Ss R\id+Z#i6_Z1AE.NտM/-fm>~8+OE"YW8醼cS uuewa-90'_Tt8-|uY ZKrz,\0}~R3XJęb?PvN/ YMmvԺH9䒘۴5{t'kȠIin6`^=Å5\V\IWk KGxxlQ#M6-&ZW0 n֍+ ek8thg(uh R~ B: Ȼڨ?E0FHYmH2QC!B6Ƹ%AlDflUo%v6ęu cv=+QHA]}mO-ۡHٙpGǗDTWa;L}&]gO/8qLQ#p-}J?r-²M܈HգMGve@m2?Q9ۨCEgL?uH@i0x+~UxeBⷎ$14P ѪkKQVjZf%ZKI>O8.X``<{oE?OCVFӝSk_Vձ:]]<-lcg{cY'] xO:sb sgOd\էn"bxdfڤ asᄏH\!%O1 c5Zթ\JMxD]pøn3MQysY:їp*9$}ʷE(l|=:j6]䪃r;c!?_GKN; ]rXpjWĨD\qn{1mOfA43)ۈ;Qľ&8 hmڑb`sG~mA*X3?j3`S)ٽ_R]K0w"]mZ=<  y*ag}@f[׳}ojy`uǪR H -ٴ6HBSbr}]*C50jM!OiO7*ZF9(-`Ct5=O˗"TƧGd|>ֱmanoNc|6zojR.wY_e/DS # jΓ#UϞ%#JsP5RQjspO>2U<6x2ŻlTt,WݡW:&md=AxW-:{x~9Z,<։=5N )lJ^^ms\h.n%袝[^^e͐բϺ>O ?MjjZ(cBAMR ^vyS|ya-?tU?[#0jXsrbvB:^7ve#^Ⱥ"gct 5G) oAؙV-(mp˶6xs5|X黿+uJnDWp yC I,H "M<)X]̀E;J#QG^#F(T}\k;eN4)ߛN1\E9U+R.;%+͋K~S*f{uڐwOPܡ"v|0BDaruotݞ6quE32S{c/ꥅ dbqĂ`xj?ۑB ~4~@kNj)Vn])=&{mrׇ.5o:nQ ?!~ 8֋%LwpNA/uAA [A( xv5nozg_HuqeRe |iX;OH8=fm$_(_#kjLwt( f.\"[r9t | dDD~& ffڢNr9"UAԜt1r .7 hKC zU 4sf{,[35[Y8yD9ĤrL|L:}V V?6 {) ݣԝC(?J$i5$&`(:6sT ?G>U];wګDAV#|rϥޮ#j6 \9 Lj$F`ېXww 6d? "|9ƺ:{Y`ug=IPvN GzMQB +DOK^C z Wٶ̍>Y !$DEUzyౠq3JŲ*dJ܎  qtMp=&kc- oDq) >;x?űINgy+珧fQl<ƛ3BR:…`2orflط ְ@g2_JX6Rʯ BtL66pCWW =uofzyrﱌM{Dk="BA&%#<L93|<O>^J k>hW|HGͨ;0WàsJ5 -gJ$JB4}IEC ݞrܱ]2h|Ր {]'[o$,ēi]6so{auk?xӄI%bV6zP\o>KCe];/uO5 BW;ں~`-`:%ȵ} n@Ůc#"t2jGSs9ڗSapduo-\4.R+;l7雱[(5.ơ%slQf u3Dl|=%+GRwҠ,UoGJ~)6ikD0qyŚ"zqjG$%XA,%5-͒.m\Pk k@p%70x&jjLaiA(”UQGzX_pb٘qMM!(drw̔C8Ηe Mxj߰KeG6:y4U̢q4ow׏ 3;vy^{Ocn$_ja pK&bo1% Vs! AsЄV)M@g2UUHpB@y]Sy;ںvV >NPuLgEƠ^KO%`eBUC|9Hy0y#}ywݾG'gѐm)Y-#Z?jcqk_եJ Ex~rs{Zd,Xy {Kơ>8e˙G6hpо飔e\KN~{F%1or'›-vLL!S$^j<4f2V-3(mIQg9]'k/vMy3' HnXR^ ez1dG 0ri +&Wǰk-|S >ﬧ`*PG"t:P'֌ x*ݯ4wxV5 ύȒ@^$k'={t44"k~/sy:w:ȣ6\u _tjI75՚*?_B!t%u"lU`‰iH=G~p>33DWcX*8 P^$M"JOTd&Ts\2gICc|.@[G;}7&Dn MB̮@ _q*]ѳn2,ytAǗ:s~۵ 6#IsܓHgX4p{37gfV=MZ5>^k}$(xѼX|lC{EY&/J] guюw!t fP5Yw k5>oUV0+z-_;)ruগ[CixRNy1yj@%i_x2R{&[xۜ'5Վߑ^+S# nbB<ОaܼR%msǕVV8sBҏb>Ʌ@s$&w0dԝM,iblQW١b$ rC,W6JhQKW D VMewSiHN#򊓃Rt!Wv5@\ Wzbo:U}[+b""u/v V.A] ir⑥bc7p}MHmTx müǒ<f;H&G>DPRSp_ ɱBu蝀֩+dbqE/[T;=)~N[OM XjY%m - S; VA3eo{pjV@HFPZ@lR,*<%?)}C," nD{0IK#*٢ǫh,/꩙r;ũ=}OJY)JSϺl =?py^vuq2-Gi@ PX3K XڻR|1wv*a K)kUT8iΚK?+dE!B_2JE`N2K=fQ~:g?{\- od S0 :Bh&x$;7Aد4 A_PJ8trP kvhP 9t j\T_WP{o= NR, A9PrUrN[n sRH;}}^C{+j6]WDyDh}|)U`b>z^᠇1d'/sKvy=w6xcS7r*#zV }Yt4DFw{c "oH! yRIPn@cۡfe=P|$$ymR{XVUF/X}*VvJn2on K]{lŎK/U'p60d*c,8 0[qQdjdE"lˢ >VӶM 4(Pԯ>=\є4 rY>hT_vB973Y!wV Ja{ScSjQh(?Cboġt!I[w!Y9^Ԕ0Ӏ+&TBhU4UM-KNhåXoA,鴥r7=sckE&d4Q>3g8GG{}$њe\ Ps0ĻS=rJhRhk!?ժjߕ'86r8 pI#IO#Ruuqtҋ%hl`dA [VKB:wҾ=-G@WWn=]`S{佢BBv$3ʂ|02j2$(?P n>.*'QdtDHe])1ի'j 3"h?{wĿ[Z_{StG5a2}p֟{<1T@}|V ]HJc 67N>x@VTQ 5ɤuH /wl 1Gecʧ1 pxcuAVF\@A{X ~=2g"u=}Vpr} }ƓEN1JPy&%JP* C#F+,GFSccL0og3rXOwt"^CJ@l|t@kiѨc-S{/WzWϘd}CI$ܘ#4eqBX%@ja.U*DrV׭GHX)fK;eN0Url0ph1Q * st+hЩE33&V$ܤkDvc7T,6n~]#i! `{mo*ގOD(y@Cr UO3\^:"/Dw _riM`OCAƍ*i&CX?Et>?"p!I6ǟsRB7ݧzf(_)޸^Ӊ򣼫 '3lG29(c"RjȞ8 L{ov ]|c<_ңC&NDvIh$Gd}ᐞ|iT%&y /Ӵ 6&B(AߎAC UfaW [Ij93G,w&Ն pQd* \Ȫ{F :Sndpmhuȼ=0zYM}=8س9@m ,_sm`kϗ(a\Ó [rF9Olz5r34xU ,r(C'1ŷ:[ܷDΝO"{X\YLrRReq U(w$qhk|dOcU vaNG/&񺦽Ԗ:-sdbge,e $6a d֠)(RZDa9j1=zZ%ʢ|h<+JD>/TsǍvx˘ϭ@WB}R:8D$ \dbW!{C5&ZٔC%:tv LǮR< [ECP1Q(s,@2 o{)If>KVk%ҝQ$)R}QQ,9)w޿u>M c@ gL[Ï]nÀ}7fΡύ1h0?Ӊ ]/i| ׈2cb0vWP)\!3]}$oN"0.T^moVy ^E1R(*zw* <Zxtĵ^+IEםtPG|qWPJ-A){ÇN2_%sR7HKZgou͛PfTyZA\]o\C~*G4qtk(Xb''zf&=c,?$"%`@G6f4w9(0mҹErgUcVIʢa8zŞ ;~!/3V̘ wTxL7Vb,C⋶M`b;Y dUR?؊:((IHk2+ެ040JS^'̿:N7Wgr&X4y|DzK qĕ"'=jt㌛iR tPFMIVF1 a/bga=r}~NRVmi8܋*."jUNK:u!av4@MSaY=>AH)dcːޥx/SBi,w$eݴ]=ھ 4kVItem5۹PkFjM.$i`3i{f |ՑBS÷7O\"n:Q U.RVs~TG"A{/qu`L^ܔ\CqYΆ !d!̝+כ=-Ip'/O71EOVL|:D;~/O(yWVdGs@Da/< Oj`KF)HYО9 Ovː$X):wm֍kTn@(B&K(}q)~-}ld Mxp$4C`wXaИF%0q걬sXtanTq-@i4+wwLޱ*[5~,Lv4|T49}) P ɑLDIS%do+xx8m?~hIgCIB?uTA*5غb2]F1A9Nk9s$ =[!5N+|X;4of[GV[Q b(R$YVgĨŢK<-;6SkaXȵbn)#jsq& FPV)> /_@J縤blt 'Y`re&[ 1gH-W)"6uWHd*wɏ%myEYKxQb-f{ {rGӢ,>1xYҐr6fB`T.-RX?}xy[BϋS$V)f_IL$@ZDQJ!IF, ˻/'bBS`m_M(x3=3b؀N'wNj~䤻Yj#ݰ턈X}49m{Psv % 1'q+<}m4GG6'r*uRr7#.]׈ii-MVAOeLvH$B~n~ElngP؛yx|kmj-ƒ{gFSf% &`D8"rpȎE8Dg>֟~F\3[u>h+ި+*%FѶR`jO71/] #*1XHwrd$ai8f-lG^%(LLMp\qMc{dۢ9;7{hO1Kt8B AKqo7dG g!t Qڷ@{jj3E-h1xϼ잯 }90Zr.BDɜOGE=yvyT:~f# U_׎7yT?)]Al k,bA>{IJ-nZE`9T9eà~ Q?^ XηgE0V=?ut<%BaaJd$l^#'K@i޾@CJ~:=N?L;_멵Cڸx(vD|8VɓysGʺ:ATw+@m~m-O-$5pH(B `U1Ssۚ;^ӄU=j(l|,GvEc ,xsY+&B+? J閚2!Pd,jW'x7.hٿD˲9~q$aWi%?gD+bTU^TEVųC%#N[m%=B \NY0r(V`1@s:S{c_I1'q}H Gez'sy9  tr^U:mj!oDnq;%cnJj#^_UO|7nT\^%2cNki`46ږV(XsyԮxMf$eaMU_Zuj+-!]=3p'&9$?\my<rٚtNv6Xχ\b0nCߌ;f|@tԪ_2|\v}]u%qS?.w*Kp_TV|ӷJ;$&9USuɀ ?-COwl9j4飯<"kΉT;GǞrLQL$3'E K.ֿ$Ik7R~RlG51gAc Qr4蜓%;#5` ܞ`> ۔Db"BtJ녳x +)EBꅶ.q3g ո q-UiSdXܘ:Reb^E}o >my!J?$54/.pH8"?$G+"p6 G<Easf[=1=4dg=4+*N>K$X~%7%x1'"?ЬQ96r:qO[^Bb24ƀ{5mL;ɣ%B"7TS ^uMٚض̭җn.Ɂ0Hw$LJrl» Rv̼7nSa<hxuO #G8rHْBم|œyNKp>:'Jrp"csf*Hi+ВɈƌ*ppMiyMlEr0W;D^6p ?Іd#[•cNG|~3r-tЍܑt ,8uSb`odYRuطh-{V,Q}~B?ߓ*IsS'j!ֻVU4 'NMkD7)1bq fİ8Q]J?UzN70Ul:Z?iWb^l3RF}gYM6?2ha%mRe02"? G~*Ôͺ/Re]`0ibXԄ<2iֵŋdž9ԲǗF{PXpP.Z5$~EN٬ [h:= ;2~=UL3H*/Ѡ1C/-taX^ٰ>q0~NO5N GG7%>P/&V3Qg'2zJL~X@3&̈d6qTljfkzUx!w&SXΘ@rgyph; PѠ#m/kRܞU١a> 8_^t@=cxE ~{*ŔX?ݭs "V;u=@wh7=f|hBVY0"{-KХGSI V|ʮ-=\i[Q 4WpʆTDMu!C]u"uq5iB*Ud"jqvL̦1J^XPsN"v׵ pݖI:v,chk K9׭C,E~jɭeO>Ү fc;\$1* sYٽ4Ϊ:yi!"G[ɳ6ԡܒ /PȨo.D<0u΂JJ FPȗ7:[T6wߟQ24]iMxOpB02azS{N/?M I|Kb$[Q;\[7(thqki[득 lQN*b eٛo+ Gsz,CB2*L@bM wa.K '}`3λ@gUNuslqϸFY>p^b+|ٙ9K,d'ژ@ggu @AXF1nu (yvoubK:7̏"PTf.k H묕2g(LvfN3oۢm6]kE*txG*Gb8,|J0ZF9oXĹJ^p൅,%NO$%|GݳR2F!r+V~ ǩB!_װ[Ņ[N8|W=0ҨIOAS $ p-> d|:,5Y H!(GCp0Q"-2/fGxP'wbFRmH`I)Td/s9QRH3u;H ְKމE?t> X-WiHYlJi$W/NRϫ1]I3bRD[G 36%Q8Ԝp]F)qBr z3oXeld@G$uZ<~5V?LWG>FYu7&%;o|%A_mN7 BTR$Ey+LngC[/XkϋC z`㖴>cpEB,[B /U+սy4ȼt>NbB.QbWLr'Hc]55刴Kщkug5@?"^6s_O0}ؘed~pRVs :zs6IQ!^=dCkt)>f{/(gԆ+U_|"`e6\@HnEJJmB7֜#'tE,V9^/[yC6OHA\r{*9#ۧ*b  piuw:woC kU>U<Z뛃4}%T.O2at<%&1+]w'4쩩d @2WUN3#G!V7T˥LN!OtP׏2$G ,S^J(nLk>TcQ{mGUѩœʪF&0-KvS䧶D\ υcaQ(o۔-A$Z\'XU 1ls>5X3GSɃrh7D+ws8Fck`I~P1bn:=yÞrV$tv)(1DG̤~лz΢&[@2/2Sl0yI)|j(Y}Yd5נ!K;h"t}O k\n򥵣;>Z'JwUz٥mZQ[kͳ@:x׵4X/kBd R'}?(ֱ.>ivE0pdۄ>Q: \;.✺ N"~Ќa+0h/'L %\߉mʡXR ~ܹhg_>$~ =A%0N[( Nic[\o[5*riNԪ׆5ƍJ]3ܥ</w'mAz'=P;BJHٰpmQ?ޞbayɁc?s-d R2O'M DHpOp,#ìAqu66 Q[ ;ԧI"o38p2J3.ĚF1DHi4kk6%8j|z [Y6I8'K'I\?mƀhP:xۏz^: dzkkS5>gTIA($g4][ _^S]ge~?Yhi:.Nj<@^!e#t t&k!⊨{24q!sPV_8)Q:pYW`WF뜋]?]dʴd'A΋BU"Ǐb+1'5(HfF3iJ_׈M'h _hWH40CLoāL9@JP47 [tc{[o7eGKR&W>ҡ'HP5V 2)ȋRfr5JAD~Y71604 "v[t8.;@-^VuO!/!ьƙkF@q&iOhS AŹliV^۰门63\8P[>c)/>>fshU.@üzuȩL]S63QNCYeڍ-Q6ھahwe [B9" NO(; s- ֋ݦL[61qyW5d;9A_VQK0I9&Dr`V7})r_tdG* :?Rpb=a+PtR@oPsy 5OHdn0}";QNv{I_rL`ܺܜAp" }^sE=LXx3p}BU"O%S !9Ur4D}CJ8me)_nyM_yenkoEPvD(|C8ۊ>yJBDEF9@4#3r1f_ɳI5Nv[Ķ6FڬCDԥDQ^Jfɖ"^Wf]z‡b7 ''X+!'?>'6MsKp˶,7.V)v+bΈٕNy_^W_Yg%4KD{'H̠$ԋqA|H.־F R|~XxBԑLQ{F ;,%hXf-3\:E{ߔzFTP0*4DKp]Z0fi/vd(آ%#@ Lt՘RRyp7aD5ì %Sr !䗊Ϊ3u.$ʀ&mߟCRJyHh)ŧTvHnu7w'nz>n:PelT+>ܪBFp] 1C'0HӒԲe?Rzɗ!Zd]RpA; N*Z'[Q]ro?RVK>D/(xwoh753w@k޹-K:(%Mj{Q%%ƀia=fv<p*zfϙ SͤkgeFsifep5X֞.ʞ;1svWsǚM:"~E! UaƖ zWBR:,}6ӔHn8whggdrdW*s*|߂یf?s,?rr $l$Բ WD+fu4^@83ok0묎ɳfrC>Rm.&]qЙɼ*Bc+*Wt@C< urГB>-:ODw絲gl#A'~> <_En"Y |"2@DJaVo!۝]Qn/ٿO[kOn;A֗#jXO>TQ;6쯤pdͱ\\z3bxZFγ5!)9,AUv)fJtqPR6|֣O'"C龷P_\%MoS~m|O{˩[*ʾSk`G/̈́wi>Rs ]5=~UcӅe=.9㐌7{=I |V7WsO59MWY਺J4@E L04A*MkwxDqS}aAsЙDiId%>>t2dcw7C)B%k]nAyL@YzۑL(ڵp*}}-_-g+JdTD6ɊH{9i0>C%ͿMk 7{S}P żhbe(ʈ*5:P'6“H^2LVpژYcR5=ZauWcCn> ' չILvk7;]ӮC:T8 #>(%4v-a;OPzw<2̟N*.qȲgARb94C,vYU C=%Bߧ=@F\sY˻idce娊-c zKPQ܁_ӣ0%׉nKD0toEV6 jŭ1FDӑL\ GhhsHI$f&YѨ$v]E]kRIϚkxA~|h{^lڤT #H51Vq+2hG*v6ٲP;屾Ț)%qRDhr3"r--zlB9ӺG> 򘝛:\hO[VTmT$q|(Lh'-{WrɮhYJKq|/,1} —r51idC;8Fv&(փ̽ߔZ#+<lF"Uvk0^"24=%s&azgWеlIN8ȉ-цQ@+&g5]dS3e77!Id1ꐹr=dB_ow\ C3XNvYl(?w+ #;;|fTxV)vZ]ݪ؇Z?>KJlAnSBn^B]]V9Bj6Jߗmd* 72:?}_D܃7jh;6K6ɝ'-;ze-D1XUXE$C%,Iw3x%e2Nxxb&]zG(mzRx~Ԓ _RXFM`ApJnsԟؠdn"58Dѵ BHIs;(P Nz85A/=TKY [M~B\i ) XVxޗq2oqEJu5r>ҝ3^IP9mų/O^;DOhL,1Oju%(K|4RJ(_#랍zz {+iq8aed~$lF|&(81>'s М(N'tQ'(Tn2:Ґ}&'AyB"kwe {?&v՜:־Lg"eF8_IٌI-)a:>B >R/LFx"ߝt)EdʩTɤ]Ty4:=~h6f*8A$?4x5.hCDJH}c$+( {Uv֛Ϯ'fU 0߶ύKh[R #ٶ]iiM+[KƈHͣ: KC0:ۺWzV[ڤX¦'xkU}=y#yI[zL@d+ {b#Fpgd}a*M;I$ h+l$bI {dBYfSuSmD8ǫv3GTB0sw "9'bE#./Wƙvqw#rld9@"Ot>R~/2TH营W]d[Z غ zxAj#k/A!e K!T64ό(7wrz[]ض{q My2bm=Fzn=ٴۦ.^#hz5zzrWNdɉ-sGWgJAVR'kIK %YgLkUS5zE"wCҀӝm`6Dj]n^f'#YRUAF߬NO$<3D|Z i<|DRcZwOLϜ裸S\2=0MlQ:.@8mvyV覕yFuÊ)14OLcg^d؏cuBcs't Gw6i,9#uz8v *e{!+0xѽĔNdz261b ؈H=ROѬ4=zKrxz Й&GXDl?l r6} *'ԻFJ!prs~ Mhsf1㥨VÕ|P ޫIYQW剑}4S`aOTP%DCMuP'rlG.edr84HދF LP\.jj.ZCinI (2Ugbes+Tn Kbo3)º=̥վ1adud.֗=CE0FS#=aW=촤v?H=ݲ{VvV29N)] ">q(rftVziL~OB;]D_ ζC%I)T?<# R8aBuڻO<غdhV*44OKr~c Qhln ÙT]e򘫺)5x GW),x蒻~X1&B#~]628~vFDS^+ cnRdy)P8Rg%qHJp 'y CyoG4V>2ߘ^Œ@&Yph$N=3}Xh~wQ>idn)9=[Uj*fnI{>Tԙ8a%h+p{xP%pobBwjShvșH1iRWtRa1$_rC y);%q=lZ ^$&ȧx O' F~mvr(:E~Y8c-9 2\ʀJYMjyγmB<کF>"$W"Y%5OFհx2_ww|8bLN ?fZeg⟋qwt;sI)xΔ~7Ce9HY'B,,qӛf 2P3d:\94_U];!:^럅Ne1TOKo1=BaaƤbwx׼y}?ɂ>~`:5 {hEE)\ iK>.S>{=>$;,|6cd Dd3>$-~)Qv:t;2tvwPàBr 47IurjԏE,0|/[ V(e(X;y9g9zČfy^ ,l;LYO3lW?.tD!=@+y ׷2! Nf`m@B:3 9M AIkM)>e _Nw*EsvPsz sd*7/'7)B[|wOpw(% ,?̶xQa_UB1n5螦\Ay:<]Kwk#Yda:QbL" ghu I:bP٘C}L،^g{ q+ sX KG'h:D+* gU0ǟ꨸䒨*Dq* $Q@ླྀ _FL3'4altyO,`K!OY2P?'-=+J=!YgJFuEAjfLY [Nҫ$3[Wh:@_R%3SQG< PwiXC9L,D_-_@>k+8F; ^MI$w7M \hQ\}$)eUm3s?L!8'a2/oYqr\-XLxWoN#aLI'=+Gf H=^e6]@ٴX whٕ':C9JLޗ57!ҳ (8nGjj;B)7NdvRG n0#;ARA`Ņ'q <]]VL޾`é CB]HZ.I<$̣srF?}B-"wE}urh7TX,C{&kPw>xJ#|c2ѷ'\ OANW4hJ um+(dY)ѕYF{1¥B!;߂s0=k6fNyg2?lH(`X'Rb` >)3fhuވs[@C;"W9f/W/͙2I`O L XTSpKG@oQpuH2{ eTU~E .ɀU*1x[6j *ZE4k20`)`0t;F3OưKB-(]fZT^@o<~8pSSKOʂJi]2Dҫ2'(ؕ{aH)>J#b؀dPn vXV$ d.D BX܌I2I^1R1Z@x̘@fGk"35D5ru,qv<ѯBXF!A!%ɫ@}eMͯF7:5oF`VbЇnBjjxZ` Ij{;4?a5L}"-+ 8Pkfv* ;eIdG+FABt,F2⦍}:1e\F_"ouCET?иlٿig1 :p.G.+-?"w4$bkO],'ƃv0a M_F@in.  tTbOCr[gq&!8-VZ2"NlgX._&>ː0N ¯^7K b т O]ic610+;@ێ Fh@whuUZ>MOE|J3eVwTS􇧘z. "ϋ}J_,qɨN?zJP!i݃WDeXzr*EoLd}J1Uvnsӊ4ӵl`m{ph>;p߲~fY%0~4^>P 7uDQ)Xs+4eέik[mIYD%B@VNucH8#Vx\A{; 7 `xE2:+Q]vB"5}ky@\dO1gdYQ 6\K A#.qdSpeWȑx|ހ7&:Ѓs.vJMISOh\,ƼFNf]nc\h=xHzՓ9zU[rWֹJHh-s*x3<cJXqOKZh'w#N}mj] k-AW{}]W3Fs\X UMt $8CP蜴A>[čr$p9oߐ!FVD0D֌F179*ɏ`֌柙9v(Y)ٿ޸_r-_Tɤ9i5Hy9JӸv*jn؝GlِZiݸ>E{r-͆B/KWL{@^n5$V'@ (H"\<$& !, T?ٱth ܼ 'v}Lk/?ɸ-gŠ\hIhu͈b뗺g|{SYl"Ծ Wύvxxdue6|= ڬʚF2 zK%b\ڢ:]ͰWe>Υںj/#2 %؆^Y8V,wo~kn?eI)MnY-FrɭqTR\:T87d8Ԯ)%Zn{-Oso1#W~>W7. 9{wBϟr\GrS{XD1>u9} Պ֐^NJ'g.vk x  %)fa#f-̚#h8ߣDl~g7cNBYƉE2mn:z(k|7t=@~DiC Ez{[LJ⅟ *]W>ɑtP%\)V('i30ڼ:jj;n[ oxvDq0"nwOnL$D6em@'^+DK8 -@k_ e% {?;vƨ)d1mwɘ%Yk$` !) aY&tDTyU!MS+8b+Z85w2Pt8"}P6h#8B<]O_;Kfһժ3w*5JDm N-7?=ؼ)$Mz" 'p& )m03xY+(CRoWΆd-*F"c ].pau3T9X{%[>"_jp¼uY+2~бU-Ҵ^ڏNW˅lKVR#] 6-?֥ WYd s-k,ыϽzs-n/[ۗ[e^ tt&=J'2AwYdk;_)<Wzn4!ϏKɀ`˱nS.< :C %no,ot-/OH{a)] EUèMwa_L5-q9y6DWz1BίA+?X_}~& |K Au.UTQ(ќ$WF<C6+:pqj N]:^]Lp55BUBoB?lzBe ib] 7_A"a=70-j1@(A#̋]ٮywKZãLe= mhI riZ`&~΄[ͫr,?%G_Xu@_HNv2ܑ9fKgkʚJT0fw-mI "zPJ^]7^V鄺_D~ػ635,X> ińy=m+ T֦aye؈&^p+dȽ ]NԜ@\DVyg8Z(Y8jLҘkK Yi8RR'RdR60';MJW! g{)%&5%8lUp/@\`Y+uXp!bg 4'*4Hd|ÌIPGzv@|c]ib#\<(45{THh[]|le4`szҰAp}#KKddO4r>;l@SG%R-_Kw.|Cwg~j'*ÆfRA7 |#Qĸ^7 f@ToD\E=BѦ!e9(-r[W<0+փ2ÏFmb5י~E͑+8w'?ҬIsn miFIJMRΑf#5G_aw 2Vg8(}{B&0pߴXd+TA$B]DA'Ÿ֨a㜟O_b,ǭ?/64v̐;=\|፷էN>Kr]$t0i£UΜ*N!YA4@i# WS<~ IQ+oO'ǂeUCcuP*c%b8@\K)=;U`#,Z.d:+ѳOsyi--6%JV1{F2VH K'IEjmC$"SݿDchr[F-!# BѰ&opq{1E=s-{O] ݽC/Zs>/J6a 㨵Z|Lo yk .K$H,P, 2&EA &,qk*%7ի ?kV~<{WͼY=BR0N_S++J&vu+~]/XU9|1wlg˕~콙r,=E1̶tX| }[tIyZ!D*ޑ큕#G[t=8_U;?̈ȖGq"M`nguO, k Vx*"N8CzuzvWz-m-/=Ģr)hbQU"yIrJpʔnLP)O&WgH#ciHy߄gp ɵ{sLIʟ%?F͈Zxߴx.Jxn4%L;}Cz/N(ך/+P,!Н[S!VeGϥ$15j=4|S~;/h26 0F4 F-ƌ2dC,|%޼ҕp&ĴEBOjX76~YYq#'V4í/Hp}`X-^AFP6gjh-|ƬJ>{}_hj4w@Dt] ,(ݒH9WkưiHe9nrG4@ɈҊ.k;-^>$1+Kvċ_ա:ƆO-fY!Dg0rfDx`I*xfY]> эO|}g7†[x|X(g]=U3y>썋 +"+)?XhwH v0<$sxmBp+aIr!`eE{#U5_k+rgT(g-b8bZA=)asy vi< CC ;F#‰9dk4X -{Smeo/M49* 8` p92y}^zVbrqi`C2\ bXm ?^`E1MiZi z9HAȑw[KcE#x2+e,> Em$H*e$E2?fX, k]ґadXbki xf #cq2B;y򢘪VP.O#-|4ul_M@=b,A7~\Y :$.σ)6\DW\""橝mYݨ08:NdyV_yk&p -^H;1,Ógv1Hb)8ݳ([QC I4h \5n@>`V23[+DqPC/%wf_RBD[\d{낊 g$8S9y>%a7,@GcRc*<*8e^Ɯ[+uqF*-l;ϖrc!$g'~ԑ1q?З9Eo~v;U3>q~\|6lAr3 }&"z@"419] ܤ4m*?i*7/)ՏC|z VkRzn4{EwSQsC*ǡ+mY]rW,| m_SU[pSp^mh]JR̅bJ IwS|~q"n#c+HiSM*xav :!:}YӦF}wWRІAֿ(tEJ4Lᇁc[ 61P](%|]>x?w;Ϥags2w`Iz qP7~%`nAPRd|,e~p0ҽEcT# :\őܮSo4% ciLҟB6$ s>0(Aʣ9՟UW 4aIO[w(t fkcs"J)j,:R8vO_؋ԜruT|xRŲﮩb8[!gwv" dѻ)<]ĸCp)q%E//ga^>tS}'kH :aJZEПL~2SF{9=u4ǰ=U) ,{q6[ٞ_G W3{q ' l9yc!|ϔf6̦Er:GMDzLվc֘$/}K?:%oX ,VE\nr'Кh80-3ߦocKӔfb>S^6%N6Cs^4~tC/җCFEJol@m[g?2bu cL% qjPa⑮B+E>jo|y(dV#3#ѧ;dR>YF!V;a8Q+ӬD p`Gjٶ770yQ, ҴYf`F^)hJ u kfEyDc`էON <}E?rVBsR6)!G B̸9u4Pit`dTK ?ǑnB-L4mvp+nٷ…\WS:JE[GIkH a]Y`3@mxGEWY_&% ͅ 絮HLMI<` 8TcҧE#}G(:rdXdYŧ?ϲ>q5庙´a͢sl3g`A D`F?6$vj93+)&J<畭!^GuS[^tV߲'3p>h@WQ"TMoTO;jpgm\us&Җ~(^ޗ3ߨblX\勠/HOW3\b-J-sa FRTCM6$hf?hJy_X.Ev>)SNneQ41SKXHmz??<;U8P l97% ?BI붌KȪ+9<Ģdh!k|Bf?vRXD[mp HL 4p$DOZ"=S(h +Ǿ=[)ЕPrb7lʀHŔWfw"ꑰF`MM=49FX4 gp3]Qyal340ɻ8K#GKt=¯/N#ʻRi<5^McOٞ,]:⒥PFP,}൪kSC[IWQu)ʍQnT-(>Y@͢1D(u!5wO3'ֈ&?;$6s2ՌQ'wg0V2rSzHy6gA)$ÕX$=Yu1Vy~_Ji4ɕ<d.G*l)Nt_Xw7{!setRV&JDl2ï5ZS&KjS55VO:4(եܕ2*DO-U\NөV); Xop9Ov#29-|t=}AIWL(_5g~4?bT!&&8*~Dh  @?t(mKB p*+05@cMN 5%en_}B Z:YJ0 z9$x0D5tԏ֙TWkĊFsNW2"6"n1=sl[/0U"8~~d|G%d.?WNgp3߮kͻy˓s~ HzOT:#i\O+J242ܾJ.e b28 AT8 ޴C}Xn TvnBu+.rΑfQJsXL%%qu$xyLJ!*#U(Ed@0&ww.߹m[ IVC'f$I=o_t)5oX4Tie/M=%7|>ai D*6&Fl MsDӖ0.DlHQz3K~rtYK>iDVmvo$:?"{J$9}2\5g6ITȶL|~XOtU~~{މ O*~Prx_uHDnG5-z2 ˇNR_27XkƑ(K |P A(h:~4W,y)"Tx 3xrCPs0o-kIȫTfz 86 {ÝkX5s6 maJ?V󂲅#܌nX|xoPHo)v;:kAzs2ږ3|ffqv:U* Eo= hR Жb `ZWW5 Sy޶ g槷M*4MXYk.B70'3?tokޖhuHqϳctst2e0O/72ArC;!/ܿuR ~4}N"f'6$B\'H1cj)Y΁'ađ!Լ+l(/]0,' ՍNMY';즖FF8xT2.ely}+ 9=$؜ IL= Ѕ8ݽOݠiۑbMkp[n"S$`^a A:$_Թ:\^N<'mgZqD>Κ?VoyЈT|Xȣ_Ҥ|tĘR|P!>!yBJ -f0JC@ {"ooF¿.2-Rp1 ;H4EbL~ !L,H/D7>zT<i(H|cy`)n3~=yH^XQԿ@oW+tĄv|[ v^f`>@ca+h7n6{N}48u6gZ` rȮ;P +YhmTe @ 汤܂F4m. A^mڑ xwѳid_S; lts#N!9`Øs0Zp/К\lvtqΐC1qix-0aRAPmV[ 0pNؒvm(V+X}_8zT +CuJ].AS qAI-6`̙s\ϿD՛8;u=Kex{ǹ!{t{0b1uŹDŽ7y-j'Z9mpo {>l~̻3%{5iuMfnaXB: tʱ4ݝ|K|ӝ$T1W֗/C&L=5 zqYr=0.[87q==36S=Jӽf-ē!"d]gX'6zqF_h #_epu7d` m`x} ֋~ȄB~upJJ+c C,FFwk[\bP7/?Y8k߶ xvUVfo*@q+*#YxNC?Gva\ոGt>2F\d ca`e]Xe7o!aP_~  ']rg ~zgyn}e&6jGuj7Bt;gѪ` YgH  C!e:sT{ܟҞo|,Hb>e?WZx,)R`:9umSWcưwy:" ɠcRǹS_`{i+o o(PTlEnw7EV(n"] i;Gi59l#bAZV@1SwL%(X]gt]ťpL˷ )k5xvLt+hBoU W?@Yo\d%7/ΉL4wHByݞݶ%aƳreZZX9^Ag!K;2wӣNHx2nR?Q1JNMG;źڱ=fފǝRV-Iy^U//Bu\+݅GSZ |a,&u]cX`R~*AdMc+ !E>v|U Sq T]WSZ$b`β5.-J *Ր&ǡ7y_7=VZtۺ˛4cpM^S0#??<%ӷDʐ!i{ 'v l]nՓ0G1QfWyn4˜}} }j,XS dKsb^xh})4# hܠzwyEnr|-37-< Xv41^^ *ldيUlEl•y4ϛ%ֻK hfX_CU²fbн|XYX:.9\4i^F}sȻM*gg-~ ju[ m<+EYTfJyVdCJ')zCZRGzl.{L3rT2AR@>%dO~@2 b8p/'H̶Ycj_xKo%dh)Oc=?sgTp[äfGQMVEf߼[W n3#G U˦t0P5lVCxрAH$/]KTԭ(H7 rNnqMd/Ճ3> ?1;֠=Y=U>gÀ&ͻ[GKYIa<7z< s%gwtwg:5K͊ZYGQrj1qm^[w8fB57oǁ ]5 +xn7qU#ho=4Q_֏Ѡ3ƾz2ٮqnTo YVj<,5;Hz#,<bث-n?6vupM9wum^8O9{έnk7jpɥQ9Ksǂ6km;Izm].gro+#_wD,7=Nq{0/GD ߦ˒~Ou{NSRz6. WIFJHПУjLêW)ywPY"'W݋Sx ㎟-RB6U⤥8)$N5MuYB?3"8#0CzYŠxOIk%J><]Kf/lI&G" iUhídq$lW#"íΎt=D6YGW pΙ+>bW~ amSr={5ÒthuM-3Ѻ#+qJ ܐuZI5]@Z!r[XEc}1D,M3He. QN/߳<֛]n1}ѧTR ?鞛&okI!l7zxJv<1U ~V}W/#P~^J+V|g_p5R6L+q;WghjL/L2těb"㠖(KԗcLMK11˴3 nS]8sZXO!V8>_8 'x~w%EЀjvoYμN B 8tez @h_X6#|)zAkLU^kf5٪>0X3$%.zf1cF^W;`JaJG#e)2HHC0/bٸ~oؔVz`)R5RǷ782|>ƁU_V᪇K|}G~TOI7.)>kZf* Nw- XL QFW; FsQAoQkj8^9n'AnMF?鯟IbN}P974O9"=6#zf} dj6?ordimN`4N-u6̘* 3yPhgû31:oMzoE :i*~/'cwG˂`) k6oK b&ő):6W<J0h ׁւ+{mtF H2:T!ip ˾៻fu醓ڂVj^M<ENOz F@ ب$0LWt 5 gc,ҁ\xE6+A簤,UfK]1e`4's s1_i]u醄c\*Ib5@ L;d`n*'s!2یfzA8 ?DyDvhZ#&l|œTw sn uzZz]KQxhf7Kz6,n>Pk} !ALPat' &.HJfb5-.;kdu .cԃUDXEZPQ5ԎC J>`l1Mjx63ԙ4X4]Hp1‹i_4I胏Dm17bT0*=xr2{D|A#2o<ۙu0#G|?:X)U *<6'V><3\k6wFYxis:Uz+c!F1gq%hv/lhF.+}Eݗ1Ȅ=p}Z31MKxJ {fpפ-p ['R[A ȅ@?C0'2H[d>q2g5bH-ĩAAncڤ~̖#5' nXn'_qT7J}Z,r,{=)9݄є!y&R넔vM c2-ODY:)X%RHAY[#^:eY' TD|gHq^GYX6o#fԣP"'1~v8DeErSD*, yg;<qk)w@ 7XQ8\ߐ+h:liTR,ѨqÈ!e9lr^ z[6h+tzoیQ6;۲ԀbSi@qRuúڦ0'ת.5'b6PWN_ub>Kvƒg H%˯O'I2J}OJam#mh(gek2k<]F$ *]C{U9 H"jVS3O]xsZ#*ͺ<-aZW')+--:c&z'#JSgј ?Eeݚ*G+R!*gVcyܟ1K&EBG 9CؑϚ#A#3S*n9u,ڿM%&TIg,VOj*q>YghyTXFmfo-b:)T낍pR;crKƱ(xT; џ(7w@ԁaЌUpݩ}RCv4mwVM3??ٿTf.d=QE 5 @ZG:0 *{2=P4u/EE) XuJOCKȄ9%8&")HY'Y;iI9p sTfQӏ0`dIvc lSV?)/k2 _bA "G?xɨU'u_)v~RKq{ Nw!Fz]! u@{C l _-Sͅt!c,GءU5 C]|}=&iM܉}*TpؘGN=j/ySV'СíIb5syO羂PP- <"!go.A, ͇G,v"wI+='OO'jO{Bx'y]q&sum_'&1j֮+^ڷ`JuK=ޙ>Z]7`WruO W@ӪW]6xf5J6P&[!?_^F W9½1C&? (dʳ AqojCVx^dp_; 7"z>STއNk=] :;1:+%viߚ8E@^;Hy2v_iLn=V׽";Q__.|aT1wbݺ<Ji e_F٢մD ~'jm` ̲֜`/z9(۔Jcs7RtcEUр9JULZbbPJ+c,* G 8 V\15 KgU2 ʿ+8C՜QiP ,3WEa"p_&9J*D]KSS6Dg9guEafS3ލkU+ֹS!DeKuqmV.UeONYO蜞}gi8:?uǵ/eH+\JICM4d9%C$blq)kkBViBϬ2hP NRbGI<ERThIXYYZeʨ o;wwdD*PJnL4FjzhI@#Y\rk5Qp &UC[Cy9 jjjkۚi,,:8 iCgġpk;[|k Uӂ8UQnIPx$)ƭ^ee,-KʼniOB0t\C\9 ͎7#,l29ڰI.PluךAmcTdjTol9-1lKϞӸeUȎWQag+D+”Rzn2*~&5ǫ0U1bEs>+k-#<b#wO9`jיhV.[#ZNTW1=F46;4>Z營uo:rr^oZ;RŴ<(q lWgrJܩ)wmm8T.Xג-{6ί"֛=WNzyUn9- Dޑy;hw%6ZM82D8RttAY3s:-LUVA5Ce-EF.~ *kEI(rz]e޴ $|Pj,w3ShOJ[ms&T =zjGTHzt*`שx?|<cFұ5nS_5}#Pzu?ZWڃ fT|,JHKkj\rF\ZcdIV}AcHn]uJc9fVUAXu΋X-jY>{dFhG׿-L*-nT16{ZלP"Yc3e>[Y7RrͮnV.4H;?SiS< 4gxe f$eRe/f~3.S;=!:WmViкyغGG 9RWjoLg/k箣,EYUve7^J_Fxk8'-Y-!b8/ Pq3?$X[ AcHZ08/+Rv00Ww/&Y6۶DZS3 E|oi\`(xEId%jr32JU'sOi!K OFƩ ox1w+H?"(k~L'x$F^8xwE]{@6˜m7;15gZ9T̉G;zqG#+Q*Db >M: 8,UU$@e'@>NJd#)B`u`QXBU;(wo˗ h1~ sLi@ JQ7@\j jD[F1.QIrb^w>A)YD ΁EJ,`VTJD@*BRSnTwMn*gs.C=3oid<p4G@vd Gh MPl1Y+~¼1ĴW{{{@8i 58+9L|p6/s9)sAPP7p`@A/ ݁Bn߀āۃ׀78W ~` ot4,PyCon.ɯ=sܬC59Ō#WG ܠSX a{':˩ ms(Q࿎.sBVLD7`jL^By%ʫЋ9vE"tUJ'Da\cZ6#`j`'t/ac= +<]Y j剴Ųzp% 򥼔!8 Ye'VctOan>]0=Gl+ KgY~XaϻgjҜ3N4Jݫ;@s ɓz |+LCwPt>q/~}yџenR ݁in/667Ԁ*ߞS3v PۀMa^ K>胃>?X&USMhAlJtfr]{(@UWQvҝ⪶yܮZxN«oo.B:׈uiR=CBqQx+S{Zf߯O`(FS;=.n}l8#`Ƀ2H3f5w6S9eS+|u}BK0u`~y^u| ;|aSS ]{~_L5㝡˲u)hV*W)M2*`T^SĽqف}.fO]^Ts_EzG됻b0.=]e|wwIN_`Sz6Ł3g1'`BFge3&''oAƜyXgW=a~O>J"ل܀p+Nk?G%yLK/-|憑i/g /~spCC*%H/}RUʾߺGGU 6aop?Ipm5PR꾗|*[I0fv#f%qXR51OTG=ެ8]/Ie&ʔ*g̩'\RP,BϬQ,׮bkS aZ^X#Wޝ)-Z_'qQi}is U /OIx\F|{F+Wt4wt'x)iS&yfWi{^B>NKi$msܯE\/)i>{ x &+pr{?ӻbGV@"F5mސT`^PfO=[@ 2K 끕7| υuojka5h7l!-իnnryy.a~}T'ΈUĐi7WvurTq<9#y`s& jj۷KEIaEb0/K$?B;M_'7)B%&PhVZ\fsM5 >1䚀tɝ.:->rR\p '޵>/$_dCoZ%=J=w_͏k k7e[de-jNrN|. v4_γYC9ps#1~'wVӯ i,Wߏ`:t/znU,O]#MuXߧa&/4ӔwJ_9t#T`RV}MV O}hpSRfowUN]h2čLuo&r:a߿A*#l.MIّ(aI;a1M8N iDBj <\N)Mri(ZËL&lW4JH+W"eLicT({;a) T"Tz۵ldCwL.⩞*ŕ{&S*viБId`VHM߽I!2eih-"D7ߌs6%jCR~5͉, GexlMFHjF!t8=biލd$c> Vi 'Y&Z'!':6E驔PVM_ħȒØ5.<ݗ!Vu-ֲK#UmCϨK.C9OsԞv QFO퉽heѽgǓm`g]m h{۠.w&8əV!mG7 od^Oh؝ٴ[Y6 ߷z?i^ y=ENODy +$qyO?{;~uq9ߗhC3n惡\}s}xКU̖jZJ0 wjh裪7(;IG<~jNAa @qG+,;~g&SB1Sktq$Tėv1,yeX~-=+gɎ%{Rvsam2MOD'B.W˺ &y]n.`tJ移LH?.MQJZhMd9xPvcD8;U͎%cC!A qQmףo A70`o ހ†0 ܰ!C VO=mwo?/=DGI=U-sWt# 6+ %vaS'~mgTx=nu{ܛ L)j_s,ȍ*}ߺ`ɯ7M#:7tnC'ozflM,;EM ][@ bDsbz`7*˛0/ΠDM}Jgi,;\8XinL4([TaW]@UkvV,F ǃs'(b&~HސP$9u!d Ix?'}c*bȺ #-`AB0\݋Fo4Shoem~uѝD! ^~'UKTq@\Oi1-Mpل!{# f$1G?E5[=oVh,vq-7 HTJ "8ˬ6ȵR1 oA*4uv%8cB/{Z 㹀` Jr8={H?d E|&%\V<.Tf[ΘBD4}{7af|ok|#Sp]@˼@0|X" y@Fo3%2՞ ZS8at}K(64^%cS)͜Ur d=D B|zr{pZ*' Ƭ ɽ}s-%1m [F瓯O;) KZf;he(O4h8 {Ps Ɗ[]Kd o X;kTKDzz;t+J4]%LcmbqP|Sմ*1\U^XǸɦC0wFW ׯcx9(W^!wegaHB\AhoV>/Թ/*Шr `J9dFpkFyH"(~Wef_XofL1 {-OߚW3t0K9%Ho NlO8y@CLaPHȃNB{w58^L-_8b\4T Sd7B\Sn5!횟{eWj7u=}ъw?UjŊbܬz|)g}WS-}YNܥ]86myup,le8f^]ynqp3?׼<3h͘>1XhNPMW[b~M0IbRcT c)_T @q{sUG/'npZ@mόE +Yh R]7[ɂYz6 bG7:۽E>sϿ-A KV o@׬ct SeΜGo*:;CFf`hq:,ҙī'OpnVn< XA@kgˏᲑfKlޮ n8 T@2I coI\OTGr˩^LA &8< ގ2x MjJ*NEmէv\\[xKQD[\`ұp ϵ^8E [{:_ZҦʨ/_/:0\qX(ͬ gY~ӛKߧAAMNWE'N.hR4[Ů}2D6ە X $b!fbK?Yzv?Yôܟa?0V!/A1K3҃ #xNf6 ?S#"ݘn@ uε^2rZID_{ =vT"Mm9FBKwIP|opvAf3MqG5٫^[6p`ѷ9tCU.#f~IGi62((ә} :GM7,hdb#$;{X -DJƴ&F V)}({'31/ӫ{Bj)9RfZ& Ʃ)P}YV'ɡHp.y o0fZ nEBX&nN;D2֔:W;@y2;BzuAT|{ެtDKa:,oN_lc }~y\lY~[E㋆,T qHbޕmvo%Q1[@NδD SzB?PAy,n7^؟D A'jQOUf#іj!JDYRiܴ(\mFt_*ԎC]Ge;eJtb{%؆%C;R@a?ǃL6S̩(FrվPMNrj:@a<IgZdO;oo[}mں_C3,}yD󪏝:' /\m-"F~X5ץT| Yf$C(_<2m}/vdb",<ؚh9ߛ"?PrLó(n()F!:fx1:F ɰ&1k=ewf+f.1~2X&){AGUyYU^C7v mcDu4 Qcנhyab]H sΜ{Y[]aO!%7WN͟x]>&s7 5M/AqQ<(=}bhY@dDox;DhImyb.FXZ`mREޣIn|mBo14;3k]jK@q; 5j퓄qo,]$n3ʋen'J+=#>;`F?:ƃgH1`9#꯿ =;}{msD~ F* <oƆH Md둼\4cX}d}@?+V>^!=ED,gH^4IC; _ /0^z2 z9B ?Ô9DL˦Gf Jbla.Pp fx`Hgk99_D7~j,=zB d BϩG˙XI\pm;q׃Y:<z LtdzS ;,l ̀=tr5ɤ碡fכ `8xn,uPt͉`8 CHct/(Ƴe9^C3hh|UQFOjZD+h^ڐzpƟi @A+Ζ#'А(hӗb= ꫟6s]q0.y^yMsHHbw -dV{^,rd}ϴSV.k(fӲV2I<ރ5S<x#pB81CvNA#Ebnݟ`/w(7dX?J綜\Hshߐ U;j>Z=[irSCR;OzFPMo rf`*< VNX&ļ'62'h37SfVO6`7 D&lY +Π jY@뺔X 5^%%Uӻ)*[ZVv>\UGw@w81? SjˣǑ(RV8sӪ]B*ћN*VLq[f[-8iwe*V\㉭ b~L)ۛ JjkR ᥗH|AZbL.E5֥ZkMbdQվVXX_rS;3F."rVCf>_nd, %nizkt\ʯh=oG{Y+"YGݏtW~] }xYɎݠ`SVUo:mU?3:`x4qpRgGKE5o@Ԋ.JM6&=SےhXܝkJ Zچ2`B#'eヘ:Mg>tqۦ0̒cOˑm "o^Ih/;VK'kCpЧ8Ei}{KN\Aߖizi)Ozc*O=;b7D淽0|&)V}eܣ+0tI9/lζDr1BxÞ_GIZlңl埤-7[(3!MUʘ4^ Ǚ'ht-.[/hqGvT<~/z _2# Ȯ.+G\W7u"zG;CMڳ7s̮}bq8>~ӞTle\y^b7K9^7x4lPqչF_ঞt_KQ[_M]sZNŏr:Mu²q*?%oC׮{n*3䮒;x%`֘~{eNXm- B!,Xpڀ5Ȭ+_ݚ$8GGdOlvfj_䂨ׅ_bAt%?EFJKXti@}Nh&'qJM庫;۪%c`S<~0ؙXX.|լ;}@M_hDdT4haں"}A JÈe1PJf66b@e!iR 20PΥ++jgaC,a9b~)GSaEQjE &x!0 ٵB;Xjq ]N%2eVkG,KBvGX+R[*AL5C!z\ Ձ5x: t'b2wضHy @ D N@Z f ]]e@7b(@Z8[QѬƇ7l:A5@8|DA tRkˇ`~hn=7>͡{A9 xĠvR?B |ף!l6Iv]h<'M\F:4=ϰlXIsX])rlWbZ_(<(ڮyY 8+MPzJ\!K{8gdOZo|? ֑FCD\=+g; mנA s@zf%y#ZD.sVp~>bz+Cm%O=կz(HO%gxc/S;^mh RzϡWlB8H/>7𾮚!B( ֊̌F=QGD.\$68Ɵn׃N =`{ipz: ;NyMrVAi18ݒI6O:=_yR'U˱'Mnp蓢n8Mҵ{<4M>#ًqFkknQVц0P5cwtXnύ OoYG/nq|@3'MMt ea*xe`,q@%<9㨢dx=:X2zoDHm1*0`6$Q{g@qsqSZ{Xp2^fxԞڞC1`efN.Xy3f7~W {Yܒ ͣO{x}wo#{nn?grWu9Ƶ ahdsƭ Fs'c|o_,h X|~] p@Og'&=5)3l(΍UW"HwJ&ZFᗵ4a@wl?(o_ Lk`H%,;zpl!_SʠfV4TR(%}ԙvZR.(ؕHa~ĜgG(<\=jc\-hI# vBUxUf|s~215( PL"B} Z!J1H!{ԉ|V#; bdGH/ Wn)%)hn񌟑LJQZ-MȦ lo*\ΚFBp̈́Jבؕ_ДPϠؕ\hy* KIWR} )aWYU#9`,iTD :/AQijl%ctԂ܈a<~Xw%CC[;vu K9!aoifBPhqFFY ׻nHz'(aW?GwTe R[<6 ӝ/;AI6zRP̍;Bfk2$o5é]ec} zv!$kCc'Y5eys&T,kc57ʲzXkRdA%v9?dTtD ~3Rod7S!"$R4$Zu8]˼,.@A`Ed>H^ Mji3j͔bJL6(m;vvr%}hҞ}0M46fIK,vu=Y^LK*G)[Z ǬKc5fg-8ʑ3Ҙ\ZtQvtTFE~)u41$=R%^ʢ:=I$֛I2Ik 霯Ԓs`9eԻY!~Ty)9Vާfy"xgRۍ:8DLT Zredg}Rnڒv'I3JI#})$|Zw=II2UHٷ,Sݎ8g5% }mY}Iha!u%vFvTلu2-G6m:fd~Q!ҹ1Gɼ.m %M6N͌rCl%_>Z%xJ '(* $HpC+n~TDnb:݂[A4|6Nc˶9j/{" 3F$Dpo*72z:^Ža ]ؤJ^W]%'[+YP_شrq"r3F+eX\IӊXT"C6BUwwqg E:tLeGT<R79r:D1d'gBDp632:A:gfE4 :&B9$id"yj]1e^EEC2yF]mE2.RC*6#piVJ2jq$E3ԲT\I /*dJ;3L31g#DBl{![RF etauϼィiq_헱L-*̫kNv-qP|XD#VFWSup8Q6__gz;|;8Ȥ>ߨwmq$B6$H(Q1띊3$"& EB](*))B*% [Y]U.kн7{>_o~4FbfI`޵P30JSED4P`TbP2"l`٭Y}D5E]]ՕUUTXQ#Lw5n[e2#S%Ց#x]K$^;u΅a U3}e'UhW_ϺwNl!G)+)YIu ^/ \ \0/\`\/\0X\ \/p4 .~gָbޔvl}VPg*v:6eo=ߠ#Pd~G%5g\*-e]@<zU}ASEI uwä|ϓHI2}7UȄ#CUy3 v/40u#LRwގJ a.LjNӕs;O=P?7F4me n S]Ir?6nIеv8Q[ȴd֢;v4Fэ6_LiIZfXK>qlOJe>ןacE+iZ7kS4*CVJ:Zw)jz gxU3Qza?QvG=~~I"z0IķHzI3ݵiPe?1{_V|L"J!nWlݔ6Nm$:jeo (%)o»8T0ERDZpۖ:KT Vv߽l{ޱlqWc|vD*Uv7|U Ŀz JU%~ROfJ1TzI> dzZ[ąYݝ4wP:[]\s%&(nz tUꆅ0F 0-by\YZP'gaS|Ҥ^| =mgDx 33[@5~5(bh@8T$F%n`^j : &' YƒA`~ 1k2*H-[?fp duδ<!S ߏJ4>x䎷(m> @x lH'K.G9`hgeWX@׫RMXq)wZ,y"lv 6W J;[WfԋX~¬;uT9R]YSd逑|ɵijv Œ,}D^co*Bco]Dy)#axi/Z掝 DoV 9Hsі!`2ODnڔҬ.b,:'=۱tZ lt.5|%]9tt1ѡ(d-Lsbꑌq6[5nYR*K!kg!w44 g%Pݛ;iTϼ9N gT=( \.kRnqXRQO2KYuIJP2uF@.Iy NM_>tZxY!m:TsٟkyWvPGeþ,洬Δ:2Y {us7|m,x<w`/P[[~}\nYJfl%yK_'x Lr % @uCpCB M86{Bf؇aVg.6 e| ;IyП%|JH\q1$|8@9@x(00̠ε CP!Kпؖ#(b*ڦ"#No7\ ՖWd^b0ϖr(O ~(+2VƴԆË> 58!_ ӨxxkRpXE^N؀05o]j!mVm, \H!Lf]Uj/ëvC4I0ìϵ|LN85çWմe|suȽeGc1[ J[Q0@bvkKEdFGV"4b(5D`Dr~<~,(dm BkmϥwER#zW=aAk!M~ql6.RiU]Aa]Ej `E9Y) ^K&s1xBB(uUԼb@'H'd2?0 TW+P#7f h dV3-]~d5i&J]ZP`HO.fe \R'[9gQSiA1ZN$٩հJ:b @4'>2O)>$}eS+’҈E##[L8~mК{DW+8b65":G8q择(4K`R Y>bUFC[e+P515r%BgEU? L@[9KJ[L%הNC|o?** i HN feK2?}^_UD.1q.)SVlapj4tC|"? jxrv:[FF.W8)(R\}0F 'e#)„#=rz0ރȮ^/Db>TրJ`[DiJh7 Ђ@R*#%Y,葦"41a,i*ĵϜpW |n!FgM;G%rPy*9R|^&3DxT$>c +T/3n=0 [cZv"G/rYtZX 9kM բ'ԇF }h>՜maIZDuFgsFyJlؑ0HZ.FUɪ$q80_ZS$@֏&0'I7^5sf5T5b JdʇM'$E[mSZމ@)䶦xkoMwe~! 켢Z40KVJLдN(4F{M8yH |P wҰ3n= *Vej/=VUpeq'hLʳ  Sͭu9^7No*J /uy2aoXS!)j eUh*mBy·fbTݝݏ '*Q9!,haְ1#)Hϥh G0f(^af68/ZRRJۗ';4RņǤ5u:d6baXM=)A%J }nPhЄ@=ø"Z)*RWurY*#G9K۬Im֣yB+%|FJ7/ǰU_355I-G*rTpt?$ c4P=:=cC@6|c0|:@t6H<|h @ l m3) )SLYPg~ѓڦȁ!0?9mg?=;}`:" g0S0ֳ0H?.- 07Q=utAq Y@NƖ*J`' )E\ЌbĞlWU?.Bx.p \.p \p! ] p^`p a] p_.p .|Ҩ]4 "eo *eI)7Gcm@e3M<ֹu=Y-"&#bRӌQD:Q\|#bRU#8^"= gH{Цai𹑓~&M3dn?b# p8 wճGmGq'Jb}#M.ZOE 9g=!ҚieE·mAzDQg5'즢zCg!soTYH$cG5{tzM^37{?H4Ɇ±ggzT*͘\?^Av}bmR['2]syYIFI6c8<`+n';ڡ<ٓ*c|A;NkTzȯC~7𤚒MJ4gZI 4>GЍĘ7 wݝS HEv&{pH&c~zz龺M))zAl 1FROM6b=ڨuEw0\#'9dK\t[)4݃N{ |wQAţi{;Tu( %N[noLαG,[{ K"P1%_-E2%Rv_4Z[l3E䗲51hmA AB-ˌxN?bqrd}RL̙ZȱrO^~dbZݪjL#AbdD1`>1zTCZ֊,ac}@Bl@$ ]ZS"dY*2i`D)_W w *ołx3 Cxe?y8lVUxO= qhFdK8מ$~3Uך&jX1޼aO/"e!:51"3݅R 3!CCh LCQC%!^1Iަj"+l3b1/|g=Bvdht̥ me_-9fb*#ye}ԌW6i3Z"H&9n]Q`k#}EG˛G>_K :iNS55rdtɚFv ??b-bu'wp 6# wS01EĢG4]0LTYe/E5z MW!glKȠF+m \,IQ6mIk@ n`6X:/2 V#LXϭ}_ Z&<Ԡ5khĘK[y^ =gaAY CYMMU!Av >= )0:t\''גL6܍d]k)(.O׉Jtl#C;&뤃T2%aE%72$xJ&NVϐT1O[N#B/4|#'pJv_UI7=XڌVѓfJ^R]mD*b)s`#n ON?1rxh25LSO\cjatQ8=ySn91bK&x¢9nB 1ļuanEZ`*ԟ$!2) S";J=ep=i(p$|yJH(>(g^ј 93dUA/-t4V3&_^4 i\zAxKO`!'4Xiw6#H xR~ ^l̻yi׵uRjOW̵?YDhC+wG؞rUZx,CQ7gkT }Ʌ?7Uzq1&jHEdQ~5'kǹ`N'>kE'TALܛ,j(HTuScXJ[DZDH3x M8d9$9 jw8ڧ&3`*$نoM/02M{)_v_]zat9c6_Xͷ|wY^lȾ*2]0LE4-y0~#j~4g@г͑9Iqڱ'Fc!Pռ'8zʚ}e0:5=!J+X _&DMlJUTjA2+t15: vf[uMsiAʥ]o]t'1 r8' VL.4sOiap&a( vU>oG+%IE,ʳg&"9/$+$ș̗ )IٔF$I(hb)ESQt |Q -O-RXPEZ @TZT I!g¡O0X!m|AxFS<],5JEXe1>$gU$C׃@бy|TN vl!nt@ G`ZZ^h] oQ<.zLj5s?eg(L~ OzdP_XFީɠcBS#~.M$/(! L@f{RAAFY'f%5ED㘈]H, mza jui<)vW؉w+ Wi`:MPCJMuD7ĥu9 HUG nDA&ZIT/F>C i -{S Hr FKl'}Qᆡ8t&BtcLTsssVq |dDuă^sZ$-/XK,E,0NؠGāAV'n{50YCFEx6`ocF;DiF8}g˜ E#&@ӚRDE S홈q “T#ry">zЪP˴ICzedd1(]2 Z֌wѧ&JZcZ" z`DGQ IS'>`@Hɕ́~hřwkR)ROKɳMM`V3=7Ra _}`[6ڙ@# O蕋aPx޳J@X_>7?";o7ޱ `0޶*:gmv6\/^8+B-b=-QCvsj+&˜P_CQ;We{Bϖ!Nqg ڠ~Mdȩ'S9OKNe?tbObOKGҹ;hU)v6XzFC6}=o8zv:'f#D[3:o薏R;y|r"~ Q/Mȉ-88MKØ!Z\"aHE&p>iMxaa5ٚdZBtr0}:q.4_iҸ@ ħ4XώmAkIEOXUng8d"v&Y7'AV`ڬίT]P2CYڜf)d?ׯ֦Dböة㛓P ! Yed,xWkۏ s WrqS6Cpe" KK.g}|c2/T y@JT8M0`jc,yd`*&GUІ,bOԨH2v@f\͂5C KB.dZpq~b4b68EͫPMLvT7 aؙSjN* q.' \\+A 2LgDrBHjNI\k8-X/Y}<kPHx5?H1rw0Cb!SIFɢpу- C@F2%VՅ_i>8Wu )BLkEŤˎ-?,* A.-`cG/јŁ*D[*C9IZpb,'Y\̖{xFZCzǣN=Pv,r6.]䴓%jġDPu{H6i\q18GH&Nq".c)ɰz3ęb^"2A2Q+#*J (0mi?0}%@4TR4JQo1-X):D3ɑi^|׹SkPKD769AMCDԞŧIt+Noͺ'rIBJ<[B5B_%"t `1y+\Ko(6h =g67.pr *OzO8Gغ.(P&4K%SkZ칓[&S*5vMD׉GGfLY1OFIEN> > ] r%h;pbm"r&A#^48n90ܹ\p2Y*98"Γ1d . QE&2 @0К 2Vw"d1A,pfh*zf^\@T6D'J&d)a@aafz།<>+ /(Cī]E,-F!Rr$Ί.tNᮙ~Itx2KO.Lʂ*j0||ٱ+xM#+#(BI8ݘ22HɤH\BR6i&+T5d{U4 *jRWNnV JM/(劖=#We"%9Z-d@u>l[;p~#ax,x;lLVU?L{dث6p ,m]XէR,&,J.p,a - \֕  ;@0^]"^(zL#VyӅ9ڼo|jd O*r\[ip!jjRA}VBnf=LUot"_:cXnP3O@v\k]T+20` fd+aXҫ7~LH . j}pqot*8>zi-V th4" vSD&MWCփߜ&gVcv1 w=&elBjH0EcX&PBϙZ3TNW~hYԁж]Usɯh{/Ycal;ޘZLJk1? ljV*<̎ńZ3 |A8E-)NjөS.p\lf+gq46 ide36wl3a+>~V9 8+I Z3qVPHaMY뵨uydH{^>Ub [=@rpWԩmL0A ܠ"5KȞ 0Qq hF#zQYUbIAQ/Ѷ9sw]56pa q\b斎#+'Z[p-3B8W!(zs"P%oQ;`Xn+Нsiphݪa4BiM @>:8k_ث?A=[L2PP^՗2F+ɰڪ&)TH(Ŷ?V_)]$W/MvD;'o&M$T*c"95^NsS)[L8uN^ymy >`߀@<|a(Hދ] q=>VWB _(Tb3N5 F-UM4xTv6&-ښWgyMLC%6ms2Aug5x8fB- W7x/ .y2 A/C8J.= șM~պ"[&Q:c1jVzkvۄbۛG"/5wom ^yh')L8s"NZ ұl GOPNj't҅Qz5S`|1;JדD4R"l~QY`My'.[&6+*)b+ݷ#R :{mfЩx7z]HE]G(}]uPBnF¿ͷ!| _RZA C_U7 PNW/ցvMV Ac zYnl`*U8 _5~@`{7ڡ$*ȷCuyC䨴t`b /XHͶQ7#=*,hQ Re+ Zc de,'-DcaT2L6\RfjUV)֭ڼ[rCL[;DjF41ā*̡kCBdձlg8Bj.=ErmXjnr`/9tNwv0!!J9<ȷx4ua!OP8b0!e( m&hR̨p 1N+&f)w}bn%0U,hoS,gk,mbM5 bz@Vx iyrݶ맛i6.×4CS@ɒ2Pv!e M`48G0Go;Ino1:>0;{8jj~weF!}Pu 7 dp昘kCrfB8fM,aW|hQsFQqj,SFF?*L$^an Zj hD#F9$/ٞ8+, VNlF5*Bl(hٸ!] ld(,p9d٘:_WѲ}jQk`%Y Qjh51]Aan&/Q6l L1קb| YOa!YM љ\ge䧖$5c8hYgN([ySgSPΆhY+ q!ɣkS1 x;ĭ7#mx!FmckƂU< *8 !6:%u:-BeW{xv) 9XjM'ribV[᧫A*X 0p<my܋f652iY6p@\e_ } 9 $'Q^jyf.TX@jzv1C; Z*mi*'@* ?6ǤBT+:NN!GmL`ܨ,n,z-rF@O1vhk%!d]C\,p@CԪӴmaBb|P)^^b6ڪ4ًI'qѭj H x| v{D[X6 QW~{t/ ;^`еo]D`,l*-w~ˋu0Ą mYQaJ)uy!֝&/`Bo\YJQ1 T]΀ݐ4 ` "yp6Dpȱ_ !lqЧ(J+ Ǝ]?\'pl%uNo縅I\&vDRك1it@t#mPo]j?=VTBBHR]ղeMtͪ$muD@;5L|4^O 3]RLOǣ)MûIǷ6zF!S-mQ0맗i{n%I-ݵ޵. n\ o P38L)xkMHXg=<ߔ=k"Ǖ=$4Ds>_zyJVF % Aci|O8x-ί!oxC;V<)rl2%afX.0W;"_a8,pܶxN rc7-Ȅ~B;>*<Gl#R1MAdDpgO@jn? ?ӱaU.2$f ``  }Lsۺҍ>rY[ؾ܆N_9G$P-`54UqP?dk#O3Ȥd`P1`i a8v254qp{^hϲV{7[DEyzE!YQ9p* =QO*9p "d+%b $B^:]qՅ}~W.zf/ HU;w\<6me:X\3q%!=/[6B3~*rT)*ϴ٦oV W# %A 5wAr*S?k=)LZa8rou-ޣAb"{^SްԨ:_~OgW H#jsū=uonQ`Ɯu?x&c);DdP#7JbFbےA&̈ 蝍scY@;` G$ e5aD*|Ql/D5^;]w/T5lu9Xc/3M%z7uF%Z!]#]?&L-chn@tPEqY`M7yO#ST4tV3-oƝs;O$yR9f14O5-a.dsUތaFxQ\Std5 iv娑/|:U b 9$e +u_ U2>RhS5wjtvTU}? gxT7Z^)pלJ˪0o-|fn1C鈌J؟ha!2b8"?)mW^V\W![7*"ub N|gt5}ƫE+F lMVaKxз+ 'y^t8hnQk;)[`NĜ;MAoxt [=[763SHB2a-.u0T|쒎V)&!qMFXloa,m+>mooJ!:UPF] *bhRAX_)hcV_}0 %׭o[_15+և_'Ͳ?ejj[v|o,lo"dj57Y`[3v{I7`-n`YY7J 25HִIڿ=NJmB6yD'eUo36%+Px()2'cFX\ (Q>ѻn)8XpE]zѸDޝLz] ӽ+>>M)cfe+#&boznlN+4%#] )s4Eg:Ln(\#Mo9uO@ ?G{iWbpه:ޯhE2quSe'+F MnJɐj`^m@M NViPQn`5 &!1)+:L`+PmuuCXX_^d *׏ [_#g둖^O[Ғ 29aEiHu:`;w'4P8n9ko~)#VםXM4x}[رq@Dw5r)^_N#.Lf'BޫnTz4c%ajJ}G̈C8mBI+ H[Kqm/jc } Mд!3ѮB`Sa;~ڽԽ7S菜qkU5sU{lhz8e !{Ky<b\{E;^b^';sVkGU1G͎fରN"LĂܯg.˼q)BҳW%}~рW;wIYQ\N/Жb3e P[QϛY ׉8J,%"k#- ~pb9!#w]s}dK4t`f t| ssi]nuUH~ѻ84!%\մz8i9MxSeh ՞5%S\'iB~K+Ys}_ln)Pwj]*~nϑwOI ɧs[66Q,9y*$i q:(|1.Fu3ma{`66_ƪ`pe[(.3$iBg ;) )+ߍvOCEtWb ;֔OF)s'qp,r/>ԥϗ䒝;!s*ڋp |zvZ/բ+ǖ{/kh?J䌰J{ V1E(=J Uܪ"ׄWM$G#r;rNmCh?=qrB"yQFnLGb*a~kfEayzfHP=`Q_ , e> qoN|FĊ K8`ZƏ߫w7rmyA\!Sj!k/v'd^Yѹ!upذ?#do+]z G?&MဤG]&2~ [L%XAym*߶S|c IrԌh ؼpl/#%Ξ=^ 藺M냜jȵU NՄ9t\|TNBGg>[=J0-4;p76+;/% nCNR/1m-v.s֒r(/v-j/L"NoUMx=0˃Gg8RJM&4R YྺŒf\Ol_7/>D#".&}Qa# +iO/yjS SO=⩐*  DV7:u8z0ؼn#{rNz5VT"5^&.yT%;AiyK*E{)Mk^?/Dz۹9',cumX%cߺ_SkPs;mQ!?xZUi_`jaςڬe F!r;K z mz`7-EƁu5=8NT)5~],rO!Z h}+~sY4߱U{ƤؑsIVI{'ѬrJOśbW_Yq (ݽ?-\m;}o3w0u7rNN|alYД4$ȲA +Pv, `6nS`:/49(^$%xE_Z\/oQ;oYF*HAcjڅkctpgj>n .h[gQe ̯XDHܲ29Ñ(پ_֯&)jpmbk]m#EUkwo>Bp|7" *=Sogj kFaAzjN+f; 1yl}~رBP1nir U{7zօՔy,e,Zg'h {Ui=5P9uFؕW')`9 AX< ;͵]Cּ fBx*\@bJ݊&ܥ[~>Ke9jCGv~]Sf+q`R& Ԫ0mV/ C%Gq?H|wx,8v `Z `$m 2/WDp{hR83^}U0l 6݈G5*.q5=85%ݷ}S aUR:09*r㖬#17ķ,Ejv"؋;B HS /*-nYء1-Dwl֣~7ϝ-hM/Nk{V纤0QY߰3ըIJVSNFj_7`)9x.`RsfŸ^/a(/h+bNۅ)GG|Z` K:!wD^ k4HFKDy,PK9 ߭L4QR tk#u]"=u7'QD$=[jpp(} دDu N}B_7@oJ(Q2tY, 㮱Μ-lMJ6%.S?A4!@WHFd5<4ڏPxl JڏfW Se9#)sl?oI1NIܻk*87@͍BIg/2Ke63\ 0C)͂"?O`TtڢM=Um&nO?"8w9~s=Z>ok7ov=L9rnld!&b"jxAJfl÷z^姮=Y8;kwkqg͗#6Ks&Bsgj\"ڃ֮5ޓ%H$H CY-xUEg)ܶ&x5Nx@qP(c̛@DuEfO_ N[3hpOy#È͜\ڃptl"|  a'5.\IEOeC߃"+80)55uH&.4̮Xe GKcjdtDTKF%1ghuƪZIO(JB=)z[Ca^⴫ zr 䴔'7oB2˓n_1׾YƸ<{a{ t5w|C٠#睳^/;3B4@['}X8l,HD}ǾMErwȪZ;=S&O9:QUhVq"@V*Im?Y;Q1Ι*?b׳F:N7~KXKZb0i^2 ZrӺue"a[v:ri“vMs{)>ͥPl( R_7RIY*k\`jGJtJ`E$: wȽBXuquKo(kAJ)XR$*W5#wd$ iwg&)Qտ GtbBw{yff}rJCD kILlѶ(z 뾮C[;PP[O)̦l[Z%-v%>| D iu<ٶ7\-f]IilTc]uLX%P(3`?u agSrpr1]&ifl/lZv%h^~i - 4'Ps۞$Eӭʤ`8BOXhҿ{a z[y6J w&9#:a;Ge*4y}k19 K5Z򏿭U|15\y<ˇ /zB(I~LA4Y8W( 5d|`Q;u{q$0a{v*&J_L7OUϟ}G*ʚ)jko2O-Ae󰚎+w~{@p8ZľP2EJGP1UȾRiCKIq ~TgVم^֬VsSEX{my[Эl2n~VH-$>ƦɩLkajQ9~ܬ$Y=֯@ӰNMT;/V!z|KJ^ ]85m^]a 7WBpԌg(bKNn9|s*ζ ]uYWC XU*&TeCLȌX@'5YyatZ!t+<%kSn!U6kAӝF&("x6Lo/lR;B#/Y/fxS#f*F j=mLn^Z~/tp(#HF&Ab* }]3jwo ^uvuU(O%ҍ||;ji ?QVgֆ&*&ɢlD~i2zΖ0ZR$\d=8"sm48BH'lI#]7l+5)Z,&/@Dz&jԛI<eɤH-X0;=79*"bE- W^j1MϫbO&#b0f-.tP-᥉}M $/i]($DX~XU /+ S8{f\1̙VT$ BQk+ܿR2XM\BҚ^rWvBΟ72unIxg81~`tjgPR{4{eW UQ*\>|B͔K-F/+淃 %7ߧJe.I+~ "A tknzFOz÷z~ `t8/^BPGS.݃ybW]~_J3\MnW}P( YZd_Z2\qAC&Ϧ\C粊C\,KBA;J 7l,.2NV8luhAΠgAO|9- p)챤R7€QO-;@ pHz ĉ,Bw3ufb0ZP N?U*&ˆESCLde+L2H&X_=h J9):~Gc(Gu_=ԨӖn@eN%Me*j^)f^J4SYfZK?1B*a*WhO-{N)I֚@tĒ"z2ռNկUo4~ :a7hcEG-{J&*옋a]Ǖʵo OQGD(dr"}?fo*7'X<]TJΝzQ4ܐJi˸&dAlҼj!C* r m|tqGr("Ń koz04  ]kmE7f`u삖``?f= ƫAɻN_ z$p>|@˖Hdcwv@AqV9e!d8&p*z?c% KՖZ'^H6HO#t.&SՖHL'*$|pK po@%&l@7mҀA>"nɺٖuG;) q'L;$Ch0J12epFJ!<&&Լkt?+$DjڍCq. ^[Gpa{oC(5w`+05@:AU^X 8B@eJUx?Ec,;kA;BoO#v^\J7]Nai BIP dMɅu`>`eGH9yQn}J`7=.CQHk zwJ'\JJá_-1szJ!5$iɮ[tyʗ ~~''wv.\=ۨ$.M|J Fj;7;RCIL8^*l=u$x2DoIBSx,_ƶ6:K:Eu`k&r$K^lY2 QNrWE#jp6VvScgKy uT لP7hm挨aX=NztMfw 5ԃWo,$:ZgP74glT7wWjP*~AnFiy -s\M8J#_HJLu7{ G7X/g%/$BH鐪*uп _C>~'\Vєe= ٤rHΓ_zh*5}PM Al+#ᐬsPihǪ|Txt42ĐգOaסiTKчNX(H`)~DkrI9gˊrcap٢CZ54=iuyh)]2q/Ot)v|.$JsB|7=x"zٕ]8w2y.Fc5-)lDkt+ fMk[UcjxI&yTkC=h3E)W+ 뒥MO9 Kel^EM^y G޳1;[}eG-u^M[8C'eQƖMKV=Oja Z2; `;{Jm).+AZ@[rC_{O{Хpň2[KJ<У|%x N[y]N:nOVc6ñ~G"񳭍AMQGW{՘8~ARF-o{=dzٖ 'p"kwE_dAŮ&NW&;ljPRoN/D{*^31W7B %\s rBpB& NDܧ!٫u_.q' Ɂ:l@rb$ +\T6-Ҵ^ˢ-p#d?42֝uqR}3 +3f.; ӎs_^ uM^bdϕv[Nnrb &ᮦ*{D܃1!jbCnX E$_W`L^WPe͕:PvS):;h_9]JeuM-?mn Ȏ;klBwuI ×og` jlӐ03%؇\Zj;/*ⒹF;+R2 Ӵ}܉0l=_^8 RuS]!ߑ!yH:יYS#by;4~W 鰯-V'[Nqz?%8pA97ձ3g"wp@hqJ&08sCg8F"wb%(A wo,][ד=bZ3,P6?'v*>^bN\P3-L{iJ8ŷm@~M2Y_{#ߛvGk'=Ly!ޥ'QJ4QAXP7`$FCTt7n93}z牝LJu'Zz>Cn$4A kn(@aI?5s Kꥆd14'R-YuHi<㉹}$yn]QmǼ]|cjQ={-M* "*U(> S؁*"JNt1kmSMȾoZkNN,jЦk 1.l~hLk2$@1$/EL"%\ <:IM eJCd~:? ɫ C*k=OP^%њZP1 .='n9qNJ]X7DԍL0XRsI :'ѾH8k7bGܷğ=~)QS9P2QF˟cP[?vYH8cZgRs!G$vCJl\M1bXbJ&;v$@t 1+O%7'10 Y9 k}g7WR&)VN'yE`Cz v@ 9˭^z ڙy1)Ew/fp/F_}gtI8.RezX@UFa4.tgaҢ`. eX.2hpp̦E^ʾ0DKU/ T|HVLN$&B]@&0y7Wc7X0gM{2.%>G{VL(`*h@Za YTv@#[Q,u>jo@7nD:>%oG)e)Y9HSU T2Iݧ:ʹwwjDiT*ׯc@bxdX ۟]t_IN{K"4&1GVp &Q4Qy):;0ϳ "6̪*xFw' 6pyI^]A@$h6r&d8ӲNdɻA3r# z*.8R lwCdŃ:YJ :b}pI`-UegY?[W_O 3JFd^+#!wHe" C}9{n‡9C<rj&xr#ۋ( D(0AuȌ8`7vvJsqa @Zͣ p_پ;4=jbqyxbLsnJ3&dWB#K~J V ]XF֣nMW}@ ;z^;*A4z/H+[+[h&ӯs՟&mYՈws$w0s{bZC?孪 {:rYM~ ? Dq'm=%ú''ҺK483BT;l 6y vWl |Y7Kݶm/㭓/eNəj%IJۓѣDSlJj1Ni3Ĉi{Jԃ N9aJ[ ̈xV 1&ӵ+"v`qLL PK 6Lp"F0ux9&,r{iiQ ԊV#[IHACp~Өc)Wzn{{UK s} )4"dD[EJ*9ҸYL4NcȭG{Qۆjy /W*[JZJ!o$WԵn5b &K-jaM0 pXN֐6Q K$8W% b/{^Wm34&cF3NPbej{@5SٱV(ǒ{U qzcȱTGxu&~z-<=Jq-~m !7ϸL=e+m]zuv%)Dk rE Shҹ̍Z6+k-|ikkwm\m&[7]hv mj>*ViAJ_[q)J=)NKY*[~xX7uؘjښϓmTЭ꨷GQ?DGGoY~:1J<Z)g!lz|%W8[s1yMXcs"41_L ~\j%u&\CڟFLzAgy̪dް z`j&VN>?/1-/@xؤ*6 -+p(kXW0fX``Z,'%ؚerIUm3/0CX&,}98}QIk0.f1 KV̩tN8at+ٸOy&SPzwg+ L`+ӽ{n\8` ~r}{{hBL!4Y9G#OTJ-W΁S)ޣxYZM^B"g,DơrK[5C2ƺsj`=[IsbTmۼ+!Lly6>j4)HH sf(9#I'9B`MƄX^L;GJvkIwcRR G 0'F/\0B˫`=B>o)U^{[pT?8m4-Bx`NWĤbGzB]p0}G7!6+(;bFc%=k:?N*(溘-=N$}Y#סCa{1N`}+ $ݼ* %KcYap o!(`o aXJP]'Ϟmģ*uQF)B`\Z 'މa*I#7%pI}Ve~#z7(jR ebQg/~Fb԰]ƥ0ƥu(͌=s+Wʄ_5mWźCЎ]:އY'gDbږz-Fv>×?F+nMBOŖhǭMB- Zkd#/~"T^V֗$ L Ѣk m)+ph?v/ƕd/I[Lm@? _c-= :CvZN QjGhtSkk:3O1d:PD^:@='m(i+F\97Uܥ3}',!|" ӽ+p%t7)^HDGP6+k\k-1[ʖyeLGHSW׼GRU!)XXlnC^ȡMb>3z MhTzQ"j \|w!/E þ99(Fw"#s;*V{'J߾4E|)hBTI-p;,ZOڟ l p3Y zc <HQIl;q줞=;ĞpΗ]Th!󐚗-4q0r۠ў4k7}W+F}JVvTi] F)쨦{$SaD'u<z+վLssr\r0H 7Yj cOu=t'#0 r.(gP$e?r໒o1.[?Uො|'9iZ &ܜ"/OV{q?mqjd CyJʩn^^fmE{SbMOӚ݃Ҁ)_u-׏`qZB-dc^ .L U^FZe<Ӂ%[ AzWa!CR:w&#ߝ[I;} TA:Ӥ(7R>pYhBUz/:^'B@ ß P˾F{Hf |򪞗'b2}`yϔC'Tk,O O*v~ј7 Sw}߾"eA2BPmsTž^ELCWPbS,S-b(>0/@90+Թ%?%p%3ON ci^?&&\iܚ\K~ esX=LSrNg?^=tѬ ciH)ZrvElR93U1(s<;Cg)bD4ҁi6Ȋ{<IJ '#ŏ6W Iӽ XPQ7<m~hWcbfIv2;bM4}{8A>l):CD8K-O?Ov jtB WYa'ZLI$&f$?et/&jYI{&<d``4<4Ss3N|wB$S> ; `JlF07Ϡ\i%n u9Ԣ@H.$N_RS }O^6|%f6POq~ Ӹ C~$CXiXZ#BbITŠП&õЯMz^$*+ *Q2nXM˶NIS<{bSܐpjk$-ݠT*u)` kN2OSDlFݑT?7 [b,`4,)קDÀj4ܜ 5[IQ⃶Z8FUwiòB+=iɦ:h#Ds{h_lD@,gcn $alN[ °B^[WN@)O39e\anqڔ胧ؠFWM;Ij:ɟ@e TuEgn߮%ofQlQIO& 1%7{8&oMNA 'X9B' l NG_Ds-5$qh/0o(/0}䢪,ZϲFxUIHB>nؑd}[@u2ŷN%C|lu*d7P[N* ёG('G!{ 'S#ރ/_)FY'Τ=\?rKM§nAjltǡ-p}1p?xvuG),eJp1@-4@$c88Y_ gmS ʃRGk*"ʌj%=6G lhndY PS$nHTBtXmW W%Ԧ>yӂd8 L..iGԡGpvJp#8Qh@LI5@Jx 8+SQGO|%S>i -[|7}aCU oC٣OSf@ZQ+X-bٺl %K uӬ B.QJqvjاSO^]'lv jM5)äcc?F zv xq=BÂ#p5V֨q?H@9t "͢H9OV(\$%(}{ ZMbbt*l/ΰ5V(c4’}& rF|pңC(Khw@dKⅉr֔ߥ2ӘxSvw θt}dĐ/Job7ۓam|s\E' z. ^`MtW|QT0 U&Vs_8tնzuk :J,䲚E 4 ~JBrשxFh?ɾwWZ9Q"JV8t!qP XO37p%t! ;;:>&rW& (ge D"^$~:>93bAhUOar}^ ̥-n("m~pĦV S"Փ0EȧU^F4P!/)>2Њ8$Yz ˮ$;"o[7!5*A$Ձ(n$AE$a+h+KM<% Ɂv B>ԍ1 |ކ8 %LU lHHܓ\xd]Z?&7~zI?mC`5 s= g24Mm+ikŪg7N^GaK^3@)~;/`Azκ4k0B.?ŕ3SUԠ9hy4}W6V4E@3+`!.4dO%mzEԸ~~sO;Ri 40uGDP~BALEZ/-SL6i) c9KYK_QACحg҈ Mb8ַׂ^U B+@̰UOQA'G6fO/+b I_. {ڷJw^t}=}RF)cVrѝq״ּE 4hH>=B{}KcLC!?C4$2eJj5(E=}@gPx#7ua(ڗLѹu=t5 ="vF'_; c._I%Ex:P/ٸSXf^_GLݧӫsήoPcrup}Hxm.N K}ˁ5:![ yKy 0 a,OKaJVwqz`j\ Y!93tQr#Ce7Z6U&s$35ooU[3h֫m7ώ/4\Ikbewq PqZ4,<Y 4z1)b'e1wN$̻ya|TT:XTNOVm$*|V6s{)즍 'RlT*6aỮ|Ӱ_@ VyXEٱaof$!Ow]1di6߰U1] ~ >Ur8ґgdGOK \jh iŘGSBb'8?!IdR4 jb\Frqb{!dĊVLu+ɧ*7,Z'H 撚CV_'<ۊn/OL68n@N☙ڼ))R?)(0Q$K*\M_5$7$NuZ<&^%m+qNJQ8X Z9Qu62.l%J9a {쥵@PP2IgՕxAegRNBfəAV=P,>Bjxj?ڙ`ƌ/R7rkU5Nj (r\6TO;_0rqI%UƺΘeB5uz쐉M뜾a} b%뾂6;HI'S`/wc~SOzrl4‪u m݋ޛυndWLty1㢸ٟ/il-I;lo^C~JU1V2xYP+~b Y +F[x⒗?Czsxt Q6%{|`Dمqgm:a:I7~bxdxYjh&*NmZ߁<óx9@Q̻R2?%a6;~d& )փ_Ǚ|{2'{UʢCf !XLf ʤ\3Fx = I {e " ~ipps+Q36C]ʠ'z Z℥-fvOM j+K689wI .pIYxߜpbr+:~=ROn/^Dˤv|2w𯃙c ,F:qpEuܸ.Q ,y.Dk-睻bd^x=J<*/^ofޑ0d7"$s!9,ϳc YSfP)qɎ=FC-Q7FFk5>d?}n8? /Ijܛpl Z>ݴXUz\ \Td]:GD$F<]p3H[[!$O fs. EX-?msGy$fDTSZSe_;^S.)D"}gbQd%V?vژDS֚B%N961쳺]84VdI00o/@ɴF6ʫ*I̪~-&X!Pw>ӊeL[+D BOSj0m@"'}r,71mf"Zm=VU 4_}үఙEJU]IG d&u+9k#*&ܾjq3K}|j_eUAP;ktSɭ_Wۤm!y-IxdP1Nv69mK&աP_j^'!R"T(Wefy%WY!I3gQFf.eVT'n1MğWHgHAN{ \<Ӓcxyi<::d`$VC1 ?Cf&5l#rq1u3S(dyvcϠdi 5np.EJ/"v"UM yZ:&eG=p;#pd{:)<[q.gTz 1y;yߦFȕOgя̓ H@ԉ ~nM)N ?gih8KUqFL+J%ʿSp."B*On3"LE^D^c!t D=Qyt݆˓XQj7E3MX}D)<}:sxNs>pQO1 5JfD֭)`os$=/7% h-+ ^w1w-.F.B;VR~ Ǯn~ ZUIO×P<G= <<2pZ'TlEDmSyzƭT}Zeʫ+T-R0ty-HC|lSU(`XL5ۋFRnZO5<#RO_?O?WK$$#EGF6h/[yc9žk3̩ưgyO6k),彁!}k#MAFr ?6~n̒O[VzJf=]Q$< uK.p}[{P%P]7j d_ؘ-egVہ x;G,D"`>_1-F(|/w=d'hhGWN/-EK$CS)6K's恤1rT <>A}=P-O1BmjRsݟWfud>.=r > R_D$_(9g)le{t䕒x iZzzL2VzZwyw-G|(Yǿ*˷DK'3m8ӖOt[oվ,+I1FN_$o`Fb֣=>Ԭ%T^اIN!6#GMV(Rc5FDmlRXv!AEZ{P ,b+E23#vN"7E%lվfZ{PJ(A28qm>M'UwZv }Oƒ*S! ,ʋDH%夀z%Oɞ6/Vt5 RKsoZ E{n |)PG،_Fث!l{Eq,4NWeaIg06)<O/-Y:@pLCjaѧ|W}~rFw~ R;d_1ŚĹ?W34hx]Ё>~tl;\wM\g>n$y 4wK [yz|VwDCrg**wG?'`P,?*K\Et"CKp#$(h6/$iBѰVǑHτ*8Sxy7V؎J0x9׆4{L"1.In=Cr5#rDnR̴*b_0kVCbyQtUg*xe}rF/6߽ilj. nju@/E#A I`sd&<:jY{f=*a70٩ٓ&ݫ%Wѱs`l3 ȠɎvji0_7uB*%nwVxbjQ"I ij6)M'2~U o_}},戚L({C 3[ni:qXrHDTWC[=m LHKOP=y{lқ3fBʙ׀/#7e}t@Teg#qp9ue>=iDE+bW񓞃uzl-˛tpNK 5Bi_uAu^5@ڀ„,7rrS?YTK3gZx"K&uӪ $̓ ,zr_^'R -R"T+1b\PA ºZ\Ѭ>UB>@!PW埡!Lc[&fĥ3JiOz̰MK@gגz*t$}hy}6ObPÆ P %w;~y13>~ڋ3Vk$fK陳Ǹ:KAr^)!}̗2(xK҅a7%: SM$Z,R( XSR񮦸k+#.zPZR ߥ #ܼamPoz1=ua_!2e<;~4=H,@ߵmiXvٌ$UDN٢6Ym!!L4\mT&3Sܝ5Uofmxʼny%2[\>3q2?-'u6J";hUU8]C qx&/-,7 uq!U@iE/ 7IIJ[gpFY qAG0lG}ҥk* WapITs ?e*oᢾ$Qa#IҽDK6e{5 R6Rc3c<(g_.}~ߤ4)ޒEJx1}juqoRc0=L C?fnMBNֻIdY+�Q&:uҪjpys'RYEU<B;LG.EKJ9}߀&@ACt@iY.1XB򀊌V ;Wfpj&#*o7}و$)li2 =G}CⳔixXѬ "ѥv|hNf$7Æk^d#׌/;􃪘-씿}Y-K"IXoYz:ź/f?ZBɻ9ۄiuN~!NJ䗥w"F̬؆EԃXq9- PrBZ>|o]mTip)vG (БCnqPX:ujI0ytz(8J<<[_cfEzsV9~JWJ:58z `TCū3xNM i~tBJp"Uqc]z12l-g<Pj^v s'e[/_ WE)_fƚ+\IN%p:`h=0q6V݉ Gxk΄,SϪ@)ALdNZX\ښ/36PBD.'϶wcO}ct;*(!6G5?-eXe8)Pl- NJ. ֺ]f|-qVZ/PMŁ(;\Ođ* |%HNU$EhoY"Ysуr]X' 3v:{~ӟϼUf $z?#)7;$d9 x … w!mPq~JnYL.=룷2`MI2 [)ĭš, ֋V]"?\rZRsd)ަ2: D1rdɔ#n[OX *qN!#|? __cH1,xBb8%ʞQwHC6 nSYb :AL -"k^beKnN/?%[ƘSYn6%R~!H$E\ зnǍ5Զ7 `O5meb㿴SA0?=օ9o5r6#S%wz~ȻH|&#$4[Y /$Ρ1|-ӏ_$ Y7f61Z@[l$׼`qa{@$-SF`w/ ŞLjNZLyD_Q"BaE=`j-v|0>0{iwɂ8{1y<=z WG0Sϵ=!`kV=fG$3x@ҽ+(j @a +/'ieiXuHfF\>ĭT:L X#7 9F\Xiҍm^oh|G%_6>o~;X~-^>ޔH^SVe{-oMQd<39 X^1?} t(GYvsF""+'JD8/JcOՕ:lك=@՘g _ىZB`HtzItɬM1xbc䯹LQs`YݔM$L^$%//iG<#S گ"H\H>& 7mbƠFd v%{ gBwW=J32p0e9{>AKd،ج6>}IC;bD`s{>D% `چjtNmlm#昍Emz7ך%Y&:QJrAPH17xM;<Jkk ؏ 6"#m_֙>Zwa{-WQo.X) ,zjnϮ}Jˣ|q:]=tD}M',okؾ;2fV"Skv4}V,xv} X͓wn,㟶w%"T%4)tܒFtGnJADgz:b ܜ9qG{\ PfsLJTU]:2!fAOI_Y:(r8z#xAk"iL(!D%5 !rjrN툿F2箍nXmX}S >] -?23n}kQ$O $GY>& 8sUəTL)&W4)[l}s{xx6/] 1"=F; m/E5@ x][p= dXwPt$AQe_o Ƴ3fΈ)}Hζz |DGlcgx`AAYMo=)]ְ9JGwdvKļGbGqCtwғvP) 3KѪ#0b -~~)U#g \qGfMY-2v. ~wwppy&!ix k~ՒX%'  :N0&H $ك4 9C/~8CAKa994dKE)a̪kp< 5x{V-)%lB1۠mնr+ Mśq+FZ) 0| je(SQTY5P肳38ZJMyl;s$Wd5$p+8S4d$1jҶ _vi$*ynO0&~% {U8T%ӵ;Y7!I?c6` :ɌWhE=m oPC5lDtTI ZDM#Jaz \*0*KL @w*!jm&\iSnU97!K&\)Q7{}Yfo,50Xsc?YtTwտ%Ka_hIGKP/ a`H ayP}5 7@P! \.=ľ?ЃlNJ+J]0I;nq$&{|0 P>1wW!Z۳v}K|}s42|3S^y% HxMt Wʂ^dJ0Y&[[eL h>JFٳh9_t'̴(^ȱKj5 j8f g.׭$лi`d˪m{[BWUz!zum3H]<\Hco# Y֙ XH#rUY D&QO|]_KQH-9c&xA+(O>(ډAwRumZ0@ŏ?*Ⱦ`'/_u c~4͙rm iYcOhGPk( @F4rm+qɐ{/bCn+y^MK3ύMm}u3ae֖'nAanW^7ZN%~ xraOFO̭TFTSޫ\ $BrC&?nJc~d+LqT#[T7lr^{6a ;~,hiCN$ UI%[*4*?bڣw2 _} *AOդC-W8VCUEMy|W~J0u]<-s!&Rd1(bja$y*sn/"|'S<96b,Z͑0n|[LSikv̫| |"#IKbUe]{?e^ g&qEG- RM\G?UѐdDP3.]K xޓb`@!VPh0Gc oQ€m7K\Do: 2f\%/o*TAu_,*b!@hj ID l޲Z)j}/ǭ|^N՞ILXc [UzC.heUIz@.kjA']~ 7 N맷wjGs3j_zS\LTCHŐ#q{K'L.瞉1{]N@ucQpRg|+7s0 Zgğw @wڃ(` /Ğ'J1N/N΂L:0И]@#P#x'q1$&O)KG3K|ݽ]G/vW~r0j:@+0z+mc54w"˥K}oCEZ Qs6xBz~9U!BJz 3/tsH&:l%J,[Ď m ]0]%<&T Ps; Ziw a(ZrU.$ !EaFH'% ¤M4ȩ-YTZ"D(U4ԑA]GRԬ۝aHI1EK~׳\zɁJT6^Sم3ЫMp_Ȫ/^,].sh鍟=Y;Ira<^ZccFGX=Ρ^.oկIn.zE_hLyJ73\k?Ց۬m+1yGQuwN1} SIaee4MԸHQ<HŜɘT|޹>kk˳_:Lgsw4#[jٸ q= [I,rԝH_R{]O H`|"JFgp Fj^BrEm=³J{=zMʚ˒!]p2bEMDNdZGtuf RIc⽨.u8+ct#|A5*(Ib[r :2H/'`6Y+`cAn`Gڞ6P)sy4BLŇ~QNj?4e_(؇Q8"lGE 1 @Y؝.ٰ=G'ѮHI xCshSbRyFwvLļ9L0xFx9"C^-zQӻ  ^,~ʯfm̋p"_Vv]­Mb{Ue t#PZ' cCHAXL|DՖ^ayc+AP L|2k7Ǝ$b=y+86T ތD{C7+]Q8;K\  qUo>9x{nj\x*"(ۻNꃁW< XzmZ3wa,\*rA.. PpL3v K׫9s>h;g6zġU氀H!96s 9qi2f`bҚ,#uL dԃ,U+Rs|\I5ϏJn(d47ӗ-VpBpjM)FW8/ی~`yў "?u1sjNR!I粉+Gx8{꼌 ]Ijuf7=գ]ڹBKN3_?Q |ī%|i=U.uy9Ye@]KA1uI,τ1-M]Ո EA9x!t7ź7*{=1ډ:] 3g$ҋCe$!--?zt*ֿ8cq?@Oڃ _ng8>-xXTCaكsȘ4 {9roOhP(2Y}jUXS]M +zȮMWfYs{L=\!m쾘Th$kg5{G+/Dֺ_GhPAkM&m2ܣSJ }k0o)mzF}2T#$cܭyX ݸ*2"IQ`Dm&#WJ"9[CekRm^.GZoj;J S֗$8RYchkåϮʮv*v&*K[k.7!f^)7J[5t}r7 w8;1XK 3,EK]hR0^c%SsOswEe'[t,22bJT:Tb$QIyrAfj2TN&0FhҤnw ׶ ,X; uWm MulLlc|L n,y0R1'F@/2/g ]O^R~E!% ,V #F7M.r8xcdݬbad4Z Bm,=&i^:V(U{Xu0t.5LAFvP#b ]QUSOGYKywuXyt(Ubj)XgmךO%dxA(C0ANEà1(90sQe+&37;Fd/B<-ķdπ+yڅkҁdsy2x9Vo荹s.wdt`{.p0BBNFqbb>Uu>Ƅ=`~C0#{q dC%7'`nQ̍ í=2 Z \C5Ox|Q^ jv5~C쵇^Ǜo1h22)_e5ۿH0s`~6|m9bWq'-ޜ$YUv5Kb_NroY̓e[j, I5m 3T]]ʶIFAs?+]0c'v^*JJT\ nW=8 7wI@AGqF`Ml 3WM b۩ ThA-A1fK!Ex32į6wrū3 Úvm}_Zʈ]Ft{"ݔc6>NDiy|K DC |q')rO35')) ﶣ Wx})5 ",\5X S>1 Q!"jd.T8:am_‰6/ u8h+c?N< U>\C=!(%Oa[FۧK50n  p6q QNQv3,N2e1xW=au*2D(FLDkp$>z,a,FfȞ VɥP BrVy(l"`&͔<}MTCM5JPU獮N{YlIKD퍜,%_b)l]?fnnÞ-Y3^jBS`tMl*'~ء12*]i9mv/zm9RŒeɺUR?!F| Tqpɤ_U<\@S^U IFK^dA|Ghŧ6Ġ%C j" (()& N &F ?d YI8TA*V^ X~G]~&v+0RqfVK4p Aꨨڡ 4m)%eU>b/ZrEߢwBKu͈6uFލ'm]eSso9He[ 2_mOn0f07=wP(cdGbLNDdr/T.%{igyvNҽ'[aí|F3K_<_eJ.!j{Wn(Q:vAi{#h# ʏY C!\ɌaQ|ܾ0VQ.e"0~E{'M {$ ͧWҽ[b $#v|ɜ"t-}/?r5W#.g +F-Q4hHwr\t.&Lc;rhcÙȕ70W!s>dm c~`1t#M? P7HM(pQᅦj3)X F@ב5A+/<^k<>i&aQ @%_CѧK2[[" d`ȢKޖ!j 2gaGO{%ɚ5hm|՘Uy;~3Em'Gm䆁{9@/A/;.Lb 0Nh_Iƹo1N6m'_D!ԅ>{&`ӣ31JHeiC46.Z}f"5}-mrXC;_uRZu_-yʍ>OŅǐ=$xì຿$5!+ۦ:zS}xoS' Ntmf{3|BataG'3zPSn־u4.`-[A"M̩p(J\brt-FPg  fZŖstw3,}d<ۿFwNe.b ^2ݱ2gg2P9^F0 "y*1E2'oirˉ8ޖǢ,zmE͙?Ӛ!DvsJOLݵ*F3Qt@Aq'jtWc14ir9j  @(ڇ$ټ5hם]c֘n^mA&\7P&r&Bؙ0*FH`:X;P '@Hr$P`arȺwm9;HǗU_1=}#$:~l]C*%^`a֠<~tx2'l13BvZb}+*fC&q a ZVɂ,61'ߗw<!\ơ׫=cX6rdd]y"_k?C7BDz\2.*l[>O;.D]sFU%|Hgb]NŇ=X+ZIm zuZ،(L͙mIiY0[yA/X [OBѥ}K}Z/ulxH8'V]A%Q?ūẊO]ഷZX+(wfu%z o E“X|+aD:'5嚀AoӶ홈dķr"!> ת;(A $=2¹%'~tƿ y,ğA,ʄ|Rk:$)6i BmtEL\6'~%y`pzDG=^׏)@k.-OK>RT.f&zdiֳH_} S?Ų`P kC꛿BQ?b)->=tzB~M`:ިS4M"*"b3GMsu%Ą#gO|c,Q9t@jك(Xl*6g8$ՖׂW匸pl/{rzW_c<{"0}^"uJ Bcemoe.!$SE/"M٥^CsDbVReDVQ6#5?*GXr؃6)M.*rJ npHR'9>wo{gw@OAJ 7X fpkMk+ꢾUAa{E%'O>U962#gPJ+XDȘ:my;g~aG}i :p ]B[Y`¶ey*7V_cP`>0@bG_pXYg&cj[ۈccNQAȺLB~J9,>sN׬^eLH:e*F&!u)'/~d+ f-s FO&0ϸk r<iWVᬭgm3d"?Y)q:@P]E̘[S8[^U]R>cCddj'Fa[{޲,hẗ́.IxUo`ےMo5>@V4'+2Pچdh2ucn>Exܧs|CV^FyMqY>?.Z*$!ʱQ6e8=~O  mֽu}YlP> ;$XeXp!TiFA0)q .<h62p_Jp5vI<- qlvHOd r:ƻ&fgz&oƘӅˎ^*qaWűDY 8 RN׼r>53- +ȶ?U4aUpٳ33 <{&fM0dlhNˣ"gkiU7n($J?m6 9k PNt9߆m3Lsnؐ3QLcN!(i"*kp2mzµRGi\ҊTT׽+JE}jI?h}'JJ2 h7R.>1/391`(a5T Ch,Ū>Ap2y%MG|zk/|$f Oi(tſNz4)a~RL\eI7sabp(Ns)a^CǞHt3:qq\DCJK=rҟNX&Ϫ-LJzN2!#.:q CvƙS>l18Bd=ʱ Uc&kG+襚'k)S'!Oab@eG(8x ֖q5_*/"a5S}xko]#߰6?}HɾxXNsvxɤ+H+ vPx?0 I̮m PBVDg$joر5BwKqU5#Wm!zފp/W=5ў,#:tX)#a֓0!anAkXȐy ]Eza_ֽl5q~&S˶D@TxݱK3ʃF̂@ȪĻWlfb|ڦg+;[SlʩNw*EZ#q]`)N L7UW/tKLQ9Ujdux)$A -~p 0 WhiINA `&j6pH.N^B6V=8^ ܉B1`')@f׎xwHQ%. q6W^A%.!k8ۗA8k8ᓋ%c /q\+oњoDewR f'>U N%?pP/lҒɈ44 I8Rd'_Sr(#,+ Mٖ740 myΪg)#h2`'үIx2"4_gCřHӉg4XA@u#GcgI<[顬Pt.a`e aP *JTs+<:}jpA첮4~bq0;]n4XΎޥ֯f6ީ7 ŊY*=)G lS|9 Py(?G}؏&dxTlhZUB0I\?{v@s9Y><cHJvv%𕠇"k^q_K; {8 L?:^@ߥZbW^UBxZkt%d 9c,}RJJ~[^`owb@CJT\.=?ţ:P65V75H⼇z%k\T5!Ѐ.P$%:NQ\32 Wg4Y_Dfo;Jŏ= tč_A5)-w*>jx$tqR#1L\i)C~u~[iq;Ux Y Ѫ翾CwO/wg+<~Hj`+js\Չv^`Wo5灢AWߗ`o<^ݏim!d3%w|Too+n#U@o63k> b\Ya;"ơ Nyy?iQ͜oe<䙲;0,o5v^>yGlZ|Cfߓr8LPFiʔBJJh}1aC@PvNDtAP}ǁb溆vj.]-7_Ye[֓Q˥=d,^ˉi ٸuxl3.9E$ƣa8E\J3\?sn>KӞA fDyS:`>ݢVvFf?.y u!ˏSI#;=ɚIH JTm> 6҉Ў7t&jV0'<bSX6ro|5OM3le?՛;E_UhHdM/v8Q;]/Mqw BW;vN@Z8˳8%g 5QMێ`,!3z,+|$@g5WsLd+c#*_՛}fGnw_!ῖ-RYG\J;-/V|r?ChRJ n``S v[3r#c|iO2S ƄH`ƭbf\L h\ ]7wGLAGg_oTt!g&qr %FORb᫴|RD5'5f#L˛ʙG&qPm#H~R?2f9,NfCdǗ4A2? g0 B:G`0C:LG.ג=Dpel"p?fCq?~qT_? cӦy2U4b*M#/LcapZ&ʂ2Ä2,}3\ -w8JP<%qfWbZ߅ŸQ)6gv~薍X@V{r/ `wa:ĨP4sAD%ȥ^sD*pTxqwR%L{À]93|ݒGPj4ssMbZ ȫ(])E&'`F˴wAe @:O!nZW#}N|{T BJewQ Ou2GaP!#%=0D/LL*׬Krz-t$Lkx*]7hegn yDx{̭:$#xnꕡSɘLcH7% ~&P'@M2CKC%9Er~>"Rܕ8nN H1@MOA]k׌1u p帙7I"bL71~)ˏ\{#ǧT.aJ.^X()ExTqݬ&P& O<2}G? ۜ\!"{E#?7kǧg  ʡP:ݵl R3G:AY?@eI`nlkmD& Bݓ] 3e? f k,["B]x #VU)=Cr;C*SW t+iQ'k8fh2;&,F[zx>.۵]R`%z%`i^\"!~n/&\x1+s~;Oee|!D/]JJ1#2b(wܪeR!F$`,&,.U&w gMGTBDzwPdpG`w>LRh2-Læ@"6K7Sm4q~Fm Sbeu;9n vQjtY%7w\PW/M3K%}I># XN|q %fJˌfNNqȞ~&y4#,'g%V~O2BbHpb& )@DdπqrOs؆[P2Ku6y~*^UCHEZgC$ #sMX5:1kӽV\H748m0^jJ.Q_^?&M_n`62gUzC4`~Ol' p'WT GD$J6Hja̦K][u)R[<_iuA D`3bw 5S/EbL7[sG="#ox…( P @dO5dǑxTB̢Vm*.b',9H.l)j/47&.ӢJqg GH;"2MsQ Ipd(o%!wh2Κ_< ޘ\yC $''aklN@fHͯW8>G]L]Ξm$}F7T)}d%;]sbwϖ/2EMxd[cZ/(>VEtxVSX "Eז@̒I`jw޶E4 9r0*пȉXȱf$RyCd̢cf Z6eq9ˎHB.(;/a& d`tQ=ck:[ dZn ta,ф QݘR#ضŎ]jبEL; :lUGTp!4;j\) yBNҊGt'/rmJ>7MOQfM#_#^vTXѷ'c8RF(-2wأSN4x}(e)9?ʻ9\.6e 5ƒ`28_M{ʓ}֪ zP0U'NJOYo"fIdX>@ 4*HzY@rTUFdx0Ufyz/jW!Zh'>M9o}b7]şW!{J$3YlI;s{dhcڕ#"G5XWCI5NV80Ej; n ['[tnxSV2)kTpW %.'^@ZeT*e ipVj+(S:(Vs~fG5. Zr1^ qz?R!#Y=&g{FP|i?@Ұxh=G׭qc8c@J _vJ6ɽ j蚧UCt\q+f# K\!R`MȞJSR:0頤tY`In~~(<3oS=s -i\8O3wZWfZ0`BGXv=CuOI"=HK~$q"?tWjG+Av5HBPdYhb8juFvheFƗ%)LOvŢ")jnrH=th`?Cp+<|+ԁOF#nj6?qݕ~OmTXC\ጣ*C:;&NBx9]I9t%,&sW˜:;P싻ĔP/*]Ҭ0ϔ~ BKOPGB/1zвC6a'katV_4nc-Q xyyz#), ,LCi$?y囉WizY]3*8,1h/;>ag9IadH#زvX%+^!^ʁMlT~vL'{_Vz];!?~+Y/R*Jx?]ysNg?L>KEKP#+GQku^@6ۍh0ZGMCnY}^@.X;B3Jn94DTH"wݲ۱j|c|IwX{s܀4+s}qDV7!\q. 9:y0blQZTJXCwWA{D g| l<ݽ+(mocIagHHBͶWX_ZިɆ/ ܨd߂ij=#bzCY%b;N$N!8Y踳ܵ,pyfCH4L"Su I}D%7,j(; h5fSmMOqMEKwRhէ ,Azx1f CB)/9#=^ʱHWdjNW `kR<ÄD/i3&|J kvJjit >vFE|k!<ؤ`FWw"]Yz 0C4f/q$s- <7w*OP]#B[ʩZ΂!L ,)5!iCk%d!f lYLs}]ہ1^ NI*WCϔL%\-#ǯ.i0!`~&+ټwaMBk[[+[bɹ^˕ȑϒ8`5X/a7E_We-F`/QA_{Y >^DLdϯ! ';s.i~V N3G5X#Jf3W\Odatވұ .]'ߴ8it7&ELP@KWܙZ3VGZ! I-xd:#)N"|D";m8b&W!_ً֊w TV}k k"[֝r!К^ZЇs:^{iok[="n GvO;ڣj?>οaD(HlQH) אP&:HLx{Vc,H?DRȂ\)7-8~ Pc KH$ $Ϣ~nOF"- lG)qjS \ڼ>+uH4bz3Qq>!mhfz &1/P8 גt UdR8ǚ6iy"s'/"a$ 4*&5>Ipn;Ĉ^; uB.mݽD-5 4r nj*kqBT.퍶 VA)5ޘ eO} >]S4bϤ:pCwO{h]Xx Zs ސX@ kۭ݃t^׸Ь39ntM,8[ۈ;&Pɧ`PMtc_@B/eqBNyph%hJ#-}1?hۦ p+)1a&G]ҥl牥Bn p~,fr)(jXS0waX;q/OrĪGM<=0mhH@pU)OXlvNƀ00ae5epAvDE ?vrOx :pC+D pQtȤPUYnF^/ ^r`@N d97e_w}n}eQ ru8_:dUdŘ[ 3R!Ýt# g.@e֖žjTo /}\MOq6"Q;ܵ!׽c9PswTm\SV+@~WKB5+EJ5\DLeF{Y.L ݜD$+dqYYw?x,n$1?J@M05g"|wYuMJ4kԈ#Ԯ#Ȕ3{.y*:lɈx+PlL.iVdž{5*#}Ro}aftdN lƽt3O6xecKYw I_Hľ`r y7/2H H%OH)wO pH,]ΟVmCZYJ:(lwҦ"~{aN : V|LZWl|.IY0(*SLf_TI6>~Lx,zgWz4]N‚cm߻aC2wInpگW^[RcI4_<l 1uigCgà5jA.{ A>ű7c|WXNyz C,t_nf)-{ kF@i;8OB~7Rs?KU$:ƴу':[JfXg;}^$Qve]GGpb3;шj+~iĦE^|9& {Eo~'b:wNrWiv[ ڗ6t%xyV`bh Wq ? B{oG3e}JwGYwͶBE&ѣ4Uְwn{LI{){($:lmCׂ/C8rwF~pkL`4ܞf͹@'_²X5lӱ3"vpLH2٥:GJs5*$.zM5%j3)D>%9q16=Ifx`0)^*{*=줪Y>f -mڄ-шO%遳%2ݹr`,`So؄>~c!CSo˸O>ZW:0=K)Bm!11~:dAe$>`O#dodI]o#p+e .`ٵ-#z4?p k̿:5m SݹW :ѹ1ds[a[' _!~uzeՕMo\ jv[xo{CE3U:Ve_pw{+Y[vgA95h PJ+>ݔhKq|7|--:1[dtO I5(_FM`C咐!fX !]@'ul$P=žd O0z "(0T{g?8v~qqm[o)pp]'&XaxV5 aqWmz0Khkbi(pu ꖗѻ>&Ā]dTFAaL5.Ӈç(>vC4Zv]43'!L KC{Oi~76⋥ NTS$iaqΚ;YDV r/\ AV;2!^DI/3¬:BRc,cx5I!l}\3 [?\\6^ᑅMvЂ:Z[Zm֋;s5ECZKMaPQ.7,yl|d}9sYEUٸsUȈ>ټ `ɧ LRkklȋx LC7,9yF_M@GF'{я gE_$K~P3YRSAL!ڳh~I|Z˩/qC~M`:H]khsGq—9 S}5nZno[嚜vޝE0lk ȐWwTK QRO™'؛9$w ^e7g)TԸ5Xd@Vtx ]lzy[5RrdoS,Qr T,U,e8<'+?0|Lsw}:# $lBBBp + Ez+F7qr@bϗRzJ؀%gKI[XW.55 afBp xZWÂ\($^P;6JhodpŕNtk'w# [&\)06PBIgƖ3sp I J'88]F0.jJ;#KUn/F`|S̑6y I6]VZa!?fok) 0` /:F,ST&ϕyz#A5+ҵA6an3OxSKy>\ڊ"KB:- wM&*w8!,*OBS>UvsFjL۱ Ni:;e'9;?#6m~EKOVm_O'%+>Foc7> W fo Vz pN=pS a2L삎Fx#RIEI|$a`kEj0f^hS4kMjġNӜ,JzÙ)-34QPA{ ,ee=^*!OV?!za3cۺ{ ~֬wY(hS.X0`T,p=Y))m5*F;|wa2ͦ]6nv07v&aYa|=YacRWivI`A2yEǰ97Ȏx)˼$qǛ B.l$xoˏ\oT 9X'e碿ۇ0=Mf؝UbؐSp?jh\O#C,%e ?J)_RҙI0C2z*'ψF6= )CȀSd$FOG!7Ec&4U%/lh/OLM'k$mmIEÏCep&Yl3"[vM A}ʒdqf{ -Z,0[KBC]#8O#Bba NKҴJX\+T!s:Ceo'{~7S !vs>0U2z?Bاw#`#~tpGl޼ֲS[o<&3W^ca}j~غ?crY+gNbIr}%hxwl~*yv1̃ڸTnG7)"kpտ=1B4's>(db_Cq M@EB0Seo^%H-xTiF,{b2m?1c/6#{NZlXS5!B2+rz*qs]iʉ;h޻2F#ãn<~݇)6|Xl_f*}g"-,e(u-t\ahLp|wzJ[n ^h-!Em4 <.a!p%!1 WA)J~{iy}mgeû}!XCk]_,[i51*^ mfd|{y]x0lǭå²ڋdGUB*jgڅ >KcIhv3[7`l+VsK35>42Pܚ"F3xy, &8,նQL2< ӋA9NQY-vT_L8V}zDTI8-DSUOCya6k/2uRO L>IGՒ֡9:KRXޡ]?r8˿ xxgWLnKw0бV"-&68;1Ӂq5FӢ#Gt?FC9x^W[8 Basg`A<,Ϧ+aş[^\-Ax˅l S2*OzhHve| q}(շ4B;!DL:ioQQ`_W 4.bسn2 $fM+vn<œ?/Y-FZp tԂ5Ec#˛߆g 3GChkO6'&>=x h/ov4ON^1cE!4$q]IQs5ei7HM*I%_h}<ڐ\ AX#ߒwaes3#+\)ՋU7fbwwl6^_mAɦR}|D$H 9x?0Dlb'*LFI3gP9]K%}hBv=FsPW\D+b*fVk 'gHBez=o\+U ˥4m䍝2nmEY2$#\F/@pߵN9@/~ {g(cRRYWAP_>o!gY6sXk}%$Lg`V7bUeSRIܮt=\r7,L~*7jFΗ)?L%]rt.SzI3ZOiY@ J,j0ń}ᨒs.*nT> p@Fm<Ӽ晏t2_)*=4݁pR@)kL<5((.בL`[K^Roz[/e~^D;25yUFJa%LtPq7?DBui|2.rZGM?nR- eAFﷃ}aѸn|jrK;L b0XNܭQt >^s 78IƝ'іR?[g& n952p -j%ag)a"wӂbya9TB7\ʯ'` V\jC-9?>,ݒ#0KJc8kb#7!'0n2H]Spo"JӴkY!"mSUre S~9D_:E:1;iT?v9{#;o%+ֈ~+H^PGn `#?EQ BY^kJqwi49]F*#TK%>ănWQ_s[P =qfkB@hliG.٠!,yʬEO[4ETGoZ]-EX6m 9f|e(W.Tr9+_wN},I^!+î/9I.wuڿm7Vd7Hno<(RgKjgS7V$%hw0qp#B^?M)*[] auK_Ej0@*MYUa{Ʈ.c:DI 1ķ7W$ry3Rg> Rcb@L?љI<^Xa %+i7&OW' _hdc4&IH׺z'E~tsZ/z}nY09$/>Ŗ` [{Vr"&ږDPIY2p$֪<'gq=c=Wn[d\c`1,3xY! A3v ckp2(q{t"Eed`mХqVB(%Q(agseDٮQ|^VGk&XQ3|{^&?[zQ{f x(y ق_Ÿ ^o_A0H\3fZ@hEkL AO[l"Nd$-m#~ޡwIo[pFp??FLb4]qR`d%Y|A>N!- =ݕSb +naGø$"r8-$ љʟ? ՟BG8.$/S ͜,Qڍۙbkw!vs>X͢Aa2AFS*ʙ4oeAṇILPHf0@E=!9^vPu^ip\3O.qMk3] A9ܙA7f!΃B@-^hǏϠwU*YF QPVۤ(K};L?&O[c0x"QT;y!;Cتcu*ʹ>/N\4)ۢ0 Sm`la4a[>a|@CQ4pzs# džݢrה3b@rKd)܍`D`ribL [StـbM4|0gþH/O]@,/#<(ؕ^g#m1l?Rne.+rd2ZKX~/5!). haO߮! N"C 5P7\Yȯ ^H Ě9z&Z1 'ߕ/D?a(}W7CIp/) >ݸ4N^^>*UM`6c7]KˉmKN1^`s>' e"lpKTkBd<:FgrcW;B,^ j(YtoVfDYYKc8Pޠf`lUSbr 'WdI#$ &)|np=zOBjcc 9˭Mr@l[ hw6~`$ք=$v , rs PyZ/Q٭^9ob@ $_[&r#!'ct}$]EX|4)<*KR =%{pa־bR-A='0TVJ% HolR1&>ⅸwQȀ74"1͆ uN$fہ"\i~JKx']a~Ӛ7NeXˊShrG6L¥ $ObACU-<{`WEO"V:Shxc{d` W0ZA hok$|E`,9ڳ9$QHx;ʏbh(nIzXNJX.t 5jYe]{΍xV ,ՅUA9,=&ōQsRwMg'bYRulo!1_)Dkjvƍ~fQ*@cFCE?=r1]ע\/0yvЏ\2e_>p #*^ղ5~ÿEZbȨ"R75B_,ʒEWk(R"-bu" 8%֊0`؇'i rtmEU5d]L*&yv"1/ AL9ZU6po?Q~q7C` MXHksYC;) dOo7AĹEi~3¿ɶ ;xy'VR?p#8Az E^K-_iTï(:_Hk>?ڨ& &2"yYs g\d@X]Ro)rYՁ׭>d5y3g1g/k7 S/' vo_*_J49ъC3>y{ ج雮#M8 #^T$Z/HW_vv35-xCT@-:nvj:\y .-ܿ)/9ysANS34Soٴwk/GAn>v¢"߈m&7L:Hs,a[ =?(JyC91~i;Dn#N/BuLwO^ۂr2'tm=MwÃM[2DBV4eHbdW]zGo0v5•qN Wcw1w'}'?Kj$B[EHƆR;3\}5)@HjZ]SM݈$UPH+# }B$'Vc3vzZqg zer$C1 !V. B"4SrZ* S ą=b1O hQ0#x%~׫dɏK߹=׳*n5i vl O l)p$crJR٦lG*EPp֙&)^r (u].㘬T7T(tf`fźOґrǩr^]K|"^MOLWε'|;ΰ2-Znpu( 4Akބ7F"mFf@|ڡrpܳ퉟= e1~֎dO ,6Sm~z30|d2B [5TvChqA~6`H|}* G}g1Y[SGSkOZ. "xC9 X" !MѓOy]J O4TD :QKaѷ9xmSc5_oظȖ՜Vlt2[r#7{ui$Lȟ*>˲ eAb$]?Ѱ\:@4fs?AzL~HA!Ӓv GG|U8a3 >H8cXPIsqqV6',;!˙"Ȣp̹ |@bv ~aB`I-ִ ~n<%n g)ZLؽ9tC\&WL( CX9 PW2FV{&@][) TnHi X368p,9 0ok0`7AY_: f[&Ȕ-}͂KBn ("XQ/r31[,|% x>sd.}s>sPtL;J5'c@쩷,d4ʌ.6m5Ѯx9tFgL MʜVVN3JKz!wRRjmͧ6"`,>;EAu~Ei5tFX[^ 5P#ԜDBF݌M#( !a6COHؑ[41$KgUuppːnDѲyåqiia& Gm F7 !AtRm+:cdqb0UId>(ތ ÓHSa% ޼1E#ζ!]$SMhdx%P[0H3G F5lכ>=3aI l} w3y K,M/?6\: [weܪ^1-C <"5kx ea~ԧ)?w|/ 0|wda0& 5]L([//*.#jXЇAOξtcF\iEٝIc Xei#eFvguZ?zho+>09h,ʛ派/g86ЅHDuH+Nl9eE50f}Ho#j(gcEi?+IO TO&VL'5 ϦBٰ($ElN+|?,K͘6B"]`TL|P@ n9wtyxB/;UO*!hA9zU,3vyq?WR-I|j>G=h|ּg]ⶹwW&RLQRFheo􀤖{lcSQ/.c;*S;Pi˫:X:;ڴ`߲e06] ` >t d8j/G(MAjq4kH*v+\r?,~(ZHn M cyuk *;mW~Aʬ!K B@3@p3o73N 1B!2gi [n4EM~aH1a&P&R&{De J1S7i¿M+-1`4ZnyU`#R"?cH[] uD5h\ouh.f(71j"C|:@ēFv7 =?uR/#$hƓس^pubV#U]f23+*n Qx k^Ov*!zx4rd2כ=Ew6){T'jj$ ŷ&7S Aq/_-,>. 1ְ6ѧ("+5% yj9͈sM/6/@EDF+(0DQ6T4MH^B_K%PG{LXq: 蛯J7N]T2Ԯl>҅!VMVQ2," [sn r݅nyT7<#,e.6Ule)\J}7~ܵbĒ@k'p#OmwBՆChfafꚢ;vK8bWQ(_3|A꿊}:-8IkUHY&%7vx2 {"bHb^BS\FQ+y):8yu~$,i4TEXTp7 5)x2 7yca/P@Sd<̴2ٹD+j:n/D #"w:ߥeS2z379 7h<)O#veo#9 # .Q8X߱ȼ5oZs7P.jQ ݂M#մf;[ )x"zb v%KSJkSeH=X VA޽&ETaH_JiL)[}'8݈xùP!i-T߀۲8X&"Hs $x(T~8(j+Y-e@Ʋn_w޴X_U!MȜ%xN_a0b/re\J]s IԚHMRbJzAp4i?;S!< >!!6bk\1b,$`nٟ\D%)^Z\xo!5M11dZDC*ܨ+hqI/m30]X;yAnf-RHWͲ C>{=ae:St'UťZr[7|pLwM"kPR 4,yǿق))ZaXBtjdrxH7Of]rSqiKP۵\\A_h?š1u`)?@ڼ rnL:c( c6e=vsX4~&Y|m2PQpvғupcpCIe24^)o#7S|g=5Iν51GSPz9~)B zX^\@hUz F{ /ks _iߢ!jb`8DZBx Y7۶ZPSiY*zn~v  IP0a4FۛL^ﶅ"->]QLA#V;CɭS~<!s=e9_62&i!5^ Ly/4h+n3]OA+RiRNIdX+?v% R#bd%GDdq^ aù2wkCgW{^XqВ٣IpgSt0kWydLDP4J`U">hH&4dz@.y[`x2,S o(Sa #K3U0,U"q$EPkՐ&uu$5( =<1s{H㏹29)TX/ 8[:=歕ۃ\avH[07Tz؂&KXB} &r$q8ѽX`UEcT2hQƏpzX,JpO_|(Or6Hz8 Q0G&fy9Ý>*l.)h7GWb0aYCpPrEPgq@(\Aץ5~,PC>ʤYo4 k4aa:E +'qdn(rc.yU}0O0sBDI^'XsKiynnRW4hIyX'#D u+Kj/.eQ;~Pu%', F<c;X 7L𼨕>V'ÈC3TnPU Xh iǂHU9l8Q$z(~9qlX8iUCv<T,CKb1 |5uş\:JjS4pDt E69/k[ӳҕrEP`O(cI =JA%8 Jqfukr'|(Xk `yV4f*d^+6+MPw`Sqed4L#3ڼX@]FԇR[Tg^I 0'nec!3d0,tržмT`W@-T0٤ pOn'<J V%DlAS(h"FT mtg nb2PmjGT/@>k;[ E>u8=<|>Vfw%]<"M6{K{Ռ\ pS'Etl-A14̘}˷mԟ s[fyɃ83"54Rɬ+^ ^Mꋆ6n5Wj.YP1R aym%7WxTA#_Xb>${%P2v4e^B=97v:hz4`:mOʙ8w*X(֝} L`9_K3] :GD0(\~Bs6ݳդdb#Dv.􋘿5MO_bDΓZKJKXlIkώ\eZ7e|Nf͕Gch?YhOA^gv/Ak]!e) vHŷ"-_?dSVUvd4g㤋r_+2]sNBT 37hd%gQZ xzB9*:tT9F'\<F(# 꼓!ߌ/#%J_DUDQr-9xOnR0땨27Jf}W(*A+%. D`w}vt o{|<$b1 `l ~v3GaD4܆^J]B`'WZw?B_}bW( Gj+*\r&{{(|>Y2&Z[ٯ)$T.6lZQs6]klaWٕIA1 ec%%|:!rE(X}gX,7@HqOp9L(lT7s'x^Gޅ22\g/[︷ĕyvP&~@ $O Eǔx܀WbBG+Ėt?.BSɶ`~5ՙH:CeOVl)C(AIͨnH0&d,gAk"E y_ h9Urʳ`g;ukaIVK)6QͶa lC*6O}*ûE Iŏ>hE)4l- 寱wgZ"EAGu{pxIPȕ$7YY +g O|heLn3x\ rϙ>~!~DGQA(:uAvS'[WIb+R?d^>ൟρ-}Ң(Ocy4#Y`ұ*"fRDi .3pA9ׯ\%2wc˧U)m9c6Xgn,\du]ZGBj>r;f9'*B{&D001`d3B }hƑݘ&{C I~_Z>mpn1 F|Ǣ IT6 6B.3\YC%UC.} >i#B\u2l8($3n|a,ܵ (F`p$hFnI)Db)L#f!'V:̏B0sr΄A[!яUja^Y$|3ϵWוMF%d:_8)@Xz'h:Kl-/C?W>WES oàM@ICT؀bń_Oޑ&V+%̡,]?JXS6:, PE};!U8=*5@c@Ԩ4}/gK>(hC`Iic]`;BzRCZiP jTݿoz pyIʶLB7]&Z<;5kR˛dk"^~zM Hek!pp|F hےrsڮAm^7mo !>oe[*TC;47`o&`$ϰl,+ZbsB߸̮N{WeRhfESO ̨}7˷T{%CJ kԷ=PI4#2:Fsee.\ ؽW5P6W4)/жmր,Sٝ7`@P핫D17hb2SljG qATY3+'G?\SGЖ[ aiby 14I))?c#F *=XaIibDh=ϕA}}^a_.Oش C@u2QTxK2ō;֎ǎiKz66+ПFUjgkf#}DMHTG 2`*;*(mj(AQ5BQa$pD KeQTl*DM턌P+ ' K6(bS*h4nݧDkQ&ʨ1ѡ}ne]k2`IwƆ^:D~(Cn%G}H%ONA'DGs->`.ؑQ W.aeNso d!j#2APT;d/x #]bU͹08][9ķ )Ζ*WRJ%n Sw'`x܋t}_!0u'8,|q@8aH# &UUFWB<ёITEn]ڸX5Ȼ"l&*$ (#hԱ(S6^*jX1y i~ {ٹFM~-WWZMxC&3v$D՘m/V7X!4YgvS$lreK7f~SGiA\tᩌ@˜Iu{ELF[J 9 MT(Zr$m =tlk(&;U`N`[WQ $ )]gT+U%>%{,06I_TP9q}ZP-Z% I{Aa"=ٶvнOb'*-wQj^TyN zrWc瀷@?1+q[Bm*J4^︸5J|SUS CpcmTM ݪ6_5dbpr")@DjM,7Zr[FmXL~* Y|0ia]uʶZ zjYR0)k_~Jm^ׯTVO)Z>%NWz~9iZJSXFS 8e:">9ڝݭ*F!aRJ5:ɚ [I_LaoT&8>>̊[g]dLJ;;<:!mqOxu0<p)h6M U5vO5y3/#FdGeyԦn8%ca4jKT[Á wNC­0GP9*js$|6 u5R: V3=`ER;& &/+YpJ=$d#d:`lH~h%eDRP۬n9)vg0Lj'u-7CH;28bQt?rA@>[O)Zu[w?r6Mo>; ߉,T఺p8TtAi(Wls(HiMxC_s"JZ;Q`$OB F<+#b#:\tzs;?)ƣj m2 =!)KFtCXDOSz4+ KCf̻(or0eM]+{K ^<,FFHOk*ð=e(jk;|86N$k2Qk c1ٴ I5H:%;9Dp̨z_wfx3/J2~o gv7`n ݼ@lC?f7i!F hRUF<*|f&$: ok e`, ?l૬L 5Qf.l"(sS˙h (T ~M\tՒ,1PWˉjO\RS4quH>mWBEb~X&P.0WnMV-}T5 ShL4JxŴ KJA/gCa4ծ^@OU4J%=FnpR djMňg e,$ 'I3!?I0}bŪ&lq. Ct&APF>{UqHnq>4j#pu;)7N$ٸrTQo^_ۘr Ұͷ$. Dj^xCURo6/Q!BM&D)>yTb.ƍTV}7G<""?:r1H=FFAB55k 36OEwp͓2caRS]NJ2] Q .xLLR]./!9|E!N6d]# ؐpӭanh[pCm{ʆHI^L Cѩ]kc9xcRޅg?B5L@,O](Xa'qjByBX>jDo`={(B*x+ 65u=LU^|l>) xfw@ֱA (z`Tf$L3lbt\?=O`k;!2q{4[jJL՗ܮgkvOe{tcr6g7ܛFKr]мp<0@BCcX|Ԡr[‘"oeF|?Z82'tS we]7 ڿ|*tǕEl.D;K|)yB)vPC+8d2jֿfFZ돼X, wPaqWqpGG)T 1q TqHNO7!荫[i}1"Kdd|N.kI/{44d$*H% E^C$}@:[Ԝ vkU *Zbƺ{&9jhTť~=(n=Hi7^nM&c;LJ4y"Mn;^¬F2:hZ뇱FoO;orM4Hje?<!Lś!l'8TBrQyqS|X̛Ko%j@38->l51i|L RQZcH"yRK -e psAKZe|sm$<((Ys \e~'jt^,KM,!EBX7ttP2, g9Wo˱a_Pᢥ{чrx~AiȑQk|2s{1iJ/ڛ7N5|f-21U@Q2 bA@|sI<}q׊]f#pG$(ZKrN)p(KvU̓rIljvo;AP֗-` 94z- м{fcs!A-8 O}IF]IN>fc-;^K"\2-%Sϟ&'֤;K濲ձ}m%zv8˲/~Uɭt9 *M[1K/h$`Ίemjw GsA"y͟pJlRJ`5bFHZ&0^VC9:bO|؂h|!`afG4\aqI 8mi9\H)53j+ cf2A}4$BuշZIn䯝.Ж:O)ȍkamܑ9ƞKHnVQi^3Bp;~hL !yYctú q]~KlCRtQ>%xq,B1f-4_ޟī)L^"A?`Zsc :8jͥ"=hʓ%J k]cz h/GQƏC]<̓EOk_ ,=Y{U~nJZQ$jw<*0 x)tг9K/jLlmhv>۔+6cK⨙4X_TOg+QS +#t7=W68l-aP_qRpP)JwɌGᯫ!@eWj)+Vy~1rcGA&}J{}}2'`I̽0Qǜ/' k`9 O@zGPIs3ٓ { p7pgă)>/wN5o$xp`;HGAL{=Dm:zkQF A"yny|4z2xҿJVcs5ߋ ջaWg++bpA${Q?Xc,WG[I,1 uvݶxE5br Ѯ:!sai6PЏ]W_O՞hIc#݁;! }{KS"=$5Tm~r %!.SP @-Axtf`'xgrp@kk?9J` " ~Xz0h۰+}Mx _U8Y0jFZ!Qq#wj yHc] G!VU֏^ZcLd0H4aSI}:P3A;讫&~G&H@J-Y`j7cX3^ydҲ3z V#~*%m_UFDP*YZ√Fe Y%t$Gz=׭ ;~ 4A^RKƮh5p:+f2XIa!c4qL?Q0ZȰd1b \=3o55uTPW6|ti1;+&%4!8F MRx.w> t{ ekvb%DظBݛA kz$d*mshJ [VؘtHG5􊧸m+41-L_qw泋죧;'(,}#z1/{T@Y^L>5$1!2y"GX̕XysӋpA"؁o7IUe&Hrh^y7H}?{-.6CM 9*7kJ1Yч&]6=2rFIPhT0jSu x6Q_jxcvQv7>! {ag}Qau8.uEYy⾡ I, >|V= {i]؛ݸnM|6vhMJMtԹ@HYZ@XlIdǛvz'vAazॹ*Ujϝvn?MGm^xَх CY100XLaBmۥ}+ /Ә tkK/\O&pb?Mqy'&!z| b  pwa=r69JKṖl"yfs5J樈mw0[ ^=15>Sְ7PЄDo:DkG'$FJӪ 2u5Z}A&giQr*#fs&=IU/_JtҌG Jyj\:,]G6F gܴ\j @pFxf5渺@xcN`m*F7 MGգ"szi6vg#<2E`W8G)$*zs"yA}G>*OqM+,B!U2W[B38J 2m X#QTzw>ۤO?mPRA3=~Ͷj/5ď]cMc~7t.U,M; 3L9A_A]M7uVYYH٫oVyGbaO\PğCHk'2n (Yw9 9͟X'B_hZśH \ΠMyv<LJNx,SY]&8ʼn94}iAH%H,a݋ݡgdWאNFpt~ɉY&ϗ̨%~B ‚~8>̂._+!Mjٗծ_ [MΣw(05 gx̲߻F⻇/7~lޔXk"PSZwuШ|1q gZޒv\u;坈)zm1흴LN\؜tI;BB1Q_Y7IƂ/3Kc˴OR !eO,Pe:guS칓ŷG  v.uhmWωˆ _[j|PBQ߁2o{D5'2&x2iqQS3|lQ>>A/=2>2{^g(;zLů|?~4JrktX?-֮we;rtcHԌZVP"' Ac}ThL}ҩK+@TOt;g\ f@``\LJLq %;7 UߥQ!lx֕>ҭ1( ^ӎH1f{(^) Y06Vv`22cH:VV$MH9eZDJzN2j}HçTFj[80j[45TzWnWmzt6X[rJ.s6a/ 9ubA'G#K5ό*1/̎[dq=KJT lfbv6=4 KKLK:1dܒM'@JhVg*|^LTl(<0Pu)ԌՓRHV6x/uQG^T=uzhqSpIE*uiRdk;%ߖI($~{F 'laL"F7zȓ*=G}}UFњdttXKvX",y7prJNO3Pf3׎.Jl],;*ʜ\ jQyAsk,5ӸR^͏S!-+DAn> H>Dꇊ&O(Eo- 9N9}P13^*<:-Cpc {`Y8 FPGc&GcJK䠇Dfx~VFnUW9/@@Q@"h!e47br3t0GMGD]&E2l*:b%-pk,[YA]QwIu7-xzBc TXQo@N@=#+<NV1SEwo8Q$'mzI6|澙/lTelx&#?fJLCNѐw(`*jl: {iKWGԨ=L4=׃4>ؿ Š3eW/M?x:';1BI!.8,N%-@-R'gob hI6dd)q!f}>Ԣn_%һ3پI^.l}];rI)"JGȭǰm6 |VsWhKwo\*b +0[Fj[ #ل냝?WȊYƐ:FY gѺ\&K. %" ܟxHg?I9MqK2.W9p=OqͨpxBe< FëXC1+7#BxHZ #nƭ=Y^\ۻKpM*\̚`Mtxdz10t)S„Bca8! IDJ9sl$r'tϧۆ=e )# [f-爬_"ơղhhwpSo Ņ뇽~} ˏ8,e !*% (( f:t|:,@ǀnJjrWܧt8P VvoPC* l)\)2 ގƩg FN ZǘyjQ\ޢ罂7[GKO/(ja.J=ߌ7(f- Q"a38D_'o R&Y Yt;bw| 2ٹi京HyČzऴc5v'm8.Ig<<0b\8k'E~<тRoxC*eկ(Ak%iî1=W8~X즌XII ӫd"@06PCˊ #Aw{|_{wyC&[ІVV T._jmm\"{:F|b ň1qK/ρnӀ«i"/bxŎ߹%f@|ުgz4dSuݤCHx Nȡ )56 #/_gNZ\Np9t%vZfDwz4*vkؚ%B{;-A 62\RD?Ĩ Xg'wަ#GN4}#[pFBs7!}x:! dp垃n-#;4bXl/F@@gBS?*:LZ񆶎K2Rwѻ]W+hG8%5 > XwiynW7̻ti 6"UܘtPye*qUYOV>O9%$mLk3_[01ͭ盟-_{+W$bқYM⹹TѵR X+"/?g+rDC@&[!r&hTG0- CSEGJً ?ܟUfúSM/E3t7I5Ūvqb4êERfL+L4sw!\s%x,^[1|K򽺹E÷҇oJޢNCMF ?/Zp>d# %`lf7 o>-nƈQ < jTe֯E }N>|hc?[:YR.8hJ[447ЊP]R[IB`qCDO% y_G?R`?d;DM'fAduf+`FBl5aUrxxݼb<NU ]WY+b8I:̖0#_]8 niZQu(~gHiS D>mұk럮qxuqf tɊGItؖ!nۈi2ys&|*ŵq˨lCSۦ{}՝Ԥ$u#eVq8~RYH?j>KZռ:㧤~ukDޏ<>p4 1rT=d1熥ٱ;O TSkˬKSƆ'yR4m|w0B(Ec¹ʐoG 5y$f8UG&oK1w(F愝n[c;ʕGwhĚޢJeӇ?=B<|Y%Y w('Ϲ|dqy9lCKH-Kkߎ8. _u6`,í7uds z'=bNtl8t1ߑ K墑$ 9#7`9?v>RǴT1kOu?;Cp1 *mMAwůO/J}䌚쥟YfQg ]+벸%Ze %:̿qg\ eW褙#訔r޶;Dl;yү [ 3ӊܵ;a 3/r3nOx#=uSo~hҧb_UP}ݵbL/M<.:F ?(6!E9yꀂe\QYu)Fir#IšP_=q^s543cQ]$J5/09o}d^'Dg[每s%;8/^G3UWYgљ+$CͮW cǃ7 z"IɎ<Ĵ ^s:sb1'dw1Un`Qmy]0snټ (5RYF"a?6qC8Dg{32CŃ)UkWu&PjQ#d,O1L>,jwl楐ɢ'nT*B{drk=N6Y d9 sX}zLحK&ؚCq'L.pK5 ׫O50j4 GU=w$^8<4D4c8Ե&KPjz~N i0-]@:^=r2/#VhjęWVa blJ9\l^_=Nrpk'uUX"QK Ō='QZЪbǰj_ zgDZ)j’d7z&)Y]khB[[.[K'vw/rc _`m&yoج/&@16"K[ !66X_Xagd횈O`8Gc;WU钩Oh'SPU%"6iM5'#3>Yx.sᯊ@םz 1~C&_P\v=J*ږu2q&>t!b,;F J~+# <3h.CB*8++_SeG(.$wDw؉bwXM\f(- n)z@5؟8dߢV ԫy0]Q9>&Ջ跑TDFauL^=   BF L8Cr A-T ZdK?RXEʁ!g*K*j_BWmUE X#ϲ'tlNΘ!̿2#Ҵ 3>1%>8?ǶfP" l'Ǒr47A7ʤ2av'@o ᆔC4`Nd|UHh!mJ?*Fh\6ЃrcMl6i}tPn6[4u.Hi- wiKA\.omj| t(tbeDΐb4쌩<%%nոbNhyqz^܎R3?!%걷{";Lώs21eHurUJ($y. A Qlqq|-Z},) e칵 "֢#ԇg_¸PviQ;&&`y>xs$Mز5I'›2,G~XK&RNp'lM' V^b*?0tbMl˳_?pD~V C]x/+k* "n~-֗G^n2U nD-V3))smnXI@ZpэQ7˓w{NZ 4| ?OXs_(/KV`̲&e1=FB۷K,e~K0z9Cٳe@yc5u `ͿDr@G"]V}X刽/P8ҘAcV:عkwM-5ES05 GN'k1.l=G ek{A^&@PGjQjcgc,Ǯ9i ʓKDI\D#Z;ӨswK`#z^r}Z=f ٝ.\1e0%BL .8FD+e*P-sA$4Iv| 䩲0h#` z#nC,#s0̔E'Z2z5I?>w ~}8z+Rg Z7"}`!lv%$:ixP*_Ԅ2gD^%)kܤ*Z,r ''4=ba(0E>_P+=cTipֶeڲ1i*WՂEPrEh :a#։iJ1a[|i™8=(߳f=V͐M8R6Re``%F|?]9yA6J\)lmOp(qbfА|_,ʄ%2):Vncb:O%igg .JQ+R+7gK\yq^7zVazyB=dVf6h2u$P*fhs7ͮ|m1Uً\À$AqI,`R$wN{IHISЪ ) vRQ;ksU88P2'6w 2tTc{(8V9@ g >q>ȁewcb߲|8&h[32} K`*$|x" 3~ҡ(:C:: O0"]ͳ{=A%\fR Zi=oC-ݫ`R1 8anVW,H{* ެKOZ9jҤ=0HEw 1M,wi4j(&|J8EzT_<;)'NN;NJFxmMxY|VdQͼ[qUOӱJM8y01N Tn8T# utd=bUO?ኤȚaBsUV!r>Gl 6'EP$b}N {)E*8bWɼe3ø PL+ޢPa&`>$KsSJs2m"5"0GzvI—G':};qD'3T2̘YKE%mܿyߗ0ûf?0/RWA&I:/wRS*ݡ70# F`f+-ʨy+24)su4J~/L49O=?$ۆXJLQP'xDpp^[qU5D<*_kD)m08\.Ŷ.\ܱc'/t$2ݴ;/Hv=Sf-[ITt jbM]!}Wzݛ k i¬܂kfgkas#,$$E"VDWl†3褬#nw@%5.p eL8| _=)p sz]' ;s8֑dH\ E~C%IՁF};;bdU0~kT"۶y{9N>,U2g, JQ6QʛY58z|oByx 3X(&m}e&IQ{Drx5oagYK8F犃I/P*"KX#\.A mq]Dx[ѧkfFoӅd&=꿯T 4__8}Fl31ZU쇓*.8g͂+歇!/7-*xI 7+ +L[lVi_o\D xt 8PZW5wKeĦ-|'3cV qU=쳓)>7,MΏF{ oqR*9Gt`DZt8 =$i`\;إAf_Ң6sfudơ5l@DvᐦoMFjr ^e 5Z[|(g/a*Ȗ< %kre|ۗ\noP4L5vpψ78ȴ[3rw@;wխ{#9+b9g%fE WjAǛjk98f:X:|f/g#TË=_GoQ/ͪȖkX$N"r7S ӮEoAg۫k*EQeb>3H֓.wz{h_Vc,{eZ ۨ1U#Y~{*JW}_S|wҪW6=GhEk )?5r3wz9Ut5 C'0ǚƯR9מxNƙmnx+ 3QW+:^XHT:-,Xh», ӡyCtL=W+C-~=C. V;@58_P䔣򽢉lYTpq A*6QG+><4ц ƌrw U'Fy7K@,zTƸAB-V~Bґ}l0mᒛv{|ɲkڑ>/uSOAdE88qf"hK7fX$-Q`U&vŊT`rՋF d4q#fMsخotUf֡h\=X B * E|Ѕ(࠽ t[wnD2 :*4j;-ˤWi?RO5SS5c-:%]D2$$`fG1J,̌@pͣ%hgRSZɩΨhIƲ 5q8%ejjq 9!RJ?zKyGW[֮W/_2-úɺ"[khd8izy=Ur|E3{sѹ )-$ҷ6~8!K̓PMdD͙t;MZ{AQ.dԉ2Gli\Int Ud9Rw)\ L!J3 uR'Uwmӧl !y 'P WRU,OT3%=7{_&)}Y32G܃{.ӡ[ h F&n"8LZB*Q{Kg F},?}+V08 fG5R ␩%˫=q`]Q L,U݀20PV1< ;`,GEԲߙ)[t N.}A2~p !kOZA Pϳ*HK`Vt[o<&TXJ?gQL a V2D9 u4z{?[ )#nӷ&[EauNm- oT.ˋ )8ן-'e0h{\ `L12V}Y=|K SJ_k` |Ϧ,yG9ǹ^ k _KK :ʫz#]\'`M|Zlл+|%̠E!uGK}+hcɦB¢)Z~1{]@EJR:f₸Qvۀb4=VtdYY\f?tl}B;̱A-Џ$4!d+:L; ^S(ծiϦL8&n G?mcMÍ:a^~X\: Ǒ\z ,tDh/ܪ? CHОY{=yFGoɭLC]~̘;B857;&kl D>ݷAVWwz*g04UOn`)QaO'qGLwC 8IBԹYX3"›E ]ڠ_)֩ag&Dȹwd2 7$#=yaP+ QP^ޞ 5PnǛ7E[ehތZ}W~A(V=6L ,N@Px:'oԆCy MƠ1W'| MN6-x)}EL@7kd`C(F@JgJ;`)6{Gws&O1*3eǢ(/[\"=IA Rmpf:膲M/LQ|iE.#6G^Zym±x2&[[Vy2H艹/ {&-uJ'52yXE yuT}uc;ብV>t'\t韝qz0od9MkS_U6{-\yeaooa Hfgy_ @}jRKqr \<^:͊W+r ޒgqC/imH#pN:[Nږ(c?4#@O݇zY'Wȸy]shGTTxdraH:-Hf) [GD;^L/7z#d$%($RϦ%=b)=@"Bg5O*ȡOu_zZ|D<VZ(Y`Qp["wbarV]|d]]Pu@;~GoP,>Υrfh&/wK-ȌG9_3F!r(1 x$dt7 #UZ&~ L3PXgCբ|3JQ! J%$y?p⥇NPR~)rגެXEU^D2t%t{**Q ^v?AtJ__3elP&+8D j e^8oчe 3֥ceqϷ/`؟Q4>wV20dܖ~p/pš0F)4{`i˥07qyS. 7JT43RddQ^LqmH>/DiJ[5NmC ɦGRAM ^*M%G$vyR+,yD-ӣC­wYPhC.5ҿe6{l@_^ !bYlz`& +䘢P ;&e5!AX4!mhN&~S.o}Z@mfV{f⯊ sBz%s:[6oP,˵UY!`vs֟([t}#UsU 兢egr?q"yZ$(|D\zzR48o!4uieƳw4h*LVa!)f(օmP'H-{Ԉ0Kx(ޟ3#CC(n{2fGlNynde(ȓNT Id-C"g<2^sb@g xrdCR408`bWP ]a m7jx   d^J ڜZh" 7ČO|mn6+XQnGL ~;֌51*5f=dǦ<(L*U[fSDnxWN41ViV5k/1kZyH~lclavнl-JzX.&zS_5m ݷ8lL?]RHiTsQkUoW~4[ģeG|؉w`}(_^i+MAa%+ I{ 5` \F]M1#fv Gf|U΃V8 ڭ'ȒBc7,s-8fic.6:1su5ts\iPnӿD|L;r_5>:6e8gEC]6Z٥zrXCM=CKa ֔9fEx49tt`o6AMv¸=iSJ=;fVI1͸ `4r#I}OP U(|RNtXP(j e/\Hd3^YSJ~6f҉L+= GI)b˻`D3:sFF3j:uNUMS%n(K,V(^g.x7PY|ID*c< QtZRO8XZ"P!yӉlR4'VcGBJ3jYEgK'U0f>7RwUο*됳%;jFNBwJy$AE欒 0sH1^ckyˆb/=&Y^ :9ZS̝t?"MKj _}oHR X+QwZEkԡ+CSiK^ -@܁ EIĴ5Q6{PoG^mQއ*W R=_C_3$n}J`ȕ҂j1A@"0HLd'4dߛ1hLQ)؜i&b~C\PC'ܐ=Z')Ӿ7]欑d-aajiS,\G |v_F܃o`o;NU[ {ȥpӦlc$,\dpYS 8}1^'4:hGZ;1*O4i꯮݄BIغWR7_,\ \uNn4.=WcɁp qo_=66 6c`j%H|m(|";lGAd3^Hɚ# O =i$WAH:##<1_`:Wߏ^9,0 9 ƿI,ŕĠ73G7ϝ<[#5GNy͏gTK4>hDkfY').{7`C De8?OH&m==X]Z;CoeV_`j;ݰ6l1ng[M2F;B{Sk[z-lh UUpO.]u_a=l*ʍTD&IPh cL\QU- e~gգ;YZ'(Q7u1Z"w"W \(,,t#HE$W^IV]M +!L'm1P'5 {+((0q}MFA.6ZS3+]П'ϑrRP4&VۭX@aY?{ Pwua|cglxꮼ[(gy2°{]UdS\|d3g|JrL P#eY7u!])3l)}ivyZ?dfMB\C7OGGT?d{zD@&BơI &;Ly( b"ML~ڠWҫȭ.\Z  GĩuyΪ 5dZsYF0"md֦득 vs v{VĬ"lZ&ٓx:3?G^`*ˈ|6h0 ?ܠI_P})ܢrΆP|}}pF%@h5eCHwk^ReT In:7/]eth>5&tD<%i޸9Nh>X')88"/-VS׶j^X}ii7-=<5 W,%q9a2B4XQ|~$)1 0ipte KvVA]fSb:? A"͚[?fX`t(\ӆ}Ŋ4_k(4 m@>8Dm?-o89X-Ӗ`9sE 䳍] X H1؃~šȊ|^lt$5{F$&WiVmUm%I!CI0wwgJ꿥t?bCj V`2xv/|*IϤf,.%9˸Nh۝ͫھj]ɔx:Z=O']<U faX5!56ȲQ%~\Ҷ+"nASffjcw޷THO%zR%1,Wj`VJ&G70P-ׯo wwvY΍T]q6kȺA~[Pǂh8}m-l+1b+Y7Cs9b]͡zqƵN7.oBSND2p{ل7fu#`-߰cЮr15CyHMjC'0S_?|ROzy]`o8` fWi"ܵ*}0`1t;3ǟ eD,~jx:'?#Qߗ]vR8|JcGY?f.])h9D>\U(p9Adz(aoHp_o֣5d8S ~Prc+5s!!MkI0q;{ +SxƎ f:} ecPIõ,㶍$8,$2B >Hoj<0~Ϙ _"X~u*qƱueڳ}# h^+Mg( ĺxk2fJ䦗Ɋ2M27SgOz"Ob9￈~a;]uI:|i"^7 K7IL[On좦g>,I_29y#gQ3@h52%%/odP*f›?.~2جqJūI.ma!~a&=$Ole>o?W(r'l2G;>a* y1ry耸 j1'9DwTjCi$ e32TcJQ ]E߅ǓL}=ZET)i&$?K _o;YEH+<ʔFQ:!U+F+F!+=V/BCiW9"@ c! W<A^ŸAzаCϾ*;8/waw#2zSh}~uy#Ry;Rq_iitJ&8xiң#q0w~ݦv uN j%hVeZJ]^ɝ>c1.]~8&T>s8~A[;gK lHI(|pwtgM#%^zHy@V߰ _q;wy(7ntϷHi‚8+%:ܿ0 qwO rڞpP~ a[ƞ2^FPJR4,;Rlo0\> m#Ȑh"!YliC7eH?P}-t 0%5,|1s+>NIW$>? "iJ}Ħ5 V?H}ިA֦f8nKIVH~"h` pݡ:J&@)J_ϣ4<=0JZPF d ˄?hjD sd>faڮ3oApcI,08_\0**ER@?) /S1e&2B*Wp?ꎢwX@e'2bnhg"J Ui#qX|:T~ժڈF'("Xt(!Ʌ? e4 yT@KFIc,Zï)3#n UlDR>B0Z:i;PK?|%rjDtMg ?|#_'"*kqr{C m&EyDBw@ncduZ㟬\AhItog!D}>5re;ʄPw9H|cGِņ+E*aZQoG+a }?*Z$5|"}h[zq%8!To{-kZ|Z9hE-v@H%2rl=f.<Μs+݁Ø;wЄ(3a~HNiC}}V}^Q"i׺I;„ZvE3VIn~1!h"Bz(ԪFDv7L&B'L !lӦNZc:(ܖ/ _ idG/U ' 7t+ʊnlվ|OF~=-yܥ\y ,nǮUum㽻-iVe\ #}B3\L%4[T1O³Kj L*6~-:޾I{ҭODz9Fh,'N<9Di$,M(ɚ/[PsEL!,R "ncv)5?0%ozNO]_|G aa; Wtst!;3RB |4%-)A [9-&xS̓]٦2rB{}P"0B RKvS.$f]i+*,>-AKU j%6a֍c2*1;M<ξɍ4~T,Ύ2'4sit\LωKszIy | kpjѪǓBv|UwF}${DY6>d)I{{:9HaZYv=Xm[c={yͼ( @`(Ԓ705 FURGDbQ,}D!O5s * =NFBԣawWrn) B@Ђ\Q__Y9'.o|,vh-P``p}S\pیTm)bR`DwKڗ]:Aj_ėr*iLMbM&ۏ a ,_aؘEw$.7<{:W9v#nl1d$?<XQ-Y"nP'Jl# @D@/ck||9bҥn^Xd{C W -p 7/`y/l3KhOWso[{9GQ ިqZDdh'(d& Z :4ࣝԤ1Pwd4jOtOE/@r^+n?;0+()=-Q=ia$b#+.5dL3tF [Pq&chpȟ[;h/é4gA$)٫z Ctn0$pV(aǤ!.Wd搦KS+صv/Xz e1J˺ gv\t7qhl#Fk=~&uڕGn. hZucI_37sVj)+Lço:`"No) %?z1ј4eLbF921>CW\?v٘69,1Oz<&m 7 .?O=ׂ}Np_5MoJJ)kѶ~3lwӴ@PD~ l/π*AAmde,߸r{-Of%-ҠɐU4"`e0v늊. #Z@tg dYIm&*LEPA(h!=w<1Z%FӬ 1MLpR7ݵwMl kр #"7{@BI (!9'zgKi-T^^`f&q3.~y_D(k.[ozUQ7AH!J iKJ(tDuJG,F&s w/Syޡ9_=8ߍWʕo6uvlNJ ^&eN<5{\{hZg[A-tl;Lr$2(Lg :!&߭s/Ïfj2€k%7֠#@6Ϻ8hl?D1=Y5Qz(1?Aᕼ(IJ i'rj~ iͩJV>`NuRX^+9pNݺ~$'x(&trq~C,1 d,:K/ <ʔ|v*:h]5 J6""?. ǁl'{L1<@'m#YUCq~MkݩW_4<8ŖQNrۻH'GknH2ZYo_[siLδXNUb#Eircz2&={xK(?U|Q'W FI? Us}|oФEi\:K֖ĉdN/Q|[A H;9EG >uW0!vX1$ep6JАs nfF9VA~Bu>hrm)|Nȫd( 'O@kÉd|'1d&ą|/ҲHk镧R¹b!֫IM&6\JBG~}|Zj vuΟ\nͧ{Tĩ6[Ό_7lAxRv8?)J7ZN?g΋}(ϖ+͝Îr4ΪDþo#U3\BɢNK` >9m"9%e?p}}"TŒi5γ,Kb8I ]p8? z~̂iO|MG?(dfX]6)! ӫ\*X: -دחߗPGZQ]a9=18b.ӽ+L_;].& KmD;[0}'.oDwN&40DQ aSOBȖU+u"l^oWߕ.O`_&8icB ay-ëqϳ>av(z:Kf^u},HP:dZ9⍼&WKVo[9*sa1yPJ"uIlV6R^َ]ץT۵GCEG43TkϹu~7Er@.fX~TO8AKVE#N斵S)TspR͈,sOR#jk D8+)yR/tbTA/r1iFw(cEzڄq}cx"!dB;B 4=p kGιLv=@fS\-BIوQGj 30+ЂUۧ֌$p!H:d  &8gʮqx–mXjWaQk{9'LE>t*0ꪚϵ9`  W(*JZx{앥s#ٻ$pO QƤ:IZt/%(tj9+=8X -H=N 7>>n" Jp\;\vKrtLjǏ@UN"G's3d)65~)xM:d@WAC @0l !1 :*PiCÿTyQ8O p[Ն>,`xdoՊ6^8yBN=Ov,޶> sJ q)Ap`X//։xr9)C(W!kAwcmp Yp}IwG*?eǹϊKJ)?>FPݶ~nZs8'w*q?N_f: ob=^Gh-zuKONz;<}wkKvIv3f֢uh"ێphR4M"?ӊ,TZOn:YJ%=cr2v-׸}B\Ƽ}TYdiy61qERn#k ƿK!;mk"{Nl(;9xũ~OJ#曹>o|WLKZ׷!9Ƒ̇WZbֵ4C1!0ƴ@qKY5n.ƒ sKm*2ʟ0*q\kNq.ky@bR<L*Wws $]b [.|vV':-\o64yi)bh<>j1ѺpSt/VTmp&B{}=yn>~) 5Me~ 9MԾI鑿Apͩ|_SSa/2 Q^{"񔫈xh)J!+Su9#y\m]Z⢔fi ڜ Ѩ,ʎgs`Nx~X.sc"~dI̩c8( /C/Z^<aG!#O}qC')*B3Ru]Ws3(gQƛ1?ӚXUWlF!V9l0ɻKqmQc:1ηYZɟ(ߋr̳+ ~ 8!nRxEF%"GR'}L~<(#^w/+$]<JƨpHӾ@1VBݦoY?aVpL*P(߷əuO`|kS ӽڸv"t62󁃛UeV}m9S#ʒ K4ܖnX\f:o'H=ey7'&Q$#wwW矮jcw4FYNs05`Q_!#wy=vy9y56ީq*vVK5N?]E "WYcn3FHȾD9=,΋qP,/qEp w"k\~5j} Is$F22)Tkaȯ6#P׎&F^{S_~ٻm= z=LaȰy>&Hs,Ϋ,̧f>|a6u$1%sYgڵr\!X5~} LK5T͆ yk@HLJ:,=Z,Su߷}a}6ym_xbZg)U+i#Cz t3j]/'vF B6kƚ[,C ZUw !"symy|^RrAwwzQu{[ac<׾0HKon 68W2HߏOa )N*1E6ᖃӴDy? ekbx"VGsdBoXc : Hz@1#~|"F}ƀiC(q t3d=sx[&sL}(u(S<{5bPHM:"&Ha'婡db#eU:hR˃:045]Wƈa~zHdy1m85 Aj)D$ZetF66lC1IbKiq%^^xtsc.k!6wBPn/*d8 +^ pT$DlCƐ쀐 dYٕ5PL&bDQ1Ȧ'MN{TR20 _ke [LhXWPԂV֪tWs@K§d3عxV7FT:U!>"RZv )P%p!.ȹ&' 54=4)IWiVI6ỿ=-gC]ɩҌr#EF 4Ja\p06**jCʉpz\.!bR 1[|hZB Dr&n.sxRs#g?MHr_0+]q ݭBuC$ml?@ з4?|ݩI meHd*JŶB}qIRr_w8): sڙ/DcDNV/׻$@C@g_eOm3s,M-:Ӵ CQKy !"-Y}CDW*vVd0 #~,$ ?v-)B`⵹[X"te#AyHj芙]xCLҀlcz6^1&Bl on 4\I^F2+ƕM)]m;>_%h(G{~nkR^?̄>Rk}-GxDN>x^G{f`$ }6 -w4f?#{&giڙTF֐L}qSLfWg^j兄3}ػlJ`-IєfJ\J¿ Ć,H);!;čRYq,H#ƍ zVzVL혐;hmdt*6NMd,5"d/[` K6ڱGˍA,,V*pǀcd&_MJݤZB§6.Tκ[/3.2mZؠ:fmxnY}yS1ma_- i!Y0@1~׎r.Ӵ#> yM~ƍӀ˒AQ RPśAs-h8K -, b[4=lpf);ԝkmӺ1=ޠiNRg~hŜ?/̑W`DIk f`6gh3R[]GQq]P}YPqms7HAĈq ,c}$8)ohMd 拌[@CA /CצK|F_8G GfdԿ'3GyZ\ݮSRHERǫݦ+ŷ&5tb۪S\DY˜DGsx'3VO*F<p,J Xw](nc';h+H%sճ;4;M)@͹ZnaM݄[Pz9[?.8{#&V< wI'~m>@|Mp>cԫLB2ߌcavzSޖ)*0G/xsPe_6vIfs,K/ m.-K єNh,F))73 Sk0MwGހF\_ⲗxvřJ՛g;I#g$@Sס;X+H4RU{\S_ȟz*݊i;J9e >y8ymuxE=C/$FT"d&$N?ih$8,ؑ[(WG0LƑI>EO_o߯ @DWF'~@o1}ج Aܡ/w.R!c Bxy_F2j[{D⊮нfJTlA'Q}Y ͤa6Gsn8ע:,Xh036 I"/zMcͦFwo)72qoI*"TnݱʺaRC^n2+<d{Gy(kx3;w,K# cNK}9#k©NCvswMkh,7QnI羔t#Cdx)٫<0X9. g=ΐw4O(cӓ!^ /S1!`6|Zi[~AMeVoa*Ei 9Jv":DE1I]XzE]R~MHg|#qaC#)粭/aԘڹbO.f/^ފ}OTj|zrhM=O8eIWǫ5>0Gj$:YQ  *7cX ٷbn_J0(Zޭo7Ĭ wmMu&ߺM3ۭ\(!_i+{l53~ 힯FF~y_{gC7@>E9Y%沿eÉgCI5SޙU{R`"Fg}+Ѡ mWEGp(Ǽ}uOA+n{CGp[gYқZ̈́]x81b{IŒˬF UM YMKK!_©5-[Kݽ^Y7ĩ,Z1"]w=uٶ,WٙU1xm)Gx( >UPNry[Gw1:!L7N)۵]8%|\^; Y">u \{ :~]{~t5;bcV75cA; So֝:X 8KA˅P  *X\Q4 |_QYnp[Q;!ޖ繳vG l-jk|TvF{̸a`Rw5KzK =];W@{]AQW GݹQ9 r(Rc;Cְ_m?h7(и^vCmcnS(X{sSЦ?d275zSp=Ď]!sS) n<]~(jR ?LLo!2y5fPVb>W\W[7=݁S5L+͡}; FeH|WC55 UlAWch=T1WM83Y㧏P"-;ԅy&0-m7Q3]2xg;ġ`ck^@s)QPa XEv.c y}+2z;p^Pr8JAHho9^_عAI(OX"'6~3=JН {`BmC?;O'|j/+=Q{qbo@ܞ!َw-),W8W,íPnA TW!JdBԚ_ (XWLJX! YJ ;kfiO>$GxL;At qǏ1jy?(MapMʁR^1+Ċ4bXVY1mt\ ? 7}K1XzvVzjed ϵǘlN0]Za`k Qp_ }Ů忘*OjǦ?m4xW`q4cShB/i JX . `qԖIgR)2eURڽ\LPR^nC<>!]`\7zit,kpݏ_,|:CCxTd"E,hȇENI #F)6$Yde@%ČF@4ҕ57YĒG8ȳdВBGZG;bG\KDdG>!!CSġ"HE,rd,~QݛGūQ84 ~E F"PE(@PL'l3ӲH"P zT:E7’KG9"ϒ-t%#v.x%$DdG>!dy! )P"VE";"'%`DEh=`tfaތ],!⒡ 4DX"TesD%:G;R$( Mᐐ™"E+b`$ZI(DQ$"HE(M(e3vC #iLWu57’KG9"ΒAK #jK #r.z#~# hd'1;0BE*X*E"";'`%D2ҠbF# AJ{CH"TF6FIX#bH2GY#h-uD T>;,p#D.%y{D"">$L  o_'%&1C"SHrE,d>DE/EvO1J#I)!e@%ČF@4ҕ57’KCX.9,´:ظ"Dnj'gSOjNyO O^/lAT5퉑졾ڱ'q8{,Wگ$ 7;?hȣE-3أKaZҒ 49sdtU$̱,G˔@ nurJ`wٸ&t;3+hYj.Uޖx")x?{)7T̈́hD h0p`/ƊyuEl + Ѝ`t)IZ*kB;TEˎiL;IWpRR$,FxCVfUn w=@ِ8kU1O48d-0fw~j#Tslv3-iIyn@@ ~)Vעy_81uR̚mu|! I?MQG\g u0.x |xtO;5m5kUFXT1%G;_:7Oe2\V?>]Zr`O^]tZcf~\. oQ}uu$.fGUᚓ-Z{ODM1rݫ!edw:m^)UAG'c79 |S)Kn%Z~tߡpPUdL q˸oNqs'5!aJhr; o 62UﻊY?(w1QX>&vWonZU!P*c){.=l.:(.?%ӡ[]Vo# ]Ӝ"IxJ;Y JL 2 mOan}((;O؞H0J+e{溒 FT_8 r}/y6g0iwyB/ sr]:mTRKͶt8ԣU /5o9\9{d. x 8:du:Ie/';hߩ=x^AZsv9#X?55K_dyRes=?]ed9 uOR~lh>?{ğ,mzVnEUn~"ӎ)˖o7Q"EDVhG.fȱF"JkӢbAX w0˄9sY"ՑvUJi.dFqdꫂ<s^oM "*vs#Z-,1QO{us肋ZC2H_P2=3c_ l7{ J᷋YSyjLًُV8GsdZz,vy%& w!Iz!.ѧSG}Jc&NO}yj=M#e =~Y{|ѣZzwTWb䰉l&ݪzPM`?U.47{W2]ء7.lc^9U' i/ _-΍nz=Oyg. o?J~hF!b{yD5WŜCx#@wO0OCE@EAb+ 9av+OMK}V]W OwPkF?iʙOnG{}:5{ց֢6=M[ 6sterIH=h 3蟄`lޖŐo+wfRэHR* %I$X 7M)FRvB6 TA`~, E3<gl0㴝i1& 5D=ʔM}"t7gEu^-m~hKG]Rc~6羕,uidž.Dx;r|ׁ5Lv닮nQRqs.6t՘&g'E77pi(W[h95Efqw(u Fqb;:5%}d@HKe?n<:CjuZlHzZ⦳C}M=l8LSm.y=oc="B&rjZATyq]xz pSy9$ 6ڇ6VSO u}/b2w )ǩCt}_hjdobp'w:}ѻ_o 58EUᾃ q_pc/Ө_y HmcH^UHT"`-`1}{Px$V**"B֪X"M#ԁ d2I,͂)шU!f`͙;y'H}kx s<6,L!%Lsq2cBlsI{HjFrZ6\p~ 7f;"x\znC; oU q 9WjJ j 1?!9Ӵ筶T P@h !4VcWgwPlzXv{MXz˻sܮq gwG_9ц}%G=J׮oH\zׇg{K=oy~9\.&럙>5g%[AFԣ я{ݒ7}؝kD}}^;Dcϔdn`2Ϳ~stߵ.f>y~q5=N\5{U;Kw$+]{{KzzwQ`}}sT-nu:lȟ~W1+fy'%{>~Dbf=x y$~{N4k?9xʺM%&=<46ݲz3ޠS.'QQwq{1B(nN>-r7%{gwMw{g_&路ٳx̋(;V?}Ƅ&MlT;D?f֯;|WjW{oj>y{+wǣ6y'eO R1__idb[;JV߬Z[gKG/qad/{q՞6zoy%k7FܱQiÆ2]zc_Yr هʾ$ 2#LDjԕ*o-ƖGh(r=9)}3fk-E|6KB~+zzGJudυk]8~Gmdv(s?3NgL3٤:`otϷO',Ǿ^t9O͍-md`w>['`"u>^O|kyA\h{5kunw ]u9Ƶ б˷>/Z5TL|һ[B[~RD?܇m,ks w^FU{0\S!R{Mg5k_le ,j|a]>h}D&mԕ>i{g{|>󯉟Ev9wtXZYdϴոb[#k0 w#=[th$0e|Pxd(R"dEڈ0@ґԑL&\MY|]Q'&(N"z//33f `i̍j9 *Oȫ.؉+d@ LNHZ#`+C#G{xy`~d1@窝;;sJYPq~7e%bw @8"DL-^\Tz1fVFnDGlEќY3q32f@1za3M0AVn Gi;;v'yO՞x&]z PP+x\]X]@RC$Wzpȋ{Xr88BWVv,W,U#ss8#976Inh07C|K+[Ő!Ͷ U!D`B) @?NGU&<2@v = :dIfO* L'tֆv'&%MXtx6Zi`Qԃ(02;EBWVmהpfkKa|QC!AR (i +W8(tiKy\>-\q#H4('Ob"K 2mgfH͠f#Nae}H4j~. * '") =~yg##qC7+d\)E癩2zobhZX)?M)˧Ӓ `%4NNXJܼdKYv}Z8ΪC $I*gyLDVA㔆-j $ac臅ֆX*\L %1($ Z"ݥz@7L77Qv8(TD[0&1KrAA+:WHWVW8Ue虰7)@rr>!A_55cW蹰Sv t @150Y289;5<+] QZ4`ĝ~??P?|Z "z侶)u paQXv+ ,MԾ@O9ls'O vh>aBϯڨ%K7.@]@VIY吃/һ25>V]py {76 `,|iUt5)Sh>A& K]Xd i>}yWV0XyaR(&ќ ފ}th*_!!zU@br5ၗ"1a ĀȺ/.\#)+82Lm@,tS6!HDMXR pt.Nw.q炿Ҍ<>{(o/f Tά ҃Y0:iqӊ|VGo]tB" :2FGb08V7@hɄؔ_O2Sf&.&t0yC穧qcn재Y(>ZːUFdQ.$L5lniAdDM=qLR/)LS6iorl:t asǍ?=bCBLdPP Z xِĹ0V"j&5kQ~yx18d (a'ȉT,«܁L—>.dؤ3sʋ5aX46;:(wDv"'<~ 4 dvY)pel>l< }RH܊aAEA [ѳ#pF[~GF.^d}.A_̟>2l f M`(~HtuBY߈vUbnbǔՍT}b:#&VMКUYoT/13y1I]YmO[ʌ2ցp#K \6q\ĿN#IC7ɶjIN+Q.'_th P͌YSUmN|j . `ܡ2*$}taz I4wZX_wpAS"̉  U]}s>2yWj$3IHNa;|xm`L򈖠,BWj!)鍚+jDfDTM2Q>1 61C%ԹQFAÃ%[%iC T2Ԡ!@$W?eK ˟Z0EE8ʧIVDɌ4'\OL @ fe슦JqSJ4ķP{ډw+eb)-h7UaeIOq ;LwO!Q4Z4:k5Shib<Ea6l6dCu[I$"NJYvF$ &(OΛl=FȿMBصF`B9hq:B%bBnh0`%L]GCt6q\Dg,&E}"P6 ol3'h  J1I{a.-9˵fIk_ ᶣGJT) 1budYƓe*]|də%NA[ sp=8ͤ4 ,gͭ"FʌxUR>ӆ#CKD@_pc)o% n| ,{P>5: ܦ ;??d*{ɔg6P|XV˔dFliCrgʘވ‡"9d.KHzQ1!øL(웑40tՃyq& Z`}6c:~ 釾Ϩ!UzH>G̈́5HJBǍsl1nEVoaۤ [IN@ &*fWV")~X5AyFqdtLL'6l"^5B*lEay*k܇8sC·ȗP\yOKK/B/l}Whf>~2&et[簞ԁ` .a9f u ʥ ؜C+,Px^u I`-!4J`BiSˈmZZq*1aL.aل'*)Sdz|M(/.?_fa-SsyQtšßx>9VBG jKשļ*˒/tu;|tHݏ4j8+E=" Ő.[@: 3FˍDE 2f`U8մ8=6n[AoqG!cMH*p :Z "ȶMq7iJV!nݝ!*[ˆ-K@s4{w?Wp_BGA2G+\ G*WSRК <2;f \YΜ(NOu%a8COԅBpV28B~fU؍- ܩYG2Ҝv uD1K)_-|lY0juBGgp QxP 44pP_HZ>L+:lr>#0桓.w6|tUd,gݚ~KȘlqs*peV`qCJ9'|5!&C\~G&S @K6|Eȑ0"kXdA~E bEBb MB1tu3N.s0lM8U:m3keOC}~ֲ(.,Xlfq 0ZM`/#qGC'TGC,#F;l-'b +$3ff%TISѼB!Bc\Fp*0W˥"F 0juSBfk P EE*RY4qə2UEpgɛJd*R^(jJB:6op@;vEEk+Mڂ#HwQ/7.K|2邢R0A{uo! p$#뛠7ylJ5!S}TN?sMxAoy[pN9o"VW&.W3%&F5ި,tP@0. x2.9C.3*[/D-8[ bRi{Zi&W'm'M8Aԥ1Y ]UVf#O"9+R aBC h-:"4 p& Kdxw9"4@d&j.]3u5I8Q[%|ȯ9Y[r믡L.!hŸl"K3먶*_\3YSUM\9]ZxJC熰Jxc:ec0uAoA9v*$rJΤ5ַ NUe8hT2!it6hV).,f8JjmqT݈bkȟ8s1k[LpcVMdbV8-BVj\nHM>WJu#lb&NL4]Bya5+fNTsS,x?daUaiptS#$/,/q.f J;ᶂV5UT6jy`y(&J$jUujVIC6G[F4u3&!X.0+Egx}."QN{bT֔VT1@5RG&UvVXA=J} 4뎨gV*[amȶ]BE8l k{XFJ忼M'wONo@3I])Vr/2 EjДK[Y.Z  o/BFS)Jq4jZhg@>F fI(֜N؈(,R%;W &Wnm6>Xd6UHh~ӭ{ /fMP/DK#X5BCrc*`+iCoG`6‰wgM /5 49V'x.SƂ Y%k ؗ2d{C KzVmCC h\KTFY#5nEڄ U!lXAIlt4LM#- })z7^R(jl/z /wbu-*9L;Qb+)ķJX.]ɜ2=ⱞ=~z`AD,Q4(?DF6"zhduGNL߃] m<" 㥑c^d$!gvy/.E(5!0T&b6iҭUt²/8\Bθ50J /:z4W1S^Y4x: ԨHjv;Q'q1Az}!zIAle1ec|l޻cPe53§VYX5(z797x2 n=TY M>Y1J2X/r JPnhccb@_=FYX,eO11̝7!6zf9Z֨OĎG=o,^ʚ#:A?F߬ @sm* XbGRdJOThecK,j ȟ%U~0e"0lu=:C%Hj='l\JU­R34&LG.:xPKbY2cgڕH2@(].&^߱-bh )cZ"u=3V&#Նm1O,VLT*J ?{LxB7':$TYGƽ#t9e9tU\!1JmTtfRYoSt:vL]xIZ1FEs2buרB#ЪŏY,#SRfB76Z`إ1-[ @.;ã>64k|fŦz3kXB2;6Ov2OT2CFd'N^{F)NJQ6 ZKSDGr$B&f &ozfYP$0Ь.K%ddB}TN *B&hM1;  [ڂ3wߒ}$)m(m/{Ma-Af 5( `0(Xj Ȑ'0>{N@&_2J&D7oz cHjTBZ8VN+_@Wc(+Kor? s,*")D`VbRfiTTk|V[,"mCUx"ҐQCݖIo\M9nj`u@#pZZ{T'{a̧WĘ2uj/RO^P"ٵ{cMx!PCH]ф&䤀4ay⮮5oQCMm`̡Ƚ Ύbp9&ṂjyT-ZʶoYK|%5)9P,54n6@֣)(A 2yḢFIA=CH`t#fK=!=|S"ЉWJ%̘'fdrqCr  bPT~QLzB-ͻMq N\Ť'NrSdvT&G{T& 0y@35olĴI,YTBSȔ0+iV[ BH/~]uW؃uT iVlԣ=ek6uw,xozڃLxBY9=.1uਝ})SlցLSq}8y;3q;1mLN r`!U $I;eH!Z[B;aС1.ԍ>3Quf`Qy=bX,-wdV_   8i%>5v-i }J_ZC^zA_ѠVH+$SeSy0DK2/x5^"(ͭu4P,=bk"4 SûbIZa|񒧊nDKAZd 5,eోoTj-d䂴eԖY[mLnbch˛Jm˷@bEԍ5kwP#\52B4442Kk7m4>In,P e4RTWR|JV4yW#\eyTF=68츙52&dXr_f US_$bs)QD恢CPxgێ6ļ[,@@0³q?cQ^/nχLLN⥵d5`uXO4Sm6DT K{8N=ۍ*-f7I$6~d+Td(~Ng[n&;= A&8ک6lcи&&f۬M1+[YB":m\l QI9?" @;0f l;5-{9AG,OU*5~cjnxmՈPpm_."H It"DHRjE0Kt7?+ "%9JJ5v`G^ٵoRM``KmRIY]-|D6_խABGFB]@fi5#0l0Fж8SRFQǓxQLH->1_vN2_h{iuhP,M&@Аmm yKB@8NuVR* : W,ia{p% M>f`R;#o8vFEB_!38tPٺQ:X2-hx¢ۀv6]6fБl#"<dlĖ؜`s# Eƈ_*Aqnue#`6⪣èCTvjWz:GCf0r32eOyjhZ'Oa !XL>y ~?8r7U\#Μ6R ΙFTV 8~_3Fޏ|A4lQNNXj6ʏ(p6l` 1\BEDQ`pv' J#h!J$h)wL f> l ͳ`` lX7aŪQo7'ygc1ЇyŞ.p` LܝvD. F)~|z/-DNokаи…W?i+ul35[̮歶h0޿)2ͤ]촧F}?MIyfE\^'3KIb>s.Mb[|vKv>>S{{t7cnd@Ũg)hR/Oe5)R:պj{v\2mgI;V]<@KA'T-cʃ R6zebeɖ=UeWi!Ԋy6 .ª$H[Pg`FO^^30pG2ǨDe*S2aj!Fq&`r8^-.*p;s=f88\j7>/`V^j9%ED4זLg"Ɖ*5M8T b Vܣڧ)I*[H_WLS>3G鍗&Iky0O+T ǖJRI89P`J9: TwwTH9:!yzIWlӇD8NbM/R nKIvկ+{>G#:֗9EVg%K!֟UnmEV酨"Ym&muX*F.\R kms'JE nd\ ayt6&5BýE݀ OH ! o.{/H"TW4y9/rs,&浴v[r{4K.~-KRVT }'J3rĥ\?'n󩙒*OŜHZkE/{A.BgUNlVz<1Ȏ;(qzZ0Tw[!W1R%}25&7BYeޣLNLeLdwZ[:*7eY$}q1ҝh}I O7 o({IK*29 RrUMdw iZLS-j&܉\ $1eSj4/WՄTS)5y4j4J7VȢPٚ. fȌW }YTDB0\{z0'Jt?x Ʌ4oMa+ /7;TLoG9578N&i QUQG~^P;um fop?ғD)1 #sHF:d`X}r0b_&5{ژ1,s$ٱ8]l9Z߶AJoBa.$J@Vu GKv7B> Ka%%T%6m}6` Eͥ!RN7kϱr#*l44a?V#h5VJ].8WvJr+ ɢT*A$w9{ ZXFI71:f.&0.})UM#|* $[RhBTk H:O$nXT +9EI-L rOg6|h{hoE(  Mt┅ '{$Q- y ]1vAHf,74;!ohf>U7: tׁ?KU߁%nr-W;,{~Sl΢noz9k7푈Q̚2S0s/J@;։\;Z @a15 o։]Mpk\ x+/aժ+F+MOH\/BtNH08D&c9u׷7!F #C9{&O&@{5!viP\HwBfPP_A]WRTn_f=z"OrO7՚7u;X du`O]R)ìHgq$7[ 9 sWBkAiXrU.\υJ(+h*@ r`v5e6S韣BvOT gŃn}&V`|"vWAB+x蠜NCufp- [Z_[^ѽӪ?#@Y\VQw{zjK6Đ&NvBہ$LBf;ǘa)Wt @$8(%֢TX9;w |@ M*i3lzsq:S `+ acǺ]RKc뛧S_ގi)t6±ky% ۼ|qfg;.9B9Ocշ !D2bۿo8^jl6$k+Q,$+[mb(j$alc[i.Zl6V%؎k 4l|oPFC!o31u]}gn%5̟#H~jɶag -z1;g˒ϵoT :aRLX_k؛3 m)VW=/GVկ_V_tV; 't:lS?lԻC( AwW(s"o0M1lrFmp˒TiJ1Ԋ/7cﲀiZ2X3/C"b2Y-֛;-7M׎]m"! cŚΙ9o:Zz/A=Pf|^.ۺDƆbZH5t>l.<]g6knoݔޓevn9 J(Cr,Y`~6RlRC1 gOD$}e(째:۷&Lb. yo- o.Z{ pF0йO~|Zʯ%{1xB1ĽAٺNp$FѪ-w(Ȑ >&+Q<ȥ,jY.hm5 lru1 kKa[vDkyYHq7ĩ>}#OdLr&T /ﯰV9{2 k>j!ksͺ3PUGLk@|Wfvu@[eEz-k=hTcrG/A@nGcŠ~#`lB9D\7|9{CU(&$ѹMXHW͔*hͱ>,y="?lA] ru1qJoti59w̒Ww~1[+5!t"c'Fvtϳ%e zy\ȫ+" _R7A^ ];KCQyw^KY_Hbcآn n%xPZdܺM"H-m/?4G=[( $^&Q5XPF,AxrZ' 2CM0Ob1=ss.-+9 %)F]jvya_S-G,*v&#a5LlEF>Dcg.Mȷ_nHo<b٨x/XirӺjk oľ7լ0QQ:|>6fjo$x֨/D .^꤅Y@F XhqR"]?)0oռ1 |-zp7Lǐo9E]q b?q++=4l%.H 7cЕ#HP3 TO!`ֺe %,ui* tĠ{n-9&iEz(8,ommFV MFo% (,}V4 ] )yG'}IlUdɗ.?SRcG]FX}w[#`g<2M 5ŁbsztqBC꧅xaeh ",>Vz}ˈ:}~P<~EJ]d$s읻6DY5j2Ϳ, Mq< 2Qb0IFF|.?)G+g kuyqL"-ˋ#xc< 7{;P_Z%κq+ݰh*s a0XD{3BńtQacvrX"bCZsY0)lj7&Uez&Q-;mU;4$\R\r|R=<lvEJ`:'D?.NPG MTH`m\ *Y6 Sd IrA+Mn6*d*>gDwi/*bkZU,-BT R }ˆ2 e#R`Q?AAV{YD\P։S&U8|N02pfnHنOc:MَHZ- D$go[X[mT_?ɳsCH灄P$^`dLE_ v,iCb=.yqpj~ ?v ωT[;FRWaff3d;لcW m cCp+Aqּy>GV r{킥1!?aJrH#PBLA<#v3ixdecɣ<6.#W?>5jQaUNZ:\0b%֞wya2" ;QtAFҞvI/_t˪x+Hb6vXg4fѹ[ǫ>@lԽK4Qn`^ YdЏù"Rn lEz{/B$o]᫻f Us*a<_HPIY05k!QO3g,;6ȫ>=f(b{*Hs=:4@fW|%&!ÆN/0P-Pj(xU#6;ã3[zsc7ϯ:o_Sp_ME*SN <厪!$r1i2p|boP*Ùƶ7tψVҗ V'tͥ8)󁇩݅w'o}+KܜM< *}F0WMG($wmk*p`|~RuXQ s\Fů?TΈS@ئo7Kk9b]oG'/oL \JW:+Da?!m;$3Ti7V,sjl[\$gJ\hE(M .|:X%(J!悑G;S@?x+/'&տ:Tg8aUVӏQ#L$AߝXD|j _P3yٍUrȌpJB8s'TQkuO- D0{N`z`jda1c'N.A6T O'O_ ($uBHc ”lpT2ɼ'4y۱C$ or]`< y1R1T_z.Oi;ت:PsXwbA쀱O6yDJ,C4Ҳ+DK&ID{B tkU~gX엸% 6QYK <?cc}2}-Hgw>ˎαްp?4G@t>;ZNՓ]itDgJh䳄ؐOY?)9!{t+~$KJs~W, ''ͦˇM -ɶC>GL њ!&`fY o9kz]{CW_OC3߯+𳬳>+Ş%ghv"5tYd߳۱Ȇ#w;e|CptgL-J;1ѣYg- }o^2RuMYB} }{&Нc0as2Fn`[F}g)߷䯍dL*?t!ÿ1he4p<=೓(23>UQ 7<0[!QjA4vYev?gHet}%.~e5C=pN*/g7,FyR%:,G!iR`c%%buW&x\;MWţ|^+ 0v=kӎ@)._;aGr^w촌/$}βfգB( r/f4n ) $@uԳF(F_],5-&=RB5@"*BBe:n}!Ⱥt'k2!%_s7xy 8( 1L…c"||G;&~:VQ0|[7ETZb6q>V|dVW:2RU{iv/>Md9gtG:QK3 I"{MD!hfSn.s$0$  _WĢ7ѡ3 hH(&Pi< 8 (}/L"Mm |v]Y˘/A=RGw 7铧t7OWҝuSNw!S~a"7@DIldGR:G7!E3 t›N' ]P 69II$^lUC@VM>zp'Gl9ӌGHMdbxit_uDTdQb-ӥCg:]8 >2Ae:t>QN]Nꞔ$+S'DWVNDn'8H.1tFNல~:!K:N:a9B%$6n& @(@6Jc^mKoŽՕ- 75j\Κ?tS<UMP,Mfyl=% q(@8Dy>1>+#̜$șoj.dygS9懶a%93 +G=Fمyaܲގ_WF~hw8C:g!afƗ.m.AaHM* H!۰PbE4?('>~AQ(l'H"d"aNLj5LQ2=ATx/~.{:S{JXutn gGa/M.4ڶ>oA~:L;~"<:4smczk3,>9pXsngivr(d}/Edݲ/1&י^ہOr#suVگS,>VV]8鉞ȥk?a3;;Xm;DdFhb ʒv.oX 鬆pvZT \CK2K:%ƥ"ҥk7X-59bBׇW;#a;,ЮjjۆGtrhGp>8r֢tv vv4J Ra}=8L- suSqk;\WYm!PKvS}G 7$wtʖ䃹a%Sҫ2ת."EdD"PSQYNDveGGG+>;ډE^v9,d* k.xPYa&t#jR<"vbhdMM\.ہEM_:[sb= lol#\ܱ>.;]~,cmџ[m\ΥS֋"ou3a&F}|lh"GLנ @c]qh=JEP"Z.}gVvu3m%\MxҟP@"].,Vv*GoAFO*|Z4Ÿ)~aj`djv5JObdʷTyG~9V)~fI~E%?gOM;[NqXz`rY5{L-•TԓG vtIjv.*$2?t+9?)p35ʎk>ɡcvKaA8Mx-lg<-Ao8"E1sa;]Q 8}AR[x+-3{Tf<)&$G, 8cF˷1z~:cdj3Mg!h1e ȷ;sۦg՞Rs)'Z۱ʥs{ʺ0Syُܹ>.GI̩Vwy1 u._*;A+j|$p̛۹]gӹuu4r>T,j>ȻZ4|-;]*KrοRSsS}IV܈G[Xb*(8RD@MR]'꿚[>ꍵESʲm8ogfW=Gf ߤO3C%(-5Mx,_r4lT<"iIXN׾( hH;Z5_<]:?+ۀHIt`֚kmZ2h#ə׍O ?$iwZ5{{eOکiqb9@]NB=ȍ&jF©I Nj_M=o󒜊ҭ9 C4ofjjwF͝De~i1Fj+iIζZ(|Uqn ']tVǵp_Hc3E7זUlվ"uJ>Z9۝lWgG} x4ZsvG3:΅o5wqMm s (X ?B>7mC>t=xp ,n}O1o bT ]IuH`Y $+x`%3 ?A41fwqo c 4Krdmz|XR<\N~  ;-G-/ C wrWmFLQ  *r.!b٫\> qt 4OE HnD-OƠ怸QVk4h@^$^hO'v ~ Tl|@ط}} Bn@n^ r?` dȀlA 5aqE%?+b8!\)H0/'.aa['ܣ|0̡*o %E 'ر{a?_*Ɋ!{uY<*Tt >ix 0XkO-_ YB ] Mȃ7}};(W@'wl]89TZlo43Om{!<$TŗyTo~1CaHG.C͛!!kpG NB'}ՐJQ 7p;[jXYSA1mYoBN[ 2 [M) ayŹH;&C8EK lA4\g$8 Ņ X*~ Wb<::_A8|S!] F6@֋.;I׶^_9E7S :E*`tt6Rf@Oq!6P-6w?-T''{ Gπy2<,8?1ϭW ZB-p $-7>,@c2ǼiW( w=u5jďGiO t^Nc'Aϊz rSn83gL *ӓii?ӟig3}Lg>}3hd 2@ dc]Oߟ$o2@?R@P d_($@=2@d 2@   d~AI&aO‡iT*RVJZ+UJTi*:F8y{Lq o"\x&DP nNl]ϵ7H6gĩ6HOfؖ▟`M< Wn^~݌fuXOo.abF)w'oxja-@h{>^cu: FL`$r hBc:AJZ B?a +3SCx 6Cw(aTUܽ,9=n6UφQ ΃o15W46pۀD+p4{y*KtޖJ*{ /@|Ev{NȰloGkkV+{wnM7 UzϿ٭&~$|M]D}"|BGMD5/4;b|`lXo΄ѮK,_v" lR'xE6ehFb]ffO/Z`ǪǸ{ϋosԈ ,!`l0pi5j7UѢU-h0 -mśp6\"%,pR:F¡W䢛* X¼Ih^hzR%-jqaDWZkv-Yq>s{Ji,$ȺbWڼ=d¹쯲m2 -[ozX.U",6f9EZdyjbsѳ]BT\hE+W@ɦVJZy=K+ \UxvlTBW-aҹX@cOZk-]$X)z-n"NB=^@آh -rߕռrAv.V2Aee_kTmdaڗ瀋%lJNJ=!8 V}ʄĹV\;^N\fm݂ 0Ŋydߠz[u ck+LS`]ը1  ""C423I"||_y^{A1hc'L. EmZDqޞ]jܭ՘4]'R m!\P:N;We!F;IАLґF9ֆWLfuEhG7Wddy u]'uud T?!mwEtFF43}U}k@Dd 8`f͖$ QU;X.4<z _pF6xΛ7&5;-_5`h (9p_ {P;tD`!BE3{oj'E@@Ug  ʒnHUE!ix?Lr {{y&J NOqtm}FAL<ũՂ"5 Ǟ,hY IRZ)tCv>Q,w+6x_J"(?B45c+_ SG䙰}<؟¶?wk$Q&|zzT1o[fe^__8UTGN⫖ !T&ڬS.h[dǁiAY*ͥ ReKf}g( 2H~:E_%uGI&.G\]uM9G[WudoKb6EI,#&?j5iK + g;(جxPFo5P%{k:O[ dNW/autrz?Ɗ Q}˖ZWX&52䴗? 2:IJ⬛W'֌JV[2 ˘gY W 1YU2yQ䞤NwT['|FOiu[oئ-?Qd_n`RG'>n^40{6+:` D8ҭ[TĿW.S˦}ߘ C[p~n} Fka~?'MUknXv5[*9we"CMkUeueo\!1\)I`HT[zHF\q5l-I*9٭ۍZYnۋh'lq:l,[)%)6XҪv'^0]=@|0i@k{dfoboVǏ;n9|Z'0e,BLnűLnYD" H8<[-oS%; FKJeh(SVΈdMJ( 9atkd_5Mfmfy S]0:yRuH?=3'U[.I&DŽzܷ`1$w3SEfTLEBR$W*8mNoMB!xna#­j|:fI3nH65̢.4pԵT{0}-c~-)j4 K*Uhɠd~w,cݳYP' ƑRZ+.,+kaq'NPQq!ZTUdBiҽi]%y/Z$yO{м xmSHA`!^pX[嫀 a@0/ ~DE฿A]- d^(WDep`6!{h=zAq׻׃VuO'J/(Nw7hr K@ d1P](6A?ۑ8Mܣ=FcZB0`n2ڄ^ 7pGA)XR(RYH2R“-f: Y-15\9{ *x!pTXѿ5*Rڽ͵((*.]~PDyQӇ..,`ǫ]PY@p#olJRT+h bh@  _ R@?l ga$a>%8h@]K>9*\V<nFM6 #LjG|̅-A= ӏ{-)EWEx:pfeMwl؋<' wuIxA㕠S ~!P(ƌ{2SX.ÕHvj@-U ƐTaOB}ޣR‘_&}vIDA-ڎCj«5vl G=nOۑ?LY ^PyM]E1CPM3 ]syMkʶ6k7X|vlFRjAgs9N`u_(;~#a@}ml bIb@؃_.0a|VĈivPre=ژPYua!7Ӷ* eyL2QJN;,Sa#̟I&);N-] ^BȠu[q*G৸{m Qss>:8[8@m!jTS^'O(\wW4Gۨ$+"ZiV=&EMKX|?@BlTMN$zLA !NySȽZf8BS@3xJ/pH2:G1l-!\tQQ3a`)HȈ rnn7)!5TĒsE?HӎJZƧ&ugφ0HUn'4@çH4W䛏Mq [mJ7KAw Et1W+];8r4:+Ek2/^O{jdZc5{^i%:9>ԈJ1:[ 6 [}|F5N.o0kf8:R=Ċhm$i{ GF= SfClP1o/:+yמ |RZ; >xa1#Os2j{[|=0:zXĺ#1a)pju&[g;=4/siTemhʿ'@[,rP4JKU\e2h}h=2E/ۈ3FZU*8~))7BB2̤GjUC8ZZ$˝I!{.M3 -0DJGQ]Z l;TaZn j2s+%:8ϻ%ݒ@!$KZ'ð(sFB.$Ψ2*ZgHG*["ڽH]הSIBX?i< JQSTo}9A6WSE< _JFPX! RVy'U&JDQG"Eۓn HN H7Z98wC6= WC8#{S¥)IQ$>iYI?\ٱĽ9]Vdte$sh)avJ1*u| ^7 3e*io,.A\wUR>y>J4ET0pơZ0-ݿФ-sodw(9*!t_|b*tW2xT#LqYU=* ֐TY<hw $k~*<ɏe@c ƕ hX&b .j}sLQd@eS6F̈́&cJ({ ;#%k6Ci#RY:49)!n0E$YǢWȣ|ۤ q_Np]x/I:Tekc Ȣ)r^DvL.% ߂CjC(ip6z$i[LD $c}Wg@v!^5eCnyTZDžMKH98&S<3jʹz:c}P01ËLPǁc_n'P0Z+44`)K9^Hp]vdދ&{?,:_N brlDSKEhV^^e{PlZf9'R`f1v|:i;x6y:Vg7"'@%61]Io袆Z5 !W#E#;H, 1~4sWP6voqUEQ(XE)k s)|/0dK+:-YbGX[3L0bA`pWË$_ t(DI)+F U_BM`.8K˥h`I$·-d3$ 1s17yv`m:%!M:Rad=W^ #8b&?jŐ*:cObm2 ȗcYS(reh ) m__BiMl[Ht)]մ"}/#}izE;fv WyOs6dNmLxޘg$V6#lxb+,ﶚ yw*􅮯~We׵WǹAI`? z킃cF:zQg !vK:%Kـ#rI4U}6hiy ;.u1Ӌ+"=9ZZ [VɅ'c3W+y{ڒA|zм>iqb ^-! QbT\irDP)濟@Ls|GYB U=x(a6b^7lQ_cNñFkHe#ui>ٵ{LJi0.tgّg0Z[Z1ÿz{%E^9^~BXIi\SmQ9qia(ieeVaCv ~0Y`kgz_XqniAq>J [9*3,_۲yVeɅ*2FnƺF_v%u[P/X4 ׻0XLU*xRYmr$lh× 줌ˆmX"wt ˹Ac4)Xc ǽ ""(#ifYQ`fDc.=)ʄ&>qNV+qlJT(iM:zX[#%a4 :z'~mtZi2`R~~-o 71:S5~RP!j>pd$ ,̝㥫za=Ӡ|9FizVC:ObEL]v9۱`d<)!ՠfz!tD˜5PTpH>ǩ c{[7F ?G`#>F?54v_˻9Pji_5䄍X'x)uBPf&+`L$ԻʓSҠΥutM=6Rn{h%VB>ǒx]nCؔ l|/EyѬU13 EͫFDw*e6~諑 !dIn Pe'8em>YvdM+tJ!c|oǚXD7an )/‰ݦ6H(Zo<򘷊@ ȗoQS YEU 2t&]@Ryx;-nS-OtT 쑗"$ul~av[&[O}e5JϓհcK1!iJu\B vg>,&VZtarюiF3,f@|k{x?Hf7o)RKFN o)۠ mQk7?BJwj(R`6'J@ɛn ,Aў OczHl}'w_%=C~o5l-/=;3saW11!@&Zb |#gcQ_uQ̼ʖ®~9 mZrl&&nPE-G,QۄEٌ(]#ۄL2:cZE-N.u׫lXY|$a.%"~̱R@h(?Ǚ؅!:_vNPZuBW38arECbK8i:b"qgƷi3]ꞒbԱXn'OXYE&h|]{rVrgkx`!8nZf_>eob즒oFx]y+ۨyؒӒC![Wlj(ψ-Vn$qRְ=i0%;W #~,MM,yI=gM<(?gO׏6ȹa݋QZI{ T9!ᄠ]򝮣I_ۛXǙ/Z'eW\qG<, 9b1tUgfIl<<l3 uGc^I%s}EVH%,јo{ ~i=I1]@|ʥOi^_e}OAJ/ٷ mu)"^N=S9/$-K* 2Yg/D%S H 0ZSmCb}_ (9/Cq$K)|!@4 E'vl+{1[HqB'HUG<7C7N>ՊOy͸rH^@I`m9oJNuyY1Y1/1Xy2Ae?)`om }tiMGC፷ҡ.c"ֶum!:;切yҊy w^H쭙c@ckQBתC,0nfrȚ>cAKaґ[JiyV/YTa@2B\W@$X Мb!+ٙ**dh̀``v9&u BYĖ'spb. R|j{^_SN?ڮN-?ѐ>TX|U!ˮ8v>@w9|~@7ЀAe]еjrڠ tFH0ՇL71I9k`j4:14gǿMG S"h'\<Ҙ qEI(WMU X.)D p4gn9,x- jJ#SJLdcr|k vLKV1{XLR{:P졸nMegnrHnsz\e.q{G"3e.7NcR Ԯ"RmJQ[C\GNCI33}Gv=@ȣ,TglaF] 9)=@-,_.SӉ{ZVԲ1io(w%-[;ܧ(|Bpjo*U#r!7fݦKnLܬ>E^/?3S.\.H`/VMCfs/{ca("xط-b3ɏ@ZMNA$߂g"4CB 0$D2XOasEvYZLރxUmڤÌv(}> e%AG}K(߉d+? On ŔZ_8pu#mBH DoNXcևwчCqD[RoHtS j `0,pAFcjaBr ͑2t%rLQk1RjFDg&kpꤢ׃3zqUSdAKrtu|mLU! ˚ z,۠{]M-X^VG0xDeO· 4l=2 5y֐6}@:rlˠ1_`A6S0=P[\duI)o]͚9gvUIo7AE, ]~z f!{nN8ԬdMIs̷EC~Mom8FYHQz&""U-8f1XQ_z8h K8H;ъ84j+W4@yI d)-[^m|"wp򌅳dot*#-8I t+ƽWjs{!3%B m6du Z]q϶/jՅW)F! 6g`U,Qġ%Ijz\4.%vO\xdZa;hف4ՁH:?kJL>B-Rl0iDZNaiwNm*L&3Dg#lv.y _VzBM>%iu cxhzQYDշL;FBoHM m2%c}-.Feɷ8v5: e(~aR|J1FoR?Ī?SfV,A#yZfID2m fd3z SB?GHB~`N& 6V;Qa6픘OA>l @pSU?7gNpO- Zn? )3PdiT$S IH0G'{Kx|_p3HyA5$l# ')##Xw.k*rk"_/ M^7@u!̉,' !800R nZ*ԱG4{=8g&UqFpr^Ւka2$]Drp4`Qu6VųQOAH.x(`, $@sSh1jj׶ATwN*E+ZEDhͶGbk/UV/'&7¥mEy|dK [X߸JvcL/ǵW8X?!ݚG_Kq,rjS|,v{aDЪ\frlVjZ>ͪv UӁmtj.:j*5Jb>n@N[R7¸$,Fp@B?]f}gubffi[ nޙ)3K7tRˉ'_FynKs[$ ) fcxʰϿ&C^1?߂@5lV,d9uSEvpX6to. g&0 k^E`sijJ}#q2f@cgRl~o@*:V_+`)$4wX~nCƗgM6R]E0L3," S06@D-jа崁{+u`Ut 9pK0:Bh]=cFUo;JSȥ!e @VVu6P<ma^mF&elTV!fq[}⌼SEUю~0=k~P9WeoL?}Ѫ``gBdkPL9~eeKWe v$("KMFFiy#yٳtgn"4n:6܏7pyB9bZ+n'5)@ķ9QƣzLA kt3&ʗ_@X2C{5.?BF?giJ>5QQ'qpFD8լ.-I#6z;p*)H;~Ԕoʡy!,ʆQ/i\36J:2_uV'N?lZ?^fԆ*`kXMxP;9ycuqĝ:|1e ) ӯ+.-w$F%4[|G1q|w2r߇ Q8~T>Mwy5KB+K6ʁڍI6XÓ]<02enS'cT~>v3Z^iXSռ&r:4C+.Щ1?%WޚCтV;h$M0q;$`*Lu條{vk]5pIizCOпz}Bem&̒5g2?sK=zd}p'yHY2+M T^yǹz*ԪLov=/I0pCeSŬV!ɛ%۶iPH(R߶wbF5<im)۲TYʚC{JgTLSJ`kODc3',nJ.B+Z_q8".M!r}QhǁDoaiK*(v 7v־BPN6\busy]/aUNLm&‰X4USu mx u_Gڼ"Û*r0|)[!~,5ݱƾszg>G qWS^2==ͼ5,<FH@:DX OI.sސnTCC~9~("qUЯd6VQֈqϔܷJOο\[^_'^? ϕ jNY2} agF9Ѯ`0zX&/qݢN*ѸCθ%~:RS31p,%{+xl<GJ5nO$@<Ro3lW~_oQ}#Jd#D,G2 Vdq32o.Jnɚ(w>O!hBUhUUK8)UҨOxn+u-6^>?RUQ&U/P6? l#C!X>~qZb8lK00VW8Ĩ!YK>HeKw3>P[I-w\h_ >a%8RY`% 3 ׷Ykߡ/@Xkc2mW@kBJLHN𑤺iKijUs(ՑmcyAuP7`KI !1<ƍ =;8{n,!Bǡý":B༽/oUX~wA-ebU +%Pknj60&_m`BU%D6:`gQAP%kHfF 40q тKKӆ{YB2aۂVݶr׀tvrX9ftw:ڞbOQ8̙NAlp8XH׈S)Ь㟐POb&Sm@ƚLZUV)+H;T W!)z\/Zvk\ O``!4p``̛4Hg}%䣅-Zj YNGҦ5H5ttXoj9r׷eũ'IKYW9MPHA )Bz-l=525ucQ\/-?ݰ[0* ' @|oюAi^PCX:!KHP6abUYoǼˮnEr*?V/^Ƕ: 3 q:%o0+(a06)r)`'đU膘cn3$%=B)_;$H7wNׇj5浲LR0\jҎr۴32=5VaeU*c i}\]U_A˯ڪFbd ˬ0vBjhoty W H@ =L5M-|Zq|oQng0{;l63{j2<׋aFYE*> HV0AzP"0I/u[&S+[{0۪0Lj3gYɳĽ,z%*dQu[j~PzΔ)rfļ|~ށ I^O-ըD"\ϵgwߘ o5rFKm0kUULw|˕BICG$%~b $8_bDaqJ,¢uΥ`>֓}ߠpb ^]T7=@Dv/<.[iRI~ &2fZQ 6o ?oM7MP?+=?(FJ:*`w{ |L z Lw1áxt{2IKlQT]M#ː0bHwaǥw AUš0}&q ;H8Vil 2_,$A)v7P}?w:|kt7u$3j1|]_ %m'XI'œ*,c-8YtD )0ÐaDU՘6n r)]C=oZoXc-Rg"64Ⱥ{@TR ZBy_|Jnnu˻K0Q/RÐNzO̍ t8][9B$~3pЕe TMW8P/)gyƸ!FLWyUp(ZӀxqه; ]4,Pš^hjk%~sd;^»8Т\#R.ؾ"gqƽ@1#eZِx#82uJg0$o2͠ Q=F͊Ng&Q+램Ո%6> yp4=5J,$쬧6kY7FN,hK]ݿh`\rvi}XZ⣬?2#'2oX3*f1 Ƣ;K72nlC,RLi\u{HI1YBc螼MК9iiQZe9cjqessdceSX)Z~"\:aȀGDY7j[ bcm y9ej' &^7=mgb Ǯ-S_e_bJWo;rYS5P\Dk0x>P4w;C4w;302xԾw7h?]Moش]{#oTֆ}f„7prah)ÐokRzPĔ̀sgaʹoy/KG$N_jHg^R 7OA[ n|fRGbPxyjHmX—>4N'يVjzf{Xc2KL;ApL&3G2{ofSKr.fiO9#۫-)7fE;N\ ""d)Jjd22k. mhyw+` cF 'aRU)#&P:^BQϠY .+lx)]` M};CoQj`43#bZ@tKBnJ"icpLc>\:w *^V _7cFc8?)}Y3gTE$op9Ν^9`O G#{0nA597cWЧd53Z쥱w}m8q {^N^@]jtj},gmҐ8?0jκ#_d}1>1hJ A) fRc1գ"Y3NG^i 2d'P}!+M@ &m)lef~['c,>ݡ}{+a"Ę).P 1( J'z }jLweϠo+-BP~yYjB),MNBSȂ1>> @AḄOFLOZX%&$r0!7 k̓7{Qf/&)g.vEPl0!tO)! 3F1VzBW\z9FC T%\R'9 {AzUB3b94ExDQřLm2&2q jKZАEFȴm Z)Z;Zbvh;钣 7Ntعe=suԸ5zӍ'&6i>DM2U_m97 nC\4E}ZugM zbU`TntnUeV%Rfظ4*con:~W=w"/0WqPrC#dm9 RR8}kܹ v0aO+C E[Anr  Yett>|K1c1&0M5fз&'q\S G-1pd}pZ%܏:8aBPC{]("Sn|cjy,(C?ˊŜdބ ~zYl;޽:句@^]|}I3$̕e"_+?!͹hƸ뎤(Š@9TG]yX} Iu_;nb\n>_dDU_ěgť"~ ` o%F[[(u4' CHm580Ϟ$=Q^UC4iP0cLp+m#?,MB\d+֩lw3 #+-+Ӄ|߷83{w!/$_iZlBK5ǁ[z]@ka8 qy܋e5Jðb[c + R+(|S 8;"3YsbdZpB ui,w%ȥs-ZGq%nPn]rjN @YEQiB!?XD:StL愫4/)<}M2W<Q}Ø--n%~d09 DZ1,UES83G1 !uh& SaMևAHBðIYS,flTsFTU/sQ4E,3,دihlM|2σ$Vdad KŜC6*]3@F),g۳{ܬpΙz^{;02v/ ZO)yJ`pS畤j&Lyù { 蝣"UIJ(Z!s[|y9p>rM-`$坄Hߢb_$]g4[ jsU ޴"#=By}:ȋݹglMάk`T uNp@c`*AJvU0 Pud26 mvg},I/}>Ygҏb+<㈻Tp5/~bbr)⌸Fم Ynn3غ C2[$H5N~MӎK[J:3نΞR֝&BdAckdŨiHD- G !(WlN9)$ kHYnRYIs( Zn,E)!nu]4=G ?ۈ>:3^̒_6KAgFiR3&@nK0tbRPĨ:aΦ1ٺ IsZ xBfLH)n֌7 k}Ѫk#ykLJE6vc>p [4 .f9-a)^k|F؎x@ jPTTR2G XCpRMۗgؿrmM_uxI77ľbCPd©R sw%dRIb*+{Qu`|q}VD)JtK#z ENT\:|tv9n7VK(3֩`tvUq=\nϲ}ў_^fl6Hfa#rj"&v݃!/`ZJ"۷[i1]WY&"/iJ U6}_e5C|H@!ˉ@2|fcY\5#•MY XBN3>4:M^y :l0=P:X$=sZv$ 76Iɑ?.qv!*Cj d"Ȭ6Ўkpڃ9E8e8N9-yZK&'H1_;o^%3<'q (DpiO`w|: u[s;Kح \Bi#V3㿩o< L#YtW;*t{t>''NY $ bY5:=)~Lg#-DͿRyhQ۹T"y/8 3ki0z*}4Lu< sC |+C15+`v0DL`Q4R>eN *6 z{zPmκQn^a-ރJ}!u@"8genRXb86F- \2rԃ<=+ӗ` Y"bOKTGkv{R^Ĭ ( NykO,(cc@O`x?鲃 c>6kl)*AP ,Q8ݥ:z|\ #<}A'sѷy&ˍDuκq$OPFC_Uf'K5h/H!2 ʩgLJtC*;c\Ȑȫ Iqt'Z}cD]sjx6  ߘӝ%7 _+Ӻ3Ψ{&P;T8fQAGG$x$Y= L9jIBQSG#vV6mwbW!>; I4gb P0O%RpmC/7%Gu,=$s=T*muj"e|T -H ַI~~&7LQp\:nAXhi}(\s U6NaWde\p sP').-JLE3_%غMgN$+%iQa9܎Aa8R迧(B5Ǖ ?^ vt>#*X/ɬV*U q=:ooܨO\Aޮ3_3&RD&$aS%C?0JW鮄D^PJ5 4^!#!>;' f C$ؖ8P 3Y =86Njw>Z5XHe.**dM1+Et>qǙ~f褹ʧ#m[zb? `.OJ:'"T+ T"G4Q;+_8m;R#N-7cM^DDex3}l`WW9%wD8?7Ҍʇ#Pv~ѓCD2ۥK0vݛ*'9Q5bE>e+흊}:lz] U,kDOhb韂3EPZvG)_C6i(+ a}?QW~bd_rL~R$ǰ#S>`mʚJ޹ Ep=`qЎpur-񖲫[ YEG<ތj7]`\~P3ur,mFMF*F~x3Ϗt,y%1&v ;No`d}}cvKWqtRg kmfMsf698P^3ۣV{N9PGցnaV_L&vzn<`[ywWIozť1*szsE qyJ,S4m@~Nr竘-wr[.4\5.Oq >=u' `s0Gz#1k;.r4 3݆I; Q OP32oG+p3?1Wiu \o,Pr3F$Gu:2 X%~V#ggg ld0ZG㊔IGɆe]/1KF3wo)̮s>~64$H9;adI-]lQ EtXFxkM"3J?p婼Wߺr*-\͚ xGp8H7K$>tJCOe hj{il_Hɴa}<3?=8Vx4*-y'B4_O(Ml=BĬp"ZX EMjߪa"9iO`9fs"dwFT&\NoP4E Ǵ[8^6SV]E>X 2=K3Q+"*tU%\HF E1JZzaH b]Rf8_Kk7#l\aXt""#]],7% pƴaXY ԓ+CM>GM.~8 nw7ȩΩ(!tݯAib0,A2#@F 3dў]+ as7fG}cSIrJL^~*q05 O,1(Kjƺey׋>+0g+ܙm ī($d EӷعuhVx$4mF2ÂX`.v|MW{8~%2_*”90OVQ/0 z\OV2\/f4D5edu"ss,VWBUZ -Afĥ8) H}oX\Vg : H<Ĵx)gio]w9(`фqRV :Hgޡ늢y)".[ǹ_"'zi"ve=rpv=4CVÿ:cwllDR3PVSZ0 `'FW! W)R 2?)p !z[B#d.$8RNCw_FEWῐDJnIXu&n"c^5 YA:k xYI"Z7'<$\2v /vNd?zidA mj|ozCWzUlyRǚT6h PIL<㑋Wa!8{iܠ }9:r"`"aW,۳=|V̦Sv*o#pW޼c*z%:NIg8'eCB.*Vu.]X.2ҒRU_ƿ.+6 <>=6*652g&$@ HVdhmGkI2%JQHPW]8с)K8d!27d3'nccT[:n+A7aBӞe>yM^AJY_]]4.rvswA D1E)F ]rQ멀:8~c`>F: #C0au@Wwy#U'cB|ffpp-ӫ3zfi|*"5O kw^ ޿7yb]1lJI}+E?aUW֐7m#,X S<L X~M҂$W-ڀ%F2X5iE'!tPUEbnZ{U`#a"-ёYA_vFҰcBxA߿^S ڷ,Zov`ŠNwTNW涳,"e [7 tF4pm _Ad±2d_, l|Ҍca.8>ǟ3.ݲ>(bgգݫZrK:.8y*,yM3}1L_W9bwƢ(11-mrqNVel+[:W'`2}B$ :J!HaǸCxwx" W)7%TP9!f`"iFpx^_cIѷGΓyY[-* @E*r#ukxS ^ܭY#AIDG Egfn_R4)SQK+zw#Of Ҕ t9*!JD] ldn5H'ocϮ(;顮+v>%}/"mLbqʝxkګZd]5h`nn2kUPK 3lZYM "kpn8nMŻ*J4C[qPPS`V 1xEďKjx Ef@ye|6 y{hLjS|g xO ZF-QT+3|AәO<' ح%&wvrGX‚̑v4cë:oU aB}e)HoPqԻbYY5`i}$RS_FSVKjhy\J *jQ R4%=87v.+>ds>0ʊ4fJ͞ <ƫs?AaE2sYu ͘W d:zȻ9O"ͥj}:7t-HVT BG2@u+/6"Bn1*WwaYZ0Dp$O4Pd-,/. 7v,>m UpetE#X͈L^GfNtlbQPinxH\6sDxwخO5SmAKV!RtJFvަ ȢrvF+l0rh1}1*C6CĹM%v60sW)a~Lp|;"#.md%!8 㷃+";pEH7_l5r[{^1:i&~(/> 6rQmӦTiUi2y|Aۤ`4BK*PMpIRgܤ3qwfoBTdT㵾:F{8 U 6&6x݂ \e ~Y;/cǖˈ譩ݏmqn12_P}cd|70Pl0UWP )^NaՐI$D{R7SwQTC85QL6!ިr+ Ww7͑&bz]캤՘> 1w&BU54b  ;$믡D:KR15cabq~^t,-9ixd" 3OSnU-LXM]C+6o;AY$r%)k{Dxݶ:ʜotF/1WʿpxQu`Hn\m:xMc tK_ 0hwf8T<+mX/,!72ͅU `!IM@XKPcFd(,|F !gTooQ=ܚ2c8r|Dp 6V!a|GD/3c!X͒X#vLX]vW_2IQ`]8 YN9s' rbyi?fv{wF0#):2ivl_ZuUriXn"is O{!2,\~ OF%&Yc[$޸J~N#\傉w?$me w?֒Tڰf:f>I-@??|I K[#n~+ Pa9e2$jǷޭ׎V6S弴cFs)EUuCRBҸS}iSZ#|śU@ة:vYor}*'pS\5/Dw2nn50Ex$S090~bՃ9V\ҏ"Zo֖81ľ zk4 1-X!G-,Ӱ(`Lw2Ө~>vk]G,"dI.)rpĈmTw E nm _0J>͉M$fl=.O#8hZ?etlwxGS8K('BrtK7N'l'i173]@^ST#3:ăoG(˫n;#͝† m=zL֏j}]0n~![EHz eZٶ{+Z=d&s|M TR, O[Հbmޱ-x5!cAJ?9(lR %2D}r+i**$JMT0)h W"rp=Ε׾m[\C;}d𢥀5eyN1e/lV鉀r캙(& i*S*#\3f3łU4 fJ1dxBEZ!ei b]p?0M~GY[QHE} y0?Q|`޼zXJ+>Q6~+!n /ÜT7 ˟u9A|9tMmϡΤJ"2ᬷ5{^H&^F֯L-n΁Ȫ!Ld^^[!J&4Gp(ZkA:ht{*qWSpѦ('XuJCyyɷ>Xy,d~VG9Y]&KA~$+[]'O7[ka-?L9E)_ϜML^2 zĉ/Ι֙Cfj QMNGTl('X)tkv|;<=xf' `Go+Fruo].ݷ 0\DOxϐ][u4!|zl DK I9v6{nn3"XHc+Zxݥ^ CSn8{O .OAj}>L:aς RDioa>CoFJ6!6hGVf 9. 9,-OӾ?(t_(; ~_|b¿!|+> SehL2"t'a jVb?:ɸ3Vɋt4|5ۿ rM~}+䎓ݗ~>1$j46>~LUQV{'A˝XRO4^ʫjFKAܭYOJx=zHw^?`BY3 ?Ԩ| afK+ۚD;eriZ 6QF}>qp߰KB{~Œ.KEl,dT5x;&8)am!➆%c$ͩ)yڔbK=Z)G˧H/rtq <ErX" ~1pTwˢjh+p&qn oۓW+BYkK"FM ﺻ. VM')Iᑺ v#:+7n?1%ىEPj{9 SJM+,.ɰnڝ]u:kGQĹɡ~P{adcP׮hPX-L;{/*iev%|!Թ;읝+R'Sȍ'u>/B7Y/lvµQ}(:$ G֮]ݤiȣmY= w{~v`t),I j~EL6%uCFzo=9k#T&>z=h%!;c;BztYVzCb C:)Xqk;i6өG -@xeGF4usFL'1kF,fDGBc/,6[ǽդ[;ݛ#DHOi7QyLN2NңD$ ĹR/b<&yO&K-KWRmː]3uV";%#_Lrg?q8p$x#aIlҷ+ScIgz:dm%hz=iNյ$XWF(P?T㞂tݗf~L?&.QT<8ibJ*{&>!jQ ?Î`rH"}i|G%q&"eܬܩIL6~e9ī}!z dž;*f`AZXKin[%-VJ|%RN]ɸ*D,F`Xs.bzD{i86 S^G.7wcB2c&?9v*DPڂ;VCo+ pL7Q1H_s>{ Kf5 ?P cRMEqlA5N0:6b|TcS>*=+a2,,?Fr >D]f ;,X8~+/5w P%Y.ݤp|m!,fRg'[7rH:]_yaѻ4` 2_/e=sng8X %zv̍ewiҎF4mx^(A#M &c+jƾ}Y)ݭLiaDfZhf(Rp>=04U &Ȳ-V+)W֞;7s4-` ~CQ \!%EⳆ,{gGS胁(ќ2l|2՜!6buYnm߹8O{\M s~ *LBAynչ\i ?LU#PA9!vާ6;luH(Pkz%឵ #u(F(Oq7s;!vD* +{CŝcIfC޲ q 1#fH cL)YhHb/Tkn78nr!LL da}l>y;#@UԹMP砿j訔 c괨؜2 Ry JBx#>JmxŒNNl^8#^!%Z$l<% -` TZ%P7鶭|~bw܏N}s\1Q6:#g4u!W^^Bٟ9pF;,^9;Vd*ͷ3{[*OI]em' |R&.54[ܹI'?Zu8!,UL}l3Yf>?[BˣZpӗ:b\?'ddcz^ջdvC $vSpqcG>í CT)BXIzM,(N//QL ғdmAIQ!C,>!8Zؤ.Q*yrWE!PTH>ѤM.}U(xNR9=C[tqlԕNk4B",mK3d68$)B!_zSnzpC,}kT(ۑ)L/}!ꍶ> ֫Q(ꡙWV0>HJ?Gs! Rz&ȭD~wdAq&)5"Q>o#Wk(?-GaG?AT-2>Qtft#lcR`q }tjWUDA;pPnsinr)Vr84 %ؙȧQtǹv&uq\Τ>qPְ~6b^7yB2H\e G'zGp PC:u˿JX/dҿU+|QW Rr̽S:,g܌nG-BJkYP*>yY\yXE,1;ե-Tu:]UtU-;zq5Gq }af C1@ T])! K9k.z! }0<<䢓Cd]|:!W/ǔɷ (Q3Zz9s^uȠ (2?ɟ3K3#&3;q~}1];:g@repv)P:7EtJ}*:tidX rIBVX@wfTG- hXlei7ڷ j}$1(Ňk(=B䅝vkT9#.XJWw2?%ٙs鱴ꞈ/8A/M^%T(B:et52%կCgs&Iv,G`EAw^s0a9=óaޝu+`#eNiz녔qX>tȨumMvB)p3|3y ZЎvEÒ'/ JnWNx"2#˅{Dv`GbEYrJwΙ*VýyLտHjتm q+dd8f\_g+,Ks Δ`nygR! / fw/c*P̃[Cw;Zd"ÆO]ft' h%xpYK 6`S]X<Ѻ'~氉܃(F9NB Vc$!A 8p_ِ7"9 9_BoΙg>n}:ԐJc;5h|쵊^|ՆHxj[& Y-YÚR+Mh:O%GyYHv{^)Bu4P]tӲ8ѢNC0"ǩP?eu^X4]}t=!Î'@)rD|.}!k,~~(sSAZP4G5X(⦧.`?81! /S!⛄*S@f Q[+m̔F2ĜZ4TRi|_\11_YPet%vvS%_B'„wUMO k0Vwg:9g1xt UYBvQ'<7 # #0!ܼk %m`Q+vKT vo8~%22b:.JcIN"oQ]ZI-nK:ԝgAjZ,+'b# 9D] Si#SA͋mx_zӜYBVn` ðE ]uVb*Iow%d~iW8;xmw̢۫m_8j#(ǻSJQMZ@Q5Q%`7YvZ=GQֱ5P揉#د!/nHNpcO$@{D=37US*Zh^I#qW2#cZ>$:E$UzDWEle ky #RFSՐ"vS}3*tB䆜V-$xa(DdYwUI )?n0Yqѡ_͍}[7q8zcߩ\ XwO@ *qMO2t 9_KwY٣>h)_84ޜj-^f6 w$?\p em#OCҔU=Ԅ0:jJ\Eo781X Q('F3XxsfjG >"2<RG@4pdr,-6}qP7͌ncI %Ikv{ז] % 'Jf1`@Q9I{+Ms؝XsO}&I@%mx10=摛3G-{g06dld I=08zI,?b @IPdJbcL+6:N#C\"GlIhzLؤ]ib@~} SX _ u-k PGeu+E.ctmMG+T+aQ\_DbANx5vS =[慵AMB].yf*L,RݕSL"3T)gLuB?%.棃= ҫ [<ӎO촑-3gzd fq)EPv+)~ǧ=v V# }Ҫn#d\{;Mœ[7Lj}(k8 *uUGrfZ =f!CS8tFÎ2yKu@2DyFSa0A#} JV״Uknb}*"8QHO9CBLRз)kVJd{O@)O!֊X҄4SV}Ds40~=xQ:4*?PA8iN'hsU`~N>'JQr$CC)#pl7(5s~kW~ 97|T'szu|nA$ ƘWs4鉅!z"thE5b9mT`BEqh-)¨ե: ==3ϣ)Ct^9Ylm_$\8qȴ84%&ySx>j:һpi+Q IBRS5~-ZM5Tgq-XPSVIDݮTJ2Vlcƍ}Kَ%>„p z Yl񌺟Pq'HLM't}2GxqSk>{IkހutWX"\k^8v+`+89v1z 'OWOTƀځ)Sx$\*&>ka%c3 V FH¡*Em`ˮ$C{AL:R!%?Fsi)0̆*μ ԬIVu c(ъvD1D,:+Bҗ{'u= DPBJ '%J:{'DR^oS*9ikiY_)dCI <ͮJmiV7e=<FaVy;.ESEcEV]Vӹ>e`i~H2(}md&pKq _\4~p7sZrڀoȋ7Rĝ4tE즊 XӫjqrT`L2ICI -g֔T?wCx1 so[A>9:CN䍏?. L?M!QHaN8O-%Hhå񟈍_Q\D$&4W9`lEOߋW,AK_Gύ:gs>SHzHzB0GZ8q|9@wբ";AW U0Q fQKQ66[ /'o YSc (2xVn*#n.8xp֍D 4i^w(ZLč/ +-yбdžBXbkaLGkв>X.f 8n|3]~0@gkJ >.v($!q\"ngd8 o _r<x~]myR< 򪪆${YYGU h^/)yW'/t5(}"wo6L*~wZ>>/CBos~;?eJ=ov)ӅU۝_edlYV9J53WnœO9thI1|m@bVWq&2k3DE:u$3)h<IJqOQ%+2#2Q.INؙ@ v}5TE)*DΝ:t[%f >Q"~+oՔc@iK٤(υj !KW (cJ!n AC`}$ABhjjcR`eFi0 Էl΅.zw_6 g;gsO2,'e=t >TPeZ[)_$Sy4rCS(p(:Ka4D~@=T\d* 4"KsHRT"b SƖ .8|UYjY!~|s2Pf( o}sw(7Ղr1;!A?O%Cgg~\ 2jz"*jBʆڴ*ZQԁE3c"\gQp;O}KM]JuPaDo @qCFAB_`\N;ڹS'b'sP QCALѴv L C$g \g:f$S jz;s!rJO =, ("fSI: 1aaY**oQӖ@q1iu2]cʴsYJlt{ICr (6/1ΗBXnN|}2L]tI%ғI{z MHUM9šo1qW RHl5^6 :lj6Gfq4<өGV򤺽Pщ%5eG7l2Z BdLH mh?t^c.#uŴbO/8Zw%&{eJ840)E`sR3!0"fs+ArEO:#I?)8HeKt]lsɸ'c _7G7BRg B!c4RJtybϠ7DbIAfT<1W.d_s=)"ƢM: Z}֡ĥU͊wIƖh/ZiփTd\]2,WIj-QsFAz+aᧀP)DF@NLsH'A`whG5أCi`FiNBNjⲓ}dSԚ#adgu ୼1[1 nc'6q)7$ %DJJ3w.VBIΠQiU7Z)j%8r"&#̤D5B$D@-â l  KEG~WX|S !bD$豁V4kfګ5 <ƢoNbcPF\:wSC#ʭ֏zptvev)$#09Pّ&-:M.Z)v2%]N -(i_}޴ 0sr_|4x9=84͸$n[(9Xcޒ&Y4mCۜd: d7Ƈ2xjzA[awH̑GBW9Ѫz)A?s`~iVGC@~6Xw耷JF6 u 2@8drcl1|+=("g1(ϸ3$Ga6]abqD4y}i#b,,FR5;1B SOͦ>L0Ip zgᗱCu&"ܿ-{~4CO` 0m#OM 뎑BhDffQ]Ư]MW3kSYИHݝ2-FŮ~M;ڶub F9ag;%Ŕ1|uPyt\FHͅp.}.d6tn~<+e։ !Ol#xNjb*gMy6"P fW38 Fk?/]uqETR;<1fl0c_ȧaPsI v<)W~ՇDA~*6b}}=+9 '"ZhL -;,?jVR0Ó6>O#Y[8e*P *dtZ Kv$pǖhu=o)8:ȉ#62 w3l -8e7N{=(8Z{wv6.pw($n}֭ 3qF6ݶel (Zl3j2frNuT!b.=>_]6W)!]|!MNU%~/!J~djfU@K{ۖs{4O7 &zlL=roS-Q=OP+T>J 9|.ҟ7"SPCpF VzPK`d [D}>:#/,^](Ҍ9N$tYD`[hK _#1lәVRiIV9}\jVK,c,k@E,̳H+x6b(wmcZDhmur,࢚4wΟCLq`gWfP15{\qpDh]!6,uxH-[u20/p K6-wA_ 8Ⱦ89+GQZ+EI)'ɭ&6Jn N:8\Yc'W̅P`W(*6tbߥ{DAABҩߞϮxPW$=&IOؖO 0 9-4; n#v'14QٴviPhXPL c8uOj=y5d<0Y$^,βn~-t Wu\%TjuYA{?9lI'=3RݞBz\-vGO\w IyMV.hoU^ SN̊s-Ckhގ:2Ĉ_8.{OʹK4nu#cy~T71@lvdHqCX;43i_&Cuc1\7_̿\s&/[ds~sH?f[%ϧ _NǢ #`SstӲ(!DR.)Zu?ffVGGw~3s곕=JwS?NE\ёUa veɿϒgf9\yAIOPie7+?@#SڿU cfj0X(k[iE6U݈8*nyw֒=&\ pG ¦>'j~- BQIp"lF(,ر0+(MRBSy+ C|] $>pSGz u4wu +/հV+cn4WLd3Zx,z9$I laͼ̴IFnN a\?m| jT*yHkP':o7&{%;Ge 4rnțYIKoH:HT`VdHm57ZχNU#Dw˪ΧUW(NydETbD!Wc?`EUrݤNʶ9i05 nY-5T(אּ Zg7eTsdJйh,|@k3X`*VY \ T|MΦnP=2VԪ*oS$U5{꫚2U\}18{,({=$p?VaAiD+"BeTqn"B^WE}}*qكq%iKRYVKʀ ɰUxE u8R?eJ" ;n)ْ`#b1)oxw#mXKo'"۠\*|1M~O ߅D#wX-D7͉f]x:4B-2n\:n ;Ϧ|+(Pㅦ'`*@ڪպH`{S]kRd~jk1CY]u%s%:!Gu!5/}:tz:\mՀ-Wֱns<ם40JWfask咈!sYO}.m-hfxs |I!ǂX>T\vL|N .nH80ԁS:]g0o]]Cx?%TLo_]\p<4vjr⮛MyUn? w4RWŀZEDW<#lݏQEQkQ#"8J4ffca2oΛm̪>/,Lȯ@j&/Jns2u tCí/_FpFv*a.ZJ"#N;;+elOJͿ,xR!쭥ǧ#TS2zKL-B=*)$Mrq 7P8Һ 'A`[lDUdC[@MmN(YőN7 2Fa=Vki77+4ӻc#jחQK [z?"KϷt'蚇/؃ez@_CG#ݯEd0ݸ^e@*o2'+|Ƀ*ؿvEm *BiȓƟ1$~,`&%JKzMJ4XFH:kR~i 'JoD5B,gDHD2N50 v"F:r~U\21a\_9>Ne7WGx#xQ73*_թE{*p7%ظ(z{q5>hʕÇ2BNsSEch`.-_ZK.*$ezkM* 'eQ–}J<ωbƣf!ai/*roޯq#aߪS$S|?,U) }'|Om^Y-jƝ< NS\e46]~tWzӥ1y SrĖ7;veliZIwSʣO*L4#ߪ[+ԩ\w/rfHhvHYJB وkUw4i:xՊ!Ð$E&B05uk~X|fԫ>U5ɷf>)5q4g_4T5=T#C]W|60&Hߙ(sm6<?yBWwx[S}x o@nܬWWdBC|I"I3JRT E!S _DN}( H-ĚM "}HșQM+rSII`|yAN8p Y$Y*0GЋ;[=p; :OYK)A&Ѹr*- I+4I9ʅReIu0ā!dK1}"o4WWWPs1f~C&S_*9*IB ITi(m!1I ƍ3Ԁ,Еi~M8ipAv&i\Yq*}d3ę1S1m(+Zot"zu- 2 q`GXE)uBQ%|MM7FQȈFX㛥! pLv&`)v&y u w!9]!B8>sF~O5췤7-+ΐ2A$hxR`+0Y`V%J ➉3b@F<8Sr~ǗʓtDQA_+gD9mW }}|7tFތkrK*I=fĝ.&)sfvVZMX]Zz;eze C1~uओ]@ W?y]"RƧNc!ĝ+ o)NYaˣ6;-t'CCu`b ٛS.o+$*& ZrrI@ +BmdF,cH74sM]&ެm=4*y43(F{X|ZM ]w?z 8[~>Gx zuwC^XW-DX34;ٍDݐ4u`dU(b'&b`l ,7aHI?7Nzk&YX <:#_H{{Ϣ.gH(DiPEЯqPw꬯(DZo*#J$>Qcs,K㏯7PF[Cu3EޭC78#N)>Uz%\ jӼ퐹#tx7S<lHW[5f5wY 0x]v`; X]zPn7@|vЧ\̈wŴ~HN pM) >1c-9cTaZ{TcJU~hp*G|SUz^i~"OX(nʝ_$ 55(t#Vd )}G"zM?U^;+_z!%,yJDqQywͼlV͗ZT@wx!,W8I"OB?0x,{o)}T=֑R n,c#VjĔաb3"+rqF<3<]v{ޑs=71ߕz$+I9q! o~'=(q4$V&l>0X г˕dO*`u7 cz菲ŃЫv&"~@8AwTѓ } X=cu2gtZ]_V C˧:Ep.:砏tfBYSPfPͥh Md_փ!o>!;EUwצz/.;&ge!{z1zM NT@=N#VlTc:&JZ_}]|.;y%\b8a /XN#c!y~?s89LqW# ÇUUkeYԂ.̣q$xtx$SP( {V! oKJTDjq}9;-in5HV]J`wKlp$~tRa5Rz^YTFj_\dhJF]A<(˩ ׸g!WDJ|oʭ %:gÍRZuOD>JcdX795<ӡ@a;YuXT7 TFyO?D:O*! 8E8ongv5#g JY^_zQh[lTQB[z71aU|QvzőEE 5FuNY -zIE- A@&vShSUӓV9i,]('RI:+$bS> 1=UZ5=f՚xUkL}VHAb %UZ5=f՚%ƠDn"3"wyyhKCMIVuOY897laEd+;bX)ժI4Ԝ+." 'nCR_jJR{'5JDėHu'0">QpkvCڌΗabC9S68GN>]MHtUk3m=f4ij]\ZWqlEŐA`Ka+y͞n+FCTu2"<=i(è㥠BFRȈP A O2 7/8{`Xp37xz qh )'J_ ԷنKEq{P +=Ep"k"5O7 P+6pX+Лe$tQjN݄l ^%hHWf@g\(֙xQ%w-*_c~ԣ}X/<s"Rdx9 :5Y4ޟ#W4ְzב8rtuF1myf~&GEVwHVWAџ=,EYґ;brĭr݄dj Hj`6?n)N9 JsQ#ݽ-驲,_Ym^!hȇ:Nd..8 plS*v%[ QI6ŦU/Fpe$|$ƭTш7,gbK\ l籦E-^쯠x?! uz02-v(芓[ (+~^5jm?P>P" NǤ }.KBk\CLzBMl$V0¤C e\y!ڿ^#rnFW"k5E_/M]L_LW[˛jvޚJkm+)n_<xrXd0^S21xنҖUwʚ ?w@՘w"R㓼[<[7:_-c^u}TgnVVҶpRYvn!XNn e}ч"t6scMC߻0VN#Ed!4J,sS"B˽՘ɜP"w9 E!\V9k&:jɸ.\=.3E+eCp:-zȃSzRaD,le6U9TW-~A4B5fn}k"3?ZL97 /d mR&%z5s٦4r1*Ar4%.b[|4†u(EԈ\DbV=^ee3bp{͡NL˞v{h] K,J-rX0WZ4 \iD: *aR$=1!)Z= 0D*X T6'ZɽzCϊpL]^YVlQPKU Z_i{ɦEwQI B ;V 5C餠[7&ip)f,:fj@ei֞p U 7["sBӽ͚\kbOGʒqŶVVOW41 e"T+OVkx/5jf! :}6CVOf,1҉xmzz%{ wH.Phd,ܣആ0Z0&NSfQ-:fR^-[TlO$32a]GDr G[6 = q@s]Ɠ-; z0,9+cIsE]k&ݤtO1DMGx-B&e:&Mf/wFCi@7^x|ogjݠD$[]֛ͼj}Oz}2](Ir3u^[@7(}d0"C TX1zf`[mJHzHZMOzׂڨYF$c<\ΒҼp7T) .Z'Y}[1E׹ UWwcE׭Qߴ^Eu 6_p6S&><|^[I"z,x߮ho}~87)8xq,2) -Ҩh]QMͬ?`ltS{$O;mDNxaglarZYxj +ŷ}+aW(8+=GV\ۨ)!bxҖC)s4@Hae'@rsuj :}sV9v)RkRd3eN}i va4lQҀݒom?;!˸2q6hݸ-OY?ĈYo3")^Rd~͔K=i8M0uDz޲ P9.m8Ó0ď(,q0QmyrTLo1*p_*ILPY5Z3yUhZné,n&~_~t6a:b2,%b Np넾,pDG7TdFIeD\?#ԛhaHm-Jf-p_E20SІe 9gٰs%4P0ecqQRY7ϭUxI?AAQSVYEc-wK5LoS&RQZ:7b6﫽iQCH݊U6j{cF@|;ċ b9L~_?".1nc@exU8BT!8KzNuh`42~/?fF}m)Y 74@{]GoZ*n'U=0aH'M*"mUORO-_~sڰF.90t,[<,/DKZ1$n<&WID;OSUH'ߋh*KHk|Ѿ(ycGޣ/ANSpYmWm,}2R;E/?HvMY.ɾ܇H[gT%)HWD4hZӅFH[12M,AH"ΕZ*+;lr2 }*" Q5S% I}˥?D]EsgTlIy1MP GHQ"ዔt55*B1 *O 9X4S ;gRIyG BY~o<>^Л °[jMOvƞ(/Ώ[P݃ ꓓd'D^QHĩ -4|SXߙj3Bn?vr*w*j1kp5_~mGÔF4h\/sDĕ,|s "k)6!ydrw 58nrb4퓲9,m ҩ?!7֣ԣd|<g~zpXsvE-ۛ7 bmzBj),r$™2s4}mH|0 _kF}HَYjμbԝuvz[G'%~Y V¬詁zl"A+ ~ Nkl?H2/D(X%s}U< Exk?^$82Tr&`o u-s⧬z*{ǡH'Ll)qynVWt@Sn,`,~1F+s4kYPL87H56Q-UNF$6'ÔBCC fRHaP6FوID a7X4s)0#~F⃁F6#A`.*:GW^=p30nB3T:SQM#sLƔOYNU [iQQ~sS/=n+8^A)D1+ ,x@+]_7VɡOTY>ĒhdWnS)IY4;4Iqi'5'R8=_.`WkʗXddCPҹiغw(0 5 윲JX0r+"wAha=wyÌӧ~<5+ ~yu4lDxqpљΖX| yb<ўB$Xbɮ VmOL`'څ7ϋNHy=~99\?/Z4k){-8'Ǧ#ÛOi&$!.ޞ)Ux'p}ϼYT?_'~Nv+ KN4IcJXZQpcTVOW.dp''X(bS*UN/} +bdT} `; /.왪'%_:eZD10՟RY?';Uv&$0 EG'B }r k/Ą}h8T鶎FTR|ςyy;i>Γ7oTY%5f ;d,nv89I?T'漭jc伨|g3nL~`az8}ZO'x㞵[uIu1MVDJ0˴8WZE[ֵobMW`J:ޤNyL3g,3ð̗\Aa|{C铹[xx윯~VA~!Cm%H}hßtťPMHfH* ڒU0gGQJдD(ߪoNhI{jz#%Anj0K }ώ꜄t<\/j@Rtn7&bk4RL#acHcbOAa7GNmڣP8eI|[@hQB;⧓aТh2lI6GJ7ZHL@ p)E * Z~)%>iJP:z"o s Ht 0zz0{n  2L@(6o@6) h?٠F. <5(l`h ; `@CI ^ip$B6of_sCaE3b2gE"BQaFQr^h(:3vLD@Wj5<{S2$.qŻ:ΉboM@ '-4ϛr3ПQ)=쨮Q\Ҿ?g"IBBc&+.+{[nihh= M 0 =)ghl g(@CM9tG֓z h h0%[ȺԜ`)z)az~(4~:BCo3 jU{X”?'FPhlfUcU;~$VћJ`Fa}245!",ޤxIGBcIѤ7}hE;~2K Krݜeқr}r:-%4͎<r'k'jB= K0 ]N\V剛HyUuReI$*z(|Zf@߾ .Xlec,R`1_\5T&~g-*Lm gG9` CFH,0Oz>@I'rIiBJج,L&ek!zR?916(P7jNO{DVFNh&ol[&fC)hb<'`B,," )KdpTl uQd#@i( X X4@ h`\ p$àr@x@I dp`'3 @Ѐ% b% l-^a4Qh<(#А\h %'l `) /afJ90@?%dx)Łtŧb S5O d@ )~ 8%<#  "$ pDx#@@ %)-d \F8i(.`r@'lp?NמzЁK Lth}aX{=r)rx{{GsKC{Ҟ`b4:*(„uƊ1yXVn[ӑ# %F%ᱽ E, B eapE"<$^ *qSEZ/ .{6op"|rWFL~K_a8GΈhʼ9чPѴ5Chl ݘrֵ) h.mKR;'y@qeLW<BS' gmH_[2C:{]B1N?ȸ^1n"F_rEJ]2> SyOR{}RbxO>?*Llaڮ3J5q8ϸ Q7Csn*w>q߆{o;X:ƝG[uw24/ E[/9~HS8]& #SM_q nYFj1s\1:xe E;oŦI׼΀,8hSM84©5RiR.Fr_?P3ݽ_xpw[?Bwj|)! #.;Շ0S>Ѧ7qG0MOj[;X@*({/qϢbxߡ]']O(<-UXb@4JV!Jř|~Xvj_k}??ty?9(du`qvu`aTt>X  ,b` A!{g "A yt5:I 4p㔣-f/ ,@PBZ8 ^w`MY, ,6 |^YER @'{Q=YcO>' A7p9& /A9 x!% Ah8:FAMzCN.cJ*N#Xmrb\EnƎ1?+r܋Oм#_%uRowcp\Pc71_ʗL GKE s9ӅURƱ옍rNݩ$x׌6k;- US ,k֞T, uɑ#>u_U˝NJs8<}EؑƖ`F41ݻXbQm+(k8x/obb nm׬;c.B.JwuIh#eW 돸|3ܜ޼= N(Q͗fyk*E\e6}v禼u89λjxj\}q-JV%Jg*_^˗5F:˴U'T߉3Gr6q|n{{FH:LYE Ü\kmNn{Ĝl`awrH59aAe.l-9=?fv[Xa߶qO˼$&ᅲtn&\䠷7Eiܮ)I}b~W u9kK`m'fZWNn fUUW,MW臯Z^, #Cmn7m wn޺üu2xC FHHHNl77U̮ß J6zz)!.GBG6 v<[X&x#4g|nmDmdWS4É[kûwl%ko݈rm6DBt3Lj*(5w*ECC/q7#*\ [r?E;;o;\nhnۭĈSUzq^ ,*h+i{-S4vr_.lsmNxN .+;mv,=x3,O%ܾCZ/l2k!ۼJ40XshR,#&,QlXA/~/-+mm,o1g0ϗ 4g+gOUY5k&\O#,mے5a0*ƳE(b[r`=k.KҥϢS0(lpsyݿ2GӉ+~t|X%Ja&t֝/l^J`j<9!qQk7uлi$ԡt cH`aa]neѩ4ʹM2 !3nݕKu]KĨ{ʇHnܢ1ڲr.ضeNVfjRO&sY~/ȓuajTcX}W)ro_*|{M&=NخZ`k[n+ .٬vl%H+eU" Ţ[j-:_V[vFk&VekF ;5g1j[vp 3$6kRK+a߶dupuw#p|׬];{w\br|\ y Oy#vorSޜ$Rsш.WqK#z {tC<1>L/2E%ÇP!fja*V!}Y`,gVǮ1p?-Z,a%\9q lbyfɋ*srԨZfVkUj`AOG/Z_8 f?o˨>.FT5F98"?Q0izVЌ2U5?g(gpp2Yc8CJ}BWc\5z{N8?|Up5p3| N BWf9"F}a2f zMY%sr`ƛ@ p22Cq;lRl2̕Vo&ɘ쁆lX٣Xа0``/ K1o(Vho W+J&3;ԜЈsY}S \LЗ(SNb WC73K~T7<#N2d鍛̊߬p[ڏ"ǘD4a[4a’'RH!u6d3-qܛ'!/B{"!0 ]r,BTCeZ%CrrDxp܎;s062fe˥2?^%ȔG~43.a-ڐtf RHKa X8w<.*$v,8ZμvT}Wנ؍kq%oñlHRG,/Q7wcRa"FBQ~%]@'[%f٪,Xs>P`xa|9a0K/<j?}L"fFEá*Mv (qa ͗m"!!FBB/6^_%ze,!'' "]ZpuA<^cŵu[~g*aDJj%cYuYB4o&7fpZX <,/,uB6buC;AY\tH,%a""D!X\Dc!D _*dp`!nphߐ=}03i_̠8Pg1)!)`iV5Bhf%b]:Vx[3"p'DH}|^>~2)w $DHX:|ߖZSTI22<鯟 .i*'1z4\x3 ógGy6ՑU C)79,-rJpr4mDIdxK";hg1לgA=[ek\zI#rqaD}WkFw։/v("! B"&ɁpcCBN=_ ᜣ Rm?8z3LCu;NX(_$R%yƓtft7W;ѱkB Baa' z|)7s &!!D ~j td*L+B\; 4~!.V5l t [`zDU kX+DHvA˃ԉY*pMinVo LEO;U 2" wǭZdd7m|h2z7Y= դ O!»]aDEzEesN*\qlƁQo)fǽ<>)O|3d]hRN\Tr0upVR(H*"!J d*߭mkM&ڕC;U?#hh}1 մD*9yjS\X-DIH汏ԈxTkmtnWaQ, yR82䈰d'kXBYIF۠|W -iIt˪ݩf:XJi p^d}'A3OV@AHcuJm,C˧@p5jGMn.^a:[Ors<xxLAuy  D EM@'1:1w|Jޝ%=y>I艫7]B9U˻/Ej '5_)\ kXE+W*LƻDF Hi dLJ|fR$2 ƤtKuGqq▟p~) Z K.KٙqbQ:t=lni&dLܡA5'3:;5B7ntcZ56Pu$2C lǤs7 3iAqh ƒy xc# Pvyy@7S׻g~ *tt5LZKATWc`s|^o}^P>V6" =sd@-gPnϟ~=j =v 3bsdnP~Ɍ?]Fi~#wt wW&ca ) ?!aPf~6JG/ Ty)&ǜ&Ǯl^(5tLSybr`"j Hdhւa Zֺ%@H q\̼o{ #&_I=4 La C[Xn@Q5\M7& 恉9F-:я=zľ7?ٲFo(`>C6u캘BX_KEfB?p DFh =2'q0#D+ &$tFXayF&zm$9'8k(͖3'uD>U:DAp7)R~SEkcK@f-4axV, \X;-ӨG ' e4{?AqƠ 

(A;}8}^fŠ79;Ƭg(|H;aoC0(B(sk_TdKSyf"^<(cC({i:@LƐzACF0 b ڒ!rw d$QO4CսJq 9h^w<٦@EQAEZ Ip.w3 J4(~i:)r~/y),/y;:A&[2*FުE%>]Y&33 .JȁrMVX RP' ` يzξA)+](bFë=x̖GX$;ɮD)l^3EεbyAZ<.Xpgcw$ZW}/:3H'`@>j*#_f @HvO+J8gUpN*ֻ O$քs,WoAd3O;mcQU',^ ŁvՆ]ف,YTtF;ʜg@c<]ui`)Oth6|kgrnh=Q!U;BNjԖ5E!SvO8KkҿV0$[U)ٱ2RIͩX4U>fDbyfiҗ=lcSITƴ,cH!ޖk' ґx8ٷn6ZѲrk!55} :a,2Ҵ5'CL)!˫= e2pQ߯ ]>\wXWԨ2f+"M%?Ct&gN8}Z u=O[<\~-ASa "iJ\?Ki h5#㎠,z/ UH UN0>P_ȿNt6t!.'crCM祕ǽbH ϵ1h!tUSW `zbnھ gcaQE&y!pg $:TG~`E`d!^Fذps/d8VYgQ 扡Y!^yXtik$rŖ3ID0|Rˢ{[x꿭%q~3[ʿv"54~zCB,ް..a`9 _`DM M&m+J&'8T'7M{/?dЗX wyzwM]({U)d\2eNiL@VjUc󓼧O)-='.Z_ aԴT^swimT\4L_9tƋ~aėؕ8>/S4!Gm1.<ܔCU[{Í4{#֟4治~:,SlnpHcFSb7 0S vV-<{"*APHJW]n}91)0S*aG9 8ޗ]8=+:KL}zdOW #`@#VwE`40@i&rZ k}qXh p!N^пUK6LD\2u#^(1E}Uk]X^Xdp(A2uBRhusTUD4hQDt{̫uƺN',mړYjqVji4YUjB-ԨtF .+tB\y]~rCZ)T{-95ͨ%QzD{!&***LD+Y]̃+US=/:ꚅ^ VgAobF=q0x1iE8K+Q<V\+8cN H.NFyj#z v[ݯ^sN^l][`I-& 1:1Fii4|;<;rR^chh}HS)כm!' XT$õ@f2z'^6Yi\g= :c? J1Ȅs PAm^ CO9AG@<+_4hB@k-) |Z9Yu)S̘zl&l 9w|6./w1t:UgBl{ qDi"-`d3!V<>eQ-1Ej*Vd:%OՌ{۪O%d,w/DFEIQR7BsE K #dSl7f)-6enB94o[i-6vۋזMhHE[S6 YR,ԄvRbƌFÃ{p=0̯ r3(ԉ3z%9&"!Z;~o ONuyI1Ho#D8@mZQQg(O޺Q]N[kj;$4 {%R.c@$ K 섯EN?ӛLκADO*tw9׊=Êbun-ȓu,:Sc zֽ)Wa{9lP&^m(/yV&g 5a3)* -V%n<Y`jƏh"]DXu?]1ёYo\dz#ujz&Z:`)#c])239޽򛛝sGd7ҹʃ ?lGNs2kWRn0Ɯ?&'PE>:ܜPG9ךAD2C!7jy*d|tt8,UL՟H?m^Jevڎ6?ы9ԱJ7~j*^m|fN;++E/q39cƮ8)n]W:<\85g4% q1; iӬi9XA?ʀKbl8b/'NbxIC:pk$PZFߠ$QEQ}њ6Dɣ@gP Ԍ(U Omv:{P`k+2u[TP+" .X)|9څ)Sdi Ài5R4HEgnÔt]E-61'e8UsEY9V5oΆ5eB%Y J{upZ$b(nTD2f2FHNLѷ"l!145;$ZO3mkϸJ`Ȍldqb }nO2EdHFFMoY@&'٧nҕk GL*VH6IJK>j%B[J$v4⥛VcNhH|_)QPٵۚԶf>1VȡݢqJgUɩܸ԰,З;"dϸHS]Ύ&_kK;啱*UrMZʢĆI>6ڟ\7NiЊ*?:UyyLL#J] 4Z1F耍$Ρ'EL{ -Ph]rRĶe(c4^9#..Ǝ5&|彅AE o7zk}`Z]:,9;gp=x+gsy^ 1ΉHkiNt2Nщ5@z_߀E-J/ױ9Y^K')S=FsPL]|Gڕya͋F<K~MT]Y `v~װYK _e \'fK3 h0P}jwa=&dnm$8$UFˡ].d@$-dqb)* o_|FT!!mM!ae߽wx[[+M!KyK+.<ҬURpUÐL7)) ?͔RhlI!e 1I9()Ɣ5!(Yoʏ `.S&lPWH`*IEfW:EU!C}GNX ˭776Kpx` *;+:XJ }4bpUv ߈EwEaA`/7;(,} O0G(CtGGr"X!B\ 5sɗeH٩BRn2{e,=˖"AoMnAtP\E8'uq߷8Jsfch{9~~39NfryOԫ8z*?~i]FY],~c~=8f]tG5WI'w翛FA#$JJDH(62s6\î?i0S]K6yvo7 (mdw@| h|[n̳kD4F%w `Ʀ=9Q}ȴl`\qx@ڠ(3w7PqЃq \h/oU\2c+3ܡj攗Se:H`~p4goB+9/EO4XlI-B޺ܫY(;-b$ M } <*4܋lbPgFc8xmatf`m 8l(Uy7Ŀ.ShDX#/My퐔D!U )>@H Pfxa8 N 8(yQ>K\!BH CN͍:ElϜ|%lT"@_qg6vC7J̈́$l ~S4%͊bmp9E )9d@9]&`,>^s %q^@LwK pg,5M`[nVeO#(0m`~#5J4)b0:#`v pR`ЩT>YhWX v:l jhK9gIh@gW,- 3B t\Y[۳;A""ԙCP[f,l>K38klwf7-:;< C2Fbfk E-4a޳r &鋘7J5QН4J>Pg5l֔6 vtiț<3}27xTOcl RTV2K2"A:} Lw;ri$#74gRmel-I5Ќ<ƒ:/8%!0ϙɈ}ߤ,­1 ə7-"#9s-ynhl lzF%b :1Ud0]0ٱ9P3I1'Thxe¶LܦY?d>i/'L]l9sэ|33! vi=P3ظEl 9&6 $6?tpomK2"_u`L4̸4`j33fA~a&t;}Rv73| baqz݇( g(hmuoC`@" hciTᑈkNcӾ܌: O()n^"V̷&1uF#`Έ~3A"L#0j޲VSĴ} VDg, 0x6#2ͣ g&^mJN= 5ke,TkϘJ?|iI|0?+ݳL7  +c?,MzX~A%ޫ` $ n mf^zK91" tX[0" wI_:,1ϸ~1Vݺ+[UGek!OH1dW)n&?x _FA{Qc? ` %yQbc(S8'p^^~$0Q#qO=R4knڹmmnL+gH- p1,k }:jٮ~/fU-*a0SkG.lI>K Y`jv<6['$A||@fn޷DL(hS6a74ed*oJno07Ob=WCi>k%Ӣ`8'Zk~e 3FnodVv7Pؙ9/z1Uch,xê?6 Z_@>7,J3 f3(Jvs#mn߮}g,}&{v./+0EblZis=웳'n c=> e^$r5È3E0~^rR gpEp[yWђ!+4QKE1,' (Fa5ozC<)hD]zRg%'ZP @bKkY&ZeR5x:bsFl&3qZojrȉ֎Id{J`Fҽq8_.x̅ ;#3+jxQ| ;ԅxvtg4|;CϺD|(`oØw oֈdAe {πP) ; ^`v=3$ŝ^s@y U~=ك@Rq[Xt繊Gd[`yfw=?Ǣ UVq5N)OӤcU|:ĭiM(<$ugbIuHqPD(?v69 t> xLnYYځ}p 0%6x&ʸꐨ Z_vRZPN-&n)gG"wQb(\տatY$g7y'!<Ի|ËdSqF쌫 &*: q}s* eאgS!6%_Bq}p@  iUCzGYI6|`w7DuztQ@`F[-d:т | k&l eV'{o%yCB_m%@JqV=XǓ`\ ṼF9/ǹ=ʆ@xu4߅_Gi\p8wgUUд_ MXQ8u9*NIo [o{=KRCw#hCիV^m>דSxMI쀮`/<O3RUG֑l"CmVZ")LTDE:@w6uKB!lN2>D3{+Ȉozt-faB@z}8xv6@yoW4HKw !3D yP}%!.fz ~R6QX<{gwd!N9,nc>M0R{ 5` eT)H~!;˅z@5;@ A-GMlAVX뭡WESN\& @?6-Ē, z)`ݛ2ɹwo l}j9׺A4/}eyWˬM+3k͈N-)k)[ޔjay 8 H; "jROyuNLJ޴LBY)JƤc" Ca G(% Þ@B] jJ(~\r5*.z1 {Ye:Qv\jxGaNDШ5Λ n|ޅ0UjvW)t1gR2~9,U 9]P $hNƜϤE)v6_]= Sŋbܝ TN |LS!FZPBw ʭJL2QnѮ)앉(V&~&'a *8k +eSj>Aŝ. v[0x?߳у|ߕwvDO4+*f&j5 \9?8Ew~}ۗ ļ?פ}[N#} jfO5$_k'?N}ŒFbۧĕ1zJG *SҮ@e;їYE4Q p.U{͂? 07`0hj4֩s'=!p>ȈWnaa _Wɸ["efG;W*)o0ޮє=y\n4oxS z1sD3u4pBψ{m.}cig4ckh0ۖ-M46xMcjoxf9.*]V3 Ζ&D=ʖe9-mπ2|Q9%yȒƿ_qLS%ԩ%+`OLTiёQi jm/:痲ywl%q靛Pq OL`ݿRЅA"FA 4U%=ވ/blB_=J*/!XĆuS G"A_N[K Tb q[x@-p"¢Db_U_W89_&\^O &[$h(8-&.0kb&\i(k-ā ;-Y= #W>݁H@KIݠ Jr"ګ:_PBLّR IoNK9 !Y" $"x]s…܂LmsB9@>/Z% %KIkZYN%k2#s0+ix(/_4^GZ #9l`_èkG>d!Y*XB"8m(-7FsH<:o\4I_ _1stj Gcz[ C}Cm\3tܠ3+߷qʴʚbh-׶-WCJO+;\VOY?%=ė߬Y(4fTkO>;3՝c^,TV߾aj`ϓOӾg0}w /%5\}2ZN):HuNHcJRP+Ri *];HGU .cPEJǪJj4.Y ,Ę[z"@qE # !bx..%@~v'{zݶ7oDn[rmȺ;\w# d|.P~`@ RĞO X8𿧛~s }2%G幒/b '$Ҳ ifJQ㬸>ՈA\kˤ|' nt`dݘ=xޜh$N=S ģ:!^V`d<6K|)iťUӥpw@ ѽ|$`)K& @œ6m3@*4֫ F5^㍍xۍhym ; tD (0ϨlOff͌rWb1:_|*e) Bz"#&b@KnHyuC Iv\;GZ%C_k?HNC޽"=AaX_Upg$fEn7n5|o99ޖp~3g}lذQX Hb :E4]]+hL|@H@0A^ w{JC:kYjPk$[T@0|ZG\6YcOelGSW^G,֞ X [N $= ϰ謸hngۅK R|oVIh6Y *ZZ;-=a{[>GgİЩw\>5CB/W(*$:ԭDtgBko bEf@SMɞ$Ij@7/1k\ai'ss,"g-lΤ,5KH!g؀H<G =ӐoVxֹ`H MW) j~޲)it.J!mǬ2<<) ź3LJbChO~bBmM6D4vN84z>Q??n?FdAoR)y/i`hmL/$LiYsB'y}- L /Sڈ_Eܖ8}/Q?°Q8EAOpl#-@L}Nz73L dGY*Y},o%=-3&kUg3"1xV 13'V"q=$5k mpv?E b%28vLA}vњ(GĄSKxVC1p/lJy+`1sja zny.A϶@f۪,dzJ`I5ۥ4^,j3.AU_8-fq_jXdtpzmj4n6piȪ;V= j9fLhմ^oLhHS})Eu~gWWWׂ߁JWRLA֓KH'BvNj!#_'>mXmwPnfyNxig eKvc>Wk&v}$DNB]{O t 2&'o a_g8fk3n'ӭF[rZlΧ3땓ۧJN^v7"Ïhێg^TL }9ݐ$mnktζCTGM „MJNW[8'@%K''Y iT"ն2MM7r.|4\=H ڃd& v3{wЇQ j dgMn>V'uJ=5( ю$ N^{MۀV`Ai#kkh5EiI؄݉Dɯ7l0@@@@.Asc8ܡakEEvHrx\ XO|AwWM?[(h>ШS!  n =1 c9y^G/"p?3G}`Kd<&F8EЕҚ.YwP(g4Vv{&l(p6M*s#,䘐pmP3n#I;LyFE\~'E J,ӀF%me#Oܥ*"1r0d#b87"25%mJ)S'͕jz!!-N=oe-Wx1H+5 -fBϝϚF }&cْ!|NʪYӦ>E{=bր-j6㶘p DNEHgӧR%JD`JeORy}-DluBtHJ R~?o!Q=)$s2Az',}ڔ +:?{ALts8MSGDD̙y哩PZP4>B0A_ zN=עiH$>{O6*={Z:U:Șjm6ݬظj#658lmݾ̒AZL>*EJrPrQR_/D$Q"PXr媤>Tk?M[kwK&>gX'|J1o煟Gؼ `Sih;x n-|MH7AL(كkjo*m P5]Vsr{k㓪b[\u3UWXrŜK}\+ R\@Zg6/-z{uѥ/W?&YP}'&h,UG_ɯ 5OwWԨ*-=ߜh(oyZ]Ӱ:JQH0Қm FJLhP N)AfL4S9%E%?<*g3pB}g{FPٳﰘt#'9%虲,Ȉ~S1UEi?^RPM qclݓH3 TInVL3(4Ye0ksw"a %yrp?xY'm-R "ax m"9$ L@E`_$ nB._3ʀh2)T녫 /MƔo`g'bk8{_Kŭ Q77> di. AR*EEz\; :| OON|\\ Mh+d[԰ - Ƞ@`~mZۯN3mA \_9c9^sn(#ؠ;YW2_#76CmEק vkyn*XYZgd"+dRdʼnŸ—JBDfq_±2GL;S%-h be%wak#ԧ~>. /ˆe5ypd=RA>3rpGrtS$,[m%(RD4=e p13 VOr=|k]՝}i(yI\uƨx7=0(3Z EV&Ffo!IxsBOPs>;N2;)_rEIiXWܽFD<2k3],Ia_%J CcLZ*c3iDicCHRǁY 2a0D戇 HG2bGB Y0+# XIܸ/w|ZZ^>5 #4#;r%o@-`.YR Iڹ{²mv!m⃛‚,h|!:kn~P(?!6:'cM,#3>ct2s 4 adC鐔`l-iC?',Չ KQbaB?-l 1Bb1 B7p\U4{ oD:Sga>'/*L4݆'+wn"e&(ge4oDiI,8hhÀh-l/F\O( .Sk7Iky@W$|eQ1|ɽGvg9-tv<"b/鯱BQ1P$WLěg]&a^&CK]r˛ = 0(wx $e hxXkCrbbU(jV{]6({..+N&I D?Y7ݵh3܍YTZ$ƋXěe 1ƿ/s}lM [q7AC)Ox&C#G4d^*w n!"$7GpG1dؤKcL1>SœbHAnkn3ZcOR 3d:UnPj_N#>8%LWd[oVo)8܌䞥 `X71X5i̎e,vg<s8͖ aC~o"hR.kD1 Sn)V%ԃ}i ?PD$[޶|A=$plh͢4%{+ʜ3ǀYݥ IDY?\KB6,{| >GӿSNo^x8sE"5&͗yb &#Fx-}${&񅍿^Mܘ"6o:~k8aXmZ xF )b͜g%}ę\1 ÖsBHom̱"uX{t N([d:)p <D@klw.#dM'1 C>def~'!?R߿ зDxu~P$h; 4GQ%(MPUpB%,p#Q2[U{/8bq$coZW~H|¦ ]~#Q_fEA&È)gӅ߳]zQxbv $^Bu^ijy/vgr~S3%cآKWiKtY@O-*&F"wbV4FqS1Z{ G$F֒N0]}T +Z al /Fa$U"% aKR |Ӥq .]=m_*WvgSBl^_-ff\n}\%d~ϳHϟhƜO>V-k(z;@e:Ʃk3r֧BY4'O&ePÝ&0i;&[O5eҍuY6=}Л[f0\aduXS>J,Dl/קy}!v>/ě67Ƞ`A pO>}:He1nTk3:` -?GQOاg{hYԁwTZӐN ߲;tR,N4IW`=0PyA^)\%tw[]{AmjO7,&ފAMy+>4r [똒nt<۸E] ruTU'D͹M* )]}{97&S@Տ|j |o 拰ǧ&5$N-mp Xf$\͢Lexjn{qUN @\x^7B^gG걏sϊT ĶܕqB-h8O# W-EY|W~ċ`$'Kb լoX L)?<ɮyyEv^5{j|Piޝ`$|ea_.SFz1*[`k ]2?ĵ!Tvxm'P7ؑR%z9wdY/z,9ef1MM~\K˓bvNk\e[7;~`ZAuozOg1ʭʭfӏtUũ]7UAqqąZw,CVÚ[Ur֚t`8(v7_Km,xhm%mUqT N:-`{w*%?][~tS}u[=߻غ+)?.D)GlR:qɇ'_`?g~?oޟ69 $Q?u"u`HrXD,{%(zj}~xzDx2B %p- WZsի]]Qc.ÿkGzHݣft&jMQJq۪r^?(t-y;Eڋ]_~eX2Ժti(8(%8Keo}we#%u?[ةD\VTzjҳ'"owL{4 ŻTRf9nKK)J v M|T ,ϝp*H:JX ꍒD_FM ֎f0t9퍒ϝ>(t 4yxi;XtW U;YSY[k*\H((7HuWL(~)^ss H(p@njJxdK@ جEs:')NEto'y 2q*x $sXGBtI G~`CDaN[5t4cI u4sV0GWQU.[@1hDA][N }&r2%:}[rA5'%ñ`ᇁꈨ3+^h+(^bSegYlǁRvb$_1V%ڡh3!z"jAl(?k0ytdsy{:jp[m|jhFz'ӷO4[*p+<Gq=KKCue9PO%Q?q}2Y㌸O![YPsg39Z"e8&TJ4뎧|? M*-eБv!A3rrqf~tH&N2FÑfCy?\" 2'5v.SRo>UD]m볔x>~Xgj2Rr83' ]$E?Җ67'$4퐭cqO}^pҏUng^ ks}\=n"v^'B{3H@EQf۹)#[^rV204w09w[gןfx,O4/xE_WX70s"뗧Iγei/CsqhE5h6_ -,Mࡶo-/r1>RWe/g`6l?"ir=_HplxLj#,K8䒳Ow.apsQ_;:X\W[+v{d(ys23u;^mG1Cch5,E8wBh 5ّyjHt `!<\Swܙ3rrt70 v_ّ`t]>sgL2itE7ﵝZ\ D6b"jySop8Uojk,nG0ͩX=,Ud|׿V`ƒs WM N9ɴdÏK, uO7R<tˣ ncV ͚>JA7 @QH3čSbef4葮pgB| smM mԿtpL)b}; pZ!NP.0Ǯe))E6Dtw6YH\8EX۪r')iR<=]Ңua4|`SYRd^E1w4<ݻ|#jLRo|sIԮU 4&>I^wm#6̑}#ˁL1Uo'#}r(yEcA@Ʒ ֙,l:2 hLQZčkjxi<:o:p]Oicmݺw=Rv'!y?y]dj쾜f97Jq={>67w.[b~'Iԫ.&NExwNMMZҌ=AN8n hϣ'z+AW2榺i!F^+Ll6b￯ZbIv7pjַ%IX쵍R+;Y^*(>[N:/YYnt5]\Y%;ni쵝s?;8c'U< ֛e{(=k }a| |*nVw(ɺEUDA/8WXHhh8?$$ol G5y.Zluw " v_~M! 0pL]';'x/%J`6O֞ 34;qWK<u{iop(x~?_p6`&ƅ'hh|w[!qN&gnyk1`EW|լ_{?|_/ӦS|Ye[kbCێ}v޼XYo>ض;Xwo]s-zr~r~Vw:e\ku3jλi~Էnq<ۋXdLν@_iRMټ= ˙FfCl;Y}KcZDŽ` S/}CyNxtm=̣. ~`j@`F邠&!5pC!CB^T>Z+2p@WM70Y (DgCehː-|q?=A5CBtoݛIسM>2d8 X3'9;=mpSa~bB +OW Qܬb? 2hSlATC^EM%VmJk,Կ H/Q^h#w n{; NԸ6R9cbʐn-  wy|EC%W I.wvc}D2^tO  OIsf1tЏ]>#*wXE8tehZ BtG%m_T1ҬRX{&hUeT47oȀ;aWv@ FaЧA=a_X\ fhe̱Fp$^-̠;c$bs-mPZHwPtv P0"+!YȖuH.-hWXB#E)9kj]4`>1-85ųi\$4dϞx.PzH z:)Y_X1 R/dtb 3~p互G/FZUwS,WT;Eo=^h ,(N%/pW`(!-/vtFuTT!@ȲJW3j(j+;AoN ore杚~',LëWdF5 H.%WmE6ꀵ0ib v"J/2ϡx]q$dŜcBf;W]A{Ҥ,fZە)#7͎wڲAM+! 0HȀB DX wu "vab&\꫽./jgU%mDP |+Moj)y|%)@rbXn_>fYf ɾv|IW>>]ѳ+7nDŽdNj,!u+zRg[t;#h ~.[Ъf#?F_uÕN\aySJ8"a jnkD`87*\58'eqȣDX"Q{q0R=BAU^bPjS4LYӽP4BTUUKN:жCU(n6Vhq:F"XĠ؞$a=Oie0C"(SaTLX, .c_2/ȌGQ kqrK~ =$KZ68Bʁ2Jx:b: oQZ[%hS?p* br}Jf9 u!!V@ qu|>@$H(%1NO@ kȘ0?mUtN[V^tA+!?/G.-ID Ӕf,o3n>rT"Qw)Gbjg2M[|(''Sa!Pp6J0 njˊ^wsPw$c Uw$/#)zDžWS1V%7)+'n+I}CSf#ypb]!k)b7RPohmnK E/gM|}ŝ}?NIyCRdƕMD(.}C 1c 31wmc|tP= " vRcOqmŠ\#4R@d.OpOdjTB'j(؞שW@xFR^" mO=T(6 8s o(,G!M\":cs9?|;mX:["t+f9ޟA; ΢çL+ MkRyZͣEu &=삓M5'IX:&l d<%S`OX{r0vs 7>l,0{hVzpШ"GŦR8n<͠aqQ1MI1yS +u=&wd+Z.%2u2^͠Z0p&5UJ``i\:SzVT>s,uvy>]y2֙Y;bE޼:E<#p46=W¢1!ш͋9l2ϭ) y%p"գUDPꙘdBqm3-YJM;RgE`/i0;BaվQ= ٵ )ƦeJ#/4νۻ7GNFyݧ6\Bڮ#~!dFTcT\嘝RC"0Jת)/)"?:ET)x= .mWEl0 MZzn%#·JsX-\N*ŽEاi?sJymEcx LF)_[yV(ni,zX6F=Rx2ƼbZ毤;򫍡nڪh!afpJ)uq́$Qpf5|7P]TU G%j ,Zq3 !aU=L<t G_2t%+#U+[:A ;y gj]Ğ9?Lıǚ3u;m ^ZA H;2c~5qTCF1!jj!.J5*{lDaFeՋчͦaH5#XHNu` nbjǒA\ƙ07wDB<N8?3GsF@Pl"v!Nhu4-"6͸(sZrC3e}QnN*mgY{5Q% W]q^ɷΟ"-),&nwXʵ6(Ώ)Q@;齋 0|n5RlW"k8pT%!0&q}^9>MT0RØ4#Kɞi P 7sm;XGsi2mIvޖk&S V5WBOp'eFETSO(q@B,0RŬ(Ĥyv_ZZb=a7;xDIHY ĥ;E:Cct6fD"W5 bX3. o@sQM=v"$4p 4- D%"6xszo6'* uyS]Q~z/USc<#og+'om#lQ?VT$ / fF9ov͢AnJ^\;Oi,w,!/qx jx׺*dT8l_gC;1>_T9rRh?Oٚ;nTs"whIzQ >H j/6֩'FYgmߍU2}q&,$G^i%4<4WhVG+9nD?2v,q\tD3"*a[mZigRI} /^9j,ƒP^6t%BY0G:Mp+ b=`j&J* -t`c9_U䑦젽/r-BփycZ :XNL"ԕ7uC78'ז.=g"R5}}}uz$PTFaV!G :]Ї{w(PМz`S|}lƂn#cIDZ 6u3)l lh VR4-2n2s;kZeho8Jn*jBhyy?3֠7@~4mJ@} 7UqV oG,"(Cֆ>ur6z6,PʍBz!28& b&ip;Hh˼l ˟!';A?xHU1dڷ°4ufS>r&.<қtO@He<,(& 4 P3a>K5gaLUͨ]S Ì/".qCJOYLĴ\Aˎ,H{~ɽ@&2m8g7VN[ǭpyYcXOeio@tb>1iroaKn0lE<|4詻c[0i\W@DFXǛ TVHG(\<#8Uu5gx굍:DM׼E>W6dPTLp|g;tY]$`L|G96h5,m€#Lێ|_ ÉLs,ncUqƙna|-*C?B۹s3bRk*ʺIJ8P"-RTn!{o9@cfVcm(N|XTHci@7Wp<~Jٌj X\_{OEHmj NWШ#j҄+^M#J~o3T tŸ |iMgFD˓'Gi># >-3"jK5S¸#MKļ^,#ԦCHQ7|Dzx葐^0^eKѻw m ^5?^/2ݞl[L+4Om'a@+g {ѿU +q&:xg⪻X\ϐޝE[X"#uq,kVe*#P2'# pBqmWnfMsItɪI18vg{K-3=M(3l&xG)TaQZMl@Kz745Dvlȳ*:/\䜩ZPTYBd'3x.;dEXZ[`N.inL0Z4C࠵2sljLfBJTc+>ޗj<1/t .b5常[˃ld ..>tMϘX<sL}}@ˢ2sLg AEH`UxJʫf eSNvXE> ˌX|."5W/ gC݄޲S)J ZI{yvEΆ{xSjgQuVb0 -QW g2]lIH*F'p5:WMۧ YC"ҏe $ܯ@[`0{xOD 3{ ɺ|(iQPl <>;ϿhwybsA}bs鶑X-dFU)SڱO"I`- =g5x=ϝ~wjGa! ~J\TVk7VH>ʍ ϑi瑊1}[ _u.Ngq)#^ e*;A.;dfu%ie]l( PCċW %{Eh2s4 シ@Vj߰PZiE豜$M.[ 3`hj3lO`>-HȂKD^#Y%/gn=}d|ӳ)wQ.kB3GDIrg%l?q^xS?׷. Svze1E3hiKxN*}1aM |l^S<ךd 5 qS{bciSebi䓋jޮSMV7~YnզęEńA]I |/Yg;iP5wweZL8-kÜsxV(k1o.kDaA4K-m=]|sozK'SdŨxqTrܽ+;T+`yM'=)rw/m:tY%]zdLKa,610]q>MH;{ٺOTId'u03c٧Syd(iJ $># 8>vmk q aى5Kc,d{wΘ+MCAX+Wn#{|0>])9p`H- A=p?#j ί$8Ӕfm՟^|@4e[{o{Ҍ '+[|"b +ƥ鈓f]]I"w.K8jwѼĚ^1Ůc^]r͉;a$vkSXMkkP5WxSu  ۠ emfOBa:4!`7/&um7)j@y꓇)b:7 ^v lʛ]#7&bJaHo~õV STwqY `jy_wa1xQyD0e '"{g0Ry(0Q!i~MXuS#wPps5<>Mm7]kW>ʪPMLpis泌}F - )"ޙy*U  ȿrWW+W$Q?i+`|8p_O @%QFQ>_@}MɆchX^Hi1<}@@˱ӕ's49k?),Dú/Cy55)Vȉe ތSI) iFg{^ {ccp]in5'@3[Smb":xNAgŬCeoX'z㫷 R# K.NoC Pӓs.@X%_$vS/7g􄜨DN>T$ý%G{v Ob=\,~؂CG+#;fFW)t@߭7MG7ۗ`~ξ5 =oQTSlмth=L؊ayȖH #^ACb369WNuY,^p98ݙyX%Ai ÃLsk {^kc9 1eDw?nIt 6ˡ'Vkw:K2c6U md6%%gR 0޲Cm ͊R|'GӉ"JAbܕ_A+[`Rຠ>,ȭ8%s:,RjOʋKn֔_6SaVi%_Wgv6!(n\Ye|llB&$6bJܰM A3KbU+xK& XN_00j}JTaOPy脷O-JM +dܥH{t סg=D z)t ԒD,yg# щFk.SQ戜$T5zc1e0S_aN\K=y/^㈣s*$N)PfCNX@_(Z#@1"iO랪:ZS$'pJu/Pe-/x @KzX:n(epq:@55=Oj V5Riġo.7ݥXFGdAn2λKwԄϒmDo?f)wa}iU՟Xz:n귃 Re+ >"V:0T C :d#,-^TuYGm6O$ : 7r eA/oFET//ױ]{suT<5|Qs%YyFƀ$vqʣs)fE\h RL?lkF $.4R52WlNP@&#et6āP'$M"beSga'p\k n Q+`ic)-QFx%ZX {T˰yޛA5pLNةHUd{C^wG \6+H$auc7 *5UöKԸFcmTO^* 4f"sv<Ɂ.ŏV!#YC$~J7W"mwi@N 3ihO+5CEJ(pQ8^DqeЦU@0kN$ke5l0F^BD@fVAMhi} RyC̥ ƶ{R>JHWt 3R\aэJ{ :*t>ʾA1u4c9[Hˡ.ԫ=0^pŚ1Qi+ZukK=f5"pnz`ZUAik_/yw т_2ptV..,c|ဒ‘%^xG>Df5C?itӏt!‰4.p{%jD`l%l0$@Ǘ9"~R K:2@$Zqؠ0VnecE^a~?)SB5K_0X_cyv8O{Rq4xo |:U @zFxU vU!؊d!xI8g:(z$SL`aEtb/mEchs3Ƀ ,u^D;T8Y_)Tt2 =wZq'k2A m 8:[XlYf+go?K]XUcq4 )12ꆦ q1)CJ79vܟjb YsDdxìQQw ]XstY܁ToJo]^c"$@XeݦnL^hZbfNTttoRH*NF91SO7x(EZ tXټTqlfКGƛ,ɉc|!ZծOg5]At^#rl+i /oOq>x. А`;YS|DjEajUBk/\pl<)y5ӸՖ!}N%5F~.RȘ!(CR'@.j4(3"= =6>Qg"xb@bDx z Q8,2R5%+)2]_<(YZUjL9ե5p6Έ܁C|m'S.Q9yS ŪzLhd^!xu13n6~2q(}OkTAʬi$'k/l"e!JَhI e kY -"Z*3NQsx'[Ğ="d:60uۃ OM1hw̲//_!S"iHJ N5GʼLon*bU̢!T>bδj{ջlIĮlqEMKԤ V:zci!uƱv=a/-l) ~957]YĈp3 n6k¬m~ 1OC12\'.&F]%݅# cpr![Uf1/}gf(͘nW>QrŲ⺎j5jLGZS1}9+,_⢚/M]mʞJF L)-d鹊S fQf-VC^{Cl3'cXyԑ++T.$֝d{'mhT~E\'aOϦlTx4Vf{zzPK}BI;O@InMr۰n ud9xS$Oi?2㯚@6rhpext:??"{N)YD,YL~zPUY9$cD* , È+ˈ+f%D=f㎡|c$ X]uP\TVFK|YE!md\3&VMX6JjB"k-vcKfo <}|?b䨾2"CJtc-[R/@"]Ĺӏ(9׻EuR|$ħā(֛:X]GٕhuHd َ9O*|Ҳ}(#| b 7<!ama*Z,¢G]EƩ53! ,B<`nlV -tL¤U TV0ͩH(킚^EPn-4}$˥PEe?,|1+ &wfս3MUQ-y^[ØRɚ~Qaߒ9KTFH~$Ɣ]aOh(/I3&݊vд8?_pt%=RVӚ%Q$K4Y3 rMQfŞD^/ʳ x_ BiyDlŒGdjʖqQ4 / ţ2;t63Vb* ϶)@jIbkg7{5!8/#N.3*vV쭺9VW0D%s ӹ+P.MFtvX'ģ-OO[93K'\n5U{o~t]HIz\+Ew}nSb@FlRSxF9lMۂ?6R K<.vZ bH&%t }rPs]FR֟NF]Ɣ;T3ɩ3#SxĦ4ʌ|6VOd'q yv5UaT&<5m*9\Rjwi͖BJu9$oxVs66ҽoe-(^wq|OJ2V*kѳ"IFԹа͘|B7\u" Ƥ:\rEg!|~ _H*Y 5>1HQIE"LL*_ßi͸ckU~}iɵ'.ӓR͗,*9LnEY^=.s\ݺ8EM\9nM2> /H)WZZZB*l)L*ŀ#v!-g_ҭWj=bIOgKm flkU0>8}ү`tU!hyH<6ԳB#{ww%SD͟LUz Ξ8Ph`):G  p@ :@  j7nm1Mʌ;KP=r3?Ɗ[?͒!uVkl/}\ϷVs IȦr;uGmPxa1۵tkڲ7ayY7vluROW|~JVB;\͟=`o%y*|ҽR$+G䯛47z \2첻Jml{kvQoޯg8l&Lb4KVg?J5xŰ#ZY,Y\ 4EKvu en˅rZ'6|V̎sV6Uvq2(ݟ`?.*FQ?zs|#^]ȑЮ_`jo8 [Yy!;{m05%܈GU?VpYpٿaԦ $;W;E!j/(W*y?  Vm0"A]0 kl͓lw_;ɇކ)PbU2KI@3f xKS=Zos]x @ =:AqRZXt <"4ac f,`/ lD3 Zm5'~좐E_<R2YLq%A n"LD?-L !׏܀-jp|` 0a6wHQ½ 7pT؏y) 9@opA $wa[$!Z!.t.]9LGЀ"d.؍⦈١}h"H֘z;.nԴv8`_΢07H`Ae^DWQB jBUA 20~ E: a(T1n ,sxKLDw=*fTM3^wl 9}^Aw# fkCx\ .qd/\9Q8>Co q[hG3Cw[@#CQ±DߥdgS*=c>Џ2 >KhnU-2UnHVԫh~HrEVF}Cy>hzI1e(| ]TA y} [ON/s/PGs:s(jW$(9ӆ7XjyWjL*}w/oø̲ӯVl&%َ{VCہ&cDVoy!\pyg0WYVqy|IF~z~mdr"hkWwՐZVSS;_C"kкdy*jQ%@55/9H<;EawrrgEWj/XvlbPMBuUN⊩Sfz̾7VϽzP'>=yTi]Q#Zj(feYɽ{TaQݥ: "t2_'(l6b΍y!*uvjdSf5>v0f57IfS;H J1.`doix0i.rkk~ UźtXgUs]{d Atz6c\`qLL+Gi:}IeƏV$ TISdH7u7_6SοQ?`ag3xa974cj^ASpGPY ]cpMxu1ެ/xZE6 \k:`ţи;צOl&2=קcj  vÙ=#~|}>أJϗl]zJ΃/4PD1i $ M|B`vJusniGFbޓUU"NEOԅhHPmQS-϶HH':+VƯ9sۡ}eͼuJy;W/[r _5T['\4-Аnd,hLٷ8ZH~]xˉ f!=mMvJl%PfT3EVTeP֖sNTȀN!@60 7]fFeN@H8>vKIΌfl-Αȕ}9>NmX+Ý}?d =dҊq}T7bKחCir3a4;x^8 @_UDHn,, Bzm )K2=Vz cf!Գq;JJ@bsO ^KHYFYb,F[.[8(pA#h6u4^[&  $seW/t.wq*}(>l?Yjg[c L9^ ExལVjO?f! e r5V.βܶvt1eA ra򥖶 bW)MoxlmoF9FVh}?`,?Ú1ܰSXqFO*Wi bC'$şMÇ`F0OL$tG Lþ"=)!G!.+ϥ:|['Oq!;Gʹb !Ϫ`2d: y/pxY$s9Og(u">chH##͒A%Ώ*H}Zgϥ;i_Q-[^ZGgVv:ag|>Ȗy.@ÐgT?R ФqHBDFؤ5u0V]ٓt1Vy~ 1`M,:1uf2z-1Ck'K+OzP +Q?*Ď(Ē; Kl׆1 |Ye(;icf2?PҰzV)VE ze ^R,m aU;L0f;7ίͫ,ĩ7֨@_urhMga:hbr4=:8pH_g'ƔA6Yќ2eJoR/ ՛5.O{jUGbZ)ǩRAґ"h1!{iR JtKe"uL"olVS#dGSx@r>IR('BفXݘ73#XsY rwFCU|yϼEVy8MG*Yq %X|pX X4|Ե立o͞veOX!=GW̍~UU>R*nzgB/,"Yu)0T?ro0߾mɇEJ &˛&`RXY5Q#gW-kfYlb'Ə ?P^v6!DrS ̤?H኉0md3 GB^%T|Mh!v>W@I?J5*=2O[ ^Q%΂#N/ NR`/<i s +>x׸'".\OԳv$x@]RNdUZ N.gŰ3 +Æaٵu0=HCO鱥Gk-sMM]V_$8ϒInR- 3-jG0O~N+{#ycΔ]"'fF^̥2D4`yW0:Ԑ0*Sǐ@D,I&AZ&4Aoⅉh$5cFU{11~_k]7K=jt0n AH B*v@=Tm@xh<SWNׁd-[ɐcĶ>ʈJ0$o|m{Lnʆa*d_HАe\؝%LtLw懶N!FԺN)cH=;sy!{0%i"nش)T؉bIȿLejΗRȹH5 ׹Z[ aԓGV;W:"JIB &ݼnCZS8vj}S ڣZbV 9sϦjNY~E>qn2Tէcre2lA'z\^m}c@[9[ݞk&{fI DhL< <" xD*+=#u&G ҀUxħ)وA@\^Jj?J` W7Dg1uxc UCxZKs|N&EUvRŅ ca҆0&懲7Nާ}9H TFF .Mo@m IJ1JK(B Τ cFFS`FcJI|0TU}h(2o?Ftm:pt;*<Ƴ?/zVovUMhnem{M@|B~0{zw{U st!*>$)oL0i|)]Yf{:ןqTbh/ѭetot0XG$Z1Y Sk SR_Uխ՗)5RGټ-A#ٻWZXJgR z8Ǔ2ec"ਘ+UL xr "İkWS(V 7K0HWlbXxM{狳ǚ &Xbb|֑LpSn9,dGӷ1?!{F”_Z3h>N}Yc*ĝf;w&%~R9S.V28(:o!tFzjE 2R4ca5ٺCj|6zncY! u—W8cyZln(I_Y ʖWՇ*.r O&DX"2޲]Uy[_x;Bai;5dz|ȄN%vCSD""5V(0%[os('(@(DPZo Vy]Tgj2uHI2`/w Ȗ?Zy'G1qsjW,7W(B9a+ >=V4h1y^*)ծ^Zu+T恔t\i-|ȩ9~q8Fݯ0$08XQWRY"J8S&mߐ| k{%Z嫟د o/B [Aډ;u[wζ ^Ta-+ 66ľg36>3FPד1*gHug;T81,SisG鮉4;&S}kV^P\ˑ1|t͠DoJuYN3s!UnF[gA'Uin 8:'e??CYG /& 5<Ʃ֞ZD4 o> KӾ&ly*To/w3ܻVHMTnq<Ϭ.כb#W46ۘI.dsSO'N b짩j+EX`5dHf:?H!) |÷ $7Zx1&;Zɖί %կZ|AtSlY$!)44E$\GYS)p# ZX/hVܜg~e4Xj^7!^Y?0E982Oe͘!l^e> 2"*^3zon"L8j D/z g&h8PVhl^*M ~j o6,8۹ ppn((ܹ;}$]"اJRÃ-plUXܬ껹^<@Jvxql/ 4ȨGxūEb 8` *pa0r6&Dj1sn-o~ f|wM= j'8 qs=*ۄB0ǽë]`m[=B&puj9k~I I<^q&$+z+ uЦuf ?YËfy)K)! @[lv.~OnZ ꃕ5Nq4Ud@v d9TLY-8v *r`)ʲnhߦikɻ4.fRc& MI93`56^ab)ڜ9AOxh 2{vÌaz)'_"LuU0}]F3\T"z Lzl&yq%)< S2ע}s6XviBo^~pDӻeцmNK<_i]\gwt1:%oT=ʙ)m֦wU=)kf=J~=*笶&Ltr3s/$`69m 2# O8fe78o%\IΘϹHB>y4\NtA{rnmA/`|TP|\}Ӷ@ xB" 0q42pr uDtO>sǏ;y xy(wcTkF(fqtE Jb: O0վ O!Y# R-Rw,3Ԟg42?Ij+#ﻄ.!e!@g7rζFⅅ|qYς5y1xiHҼQ҅t xfm9 Hj>D O<:M5}̹ ,l̙qlH}]r]| oW ^K1Wss%QSLD}-k~1t %L݌ğ\$Q}m .]w [ve W_@!]mMN!arG#+1:*- ,|/4$O;@$]a0+-}zɤFn`TÍ0M-T׶vު|ȭ45(I~ђ$=odTc Gp\ldL=*xeJ R3]HkQ53_YM-t̗0[*}43 _Ѵ `YHLhYo ;ZڷeMW8wk.>?TtB>]ŒI(?: c#YxU*kW|7?ʢ3N't Z3)h`Do$5x-'WO\Bt&ٹ {Ujrr ~%}(t:1cjGb8&Md#PyzYJB^Tj͋uE6e$/NϪw?gRVLAr;vL*3KhwG4;} tԎz<8Ok`B#qv E(b X\[~lX{ snϸ5Tʸ[K}3D;)E}7R%jixM˄?aձ]ߔ4gmt\a\ wU-R7`_0Zn{mrc\g~&LdV}=^@|\9 6 !,}_Ur7"n4YnzlO47Oi{ՂGU\Q꾹?|tHt; HmB<䭫@n~v^UqmocZ<Ɗn՘&1F*\쓵_P (ao2߽9MV8/?2CI豸^& <#?[9k޽-޳kU# jqh|eU yK}],{^6E:u />CpuŃ N ݜA;*@q \nA e!-Xq`IU%N]n 'i?t@<~Fw!$4"LBl-m@JN݋k-o)Mi7Pe}WYv ]o7kVx8:o3k7osg.pLt4@CSVxc`=8˂)"*`9'>-JGE?&8#M`qG'!DLW>r~^H@E h)yHgt+X8+]HRvPzjG>$QsSH "_7%cg? m~:s]7ZLb,~ 6lM?zXPv ˴*nՏ^lOj6hfM};(#s#QT&?oSiS?m1%0mj"1֚Y3}wJf9WԹ3{\O=!ݝo}Zs_103z,t>֣6tI{n4_#K7RhSRg[ɃH|*;{R{C n'- ,N v"i \ԍgN]G &vԹ=RGs^xgϮ7m݅4@2E 5ݓըpb=a 1/!q&vz=76EVuWbߙtI_o-n;8M/3ERr{^9mԄFveOGƲA7MM$uphmKoF sɳV,EUIOp/&B.mɜ&yj:7xVTWUܠu'ImP/%^*'aա=̞6mbo eubv'<ow[2#m'Pn)'Ƿ5UQCUy>dEQ^+m75QAە|zÛQr$[mmPFGPܽ@rBƍ8*M{zװq[uZ8ZA3,2ᜮ9:Qg0Kf3QDHicy}G{7EJVg:g:"߂Op͆{2Žmb7QWz̿N 7T'~y {c6,ji6/Hc2m,קEy| 3opOb:6%Gmv#Ot yU'!Ů,{w{U#g,]HOL-/ӏt878@y^@RCIS5K9yR\'DoKS|mLQvPS|"U+ܺw ]]v=o@2y{y[jkq@a EQqc!{A Fwq1gpV܊,6#j d( MBhYk%=16חw[jƇ& (DοSPqcj:5 5Ըٞ'2vbkptQW}YBl垻ŷT[OLd*Thlς +[HEFL>,݇/5nWd]MB9dF)᛽qt$wI[JJ4|+KV?bZSy9k_^ep*q!;CiߙMhupp|/Ͼ}g'3;..,!s-.@Iӏ%Q) OQ(^fA0\NS[\,b4m(ѐu\qH{Iط Mt$;WTK5X)qmTO7vh(BI0kz tNDܲď֖0cv˴vYRR1H)(n}ӛhɍX=5D`۬>TCC )C^o!9чuQ, p?\޾AT$fJ^a9n[lIu([ "ub}ɾ^܍hqߧݞ$E$`^8?M&(Giʾh;D:vIa1Z5'[ ~[gJ}T)dM7.8ComGԁWuy%}MNH6(alHK\]kK[Xp$쒾P+t&3mDPn(<=S܊ ט!)^?^l xy4 *m .`bC=8a!hwR QS0 J[769zݑjAz6ehm0r.MI ,+J_m^+Qczq٩_t5fp^Y= Qk(uXXMY[ n,_>Il-$f˂4P@|p[ǁ\{YHQ[+MØ&+҅.A9 !x2-Dڼ=q-˖1,6_Sg)ΏD.h9b~LE]\}c`K$(WΨ励`a-+y]Ϊe͇ۈ"D9o!CDO!vVOv] Tq@+[m.%R8-Nԫ,mڛXQ#nI TokBH|]!fdFa9uD8As}&2Tǫ 3. М u aG)!i[;w`UHL{{jȀphbAVuLC\ 2❌$Ia̧'*̧P\b;7z(8XN+1p\aTt8}D0(}3>t[dw27EuL~=8 sbafm*0$few3E}[ď` d/9&<F|]a^J_T*ڀ8AŠnoZEHbM}- joys>| i`)!(Q[֮2 xgHЩTP%qKfԐ[\8 -r|_ oPX.QV=GA;M0̩DeHSeHkbvcI))bKA_\ kn7{6Vķ@(d.V.9-}8˴YlGzØ٠NCmo6NWNX᪒yPfT (2pM@4@Ѝgj0+ IɮLQk[*5Xz]̰{%ZJ6ѳ0X}}3:%0(?MhmQ.T33\cۓ53NAߵp_Wx)bV@ZxbofT@} ׏F^Sc<.cbX@1yU]>1}Ʈ,pnrq8Jn+ P`ϥd}yK(>k:c]:^E/e@I&DdQ sWD+(&xZ e*, XCzȊ5#Y*0C}7M>d2E=_9RӅ*`)o?:3o4:L-dTΌw)(Oê!c2+* Zl<}n )i-pٞsﮕR6 ahoBj~Rrʼn4mֶMF}VÞ\FiٜVYpZskmpC$Z!sHub+_)7W %^Vr&\?ib 给WVE}o WkkR0 yF0Hz]ye{亄&q >0,T3-(l'}H##S%"7 yV*謋`JD;d1N e|jmiNg w&&:2.h݄{p_>}Hd gNy֮F4P|M7rYrWɯoHu魾 9zaX_rNti2b6*ʰO%^p*wC5˕Ց C։ @-bSM] aPXq傺%|zjxQnf͎,ɔ$ ~')^41" I>p cՏK laP#MN:֔_JdQ`Kd!MNi{0ϔ1}bSiWj=h+fWB9uIUl'^Yx2?/wA,tѳոE#G0E%H?a\~it˼&ameyXD*B}?34 3-̒,6iI$ kFQ|/y׊䄋(<I*TgԘjlRIq+|_/{X?6B)uuH3cOTYQGZey *aC %S4Y}a:^D'}>T9]v@`M=/*Ӽ`NalJmflO?6DmIZW \%%؂VpY WGbc(80ۇO84yR=_`$BX #RrN;/hI,tRXY%nʁb&ϊ3l:eֵp 痺ή6ˌ/*ClN[: iou.,A҇#q^WbFa&ONm̆^-T%N~F2허84]7m WL5i+g|R(Pژ# Rhu&eUc"?wźâ4( 2Zbו@ȾR.E4W>T!Ԫ,> '\K*h@ܰ*K&v ~|ɰid:zm1y2sWLd ;3L`jM<]:kSztsP }.5Zһ. ӅI\+&x LG k} \@:AXNT<{ ԬlMyr™Ըېڑϒ:y7/}]TdTٯleTbdr#8lY^4gXYS2孙{kG߆ŃtÓl"NJ cpgirMԟw ~=z"847.-xT]# ϖ`~n<^0ۭ{ |].KY~[gǖ>}G>7C<M^g;K[kW9c-AMV[}@9YWUgTs':w_Wmvk|j= l֡&X܏{O)>•|8SC@V7l~S%(R8iՌ]ckY5MЋot78} 1> -%XOBGG)P;1!_9ADQ\`0rXDĠMC. 0zG>y󑧤eA/Nngscx|Mݨ%sP1aAՆE<[IJbw8 w㟷1!U`㋔,-?$y#DݼU|Oow}F6;ܬ]p"x%]Nd-JIZUSBsR$[7o)De՟nK5%=Ue^r-8* Ww6ϞH~#x7&DkQv.b{ ;fաs_WS9o> V !^:POSHl)El+@VRS%9Y!d =_閧WxVZ`{ "K}Բb/ ;)&M8Ӄ~;)q1mR+fɀXTd;UZck'MxW;_ !fr'GnWG& ;C1g2O<$hUCQ>\RhHId6A$sڶDٞ2tMٲΤomL ":` 澯拌1С@>uc6e]xO9HЯ+[zU$daR$^a)fS]]49~g;4aV+U6]5s? s,ܗ1nزLR*?.d[ÛLɶ;jHړWM!OJ7Dt<\n#(uM8§ ^=q%UM,p̳I@~%pܩ0ͮz 9A \VxaҮGuyJeb>*0O+K=Bә!HKE7$_!56^ xEDS,3s!Ô xgn;Ӛh,iwagP @b@(Qw^: oL4EJyZFF<*0]EGf֞'4 ĹbJtJUAhlckBRY0k6n\ uZL+C`-I[2mKUC߹C=LP ]8۾F԰z֟WχQU+\uj5bd](Yk\lAY%[2~x-]~Z^RF\%JF_6Fr!LRa[xSZR|5bw_|.G6F<0O[myS1z4Xq+kz7͛k4+G|t(:7󡺥6()1zn/@﹝P&x I3}mv6kg Zd' Uus7._xmoKx2>u<aHgy2";ǝiJC^u28&\Q)cbdzu7Vh$5qܴ ZM3]%1Y% 4<˨L,LcxMMx~2Фx*֝Y3FF w[WÌ67;E}4Z&x9 rp_/N,1&$՝'Iw$Θxu.,!I`3}np{܀m`t9E/3}#[l͖suo=NƬc[MR!Ɣ?WP-DNG!7kɺ4}51eA;&)i*V#(Pii 5 OYԚ=ʯT~_t&K)N5hRkӵP3 冲OpCQ@&̣"T}$meEiKh_F$h&9@-SX/1D2|};.rj%poqsNJ\q(hFo溦 c9" ٧/*Մ_̢Qȥ@d:=/}=L; RP<܆z Hy]N&Nӥ?0U[ -7hrѶRڝ4ADjӹBC7VȆ_8;J$V`/l0OK{Eg5z%(??LˮEk%_ 鯖/Ɲ<  cBy/o_}cT1xQ{,XҨUq<R!l7.* ർߞxT/m; QUh*ܼezqrh]:_Qpw_ MhX3vg&Nt,m;Gp kfip4u)HTHI&5RR-,u KGݩ$Z<4|ե>7 Δat k[#wE.rqtOտn YȆS[z窾xլJMku"*v#)M\pFvHq Fڵ]zqz[{{u98p2'vӉBWV`BͅRHlAr[A^nUZκrT4v?|k6l ^+|nӠl1=kv,zIZ.Yakeb Ǘ0PKnrvhrd'S7aC:&kj'gcDA[-RAem}rm.QW|&F-,ہ-20NEi\nѱ"3K\H\lP;8SXɋMiD<ڈ 1+N6p g̉%wjs4@H=#>$/RݩfYƕ)3d1רB^*߳н[5t2Neq^"*p;%VWQ4{qt#ԹǮ>:)Մ>`S{ *z*v#'p HSz/|c] ={2˿\Kn' 1訩 ~FѠ<*qZ#|MP8.q\d'V!b+hr+YZڛF^K1m Rkߋ;f䜳K7L=^D敻Iu^s}쇠|.xT왯dh!Smżfu.fށƘ6 hߛ43T0NRNNKVTT_ $h 1F 뻃<%%zNȟ?ae=eUrDKotgfgK_[ε`W,vjwq)tYE.ieջ\@nx^b$RnDFAK`ewwvUXeãZnȉ^Lǂ uI8HM -P8 .{0ra=W{ `db+lsQ;p\J/t ƌz&ΈDAu(ggbZcm]0;|EY"C4]̴&!e<^YZx&L2LSx`.䇹fh} FL3ëqxtTX T,}oҗEij#U^ȍOVE,#.Y¦xya~2 FV`Ɉݲ؝C|.6>L t(..]hGV1N XQ*Mv=esb^PEM k5U10dE>ϸԥ>cJyu]t;agߪ\t*UG\SP ⨻8j4eY) [oJBwf+c 旹T$[#c'gㄍ`>lNw>Y3%)E(aV2{cFb%vs d]؀gru # aA=İ[7Q"KdW`Y}O6*: nnC](R>5Dمl!ٯg&rv{,:Ad^SSx4=(KԞBżŃjqmɾZx`UzP|MouҜ| ޘVXp?{SAIm5chLǝ"N|6YbtLXYD貘6SS/tE%W=r洂0wB5.M縧K8B3C![@B¹`B ~1khPaYjxђBu EHtB_Bھ . S2gu?琢e4`6]`WbQls\*%UG(Za?F#wX:|( `vZ5tC_߃5xd m)9E[K\ZMG{K3jzIڒ LFYi}HS7ig!?|ZiYOMwk')+-s ^+8˘*~Y296~!&aRgamx{B9Q$ [@&%pO U>+T@Z0K *HtyTUzЉxhӵ4 1Gn&&k6ltfr-f#W^]h$GP꾯7vHXX6FТ]8קv::H `@ΫhjAt_ϳk#v$&`X85Tr/|\C fsN/ ݆_zGmQII0B/}y/9gZncٛ<ưi!q<| d8`qfDD5Ǚi $;1nebuVUe#q!a͔0sъJ1 GQ'h&)uy% 2,xKNmh.(ӧ'o 9lYc >R,\b!) E?L8 +%np\{/'m5n^7wĵ]u͜zMKh| *uV˨ m$"Bjg{*J}ՀLfDF7H)=+_D6rzNm*?O朜|jږQVIRN( }+ j}cVYױSeNk[99gZ1ݙ蕺&@;C@]U\*G8>@32 }A( *!Ma|co0袜K+וdX|J݉1Buh ,A1 yϴK\%mԸ٘]*t`JΓ٣'@;ȟy; Ng~Y]<|F*/`&E  zSbTrqn7HdO:lCN4ϋݭE5Z,@G'd;U}BP6+33'W'=PdDTV%J-{$ªh?j@pg;^@7^U`DfJ!֕S"9SG/6ֹҲʇ }EfўHжQ4.z ϱHYP>!TFRj_*pSt8'>.e9dn3D u$Y%x$ꈣӺMX`N}<4{S_WC:jbw;cxU~j& L҈P/|-~L 5\aP*֒ro&\&IMj$#Pl@ }6 zʹbR|D]2m d1&Wr9F`ֵRAHQb"Y,rXr~v%~w}d <'$'̊9%B`ҿ'd`,GœPA޶+ZsO*LX:'rUV1899eV ڋ %E5U!`䍸9`OF+KW |,Կ/f:aRl=YmdDR&9ۅKiy = @D*tJ+-x7`@:´2`#g=4:ﬔa)5|QX ec%IEJa^ا;铰s!93n9\'mYomU?{Q íJ Pi*7("9P4*j U(dTdat/dX`L&X)N *(rP=TKä!FbSus"u{ ,Eַ$43aF(i 61sMDXdiyc4V^HW'.YR 3[.bHжn)2u/~m˓8t@E3^U+j˚TUnukz$ٴ=Ad؆ 5# m̖@dC֝%wጕ?c?& >z 5x1VK6{=k+M&LnB 5Ӯ$olRr#$]=^u8UѸ6T ETlj)p]`3αGgX$+떾m8؆:=w@~^Wp/~9~8,#I  ޹4&ul۵ⱟ @%Bzu֝F{~6 ߱ SXj\#0J?k|jѠb*mw -6 (Ǚ8r\=CCklUUj57Xȯ ✛(t~ԗORUחZwW!4<"b6-}Q19"+1}OEձ ^a-:1[RDG%SS#B(NQ˙dɨkQI:Gv­k9O+`vҸN 5 _QƜn5W_xNu7W/q^f4)Q},+wԪԟ#ӷd 0kWF 8D9`\\1Z1Jm2!w|f>/+g%>D nUP8>4mh{XEnVM`)-E:Uy,HS/=o?[bet3k`uTŭQ쑸~n܃&qa (@% @'^Ͳ(t4]}f-O|{`荂z'H|}3X'hSfvHk~l 34ߘNz*؆ʠfkۑm BVPn&p KxU9j j_[|#,xN/*T͌ۉd8֛NTIN?i&ܻAo_=KU4Kb%5r{Ku E?ic` hxℰ hx-RP[ިu-Ya-xw1Xf|j:*nH^&'>\DQ~b|XZ@XжJk?Po~SWcEz^,9Y={ VoDωN݋Q}ZuZ/nԗ&Xs@ P-,BE:ռ^-)x(9U`&V+Æfb /dN]%f*-^ ab~+KE%hCi=;0Gt`m|n4V(}}Cx1/FIòӪ98ᨋt먉 UP w=u*8tw\pQ{Sꏧ*3@ (V FN`oWy'hYV#67 C+͐xEݿ'j1`cqFڢØ<{^$3< ܕ PtnWl:mؔ&?X=ԅ4[ ?f cliڢ?0*kfVi[`X ~gXZD(ni&Vz,3NaqK:##:W̤!Zp V0+}|N]pĖmG-/ EbqHS)<] A@xZ3aZ%4\yJ'/lzz 7;>7j3?p_k~ !ԃu@l*JU]3cĊ l:䌞BJ_rJ s@~K4ԢԘ[۸Ptμ' uzT͗RlxWfjM[ٚci%?~Rci\E79+f|д>knݫRJOwIvd(^ɎAyY\5iX}CHۗZ)\b)(WQKZI·s.a\+4&.by [c7+z=ea*z+ x*R.llU !lex1:"Lծh 셹gυ?YW"-c\i*S_N-R<ʼn J^y/w}˜\M/x 6׿AKv?^뵶-5aBZﻫx9oHFݿ*([ pThWY>MWS0ʢc-Az [kX+0i.ŦFH]`XP a`0+LDoAK!2Wz\8$ tLY+= 1!1.-~~xӝ]F)q)y-X lK-[d+*&-v*۝BCR9 MgJNrKsI@4|vp73n'AT'K QQqWma {y޽Yi؋1;gJ '#@hS ̋TH |SN'Mht]rqJglF]q<%a #{8A'A B*.h.g=!MrSө"UI u5ށNp "NV;s>6ߥ&r"4Yk\V~lDf0 E ןۊh;c{\x/{_\c rO|!SgXZ9@P]KJfz~ '_99 G>cMž. `AjD}n߆.90O2Ac-4 hW dv,OU0dv='tu8yTqzb) -Hŀp\hW@Pݛ|`EA|SG P[AIAk'7lRPw$5.q)F撥AQFQ_"939o3&[lLc5hŦRsAwh狄pcoժ?, y/z3_ivs⛝B3#?ZwP=g|_/ż.:NY: d+>WUuڽ'}6bEônTK(]Mf?2P߸a;Ϫ_?o~ac\/\;3{ߞ`_B?TtFMur??у'n,;8}(^]]1'gA ya,O1p~hTٱ~_?>x6A?{ü~?$~q 2M?͇cP?@/{~+70?ҁ~gprGy7?svěx1?wv5<;p JW"m3|@BΈ G`yгKܕ?yO5@=%QH"*nj*A -hbGz_:$):!I>wg;#(\-3;n /DuD89G+K ]}G2–\em&B!+9_`,MulwvePc -)ք%(%hb`:h[ (@gL/Z'o[~H> )d}~kv EEgGRP!Q&@^ V@~Węڟo4a% '3blUFyUS)x3Q[)fv#& D(wУGi<[-Oóc), (˅BAl  x@: >(xNƼ?C(]{o֖u0ϱc s` QERر`G%[3b Wji=qG< Ꟑ̶e 7S<8/hE# /x(H*{@Qȡ؊]@jb4fYVPѱnӺqVAgtΆ ̖8+\q.12Y-]._IV8Fr,^ۀU=``(A =44z_yxL ?QO#zJAh}ߎ|qOZ7B|kđ2R"a_@Kp|Qu6` 2zʹ]?U+@L2 >|_5~])9_yzlb(I|PY^6bHZ odhPbR{S"{ 2;RΚZY; śW4(Ǜl}:'_7u⼨ 37p|l~b#m9xOeG&@<Ӽ[.,ٓl5dUvkQ-ɝ{NN_:Hm ⩥0TF*hh(MBa @8@w^Ţ"EAFaB?:,qg:/GQDUL٦I\b@ RXPA/QAihJUCǒwB~zhv> xnXP@}?p]=!Ncc`!xwxF,L,x?\M.LJAM"beWJc|?cNS*ˍcTFx ΥPS*]*9_:}mjc' :!j淲×&XMzYt((&Q%p*H1}.٠*qZ~YXD4N̩շӺoyG:rӽ}p0?@WCI&E89sa33<:J2f7<ҔWѻt!B?"ϯ-Aj?<`4.d*!h /\;^"sFu}w0 $T,|#Aх!|oj? VD Q4 (݅b]HQq4|8T#:T(QϢ8(QkVh>d( /&@[w(J ?-ϢQB͓[H}:v`>$(V/E4(ЁB ;O]D ИV) u@A#Tpx.,(pw\ SM"hwh_ ? 0 /*b>L|hU*$}A݁#+컿oqoyR$:?t<Ƨ;*5{)]4]m,~gTqǂk]!~dGa@|/~y#D/28X# JԷ-NGuhצy-ˉl: 7 aNYNEEq¿p[ݗ;  dV 1WggevoR˅ 3=/i5 =cwG|{'x1p*[x 8uMڿu! e#fS'[ tdpi/jVJ0:ЁzWٜ).?Zbf26v ]=In}O@ ί0n:emE>i}^2P^<m&f=)e]ӛFs˂h׿gC ~n)Ja{?O4Ɗܱ-\ᾁIu(Zn#;qCQg S_-I8\2 9 -Twݚ,3 -O|p0 Cvv.s|16jh9{|W,<\?xpH| /=2\7ӧ5K Ů_g!ggyeƏ9 K٪#=wiw5\qEVc~o~yYptѯw/IjsNt^lc*uCeP|w˯d& "~fo4&50(Sv나 :%czy3ysɜń5PlQ` xy @/V,DsJ@r#_{/2Wb"?*7oKsps#kG>ut|VW47t{dbzQX/:-St|۫&PJ|,U HqED"q47/Hj66)Xؤ~Gdىcswve?lAB|Vds3SS8R j ʼnw<*|Vws6GF) B}W{~^TX`GäymF޳O zCQcT>-1Ux2W~Z6[ ^x꓊,]Js|5 |dS G#33uG"OV=fv=a)UT.U7Q9̣QQǻ6i@IN#3Di^$y?;(u'Ŝ_f >Kv$G&6OUX-[n^Fk0=w΃GE2W40}kK.WA s7H`M~Ue gW rNk$ӕ+Ak^HJֻB}+FfaպuCq)oԥYΈ!ri+S1!cS~Ij'*Do]Dũ8 O>?XN%9~}d|H bKE_R_Ư\Ƅ!*@v (YyHb~ ֪?"COB"j @R<,W>`~י}Mvm薒7}bY{1L_gqm6=m' SmOy綗^$ g.?mUm ]ekriOΨ[}S ]ܭgt .S8)Q[n%x^Œ2Zc~Q>׶S}¦nɓOikM j'?a%M$ϮݸTP-z}Z լ6Ywr/~Bt^ί׻yl0Vpvjx!L)9~Kkz#{dr`0pkYsZ?`sU7uo4MYMkM57澺P9o'a(h62_5yG9,<,O(3`?]aԵfXq>]JU kqZwcI)B"y H|#C]Y=s{1L/Y~{,;>@eZ@>?=MI/Jvm12%ԾN7j *lifX.~^ O'0 /`i(k2BYٲϋ/{'v,F^PB#VE{97gB(^у$DOYu C0~_Cd 9>|Fa.vh埀^d;'ٱBu>& Ous?A[a*2]J}7KY㗃|^Q̳^V8IqakI98s S¶ϻI@4+ y%T?AYxG[ɝMů\y*}dHe+;J-=1g9rv&K(vT* +$.ķ9~V Xُ\S=ﭳPUVZ/x5y[X} 1` J۽6xp/:G֨Vr1\H=ڕyo{T7·TEX0)%|2m}0^%bq L`LyijXuT!`i"x? W No0l!2]f$ȖK3LqLw#hdm\;WgCAVJdʐI8A:% ,0ѷ[k@=9~ͅ^?\)o q*jk-iu8rec)*:N͵ɒ e=[XCB\6>O= ɲ[Qj$Fǝ}y?-"9fƟ}jd#e˕53$W+e^ă/$CA轉&?L3&/C~}/=w ~ՠC= ? `eқJnwz/N  rvf`%L,{Trg_?D* ęO>YzWb٬{>LS i(Ft3tvNUsNsW[k⧷4Fkn 5Pߤ}a3S'@@tg=}KK $^ERs`;;!Z^+yhm|G>"rV#!G*vlOv{P΍"'Vi抙$!3f⩊:j͈R 鑄녰w9a9, p,0@L pT"1J`68HS"* 8A^4(G{Vv '-)ٿo' :ЭGݪ$X@4Wp/UPU5C@LPhlIh9)N娽gھ#$%N]o .}C8'9:J qs-dݦ=]gs)<NM✕Unگ4+ svn=Jnnw u "h~TAܻ?_tWOj 2SOfJM9bs\cDkGPYQtTJ~UΤhS ˒@4ɰ#iJ45rr\ng[樦;Ǫc' 9/!aWk~hȝo '݈sYzm탰EuD/hvi33b.xn'a2tv]TĢi{Ur&WE5@JHUϖX)#q=J_JeUUܡnCx UHK/Η78r-\&'ofPrb\j$/A?/ӓӊ+6 _iHkiYם2])r'f);^Jlfy?x,K˧":@a/y,B(-n^0ΧMO2#e\!wu}}aƵ(@XޭwD +ƺ N+)Ϩ:?_{l{1.DEc9o cʭPŻ諁bM@}VX&kds5wZsg%Zwe郩ԡ7/OT[%R8]D qɺ2:|$xOe|pB]$:і%9:a#!a % @ּ R,5K4L0ysw߄wCHn&[8 %TeL-(6I$82wm;}ǏrfAOH}[Ʈ&<Y+oؐ9I-Yx#ʰ·yEť0)X!W=A ,(k3rb<(r6)ҷ4ĈIVijK[Ҳ =H2?Ӛ%0{  7:!$uK0whɇ TKff!PHr +EnW}WD! k| 7 63m'p>ޫW!&bN=*ɄHz”}<]tАG-C)Cݚ|+:"yƶ{R1!/xɕ|sxnRqp&r)a{q %<#R{J^6V6vNJ`ɍ}̦Z2z,6sk7kP'ːG|kѪ(1kpDWI:F z.A*M{#SFJ1XN<^N E+GSb] \x*dU,]A$8c-r$7VGHIsxtŢyB3 n3Ⱚ^x ViJO CZ44򇪤,9$A8d[SC?VNt՗O|*wbWe!K#F=WEa|B<Ÿz`s~s!/`(ߢJ1fM Lc!/Wuxo72( WU!A>?o7W;wh^>Y^M4`;$`BRYbJ4kmx*a0@` ญXd)pTSܳޕ6V:LÄf(xX tЀk ,PE:}Y8SY3xF*/>/j i~0 *huc޳94+ó~Ԥ%AC2ŔL$.S:0Zb$ MSK e?gSD1dVY,V9q2/1s&gY>+]|0 ~H9iOP{ =6Ph1y(ƔDޘOJ0<ʼn;xAYN;o5py}'0a&ީ |֐GS OT7HwΪhH^# .MG{ vi_U,kb԰Iߵ%b߽Bbԇ! ptM<ճ|F7I=>\%I6}9abdtQX0i7&kl/1ZIb3W1`N%6~ʶ,˰hޥ@ #GW}R2Un:+NL@~7LoXǶ&H,Q;88 ,sw' +\^pŷ } aS^xG,GYִ]#)ٮ)2\YƳ**om C$XB8yQU*[V!SUTQ <93 'Cd@A;V &e6)~=1uT)L <C-ZRe~sJV]pSէCPJPxR2tn=ST`x gẲuѶoCs[۝ 9\˜*.[A+4D_ ϝTFY)&M4QR2bGI$dt&FmE(RV)zj d c@m,|JQUH(絁ίp8UzMnɌΟg0{K#/; bePMޒG j\FonB7’ [K'vmڅVz0UZOVmyѸR^ @jbB%Ͱ?KW:,bG}\N(91PC0u(@+]cRj#3sPkao#Wm19<p8G]5792fD(Lk[%6"?MCp-8M;MRmRX\a{~N5 F>C=C%8e9YV=At{vŬXbgղb4,+{'`Hz4X7* 2xPy^oH4}|F:㥐C@V_rtT0O"C'K"11q Wn+hAyvƤA6_/uwqstR _>&#$RX|{.ɬ+-L~l8`D.=62bbL U +7V˅hb"KN!\wQ =9v :F957Iua(~ad.ǩ! oNr-XSu>j}]3[HNV|ǫ2Ok҄^;8S!wF7H\ D@}>:LWBCUE C* I\xÐGB\=Qo~>`ft9GG^uID#Fͣғ. +.jM.!B׊"E$\%<_-4{v@)oy -]o%xNGs[g4ELk@[eIkXs;:xRrl,wܰ|h?q?bC 伄 9QJg' mM.VDRw#^TRmxAUjI g  89{)a#mTe%7ς:x(}@ Q/Iἆos!-! Y0!5E u{ŋ8]Va3\'jlc 9ckjO{dB o,:>Km]$+ՑKe*(&7l!΃#%\z'JhA$|$ ($(c$QyZi`J[TJ `6EH?H%_ ܢ t"\='WK۔GM~OĞV[@׶ո;[)Z4=ĖG}iEJ癊Qׄ(A%O,D̋@.4':uΥ0E{o+"Hb.r\ďG_qrܤ7U=o"(J+AR&<ڴDA0!MK=ِ3Ь_qJ >gDLjJ|QzSΑu8`÷E8Z-P:QEBsgpbSsǙUˠ&ܧ\lP!m_(>QGc8a %li11{+$k5y!d}[8 ¬G`8DAl/&1Fo~$2=[41m>Y2h0b*&p'{-s=hm41Eo廉oCf4c˥;)g(9(>|Dا٦}E׈&2BJUN,G@Fq-`d[̧]OՒ<1W-^]5&#]2{|8~e锰h)E$啄}gfLR0"6 Jh]"W&IJG|3 X8f h <}&Kc'&u6 . ⚿O+(`qxv((9͙x6vD]SAdګ)RNJ+ZçoCw6e{B pΎrC/`!7d,+Mi?O"g`pO+6B* ?a(#-p fY'3ǫ"̝_Z8fzV*>6J?jo;Sg2sQ[`(Q.;zz@OcJpd(iXm%=ξhP܍ڏ]ecIo5x ;c!3Bx%0wDv4_BsU&+z>i:ܿJAgC_q0R~+.tv|ZׄL+ևLVVC'!"/I۩;**?PŲ-Ɇa iI#?ELAg]1 .br1%O\@{A;Lh*J˅l|Շ'=o[f}?fNebU98$S/{%&0̰28/Z:Dz`)Ea9n㓦L%Xb#8 h:cx#«Ojo=scJ\mQepߊM2ʹ./5)TW߇k e'Ch,i8ϑ5ㅳlu,szFH {pLCw0N.w(_>aS(57‰h\ zXathteh :$tLðIpˆ ,H_nX,ئ9! ףnG>(eK_˛Wh-r't/\CzDž3~XJY NZl_XjM$I~;-A\Vx?x>=l[BDr~9*gأkY$X%+syYq'?/*wt  MDSdu3}#+}Ӳ2ܢ%:XE{8Wy#"d_x@Hw1(N꛷C{6D70엩eG=?+NOTDA$vp#b h9w}}Bڜi rRȺz:zµ7=KWdE=ssSpA,n;ˆ"iN0Qu;ʇxqr˞qS˿Wq?Aq99P3iKYM` [WW 74@,b镤~k-ovz9$MYXNɩmZk[5vLR)r24?tl'8Z?`T9ퟴ$  !?65b-5ʹq*)ZEQ_f~(%៭KEa(n<Rjwʿ39auUMAXo@H8bE*MX=U~"g:Mt]Q(݄Zu0OHPŨK |n=Rz()'H\H9b)|Ɇr= (գ8ƫuiy$/Îҍ>]φhi 6Y3qx+UC0[o".Wˉ C/p% aBۡÆꇑtH_`q$P-7#_"}l^أNlHLCxKHu[xL=5g`ԉX:{h9\@%]e1ED l -ʬQ ePv\;Yyt0%m)EZ+}hh e8\ ً[W*&u mD;RPٍUдWUgw0C%7/7TwQJmb6xgCFO,J<|׋4Ǒ.L5eh}h%w*rЂr0 {2[VQYZՍ_OȄ4(-cY vz-yJŇ_dnLA1?he3RYќ߬~z: ]6\ρ$EqW=řƉIBdG Qگq:Ja#\QL=&\[K)4l ,YZJ9-x$aKm\dHGA;ZqI\H7$!&yYuQӽ v+]'rFU{ BU3%Ol֬o[V=*n L-)Ǎ!@FC ;:1uAgJCku%xb֮Ӵ`8ig\^OKd\Kl]=ІF @Ew,2p{Jk&sς!8=1e2N,G$@y%au;s_Dg$>Wj x= ;uqvKotH&ֹ~֗ը, ύXHsi5ΏE4͆cgt^V0Ѡr,*w˨2Cl as6}2@6\_<;VK Ou{ϒm`s1ٕLgԾr1˯,A`CcQVY >@@+݉h|/}[I@J 4T1Gp}iZ=j}Ǟ(G 1igN~u8roR:H87`5chMhlh^uCervrΝޙշИM?O1;ZU UOeP OKD\lϺac5M|tdʣ1V;*H9Go#}Chl#s\.$k0[X;b+{q2!fvaڡA/hlKQtmFo=Z#Ӿho8N6_5%s49L( /5n<)YqS ls/1`~{h!V[.ٵQ2·{,Ӻ a3<@le ǐC71ߞd=#3:F;W8k/ǣ9dt-Y@n`Ǻ@ۍɻ㫆4iiC8Nihm(t/b$̀ E(kER5a mAu&`e7Mm3̳ܡ |YJlbUUFfy}WnAfBj;yO,I%{e`~N-4Hj_Zϼ -'GnfBE2N ^CD6n\GYlch׈Icv).b2#Dg(pI" 1Jڒ,E}]E9`z)\v,D/Se: Ɂƒ,Jv.#{쵳Fn  f.}Gnţ~\tQ⚇4&{ dDjHg@Њ8 RKt;ԇm$R]RG:uU˰`ݤQ:yfQl]7oGn\5A;9cmOWyaJ~s>",9WlR99թLQBsq_(ц^hen 9::A!kQC~qPװ'x9bOϥmE l85\i#sSAy Jnxy!tD7Q7"ԤJ}M"8vS촱5FiĪU ˸b'@tl$CQ&KdeK߉t'M,caYM㺣b+}q{INQ}L]_/=G%S ^xdi?`[J\_m4X;};A,׽RMEַ7b?`iSEqb4fIYӮj-]!6 :rHmOk\b^!ۨ7eeߢ|KE*Ǵx}p_ uk1# q֥9eL$SE-4?B#7c# ʃ8ȍO$ݫW\320'x.-:u`-sAڟ b( .mw0)@VC0źS<,݋,9Ov jWj)BD#V*y$ *Fh$%''JYAuMa, ?tף9*~5{pW~9[%O?+0HK4 c@IIQsUM2v },+qwf SXM H ix'>;{{7f=ºv; k#_!va+p4\fke$A'a>)unʻue8*ri8Lǘx~Z;_@|d-g#a/Qړ%fwj%Kм7D$AEc#Jsˡia/7~͆תinȭ|'? -@,jd_x?tއETGZ3wrV>AjJ2@hQUը̽ .AӏXס92I%|[*blZvw!E(I{`q&x"lӚ. s'fu)jK싴@$ZJlN7A!d'4>SpЇa .G-ozcܳ#)h~ɽGxϫÄJН90&7*yrvjӞdN{(L;kT}lxsAgM mzqq)] ׉,6S91*)1ZՃwNKZx*vRB W!?wN\@,qaAyv2V)=X3Հ#Uxu, RD̃@zKQkqJԒ?ھVHW- azclw$l(,ZcőT/YR7B /$5D?Wg3>3[ePyzK4XA*E&Ú eӈ 8B`bbs9 0 _|$N* Bj1 H/DO&Zt7Glـ6)~mѼ TE&/DT 2/ivلg3 y>$6`92qIEO.iBY21p0X-ilh4PV@p[syhcMB1;ϗL,TI_K^| B+PmEv8a}YH(5!Q@ty\H,t'#yV, cyQFd>.a3ɡ+aDTQ?u=mXĿl[ &0_>n=RKZgdk+P_ϡ 2Rp7kV+]11W{G *>4\%hte(B#EG:zJJLl.bʝϕ7A\nDcP(6ӕ!%KX'Z_C54~}T|@>QE{naX d +[!kuWlb]߆%kE)6"4X4];21n`Uʃ%T't%-,̣sTk 2< y7bgZl/iхPw@K1 Q+ *9+|'N-R/az$X2ײ{%Ȥt94:`rȅ^T tufAkvdR(vY,Ȓ> Pq6q)bBk% 'T!~DwÕs V6GSqxƨ=49ʍbDո))}Q_o[)JfE4y4-4\ 0CL~Lu%M)!ݦ{bc8[\̩6L9.*/ba:% 5}z0DcodϩY=6ުjm0; 0XZ2"c)G e0xBْQKٺ4d8vAS@VPC굃ÿ Hp|̜iL /|%V0AM\&uzRo e҆aYSKo5eid[!V9iu[]t4;1dY8Stu22uYٴ]`'GLg[u >dmG1Z*Cל0wx<9ǻٹzj l| D _21,W,82&e:J22fW.S / JC>;a$yX\86dE^*'c؃ոZ{Ƶl7l?_lX޹ TJE0bT Ct4F "J<360R:jSzƏXߨSg/;q%k{sǾy榘6byO3+Ien2I pl䚷u?ܓG-Vsi :jCQ}>nbC善 ^Z=,%w x1:v211FαJZG_b2{]dއ1` gt |whZ)Ȟ:0_ XUuHcmΊFNW8 !jn߲DX=bgg*PZla{»cO(Z$4L8GL;F^.N re|{v,I*K3o?حa&g(U=~𓳻f :<jQq9xuƍZ.x>ǪF9Is>K&6uJ6T>d%t}Cgr`P#ek-hQ s$aM|)սSctP$iE_[{Ց2)wH;| cL6EM4R  A}BH*6FUࠈfǑʪ}tbsc)"N3wڅbahDjG !uR=k쮨fݰFT\zїèV߮wj,'@ݝEXT|B ^ZT0uHa\޳(ra ƜX9^B mzh9[gqA]bhpZqmnUwBQ/kFOZ^]J79M[!'X G7\õ[>"nvw4wÉNNivwN^&,glχO[KɓL>Y8AwT&HYMsl5X(/2WOP #7.f Yf@<MtM6[{~ HTqJ]b!MXF:Ov7l :*!BXe5IFzÈM{/(9Q-?Ǥ[ȊΘ (sfS+4-+,߲aQ˜|Z#8-__1I:x7#/tn8]t'ݖ_|ܽ H#9s˸[ $:Zv/ R47z5GͲ- .Jh+.6yWӆ_ԫi۲ާqa£6^\ cRRV6 y-2Dq"~[~_)i1< B \Z{6 ( N9pw֍MQIN8 X,%+sF,kGmN,rmGʫnSH ;_MrUu m1:LZēK]' fC\7HבpYELj2 \lӠ8JO[ZA=JeAI"~|g+z]bm0 ;޾+vzn8TuB?NU>g}]Փ71qkrT|r9:lGޕkqkۚoFhDjy&H W^6a) *Fg G56UҰ KRF{˚wՅʼyGuA-y q.iхW䭑$h}t_# NqB|t7vs̵K7꘰f1krvS(O2 %XXS! fYUإ)9A06ފ $6F Jp!BfM-{kUE|F1|wr5p8=^F8FԸܟŞ&9uF:F VEjmr藲V?e/(4Ik@laOiayP̈́XK=rdXBHvm)'rugY%T_\T|j3hI6h7PriJZ\_g5r_Ug 2ݵM{Ki2 "Լ38牘 5)-]%1pweи%hSoװS(߱4 }|@l ԣ =OyvG mbh'!AsYH K"1DdQ32i!qik+~uAlċȶŦvPDz9)` $EryTb{+ܫ ݭJYHG:鏔`i챸5D*alZs*=A1%sguX~|;if4}}JM.\"mJV&Ѭ'rMM¬no<Jhxo֙^D+;,7e6- C4ƫe=\MG+F'dz1^ۓ|&$ý2Yx@`3R[jr[t 39~ I9gM J?1[PΜ:K*C_#Iy`0Qaε6幍v-33pkww\[,?!H00\lصal5(4_(/Nj]ޢʘf0G7 y.Yqdc_&XRc.b0Ӎ{UO}"}| b4NXe2сTRi9O֣o-$[CipJENMa,h$H]gjޭ;Y ;CP^QOotR{2p9U,[[^*P] '[)L`T>ʨqNjFr-M\^2g? (6S6fB]rZನM9FFři/}%~0vv/}-,Us1'& ]ݮ$bWa4]&CO 1Fn9gx]#y#9ca]{P13OOC,l`vr{F;Y]D*cx8ą1;X tl[\23P xT54d~Y3oV01&nǡޮs lһՑM{#/xӇi %:t֡&:cJDP>'q@Kg?ծh]} /ƩHv#[SB)jkm6BT -4e!AÌ-K`wVi2arњ4NB+6ٱr1XÇ8^Ф24ٌ 5 C C!WX)3,.٧,mM׆@bVд55{ԥx9eP(!T5G#a 8fEr8?9Ǒix͋[*-Ԫn%^|צϏ1+,4Nd[%[0F{M'i !d ݻ}ճaھ6"9zcML &7Fwul)Hcs4_`7 Թ ݍY58tz2\$3Wk6u|GgP&z_Qۀ߫#(-eB6 A-aNa s7q ;=2l;u& = g.y)IQ^,Q&4/>3ȹS~}KyW@7i 80,p44rtyW:p8 i̾5t~aC| `oq*_cn?0\'֡J}P\Vz;j%urYWTx.蚸sR"YkxͧW M"{d $mU>K*0Jq!ȷ25 n"\=_"f]i7'u+`_ fͅrTLػ4tB^-1nv^,t߼릶RY,G=^,MmrwљFǏ3(@ oL+В4SZkt"ʏQۂtř!)j‘i'S \g=,xF]>AZyln}V4a؍b^^yh1iɄG&$nD! !=d&~tbq\bl2J;ANA$=A*GqU;@E!'&ɝ!Dީ[cfwRo_q''djm8c짌s(Of? ¼} s~I:{,>>_ZHm-2iR@쬻x֝bhj8NhNMXiWu[_-,X ݀Zz yȐʱwSWiFX2W󩁤oC9m4=Y]b:`N] tRfmyXӖ :@5;>.j.P6j%f*:FPЮ; ' W뒮;-B͕ 44'0<sSonMO ACwY,aZ36F8[,VneCMV\!O|Vɘ=GJ$W;P"1_2R洙9,ƙz[:ad/⌥.ާ 8*GdZչI ļi"V +2RM.14 VgW yOɫe㭔@yNe $ml~Pqm!#k9__$>yy沴 X/c_6c3ίry":-RO`1μ}JPtLwŖ-Dipã4VLb}9JSVy:j*I,k&ѻBԭ4(&k>!#>A7V.p[-*У5>pX.MG(4\Si@;Շ8/UHJM$Z9+E q:>~IkIU92ki}q簬!-e\~VYqw33@ns*0EHu.zNKZ i۩*,WLT;>P|\a69pTY !_.~ Vxk'ʹ2%i.а/tOݬx8Z|$}i)ē;*mTR~RP_\=6L!Cars4GXݍls"r}S^)A(ƪ㒉}aL<d:S.( ˊFJc{eTbwu̖6Y̠iAC2яց?W/Xkh6<vTZw<߆Mrk!Der_|DE+'{S6R3ʛF~_8F }Ybm;%hި5l7P) ulA p*:K\=SCȵt>?^⒔#.˷啮[y-k"/AΫV8M#}-]Dq鎔5w7lH3R2b6dn g_0R#uB^vP(i_Tדhu8 fRh>Nќo.džtbZk-kRzsG̏9t*vY);@Kb*2HsmE+)(krw@mІm0o'-uNی;N /HufԿͳ6Kpj&i $%$eMpNmygwPh |>elxM\UytX}`0 5H}}ųƲ晛~ l[9]/~r qRͻ0_tΌg`յEtQ~D[ȕ*xnU:{0mӑLze[T'BȃV ^l0̪Dv?z f[U{Z>2ھ5&o sGGEƻ^MЭ4i樑cNY(gbz!V{c4+e-;,_9Ĺ9!KؙTƌ |HQ3u0YcV)sF!|nOO^|_I׎E, n B$Fk[U`vSЙ"5{ |CqSL\&EiOhm;fzg/>uCo65(ԵEeӯ$17.Lsh;"/DF Q- Tx{kc8XQjM8 v%aȲZQC97J06(t+I&(L6c;kυdCLyd}>^z*tvmUu7V"ٛ.bp6}:[U-Eզ=>-\R*3 ޔ*;+tMK/]GGW6/RЁF1q^w%6PchI7"_l7~AǃUztz'ٹq *^:.إ( em3JaAh:3Dh*˓}v),| Ƥ9[91ɬs{- 8ƙ5=6һ'4c}.:X=1|l.Ʀ=s[+5ԍ5ĔGs~w@,n -ƶ塚*3gejn/(ts =1w[a=y#veAAXrV 8 |Ⱦ?wYp;W,x]^{ ƯF*_c",N\ c(Եdqښէ;AXj,:vC/y%-M~)ͯtCˬ"l3 TKti8-I쮍_szKv;aĵ,c/'p;|\}qvU?*ul#F.bw {4(Vxn/vkP& GguOR15s36ƴ? F2zn(yi.^mmHA FJBo(-et3yTuʬrMNf̓kq YFQKּ<#)*%]aMmׁЊC'P- SZd诃.ivq P2)#l1CAI[BãvO3^@(!(k%o)%ZOAPX\V}<$Q/ CΑ=]Q^_fǸr?^*1[ g:+H~I_OS;3;gsTfqԋsUGxWc``"{}F8 Nw '+:kA*׾=F$Bȗ2ͯ'Nro85 ,ڪ؜+#hٱ]YY3DV1+̚T(0/6v}+^DY-#7vҋ'E(/Bꏧ^VP,@( y@ CFJz8 zQmن#Sc%_קYŠ4Z]> =uWLfSboeL~yU9ߐ%]Rѿ[-*Zli=ޭU]חNcKi0]$h:>wM6C]kGWV[nD\g ,V=Q7c͢[ֻ/mНh'Y`;<GPcgܟ ܭb.CB>$Je6Wէj2fI''QۜKiG& q[zF*B50߃?3?36+C [=_t!F*r_λ&Ye#ls<& XRß佭}jf$8.E<<:yw*Q'CҿS#ȫa֛o@ȉfb\1#b`zܧ9퇕SJrj1!a6 t VM+ ~7;r<찪$OR%Nz|H`|Mwu1?U&2l\v憻 4i,b_!g4&ޠzToGKҮL+HᢧGjD47H/ fڬ!ة%J)N @W 8B4Gy;Bb%`ד-w߸&v= &jC(_5Uz]<sxg|W)_hROvX}<oO 2B@У#K tBotFoT..Eh!T /DYf:RH՞f'0~8VgGgppĠ D6f `$TU?7Bo9_tf\o&:_$քK=%?3|ПH_` Ib#pATt:N W lmm="CA @k8eK\X~ʜ7`A "Ns%gPlj{ ||>>הqes51Ikp)X|!/5Ю,M6iN2s;#ݢBD#Sl ųuk) ե=_ Uk0 Ɗ;f.-jnl=Q;߰c׭&366-I5{ >@O"yHs W|Gv ZEx`C1A=Kc_*Q D& a̞}(3̛xr8RkH 'L;M9 멎nArZƈ㼓G%1?] e8# Zg[NtJ`kSuh q +:?:h?J&ߟ=P_wyD7~L5 iFh̙+wS9:! DD>H:Bn{M}S~|C9c:b: 4QT yoK2d*/׃RGB>izQt jl;@ƕo䞬- eIO`21mڵg' /7 p VYZ^+ pȥr[;v,nzʦ|y%)|#+'k ax5JwL쒍S+ZM#dէX61%𔂙K?J% [N̩?9veĢK2KͲ>?tđR%V*}W[8!nFLFFNʛ§@,sGX#,:aLT-YXmR~8鱗W_PO54S:^Xo=O+Zcetbs^n{_lQU7][`OUSg_ȓУj^yrs "Jv%y] 8@c]$|_l(ZOYӜ8=|dY0ߗ!z -`h5PϚTL~X~4v ܎0+'~;`eegv ?@lzx7[/'DJ1EG`qU5bi׈15e evxŘqs0B%N .>[h,^,CF)&3R"&]b]u*IlHR4 ڒox*^~JK2aqdٵF07|Nk$ 8]}cҢ¥xAr{KfJ#=#5ܚm-hZ: 0NB7TO}5sC}o*_4*{o*GԄ|֟wPv&*h;c'MN q JݏگɛMOW֧x!P>ּ8]߮#U zy䕴B˳rY9T?:SXZY<a_D \-i% (7줍xH{nwЕxiRoQә@l%!\-["Z@G]:/^Vv%lio>}4f|O=t uQ /BT RK&8w5u ;eO AWGR6A*Eal{Hs56*y=rHsznz'{BnYUqɈgإ1 ׄ_!+[9(t/efԷA kw(ecԚV&>k_t^?|^OSpNl_ä:3`B @t7> vmv t,@S _L1r_dXj ay,Kۻ=3q7^#.hUCwQ>9X[n *f Uр}:L`#Lcdgԁk4ى]12X `݃0i.~83,;AZ5v{2 w5FUEHlYC[7g7m?sy_6z4q4YX `kkx@GB:ZzBO7`s{ꍒne(a,3EnrV 沯kx%ɐa`$zsǤ7~CKD:{2FH?zd5$eL@\}3b[elS%w"kгM6k>7^ZNW\ O[)n|)ԗn:- ӷ!SA~V״?2ԕ1 f M^_2-_lZ,/ʻ ONq쨧+p8_-C ߑy;()4|c<8 a{gS]wZoD)|C6"i)I 0~J+|йe3eWZ_똂Du`&y[rX̳;+9ON_xL;SE@YB͸/.&q2ۦe.O{ٙK;vg15J?&ķ&cMB:_ئun[ZB85@gO6N)ɕd{3N|ELe$Qc62I`s n zh`%yKv%ՇV@t^`KRVsY_OeF[D| ;I)azG HcKWZsL.Ql]b$q'uSpi&DTb%\ "`9\.iPנlMsB] ic !af>0EX(s^3nXp۪^] |'@P%wGGpNvrn)uOoz~Do$]߅Ve'{Lp->:\oH;^5?+ma7ŗ8O]´sn7)aݕGydI/̅cٛvWvr%L&Sg*{~JwC9cF:g,Ѫ/Z͸"f^sz=P/[E rF'7ϫmS2bwmVromݒum]Vu=׽# (kgPToK3/gnm2( e"-qE/01elw!-$<Šwp n5W*,1woF'/1i@c |/tx܀ l]T_(u<#wt˭ bġ^@7\VЅĩ]0$#,W%Zble|#1.".plR0 ˢ ) (;nc]]nHB]]+,r>(9D0l\H٠GBn .6a <9(;j9Tlis{T!bZP83 3gUI5ܟXnX [JL;p }ISC{x+IZf.$-$V8X㭁s6X3D\>[a/&Rz0 1V,8$93g}Viפ!}C"U1lރZ8E\r1+ hRs";X wS+*tܬwHbЍ=rut?oP÷}9^$iF"=]!}x dR\O4S3wP@ȫfV0k3zus=`Vd!+BVjNOӪCLnyؿ$Hj=fudpHp~[`̼220~L~dZ4U~~~x5S]@ LΗf0I?}~dԭuȼ=b޵VA(B8i R~QxsVb͌`kn.Ch Bsv!8#zzr[vz"2hmYwz+Xc[.9 9sSCl3dƆg5> ?Ipi˘TK;$.XpGܠy,;n-pF^st\-^ pD8:U5Qa/iv}p̲қ<0 u"c,lȚ<݌+#> ,z۲%W>K02({BQ*ix(Bg.* a{)ad$]GO8AcAWZܞfj ºp)/+%zqʈ1 eJ0>25UR]AB>Ʃg+~kf8)ǣ% (&QkzQO9heX.QNm|tѕ(U?K /R;@xi X%aPtň0! ~:(SN!CkzxiG #L"%NwM4Rp- 5}#]7Fc8#wuN͈z-4I||n?sV09Z+l ΕmwÓ~6AwEð:]bTVEq @熝Y,y)KBtxo ch{muNuۖVttJË֪a)@nz_͚ޜu'zQOY֊"Ѹ>A'J)\g]}/By3ZiHu~jM?DA!J7@݄"H3q jChc0 rfg캽]JݮesjFվL(iͩxrm!IyMLyM n?Ȭ)=/nbL-%3|'>XK3R^/SSZ2x<)ZvMlp1jK޶l|MDΫO/}CN{|O#8ώkC~Fa:Sr|14s-{ +m.}R l4mfvDnr~3x=8(19OBϩD59(Θ Q uMkwf SШ KUq|ƛˊG!-^~O.wbofzNѢ̖w,B/(Ss eopPfx%_wD$U%Լ`o4/[LݞE0_ܴ~0v~W3LQLO  ~mt- 'F~QW:7$sW~:h͙zHX9-Gm&Rv0|k'$d #XMB1p@Icy1}t׮o8@;X g!u!4Q\e%V'V 樇Nb&hRȄpyӌ5{y&ы3wv* *3Hod,QK?ŦSMS'%^嶵~ L3Nd lmd$%In:.<(͌6E87_ U:_q>a G~ 2<%y"SI9nE'ҿ/M w/t'=?{Vmhwix  ;0+QHv59>B/wd=W̊J''x x+4ɫ{U9A;ǀ9b^ΧpTZ"NCo^D2n'_.-ERj‘ $+MqMmM 'btw~cÃndԏgeTE%! i'V :Ô]0+7<R@OMM"_6ֱt=b:l:~{w"'Ed c+IN.U2Lhc<_0{cU9l/dQ:͍<]hKiIl JnдyBjIzpjxr$Ƨ皒l~*⨤)Wc(Vm4ȷ|)kz 2_S09z#)ukتmo:^j ˨<[SrphŠ;e(K ̱»"~Y*!A))-smi] nvlWKuD VNYV'br1=ZC>?g2--阛t ~Z@n\Z>.kx]˯$]-оA/Sb\r@3AJX 7NSlXR=3J"Nd礆^Pg*AV걿l9Sg ^[I v$\ЏBhHݻ8v;j7j\)Ծ7O`n3Yocʭk9͞24m"'=/"̝V^̚ QnN_&A_ͮouQEDBмuk y'Q5'|R/E'lG&gӷDiwOF)d4ͭMDë-H..~U=Sw\NlY`ɚvr)e$?_!RD'92# /颏slW2ǐyр^0q #{_oS.2UL>ܣ{mEUy5#fR4%*2C$A'=ؒn f3C6ev_cO|ORDbh3 ЌʌFL!I"#&C9ӇZĩR)x0:\5 'P'l{}_9{,("*ţ Nj0jх<+6)RLP(?Ae!H]:drVzGo%ؤeU6=Ҳ#zsGÌmL3ۚmV.cΩW_Cݿ nE(ƉjIݾ>(MUR ECanࣝ7e%_Yx#0)%n)\-eמRb `opszܩ5mjElrcZZպ2tPũO% zJ"CHSt‹V U})E=wʴpqU= u }N2K!^eSp瞤Tg&@_9.Z` /JXtHCA:L1 jZ#|ҵؑn\} lx#esHҶ#!5d[ǿ]6-m~ʤ/(IUۂpD7P[UB iQ7$R'u˂Z:~8.~S+޺981:` &)FŽm5uxx1?44fYǗ $'yg̹HTˌW4ˋGX㵡۶2i️CD.x <~MBnp+XfAP{-YƜMݖ5~w"[c(:+\75C~eeC,ԂA\E u @^z4(F1P^8y.!\ FU b4}LX)ցYҢUf`c%ZfĞ:@fvMKI2K~ Ϙ%zI\3?eѷm%7N?iKpNkhGW>5`a!Lh2r+rv.@v۴*8-۸6T/[]Igd 8Uv Z0gg v]Z u˿'|FLUOE騞#,qt/?Fd0Anj#5¦ͨsV83780( FE59ݲʧ4Z[tt;gymܮ4S_/7OE.9"}q0{ GTT0Ezs5|E 6YA7Z\R^tĮ瓪yā'W]OA^`OYeP:;<+̞`Li!xb\]ӖK&!?"u4i"deX$:(}<-zGwnqHbOψj|nwg$)? t(k̺U,#Ϗ^=+Ui7'zUt$*~} g0tzhU_3&ۋ;K|~ė8Λ*+.;b^ۋ=edJzF xM -b5c?0_\T1>vVdD_z-[5Ce;ʭm]2ĝ l؋ݥٺ B5a=G ٯkbn)m['Ju0K^Ml{© \{MϽ*ͼ]*GܰCCa/c48mLԞs)8B."f0 jPE{EWWh ?IK..dS&]QI .'b-嵺uƎccsrd{7( n%pQ4bϷc2gbg 됼vL2~8_n7eo/8{)5;MECSo$-DsO`H%Ձ.4fzTwR6Vś5CIU+L9;"? 9dg-!K (1_^p*]o2J"'JLaG[&V[ڴH+]v]=5?n|z6?\i?cIy p0+o X9J:B0!6>ؗp+ԫr;~8@@>$(ycJ!!RqޖO3r/bxIu 6;pޮ\S(yWѳҽy\>Эl9vǨ/5)UHڕn'w1y%BOцI6ar(ޡVN$Izrb&+X53-:If-W =qhc@]KAG;g:c*$4K1\ 0" T!%+-zgB HFIJg4¸IZg 4A"ԺR8[ crk JW 3rϠPt"G!* ȴz0-F-$q'洵Jo^RܮwND:&e|۴T>[G}i `DBԯ);w3x}4Je4Ds=2Ιut鯎3YT*aad*F#ŕjGMA2O~KٓSĉ-1԰~ąPJ^Slz< KiD;=N֭&M罤 jۥ ?Y4ό?Xf:;EJc;<Ԏ&K&c*XmZjG?3S1s{ܘB6y7"Z ]qSjP:Z}*eY~رUە|A~+ϔn[l*r1P ?,۬ ;S;cFtcm#PN1˟yOs^/=UQwaӺ+kԋ+֢:}TI -ly*|Ck4ērFjm?\ĉdwql9R^ !?!b)q5RdtR-22/7l= qPe%kERY IJe=vAXTb×+oˋRN_S,TBa[ҡ^-=[FNG} 5 T^8WΎ eV2p/hpƄvE͑ŏ/ε*$0E$랗"a,sriX,0,\iv:3kgfڏ[NR `j.h(w=1|0ف6%=_h2 f霈2mC{*`.\ 3p?Kf8QjPe.^S_KvaV-Er+3Dj%~L+Z=tSŤ^o}v]_q;'5y\+"Xإ5@k̶vFΚIة3H->])Vu(S!m=ߧd3AFPM9K un۲;;tSil=7ipF*!B_O'! @7~Xɟě@J Mqk=>K%@z>t L W$?/ےJfT/ .%,>T)+ QhG̈́.77)otUB3mOԞЫep&ڤw.q-/07gH(A$ Ul %( 9Rᶞ^]ke"A@;ørJcK۾G:D=HRCMOuw*dkw:^. eYߡSp4bx9[E-DXR63T`ÂIe1~bZ3nC0>% +xbEТO<@W'I,Ra*I-t9lCO"'W[埢 A1 1yOT|o8lOIy$ւo**vţMOF`xZB}Z>箏q>fzp$ց=; || aA(98!S+~/"0?ׯ9} U@a ?鰱=ºX6Մ:OԨ%bԒ)vAJ;yFGxӐ=.2[t3F>4i# /Nr;XٹҺrC47Ua!>iGU3-EoUӥ/N%w:T єi ܹ?PFâpK5}0FS4]m!bIGQhyyq-]$>j.t(p둙T. ǁ+8ӴmPGW;)@Њ= AҺ s"W LXif=3:`)#`@Zt&veW"!_֡]s[_`}ǙDe/+ vsr/jZ|S3Q|,;m9ߐ^S _oT_py&a>!Aؤ͙N㷓;qu񼹶35f3]d /=}Eݷ.>[F1#EO1i"/|\Jbwٖ=gwך|{HQ[M,,83 "8Ȳ/{$y%KW}ֺn=uh96|Ï:AnGQ(D ;ȷX::߾YIzPӊzFrUlN\"2{‘Kai6sHVG^[gz.tuϐxv[Qr>!A6Cj@AcLxd[z ʯj(MC#\}A3~(mti0v&%1{5ӡx~b> ՜ꚫUF`V\] Kz>d|-WeV(g9{c=6R?]00E.Ne5/U쨿5]Tఱ:;-4q歞 +E WJ7!E'~-Vz;ueղE UnϐQ@)T^Ӥ{ΉáK?$"1t+65epk%k'9$n7SoocRKK^s9Tm۬&eEeW`yaz@2JL'm@ya=ysďAYt=uL>(vӘ;΀ؘIS㭾e "p̷ RU:4Dl YZ` qCw:d7aMI6[@1soN®hj:{n Fch ߼ЛzbNcjSZ 'NUse`tjE+@* z2 gUI>``d&_@g%ŊgNCF?KNes0oMXs WL_a1S:x| -WNT8f^W_Ƕ] .55r 5U+L<{>Ƌ-R&u D+v*G}_=Ss?_^[dn9M}mI;GHxqN ~1#4F'Ea2rsJBvNjQ \T[w{1U bd>9u\z H˂[EC ?M=QV;7k ʁlyc8}Zuؖ/$,7̗)*\ۦ5M. <)"C2lB(O7?(C?%f3?yȟvՉ+%D#/j3 0 XIυH1b%xp }[aQ % >ґt߯^Z}¶u{~M=fQHE 7Y]>tM]ʗQ;e>۔ߩ%aSXW$.XbR^b΀]|,:SC1\Xאhl]Ny& c+HT@\b*_[lyt>hŤl\:g>n4l%_ Xb4Cϋ[5cramvǯ7N2\Gm6B lX;h>т{v MCҞ=IeL9sB,͚3Uy2HeRo;XCnWfMgt~,}ܺF}W~ؘ7uYia}G2;0,HY[2Fvja6XxdW0x c ~RTFܲ$80Ѷ|@]. o$ VsC?c)`EBt\< W+@ OTE" 8TT/#d>f!:xbإ}s}ߺ"2TL;4qj8R%Q}T! Q>bO.z9OϵP? 3-ߊOO,$.N5-0*tL*ҟk9!SÊ -_ŇdTW J!#7W&olwXO⸽#Rm:bxry [$!!#Bw!,l㹰BgIްJv }Ry(`gh s9z%qip?~Rf[IË44#rZw#qA!yFYU#tc!A%F8 k|q"JVsIΤ_CeĶ:pWow*I) z(1e4TR] ۝BlYI6Z>H6żbFtU;}W`5osp#gBߪ^ ~9ń_3G y$g֜tE6QInC*Ȫo I>ء5/vS7sEGs%/1wm}?ϱhѥ\$ؒ4K2IS̎~Uћ|s6 [964ÆxUԡ0B:X-{;!  XPgQH&PJ>,)+$uPȅ4 lv.Q?/*YŇ0PIMdEz.XY2j=!yoѨl;7qmy.t:@US.>t WY_[4nlW`ƿah_'Uʾ{mk#ܺ)ms]19t*v 䇾_A~"6s#II:?w:/~ ms'pKcq.Mott6 X )ڴiӽN: ʿwk Q= RDT0alɲn҆[:!^#ZkFÁ_DXUS C>-S_<;OnG\g4\;:_ q6q9}nm28uUտ]auRm3nXH|U۝ƿVOb~[ԽD8'xwx? \&t2kdg>w78o^8ˠKArHJl%z&ʷq&v;R[B!m5rH"s`j-l"QnHGeYS%hۀ6nPwi[$cƞc{+VWFC] 0p>5_Y0σE1`)"yϋpK)qX*lUݟԎ%@ٛrPrHvsf ^.Wx#Xz ,쓏g>c]He.ϗ7TFV7 Z\|6OhO02da'`8:sHF87%%F * ꀣ BFEb(11)ppJKUmBb6$.;@`㺾!JJj _(ZGEqiBLR,v06 &f6CҼ]yMߞɌ T;SGUs!ew6&&fAP];wmf:8O:Hvx~ْ`mOov .m9҂(}7$1_Îwf=r${¾wz5%~bOip'F ZH_7j#v&fd`D=s3a!&VqPZ)%3 ʄ Np},%%Y: 秨qV_oBͳB*poUҨKW77NLרarWT 'N J{ ~6_y{AA>/_X {-;n{_?jFq)AQuו{?@yH(-FE+%u =m7 |4֍؇`Cytʚωo8iWD]&2" + $2ݮb˚arc\9}G㏠#xz0bR7Ϳo&70z||~>?rc2<<ÌWĥ|s ˿}<DL"ڼESËb3,L E0&FJ #TYY fLBԯ\#mIRo- p 9'Ȗ8?F`jڑi.;/1t-؀bľNq!=?z[-r2lK2DN0`]OL;e!uLQϨMjabZMP8A#nvPB&)?:ok.uk,w!7[Pu&A}7:( Y`g,8GUM1njMv8Kd' aB[/Ћ. $]UMM\XK: ?WNBdHِ@P=>G1_6:6ph1_הw@z5ivpDVCdk|-5^z>MB>>̈H-U2퇂:/g?YZl3畞0詓/j"l U2N$Oy\`b : 4{d1]r:o_㳖y2{}g5"hf/r +b#0֔W_(zTL-bvMU3 TcF\ىUo W<h=J>i.ݼ~ݟKM}@nH)'0T%c.0xG=: Zݴ>kr.D JSG;tM6[._ߊ::Ft;6xcƞ&sqyej'M?|d> x~yGRzco@/T&x;B F9Lšۜh_zsxlN. "e QHy>m^*ObJ1;S?ٶi 1N!zEproJlߋ`8ϧg?5+.^o ,j[h^@mCtZ羙Ry:&O r^I)N!Uq8aO\"66@ٺsf(꾇E3LɿHY r˝ANƴ8,MS|W>)#|aR"Z9)6bh">=I/^ evE?O"89Kڹ&ghڱ@N_WoDE wO,"*G}6cSN*YW1dҺ}1: su3Z]'ЃdY7m*{V}*{+fz7Ox3p]_oqscnڝ ~A\8l܆r_\VAhA"uv-7bFC?zO14 oEFھ9dK gIH~Yh񸧺j{Z<D(BPcoKRJ+u7}L ujh)glԫO}"Φ/%ghx]Dž1(Ey2Je,"9${X7* >V)f5^OԮ[tuw&gܸ]wd6xԞF 9݊'(~=i|tۖ5b3~)ˁaѪUqo$c/3C楲x) y !5; >Q*C '"ŎW`{6-כa3賴.a9 KXQ#]J/8x~*;@r23A`Jˠk>zJ^!Ƣ5%dպ?\D %H:Ҩ?ghJߝ/@nqNMyq=ԒF#h􏱊Fo_эT {ΌӸ*yc. 1LYѡ7D$2%ő;H" F>~3se,[k |xJ˿@='37l< =4D": -Z'uXgw.px\<ӠՅ 3!<$ǔ7\kLcZ  _W!;';>"ًܨabQhټ?x/_ k+l8Z:tɳ.qwygWrAc 7?:>ccO"?Zk8oh0z p=GOǸQ'~n*5!W/: c@yeoiŨPC4dΙGF4'ǎK_2f*dls㠺 MgsV=lc$Sn~鿼HaFCE$]32C{*Wݣf,-3A/r6MXVt{7\Ldgѯi2l|){ro}>'9gx?Uf0܎)oX,WN=Uc,hd{}Ǭ?]O/PF!CϾM~9f΢lY8ےItB鰎^%%u?7q_.DLX>۞|+%nYâ6ͨ)'/۱6Y޿ eE]iw+}S2"#_z [)dǕ!,FrS1=r,vqAZce^uԇ᧲GLq!V/3Xn`pD Ͽ^yL~s&yK3;$fOg|k$^~#kȲ C#ܫ5GW!xa3^f!P~= lVzy6yw:^i3.m3NvuXi]齛l{?7|[!!Ɠ\(ovД\{zۉGމC{w̞86Zɟ;8g^Ev'Ti gנϮ=F>.~3'9sht1kSF=˷ǵ'Y33vw|423 YhvEߣGl>DdM6>9:eJ2Q^+ "I$LܧʯbU F~ymGr`J2+zƯuYD` ,~!0 fZ<06# @0̖ ` @@A]]_~{J^fe7S95R9NaD= M'ˮFJKW0Yok[,͕ o:1ʓ}pWHV>q6Y%40G ̔~y3KQv暿?{$Z.sBGzfKapy';DD\jRZ>i9|" 9 S3;J3o73VeNQdwŌWLo&"ਧd5Yڑ/#LjQ{fsLV>gr mX\Zu̬ ?g )LGQg@+'(aؤHz $OCt{s8k#ڟ䒗p{I4v5:"=yG?z5beA=(}=-oo%8\EoyIދ#'OQS/aJlbK4.\eXNކ/f"^N\seI3o7ΝeeT$J)4e5|hfJݍV-r^8,+)@kKqi;Ls,)O3*f0Rb3-8k R/EZl+AȽQJ/ zQ#fC(1q)ʽ'w0okL@,].Uh}L F`9YX_Yиڹ:j>bf@mg^g뷦&Y TY]p*1',[^VA (,sSH:HM\l-} 9sl{.!V&T:s$(X+] < }k`^uTq/ x>tP8姡 5Z䓇70{.^yN &fDW2nz[6@wciy%=whTf ]O(yxQHW"ZEq1lKǠj$,G'fpau8(>VvCЕUZ6έrED q%oGS9TCKC;KU,:!R ţ~A`gu_VE$Jֲ\ytjz8FcfJASNJKnhD+k6 OF4IvE<ܰik Q',ZEXiJ+!K-v38?bs4=j[9n,, ɩ)-fE)w Kr#X7lBΙ#qyRLiKZYG/&14ih@nsB$LӸDKPm(oQy #=Ya.->RZY-.Q]!r\@W)1/3ԡdd\Bָ" la'A\,doFdr3U 21m&b \?: %֥Q<#+D [ oI#9j nch/21/zOCP[ l J /2ua>1 Ѽy}M١BБs ܖj-zrO1L[5%fld@MȆZxzi=쎃С*%$y SJ vAMRzzvqI!.SGXX'~6JKB>S[i.fۄ5ezYG2sQ#ل_,(nn)P>@kU +4[GsBF fbhJecϭ<=% bmr$sVԞz _Zşa=ݚQe|c| V0SߊYю.(˷wҨ !݊g@Z~9%k2ܓ(+1y9梙φi9) ^ ֫ ! S7džM{Į$Q[l$oSQBjX Z˦ 5۰ɧ&ٱ^˅A5eWȪ8| byQ crL-ߞi%ųbmJ+?~`M"b:G~? ][*DtӤD E* a5M-:i*Ub"qj1 RP<+͋M `]qin šYʭo5 Aم,E3eqKBԔj=8m4.&ܖ ,--ʥr1RfqB?yǘQ DL4~OŞu'w[ ,jX,ϳh0._gZ1Rj< ~muc tLГHFJ<ӁXjo`O푪Ԕ|F~[SlNs4tbhx&Ռ ű1SӹN224sŚ%Ijc{Y{jѴI "j6M#3ܝo:QG]aQ. Uؖ[ (g1^9st_aw 4obQiz;EԵ tzgKszf'hAk_{>)fdb*L<Ozn/6sekъ'3e@~y?]:G+Ϛ嬒,qDO#.U)?'\bg8Vms4/'J?N HI^B]YxA"s(87老O/a; f##~W)nIVk 6 B']* KZ2JݛL=ٯ Zixܹ)*2SO֬or)rZt`'`{beЙzE=IM#Y}r){vNevh`HR;PM_>ɁN D@I֥ ֱ \[fټqIMJDi"+USLOrxl%_Feɧ4&:ȹ|'iDl5o65\]KsNE:0Ȇ?6Dg!rBկ_ ߉PvUrVe䤱JrMjFyg(Qr vQCZ&ݛx(HAxA9HC CJ! "Q=ˉz-A*9y.V/ s,3BX8G|+c?t5Q_$mjFSs3ˬwrϔ_\A6 @E$։G+'qWSdM1-_RK2>V r Ǐ;h1a^-xҼv^ &_x:Z XB7emsMO'a/mm;0EU@+n)l-e9(Er}Ll)Fx OAY~6SK5TP[gSTA;B̅j*u`QK Q!aAHC5AcCO<U:SJ ~5ϞdnWgp(z~WQeP6& {]O^:Å֡ В*10:Um$¹bD}cmLWn!/U_ooKLE'}u߹f9\t0>))N@w3NYFyDtK<-E}6q 1 S*]՝!B\!-ё4pug>)J@hpzv#vׯV"TNԈs; &s4q=sR Y(EbG_ IJqe}IgIRK^oIWpj6Tg'*ĴT\7*)8U"剏CB@##^NSTj>ٖ8 МZb>W9 ǁ`b{P>(?j RPٱ8[ڪxqRkr$IMD6d(h9/:oUuca)^3#C=`9 -s=sa``4J~z9̤:]יlXʹ|L)^~j7KJftEڻ[|4,6-qdl`S'ؗ`c[*vY~W&Ɇ 5}]Ohu/  ZD, @󅠇8n73Zy@Z֢K(SFhX1hM%O,*Cgi@`y>IxSrf9%פ 0.@hʮa/姂Y4KQ=TjibR)*8^×k+ K)`^Ajk%L +ZMi7G[)'&%q'o'7_v^Nq9DfBfr1_UY Īĩɥ9v~2[;7 BbViFN 6$V fl^6W$9%_liz˶#%$lQ&ʖٕHTBB b ڐ opzS6FUзyrTt^`;%$(֗EQ>͢:{\ ՗7QOˑ NΦ 뗁~%v @K?qe7SCd#2 nNL"qW,s=;G5חy6։pU>kȝKcy/ mcRI}^LJ c#lIKo;dcKN14#W,y@9P0&ĉ_hqU;%+zIRk{ZS bv"5P@D. zTO,j,\$ڟ8P wܵ%o=/ $C.W?jt{1 lA̱pMIwLj7X%U[n2@5K{Kv=<in 3!cEj2X-~A\i)>pdwqp\G榗Yw|ҙ"^F}r*ٔ}5ߋoրL;C+>x ;kӃiQ=-fNq"_T'qFih>u7>l ̱(G;/@,@$elW˨;c[/1FaY뛡֩P4|/}}zr&sakE`;q )G,o~^'?^3RRrsNJ:7H7.lfs/ڲ$9&j˺ OMk 5!%ɦ6MES.d`[8C<й>b C$J^6MN\ϓ}r'!趞ɠdήǜ3~5FD 02tF׍yA{?rkov# *V gΕQEҀ0Yrot?NCXOQyAςcl*OjNJO\;_h\=(bpoj|QőAT|%3 ܏t=dȧvMPQd-. F Ib1wHؔH) IOׂMn6 Zi6p4K&7^x ڡѨD ~q6zj6M&iݮ.MUEo#Ғ ~b-AbV$~>ҷ~AHCA/4}@k!Ȁ}Q|y>YV_ teo]Iii_'T>WǜfY+pO߱@>p{E,/jȖĪT_t93b@ 4bF54$OA /nzU ,ﰣ |S9u@͵/>K˘V^Xa>E03?G7LwTyIp~#" %-/kIpٖޣ߲/V8; ?Zg Mcc{0$&t¢Urj4c~ ܠz%~>fʨ.̴E4ͫ463W<5Cϓ_]Z^ og=lgt=|7y%t:vyvS]|c5ד^αa2ِ NqWgt\+\O2w69ME7N* ")Y1P>~p :(˯* 4kX`<3%G j!NR:۴BK;~O{=ntwKvo"B'zQvjֲ/PnZ' :p& d[]QXF%48c#Ϳdql騂=MٔfVErk)[:%Y՗`Ff}l~Jβ(9:k,Rd IJcE1DH478`ha%1ʖm(PXs$+h4gZ.$awҸObKXcDGpt!pu{jf"ZZ\t'RNS2UQ A3Bƌ>F`yZ郦< u,NZgrnK谠ijBŶEz{j 3[R?fLMHg=U7j V N ,͊(;ЉFK#7#s2;H 4SwU+Er0q_BƳpC-wuE;r ={?,9$/:gT8쬹,1m,&HA&ƞX e1 p:Q)>cqƁJìEګ ݛF/٢+ې#CX`֯~)ui%`uukvlkPfqTnploSx'D̋\Q%I\fv9XL\4w(( 04GHIKI^\u|עuY[HqAZ1t \"x?Pm% fԛN6%&*# KfxC"g,6rH~P E4jݢtF5Uӱ21gMcwڮ҄Q٬+)[tfYCRvѤ_+KmK a->Ks#465T)r[zAs=siB~]G["rO!ۘEIj5vwM!L%=#e K7ZF9}*X~a{)VKc_]^?'SKnIꥬn4BlE0ǫ&PnDA1,8;OTjlQ˥މS倕9AՉeGǙN`fYjPt3y@:$R2I,XETb=ŏU>}_ӗrwtKQ̗lGx]g?t3Ltz~}ã2/cjR[;xpr'mKhгW:qĨJz"¯5 Υ i0`e-Zݩ| /C{ja}YggvaN@&^P.MĢL@!C%M*ww?g?BZUմI!j.u J $6V`v05Y2ΉjДVhi+gZ_\x&ɺt݇rb*= .,EVRZK5'=& A|{3k3u>t5q*zeꞂCdepB~N%Db}<8YrdY ݣ'دo(a媳(96/2y) ԬAx/K޼ů7K\vRT}ץƒ}WB/u3)-<]|@m OijOr iF\gW|+lC~|׀z g #4TCu|\únhU,f8rqxgܢ3Cs0f>TaIq{kK/ZQvt\o`[Y^'=S]4zϺ&.lxTС\!؜pYb~:vú0?6RE6ֹb<#=T2y-=56!v/J_ڔrO ^u먀m_4݊ @xerSjό"l\ 'B-oJ> q{ 5v6jd~?كCMʙ]}>l7yEf wpD?kz+SZɘ:w2ȄE@3rzB}6"4L{7==13E|:̉OCstZA}v4o&B)VS>铙6?U?aXTZ[-~FvMh 36 ŵE=>[!|5o΍r3 T:N5f5GMxS 1B#! e@=Fec|6b;9j4RhS7Ty_YJ4o6D–V-[-&9_uA-o3'2^B`3Nۂ;rng Ǚ?*!y!,2zW"e ^wˊB.%!!%?zfKh FW\T=z~KW-ҁ@8 $$j6=_gUokئO 7Ӛ8FVxiڗ}Bz7K?^gg.3iL -ߛ#-)T%g5loJb+aHw' \0 -A#N}GdRa$Ш|x^E^)&RG'XkE͓MWPsgR- xtz&ϿCog^"4u\Hs:  2eĘE!kO8hQM5uPq!2.sF[9]S npJYBU){$]1j)r+2K,J}s9GB>Y Q3e&|@rSPyh.Ǚ@ 3bcnM^bѼëM1h{/ew?TQyRtZϕx]yiO 8lPjSH*ek萘wi?N"5+6vqbPIϷ~]w <]52nzf3Uh::8bo L,x HV7:u{ $gղ9x Ifq@r7 k,qL}~5޼S9 ={Aиiw22j@S\0LN0M18p[?Lp/sl G~J]e"p~PP\]"!:\=IXcSB8;x-wOY{:G*k=㍳PӵjL(/bTM8!^P[U#4 }]b+jZ;r `5-v$mNv3_o*`/B""1`(&Rm%Da PA|hLدR 3T\Ӭ?r,vվ砦=qS/9ѸďdtǝU[Um"o&6;"7y({EZbe)XǪ fI@ǚ?G,>c*NͬOn@aSQDCPW%F,4?^Hұ/K`t;fN3RJߟW6}tn^߼U!cSҠ|Qtaͨ;)&(MRLѠ/I'a6쵺)HيT19nk[Ţ"iUmyݴХp i’}O9}k ^>-Jޕ;LsnOyd4|[YGCB Y.1Yj )e4m}Sl7%, 7,5F'jP͟/_]ofdGJ2&|xs72WFg:3Ekai[ <5ctpxNRClyF}zJ"J~c)Rd6 axw=^cPC@F&VG|tmbt4zZYUP1~"9$*`cx(>8PܽPrP+Pi.NRj[~q6C P?Gҍ>qʡY>FElo*{XӼl7_ī,GPZAL ɏ!UW?ekŠF=S9%jhYc2/{0#-ֶilώ+{'X#W_LXfeޭIJVi^ɜG.yMJ@jyux)LY oamJmFZfsnFCL' 1K\0!դU`}?۠FpM '?I̓LoaLZO+QW 3O8Ii{. K +]ZE\3]bJzd)lhP{(sBF%=WW@}$UI+)炰+&d{xL}vI*~ >;TmhKВ9_,8Ty]G1B$LVsIwQNJ3ǒ[+)j&b>AJ"|@̵0sj,Y+ g0IpBz'r#PEOޞ#Kw9}N]Q YءK O^N0LϼbFXmp#Lm7zJ4,V;1!dAyC& U9Qzg+Mg$YG N3#P*_Ƕb A582A9 V|}76N5d)e^yV⩬9޲_ݙG4g'0=5So%&zK̓nw5k\5@‹xG8PvmIJu8bn m.)ٯtSVޱ6 HX#ZiM#œ妲st817Z<,iRʺ1~*=gCC\/4 Wz6v`I:M2eeͻ5 HIbՊ앃Nlz9^@kt#9+>ʳb!UaȄzKF?qb@^YheEIGvr>-6b/nB!Jdն*0&/k2g}9UIS4V;O#0֭~)!Ʋ F9 *f?\ YvUh3õz_%uǭyʸQ0\{PocO<)ƞV˼P+wю=o1`WH2p>$ q(X'\ki@V1YCobb0]&ZODR(ϐag;V*$+DOa)$yHi2r]0wMa}78@oxht#>g0vW&ynֆ½m62KJ{s~HmeL!Z>3lf56R:IosVl"jIU6k?;]ՄVz\JTr9ib){+8!𭑷; gq]E<75z`KdCnȣ b't8v!狹FHW'sͺ1٥ݣgVJ~[m 1&Cgs~3ߨWу[i+'%ΞU{.{DuMDW1iGbȣҥ\ N"LSlj:_5w{P;= %9q4#2%6);aaє$˕Bz}ʤPO!ތL'p5>hxЩ* 7~Oˮ3!} ODx^hOa!kdFo2͚ti ,Ve>bO]sqN{f<̬Z[v:H'WIJs[QdG` *]1MT:^R`Lh-1s~vy:0h,cn*W']c1PµȒl/2p!{TT?͠|4OlIzⱉ{>($QNٟfR2Olf:s׳١ wgQuD䞨M3032fLzE5{!g}+7wAg+ 7Lcƣ=jxS<`7^HY4 ݲg{8yNH5Ԟuhcc5j`:1SN;k10f"|f!Jɋ\9[S&gko~- $qdĨ(LAmx1Ji؎n3U!bxxKv('tY%7c#^JypI¦̀-u`{DMGDryFgZUFjp"s-42"*#+Ζ* FvUZ¾HIˬlr'VE5$9EYǖ%5Bs1g,=TZt1Ľ%NKJt\:;Y4{Us S%eO>]ZCGB@(ndvJΙAEp~Pn;;jG n~#2o8aOtAl Yvڥ<@t2f6O^{{Ð{ ,hѫn pJ߭[;<>ӈ'D}rMJGBZ?0%J۶;גXTcԩӎqKe(;ND%2),0YV!x!ʏ4 I SsYx˻xV[mʸbHp6'k);_wC?o}/.c%KZ)|;utێkkjCaXrhLs+ t l+|޽>@ ̏cSk.[K`)m}#cDwbU/wd5~,/?y.&Ym'ch\NBy>BXFփlZn1<أ[ItcTc06doG\[W}7f5Egr_@k"}}Z`Wkf^eИ#E;:ȶ8~~[.&K/jΟdVd%KW JǡZDpDǥW>FX:bcy(9c}M6X̩tL"\5P:ɮ5VkFJS))av#l#H#\dYtyp;_VI:e&BGNotsu?| _E@GKCD9Zl\@Bڅ[zlS-AYo⿷K{V:(Ū%.@x'UF=B3Pv8Yrity֞Dzyyy =~xq@Fd&^diɖ'Q cJʣ7 b&ʹӨ#8Evw%?+?NtT`3K2빜1ZAIT"xU8K?t njzEݹYpL0ߟp Rvƹ>T=a9Yjy>ε2Ԝ[Rl>/xLfV1dWLBx:a(ON;sRr3,-m,@WJB#jk1G$pRKxiX[TXߤ+: v( yW.^+p,'g1a" fmpg?MܵuՉB5]JFew8D7hd/0s+>)8!/7rl{-)Z%vKw=J#SqOʞTInU.˞2u0~{A*#wt -=_ؙo~cv$t PՍ&! %e}ʌS8aUEnSd`ڻ Ȅ Jk,M$tK& *mp(H5FVnHgCkKN=d 1hh 7 76\c䜐FMmXZ5OHZ/`cdGO6Iu _D9{Kaxg3bFsL|ci8>3ǹ퀑v`] ]`*dm n?J ]̐(Fr&r}[+ w,Z9P9̩GlIh6tRTD՟3&~{0،^LYDJxmۺ'칊#*$ ^ضd.`$f0W˵Z]Y9#ꭖoEh`=ЇQ^Pu~S86TRLZ(Lj{zRp:l@_TU48K !~P)׳?&D;:R}Qw؞EatίK_^K L)G!)pom߄h@N[X% 3"mVAg6:߾S҉w~oҬOpk r\;mP'?m׀1M9mLlIrٜ̋~d?o>?b#U?=_{|Oŧ8x罹K^ifזB.H7qNS>$f{O,0k0'Hr.gc]#p5<}?wѾ&VPKe_N+#f\vRidMUrkYӔ.q;tD$4P}x Sr]޴htʌ{?O;}ݖ)5MS@:W)o nd;a(,$#8+I{c' yĈY#l#{+wrJP:4yVB3K+G{%xa >*ݺA=н9?#w忬mÅ=°0yNѹGJٌ6pCV7"5 eU@nh #@C491QhْEՂ Wdz.=4JQ^O[ɝZe\iOq/D$?, cd=4po'N OO :,c_|^aq)0I솣֎MK-(O ZƺHk>-96x[UNIжfW>!Xj<3JuA~+6O瑐z">)Sj5ֺϻ券W"*Ym e}bv2qRڢ= vkNm䡨)l&)% p+ |5 EJͶR紛P8ݳY֓ ,W~ E[S ,H|7(EBOO7lg\@c)n-ݺnζI#۪Z?S̸+:E˿ϲ$+aϱ{PRVU \@KQ$zJf,T|6˳hŐ4. 2oˑ uƋf1-St㔕2fY_9Ox2⚤$<V.]ڈ %uDG2`ۡ(KƓ^k:SyN1]Pf-'m?7k\eQK맱 }%. =VCI`67/:% d'Pc +'a+/k9[HƎtjЀ6_bf)s֗1UOQCGzTR,zce\;&&oⱬO( Hw8/iD^9יBt'h/*;7iF(O{!Mr r_InǞӮXOq#'E@c/w(9lY87J(lWPTM_Y0r1#.AĴ\ãWB&akQxy-ɴ=3jAK P]=@hYWֻ3k5w)\3Zz_ɉ3ß 羫O$P>ɳ\d!o`+Ak{ Wl*³*Mc;s9AcG> D~I~%l܀?o"[]OLi4%٘(%v-s$%Ϝz[r Hh\EO%+${dbs~'h7OࡒXv&S '~.%$ӤM ȍgݶ`!O6&MB= _0Okٓ SI\fz՝cQEJ(nd ϜZr vs\jeiT?.U".I'B[(j97c9w:%~JiQB\_v]z._ר/Nh2LSMޝu 7NcwH9ƿ䰡Ve篌ɤ'7j> d Wݚ]ĤxZ>VW0y Bc| 9KWO)dAUg_B3ʺVDX2GՋ Pc}9.~-M݌H^qXx3g߻.cU$9w1ƣ}3m{&f4/k=ӂ,tcC@(#*Gv֏< C^Ke!~v**pO01+P-޺gGj `{fӉS11F0ܙD1x67R͕Tpfҩղ15WS0LXwgߑ.@b,^Ӥ΃Z#sffE. rh1#Śt;HcYozWQI9h藍69L>0%ӕMp"E,Z{ P\_,lij4I햒tHp`Ņ흴CAd 걄 Y]=HB4#/͡'D(fқ9eHȉ5;(~ ۘyk[3m}!74i0heW6T[/ Δ.򡁋'N]ήoFzR*Wb$8BMmOh u6O5΅j ͘%4 p1[?z+kAz444&b\I2E 2$%l&yͲ{ Yj掖oc!zl1UG![^"5iGYw΁U@FP/X=ֺXuZ(ˮqY,c= kh>ʒO;ߺ EّRԘf^rJM;,'˙$sBtG3K-WeLAlfI҄mBo{MSS֛2n0HYz?F\?F}u/4/;~bNB5f6{L@ϬV;~UwQ.=ʚ&΀U7^jZQG*Ӌ䂤H Rn5)0fB,neo^Řf^Cֲv*,f= Q%}׸Ҩ*};葊M?+]9"2"uEuN<kx0nNa5*/-Xho!/^r$`0{k. _dov1qqP~sIQfڻ{X#y0^o.sS58QG&pDɛ0azIj -3SL[~*8=!!ij8<Y̧.>#t+*O m?Ppvha} &&M ^DҫWa{qQ|/uKx$7yJL4!nùޚ0x 9ia4+ Auamb&s>Kn77*vYF,6o/Q}a#Fi?*NۑÜ|cmfܗAkXZ{SPVG^dDMԁ4ux\My\EoMt-hK5KbA |ET[l`oַS~B[^+Ta*YˊE+:7XY1z CZQ[2}*A}A?@ié@gۋBu"o,PY,VM޴9\Syі YcV c9 ey 7E3צ"%u;Q+APo1IUB1 5 EHJ %Gm[\S `p 0eW.ܗlK2jezT.2PQ vrz@;}g:J=zHhzV77znk84*9ih7/R n?$=e`jTZz%4NxK' `}zt_TB l[)]"j3-ȲBԖT$ԛcxtqAbue4j 3|rnƨ}S[Y9!-Q껇r1#);oiȃ PDr!6^꫄,, UquMh*9@~Gc6 YܐXqj-KaRpx8z1~}yb"Z%[PzWV_M9CUϪ]V"A%yR$T)sPKP3! r %pj)歖y ;*c#\\gb^'qG) )i$߃ 8t+@}QL)ޭ=Q.Y֟WwX"vqBi1kCNlxd޹ eY\)cEM2Э_)c}D̽*w}Pb2"#E"#T kp||O5kK}#qK%]z8B bpԲ5[Z>|jf~=lאˬFnKHǺŔ7&'ZJ` t)$]dY13pUOzI^yuo!Q=Ek9g!d2_93ЦwR;Ǎ =6ͮr?e:]bz#N5rfOkΨy{ȄHFuJnio /KavxsX+ΈYFӀԩ#m_C.BKb19Ɍ.lȰik3]\sw5{Zf+@d_)z_aZYW33fRK37{ gv_7Xeuý6bPi 7jɨh8ka:F/x,./ChӢ@#fTM/n3')$Vy R0]Hå-4zF`9}r; 8no#YYm= >Z VlZ7P/ %b݁*$>c(J _&2N襒bs$ZN"5ڽغ5GTHMX'po[aB黳o/C ;A6&[Xe;P: |MO3r}wa0mUYO# ߗ}йx.bkNk':"P`vS3fƁ=D0=X<(@p}ԣБӾ!="y6;T1`*&lCJӖ]gaY{EGvzQC',ꌲ~LF"FlXL}}u_S@+#k`'b CDʇ~J{6/'('C O?Gy/빱[e ֜w[Nj2I`g<:sӖ%0A+F0Sb`~|h62(pdXƕKx)2-wGųiX^~E-SU %J[?Z;i&9O{B?Ou#2}"WVk0~QxswkUp|tU,,iaPˋ8;ǡ|i_7=/8'BN6Bx[v]dA5XBlޣhZʕ{d[Cnտd28FrRw^>YeU/vhJ$͠KB#綾sxOdE-{nlInntI˒a}=)bΟ+O:l+M=o>呕ј*8TGMZ~4v<%Ʈo2 IlG:K++g< t呬 65@ؗ3 I ,K"1:fMw=Ps4J^[#sxT k&  L␤8mƅdOcpr3#^283xzn֎/H"vC ?gz35LNm╡>Ѯ \baH0坕&Å`WE:-)UaZEmL?cVUuѧ)x=-{]ey1'jE&0 vOQKdov^(>7J%ց*j[yY%|!c"Kn/M'Y Z~,hҧLzR(b [vla%"q#Uדp%nmT[k'䪰K'e6oy4m R>¶ŽT%CX毐*+wLYуWyl 3>m(st٘2N=x%mejSyT);\d| HUplvV63H9ϺtUu6NF6Xc_*mm~ͭv&w?|+"A)r;h9I%1-2sdtͷ6}=@mNoќ۪{:T"<ķӅ[j>q: =^Ѡg+Yנ6my޺Ы$nEvfPMvGt^# ֣y =PZ|ϩ#1sB}2y( ݵ`$^R:4If:7$2"FQU\=±MnX@J13KlV. ؽxͽWzV,( m[QK*Z5E%+N4,}.EǦ˱M0∖ Uqfs~jLg5x'$GHe]QeҔk Z}g$OO WXY'$  :tx.IEkێ@I?=b(@[/htk, ũۜhcjLj[4b{OS{ (H.#=$m 4/vⱯ^,7נ={lw~_K5f[]N/`ُX͖yq#JP`lA?( 7׏:^ 9-pzQ$lh :?p } C껕Z?IX"|k@*Ǵcf9 Ε 2_J&i0hcddOYn'@$ T t;|<[kDkFQr5Нq=ZQ5l!󒢖p?eZˑҳy$k_P`j]CdĀA(O%ژO @My 311B|>gSnSSa#D+|:I75eE:teabزޣnxmlDjlZa. 5+2W嗉*Wllk4Cd5XHdA$O:[b-;dg.0dYU>,zu}`,K>m@ɍƒhG(Byeƕ|{= ?Iɔo}NGܨ"}-'L##()L TwMv L| +<&Ӣ~u-B)clh)>9v=|}Þw wPeilE&I$h DHDmn ʄ *!1#N)F/&S}Zm 5>ƒO25Lû%cCo![ԛPc :UNuQ!>QtgI*aϣ"q LbBo1.Q)!C?uێGh80(JὦJtOm#0;+3kn6 fƀk! lx5O?NZmi./&)cGͯ+ =Ԯx` :5tT8vo"+h;Xf<ª_KxSP^-փHd26g 2?P uP[9Ɇd5[zYZ(׮ C&J_ q_m(O *P?E9I ywXup>2b˧FlzhB.   okWeCֈy"]2gT&oOgg-}|X]Ҟhu?ucgq&bq✩;b>h*1VUjڝHΑr%48[ F; oA*_E:SJLa5s J”uO\,_mDֆtSXN㺝,kDc"tb1Q#𺰈Sj\'Kx:)J<ة^)3``Ra9uܶrWӉ?ž{s탷O.y-׍rY^K% Wo2orVw@..M,Vi6AZ]7F]h- S,[-5Y3.>ĶRAy*'ށ; ce)=(C ʃ%N+)9ubz.J*)a?sAn/Wm]' utA:O{?zhY7qYR&3OJb}C6KCB1h;O2l}Y֢a}ęLZXb޿)Fm9i ֹ.N66>g,i^=̽2YLi*/iU{}kf:^ҷA(o\NfRѦ hfu$<1C7OlƬ3Sz+YI]oL5}Ԝ" ^n2k|& `3A؅:@5E6Qn~3Ǥ^V/Bi6x]yr.17F5]v5أ.Q܊aE,>+LWwY tkٶ|&{4٩ԟKj-;L :)D0w82TD$- (!\P/w]¶5b&޲wNW%`:S AG!%{J?0j8Rm-X -M(K%f"[@fLkVJKi{i#{lrKN.I@(7FϦs=_{$>>blBUn+PW(-k`5>W~;ي tIcAh kwK-cz!>ȋwVyE j0BײuQItbG^q߆_ch7&/υ:\ As_"\*D/.~=әd\,B̀hm-8/PTC?$Yi[ۗύ,vN7PRN*Rץ| ,^Yӡ\>)[b=z;B6'+ɊwY"cS*VTlU(G(U]zBTaHɇy\Uƞe&KG{+ 5p֨;(≮ϢSx/ISĽM qJ'd㵵q0R=: Di?rKG8"@lP{h`j=/+oO]o3$+)^";\,L{xe #d+4v^f(NJbb%L%e&$M$k~ wfǘv 5V Ly4},V_t(2ˆLOG8G[FکE2Y!Y\ )J8Eϼ>Hz&L Xia!:A~G7!|]˸_wL-aL#!l {(/Հ%)~z [VY_B7k1wZ|bk1)mSMa]#Txns> (\"|KFϏе/Y'4ңZ@<}՗IG0O#Dٰtc'CzBqdW.B'WT0xR;)`߭swgoRo.xGDB{~*CUl`'bWISK,49g9X{OL/ SP oT}rU`n i['-d53+ ϭ *%39nfMWםͨ#nEa{m2˷/줧C廫?g9ꬎ8HN[.fod_ʟ_r<#yۨ|ͽy١}#;5~}&$r; ?$-rr$/ Q!΋M x+EC7wƘ[I4|~-4ALdl@:/cN, 2˝^baCglǏƎ=$jGZɭ_M4F3[?LlpӿIC?=rGZ溕}R*Vo{ٗ(&[41;F=츅AXyO;$;0 .~IOGdB6p|+i$40L򹣞wpt= |\=o;Ӥe6ԣ7.jqӾ-I4g^?睾9b8ydF+`f~y5%JozjoznoRްQrH gzgd,Cz;LsG1Nq2 g{OK !8GDqլ!'2sz]fe) Lݑn7z3{ͼMJ9弧ř\o;-Y=}~]yO T~K"@-GCzB<^Tuma1"ӛWzfu}A.=eވB(_vIM|8oOy% ^58)y󶧦kyHfu}u3Hot#O3be>.ƈ YVS9欹OPτFHZCaߨd=1'"{j*&ߝc984 >pAyum}H_+U`Ϗb=Hn}|ͳs;j_k 8ɩs#Ժ`_RgLH=|>-VG?2 =v˃,Eo!dvcr=왷>wV (}k#N_qTro_z}=Rſn9;75'n4ʺLL{&MI"~pfiy!׾5' e .^]MK$#I~(}y]oL{7ge~AuϻrUn_!5Wl6O߳kcmwA}D'#PVHgf(b+H%E$%WH 4yd !8t'4bܜifc$"AGyդ˯l'i-tbMq[%e{D7R?DUg{Ho:qp-P0s9izGKv 6\O?%V5?A#x~B6}bS2?.WEս;S(OY:eW5uA@~{Hi"f粼ӳy\{7a 'h_8z[?&iVmnѥ>oS$188S)zi>v^c,,u)f"i ӧ8eĊnގef1kө>ezG82^OAv㏫>$XO02w"|=[ڢv,Ɨ2"HV3;.T%fd\:GP~Fz [RX,ɡ莺(63X-KUSv̍όt"B"~u#ȃH/9:69Wv4{۔+=2̐ewDi~ \EK(CF}SSyo!!v`/==7MAٷ鿩>:sl'e||n!ydU6|:O/ @v Xgm_Z@u!4( x2HM 6 X0#f 7.'tv>C1wl1a {o|/GfIBu9jO } (0D z5C؟of38_,H㄄¥1~|!*'2` ~hI9|mՑy)s]=x,do9|TL _iaXL`v2NqY.q 옟Gܜ-^mb(MKt>G"ӆL*E¤namHZchd҉Wpe:EEyg[i LB2sRTȠ(.\p%ˎ{/D< j:^Uϡu˰!粮0ge,x& &p3<. {M \9? @ֻl:ԍ:q\FAhERPUNt:B>Y/]~bw ?E/'p%81%l V];."i$lڔQ4s$7; bmt.@Y-rmNẙLnbNc'6BKcR:7`\KDX곥Q%8"i2IJZ}ꠑE8@ރj%R=pܮP`r%*0z]5^ beJH:Ǝ~伡k]] aҍFi9;$*? niD&#62Ÿ Z `y=raQ"mud:in:aHgPRܣw7]C3ʲT}>ZאX^h;2K.`<32w1Kc9 ΫnΎ2}k׮{Z6Ǘo;K`Wc>rFW5@cU=xԑ.  kxO>_0B!~^Uo98M?SuQ ۴n{ǙO+lY`/N_\˧qkIqDF/;{]k_Q}L1Rzv ƷB ~adێ|30\6!7dW^hS{AN弦nqiQ.ɖBJ3A@L/>D #m⦛kf]G*~,C0 ŝw9.Ophag) Zx ) %-]hNVrN&R37_zIP-No=p)yG*7@0( %"XW| ! ] Q@839/q+ɭGjј5ՙ!d YcH`HktwSRX}狽(dV> WoFMcEoQeoG;]of+78Qa<B>fV>wx.ᾢ_v`U|3OMfla=#(T+eaff^>6eoaclrnsyH,Xãa84Y6Yc%&ape::pj] 9n6vv!p|Gqbb&ؙUy;dpa^M .G8gsyڧba$ CJ[s%wa\Lo"oSrv!m'm\f?l9ƈJO_$DM'*r:H(%a8! mKO pV=ҒWB4Ȋ~Qt͉L8`Ҹǃ(V*3mh\utUCF3=dWj>zUx_S r[ ϧ|VW۫Yy#=}2e5~‎޶t:zz?28h>u8P3mI%ˊFY,B].+ھT~ ꔺųdhyM$䓵 0 Ep[ZP 2䅞z{X'FO-?cɇW; @rBlMu #5qt_cmQAV t6saBaQMlu³"z6cuG,%9@.2uq~nQ O?[wn/SlRO+#+'[ׁHɧ'G]#Wq`:92{##e/2i87n8jp"˛F&V ͸CkцE/x1ts][)]5D.G3VwZڦ4vqNT.|sF5W6ד߁)E@ .0B~2<3C,e"0\ 6'i&ѿ3ˍ{.u;jfRY4L^X8 FRDEI &b1F‘ta%{4߁DF66=J%hz7dǹNZQJIsB̌<^KMٔvBڭ 1 ҅D wã d1<rġRiIBmo+nwI8d|woaZqDrA0?+qB4Cp0 RĠ} VSb`&Oi@!,*M 'NLSG\PlA $>|G͋[u~d8uqC ө?xAj@RȈT:zFڜ!oNȡ,߲BҶi5@aR ]џӎV<*LRG\7Im.'dT9T:{;@hV;J>W܈_p\_!YR-"ddK:^|c~LLUI#8qr/4W,$@WB7ǖ^@ԭZJ͑͒99{տK_L)k /yyOPXApjM#ĞIA4 n_l ȁ-ۮ]Cx̖ rIմܺjx0tIد1+{<[b i b xiI%v5Zc7b slr@p߇?FV`uXlBYg~%.a/fɔȔ̥j#;-&Umǯݯ*ܗɦ C0>*m]lk>SW. (-1 "4HH V';[]>B?LkK7ߟФ.AN0)/Ʃ"Y5S;LtU-R2n1pg{G\5`u7?dk3WT/QV*rqkƸ<-\?Z#Oy=XjWoxGE*DCEl'Y"s,T5qpG~܃x=ӏG،TL ^o#^m2HBmk52r)i Q-245ؚD*y҅Ak-ЭY73Lךbs+q.sJCgXoL׳.z&q,9!YGjZv*'E(}bkmV|M{-1c#/8uX';|״e)<2Zc'wUed 0DBHnfz4859 sZL2]T[S4YZ2YpbOᑕ XY_Z˷ld+/:3Tdx9[eeܴZpZ8p{¼UvпSr*F:*FUeRQL;M@aqb%ClN;DՖExk`fCȩB8#MeyZ^?Ъ?VI_9Z([1x=5YV.+)‰5f.*h2FĨM}Ml]}XZ$)V$utS$\~DiL7Fo'rN2+&_~t#pfU{2T/k C:3j_/=W1w"H. DbiL4<aacAInt KV3C],hXb5P ^/U3\i;%*FmKp)V0"Fj\h ,GzD̉;lc9']z;28yufU\<v=\v!-@idཹf_fו n[ pE2B[^xx,?M JHS <걖/ͨ[ d4CǏkfF^ =z_NV}XTx}M4HtdJ%?$*kq$zAԦ4ՂwdGB2f0.$ k,s%c8p]Gq(eXR-I02^ qA1S{e`gff ip.C_us.t6X|& *Xi2G!юXJZl6(e"KB[N9)e[)D[-lf~߂*8J܆Di%,%-#v(c=̆?@V @ K~jGМզ~A7*7>QGb͡0En@S1!IQe1O*P%(qAE9[OK&E!7!Mb< O\#C$nl$B3;Aw(KP.5 =A:Qg;>Y5. 8[FƥƮ/ _^p2B.Z^Xλ~z!ysr! b_0|WQ=5xNҹ7eM6gI||"YE<ER뚹!~]5,$>"z=Ix>MI?ce~lL4\S{-wN./drԉrίPaFDҩHĒu p. `]h+F/ik_d2e12(XHy-3f": ?%Mw!\hM\&i0-x9YuZp8x"0,cܳ`0pyoSL5,ŘƀL)qX9DFe\7E}2 Ӗݚ?$o9Ia3&qu塔FRq0[H^vouT,bׂK|g,9)s:2OI‰1r')?kp{ѹHLH}pyiz%= pۏ D;FX7ո#b\{,[;;(U]~HZb?L8H)19>ZBV&w#,cjf"M<,ʛnrA_!ӏQ~ =kTE [un٩W 5'WH>Q寅Z" ]TP+٠ E:}5Ki ʮ,7mt7*DM6IJ^uk[b/ʹCj#ڢY뵼ŦΣDM~f:MFV&gteOBc)hɺNH;k'eV8ţ=9I]=eAPՋSmܢ~G0R?Ѿ &}9bLLKGzBb['Tp#+N}OQG).ߌ1uWR+[榃t4ltGfЄ`3%cc$ZF[ ˰3;ɾ"3,.Yj69l>&)H赢e  Еf2`Q[W(Hx;RdGa24ٴc#;ıX'd8&ţDXm5g f6 X Bf1Z|?&ڨ95GniH%aU+--f̴)G-)+Lt%GڶoPa1^{'O)"S%2BܞqdN1qd8V:"i9%gW+":YTQDUȌ%o\@uE1s4Izygr/BqU璽l|.Uh+Y|_2Y-sd ^:&rQ l퀳4oSoͬZ6:H78#g-+aKQj^i-7tУJ'EФ_ az)7(/ɨ*C+ Ylpv6jL1/sol^Ld"#Mv?@DpY2\#P;_A֗SR~։),E6z ;Pi%^ -['M#@ W'4\7_o7 M=4m~BpaIxƎ 6jd!ٮ<Ǜ1m:h7I_-w堽?"RHĒsfW["{vYᒨwICU2/Jn qdQ ESttVT$[Ț?$0o[qM-+p6G|*F_a%!&49@TlKdx9F9gT:< \@FWUb?r&)6+H6+6*K/JL.+rݲfl4۩JQ 9`ڽtʰăiA_)4 ;ň_F 4¬Nf48a@CLD]ΡKDO7d&紑oR? >@ FD núU~~ #ڌnOf' ##(z181L?'g814gT<OI71dIω I cq&04 &NOB-'''Dfn \ 1E2Ca.1+4lw!hg/uc_:w^ųrbXIH("2jWY$bHZd|/@7̫yyi/DR,.J\>.T^4MGr]Z;g}lA@YY%w`]j#9y|3`|=zx`nR$-N*u^CDʄ[=g鮃KlOcG}z<)if糒CОL}1#c\.!7RFxxaz|IAъe.eccr ^Oقp֊3>z9I)ru ^|$w)[BO$2kվY9)" s!J di^QAd(h5@[IҹpLW_+Ѻ)svoF!Y{oZȢѦ,<2t\BCYB݌A`!nB.W!kc8tD&$f$(D!MOrap8͹~¨;\BT'yIRuW+I G=p=5}vMa .W{Mk SM ٠y6$+p뭳|ĪN맸}\u>~_Rzt%uTfM.6gZjl[D"5*ZBMmMd֋ᷩpQ́opC:$@pnF%df|IB&i|F6J(P]~J>GD)_D|㟟PS>JTq'ħa%8FƿF J^_n=s߷unKέ PLrK?|ORAũ]*,3Xw,UgYa57.,6ֲ[S}[f5TU]&Iʵ#Gy(%LNe;F/.>QLfLJ:0z||m0< ~{MFYzjK^v<uN~ G\eI=Ĕp{@0TQҎ^n5Sý9Q8ᮖ*nRM׸r8$&E.7m[Qt"//vpK*!!%Ξ0\M.3-a7L0᪄ISįup3KGD9FJOQ=<Eg%Xm5:EKqSrVSirdTJjj$ 0؄$5]@-5*eY'pf7P|agfܿeX(7b Sn{:drڗcO;DJ6%G,b a:het#}7ZkD2I%PjjΦ 2upnd{Gy5%7k/Ç/HKI+vǃZbN;4g^eK#-z&X9o\}x*źퟥBңsn#H; ΡX-TDl9<ƺ Aia}60Hg?X%U U)\Fr&oqŞ- ǹ%blw2Q P[~uߪyX*tkNQVE1%_35O'; YEٱJ/<2az{8c}`)T:ZJSEI:|el393>1 /9SL|>õ^N~.BX,N Wk41de <$NA^S,m+)u.^ϼb0o-eUdZ:{ ݴ] w[SeaDq=ey9\7 YT]TФKu%ž:;aȉ0Moh vm!AU0hx[ <%=:8Zv3&כߧz: ])a ee.$-e|#ȻV rqN3L1Ոmݯ~_ Nӏ%J`?Is"snGCUp̐6#bs4uTt2@eC5 <"fWa?̧P xM9Ո@e8G\D{crChmXe0G+eehs'؍OyE' ~RO%/ƨ2S?e ;}& /t2*َ"M3~L4bi}~Uh)J9/v>d^UoK0%Q2^ tB=a?Ы'Y};{A|F+~c:Vv_1neBQ<#3-ͰQSgb?{1b2o*P[+.cAF|fo[Ų;4Rާ>*(M(›65miJg>0ė# #U {3(#tB9qR͞ZnQZHȬ=vENdNebIIʛAe K} TO5-\nfg*󹙋l^ qIN,iv&bY6`HRPzYkyϵlg[-W$\aXjF)QY*8Vwi\dM_uo-S]=ip︛Az70 Kny5%a`9뱆y/˜z1͇S|/5R<°BOoPK6l(Fm/^E ?éISІב[?F0GrCc4h7SvWN&jhkC=hjXC pyʂwnv=_.4w^C nyW)=G΃6qEүwuX/ [>&ʟzE>47_"LejUwN` X!7vdI[.IѮ,:@qen)ED{AT}1y"i0 #%( q[o_4bX.4 H^ O]%b{]:!Vrʕsruj͟O ڢۂ+?wS XwRUg?l<#zsÂbh1Ƌ"w7V&R?[>|_YC= CuEUs-i2${)/eב9ݐ;>7O Q8'fg"_~C쁔%5pUcW PEUIS:?`9࡫8O@W_;5t#DngJJ=uneͯ,ĆgwKםTXf**n%_r1BCCy0.J`G;i.Ю{*JYd-[3OAO~O@zw܌ hRgps,DZ/H? rszqө ["K y]c ,=?9<(B'&'Ɋ7\N3>!3dBZ=.ǽ:{ڮGjxx&|ycx>懗&P%OjvIFfe`ɉ 0|&ieJT ]MY8{DByw+]p%R2wa2:^.w)k -r,&;IYpc^C&˹Q>3kӻg\̙*KD^kB/b_'nrI_Z ̵Ib9$Mx#YA(e5?EBڝ.=/k0~Z$H$㇓ {(t\RJGlMgײ.I'PvSiͷV‰ IL˪RTEmYX&WWIúghaIy>#C+hx" M w1l"sr#.:snLz'RF\H~Ȧ3ɝ^doJG󣦉{U=<ݐb D'3}ςp+͒{v-nX$IF@Xysw/ate&jG?;Vs%u&H35iY{tp//I*LsOl((A֓NyBQ5VZIh6׹']M ƥ]ϻ zWתl0]s K-C:o|-cN<"<pko6@oK}a)L~T ^}8 ]qnK4!]+Z=֟B8^M}1?ºg1s $+`#iOjG2Hyf`> a,*l50plJoa;'"f幷uG_B^l$"JJN:nrxx{-5 DI RT&SUUǮO IcH yx(Δ,ƽU.L(ߜ [_NXcTC k̓ *p(O(HLMu&8;y/MI9oY^\3ӗ_Ū$ǟD.q@ \>)g'?\%9^(,&=%`Ydž8o6՝^iB_?V6V]K[ǵ?hK篨rg=TMBT/N];{>}zVw,]>D [2VYdaOE59Ԟahw)SM/pO(BLV9,Ɯc31G~61sqUXLԆe`;VCź.Bא0!Wbo(bYy2/l%kyYţ-PϽ"S5fȧFKz*tg XⶱŜ/&8 [ ҟNohv "uq=q1;VgƼ8Q ({D_>'II3Dؼ-3XA7/''è~(Y4 GZw3an]l6p{aЈufSIR[^Dt,P8 tKQuoLJq3> 3%LC:U;<1y^4zsIaĈ9tO$h7~tffX5>5=օⰠ!Ğpk`_nA-F3Jʰ@?t[=Q}o}%^nCHwAfZCR%}qC Jy|W!)X N5hӞR3Q{$#V`X:JOX"\עMCAp}i/5\O5g7t56O2A_5J q,٤Hu#GD_w94 IN@ TL* j=*Uf Bo/a~e.5md˜M/汼[h#bkJr/ݒ vS4 Ͽ߳4T4.?.a:1ZčIk*u2sd׽̔1^WLN.z[]&I2"/q+[{`zg]97 L#Tbdȋr^naXyi'/ +vd1br b6֗4U߻ ԺwUS@,*yL~xi g|%']:+!wo M釦.ApH43 kp#M?j7LK %熎)x8N- kkk #Qǜ-|Rg AmE Kp%  >u;&Xe6Bs%1hTD(|!Cp)w=Qב1}̛&rpgO/ko0~k/n6mky~3M瑗6κG$Ƒab/飈ߟo&5EC7bʹYauM81H50X}J %|枧 ?'>ER3o12RrP,{7\ v|g}v[S3FtmώQSIVT8嬄 'NtA$cT<芨U.b7ςq|UU 3)(|6OFB;8N/ە^O"69¾-(,FfULF'(U\|$X)m A9)eK&-20LjCwoso\&ct m˟^ } ,] |K3IJuhs"Sa"^VН#oP ,K'U-VoZpoE g=Zl*- 8'o-"w4xKܠ- 8w8?Xtk)mJwŲ$WlW͍yCD 7Z\Okv+{ck8 eyW3sPOʭ|\%&[׌t aC:$polYᩄ%)W55bhzc^y#)7(\dCflE}i0v"~ ="hBrƶ߉_Pf?X(}?O+*ocLYH%Ez)aed`ުrE0[WFy_a1Y4*{xjZǞfg.A@M>4ƶiYK9b[.AVW,"!k 1*4ys-)'_Di2u䄴u͔{N[7NvYygSyTmZ(&IGh`Q$.}HT,EhGՓb4,4[dP J'O%'ȓE IdQRnrQl'NjGnzTKw-żpœ1`p[͎:Nz.,M2ԫf]3q^[/pE4 ,DdΆӬ7Gܿ51y>L6ZZ=7V o+'%>YЮYjcaeIƩ,e2j-@hnLΤIQ; W1Q lldd æt*uˀoy>T\&Cq JvVҪ1^"Zkabw[{ezY Fhw#{.˃r[[ ޘ#hٻ'h BmC[nݔetS=PaЪXLZ?~ "j"fj Ϩ]Qՙ P=.ffA(%Rڂu2P(KGkK2.i+~5t#Wo rPfL+x/X#^TXHX@~I㙢 X M?.{Zm3mzu[.~7uurIUt J| 3Q%m7[߯`K^>Zbv+I&IZ| } y@[}up\B /-;dT|vȎc`LB m`sw/Rs,7BW ߴm=%{.9F6?Dnla,j˫$!7Q!dwV:RǚpAO7,^m*T8|NPKNGh vԌqk8RZ|i[~ $֗d||oH^Xl'i!ktY ?5!4 ;ױ4Ir.I0Nt~THI`a\}P0Hv]ģ1nld]?|vԄ_g h?܀pQnڶ7w3X ǃB ҔؤޛM˯M;w[m]Q+ݬK6^z-`ȭcړevp~\^@?Nk[[Q0\&VږR{I#-a ֮eӄ kHF RDLΰ&R#{{ӷ6xQ .@kuqR@x خ6P KF'a3Cy0@4U * Q@B\TnzQ؃QVorwFEıo5{W%mq[W/ œ9'WhsN=Ϊ*4]$JU6BL@X{SF2 4T: Y T*4T\_b@O-PT35e8֍t {Ypyjp To+)tX+*TSŠN6T*Y8 M#V;~:DH=A^r&%|iG`#}~#}&$dH4^&n'^ĉQ+!>*KN-9QWʦineFLNAU:ĉL9AVv_8UJvP:T9`U7sAL 挈\)DScYR¸N&w6G;e^x<[cfhØP&C ҴXghLP n^Tk C>I!˭/)'z|00A hS* > Pp!TP~P-azx`%,C h[>(ͩdpʀu6]BGS!Vgs?ШZC⽃+B3ZW@N{=C-vz\VLmc O!?5C(s ||-Myc p" lct\hEF Abf]XHG7@njpy(j <8hZd.,,8-b,vQՁauA?~,y#8e`W}'UNΒ@iko)0T;F8EA68(8&ғv~c*8$BE83ʡ;-Ê*kK-#xt[Ehp\Z *(PHi!B}"X'7,kA/ޗ~qC.eB~X]BQ%Y,afii'[hlC^-cK%2 pw oE(0prj!iAŽ@M5?%ቹaPp2Bmc5pX(WvqqHCQL.8?~?5SU7;%eY9$ʗnrhѵzrIvF6m EK[ m _ fHT}y}ۄ*M~TNunNOcoGzZ_"h2F19]&,T+:?277Pb",YQ|HonQn,bfRuTw|M M`Xpi.'4M\Ԣk W@s=$j*Ku{PO"POQ?OhrB+&*(5etd o|?<ݭ?dnt{ yr}Mc@ o]4s,1y U#Y~83wZ$nLsqn t =Wz4 . M^X9n=^-i.O(-: .tݼd~y=<$ :xSA 1W)uZ WSyӃ$A:5H:RVnC\sTfXiKb߶΢hEsVwi7 ͹AF`[ρSy^ lPק9$6MIF=5'5̋,v鱟~ı!We)A]# AR/(41F^[a^$cWn6c6P;: VJa_K.Nd]/``|LX?,\ &GNP K::9Z!YzAulPh (f)Gd7NXh*S -CSɶʖPۜE-.e( uôT,YW}2c P 5잙N5L868.h5>N!9aG7Kv1&o2ؕ>K)w-gD9/QнŬ 4CjK4.48v(,λAf)0P8(X>p0<w4;0F3 &0WL:ܶhQ0d9"ܑn @ h IЩll%R& 5+H@_=ӭn1K j]]Վ2gujf-DlyfHB+xr%U)3[O-9x 88LyT-an9) yic{gb`2Pה~0 GiMMf`'}rn F \AsX@=: #T1[М!H]]5Gw6bJH{79հH ܦ=)7ql~寻{ܗ\`Q1)J~w)k>EI25i]ɪ۞ٙ@>l"c#>h15m>i]_6_;.;tB̙f1~E]T 7WS' R\Ehx]W-"[g4kMsT;# Pcu-OC\-cܷ<Ayvֿ . FO*?`/ƿشō'.r\Va3y$5ځIU RP#>MqdU]ķ GVv ɜ_p*# ~ؔ%*B @| ;pHDdȷ3 H)+&dr4Sfv!Oʹ=^,Nӣ$ft)7si-s^n)c?y~V H 2wc/dYv]m}b! %ȇSI#CP51(=d$G-&gnYܜUok=*lPӭE:Ī,3bP$5e8VC_>mfp sfV`sc#ݽH 3Фt:<T MPq HO+dž#nJ|B:\ׄ8o4Xܫo0_q3%%>yOh&> en0._ gݑ>wO!΢- /$2"6,IœҒ*}2k;m$O# {g]$$c6ɜin(lA!+j#E`đ3 .jF %#AT Ve,P$I"ţnԴ` @f+JniaN|c`}zI`7pҨ5@DP3jm!]G4l{ʷΝLQHCV rTPdW.ʘIEZ@882TTͥݸb£+lϭ!8zOE5g5gVe)%#eyrcZ6DB )+94]>hoMɤӋS)"|.m[a*$iS} Z_& &{_m@}?;W̘&7kȢK,7=BN'R.uJ#Ր5=>jB>@Wz_ .wlCLn>U޶Ps:d;l V` >u#+KV>jꯠz74LjmIW5[|jdڧCEO5Ml QF@dr$^ƑkDSh(WSjP*Nv[զ]ƴMe$'Z!a 8kj'1icrBNs(0PSM>DRi2,VzJL}^S LΟbl$2Ӆ[L&aÆMv+:jӷވGĉc C+-+5l66TњYSGҺ,85G͹t'u."ik=`ǵF$ zZ}nY~ RCcELiH_26UB`b2ӳWjr\8m!H۟۔nNIK\mpY!<9ZRMUOtb~򼢇DTNl z9z_ yPÏtqeYv+Z=͊]S7@Ϲ,uۗL@P .nBѳ-oqS\qTq 32IJ,*m8՞=C[%E'UGGXsٹ'l^HV;Hmt:hf,p ,A\_8[77GF$Sҳ7UCvRfb!JG@wK6DYT<9lEwM2,!\I3 ؾ3NO[U|` p 4)Y.Ҥ_~G{#302L P^|`A)#Ql w8.Tn9Q`!ցǗ6zPDn9tW-5̀E;T+`Jb< VdXݔɣQ]3;48>Ii*G_&UJq~Qu%6hRoDei`R#@Ziś{!. 'EUFV .ࢮMXc*76pz. uSbjPo| 8:kε\ @$]-e‹DZ O٩DШ(tKh+И%Z)LAMPg8{T$?:{Mkފd ݡLw_nF#]\/9I6R@(ÐxG r̺FJZ7N&Aq}x 6ՄZfX2Qǭh|?^VgJˈ,W˖pZ͝GW!$) 4f,JQpְi{P&*LeN_]3ekHӜcY*Hwh!(6aZ"%Wp%Gv_7U4DW߆3靜j(꼋ð ͊>"? W]$Vgj0@Xz+,8+W@}|SgfF]>HE$3fh}apYyI\& C խk8  *+^%<{i7: 3;r 2$3c6b^GFo}y;` ؂0ly1ݜ6*8&4l?ِU󛽣jT/Ab ʴf[cv1`%:=e>|(C-n% g){U36b5}%QKϠ _& qտ -.߹sS1V(q+'9OE rCQtPHL~56n'/u7N!f#9K.0Mڍa䛬G+;ew9Nx08`` `Fhwg ;C>0;K!&wՂBHV9 KBgO(fw#tn(;#\=e ո6fB+p O;-þU::$ԗ 'ffMC7(L@ ;^n鐷Qu1WxxյQtD4RŘ]Ja>RHy 3g?dU`PvfT늨P 1V$g3pE, ~sšh+I kn=!?_<!b\mC!~vzE1/h0ȿ^Md.&qPw`&WƖ`]F\tNjXDq`taz`컛߿MM O 9H!!V"ZQ.e^;n=qzm @tt;L;`鄿kgvH]X <[,B6ZQc`)*_N:+r77%r`u߷\lFmZUΓ1wH@ߛzqMil5G=%}/"xLO%tעu~N6u[ٺ*UQb Ë8]+%B s8GdEgM|72]:ǟor>Oy T,gZqD}iBi'!/NV@}]W{*a\JqZI*e@ 5b !ՌSr=d_-"KjFN|!Ӝ-vziжAU` M%0/Q V5,Zg g>bJJ]`֓47Ϋ~fWI:Cgg`ϩPTm`$%u{3|gua7C]blxwUd2`W9!GdJHR$!JJ|ZXO$.<š3^Ƈ0XJҨꕰ$ayzl4!`) TadǗS-`j~WLQz:Xq@o!Ȑus+3=΀/ojЂRս &3YhK-mFN\`s2ӊq-M/7*Ҍ8Z>{, ʛV۲r躗[w6oqSOe.:͐ [Lb!RAŭC@;6edUJnL<pmz8A:.JpB4rKh]G?=Xx5@?LT,P350Eh6Ar*8)vn02"I1Z>/%W@ <@J>NR: (C#3(]lWCF32}Kr/w;..?y5g0C9=%ņdRi q-^ݖĿiHU p:qJћ@ $of ,!o+)B/?!j4-C>,)pϷbݮ-!+G`1Aqww+:fqD9rgC™p^DZr<[ͷbYW\bGAaWz)̾wݬT?Wz|m!' TcK}nSv0nfz _blbU-yma4AHyyRN~n3{l8BPb#k+edMIyٍ͚:-YaXnIl*-MXǫNt`ȰX~8M85)ȗuDR5= ꫐+Z&<ୠxE8s}P*{p`O@m3ځ(>5Bhl0Zoy.:?a$ )T09FP)rY8t4W@+}5tW\X/P!;,O0xK`p4JP_ No:7%.5vt+gTqp /tC-qϛ8YI3I)uo\5BKFp  6Hj=T. YhW虌[Iv0QP@,? YvhpX:k=B 9k!C=8¨%AAARvT37Xv,Rந'Rz;_$3}&R*3[*M~(7viNA(.LS(E|YݍZIAȫ#LX2Psp\>_ !6S R@?c^q|]$Ї"6!B@Jj&?WC3vFmIfڣV^6 C~׳"`CfŃK+aZ.W.h+~@ JXi R|ϯЍ%j_^{PΡ ix\fZ-n.mb'"2eٰ(׊G)P=t((tPf_W>C!?@ķ$DxTYLׄO:DB'q޷D1jAO(C4.1 uHdeD) ɫ|6j[#%$hJșqݑ ˤ=FWߑ$`Au-7;bX}'*At`H߃YE0@ c2 è@N'et;c8+rS@Dҭ ʹ#@ݩdI|K(n !dA68vNj\Nd;IrHX^^|#!A-7Lesoi'8t;%,chT^FE?ovסYW_R =~ (6߮L_awbp[j^93w1u&¥BgRK; 47]J5}C$Q} 2zovY(4B%vj }#L3ҬS,IHId P(,&+`tՖxDlEwgRYin86+7??vQRsFZI$]MUof\.km E$`Aj5ra@ (!q-qNJ ls܊OF@ P*ӐeJ7^:7?eyH77fkd2:UHUvUmOb崣8RQ7Rù&tK9!:v(Jzn ``_\ݠԍ$xG87߁{,thANbFrHy=E#wP+4 t8Tz}hʐUVi+O32۶ kP!r8%r@BrCz9!ssmpGxȎ*/G8/8I0,KA 4ryNIox#=a?aꔢZXgy$@]=!o /l%d$ܵo%7:6\#HXPi;q"{Y={u2667J|Ƃn3%- )>q+nr\~PWvO;D&+3'PJe͎If\J0e8T^۵-pex,m K"aKᧉhLt!Voƫ3Ұ hhshb!]ZpJHЛ `T8uA~fh_VƻW:nދ+v%Dh%ps[ ڋH"pĭMf򵿸=R, cmo\WU֍ l0jh ]w-]pσZnv?t箠8ULOsݣ #ҥ9(}9u#ɔ"+ˉ͝nea%@S޲{<7󞞆]9y[$;-] ^l~F&>3$ʍ!K4<.bS34Obc}\p u2hk2磂e:UˋXæ]RL=jeeF{‰JK>hIi)2!ɬ[bmh$}6\̤[z]bO8؇҉$d|`m`'L!m}-c/4GL5 ޡh3aY7JrD\ؔ5OBIQ]d+RRWkx\m^D4Wy/¢7mPb P]=Q">pgR5\爛ְ9x 2X-z9!g= f2x9[J51s}Rcظ9_3KC$`Y(cq/Y+-MwCpf}@nzh)(աC6E؊Vo"v[;0mg\! B`UGUUUUUUUUUUUUUUWUUUUUUPUD`hd߼2Hڶkᡄf^J&?bXP{%Af8<AN#|gr%P N3l$HmjTZk* zvhw[2GrKTs=]$OmȰׯT81yc 5fbO<7Baqg !7 +DkU0rD,^Jl7F!#!9͢,L,fm\rre4;. WU6ĂB bBcAz0o ae.uP 76g)j~ffWGp#zfT]8bZ":}^Z_P sVڤ5Dڒ2lgbF,͍`/cPޏZR%D |g; ߗ EA0IPC3٤RsZ֖ZݖґܓEuook8M8_,E ",ˬEkM(aPa;oPn y(zLͦ]\F!`98HKl}QS\ z}.YT;M1' $+~TWaUdlsQv^څZS5/d'ljٹH*~#m K60lhm/#g KA"aqbn.\Ŧ' X5=wIwG/Kz_D  /͟}[_w9kM m.9KG+/?%voh~Lr#\nK8b7UkLxg"{@HM3kD~/ꯦgr)d3#Jd T]eɃW9>FU4EӯiE5:툫  EAq] Grēd3d9'EU>=bv@G#.b+tS<7jѸ.J$#(dr/As73hǙ FWpRUU 6HH # H##WSSa`xt JXF(" V:gDXwc o~q%G[a=OKnAW䑇\gZ[`jy_-B `H9D(Gw:\sRj/M`\>w_ N@orCà V,CӔdh\6¿Υ`:i S!uca$E܀6tE>>-v_mEbz IUAqwn'HjlP'Zanjn鱑,Qoɢ~P%~"zFŤ+{Dnt2$$ .[ځKB~c|n~r=^v, 8.P̉ЌuT;%p3R1#-Ծ a=7?`ROܕBvx_f P6>Ew Pa VV6 u%qL놋C*fosؘ>,4gh~3yPo0Q +Ί>X}5@|(G;{|7D |KPh$!OBD_ p7_kGUa_;)Cc+;_/*@hv!"Gx\V0}&GbqCw/iBDCM ?Hڔ' 8|Q)BND 4 ;Be?Hp *|v b_ຯ 5 L҉݂ Hf/O,URZ @v@?Ww#O&iBq5 `'fb;[Wjߨ0]N~st=>ݼ%Jjh wD s;rGt+;sVVּXK]۷/(ȋK4`duڑzP.n"fb\XЮ)rBZpZSW6\N"]E2Ǐ9sXٸ` 6q #0r ']0mPVxI8NK)W 2)^|*&p9T;D7$&%52=JN8 o_0c7N O2~.SbeL#<]/ í6eD&Ȃ)$EPο~670*dDҏaα[8%~ASviI!(OdLK\i ]1v.Ext97<\tHO,7|{&ipJ(!?|ѝ9P I9"AzE-/MO67爰ss_ UUr?o{h@{LmLĔPqq[p{sBy AQʉq7 >?]Vf>}Bxj._do\bw.?`21Y\*kR$?zX [Eܽ_ѕzf*[Dos}1BY _:37v2us'xe Y-i-3(RIIBr{ID t ـ926v[2,)4j<ا0HkiY[HYDs>|uqF}*Vb@ױx(oBE%G~Wd :fBwATh5iJKo~bҮT4lmtsT2L2sLأd?]>u L~`7蝶]/iSFc4ysqB">о74@.qS=:TQ"͐Ru1VI'I:Ӎ]tn_v"ӂ(CR]4~,+^7H1 uySz g)H(4)TD6#'C|s}:+^QUK#B U3 q0?q=O6Bh|y>Zsҙe2rJS o\b߇eI gVJmB,E(wv,a_cdM[k$|4^?ǠvZф͏d}OR3Tc6sou僉]f6yd/o|=\~Rku&odd'&DW@!=FO hH}?3<p{93LL[<}/ٸܫ{ p8HS8MZ[Zܟ䟫Ɛ7d, |WN5(Y^1̮0KY,]#r}x MYRN= OP}ፕd!"`p",+:Aji[*Jh&ey&%*{ ))I\;.A9C\]#3LJĚQhV*[ FDAꌞxVZ4k[ SEҘIlѫ" bf]/_2?{b*>r)>Fu:'|D[7 ʲR}uğl$XR= 7qNrq̼6)AA)3΃b:lH7muBC fsRܰ [:-Ebt8c] nL{^0;8-%I612<^X/xnܗ,彊ߣoϙӅ ]VH5;eWL 4gdMd $o5Oa ZcC4\Zio}Z[5u~~ r9@)POcpe(q_N`=#Q7:Y:Vcϻ5)J20h[0 >\,R١VW[gjgS"8.@H})~j;[ZVVPS OAfF|$ 7#.X`PD&brI 2O- ,kT]M$9W?,5iꚽK{QJ͘_K>L[gÙ X\ґYE)xL=/85&ՅQls*Ǵ 5YMzH;|Q:ustiT?S#(;uIMĪaLT^?hn\1{lDoXAČrBD׬(&2~:A8}AzQ`@˚0zAN~sƮie %qP{ܹ [A[f;:$h+U|tDIA ,ۺQ_KΪEtlnJMho$z v$oR> SRsoM j MNt>*/)o&DoU83m>/b3^*M$Cy6xW&lwQ4 ml*2 1zQWEy9a1ߥ>BSw߳7W1q oUK0<2ggAɝ\廽ˣJPwp!O<˒-ODiP&Ɏ~|!oQ @ӵ\" KHb`=VM6ʊ@cb'^iۧ|u'!=@p{.g T^R5k o0:678OI!l(64+Rkczu[>~,}Nl\|m: !Ѥ:]|6.|JN* .Q!a5mu$#lym^67 }3 (nTt{t*]c6TYF7:#h%vovNCh/ `p+` >ufW8+ae'>l޲cdjkRJ\;k'D,rg(`aC^5pIڈ,.n:P~jPALt2MaOAE6._Atƨ"`=7}}5|IdB0|<61StBUX}K{QV(žW 1!_ozC@ =O7I[xRCZ| dtM2{d<<`9s2HT͎,p1LˍF9Kj:Z Ԩ5?P4!ZJ/"p`>'谐o1B}ҰM*IK\B RbJr^h^|MHrNGlS *¯ic[V۾p*j C]"(?br0ʃⱱPBG;Oy i+j۰;s2*eNɃ\kX b^L#Oi yzԁq+) ֜7 qj> F9PHd;G&YQ?o.4ࢺҵ/Q;_fm>:MP72ƅݬI:M곥 ;_kfU¼#`;e7u=8}?cdCj}ho~^jDj#p MgJnچ) M,ta\gUzrxd*VvckUxTݨiww[{Y2 މpfD|0s}s,~*GoIk_4J 3H bd؄cIrX bRc'KL(IBCgz X؃۰iT@Rz9=Qh,FG- bRtn.j[6Nx4.JG.d{S hG`6 (jjEw׾JN!+6+3]̃_8bjAnUZA4m :V tAGkĠ4;Z?$  go'g+ACLcE[ܹ="c;߫YPJP$Yce=b9kvC/A{V9([_|Y I+`ˎlUZksaƉ œݫ^LȺXUt Rg3$;ܱQf1N^dy$@&Ĥkb}d ILBW>N"<-6 xztOuGoi3[jy~#XMTVL6H39ko9NޢTt8G+a;s =ĂǍ>Z*whla{~`ؚnFͼS0œ&ÓO_'$== SO+Z%&ˑڴ CQ [a I6 TMՈp *&ᔗ7׌%1Fb] 8AckJ*y~ `Mxj5ր%I=#8-qW9ék28nQ IW]rlBY3f1ѷpk ?kԪ&΁ƆRd{`Ƈnjs(8Q4@\Ϯ|K|W! b n@>9>/.oNb-x  +K9C?z^0%Ի,.|>L> Gah $} AB9ǒtT㜷Zo3]D*Iێhyw$+o+*JF)D1B;> y5&,w፪}ot]㐒ܕ5ʁ+_ \ ѩq>n ׅDS8]T;2McNl59G>,7嚬\*LZ810m<.H#ڰu\r7r@ǭ0jau- hiѕfК13L7yʽ;C>ㄔaSY!+ —Cs/Ƞ[D5SZOb =w^94Cv. $~V/U"zT싻 @GeI>d,;_];$fD6?0 ւ}!LBZM"0"$d MN0ep?J!ם1!{ŵ 6HY蒡‹hܽ6hw%1J0TͅsUHS6P6Oy,5!Dt!E)6`Zi_#Qa-J$YK,h\"d$S?p$+a*54u[Em9L‡;#;;Bey\! [FSy &b+.2ounYN Uh%8GaS$sw&Tv$+ohZէ5EV"IoJ7WxTۇdE*Ϳ:ZBBjY5h^:X#}ʛߥ@@hyĎ<fo6SւsAB%@v֙jJ0X$AJ[uM{fbŗ=#:f$KB S=l:Wva> gh5w _Y^H ~[8uED gP , ,JqOPCƛJEhƶUƖi˿iLB(`*-F? $Ll㳤M]wz=1Ӓ"j#lq8DJK$CRh@x۰rGnt/8knnej[cOu ;u ⦛Tjtu[m/Z0/ Pӓ㴖W{{hͨY@PY5n5 q{tp4ސ. 6,=]XɕPMUIn3n94eÁtW6bg>?PĎ|qY4:`žJ ׁS3NuzeU"i.}PT1<.nتI]^rDg5t}M<$Em#"$&|mJڙ#\2gϳFmړF:{Nij2JH_<=I`K߇ʑelA4E$4YVC[ueD͌U^.صUk'zR*A5 \gv/4PIG[7!:/' u*!irAžuWWğd5O"[P vAb%Bdn!. Q 2(zEgANlj%I@sF%Pqp ڰUC\П Ê׳,bp̦ZB~7>fXA@`6y8_/nZ4l:qcp'KYyeW.};\'51zk- |e)s$ew |[aIQ.ϋZTfK3kŦ%w&$iFƹ8xJtpΤSQUWļC\qGHڮH%8O1P$$(1Jx: Zl%n^vBl B>\!XcK/ Y)̻Ɔ"1-/V' 3X, 4"+N?h'ac@&'x%JO\+ӓ"3܋qdݍ#_.d}lLk\֛ Űw܅U(bO0~#?T{L{s6S*I P}}A/6}Wjz>u07ϽKndP$! C<[FvFYbג搞dwh"B|=R_!'H#Ġ"ziL}ĠS^wAٙe d zdAܿbԬWsKB'A恐$LPSMFVZ-WyȓZh8=_SOMucke^u HRޤX.o䨧ϯuhG=$3;4abިV3QN~o,K ρ&)CLR!G 5` FcϪ&k9 ˵DDȀX>:bI*[* Jn}`=b{<&}b=٧4*0,c3v:{=>ٓN4^Ď掉 9ѯŽKɼ=ji,l.ě6@`)j7:%ql{6ZN=\g0Uc2Jz.}xgmnJ:`*0L_U W)]`Poլ [pPnLWܵDųzk؎c/ې8e*XrO  <AҤ0oMyCc}LO{۝0C_FK"gp-ajMz'ևVeG˘A'")m&`Ľ it[nuLkqlԱcLE{p-ȚuǠ~܉C[=O 3,7 jd3_sL%:(%=]QӒBN[%w(I9_^•FbdL앫8T ݲ(K `ws,ѓe2s$:_FyB44tvVη:(ќ:]S8M6&CIUڗ;uYӿTh65 GDB*6'?4I$_BguYbs+5ooDSj.U?6G[`s>x,OWH~(@VGڇ"MwWMjd9+\c׃؁.9K8"j"Y!<  oSco=+" +uREmjRcOi- *(~-Ǖ=H_Y+{Ǟ(#D32.$[Wt.1eXO `\rf;O^žvU l}ma׫ÉN͎3l( N1qB䩩ž1DTtYkdHə49^ːk.95";q>|Wmy(-]5Z@ %vw^J?AlyWǍ[UJݐNTj;W"G~-nqsUpvX*llQs_6o.ؽ9.Xe=. ͈ G!(9N4֧fԅ8HC\#PK%Wi9Lk$bQIlϋ~8 9{zЫ ZP@sT!:RJH `'UI˳3>h)^^JQ@6}Sg.$)0Y/%.ĜZl4u҂ 2Iym}F60eA9{m{-"7}̷2wnD_/G8P-;ɩ0y$9 s(ۧQ2 sA "^\a]YN<Y 9n2MͤIb`H=wM,sT255$2N9T?ׅa`PݫTZfnl@A*O6ZX'S~o < .CJ-Hܷ%GI7ی|S25C%;l_67N>«V#X^> UxG1vu[ K^U -JϚTi_i&"A u8 `ݗ#ogZ"5H/S2KQTxz0VD %"zVi({8׏=(Qg&EU{ }p}-p$U7~'e# G6"4dϺ㴫~&h~x%z*b2t~]=  N;vuYq <tӺ4,F6pjٓF65MSnNEq xBz˨U"9bZ+S&_!IUJΜ]<,@V<ޡsr:y A6m(q2Y jvo0xVyN{3mddX0դLub5#87LiEjy>4aLg%j7x2yF.N5F0}}bn Nˆ)dP(J5V?'ooᶎ Bt;LOk%kƽ:('t[t,b-YC|?V yD<ƞ[-f (K> [SZԪ6sr9PoYdܳ4k+E?<)ɏN[Ի5jU>lWn bitv{!@thْxQ+wkdDnNx_5M/Hw'8"mA?UxE[S9G}R}dv"F rTE"k)Ԙ#-O@j9\(uwٵݱ :,i>ZH/M_ɽFp 4J߽TWCIcœ@Ez6,NZ˄m⌎Ңnx/ZTEbDw:bgBb.!Ѓb#vosVo~~R\C|SPyy~epP/oqhQ}Q"!mK< FV 'Eӯwc+RQCNFUN_x\ܑ+Dtb]cVU>c3%~sMAd!ǝf40PƩ00ù{4}.dHHmjwmKhc`_q VU=>!Xgۚ>fFLKR+GӰ尃|c?lNn\w˖)aؖfbx:Y< l~(mg0rCT[]3ݚ e7~ޱv Br2_#*eYP#cBc#-GD)w +wV!9tDw"7gNj XFL3=ǯ5rʓ(([#w)ɚ2?2SJNsͻug;)?gaghא[0v{PaMIOg~ ,k4$Ł|BT#qj&c3zOn5ļLmB=-uJ]Ҍ'hkvՅ$fH2 GjxiӡҐwS4pVa2x)ZQuJcb <e9#.wb1oQ(O?7t""rp!qWMn4ڛLzu}1ʠ3fcMC.]d"\?Ex|BDeUk1CZ'+1o"'-{iGCAnKqIJq!s0gUL=UF¨#{C<)2Xfb;O**۹ec7٥41L2qZf!.ZIⲫLQK -&2>)гlWfwb+Y@V.aS=>T6a&6K})fsy D yB9v8PvF#Di֊p*a}PXaQ8ivLD@.ƀNǟh?2f,߀X*жIϔj\%_ԯ8uT+E/ gujw\i_4yGOY-׌tJR?4$_Ŕ{+ ~Nu EYX xjB!6W^=%T֬Ifnxg"! 2i*qn| Ko8.O8"o%1k9tpd2y]AUw/ @ aa"1߹p,񭌇] ,Q3vKdTux0 $|00 (}p54bxTUtYǑHOQ LqDao~B)^2Ll[%`Z\I0SJ{s!2I?Kw*D0 "(Mz!/xHO1n"+&3ZUL~* IqzANd9XZܾ>uht;oL|ӷ|~*+&$9VtHף]߅ou/|y.j.)dn-[sgk"1b6qWqto7lr5S(uU+ssOKZ㟻柒ob\8v~/L$4ɲ4 &7V97pݹ(8G#DH̗q ZoCA]!+PJe)d o!&GYhrOpv3L)jft^h吪.Ɲ4gcX^9욲4J9qR[A>w*蒝CqȪWpX~㹛җjRxny93&B@\b.~pz4hbli:_p\LoGKe,2:$ڣ90w>4*|곭!&J3j܋md(8k[4J|[fg"- 6rUĈMS-:.<s< )%߲] b*7N6bE(i-rʶ|)_[6ˣ~ 6|=8k7;O\ GNG7i /dʠ0h>C9h+zON xso sbbpgjDjL%qoq?H#UQq/^&Xy{{Q8o ~ܰQW+o*裱u4I[S2[_.iCH5_]e-|+w,#jkUx!oLvO?Yڻq{)l5=f㐀 Mz9c@(b^tFcyܺ`o*ګ([W鍮A sb"φ]'+dV{9ˣ8f*zA{c[f sj1D siFkd~\%sww$4RbWY>;C2 _nmH:} Рb]ЦIfOb$3E0Ԝ?c J^<,_6?ݲ!2U{l'mszu.NM/T Eko_H`\q_{)<#KpY[;]sKIזLۯG㞣Ҵ$n͌Dc'}DxY,n5̳(Z9G{,ݮ+q^x~ʁH5 >MF 1(1^M^d?rs(P1͂;ycDԿt{ځilN,2#hVS +M̦UcIc$^~1 FS;퀎% u@YA>?KiٱblN$,/?vxΫ:ʺ_F,i%%v"@k3 q:}学nD;'q߂;d&cj'ݶ &Lpk(GήwX[\)Vk5uv~U2FAjvgۚ`^+=\wMϭٱ3Mu+,tqX_'L9dAŜٹS{#vd'3Al@玎)M~WqܩNMMG'ޥ=w&BJ$7UNKIfUzt\d- "QYߺs;^-SR;xTpBZNNIw:s"^R@4h_(A.v9.c%?YP|(w(f`]]-rR )6n'}IQ^L !Q;PH0 vC^7T)eIe.AgU3"/ݏBBM} gZ#ۚBizrdU]k.izC3w!y*}R;[Z|KAM?^j֭x;)9vze g 3@TG12d5lyVصY6v̌[gIOj(?&AΠd3u.ǰg$ fAQ~TI'jMg9_.tD}?&Cĩp֝-P m-\"ڦmxijAb(X낢+TS#úS鹭~ZQ!Íޔ'g#8xG=-8ᆐU\\Q+`oqX+uz=wS]UVLէg/|1ObӤyyNCA iFghH )%'׋9䣒.M|b1?$AJ [ rTV1tirbΞAjTg>9LuIGhdz|9y]Q'9gl{Ul'Kz7fU7#Iy KkGD|_+U. TNsPHc2*- -Wa[T[P1&5AM/̜jugH理b=rkdFS cGDDIڵRH j.l0wJ=B4Uw+Twz)Lv1F(pSHQziAisi]j[4W4N3*l(>}h ;=ả WF'<{̅gkH,򓂻f5<P*G'0 8KR↢ jɋөa ,<ytfo)+VӈsAbN217]$ -E=^"'mlthILG%)S7&r˼ͭ+2wG`T<ڡsf衩;)5sZ's곊R~IJZ|:؇֯o]yӻ O ]E-\UQ^ vgĤk}ˆ9nBFN6fޔfb/*Oj0.࿐&N$% 0~J`gQMkN@R8YP|2F̩F#Os,tGBK%G|\9wFMϗ#o۞|[5} >6tzKMKGgq|akQNν֡yJ1,6F$80g4#:W҉јrwS1E, ؽb;+.NXL1X[( ePl@Hp\K$:iH9`u&SsuDOjVtX(]> /+ ^hз6:E*͔)EKbpR, S?{%z1ە7ܶ X]FzN..zʷ :x2Zɢ=%t#6xtFp3vy,t8C>B.4E<7Kʃ@CiJ& pL9HmʟeD}ff4$(3 J6!tAIgM+;}0aB~7uc#2s}>!ꞯ& 2[8A֌P#r7ȉ?eu :"mLxcX2QL[V$9.ӯ\ X;^*>A*$jsI Z1 R*Fz4 2! oMC9"@iZGLeb(~|ZHU;_zfM5*_C*$spD`yZ&OE V ^ ER+C>0&²SԇRNO[L<͈9*~K;\-gAs$Э99z]Փހn+kᄫ$13Ѧ Z9( &!kQI6eW=w?UZf<&y;ߟӖ[*V-{_$14Zz8[lPn<]qFml/C/h$X2 l= 'mg"Rk3"GfD67=divGJ#"0'2cIA#4U*L(n|lȆ_#z@NWQPrJM7pGOˬx+ $b=aGTK[{pD֫{`S),Sgd.ID+HXQl} 9P!sjK \ O,Ey)VܛSv[ƫE$aMKMIe?ZRv{-ܔ$_%2hzӬ& - A =G].,LDIE.Sƀ5.$[YZbzcT͊N1ԤCoUX0JM} KPĂ0AIlaQ NU!/MqV,9}J$5&yf+:$w14! R(-6F;\7ʭvaʄK@!+((؈hhs(_R`a3n;Pqt+w^|6S /KH[-I ߂ڸ7_0ҲKX]&Alow\h"+LY3V$;UsR_0t-IGX}.pUP`9 ؜6ψ0o?Ii W{w KUT dD%C6i}+}ϗz4'Ts6i-L4HJABcZAhKtȔ6/.1ygs!@kF=mPD]Tiec"61dܹҗ+zǛh9 ) ^}HEz4{~uTLsef%yrr*m{\KT)B6)^/j3\>2"F̹_70!_S .|+Z"򘻈 Ls32*DHP5ĚXrטd]ToW T:C\[۔ ^i^Pיo %Rnz1KiݣRzwʵrBtD*/Mγ[E1\b2zs*; j'NxN ̧ٹO7o;Դ1R1y(OqcFٵbOAj/M+˛\U-qX<AJv.x [{jdhd+׻ a w`6VL)/wq-w߄[5T&"ۤ-O| lbYNdN?zd3]t|a.snׁG2&7)hK*A6vMRj"unM?vz&UκBz|F⎸zN# ڌӭ,FbP:naDMRMْ8Н+˭^ bQZ5/FkܔihAn!|寢_YhY Sf&S r[^Bv0gP`K;Ν$4Bg(/i'উ3brd2|.\O{4J>ӂ\afǞ e?gg)-L2/Mf{+f+ΈT)/|-5jێg# h?qݢ0bIX9g7Mb4unV*&ʃr\ &&X<3NzP`hYDn9RZNS0Zd7xP7O=+F R-T\QjWXE;LQ2Mb d!qeLJ$D(#>_DW~bqubi !ZUpH_׊H0n$blAb,p&h"q/6$ $ni*jl*MȑMꡛݹC52}SYM[U,Ĕ*6beUc0@%Bp Ag0Ҝknz |48,?\{_F3]Ia =-!]|ʽ]*oЅiu8NÛ(Ǥ_(w6n7ApfcfR 5֚݉([ç]bǪaKMTGwp ZFx-.=gknqGY90! ʰ$ T> Cqg@#UҸs)93 HLî0 QhmM;`Vky^+nn8>Hfd~ERZs*a_Renxޥ6Tn] por;\b/'$ 1Nԃ.3ʣC> 6#pf8+1g<2!ww֭XTe۰%Q+DL2ܓwb")JHµP| 3bgWX&8(Obyi1˄dBq70>>p?á"rͨA|sa_ʼX)'PlT_P,X6"f&)N5RWַ= 1ntCTdTG1y>o | &%Q4!b0(91g2H2~^<8WTQը,a2Or?M.RU)^ Fo? $ JԘLd!=]%lт8fR_ƶZ?^.d[-pi̙ _7_)jMvD{75srI{<=Mv ;%95L5iiܦ_ׄ阹~s3Ry2\Mb$Du_Gs =NgٚFPee^tyBnEsq A-m8͚D# Ha5j8ȱgKeV&N[=αݾEn|s N~'O ՞dգBx&WsO'X={6ehd]o%V;4QS+1Hb$~ET]k11!Q4Ԃ|r!.UۛbEܬ!BvR,C>=G1#7\n  7[n"*;zwƣ+3yeꚬf4 EJ1:$)|~$lix151M4\x 0 ,~˲쿞Llه0O_OǿF|ze~]jokOwV6E92"o$;-D d ;ɵ_[" `WBPrCDU`a - 0![cHWQtG$UvXVsŷ{jnWFݝl,gͶrGaNb;4]?f5?ߌE-KB[p]H[9qY5(`ѽjkʽKe|/b磞z9kfB3BI?t4C~WR Vt:- vPvƼfrQy|}a s>^{y1lۡp o/{,yޠ^z1J*n|B&u-km(HG=7*q;+O4fpЕgaЃ)NANOs΍CQ2I P wQĥ'6[ i p?`džW=lD]oBH|22Ϙ1'M䤕t[k!cL +_ƿVNZ h,r( I6N-dtȐi5$毨 SY<5zNewWW.>QHL%?wOWӾRLx"rC'YҶܐ?Tsn?5Ζڷ #N_ֲ8lGbÅdftYNg/OJ]ReB͎FBX0:d z0]iLsG? U'E1s J+<~IUz ,#( GHzɳߟa=P;?I?&H Ig a_q?@{!M8 8F4ѫy!FMe]ha?Ⱥ׏hWkpw 0NnN^U} Yqlgq2X5Oj ;襬陳o a[#SX?}\P78|0v#S>cetWT1uO'NKLs\VMn J¯WM3<߃ࡷW n`:nm hR#pn[V&ks$+ӽ>VRMoel~+qdRaϙSj-i[ʾI-hZI~ 5ǯ ;,B.j qI^r?CF]vJPJXPdN}X:PKJq$qW#Pf@UW߽sRBRBӿE~x~x \c\?pNNLzmpo&6 HSO\J˿w/CF ~^S9՚u>6dzo" Jq{J~4NA;mP?M\A~MMUq1#u[gΪH9wkNP~X^;+-a* [ W_rIԽ@'jt\YR0"隯spRxsL'P\a%`x9VK'8FvYz~%m#&MJ!mf_\*nO^Dk _A L(_QkxnR۪|UWI\8 ۈ=]Cݬ☿Yo7[ϖݘ a^Dw1Nqe<7*qG2bwsnkklcMz[i4)f B:s ښ߭D O]O_7Cjs (Mk3+o^"URe 8˦Sq(yI$dm{NLL4rjrrOEcm_@o݅\֣TgZ  eZ/*i-mz?k7_`6h,ZЙ1602W٘@Hʡ\Yha~$*,l7 F|s!лA]'YDWlcf Taek(Y:TQf+xۅiэg_1yqI<džyPQV)fwV:@i܈* KچơAǬ*~?x[*k&j0n1'ݝg,mh 䶨oǝ_ltB%'(h%76\b()HUy70(9lzb^9l, 5D0#sQ =4e"m&lOF T[2Xoڄ?,8 us/{oWx`]m .uG:}[8h R2)+*7`n {dJ&E񥬖gȋ'Rrh,_[.fVzׯ.s/KհͲ5WZEb>cBMӋ c9u:6Ƿj續Z䬖1|jz37[@Dƨ=;WX҄T/iOs,n'#pþm}61KGɉ-b&+Yl8dz-f]bUas| ƧEP\͟MΠ_Ubc 7kte-qu,yzMǘueo@21}Zȭ\4%#Lduz>aC+ a,Ac2\nhh o]4hkk5f=%fga3ai'np+enC$^ ,4?z9qaj^Ԛb 9׷!8 KIf.ǩmw4W0eBÏثE䝅k!.͛ bҦ;85|Mj9 &tv'rjGBt.W|A6گ֔G)'gBR8s1$Rհ_c69M޸s*Yڕ*!X Fb s j;Qn2ento:LsJ[qg2U:ܼ'm6\ރVXn͸ۧZb~ry/`=a)RQV)'&& 2`}o VFnNq}`y PkEN-xʔ%עʫʵX%^.̭`šT_+5w zUo}f4ql܅Sw_ Ӷ\$iH~ &&R0Ю@iUXMS|=]s\[3TV> d,<“E(rdtTwČ;m[lrbjc77 UŲ3}Y2)E'j!V[%!{P [nF'9ʌ{vli |aeD̸'B:hc5{/FUh $$ Q +֏XEϯ9#:t)zo؆;Է쩇/E#`?z ]0 xkqpjHkaޟjrU|}ܢZyA=SZL cpHuFa[r5A:C]c6~sն 9 hYҦ;$5ͮYxz1 uxI6)Z ^NwFWf/nmt[+1 o oe`WqG8SH{#\8cl@[4f5 X0Z%+!ra^MxXI#/S'qSh#U"Fk/&̀_ /(raRRnV,}/Yo_TW 4ȝcSLX/3Y@k21==MK'vg0}eiie f31635sJ(\VeHn6{4~+s/[{6Rvk /|,)Km+T342/鬅e\3܀bUnz41Z6k4 ?Ͳc59+2gXj_^\upX6bxq| w <,须G)UHO\e;s㸥qt*?wcA~-N-E?'v5 _)@kR˂<.5Ra6 @vU9u4w-=9ea^jl^pSu,BGu.3{){&h߿׫]Y0 n L5UTPx-^ =8"f^]A}/C"es3ix"O AW bȶy]t1%t1ŠıؤVzK4W^B8)uEJ?4 0djr>2:t=:|aL˰" ^.+-9_ E|;Jju<6u6&Ae-p>-CU{b7+KlB"eHBjDB۪ur.'* ~sU iOg^ hy,ݚu3Op5jAA ,MO>i:kZȓ\˘TVqs.U-i- ʣ•8{8|k.v#&4Xe3Ypv-FXD80񭭊η+ W}_T1 "'#r(P''$yFG|yk=M•61V9SۥRo(lN0Kpvw3 Wт#܌G"MYU ^E@e8!1fv`RDm |("*d\4o &tjG,g-R^+}2PH*۲0Y9KaHbߵSdg(y׌hYCE+/FQu4{1jM}g!Dyhj Y*Zx@Cu`<ܷc;ĩۡ8 3/4Y9Iu9S.*f,߅6*풟yf9fPGX1&ҒҘy\\5L5%DK8Vr\KV1 op}{%c/C:m?;+dcq]slCyn@20U{`B׭DDrB/׮,>'.joX%Dt6Pߥ93[;p} D$kǼ:igOgO0WΦ&u㫶~5۱4XCԾi{qGc^Sy'P6{9:[3-ML'ħ ^ WDahuD1zn +~qQUsE|;M FE-Ɏ*7k\ |^  w`ÀQѡF>aki`h5$J?StR|\֛PLЇ`CrrtK#t BCrn0YH8>ݰE}!֣\l:-I .߶b!(8'sS ݽ ޣ ,Tx/Ams2ĺSa}Z2.Fj;'uIiNIkʉi!9{pߵs7,vuxC(W]=I` &H䧮A6s/bH̙.E#HaVхk^/8D3bX_=jULyg}xk7>&XRԫVox#fń,fS6 <]<ˢB6NIj8kՃAzҴA6nzU @c.\%<ߴa@;A.??:_d#&`'td [+Ε^W.ʂæ,i!|(`[m1y_ v1z|tms~?v3tAĔbLq@iBT@9RNIj ބ,6st.ч0Dߐ;;6BwDWZゼyzg\욒 ?XF}[;RVIr3ZGjAahKt&g&}7ܞ] r%Cڳ'Yx'ν|Cky*\.s5;hb,E/Bp ZP0 \j?.=+f׫HӼ&%΂E^$;ʛG$klqM~,QlM\$,$>Dx5aə[(Dv-vbljuHI3ue|3GC^9 3(Oփ ?\ a$ R,$Ά^GZ4 Aa4捥18G :mij;,jvLu(ʀ_{u(*&gO xW&yN6熅Iuiz|̤l-G' MVW}#S<{pi4~z Uj,}(r0)LSHpHv+bX׊Vs_A2QֺHSSw,e(AAe(sIKQO4"P2{-Ad=- i:wΓoi'2r4u nJ29`^&[G*߁\ʪNذS^;IYl!U\]YUd1\5":z7|$z.f[j'aW$݇| Gh؉-![ý_:IurE 9(6׋CiSi{79I?ǟB?}`o&n+hem}5F݉ ^{sSdd`7[.PMD2[ ;4.~╡ Ս()O_DKnIpۍq!GBA5+< LnrGw'D`˖."r&YųWGdh#8\谳mP(8|/"jbn̂eEb_ yּ`@SCL]eÖ]鷄*N̓~z#llNlg?RU(yoj*ha,:m|R:\Oc[iCMGa+mQ0D8>?І_X h ޜ,L}+3u۹kc>P<';s,7/("6*9 хoBjsNeٛf~aL/SG4+ϬeW34/~nPqf:3^ئ`z#@:&5|:TZqXZ+p3V";* 'OhT 7)]/W՜ׅѴemA!UQɃzggKO. )ߜh #lY eD qd龁,h! n?j{wjj}aM<@u")'^ t)?*h}H` ]M`VuB-;Y;yiÌ\6C57*s: ̄e.{o[|'X\z=δz:ɮd\s*H uYٴ- G-!xP~C$;7T}"\-YY U tGD @&{r"SBK51੿ y 6Erņޱɠ2|FV!D`(F߫]Y@Y|_ whD`B>K|0e&RP +LrpW7 _GaKdk܈ Fc/"\?hߺJϴ>AժZp*GJr^ǖ᥾Qo׋Έ 2WjE+1..0x+9Rk[MCa{ MMGO"L*B5WWaEoKYјXuaYV0f Ȏ28HAE_ o'H}VAc'ٗ84O. .Yq/po$SX V J+-[GRy,:fxX*"׮:](_X*M@@CݒA׮*WQLE%Eצ!VwZ]7ZԬ;&1=ܒk/?G_(H;gQԫCWQ 6QΠT&r1FJ4+k-- 1JD9$8,{8vc]|$Ar#i(Mz?V 10;Ɣf--1>+ ^!n6跊|a6`j }궪z`(B U>B)#gDtZp Y7UdkHAQ(#*|Կ\&:ԃHdo;mND/1$2ЦJ x>H.^;a cS57x1="sp-śkTdT6рa萭+g"O6W ۢWoAheTJ@Ff+p;3#H tՙ8+/ qEXzΎ!hHY~~a=!{8:c{rC40W#U.iv%A $n;/U_ KIa!*=[ N>l2F Fc5(q+$LbN6 ⇓4 y^ 3ASa`孚FԿ`>:q! To_&y Ǡ|zN.>{{!yNI;`'$%=T ZᘑY ^h7kɻ!hm( ~@N z.xs8ZE==*<0[m(u L4RwMw-U  #5-FL[%ZI1oq$|ucDŵ.`coFqaL՘OsY־wtB'n `T1y&"Pjc}yU-40V\^Q{g(M w]EZ#n&R(xjӌyp9` AoIEq61tge]RSb<b ǒ(ġehAMEHs_{(.]a+/p -*7b0r-3u'DRï"s*aZURpuFiV=GFG$݉ z7B(c:=͑MGJ]ڛ Yyai?Ьg72 }ޝhQ G+0Ky&H:>$`29!aM#C5Ͽlw=H`p |nB^\8U>P AQrƒK# 12RQ(YⰙ|.2rvAyj!HU &4p10uȹDFWBQZPOq,+8BdݪaVqoL *#{Phu,(})x E|͓=}:h8Æd,6Āa7*l>BN:.P,WNR~/m4 ~maP~Czظ<`I{mfL9 kJ'°OcI>IMVͪҶE?麮 @B8oIQ{ן7OܜTjnąR'xqv=lSe ~{&Ev,r #6>xZgF1*}P[F*Ӛ Oc6ޠ%t#p'ƏӺ>i%*?ߊ-ǪIY|—q}NDIY4z19 v0 &~& ~N>)4u Tlg NaU-%pptKٷj4{`i}ixqcj]jKf R{TMbzџ/XUzYiӦ|i{XtaD\X+^;̵lfUG<%G{~z5'sk׹W i8PK ^r)4ƖwZYPˋ$uhU< sױ$KrY/'Npˡy2V{$۵gXy\ oڵ}] lhg1Rtѹw[|阔s8vAY){NOymwY%gYv|seYj9X݂\ž)Er䋱m)Z޹m95mwб}۹ ݾѰy {4kq,tXuk;e զV8q^t{svw;n]uܴlқkkhEkx1?rh{䵵\xY´mԼZlHկtU;Q`=V{m9w{'Y}б˝}&<{\5iؼwdD<٦|fN]*vȯfW3dt-ja\icQlAʅX}J)a?ǃ}xF2!ZV-0 xr]0.QN)Oxd՘vwd&'UflR#u sr 7綗y,?s)DFuuwt}ip:cb7!~Tpyx43HS*\%e$p֯n(Cy%5GvLv=a}~tϋKX,^^uGqoe"jlbh00Qoxp.}?<Yŝ/IU2}V|ӱ*xtu [/_raz֣Fhxqw=90Zϫ2Oy)dx4vvɀ.Y譞|(~L;:iT1=&Ttb5K\S_;gt"]r!y~%'b׹m*_qF2">_5;L{]ۄ*}x\\H ~rnݙeͰ&wlE_4gFMo6W:j bf9̭(<  2c%Y*'^y`yܐSGK&sOA7GM|sԎ`&,mV</MCZ\&Pz@ɳʻk9 N1}4bnɀ]PKHޔ G9s}զkW=:'d*.:nhpv ؇t? <`5^x=HֶVC6n@Xw6Ugt9#H3aX+7v7#wu39o{hm'#@~`Q}}C6v7~?0-sY[dFAՈIC H-wƯ[gl탅'ImӮCVM5l,)5f骨MU~V&jZf'Ɣ˜yY_ఁ?7޼5l? KGirZvgjFkn/ԉ@~6?&ۤTFMUtg듋 s4gگ_ԡfGqdQXG*{!hЧLVFhŢݕ=+qgWM;&KU^%}SM'7˖,ۂ95"i' y9…3*%_jYzݾv&᭎/P6tجʧZS?f݄_DW /W&,;~v::s)t'v[@3߸Q ܵ]wh~& SBD=U;(\@mHʎó-:5{?ȸ3w|$ 7f#(T|\\&@cGZo'\A$`vDi3;2ZsZ}TQk: Y5)l^nyN*"-:Y,* =vik-B9t:M~6o<uF7.&/hN@3-!X'{Ōvdjy:@8IbP/euB,I+AW6e#6 s4>4F.&(ʽ ?0K (90ۿZyCĒKD'cC\TBJAmԓ`Uh"FjqkB@:ޚ-4`b /9_4d26/J2 4mpX3]7,fFgᬬ &&DqخjsNk a86 ǟA%&<^K!Q?@76Al[2ޗGᆁj- ϸN9 b%&T5 }.+fB'ϗHxgR˿ +/iD)~w<./|Ƙ@`_ 뚽|EhWtPc)yѳ#xscVNcv*e|_ bzi v x2[Ȯ8]MJ3(6Bp ^ƪ__#Ġr^ꋢRˇM܄g? HC#ZePn6&mŽp vN7c Y*7L1,V ~kIGᇯ)'^@W<~xQ,ȿg#,g˖?ۿz`%9:ZU+{H1$G "%;P: %m&nVyǒԈAucu7\xG4s vl%Ճ0~&I8+ `A>ˊq@+cAOv*\n\S&|4q x50mBf@QG($o*C/|F2֨)9dFbbYT<ҽŭgvTilW149o@6b a7mW8"j_۟`v@ oF?ij芪 a c9O`VqaJZqy[3:2Tzv7' g \$;5#ި' ?LN!zW4T*4ɩ#WaYYEQi%ETn{>rE&8;IX'~zn?~c>|~de~ ~S5B&vہC%nf=߂m ^y?(,aUFR+K: 7f-;xmd%a-IP?YHW޾`~J}n_`"5~ؒ'EM`Nj#36=$q@pΚGh:~6y-,1u[!PorDyO{ɓ/la0^,4g0:H4ܙhA"tm\]$`xuw Ox@ݟ < *[Z7#as.w9LpFK.Ur-K8S p^53i8W]qg)@|櫡yLQͣf'~[?wT dU{7yAh،˒T ׉JkerfrMp3;f,gvz,ɛIOcY^dC7SP 5yZ:RXiޘhl׳ X}]BM;.<ۗQnnɑt{t>{<o+:єk8 ~6ut1uc|}s^Ic}0h*jsp#S%B_uPi)J,Q:''\eSzW;e,!@iqX:ݜОWjcADpè#w@bSPW#|zا̼t*\^!G"d믟9"2NJP3O9Wn^mo-UCf3*>\^~e7lbK:G1͞tx'ݶ9MO'?A.U6E7ɬf+_M-JnTc}"ISFmbBTL\Ík~M6B,xњUZ7=.MF@mNEo~.,1M'[/[Qoua}\5S3#sso{y۫O^R_ɶK.M@Ԭϼhe}M^F뇀cAy%(^#]qZ^ퟞ|}<:4-MIau+fی£h}U~OQg ܋= ưP4zX!I+/_pݱtZ̡I76O7.I$x `\hHzͼg#vft_GQR{!@%z)5ĉlG7ŏU's l'ԇU%!&QChGdbtSlBI5heG8inXƂ9@}vV:mHoSigV.מ)|.1vCpoa߿Ӻ, ҥb(Q$^+^ NLfnV8ɥ;mr?T^HUB`)\ 1 -P1+% 3B6z/i2_A f-v C$[{c)^DDZյŃL=X9K@X+^TS ;XO?=wWg E8sljuTݎv=NyGPop 즌1]܇׶]y| iL}+7٬43dE;U21"OG(D܊ˌ5%ș={Y M M7. z^Q9xqҩb% *>{ 7l.ǡ=con?PC];씗"oqĘZمiDz‰2ǖDE9'ZW3knC!mP'^`7q2, 7칍Xy$YbrAј6N6_1ig-jtv,<ݻ5GXWfz9ev/|#^氾F"0,8Ѝ0e18튨{\A3mk&߫ۯ`,VQgJ9LU^`tjt"U -@Aǜ.6%^` J6;LqƻvPE IrZ:\b >6v|JLBo )dڙwRzoإg)5@l5gZO޵Ue Qrz5Xu`t^87b~ .AlL/ ke i<M71&&'{3ǙYDŽ{z+mKnB^GSxB%/> Zx)k# nre)V"7TZ::1Bsi}wU1z$D~%~I*gٺ.אT[^Ф焿gՄ9[ha3N3@^a;nT7h)V3~n;CPM60ɢRX>#5Q[Z-v߶DJC=Ը}ā)`Cܜ.=# S+`Am 2u<ΐUDEQ]>N&eLS˪a[&7X(Bm݈4ISBlj%x|nArzٚlT*M{gi~řa@kX 7Ak E0> %tE$ν"_ Wo"*?"Y|;@?$? ݾ|~Ȩm2/úφdD)mnY&=VդuqƧn{S!9lJĮv-Fi/5:(ZVd/(Ihwp~)yk--p]WhzuY|^"xX=4`9ك*l2ڔzF^/Tn)x^3!ܦr*6.xն/MK k^ƱƴyiX]P!9;?``؀Dh4/cm k]ӴDUa\* [nR{Ǻ{Eԫa1X!.2LڦFaY.:I&]c_ 'rp>3a8Ѷ>3xM8}{)e+wZbR"#Pc]92>Ciծ)>B#.ƫsM݇qEOβhT2s7eNE}U$vI2D6U6|N䑗M6< l6pHʉ ~{]f}6yu3y&iw\[dbjeQ[5!?~BklCN94lSs^sn?җ!I)V`J'-c֘;QŃtlSz$K43L%>nvws=II]0, ̻1ʙ#m=0e-sՍ-;0X>.}$Y#=WnR%|/D!w-j"n gtm!odcb oB:hyC&tP=e i[lj lLNb:W5u;}Wl}꾈'0?(T'S4B$ztf0$t~w |MƵl݆QI'Zyy$*^6J5@8׺a4wyپ?]s2}U 2-w=2FE Pz.fC<ΦcpbjG0مؠkc0ʰbO?N4<\b%r\_2F9þx =b7E\r*/ D\n?fZZi}'N1M;oݬ79Q~`ҞkYB8 7^_UFeyjez y̐$ojCXfR0q=B֞j r]xwJ]79:jNDO<> ik$_%DZVIV Zm))] 0,!\.yjAhtIbh׍gi[GˤCpwV>pk9 RyZy1Uv7X Ӽ2]6"DSy|@LmK F?EO,sIaSw^3a#,_=ʸGuO|nZq @t fY`\6 Ԣ{դh&J,f $uaeMc6o3"e=\{Ǣ^?,^ a.'snvuQ<"^!݆ްalIQ'µKbWvNe%,OLNo!HǴ9k t)1 0qpqPSxs8>HHRL]+:~iö'_ʾc Q~ɫoGBèHKuKT@;$x廻rN]2zDMe_A=.|J0_m@MD]V`Po#ʨpt\$E)fU7ntY;̦١h\@ꬌ9h_];(]= ڙk"ic2ux^ۺKN~Nuws1y T@_/V79*XV%ے`T{_HMj|ix"{Dkwb7)=aܬ| !\I8cEU`) Z~ݍARomR}߬x[;Ž[$91wJyWT#gZ2E#,+y'g 1'g&i4cBF^Nx bYNj1}gQ)ʣc5]h1+ #K@}*@7Uy }aLn2nAR [ƨǒ³s8  y+Xޠ. +RĞJwF)*EU?پ2G3$B X*BZɚT]%,LG)0)CAӲ`]WMܞ]. ϡ;㦑4XjV]j`[9'FCJMvd88EǮqavLO4Ko6Gg pޕ}KOJ8P`tjƧ?%xZ *ڸ6u[)(6WL^:h UN(v[MPq?)n wd!&6"s6tJ'X*>GɠA"NS'fS{Tr}.FnRNw>zk2#>i~.fdI{ٽ'}14o$M.%IBg~ZNL Ih~/뻛gwڔ S7,iU`gZR°SqNc2`0a6,N[ 7DZco;n^$i2tXJ+ 4<3`!byUЫ*譲:G6O}M9,ivS0q~i)EKgA8:K_u 퐪az,<uk xDžܭZ"0 8(jB0伏tdl^*P.Iz}R 3Av4=2L'W\OG@}. r eqv @kh L7ek!%@U 7N Rpރm 3T9 u_w US Y |qeu-PnϐN\yuwM'z$D.!lH)%:`Tt-3{_9}ݷdJ97BEʘ0$c-]S= wk%|5j(?Y?*yj` QpcÍ|F*`*vE ׈pU}$;pi8T޳Zea;Ոk%,b{ar]Q3hǸotߌ- 2 2:4h qpEŠ"n~G50IH;sq73 cO}цsۏW͵G.D?F;-4J9VM@/bVյQ/&ԐȞލ7ghW F~ cpՃ`2z*pE\vs]`鋝>ajю2myf%5{B`{~: Q m:e53ݥ+ߏq'2DL%mb- S\|  }{;r!*aħpelZA`@[ΞSC>QG2l^8 Qa%wrUɆ u36y]Q*u/NڪmLFg\9,TM8z%z@ Y#T܎mۛ:qVTDex}jC!}%QrkO<ոK\=&r[E,aV@OjEv.FR]} f)3f bP K0_ެ.`WCZ^#&Agˇϱϱx]1ovʛHfsE \3K;~K ƫ[)||FD^S4i-|pq[m|##ĊQ0M Iglu$UIMR'%B}5A=3 * W`l%ݝIhZ%#t{f5\h}"1c1(ʉ\G;3++Phop}]vS8WM̉ADvOhe"d~۴ f{d׶.Z#KbpYZgyx"'B\Zj_\S}NY +Fj']gĜR$6bg1$r݈.{u6$wژC3on8ޡ{1J'#ThJBNN]D=9 Ҡ=pknZf9Pn൲_k._^1rbNJ{'ٙIqx<:{˼8wM8k[ ΄vq ɰQLPRȬx$vcf`j'?њ;,1 xpˈ>?=RLwj!"eZ~g6FFݦ޻81wy>Byc%h5Tm1K+d+`4:ĩ\NQcFLfY-4ڪ<V>1{Z.X3D(o$9يߤp}t-%2nwcoYG ۑ҄I86$w%:1iGr.='쟍hHbGuŊm,,2)>ozQYYYxZ|J5u%JL-H5{f1Teƞfzrov}3bAᔇS -Op|<\g-Of \2+Yv-VjMh&9\25i@**YhBN+YF.LO 0$N`^= 9 q13WIǘŵ21. , @UM@  ~AMOi%)hE.0_Sfœ[q9+x{4l4_ 녾[r=P}Y@k*(X3D>Bqc (2;Ȋڿn̏M^߶5_9+FH U~26V8 {~p 6c9&|3j38 \gm#p|䀈'՗CwsQ2?G߶.C͔󺔣lh.ٮ5d/澂0wxYV DrƲʕY{Z滲T]qGX4OtwV>Tީ x|U֧Z(eOoR3igu8yJpTd9I>Wˑ| Z߄5FW(tDsl`Z}VͰ;֎x#ox̗GP2TE 8E,Of uoS]dA͋>=ZZ!tz#re5o%i&N\8a6Qɼ.J"pdx#!Cx+j5c;j}J*Fx@Az[WWo}ͅihE;TvϿmi5qlw?`]Lt2l*Ǥ͊67n^o>wD|wy`{V'ӮOC^~}UAP:QsܙR j`}5st!}BsHUxXoOH,hG#~?wVK3EV-(W3(z/?|}h6zD@껗)RCC TangrKgjsG۪3E@8ޙu5ȵ%︎ W*Ö`i"<8Bۈ6Ǣa80dF+t3FI ~YffF+ck`i[G͎8 ji3\,ZФߚߐbB$hh<oc 乀$yqZ۴XAE"gqsOW_j < ]H~-l̋_QQ3%nkȱ f}exyP̏/V ň9H(Ak,ۢ+~íӼ(^aop\=3:#<ڡ;g$\6\-p5|(fLݎBY>fcŦ" 7.@Vb`۬;rG E>mCZ-s^d_GzXo軷L'P¬%5gZѕY$=^qabIZ^9ρ G  GGKi<1?7c߅oߡX@OЌmEYG!elGD"^-DZDt~*4Dzit8@`[F|,d<:d k>]PY8z1d#vDDW޲{gO8lr*Y(M7i]^yC7LWY/56Սͽz{_Ot!#ɺ6gq?7bl䩨]j qTr%:~1|ͫ© sk^tUq_byn9X f ۡ bu]guqtbj 9iE,{q5No"c:>&Xu8Vb:dQɋ<y׆:M9XdL 'r"ŀllYDsNL6rn [R(2{?lPT莌$9#uvz*M: NzZq<ʙ]A/a_Oه3XR&EmLpē8 .:Q2DrI6I;Sd7]wL# $tNG2 4{$D]"-1{zJ&& O'lEa|H0 ty@7 E1Gf8˃]> =-4[{b´k~s5΃.E'̱Mh5 a^ &0d+-?AueЧuP{=#.a#̀U(:+{`6t^ y3/(P3>TwG Rv?DdA_O@&g4/uMhb][gb*jˣ@(Y1Inc,6UN&#~yP|(bW&UÀTXgRs3 ]C^r.Bfնc5NTzꊶþq O"%-ϥ)\`].H$^QINKõmwB4MqC4zhDRuV30Eq,Md}$}Q3M.]/G@7l>KbGuPA1;l9t~} nJC6֊89D3V0w/̇xmSc68,'cV22t!0|C9gpZ'!2/$Xeẖ̂v "Hd!Ԍ;6bUfMѕS޾堫akĔUIFrt$o3?ȚMS&G<_6ݾNۑA{]I)yhQ\!F\ G%A=fo?y͇XSsER?n@ @_A }9@r34pu.U_1| -3Pk$@(']?|hp ?f˷oz-4Y=j.A4n_oL'Gq"iyrMZ];5l[mGZi$G ko¤QhܗGFr\;louPТ_uy  ^=$Gҹ~]1J0ex@5c%OS)x8D-Y3=fKlݖ*&M_(& )12Jxum;fbqۮnϝ:˙u֐"Q.Qq YTPP-EMN'>wn˵GֿF\͂Y~˝-l G ^fkdB ކfB&d㊁z/ 0$ej7q[$ਥK-gE.V]W8ɳʚC∰Յ;@@Z0rt<8 טGl7pMl0 st$ ʷTNɓuu(gNBʂԈZ=50مj~~٭}W{dUY٨:q*>Ϊs)naIrcpyI)HtRg`:g0Ő`Sfnu(xig/92#Om@i шI֏ۯ*Qy' #kr~XFja27cgR^5HgjWmsq4QdM1 }dq~bePz]Vi PjA> $o b賫&X4mOt4\T >WCV*r_WeqK ɬoֱL]_ k!4ڜXӿ҄kl-04ʑ :؆$PyDׂ,]/kyT/B+BA_v&K圁1#AiC z1L3Y:i2c[ͭYxwBm74٨bW$ӳTuAKSsԟh GD޽+U " Ȟfh=< hx U"Cqu=(HZe*podnwu`3 Ry7M\.^ 2}c6(^(ÑģNvo+';YqD}-I$8WY7qxGi/}q3.v+0[j[?Ul!̾dC1`NI,7?n`Ajd>Ch=_]8 uwRoUzI O󁪍ߐS$m4p.w ΄Sgna`U4+C\K5;B v'̢@ߍtid9uic~+UI\c܏qͤWYi(d;)7^}/˜M $?dMwi1r}./k E(V&@-JFf'U:Co|Nk@YM"]UwF 5Xs0? AH"0Xwg@^ %m^PF^ 9^8=y+c=(n &p& `f6xT`O %V c0 賙-{=W8ESdn̋d. 6q9t=DȢeDIfdO`14vلW.s3" ,^n}ǏOԖy; @vmk"="3Ak,h E Eofgu/T }Pz*z792WӗRp?1ĕ+2IS"]Sll3#. ] B4/w(y3I`ya[,] uRX@_+=~#}Y8 Iƴ#ܵV y`@6&"tnbpתCsiKfeKa.{w>CZ;ɓ9:V6Tf v̷д$7y8Ey +}\߀PMB\rE_,.;;^6.N' šsyAG DCm`XV\_fA"mf_  f`7<^1u߀EPkÄ8Xr="J+p1cŝ@QuAQ2ҲbFCݫ\K#_\t@K[IZXOܷqo*OܨB&yd/M^mTh~:駜νQRTVPLybMC~.U5cXm Gsyy0rdHrg?tP;3rLB03B9%uDB~_4c4r`} 3RSD8a#Rŵa)ۂv<tzR7âCz碖G-5 ÷R&lpuÓfN$Cιt>o=a?= ^[YjzQ c@yVx^̱LРO0d[ M&5{d\j-%%-fd(Y)c׺QMfJcsY7g˴]qӻ2B}[`oTpdn{Ƥ~"Hy$wO+[q)){,%#:0Uhm&3sہH̓- @Ya#.w:\}|ẖs7 ;@pȧgJUUhVU1%zn75vdJn]EYW5܎Ǐ<'.a{h(}Zx'-yd!/kN?n=`Ⱥ/s0M%"ZHVi'o%+ѫѵUq[n%mfD/"*kQp cVA D= uֿ5F"vчv8ם-Ǻ2vjkO_}o܊:t/A^/VIGCe^ʼn,%Epogiķbpf.y&腀AබT=sگwZ 15K-(_*jt9WFj򌞷uFӎSOָf;%4 y10 G4m]tDЃy% }ҽfh+ HW6  *gO]zCʃd|7W#+oF%t JHA>`rP]w LPg UJǛaw`΀V1eH|~l6}fP?:5%BtޠpMtxia9uBnʈTƠy *OF+_\kmƠ`U.RE?P1xK?,5q=I%C}VR4$V}M;==ҧYSgT,0&h*skhP;[޲)QTCÁlXJ]0Sb'g'D#ԅk!?PkmO?V9T7L]L  6J6 H@ F/+wH~p[>B#l-ع7h)Pn?udōq@'{ 67sw%F|G=8 M{Gh:ME )qf"aZ6t{i׳atAZX]zc2皁`V[?lbF VtdahnݲT=횁C/Co"0HX5| F\єJ1~ /^YŤq)ewsϦi=4*e*:g1cpc]}0 Ersmo@E|X}nn(uŃf4@.:XqؤQMR^FA?u@G]S(AFp2EV)ڲcTqҺJD%vUqqrp)%h܉~)~Fls:ME}ob)%#dL p@Qx1MxKWt3tݤAocMד![e#6 *iBwDB~VK_\y d~Co2/h KZ.g]Lj@*\]֜myxW$O@^>UK1Dj2HKQA9l9 sԲ}KMY?&W H iQW[5!5Ryvq;8iYJեj|Z8X[w_!T>=Vj\W=$Ojj%}45;]_ nN ICls%Z{Ң}{5Vs/իnLlO%}5e27,'EWڦ6߇Xy_}y&bX_:E WJcKqj:t~p>A#Z2/k\]ygֆ4ݷgLuc{^ o<霪{Y5pʟE>z>0~#ɕu^ **=9}Mb䋟VWzd8|5nͧezlqCW4tk-m60 ff<h2ha:myyj?`h+2Lv>lЮR3_3}G)a_}=^rқ m)%f=TMaZFc+Րkt- Ǻ 1vSJ[bn쟗߬gKB,2tpnxR$0;s|R:פWKctr+j`oY+/q%ȇN^TƷx`YWQZLP ځ'gzJZGYj)+'X:Od|'E`QTtW#jxO6L e[.]Qӌ{=Om$hfGV(wNNc&T.pW ytɨeDƀ!Y]|m ]}Zڍe©qE*\tMŖY:ߵ%)yiH_zSƁY?S#KrV|xvNg^?oWX~R";1\ o{/ײx}~\8߷> S=sSI:5x|A'XL{]I[8٫].eG&OU&}{y\[H+PuFtc|*H[]V4d\F)G 5?m <-0?,?,;5q3'td5%!D+lȭBZJ|Mkt;w^6i|3LY(eD^g/=k(xR>K5Mu6Mܴӏ[ћ"ɿ&iC1CT9Oo| 5Yu yj3T0OT Ve=/MZTgU-C xVot8~U(oFl#RGfVJg-fV=˾[de֭SThҖN_,hQKS}uy"ݽ/jp(I~ymw\ݒ䥸ޣ2|s"#{?N\>3~y;8=aVz`ǩ{ޛR3 wj=c3cMk//<od*z~}DFׇ̖iK#n^;-YQM.N֔}VޗR&EW(﹏z.Ntտȫ«#7~߽?aYᖮf҆^]9 q{uq{x<}`"l*ńG,[.&qԏ~=gyUޣW>?S.-kTKgz͠YHH㿗ϱۘ祙et;4oop}pދvmܐo}ؙNn+ipK8g6mc8,zO jwuѲǻaPe ל/_zko {RzU] JYT9OVh䏽9#EMNczevwpI?Uxg=(&^J5m8xi@klޯ݆C 1eĩ׿xEj|Sipd˔x䤸tQkeg'˱ggO]ek}"Ҏ,}zEҩU>dgЯ\Z[n?[Jcf{$뻢 ӽRGf7,9+AwKj05&'XwY~X4A ꨔCEEѵruj~LgϹHՙ ,Ly{-:mO{ɸYJ7.B*|UCny[er3t^ ) n'U ҋ=z!/y=^ :.A˪wVJ`+T"u])z´IcІhwӁ&Msg`~Yubac;8NDLOAB?@qGMzqt-M+sE׷Ǔ9/U}з׊5vWF>R:"~9^Ґ|e?=b x8sy?q>ZLc䗬}LݼlϷ|uJ?会̹7zNpGήfH2͛ڨГ^UOKmfu͆:~7\3NJ{!K_UY}68F#DQӷsԼ 'OB_LMFysDWhHoxcla;#o;|ٝ6`N& *~s"GϟAi%*M%kZX铞k0{p!}.BvOih=SxBi9ΪeP([Ƽ[rMGl7YR~)jj^ awoxY[6rMIݷΏ:3>$9ꘛpHO g9۬U!7 [6zT51ǤTx3|[O2CC\Mq7_ &q 1ҝeDV ß{wSU\[n?pЍ)cjF/܁,wѣU>^E~;owt"f V$,U$G0ż1b1y{҉L{cS=2$n{ZCe87^M×$fJ>a(;}NG{zn]Û5cy<`8kMLx 0GSkܒ}6H[Ok"C"{ӯGt9VWCօ*!WhOHǽ/|ٱèNEؓ9IwՍv2w9M% 7ׂTd곗,t]z lj*tK,MfnfWK4h4X'_WL[T2]#? HLfTe?IRf ;/VoX}\<v]%|1eӱItgph ͐j2\ffQ+W~x>CwτrgB~5RFHۼ H5 J2$%=HlK~<)sa"A7(. RqhC&dQIɏF#6HxH_F4~js z67Dw@'o8xV`0~gܫ~@yG:b4N7o\vwGO(x]6uZqV.IL֭%i&uUE)|Sl,Ey^Iwig*wZWr &yo mW{a=|1t/ƹ"g݊] ) !cft"+/懯* ϞuNԾ[~&1~?{4g\8!˨UAN5E u|}w%GLJƜ5E{$['AQf]#Nz2:7-'F}㍑`˽?kV·?^gM0qqy7+5U]QN|ts5Q&33L,=%oRuzbz!sv?3<}Öà XV}aWcrnP"Nm qJz%\.N4?vWo%ֺe7&c&Fm%X$1Ŀ$[xJ_.$cuoխ#FxJ^ߓ q+ɴDny$X)@O_Zo3~t. tU|,Tx?b^@Pbq=W=gQVew/$UCK.hO/d4p$2%o(@/^3FY1 *z^Cb4@Z--eFJ雴GAybAV1$tە'?RP$>.Iwe3ś>j!!gd :iV\6Y)9d%i{.7}{#{'P(^@3V-ERնTڍAw ZE{™4'At4Bx(dR|hKe Ȟ(=荨H:eqosoq[6"i엚,ɼaģ;ro罣1ݐynC4SOiقQ5* F'#h$rVe %51 ă^ց9jEs7&ԁgŹ,l F%<o< ^Io"|s]5e5r}32hg'^-mBĖ|r,|WOҥJ@*5(tɳ%.`7EҐ??çkD&?fˊȧ7S}JKw%?A[##z;@|aNd:>VӊHu$:@[?tγˈ]~$K8NLZi+('RNt02[ yT.-uY>V_" YNapJ4{$-UVGXa {?@vWW;'=`D6gVlr݊GOee3;EcHMl?\Xm[=z(xS!EhF|ч_Y[uJ#:oBl0aib[ ""2ϛdu)N6tŁyť7lYjǓ!2T̢퓫4XjkOSJsQV4&z8ٹBDzӐYJPJr溦^~āi9%rG@ZV=b^HCxFMيVk"c"wf#5?Ӣ\mEz\9payC̱Aբ""Zj|DC5MxSU\Y~J]"|iG .#;YqLܵ?ͮJ @a/6TI;:a =Ymݲn o5.PN{T5g5[4Z^hm&VdR/0qvz94b&%zyk+!I@b#m%'(?`d YWNLE7GGƀ×G}q7\<}Kլ6r.RL"H2Z ) f안7T8i'sN-uNNxm,6B5c2,'%țJvnj&ZgnQx/4sC̉w90aʊ?q05v>m#OˇrL^wВƘG#OtJ')U/棧TFTRrnUPrBߔ1ƮTYc#yn e_^ q.V5:5}ܘ127p6;SfpŁ;@,8cF;.5]1n.=/RRS?ܚk9^rzmXL>j֢: RH(ay;YL̉to&tR`TR l6eoPk0Yo=4rC|3Mu[B5"jf,tNbhujgdX[(q!o_LsQ9oEz( ̆H [FFs*b^ZPL+]$YY-' (\G0tΚ'm_СrBZ w.$JW-d2e` +WVZL 4R2$R}%!daar4c9hd\tc[刿V@6\ k/A:@|TMrPp6ma0.Ҕ\1` :.1VK(. 1,L&%.ɀ4Ux(F?YZ6~ݻJ&ZcʸXOlWRy4%y]"Ry7C2uӘ+!Niġe-A*vLЗZ}-;Ӗ^hdH8q.(/ Dt4͒]cC1yWq7 3(-[7@Zs%1Q{$k ˞Ňf#Wa"Tb/}L@8PuOd + x$KYe\$cKe-:/~zz?9^\|H!~ˈι^Fyȅ"2bYEO5ZdiۇklBy3gL(fOD8 _Wۗ䯤5fDB[ MפȡԽu%@ug<9_<_KfsfG,3"ѼzՉ^DԋΉӠ x`:'9'piM>;p$d7Cvc=kK! QpmU:"#gdz;tܥ!1<ͧo2CT8H 6Y?"Jd}@z#:x*oKW~$&kblb*Reu;KVfuR?Ō"=dwGp!3OB'SMddrPyN$$ٯIڹ\ 5 {L7$ =dI4)&-$7f?5$q֟L"O  N ?G$ڬ_!HNBzdPR^ ʉt$lo@Haqj:YdĈE/Y%Qyw13agj_HHߣ*m6CƧԎ&oZ ;۔ 4I'>-wjg[C1Უ'$zS*iUvHMx~tNWTE8YoКek IgDQ:@Nf}3cV|HKϐxf.nY.XcMR 􁽆~xlG鸈t zeМD[ Jr_obJK~ H#LwנiR%|P.?Z1`fSM^L??}"}x`\g]"3+SR?.>c_5wq5i-a nYWѷPkeCB4Qr0W;G͓؜Om1(#vϋPͿX>r'zҾ?Zm!Fin?0/XB9cQ|T-FDП_5$ϩ9HƑ 42G2¤"uX͛ZZ+ Dz#=<^9G[Ҽ#n-)Z٫,ɠ+KXəM JC|hp6Sa?vRl{*-~BN͞"gJf э2>?P7?"'Jv }?#E-ڡǟli{)JJ;; hv۹N=ڳ%Wt>NѺeLne'l "+Z5z%#oJȜlIЪ(ϴuӓ=_iEQퟟA~`^7mm0 v]M^pIۜ&%5dzsfbiNH8>МDY93ia.K/Rn[u6^WmGmrpZ ԉbӰPpV1{&e{J(> (_ȸDyҬg?Gږ׸u˧*:N}46e#ˑw)CO4^ek.\|JKH Bځ秧 ']1dzvs H{pOD~ΰO_&4 Wâ?ăwxQLANK=l!-gUb3;pVT\ת1(1yKuJNG-x!Ќ˸y# % (*6Q%vf,2؎QJΞ0L^/8+z9ڂ}B湑` hX8R&ьt5y,A,H7'i[u8N p3뭘hV |:wf%vv.4.9F}SB kJ^^Ka8SgAׯ3ڦ͟s ֣ #d]v^K-+lfd*,t) H6,bqL&GB޺i\{>#(\PQ:z9P {.I5(q-l.ehࡘ3"ޠ 5\[Wy(وnR/6hzj ^4r;y00ZeŊB)a^seZ]8aN\ :,ΪnWs\D@5b8e׿HqF3m)4wNGZ$4ڃnr ;xUV"euDY^S%.I.eq}VۍavґͼیWdbnIe06eM>ShRt.%>bdH3yؾlZ/㸺<]߮1z vAsQfTzeuqEBAKp߻;-i3fݘO8k 3ltfۗINT~skYAH|&C} Lj2&RLu1ge5C`wPsRw pMP-$^yjYT5>5r7__WI*h*6*L4ץ3TNk6=QݺI@ZOwt(-o7d"V1Ck)lE*֋Pτg4<KBZPA[RNt{܌I͏yu/ks ޗd̍L\I#hj栙rLn-?jh%鄰n` {$7.s;/f#T)XxƤ%9/\Jw$(_*rQB>:}/ KrIm$Y _NJaIgu j- ܳ,-rOEܭuҽIl.sN,t : [:4Eg iNmA F~"[0b6-3Mذt.SgDzXKz^uѠoqQ&q**0O*(F 1yWIie!{5IM^r U[LkmZ jSԣ;nd8E iy՘`VuWvSiWWZK''{A; g Uq)fGNeFS}"R.MuS:|C˾< >?(qhR?gKF0)ߘL9'fD(md&b4s>2KL1{3(.ix˛ isn.@j 8̣6lݘ (cQ`g S;OlҡuP<(:|&ZVu_0;X4QLJ V+pHfˬ&&]kVPDvU]85(Mq7M|^##gCci%@" f}05*xz.˭:sZkodLf9*{!yvYdpH-Wgxd\ZFNV=)߫bьT쎖cwu:{Z-]i3F޺u k8 ѿQ4QrtƼgG*ISP::[r&I2o蜴r4[4l >q߿q[;óqP&-/%r$2|=|+E$`rNx4f f-҈mumkisp$YQ޼ٹZ;g.s2FN2&]sҝj0_|κ6{.ąy·oqF]eUnݶ𥇃bz`rbgLjLG]6hLDʌkx6<$|ŀAٸ4iS t{VLډ0UDi.kLJS<8,sU_Zx-嶢ncH9,ڲn˥n?D/ѫBA>$&3dxFE*:[c*M!6CV՚CCӑA8NM&MTY0MK1K5sfchKzC&GEx!!je9oݾ euvC-#Cs]\YHjtk].2"+XOBېó4Wgv!̲hK5[Mqʖ}MӚi/XC>q6kzTh,hm"mUJ_d=W@['#/9h DnjO.Ft+(zUGڲòÃ1}pU+rM΍_prYƞRF@KGv(NHJ.`K8de6"aMDNj+ lnVθ%#/Q;evOV;LY>m~_ 49 WeSnZ.NI's˹[l3Yh$dxv<<>?w8MƳ*ds2V:u+ZsUh#l洪Ft0ZDEPBA3W4eg(fxJSRrԼQżm5o;aݩzM澳 :6T,Znj,k}{;_J"YyhUjM|ٖ$ #eMiqba߂jE;+G3&j8LԹ9(]%j8.R90"@WܚvAQtd:=_V"wB/ȑT!um]5 lfKn(33TC͖(4K:ddu+N5]!߬c5uluCz6wwddwgOpF_t(k8."~]v6+ /ALpoX}p{ťZ~yḴ siI$ogd4*S=s&?/0dY,xUQRʗcHL fhdS\rlhmhLE(΢h/du{Ru'[b埜)’rT/QlƚR`rCPћ({b>$Lmwp37^2kؔ}J/_6(X:e6j2Mި>U94\ ln ĥUs;~xά@ ·FIc͚v~&>Y—O L9>/[z<|UX_]@}ـ!lFw<-L\kO] cmjG L JZ)<8ݢW#%lk2[M=۸䨱Rܤp28*m7,~Gd]/3(j jv)ꩥ;H m9h [49ҟ02r6s"@D;ɒu.N5G9qu;TtMwZa" JQ4h9;Zi1?㢜x{2%v[AoA4`ڻhWI /B)2zjs /YFز\6`vۺrTcx mxRs,O*1RMvg>)gn7Ejt#eW_N˟<n$?·]{5ŋƭ /mʴMKQj%#} *Ŗ'5fE\U'p˯z0mY 4({Ӷ{$2u9nZZx,9t?n5UQ1,*sTu9lpILjն=:vo 夬c"VH'@ g74K[‰O-LfX}qQ79h>XTpsgd5v.,cV~֑J:3sOw@&;vՈ_9/(Ɯ_^9js`лut~J8ڙWC#sM_:H\L-+TL~ŌszR9 TGӏd:;u6m!nXed(g`7/=Bq{Y C9S HޖzװjmRV>e 5d4噧:凷 ڇNʉn2!v|\\ak%ɖjO%ɿ-0sߺ{tfH},Rل+{ -&zf:QWz602)5$cc+W{ԗn z6A;:56:Ԝ>lMezGf0#촦#lUNX3cG^Yl,2L**,=GÆmPҐ [-=6OmDNqe8[lW()ߧWf7gۏ]Vz^UΧ:qFzQqw7ZŪ71B=wg4gsZ;l(DM۫QGwj\ٶ$ZW L2.31Mš}gG'/ P<qOc6@0U:>r MX-rמcfcVB>*(4iz}d?K͎糏%!"ak 05 ȃɗ zE4 FP XnT%; :u-i'y dHbfZ//6Q%˄q9y7V.M?wyu*~?-2,{d*<Ѣt4ϟN\~),Yi&6PΌ}.9ay2H::)Qʼ"Kۚ"d70&ńմKXJ4㤱{wnރMYbP܋햹XN*fϥwz3k]F2:{'ܣXLt<';n w[|>>WS/:y|ԾY_PR \3[k3@-J\24\&d`J~w3\e.{2[ls7R1-fGBDi?R4<< _u{ Wv ӏNk3؎M~\:ShݢsV=f=D3D@T`qo(ԑ3I|"LqyԷ6IfI HcyoEt㰬y8b2[Ȗ'sv]sCEQ+鵡`:GOtsǂث:ZK<,c{=D$فmشڀJXVgn+niS9 Β;};GuCt0MUMHRJn92粁3Ymh;~k>umϏ.Ij\ʦ|o94M2"}uYS,+2ew4:ť3sqҙ(^fq6< WvoXh5^5<2 ̈́T'۠pGR 3iƢbtE^ ^zPU;{IV+g%yc$<[P $GUڙ0CSfRectm]^[;ˮCϢ59$cY #Q)zk(rS- sQ >.ngsȣa;b)ӻe.m?2@.Oӈc1X-_NIlelf4Hci9J*VSKq҇-(#M!4lˏ;bVz۹y;K0s'*^u=5?;Z]uX'eto8.֝#F>}{< #Ucs*) =ٵ C׮҅I砢q4Znk(=2wy0'^'x@z <1Qyz|N)_Z=] ݺRQ`jv`ĭRl,TB5Gмz{V Dlw߫5nv69FD( தҾn8(+eŁN0? h,.G8' fZhJF/Mc,gTs[}d eWfor;A`+!otn 3{);)֜Շ S~ e9%5zC%ʶQo*IIs\\^.\@Yn3ޮ4YU!q~Xڥ+9t(#-B7b1lmlW{t9 A;O#38J-YO22WttK }L7(:9RhWa2'>$O'0STƟr?BP44sU~#'ݕlrW'UTK%S#zkU?%5{ջDu) ȘzxIRVe֒.i v; !feJ׫&)__\[P:&m]0ִ#qp\}~V-eIˣL䄕}AkċR:\q)cQ3>.yWsc`|uɫ[z?J-ag~kgԧ +usX!cMsG9jh560,,ɑ"1)o+9S/rBzv$j?à=`S7 L}|8O9[8e6t)S'ky҅U^6'p(JK.^xWL4Lr/& *G1ծдhzO*.|զGݩkncrwCZM:<*$P %t+!;GyJ"UHmi7n]."sY%9w$_51mm0Xwp9=e#[sX>.OG/ID.j ]*+TJ{8\U^N)> Cf| ^ Us{ЛA"Du{!)ІH$x`ͫ`F58ſ%$vXGU=3f1sNk1!3.js !܆ҽB%z > v㞶&bu=kRxvHo4( c} ުkVǠA'.\{ lqo + 7aT,J{ZkV5^6I ˷3g:thr~v-Bc񏌕<~u`Pma؞MYa dMk:Ggg[聹=SZ#lng.蕡ٚ񅙖DՏ8#y%OywiB奊Rǚѳ#E_̐ʖi3*-IۂiSхqDW]f]ᶳ{8alԁA+$Iѳ9n|mwno3XxuHZ^$H}{O"x"z"QgtE)ʻ"w0b6D>g^"L/=qֲ,4#nG6 'd ^t#yh$,}|ôL zBk{=1Gy>-ܣBpMkSxR^&$uyZzJ#d˱KujdlȎĶpԽn8o,xKT1a@b0-ݮO ٍuNZ-ӽscpoyV\t?)G:3]snl1jPue",#;oM|.Tdr73ֲ ᜱJ<*WK/HJJm+H'.C WdE ӺzT<ā}+zoĊ]Sע7mkAK#Ewpi֋ǹ6 e! T׍.[YD6k[6ttݖ6*iLOC 3W>شnM~Wxzw_W9 [ZkϦ?@e4|}5./*mPrgE+0I}J5iugS\Φ-32hnKfs]FEݢD.* Rg|>ј.u˸޼lůEUd l#` [I TU*&{gC^:UIifzg4_H2VH<5p6$]\*pMUs-\8Sچ^.F(ǀ8sSVM, ֔N.LK*2mPk6qUz)T,UT=\e+;SeKB32 ~(VQpGVP+nDsQ/;n vXXVoFP*o"<|,2\ˁqwRGLV33 XͣLn^!ti$4m V7_llG$♐Mh$1zT'zOR_v|k.Ϥ!rΙhC&/{,o,C8BbQ WwΜ 5wy'=-GipW2=^UIu'LpsMotZ o,{ol-8< qPz /u-xce'7eiu*P]NlpMc+uG^{8Y!_[~sU 1=g>ud:ZNZihf.?$ޏ+_Vڮ#=aͮ1x;=u^9`>-HD E;: jXi(yċHkY,Ӝ*Mz*&z:L0fG@ ߼=|ZE*`8UVʕ ? *,00=ۋ2b{8 23L#Un;Vm !'HnWړmZ)rI4o<!m"}MvH@>Qɢ:`}&O-AO"ؿ ŔtAǝF2D9( U"'JMƺ'g:n8g_̈́ey!)8D;ogGJNXt(tr:㸽xqeHT~8EpHs Um+դ,u,-lэT4Nϩbd/;L`Y>6í+<Ё-{' q2qOtqxia7~.烷--i^iu֣}{pYxXf} hM7Z μJnWzu}צL_G}L 'E6F̌CnJ"{"SБTeYWFC˹͚rTY-KwMSe}?TYҳfNEztҠ=cjeu;e8E*WN(sgH<"z0bu>Z4TW7iyܜ B':yALc1%=A4'\K ʚYUh})f]L=9'/ÛgX6V!ᠯioTxM]nZ5KuSqR72[%,r![ZLWлfMXWzrWuS-ڧp>9huZvƊ褗[YTR)0ê2؟o519r$"taNٵ$20\VQ%}ʃLrJ2RĖw5(IZ*F:Tw3AxK㜖@0 xtͨR3ׂj25d=Pݦez 6W{żos:N\uHt=~ uDqV@QV`$r=^0 Ji_&1Zc؉R[)cw0|Eo|_q"[7d3kZUǧ SІIohۈ7t"A5=aep#.9JQv6DZ\ΏRHX1t./ysR4ݵ EE>({~jYٗ-i5j\Ӝv/Kx8Wx}](*Y|(eAdMPJ@Ҕخki$2l~Fq{o)CVɮ#D,lY@Yi:mL/: ja!8KuᲓ1rrF9JkLH.l 1jB2pHG="~w,LdlYs3,Q޴ q+,ݶ]{` Md_5/*ԑEtRv96P0ߧړҜҬ\G>xg2@t֗:p(c=q5<翈X5Ȓ&KVErlp&\^Sk2< y!HhM8´HYT\L>;w]WY=n#o)p$DbV^1GCtN52Xh2nK)M$ /Z%<+"c%_j?"R0}fuz/Th/b)FeX$g2nUBA0nޭ'^F vVzSL\̨Gv|MTveկ6L&uڦuu"m)k%ZpMɗCecv _fYwvb3CjsK1|jfr!>.5JLRnpexBz@ºծFyo}*(S?hP9pd젾:E 5uM 1hOYGWR.=MZe x;Q"`Yњ՚ig&e6 L-o~ڋ ڗ0򋜴ꢩ2 Zf>4"81?1y_֖z%S7ꩱg|:-vMt碖^oK;|෩B?p)wv}:+VBSw:7m:z u9!` -SMP$d fa-N@W;tF2ս^Lf/Yi*Q`,컭SQM5'["猱ZcjڸoszQ1sؒ OCU-f'9"LTke~{N>PB:!PgӍXeV']N|_=C@6R,[p:+R.kFᖭ\QSй \"3AkPҹdy).@|{M5\}U`gfCZPjv5m;nS`Uu.dK-1PN.HJlOJ3˫9Jc@NM'x&⢡4%YEëE&Bŵ-nkY1-;&v=?7,=NCq= ULX)9=d8?)ӛ2eMMҧS NNCڏz^ߡ[fNNڱc~eٽě$(jR5hbz,u>nu'f-w2WZ(8hKsS|OWLe3c=ͭaC3dHvpbo[lGUBQ6(Mܜ@ȃqrܖy un"*OzMi1,6xViy5ۉw4=㣔0jMUtNΫ2K/fY7U:跹s$wOlRԽ\P~}Y0ۡkSL܌COYrRO$h!:Hsc8.i G{qi.?&N*E=DD"H51A#UBOveH4c"z]rhۼJҀ{t̓iLAsGGvG e C`[Gj#hzX4![):;h9$sqs". }]*yGYe)lҠ2`+d(VE[]'\7ҫ^uec[2~Jȃ\u{~[j SA"o«H斏ͬ[ V2 omQjܽGFI*in҃FI2Qe3,c/;KYmi1%V,(f/ Wjzhu&1 Ep v;HF](g $cp*^pΪ&ZGPR)%sֺ5jO٫3 \iIι_LUnRʽyeZQn!.rquba'E`(5H3utz%v8+BmV?5ԗs\2X'[>;ÖA>**L_}Yp9sFG2fx<8$ cdkdl4gוΐW͖\;j c˻y 3wilB%1fNmM^irJ8D^`[0s8=U.4?n̥, ]מScט!K! :<-s]UUXۘY^C' +Hme-̮{ޖ<9X:9͎KE *ϘY˫ d"NBoqvPU7Cz O1[: WYg_>n;z&R(ar3=I4ɬ抌 t:ctmYq-KϣO!KHd`GRJţkjNCl\l|%v"u^*zroߑ:+g2 qH]ṓɜSr&J,4݊Jm1 b] UfZz¨`Ib>|֞{zv*#L2L{CK%-{DghdZW+Qbge7,[9/5mbسmy| e׺_%ys9ןi⫮h2pEf$Y='Қ @*k9^+VT@un9%S jIް :-.եFz$>rOo߁uդ^"IMUrqS1]dkPY41$0k0#-gڛ jTtI2h䜒<=I{8zm%<պ6!p ڹ:m 6w<ێ>"gmKƩdSa~>?fi.󭕰&֎rߺk^\J[wġj.OyoC3 muQ4n+6z|BvE<땬ahx)FbYi1+^+_0pRo[ֺo$\_1y!<nUMśyFPaU^=jĐۅ򙔘R|Iy%k;Ȇ$geί׺JeUu kC#&hQc/.rм@ƨ{/Cz4_6u2!ʜu}+kC<YЫ*bͿ۪yqJ#;nSXŸc;d[RmͭYw*A ^<1Z̰Jaq[B*w p8[] VZQw1L-eOr~=gwz\Xg͵`9mJ7EJDE)~WXm}0j:hC9.JN^DW:\xXx")dO|.;*ʌgaMbg'"uAn[dO 9T6 ml}K\Ư+ ;`k;fK'+d)ϚXuEu54VVIc f(<0ӑ^d)5TﮨbXlL*zvH"ǒ;m}k+_veyOc㾰jd*|A)rV)\x87u.v9m:?B1Egu5X<Ҿ%v6n1Dzf9;cW ɷ>f`EZRh'ti4ׇ 3na$N7eQʬ\vD^V'׬ZοqcmaLISGD:<]ԴXA*E8IBvn~L:ɱ\ost<2rq }jc ?p~{3YuB59{%JyK~aC=W)MgXau>? c5JUB/u &Bl2'TD(0`%Q+oWv-RF3j˳^s!spyMƁVMKjsU"5&Ofqa!X8m ᎟Vw0R9z1Jj:ӪjZh 9IBOouja\-|+ݗ/nv #6)5k1Scx)YӾ! r7X>ǠӖ֤#Zto7%7le#׻3POSs*ӥQ:-q^FlJ~UlNd!Öha\s@n|nڷFr(-({;Ej~L+GҷX Ȯ^:&5 _XTxJ` SQ RĐQlmw5f˺<SvqUTOm,_~eȪ1\U!un)~D\PNl-j& \N,V9,5٘Y#~QkHSW12?5ҏӨ'mѻj=u314>,5?" y iK-+Ŭ<@-u ~Fb?ߘvQs2zX9\- `T17~lp0VQ1K8{v`Kd4A.hcq },jUؕ#ͨB>L[kFնꡒT Yhϳ_3䭘OkhƗٸoPnjRܽ'wfvatwBpٺU0Tl۪D7m*ǩ+:'ۤvI\6XJ&Z ӂ:&Sxvd=zk(E1c,7lSUR0᱋2C$PtFۋˌ7?U>-&: k7УB7|񜵸B[p$lP. E-t:Vgszh,,4w5dRq⣨UNz<y{!)+xKJMa9c]GI|,{VL$&UA)x< 8/ 4*/{ZgϒFO.GEdS~7$^iI8v"IY4(yROΥS1t][imIoS8+Ůrд+gq8,LfS֖kSK :R*N1qnL?q˒sX `hyJ9a`A2 `w(Ev?șG"){ |&G8 kyQ:( :,197vIZZ|}b,*[ 3ab%6sߗl{njnxjة+K+Z݂?9}|~X=v`򭨻;хWw%Yit F'j2rye>Z϶s݈9R;AnuIIyEDٔ@uˆ(Ma-k{9ogU sur*|a IYNV͘8p[Vmo#ˠb^f(5RWM$ʨU]royqJrA}x{tKu[n tݢCgQL2N&lMvY"CZVOuv`lW!bʜm hMS\ʪr}QЌ%Q@ .mzVy._#KA~J`y& jIz8^ QOF#?FbӋٹG/ad"u>Lq~ .ӼRh17z@@RZ.x-fju54&Ws';\L7Xؗ48=Lawi1+5L'΄bTyaO+hw#fU%Nq8[s"WځHԹC.U_krkUNg)MȶN-6YNψOV:~9IQI 6g ŽƏo+k$C>/7&6ӷI3.TKryt)N4z\Z:?B- Ocخ3HPEkNƌ^;"$$roFrz\k`SO:kK.FM.{"^l7>(ܝڔ_F\6rQ(ʄSlqUgΐ4PL*CjӵmfcMKn8.lp=ڙtWr~x:1rdDyY֧PƵo"gnEcLX;\3QhE{/~W͋PX=OKwpg4i5$wjN[9ۧ7J!In˛ o!2'+<0q|y`~դU I-!Ϥ(L3l]IkF k'͘Srَ.+>u`tw'yvUIqD:#>41dnP=YgI7){󥗛)f5Èɉ#ԫ*J.=q2zQe-`Q\0䨾#4ztDZ yo6Y΀d'V 8t?Nk!wuT+ Ȉ]/FvS3>h{*InZSF0`֐qiߡ[H Zw/%F{tWG'Dﲳt+7<-/wkvUnLJP.o1QϨs[~/1yk3lu钨K7ttWX=Ni:.q[t|6鮕W#n]KԳkgJͺ撊XD[-U!'{Nc[Rʹ?ϯp<}wŝ#]Gbn-F!gkPYx]9ޱ/3"5[Cǒ%c }A75Nej] wtc|WYkr]͚s%GB_BE/:0X0LԻ3Yf̪[rkodh갯sroy|*7/KJu2pwӵ){f9\rШ'Q "6(I2;P4 !?𾒷#c:9'CuKֶ8iNBQu9fk :u^ 墓Ԫ][VgWA*k:#3nSgʝU={M g'_F}Om&{%hz4 ԍ2-yE5WUMTq#vtE3~ȋq7WH RnJo:N7Lt;lCWӍ^hgjynJ蚋4h|4Bߣ/9`1\50o|-]4]?Xb˯>0cgp;nDZ%їɦښE=N,Nv_R]u@/WD3ܳսD0Wxe]wY&ޯMOxF7i%-7ٛC[ta7y=)ggXL%v*\ ̽ͣ1ivF5 7(:nZݧ決j{?ko5hNbۛʤefDô4$búpY:߽WTKE&i&̹s{#%$Nz"1A̘S! vzn U PK1^o;Xq{y4GxqipvmᦡcE8oR%2̩*6.-~Oc93}.а 0Ds69*q{6hIdOIeY1j%7-i- m,6m|ui(ly}Q"෍eX\:.ݜs]檻٨Vf-QVFjԴ2 {ǭsmՂ^G%Y>,`a`:P MbIY7MF'jtIAjE;E#NMƎ}tItG$a'u7qߤ׊WXAJ/#"3d+CnNYu߳NClud>lj}gaph4. ^뱩yֱlWg7Im ^ju`-hZC׻F% 2 ӷGFεt=2gc?7k4<>{w 9NXM2^귳޵f74*ILQ]s^cQ"*F:|%@ЫN=7%Ic^gޗlq)o̴gLq7|}iKvmNi<~%O@Mu.E5s}QBF|"we˘Ԥ\^0-:d~G.{°hAh\Vx$U^G9[h)D EݳWFGun .n:4RHl75ig[{ͩ< 9>Ou;סu6'ts=Q7XZYyg,H[1[?Yҹo>ߤ.'a,rz)5zUuל)s هr\9tZ3yCNgogOӆz+Hz~'%k?8'W>/ߨe9 ]FĻA8/az*R^nFZY- tMֺfRN tT."?_Uor07NeN{R{,`wWF3ړp;~׃*h?Xv杚<JJ&C٧5saj{$s]#̅hsJ9eO@T8GGOl٫7+NP7?lAxۭ&~.WF@߿S:{&&x)g!,y򛤞X͒}3;<" /Mpxiad3\^v5smFHH+4<5g'DZ.uxzbրKˏry0H%Քf?5oqڎ! .j( .F5Sn4aeh?0@)t jx'\NWG;Xg -,إ_i?Wg.julH[tEhHK'3(}ȭ%`g2]<Wzٍl,ڇSzF [?>{Um6`rdcʜ͋^Xƕi}gdW{ȿtA'G76 ֞=u5:b>gah^ONhfq5_Lj.{Zi 6CU쵥o'}uV׺MR tnJm._Q@&2PtwEhKG+,;p<Ѱb1}pd/띹M8hݽ]'oYν8֍LF b;%Z`q<]9솮%ѵ۲DRs G]G DRk̨[)Y׋ + / z& n>ƞC<5o)O|}I%"U+"ar3y0"c2,4rw}J>{ %K$5ou;v~ȥϨ6d*ʘX9{OCF1m3 d#hG:uɕr'^DJPggu{.Ž.wm*r-*%; ڰdYhmEgߗ\-7kak1\90+{{yИMp49crr2cBM;#жu#RUIbm,;Ot@x%[o2&2Ɠ\)9|=Bj9nMԢit%]!\uh ͢!$AX=c=(S2hF{Zs7b_ $ϴTJ1/7D Y]P0SM1{.ѡ,=ʐ6 d=@ ʆݞ!I$VHctɐ)!Yi*/'kf5gxFvKϞ>W  c =,Klga 7x"Wgؑ/0uT89 ˤdM+6|m[:Վ_1ls;iLle9 j۲ ׯehϧݐzdr=_,3wOr:囹ݙ̎3ߐ"mhKājv#UDإ2c3c0}; 9<\ڥ-&,'Up&`Yk]3;T~4z\7WH/RNCZ[<]6oТ/.m!wl=PXᡖB=L4I%ҼďCuD@dh(Cl@5gƭxYc{cتgt4Ƃ-4FS&@Ng:d6nj/{"mtp1+ålM?֌pb{oui\SPD=n7,ᔕt❁SF-ʞuoS]=+^igKsxvOPӿ+LNzW/t{bL3vU| 0=SD(F/:U- ii}w7MܶPMlNf)Pw扉ծbsݚeeCdpv7I¶+xS_ƄYJ<>kϙnyWƳ ƍ !ʣh_ (X!s ڤ3Z5@]gvct\C6ykH#+kôi[8x[Pu/i^r̓ {b?UE1559r}Ymm 5#D~2c`k/q饹,.5aiVPϟV$ WM9}s]ĜAM&o|v[^ j_?|l9KB7ZksSZO7xrHRBR_ܻS4jp<gS \ա6r!49*2br/)/C==&MDɷ1V}odQΟe'Ji⡯ݛT)Ozbz "K؞Ҕ*o"?fJɈLJ23sPm 9D(FӃwKMqxV i.Ђ$)o9'JyxK|25J=\;9:͓aiu3\⢹NWdCyb[s%fU`Vt-Z39knߣc'ٵ\WؤP;m& K_Ȫ_ޥE9Orc.n{j*d5\8S78>lW_ti?M'B=?\'_0>bK6ܬ7'Puǜ2SgoM!2F\hM9܎<-~9걶qld͑:pH-Ty͞S vHkix0-NΰGfE]}mtQmG^n^t{z gww=Ջ٠hIIu|qνdJ:~͟yGs ԋUEk5n1JAU10*=Yã]UWU]TUWU]U6WUUUvۻ;"2"90U/Cyݑ9%=   }{xpwoNi ˤq,ƂIЬy3cFqPMӧz &Z2f)e+Y)˥$6 h]9Vg6>S< P4C՝Egi g> ڸݴ>a]W}exf<@,֘ۓk.ǔ!K`7Yܒ;*JO$@ G9RTNÏM`vcP.29 LMʋaj|!rVVIre$M@[wR#QczOGQ;SV] w >,qd9o"jPueoMh 5q[ˉF&|#Ҵ}x'cv% nim?ZWvq՞ȝ&v/ QT8wS4HEۼM;0:1QY+["8v-;E> Q6Uw,҆}f(q%o."oGCp*_S;"o?!JN(2F>X: qzr)-=֓ec]SI7:Pe24L)+@sSAt#]ƘqMQVRhS5_J잢"x:;Xc ` /=tҙKֶP/Ћ=I8^:rQ?{\&rLTs݌Xɵ@Y0,Ic,-<2$٠nPSB ɠz!'~˅B8[QA۰(Uq?8!6ЄErXT< Bc~fk(QږǜD|}C@9Jp?#.-X,ͭA|0^4hBT}g/ڇڳp*Y2L Kwצ? xЭY]ƍiO5+hߩ nJJk9 /bXc s\]-w&'ӟϐu[e9+ov7K0X0|?4l0kYq d:}öt9y1} 3:K T}f֬mǍ8 ] m@r*A)AmԋLU}SNQ|wB) LGIƢpL:M@2B3Br}>jC^\[~!<2 i1CS;i2:5"FS/{%8Qb_rBmc6PCJذs|+2wt&sG-ugu@.tv}g5 ttlDM#b)fD*B{UĞBL$@z)@&E8^M/ę*bS>;q-}&n[@cM+R ۥ݊0Z>Ux w:W0sd;T,##lE&Gm`5.7)[Qo\P]j=T۝<)qʼS-@'d[V]/V'1)c3AY`x' frgK7$Rq.້_g\:;Ĵ_Wt~ Tj9z"^8aC-ϒuL:!=*9l;DIt99 C@MXeo(@XFv\Ļ%"ىIk"k1U3 xC4^/%p #;!\3AdaMyB <[Q|1-wůHXVBS~:>,”E<o5b]Z|K9 Rj3' q$~ZB``8A+](wq{ _-}T (TrNp砰Q˼# n 4~}/O6d萭2qXJT~뗳5GS ׭f#isUՆ(6k Qp%LH!@R iOǂ"x<ALO 1 \+D>mHAsF"I @]Ce#CR\[kiN~TM S=%Ih\jl=k(svniF:j@<~œCF !tf'@C_EÐb )""7m-%iuǘizjVC<@޹:I_d|Hr+qN׸5?݉rRo;nBnFho8Cs`zlHkP/Y1zƒ@ozfB\zׯL}7ݤ x>xۉ LM}8K@[s/^j՜/8Ln-,˙LրZWք\ [)ܻs1=vrv@gȅrr3§42 2iEߛHNަDf&3 WkE.x7]M %5et5>V}B<~vА7AEkUP7pGGŤ>[iwl)"&ԧۨbZu8@!o/㩿(9Ojz:rֶI3ycHC&&@UZ և! 4 /Wz&:DA=?DaGS` ԩ:EX!̠l(H v࠲/JLr\p9y@?8KTج&MU%M +Kg}:p 0@1^mSn~xҽjqxf3߿ w1A=,T@i$0`XIyM__V5I,M'V6֔_$%7P8Gϴ;FҭOX{@ _ЛAnm[m=W ԼEkkvQK^K!Y!o J yz9.0_rZM㸐hϴC 1pРmׅDy3,ðbe$ȁՁ3v\Ȟ{ ΃~ `\&8״_|vn0q2V߻slh0*8%j7źFa:k̻X8#. # |Įko F4oW9GQs;/,L5mr, '(\ Eiͱ.3KkLDgp2t]/BTHvc*mF ]t)KUEuz]FDULtA?.60ٞ¥]  'p9ͺ ~9؃Y#+}9U1fuhV1wb<'^R2lУ|bp5Zd¼r7zKb+F[wmT?[VgkjؽG{ 6塍]CHfI՞E8cdZWOԁ`DR,~8>b V)U[&{̴2NGpۺi4k_5_0H'6eTB)f*9S[swOs q&]58(wwU 'WդڍW/p˺_=Ӛl!|g +u_v(Mƾ9ՎUOƁlBNcoKVɔnisLVJTP2PiGAƷyW_}WFyBޤz P9}z3mP3'X6'X /!65a!H?L(yHk̛ь*ֱSK{v4%ӿ!hW}IhcT$[*~i`& I7&mznRܯ'Cjs$a")Պ;GK8H$+"Gf7}pdc0K̽:I=9LHM={g?RPqW LnU抢 8!Y!Վm 1_=5rRu4*7 gȯp_M0[Āpm1|gdyU-`UB+'o2pOp)ۜx_ ]()a_51$~ dS `4h,$XT} is5Qw=N;s_˾L\| 0*L!IZ6e{ęs̏)7<yl8/j!A0W@<֜'ƄhXAЛ:} K=bAR蝹(|h(`QuĻY_/ǎDXcVJ{ś&.ܙ߸oy_} (' %v=^R鎧AJ^B?ZanR^{*5Ŧ,$@I1ÙͩC*N 5Քk(Ƞ@btR [nƂ}Q>58OɵZKs9vP78SR.Cًio e+ x*^9nހԌSr2q;{6CC=g޳WhwvvuPI_^Vd\hK0 pH0P.H1 &#SԷpp@P u#@%:V jΊq@)B@*/ɥ@%WRe_Q%e^tQP߾SZpR1q^+]FNM%ָ`qߑoF܋D?Bz# 6dk‚(?nc~p`6 W>Y1R]C޸~RM)=\I:NȮ Sߐ{+c:b.<֡ZٵMah 6MG۳p! FV,}zKծw8BUÎ=d`Ke` wR `tA$D|}=/u{6khm>)3%~cPw yId`'[ 1Z \1:qaNFf[n)HR|v(Z3{{UF}F{xZ ݡDYmhA͵#c(] $O7mab9 P{=C8'ɥB 0ghGEf(Շ 7c 5jW 8T-W9,DsEEͯJC+js$nf-cZm~FB5,be`5tA(x:K`!JQxF_:lPv 8(`YSȞf0 L49A'ܭF91cyw%zĘexې 3aZ< I ziiE=&@Zr'.MK!E]¦'JX8O{:):%g]3 5t'hCc(};ybM]缎wҞiLl.O%vb1ubIلn>;g%3ycw"!~ :yDv4NjPPfkrꯃAOi1C+tkZ#btx?Y}p<ʖfL B(E[nOI,v0dYm2_YN`{1/cF/f[ee v#xjO7t,; /i8!$ΨBAdtl3E%#f,zHgc.5S=E.e?/TlHhh]7[\;Ld7D垆xIQnhp _ kϙt 3I#k>Yil+6`o:.˂vф6_y== ٩e٨fd_*~&e m6'܆7R]Dwɓ].i4fV[EEoP%MWtB8,W:JcQeFv@>G4}@Xu|~n2 7UOzObEXy{xE˕NC7wUč'ҒK:5mdدM^XoZL37=-պ'd אtj죬+WEEM5 4sn%^hZ5ZfW+Wn2e *VrkJu?kʎKҍ<ZE $./"6Z%[ ӌEvN\&\XW f+P-݁T)+|kwHy2Yh}Oꪕg~+RDWZP-{ E&`ʾბd⨶Ԃ,N);^]zp`8ˀK2j6Xc6C?akE4bc{7^'׌+}aq=#͑V`zR2 K.?d߬|ȘƲ1CY*8(7[?(~98 ~3wS͡ǥ ׯv 2 _#M8~oό}_qTh)ːZ@y1Y#hvN7J&b4 g~vJ=-yP󥦾"G]cFp  ,_C^(6K>ZcOAA/k4L mb:kҀaޘv樨5'XPLiZYe> )03 t?vį1w 1=4 /n8H'cgM'PS~͌02T효|az&]nz]U.6f_>w ~mPFК鴘N˟7y[F%CIHu?>p$1 V e{1i-*ʐ$ m͞Uv} NѲ!֎b*:/"`G"/%Dp[z]rb~\ŭ C|2QW,8888p(8Z9:'׵ Y_/*:}k<뛰ʳk:gxeƧRܐ'7 Q $ᠪ[|4-a&9AeLƚ i-oq<#j> VׯK{ Sy[Z.eނSr /B/O|: n;HzFux |߿2H7Â]7p9'B^{vߌZ4}X*eP]/Š]t0.8]޼M!ZqH9K5wu{!d9o#9 + ep.jdBqcQKf]7hf=[%Ũv"<,Įf7$Og'o~1S/7Y'GdN"2iԸH$Í!&͂2NDK+*y>==Xh ߭$_Λ\E?qS&⬩ N[ L >O=l &Ss<,Jd6~9G_N*,EʮX'-y&Δ*sD k(tC&X`3 k >.1#ªa#OgJIӛ5̜XEnHDy]|{5'"2XX2 AOEfjmǵaOD`m"}rh}3=3#d@Fc [%⮲|۵}R*gN!N]Фp =1 wfy7j,73xMiH0@,ifxÿ C@25HB-ZU} SZ|ۘDxos ֿ958QGMFK^T=vc )P;yݐKѨ.ilA:δdV5\æm883ve^OLh dXPWlCy2L)v!}=n%۶f 9 CP8KwSzNl@,@&ށrBWr>Tly;h/ 664f+ptK.)4 h8Yb6$kM7~%Vu^ten@_FdA< "2_.aK &һbK~յQsk 1ܔD㽡#&5_Q3:[ҕpj+,gjAc"J#xw=.3Np&WJBt"+Pl'7 345ՇeEoqoft͠{ viK~1 q*Y_;&q;ۛ`KtQb5cO$ @1]Fɴ c??ЩJԷp0=iXnM{/g3p'T U61t#?uV|ƃ"<4)xŶzek:|loKll3xj|L{|W]hbK EO$b$|y{%N3l!3[vp?ohG]ˇ.z!Tq (SPjoɋ;Ert\F{L/RYOFP ]PID*9*EQ^`;~9=aIUB1x,9pP8ۧɮ|6ެp]"vD|'*ڻ;wԊqS˦Pc'qŘEC aRh;=T< bKWL_D/|ۅ}VN@M?UϪxN5`@"l$K6_>G!BPJjDkﯠQV.G?dMUEa5NCѫEF@ l[TX%(X?1a@!D Є.mUuwC_ʣ&imC"DoVg ?["]2}cUSs-˱{ҿsCB:̨v`k?wkfT`sFĥWX(:R** Z"r*ʪ;ec+"n؜laRT̜NM^o(IO. NvG#ܐ%vXpOv愵9oBQRYzVn͚9: B-mP& Úk6#L?-h2߫q]a5tAlWZy$OL:àD[ǠKj)d{d*kqZm6F_akJ%GcX;K; }P@6"=%b+K_-)zQݝ/esF#el -dN)Uɀz:B,{\DԉDmCIJ6x$Uv&J]u C·n;8 UQBL7cN"JW6Nk*8 7KHڐ&>(z'/14%,Bj9N"2>Ruի(Zvz?yCΧD?Px=Z6Bwtkef|tKE!t#N{P⾕ 9pli+'swZ<,- fCl+tBn6۹9bJ/9a5h!NkJ"6%Az 1By(^pN}X)T֗X)xKnqbhYب߹k>(0bU]MlMtd 7u蝍̙ <7vY r6]u]/:/2ҠD<&(%ZlO~/eUKy秷WJWɌIF~N3X6|7P2 ׮xmp?rޥS\(QCiR[ldⰹ,Irb Ӑf">,)|2,;|zȞXg |{G8?͈8|[e3rC/~^5x0rxobp@(1H)($Cp, GgNdős<`+l?lʼ5 G G wJGϐu |?\E(Vk5ގƗz/Bh9&[RNoTBL/< &;4pnާXpV>@S}MRǰKnGP6!|r *fgµG>qfz KIC [Ͽ=ahFr9:F6ŭT^v&[b䉓yu0HQ* 6ay'([# S"~\'s]i8篬DE`a]z̵Cpf{%0LY4{ƌU?!fhσ⻱!)/Z ʵM \λvopp}̰wćj%W#C1z.o7{lpnCoʝ啿sw2Zkv`zF7$8<)}?Ҭiyy7um{)uM_grPmd̈́r[HɺwbR' cy[8 $ 'm0sKs- #*6k}.65}v# ɇ0|$#e&b:R3r*_ԦWXn#4*#'ipL]k,(43$)MIŤN˘Y/A-id<֟nͲL 7769tJ|[!vS46;Ay7Oy%aok9u2Ub Cѝ+QaFV>we祽vvTN? qjDJ;Y/rOה8pv5[*&?1b-!M-rԼ%#|NCC賕kiǘ$)O.׽Μ*Ym5ЁqΪ21uheF/jsK5mS#mTz[w _ͺHgRX߷ጏCvY7IѺ\n*^V/cML ex@#L9:kR;LLZIw_qнz5d <ґA`wB~<*l7Bls`r;Ul_w ںi5?+g8'2A w!7 EWpRft AE ~Gt=u^\բw ^W2#@7}qjO,TW>0`A&܈nA$;nT|'k1[:͔,I/4jhcϳd|M(O dN,EW]1ؿ}«؇8u[) Bul-N1IQ*\[ls೔01Pk\sxðAz8&| oڄ:|B$0e^MK/;÷>%1TfB.545Azhic,b-X<@s86k\򂻒a[t޸ cI3I^T9Y}rokGPӶ;RՌo_W{sᲷ80蛊p[%f{ݑ_9_lPd~-]lN!s[sOuɏ[خݮnr_?2tJb t'Vcj8)~\z:h.Np4Ym5>(%!o2TGn S'3,g l0yBy\`[Y`7&"???G-qYUS9^#dwW .@)NXn`hzRd߾=ߒf}!'G%XGBffx'Ե l;#%1Y`I@G^s8T|wyD ZsAFPC*B:.oNt2r, -{СC)Zyl[fdLXJC'{5[?g%ce{6k H/CH9nⴀ e^xsӰR>)H4Nm#(|o列ϔfZ,#%F-_uĎ1%aKpm v< \'&b ڙvlh"#־TCaI#..TK~R xN>n|wP!PQ 62: 2#] CTԯA1ŕOm9?1`@ "iXpǐ?} 嗸 mp:n5^߸@X -X{vG;]`$$)(s}`ٿ|Ҹ<Ԃ;F3xF@Wd^b,BF 5a@ݜкӒÎD`ǚ_[A}py6ZA 8kXE'f|b? |:{-Ctvt m%u[M8%Kn6j6:-' Q`9΍|]͒P5]G8ȷify P>*ܧ f{> ѶI9"L,gίUQgMڛkLӴk4LƼPH- ?ĵz@<_xX,Fr?@fv=TH5D.gʨtn|qvOp{m3m73^OS x p&DFhqv@W҅F[oo,/"N s*ab ܓyaZhʈc)|gX d -6ViVbu_`h!C!⑚UG>5We v9SӰFhR㾤z)`|OR,3ĽDhޚbLZT]gWkp)W%stLM*Gv"дNSȻV>"k\E{%@bN"FlpJ47r ʆ6 )y\ `%U@Ξڍ)*XEͅh4R+1L8qф1E4(N[~ٝ7v|'v/:<289]RNv0`B.7$q[lHwKyXj} ݢqpF(ш=twK:A]!lѷ|R%6k4+ጲ_HNl insL&p_+.#$qۿI$’V=Zy} pNEx}l]lzwa7M)M8{|xW{f*'iGр@Zu9,v(1[/3h`vМ|x9 X.wN #'fۗJ Uw AѠ bnb* ~9OeEzE{/FʴIhJdIo}ǪĔg}#O{>}i {f0fB#e 3RBO,˼4YL` H x9Y±e ^Ձ H"^i:m#;m&1eh"fۗ:bWM0@'E |Lٗ2 :fcGpؑb X>ܺdxɕ:xBMϩ'{h+K<~hojрI+DWnxy3b-xYFLw>Nv̭=*\$!٪aZ>ShSz3 񋓯eJ}Myp_O1 [BwS | TUB.wKN~o)A{ y ;†ѿG/oO@agaaI}Ti S&Q\Qf=_ >(Bڜ /s?v)!eAVKP@ǫ 9%tĽǗ:B6;"*=*}ݩWI*`O;:;ZhY-v?xk?PZY!*?8i/.A 眤'o<\'+@3(Lz!p׿@-)p T?={V?I\*;!#|B= b%&8OWk{߱h:/-ȱ/7wѿw0 )=iW<'Һxu82Xڟ7-_?{`܃*Gt3 */=!@{]@?m'O?Ԝ(t  575D.xzw/_!?x˩go%@*wvbJDaZuKicM61hcܨ($T6IW^sXqRhVSODǐJTY0L8MV; 4ej:I}+E zdنҴqDq=몾z<+|G='TPOnv~  m7x?.;+9B>׊ qD+:nfp`7UU :K'bT>E-dp O%Eby9͌.m8KlyWHOhn^u}4~[B?#8 3h0Կ[%^s(Äϫ^АK"Hy K:z$aq}P%#jْ(St }r {z5t1 tZg{ɏ aH*u'?lRtN"ὼ(v+PF 3$ }ϩ§)nGħC4NP12C Du:>3h ^,eW|ƭryj}⠀wmf#^)k0 -h:"0|ҀW鏛-v'P!bRMlΌWfLz-rJԨC?̛E>.Hۀn &5(.tWhVk`zuhҮ[ \rb`+d}t.s%AAH?;U)A/GmAsGh#I.@ݠMBx*e_,dK]ՅF Jge@;w,$Gt!^u^g[1P}B>en6܅~)sU,rtpĤ&p +##hս +k(߿a?4rߌouI2M|Ʀ {87mz9&53v~ j) iGVpwUg7R(>9:^啂t ؿ!w[zǐuا~eﳑ(lC3s^>Kyȁh}qa}7(r}VEN;|"mnԭ ֎]x L1>9!;<U߆=Y96J>£ tndžL'WZ.+5p+4ȖY<5yviA,`s]E+J.w A(19괚#|,Hbr]jnэ3h9CG Gp"asE|Ӟa rsLKmΧp{j(Lޫ4޳~<6o)2 )̡2"|& Z~V'l7{ԺYR :7DgX["za>ֶS#'Ouevzsv=;dO~&͈ZddW=iV+MZ'U%UDN5r;231,[r [Si{\9DLvY CTx{ LDy(5B5 הa,y4壖>},~ޜ ֟Kqۛ"ץwU%D8s"끌dhbnrdSUb.OL}30s7VT umCKQQڤ}Z(w3yڍ#(b y\N=!XzZ`$ 1W| 9eI\Ѩ R;Uouk_4rө!iďs]X 4I%g]G}k^JfS#xʏu NoUuHJ- w{VD jjM4$< 04e^>9JfrIaeDnz}3&Ng"YMMDzw6{38xg V|3]mw@=l>IY{xKĢʃ~pȖ9~3h[O]8^ZkKDjTlCInj̼$n[Roo{_P]zy' Y| ꑇ-L`4zӋZZh]X1&坛1`;+O.O&vi=K)U.:`an|[2F7Q\#LlWD`5IJ\8 >ڦɍk88Ҷ3nNX,y`gߡ> NCYWv:Rb+}wsV읰j@`ОpncN+>ꎱwa"~&i}  {_pc_YX#9:d7VT/GޒhxT@ḿۈ.UTH+V^gh#@ /&*t*pqn4k&#$#S{6UvzFjE2g+&WH Ux g|ޙLAjWNhYd"&Lq hN}R<4#@&[ >ڬ47vW8_$Kat:#11?ıOl)PT\QywRReR^5(f80?Q@!.*s s2Ø0+w>& YWNˠSU5_IoQ}̿I! 'Z['MvqiJ"u~^6 WV"?cv cJX \m(V/doJ!6GvN G@y5hX_?ڈ޼?)Vuu?9Z٣xL_oןa-:*<{,aMk"~bp0 eQ/08gv`)uis8ltf,Vи 0|.gg9-up.FO=f< 뱽Yl":Maq(bkmC8ĥ]sE_?]ݵRx칇 Hing`cy2`>]=2vLJueqh&fKVIh ߦXio016G]/i餋0#h#ŏE\7ntKa(;tVk^ٔmFaN3wUqOxBxue7g#KgW{g}S|VŵRi҉ƴ_^C_%ɠ)ΙhNU[jm g֜}*+I]߭ uω} tN\^^fjpMUmHhҨIҕZ",=iЄ8aE>:[PT U_-z>^)Si0iې,i5OVwK(,Xmvgc$- YO2 ~**={/ϻ^ѽ"Nk"=.xsg$ntnlŮږ/V7,.RjC?K͘`:V[ϟ 1Z7+FedK`i245w&r7_YQQniNǴxz:~dlԩq{l^nn0榣MqN_> #[TX}5~V6T{prշ\kӣB렫7P{ڳMQbi@UG5d8%DKɮ]ZU5J~!WᙿLR#pE`@c٫5t(Fu`FepLdVPNSl!l]O+N K!AV2coU=$N2NS\R5XLMwS݋5I$ Y. Ʈ vv 9B(vG H,k4Nc2Dk?'GcV! ^%?MzS裏Ix9\M&ȥ1ڇ87nU1#fuu|GtGZf?@]2]%ph26|ͪ,.3kg:]{kp&:*m}sw'=]ۡpձ֑R8 aߗjl ۦD*xu:U7ȟ;gEn *R=Ok%гJ}_$kt;ΜdqWtPIkpeP(l!GLuwD34odWGs 8$bWd̖9Ȇ'gV}JTٽWm1T_ƀ~i;8SLn'`IwZv ֩qۨ=?C˚@Mgd UX)i:Kp :q`QRzSRUs*am:24.f:z]VI>|RɳUIOV7iϤγjV9ȓa_I#ެ#xbD{M.]WyhS;g֪;%KqIddH7uJ -d681Mu'gUXs&E[:oMP.:6Nt:9lGtfP7@ah.; cQ}wj[Fm`Y2^t("t]EJe,푬]jnpu6$7Ln )+y+r&^8NCp GCL*$l.n;]K?%~t'c';g3ʜg!0 E }Kq(4anzeN #N>_,/Z;="IHionӄ)1G17,tU6h7CT\6w#ex]L3of8I엹U!MMvuYhk0+9VHU\͞YOl5;-:+/3QAiY띴S=p'8GXtB7f8 '/C{:qBķA6,rf[x\/Y3i3R3""_\ZgL}ùtĿՠBzͳǧh$hlVR@Ea,Lm6(zš^%S%6k䠿S#SmdmƏi>ct K4 Fuk7!SW&G^q#*KУf*8'ӴSFt/R2lnj m8א2J[cT(c] o hg\՗'S"TNE'͙JKg^nk@E ë 9;f€GWMW[nFFi٘lGBDҴwNOh;mKjx7gTreP!Թʞ%ڥg_}iI2*@P`tlʘ/l^~P[eG{a\ަ|ש:Ώf-q:14rތ.@&1q6Xhת5`ٶr.ǖ?бr}ECUfгѝU_DaQ sDUyZ1Yrg%xYu9UPmLGj޸U͚JW™ ZYxk0ʧ 9]m뵝J":j"6' V]:VG4]}z0wCc&['Crn&Fyէk)H<~DI`?{k+#?[ʣVDFo4QT|QPw76L`JeF#~0r<ؑN%\4Nu6U.䐑)a5Ƅ^סR."s&# \HpmnNgf sݺ2I7eK+وgH=RLYYm(pŦqՑ\<Zw9qMw#_]36%pF ٟByΝ&f݋'!f 3\oآ9_j.H.sɢtzY˪Nyq(1gÑ6 *Zbv¬X΍yK3gҧȚ:IT1E:o5}~UZ|Nҝ ժ˜ 1o?wk-2'yLXXvSŨ\_ũtBHI8ʓcj.}_+jj W{p;>iuV],\Ψ[ϰ5"G!_Fi3ՔSDI ػChN`^mȝi?} p96?DZ\ AuB+?+0 Cs<p%//'E-¡1Q_GQ4_,\IY/ ۆyXٰ(PwV4h=/'42HEDέ0XU^ZZ {mn?Q&O1JZmhVRš9c{1Q]8kfˆnפhf2xaێk"PaǛ!85ӋoRj6 a1~9Ws, {nm}S3kv⃣^9ֺYxՎŷ~\y߀:~NԶ@.uzME& I 61 h~QqPJsۧ2a^/½cOsS]aL?ur%\ YvuNl񳂵˹ ~Ū84f8.~p_mia^M}N}68ggU}r=½?< _`w5X܀m`wNߍ#[m VҤڪG}Ŕ8 |u\q3"=YMBv1Ug:i;RoR@˿뎬nfr47UN1]ejz7iQbsf)S&Td!q}a\InQ0Kxcc2@CsQ:$:Sߩ,r봵\IW`Bf6ns:*rݚ59#Oxُ1|ZDQ\ TLv o x~IuP "hԕCQ}\PiuB=[4ܾD;Bw嵟7P&tL*j =zni]Y|V+ \IUnxgL0wsRLҌo5+!6@|Tt;:#t; ,HM*6r-9k/*ţK"ɸSrSbȉ7_Q')"}}' s+w!."ˮ-ѸR/q|7V7@6ϽHc1cⰒg#=2 3#G4%}t&QOo. ,eeUVV|ل2!o&1rDWPֹZ8:r}_ ’Ȅm%nTXmOFz~'pYkle,PBwd8í ri_Oݑ/n%Hrh@lݢV3т䳕eՅch;@( 16G9J4 ,qSX&Y&aj)2^D(dt)ԔE\bɗZjFx.P[,I|f:.2/ƾ*>rek={QCZ{;>ؒs*ZD03]m8+E=^ .:>B#n]۷K9N|y guoV5T"iU|ynyJG"≎;`iu;F4[晟B-\ٻ]feIցrSMy)э(=`kjܱ"PV}80m|?uKi_W~DλF ҳařN0ӗP—ff9h8568暱tإ3+Y5̔5 ^Z_T޹+%o鍳5c< ;u _|gqv ;FTn*bLkrLL1\㼜|3Qy)j,޻v-gLEzwQ4%7 9pz} `<%r=:;;Llf ov3۶=|rZSCǜl WD-ﮚһ[e_GѸ{_irrjP 8`w7k4Ͷ;&Lӄ)HU *iA}?BuJO tաmà j, D„&2B!EGIV{\)$9`3ڪ!;^Em}]+u9ZCIS~&O6$'CBY_g_4׋~y#F }j+8p9N8>mtlGMs $\5UH]S"SvV -~>`jP&7sJOʏSjof5eqBN1$ fyu.mpy$dvȢɺn@dV/Q- jTQ2l/^`'FY݃5d5TаZ]%ֲ@Ez7s0nC'4x4ws\5ĵXz a7_݊Ђы*Y! eH( W[ZqbuHo\L3gqtǣP{7ʹwMgr_heo=-E;շ>bj]o#p~WoC\%xd4.^oCVJ<Ǯ-X'τ%YEIcvːM.ߞXc=lo+ˤn8ԃ>-3l|NPWl?p4\6q;f&s2%urY0#/gN0O#҃ەwSu6SB-Ov֡ss57$H6fvtbBh*]q9.0 h*ϧ-K,ҞCJK)L !)Bn9Y4 M{A!`GΤsdJ+8*q;7 ɪͅ9& `]бq· yټ#17qxVDy9Xu0|j`+g4+ ,y2\:*ܫJk?%zy]AT}XR]oYM|cv3M OUd" 9V1l.Uz݂AA;/u]vBYl+E0A~n3ဝc6Z fkחFuz]| )(Df;Pqi3fOI~t|ZM*c;9s'2AŃIAMԝXmIzcrL4%'EzP{"вAzfKk&Jekw16 &!y{'nN\[ρui'w/e;-Vl.yCpF*sgKx0fк2=.nUD=EoWըl-y0* wTJyr8cNu=9]~e1g2|{k^;/*+ZF6u?wVVLA7RJƑ71mFH?^FMV[<-7hoPf_m,؋Z]mmtrRATÓKWÓKuQ(UܤUc u[Kl˕ɾS͓/J g:VBZף$f?=B` '$[1DyZ~-UPAE?,uC˞j!w\Qݕ~f2#5Aˠ?w?lznM^5)4hTjetgbE]WngZ,gԑ`B?P+~g-itݯxѪErWGĩ0|^6Y^'7 u n:hgfXXpixrj(do](d]Ĝz՗W/9 s0(]8|(>gnW7TuVhp9v2\׺kXL9ym2f#7gIA+B5~[ћ|YV^RM\PlGm30Uʾ5_ S>QIJTiJ,Ăxfb4.h)qѢXչ | %%l1[U9E}# nvr.8IРRH܆CZq9tЀcI:w;Hߪ~$,j;aF0E‰0٨H/M9'עk&`nzaSUgV|GE9˜ ɶ=ߡB;_1.Ɂ!:&lhcyWA_孍rQgSqJd\7#ݰaVnߪ %>cGg7u͓T%dĘ+7PhZϨοHI>_f8^}cnLu#FhRz4ŏ2^T8.nVo)K\2?`"\'j@evdEhv~0@TcUb7A:g ěBV>-a#ϻ_ 7GM­}WWz| f>7..]^pG]sT`cw% .M 1gv<#1#K&6aj,gvyYzsL:YA1|ٮt ]/W.% `i7+*~,/z~eҀF^:X(xr\5g2w?`AdH 5ȹə?8wy FQD'Lщzk/L 9uӗWeu˺z`;sDc$TgqBL3mqD\vVB um-} -Pd{[g5dqHƵ[ ZUd4T9a9NO$LC^`2GFcXBjv&܈͌cJXi6( ή3Z'Yͅx;ط,ʧj+ ,l*WZPi2@_,wymtO<5 ݭdHbymΎM ҃4rUfb\?kk]mu @yGl+E"k xA }>([ѱ>G/[Kyft ҢgE3%T#rMp,z|xKuʉ,v}j`^,6'5y}{͎# YX!]C|`7vcR Gwk'E%Ρ+CB.̖ҊB}.zk: ֊FDoɽQV˜ZHq XnE7??U.`j.Q%ش&vTRw&x=8u\1' C/Xm58oٍؓnNx9XeX\}*X|{Y[:qC&N}]}҄,~ޕ׃x[h0A19!&Νvb\qWL}Tܭ;~:*4K~,8$Q(ݮl֑&pv3.^hQ?EkFǹ6K=lhq~rOTݖ/זˋ2`ШTYyI\ߒ^VepJDV_9V7[ll=,hYTYQo{={.1^p)Lc~~>]xRliZ9ufS9-{!8^po]ioXo!@ujrt`辜lq#«O|늭.nͯ b^AZ;8Z%ٺGǰK>M"CU͞*쮤: NMl%*wYͭfhfv-7QRիo2F5QmwvG*^t #& ߝK&kܒA$V?ƚ$5yU?.̃d+ pL>+f )1d/]{Pb+4X+R6n* 48mFV~]YGd=N%oFyVGbH2l-oNXOAq02~D~ j6p?}[ohi4Ve65ͼmoMT<렳%̖K)BAqJ'Ϙl(l"pa[?j7f2׶vx/iqs^fgh@B)zMÎ]~]iuO$%̔2GYo.(݋鼚j<{6qC|ޖdfn'`ɷ6j괛t6C{fʚSjNoVAsMOoQLLOyJrixp0wm|!b7-Bj~#[bN%K=/쵊jF ,~LTI;aDΏZK]r١?Sq}MPo}w\VdOø1wO"Ի# d cݑ×£LMqQgkԨls6i45buu*9=:{2ʤκ+z w+2scj)8k ۭ@ bĭyz](z Ls$DmItRT5SA4п]|er]E|\4Ĺ )qKM> *x [BλG-y]>\쑖u'?6՛Չ}P̯ܽJ0zA{{]doF|u[Úbu뼬mAƞ{&4ˍ#:s7nYxFx=9إrw5! =px^=!`=*\RQ}7Ynv@pC\7cÒ[q5 ɗ]x7OJϫ OTUMtWd gQg)+˒>]MaKv"Ϝ3IC*a:MhzÆ(FB?vrķT5fId$RNܣЇU%?j}ol̹9B#5U7n!c^釤aM0{4)4H띳SƸI7df"Xϳ0bo<\:#*]3 IӏE!$Lj~Z)gR6[aLr$#aE>_qVwƛEET2PQ@-)Sb٘f%H)M[Wo5Z~ jvi5 fN ȞΝ?N"F ZUzAT*vf'hGGcUݠf"02 KP/W1yYeX(v3Qt|/čxCҬ(hAZ9X}~<|t*/`H|BbUW̱]~o!Z=7nvTϮ@m**7*cOmR7፲6Ҡ+K8fkM- C6)KwS0Z/ SdE 1UlWvV?k3ȞlLHaZR]u )2}c _ P~` ]y:اD\ LMZ: rFlk"d$ysI>&4B,yB/3kaʼnh}BMCsaifZ\αd,RSX;%a9a8tWιUXi\^ȃf7d p)'y:pI$QHkC`lPpA_WtU&h&QW\o2iL@1_p)r2Oy+f8Q;Z!(#15_^β !}N0ll|d"ɣ7ms]ӻG2ox PYv l<ZriZXǖ@ 2\M-ArN g@gU4,dcjCΪݹuP'O":ZmbaI#/nj&\]--4h4jxtlɕUXr]f凸e`)İg紶kR?=]f%vCTOЯ }ѳF':,L#΄+!˧0IK_FL\:1ܙ&} $Q K&,T7+c1˃$YIy֭*1nT[l7\*N! lt,Ey6{@g== ͈P7؆/} 5DZMCiN> 2/cCng' Cblϻ4=2`IUmgpBX„eP50"1C?|^uaf?7xVHplm aͲd%^^52iXi `Dw0栶\W t?2X?1 Q ! {y:u*7c쾚XaZ<-L% ֌\g*ִ 4NCnmGQ.}ISL*s8ٺB>ܺ߰=_JW!˻pmO|L=ĸ t sF7E@7.mCGhH^ \֠n+S \+YHSf/lHg*E%-f;%k$)iq|%@ihmTS6iD}5d$9I4/֏wM=o!^N UEm+2f,}+{d6ިеn$0~nQYRKCNڡ7呐sKrFrbrŧpt) o<1d^Rnh6Og=[WM]F=pۨw7|DvR8DK^jZ*KbJd>sIE;? ƀ7$.:z\hʇ?B-2Wm;}K.۫CL[T)}{]r wBʜkнƿ3s [H=AÄ ٻ"-^69OIӭ[2eW2O\),;vZDiF6;c]^_WlTgWICzsUH r1k|Ӥ2xyl;>hzj^|g&L)$;?qݎjZTux1<<):,>G| M?]ÒgvKZtSW?xZԂ[ ;Oh_tobU9LQi &ts$v:GIM_!ٕZ+M)`#y  hȔ3ʢєhr[ɲL_^٦I4ޱ99MAnLZ*ب16{JcYK `ꃁsrO@(lz"~*AKI9;dMhE#[*kcEqʙNƌS7T%ۭVF)zfc.bgvd.!R?/tpށQ!ڣVNPU/C(M@o:Ra d-rGFZqaY"M@JUO^[&- fXr|TrLTqdaɳ7ha}sPfjћ!u`RY<ŘqoNSN&43Q}jASΥf VcL4\`EsՅ58n\J qڝl# (CHJs䒾UslG8W[3)5Emт,B5f{-A:.FJ]H颔#,yL_1?8Kz M3$UR?! v`~7*$D%hRjh 맗ym罷%P냛X2IjW#]_n{5ln#|$F}B~/JҖ cw`Eדw[>&f'u trd0/M@{w'RDӏ L*objK+* 2'_of EJBK8ReW)*b6~=TqVjCKoĻ?($+?un2udv=ېP,"W4*lkT7Lܓ*)lᴤu 0jVOgqՊG o [s{N\:8(;:-hVIqtYp\s?( Ʊv%Ttx3{M槻'G| Sh4k+S{ ;LWH)']~"wA\l:2֜,c$PUo F l*2WDϾ~fZzB 6.ƹXvC{760%<!@:;OXINOJo8rlEvMY8W*i^ltm$3V*ps޸wXOnJS<%Nܠ-h}#`1]c7J 4v ShK{/:gL~*όJv.KuRL Pe"M\;a:/l,̇^[2@ugg9[Ě' A %sEۻˤCdƕ醗}]Ia (̲Nb +&_q-+N5eE)ZlZgnM^u}pn`ӦEN}USw"܃Rp-a>L|RW[q B^I4ܚ-CxQ;';0: ƧY|S gBPe@"h)kLo:فW* ynRF8:MUE) _ UB;.M+B:F/mW#|SLM첤Ԡ鬥d=3^pʥ޳E{tVZSW׭(.v/3jŊ8C3dT1,lZLt9|o#n^.u0^=S#;Fh)ŬVhVEK2GfH#[΃iaCﶣ\'Tp䒸B<7RSIEjxs_YR>BqC['v^tq#MlDwŠc%B T%N=xq1_gP_wnw3vnZor%Y1}-77롐Ȇw Q*~|K);%!=FRwhH[Ktob5[Ƿ隒f:@cwG/:wf8[9 ]rb_3Ȟ,*[NhL,ċAcuZY)2dVr|Cf)]kG=tD&ìBG;ࢪ>} evt&qV@$}']7_xW|"l6e{}gOڳl8 {$i ZlNQvJRUm٘}ModX` ]2m6W*n*J%!kdcZ7k9oI'kdel1y- ٩DrIkѫ]մؽPW۹;QNk5J[s \ _ ~v8nvyRvfS,VN*ߤZБv>gFI$ b]B*'UXf46rK՛7:RR 8fHxd9`Bstž_VulGQ1lBH9,tgϔI뗤yiNIbhpɸ4A'rtzVǓS٬/Ǝ0v" |rLFC28xȸL6,K pM;>zJ+B=9zxrfFZU5;BV-OE3Qv /u zi֒ axhHFm*WOZ(ë\2Md/YbNYpz$ 5t1EA1٬ZJVY~gI9 讧W mwF4Pg#Z"6Jur¥)<~XH?i.9F0WCa{1_cTh0e'П}m)NWUP2q 7[F/yf}WE|+fvſLuY/2b[D 5Ύy&0i`\3$9y}LEt v4n%K:i˻'IM /? kug="CxH>P"?J1tZ_]=k:/'r΁9h c !S)*k XwÛ w00BwdJ}"{ȳBZ۽'oo iӮP^R<q_K24[ъۄ)RiB"`G+XfOXa 7.:Hx?>8 {vJF !9ȁ(rFy;o΄AGyʪ75O*x~BB4PR.<+첩'~Þt8:{}P<َ{xic>,"d%?MxK#8$h졓f w >u94U)D~Km;E-"`]P Ad&푞e(9\Nǻ.PrNhfwΧr9)LiÂ{CWz wwjEm\I'Tcբ=1)k@GxeWt)Q5( 䰳Gp>vJ: B<")DiK!xϧ} DL(iJIuƙrxp]LfW^hƨ+4 `Qǝ?Ա4u%Q?SR#%K | $+lKezҐzL+Bվc'64Pfo'GbYrcD7+`yB٬\ Xe!R4u\#"N ,MV[ }{3SO+[֭!@@-}KP/ދrcox~G/%Qssι&p+crhC$o-hVQ|!0/~8VF"XN@ K{hцC:Jު)(%ӊ=Iz[ 'M2D7HYO灥ァ x1 vâ( &jl.EN2_uZڬ +tMKVuVB %8&sB:x탏v Cdz?8?!k8Ǫ/H1$y\vcwr:57&|^|M 7A$3F~XH{wjơ \ Z`yYnsS#,K59 E#ߋkF 9Ʊ|Zz@SԈ!Uu^UKͶB5jĐ,{*_o D[6M" &&CG?ld0PUɿA,I&9q#HS ! Ő[E)J^ J}MqH)˯R>m兝ps @`NqY.^m&nAoն c Ɓ漠d td%*U(D_S{,EQN!c`ӧe\XΎ}?/ plCM'(PɃpH7'' ױIfX}y=H k%ME0\΢uO޸y*¾w("'{2EE6HTA_ջI"OS"dfMR,zNR`ifu#JPm ۫3>Y0ʪ I% BWLmU]VMVQބך7uGQXn9e0{3P#PAs3v24\ rsyEgyQtwC`i5oZɌB\Ṭ?|\[0Z;D`r"jDe'}vWD o$`P-A?gKm1oL;uܪcz WVe'_b 4x,TOjhkj^L#AX>qBB<, ;\lUEJ<&Eݶ&;9 ר'&{cw\OoqHֳE#;C".^z;@>ϮO9lߢ)҄9fe`bvm:'L~kF$ U)}sǶd +}a }_|(hBIweb+G"6Cm\)c pNf[򰉳x(#aVxR-p'i_ǥEDoGv(ʤ` ?9hmeA gCǯ50aQlhrѦi7rjc?[ \3˴ %ޠ:4+C 5ժD +ɯQva+#}be$n}N{ Ɣwq}xM#}u*@Zcڻz-3bRt)YȆ/hJ.^I#  yhcz曬t8U4xRΪ*L{$z6M>BNkq迾c뽪n DTjEM>%?C,\ ={EG*fm׈z%" sϡ{e}032R,w9M3(Md;yJcogvԈ$SZU]z{3/ CVXJ SoCǴNZyrEOSӠnY5bFcm݅fF,Z̞͎X_.eP){AhF(KJ `~FB.xg{Mp(Mn+Vv~+ǃq۩> /|lsϭ#N2:oX%]S:=L_E7* ^ulTXH?d3xZx>OxfZʬB5ɠ}^}$B @G|&Y k :>ʻJG7ɓ C’O5MrK/gWێ=e1iO-w%rqM,ZgGhCa-ֱv#KwY tˋ{@ss0y+Ű9J12ZZa`訂Ge"un2ipT6F7} %vo>d۷y5ӏPH9gfQY*@|[d-`Mb H80`~҈ϐk˜Gs s)x)oSG`ι稕kԫyA%qyϭ*U&ȑ g]VY5Ou }JA_tLǥɮ4 bv8t' AںKҍۓfc GՎGמtAIgW ۞ur[ H8_ p^az?dO rb#˱`kXi׆I;}ߩe^h5\^Q8| aԃk%St/ -zHgGP$ںL)g["gTI&$K-IfRҌte|Xq~Z;ưHLMpz}k~88hO f~|r'^(D!I 0/`NUUDp΍eHGg?d~S3hv7櫷}g |yBIPXSXƂq^(-$ jNEA-&k=2h&—e J-Ae?7'xi0@] 鰁/&:?z*靬Lpddl%Qnl(Pŷ%s:Ҷ^ϬV !Enn@n m SOX# ݙ<=B-$)EpTyX 00e}7]}x<)\ BgGh- ?M' ♼r!*Hx.,pIJ I"ǜ>x_?{]zAŸкh4D ^Z37qnv MɣLzz:u!@vػcå4VEa&ڒ!eJhB6C  !Um t%6dw" -}z:AN&->p21 xֈ*L msKa@JU6vg5y0op(xdsGN;vE%-ip?Nge;S2lLCI߷'$uj33!$2ruۉ&ZRP85:ry]:=f O8#2˒Ѹn'a"ϝdZki{5_B`ةG _Ι͛jꆣoI]9$]ÌIB 8)Lpz qr$iAgX{a[\>.ݑӏq-1XSz7&)#wt*lN4j4tۯCT&D[V|o&F[G^ rThZ,= )YMVRFJГ"zi+/}4ΥҮm/>/ѠҀDN wfvsxчI~ }B$ppT2 E1}ݒCFS >jG'mCSԏVWĕtj= lQ~ԔgI*5u $B^C\OTo*PhV@xoN$"-ّ6|HAぐ\C #ۤ]G?"Bo%J0/~CM)Pt](\+:]o3Iɑ(ؑ7\~MMLEAh71/vyBoQ䳏"X-SP$z,D!oCS ,EkbM MFMZV[-RO.0DmC|*b"YnٓY%}ƑY.'y4ak{Yd4c#ocetZ_A+h̲CH?zʒ쾗1?:"NWȆvt u<]I͍ g Ñ#Et1)NO00b@'_*(E O'ZlBSiG5-T2fE e#JWʕ0z=odBMrpP'zqכ| O b`}aHs@}{}yo5G_`+- `)5M8"*+X0_E(h.9$Yw*+{Nl*͊{߸BoBw^Jc eDL w{qĵ`~BtkH!)vݳ8YlKRD^y]ɟ" ȋ5MWO,>ţ>y(ѿL;\r Ep74ިJn+_Dq,p!V/|Z4t=ml6V&o^(e>o ^JAOV5qh!cMԷ8INB\ {tJάDlB;(?+=ϑ9=nS%^?&VCW3Vp(,˴Häi,!UQSޡ+S#Zsj9讠o#nn8_5d- C^5Sf@6{W "W% 8z<ld8*X{wXuDvk!(#ٓFbqt 5(<$(j^[%l-uHli2ZODF=w[XƧ=%T鳮Y%p*^F ldze ӋV&_qu޳wz"( {oWiseLxu4 {Yd>7\6x_xcXw'~#ԁ 5E8wGC=uI#DПQk/7FHjuCh+` E_{BMX X Rl2_mF7?KBMh>JyDZyL@N(([S_IcRLݙQn/ 3oєKK7LA eմX=o~I/,#Tǝ0TpmtpNFl&Xe4&K}oKDOc1*"2 98x5\t:9ޚ+,>e|[sHi%Y Q犕{ZoD^]HJrx/1x[ SkJoE[cwfBwI)`(tVҀ PgZc}J™Oe˂ީA#J Yw0~<8H=lZkʉW{-AO&WG3 z$ڣfH{>uR|) a@==:iXƦ/a:&غ>+恟3w3$^[ 6 Cj:;&4rp`Y;c|'+X D){CK\Puy)JqK(xPZ9 QV|,@my&/z`t?0IK&bVs}JnCh,@'qk|~AfL6ƹ'6`w7sn\#$#eSi0,/B'H΍Ož__a"}|]#ˬ-Nl0ZfO~MȉxCӎ%SRL=Q` ne-D$6,1qq/Vd^;PU@\9尫 v=^)D$$)MvkOUtJ/ \/El"w玵H=~ 7S Ywq\U-'ּ=7\ynrBEн;q>$:)bգJ-O2+=}{9(y!iT67>J S̿"r 'x?,yod~X*QZH&kd$v1M 5aM1C3fKds4;J27g(do@j `[3XjhoŹv; L%(qߓBpb^xZaDe@rl+0:"fz +'CQ(TC=ln' 'ZC$TdޜV_["|2j0$TLT%+|D |Af0A|u`Z1|g Ë˂\da'ܙ|8x)8Rzֱ>?Ŭ,_Ǽ[T?,S"/Hb3 ӔH8ʶC{ #gDb4|F?3Ej+t={80{QZm2F9*=g/=·MhX[6J ԇ;@&&џg= iQ΁qgU5&XQFI /Onfoj*]uL[*-/ۈpYNz:P #{}-3jp0&ޜ,C'rגKCt(÷'NpXcCb?븩0`|}g)l7^=:QXѧ7`BUroCc #c}t@Jrlr^^)M$z?t vu*_g3yp`gx\XfL^b^3) 1Ȩr %DnFTww.0qG,Ija>}%F5;# Sh%Ym 4~C b2^_Gj q$.HW,pt,HAȬ!"ުB%Oښzv9k+)O*V!`|Fg}4c= I$Ⱦ8c[ vLJ1z00)ү!֕q=ٚ~dA/hm<6%%N-CGka>3w3$S@?b}q^l؋Jm ZhAw@U 6ȢeIGhtƿ^P9b}Qﭭ>#m={-KuDwk3hnj(?ɸ`kuI"a6v#s)X\C-WE?>iED(O {2aT b$Z)Ύ ͖DQe <W)61 =UiIs}2RqGjVƀj$/̽DEv biO\B00] T&hkꎄ㰁!?F#p)wVZٛTCpc^]$ڿn:)l JCNFc/~9*ysyh_wbZ$ƲQhr*y xA>:#\Y%JM4-^U)gC:'ɮ Hk1'j=(:H4biC9V+10d/X}my*I;+}ݾf ywfT80=8.WhRZt !* /HĬ.r,9?Z} EHc/,~DɰbiW\d;J- P1X)4#$мt)Ij̝]+Oly B53 5'í2"aO|\S n\BT"B9.#1qt4M` i@ Ԕy2>剧z"rqƠɧ`X[Aa!>C4e2ں: TJ|Y H(4hkudo2fRhn-5 Xx0oI/-rPG)]+QP1rԭ0y+ic}HN!&CTy|C/:0n < [ktkq,_K~fSϦjozyš.4_rp$\C}dTI`'YG.ЭfIrגǞL[* GՍ7APNjȐ}Vw%0\G—P֐hhaʧ$~嬜ɕQde-U۴1'I'5٦eWj;: DD&sJEsZvN=:1b 7~EL!I2`4ekmoJ$ 3e5 Dj8yZ)т :{-ߝd]EB-{x{nvx|!)[^F,IHwߌ{ 26DNP @B #tq;MQd@{{jURpXSBOP$l0f#\9x*)=^se}q1?/efۏm7=c)FNEPt} Y^`7t%[CͿ&= b_0cfJ70pt.r2#e"UtT*Y (`јn=k vެ_dTpϯ\e^B}83Le29cA;69A܅Z%wT'^ٞ-ZD&4X67Yj'xIQ; 7_ߏO`CE}^@5{Yj/IvsmHM1fkl-:ToOuƓEGU]26FD(PldѸi^Z- MoP8|3HU1w4xMZ9l,aocPAB={ټ؃]|H?s.ކ2Dn˵('z#9SǰG*N5jri.tm!#8\CE7|&4w];̊Ǐ)&ڈ6y&*GTT7*YfDzQc2e$ VasBmϗ|D`ޡ,i0ϦF/#|b(;xr It2}CG3#q|Btw7iԮwx>ḱGqDz5V<{i7DR~Z4Z"U:-L>"s:~=Kx7Zq Y;|$b}8yFujcTWsk:GYO2QWP,s}ӥe]`^\Z-NxCƧRY8ti!VWܮbl |kT˾LT\n$JGFF8-ׇ30`ʹW-q!Oz]S.>YaEcBg0d#Й;KHțarh:QʵE =&rQ~y{/b21aN*8r˴|V 䘔W2w)$gw76-5W0уUQrpB4-\nޏt+Y`v|QVvӒIpAޓjҲ1Gui > \4Ϝ_ANUp#l V9Yt,H;$xiOS/+-ztU~3g :diA:÷ݓPx-]WBUקJIP{&eoY_'?JH<9!HT3+cN=w?$iU I"UtQ=wf==)\Μ+ 7`QO1mԨNQdkOB\_S0x~PvwLlX)P̾ǭwCdj,k:k]BTb Z˲Ո%K#ݗp7_-ݦt瑫%cЇNBpo£lVry+lhfqXGa^m8݊er[)ީԡf7@EBV_<k tֈm畤 ~T@h>[ pMW7d^3Wgl$枆dJwvx!;_c)QjJ7{${D{x~Sfև,> S˔F& ##XQ zgXSP4IS̈́ww؎Y:1z jp摦i*{KEኵazbә߸imv+J& R5*XIۉ|y 2YL]|u[*@81]WCа1^^^b"uGEM |=߲ 3W758FS9K)ʛ4b2dp+',y1'VPاłպȔv=e݃N|'RIz]yӗ<_n|2nxY i=[S4;j+gH;G2 Noi @My!PW<˄Prw.C8dC6C%q j5&h)#X퓷uWk7"sPL٩Mu`ЉDlY^\N7F8'#!}9k-D $lSN|=]:ٲ5QUlB3s ܷzerA| svdQ};`14uN), )s&!|벤JL D8bz-#)-\Ud{ƌ`-T6 u~Qr&^.8֔G/eݑW=~ӣFQxT ?q)Q%q?aCubcK#aK  ^;|`tĽ4v;xtkk1ywT/^wq39w[L0iG^жRaf[C|IE (wߦzK }8-n%iu鏁w/dž+w fBf@t L=(MTJDIJUK hڴ(:1f*,O B"wLpbkMT_w(S"ev<"uA&5C9(2b&aS$t~ܖ`\I_rٻ'7ޙPX04pu nز@ kQ4#Ω/F_38Ia w ȦYJpdA?$y5>zfױ& 53{762Q5Jzj5&FqF..]Iƕg~ |1P IX3~ B"w{߀oZ+lwH-rDd!0t*]]B;uh )L'+DHJ3e4}$/|:bWӷg_݌hŘn^ńԧC[:S⍐^=TP/dg+762yWV5 lGiSꠈ#}:KVG9r}EheO}}ݑExf42־e<(oW=OWQE&jv?@BDh*늊Rf]y}ؗV+M8};>!Q l4'=$5~Օ{ElQWm(pB&BBȳBRJgP{Aֺ!kIiK8?)62ٓTa1]–}*TNl^'{h, iMgx9  g՛\d [{N>ʅ]QrT' AZG+)sńq7O4wM!ud5ܐ4})EN8옍s~7jbt,}s%9C*9#}-ZX-\|b= >pivr@l;()TZϷu ctg,4Z7W86blTrg%wK3`4N 8 ֐gg=#?PCi:8|BJ{ h*NwzQO>D@_At9HD ߂ux=h\iqC} o쥃O-A`D[!gɻeJ$ X[ir -7j:$=ll8t?~9 $>{kz!8@+2ul9ٰ*`">z (XL;urӻN;]8M[@4\#%#AO.V; 3͂p#C e, wq&m;`R9.nee3f["sd lRgPm\L8z[JF; -fw;#NO%>L9qW}pAxt#yGa!ߪQ,OJbbz_,u9ҡ45;O@M$@jFl *&7YF}F\6d*FOv!(=+\G1Co*FNM%pL_"$R. >Rm8ZmˋJWSE#UC*X[f'R42c{–VU'Pɬ(>x -7N+4KᔆaWe0?}OK[0du LnƇGB+/dO߶c*XEJW_|lcPg~pl]h  ZD8oe>W^z/0ZZMp#Жj`/ ѽ)ۮ|ta%FR, v/8EC>|~l٥)]AZ)^ZgD]]G bFwE}٨fN* ȹ/l#iڦ [cDQ=A)0ſs\ep {L?X|- WlO`5QqÚ nML,=Mܙ +:4ûJ%_!C[.axGh!aC- C$8.CypXl0Q1>Ɖ^TuZqoh5;x橇Z:}qLXU>@Z ̀XB^bX$EB$\#GJ %1g Jq .#T77c~,#T!BJ @= [(`?bWmB%6h[:Wv|wyZ?e ruÊhMНA s†=Dz u;Gmn?s3(Ц|)cK_B`(? ^LP΢S#B @ š>,Ƞ9و;|V:׆̽"' " Άg*6߰05o|O _pւQH>/:(am~J?m!5 )# IEqy&$pkE>zI_M"j.'-D!a{UUмUaPRW8BE Qk<*Dt,K:<9ǑN9BsnDpF$ \Tx ΐplPqMl<$hEhgE4d;%QZd~gջ&W Ƈ.s+1 k;u'lV43AX7eeâZ& e錽vk͜4} bdhψ|kjQG\Iu\mFS4P­1FSd͊' #n?u^~Qagɱ ds}\x?^dNWsʼ%DhpxΈI-73ȑTO$ y'-c?$)y dSWfM kn{ZRW63rLl{[͟y,:.~L'qz1q&4LrZFK,d͊gbpGlju7nV}=[V- 1v=e~t r4A'Ĕ+ +՜j-57|S%']+B4*#O+ }|hde{@դv$y<WFUH2dk{%M/ toLpq[w|EӒdߎT\9=5nt>J}ͱ.3[񀫝ͺS>U[iuM"ץ_2 J6~ }9ʦ]"NKD{I`%cogn^p2ػ6q6DMpufso OW^HV8fTA3L~?;Za@36 ~u[I/Fp/U-} ۔/L ڡ>j+T!“7 "EFduWo0$æ`<eUTw,K@Y2uM6߈t&q{=ZL)@Ig}hIݩՙ:-{E0#'-^r!VGT'VLtU> SM`Tb+qKWmU!xzB+tPyG!_f!^m u.J-2"#= QAAG.@,8[6L %DF("_ȿ-ךe3΀hܑJZ̈#Z]*Vc%lot1j"%# (ADrvcIOsON7ґ$ۺ^Mn{{Cǝ\ ,\B#2#)"UWH+ s#mJ }\ Ikt` =uG~ 4jUu;Ukn$}D"q5LH۞g~IubӞʱ"e C7]l(0-##lrwJwlqiG0#o!\w&_ |$RS;`|lBȓ2B8F܊0&O-|cTE5#MªCGEKA IqD5R&uC-0K-Z ?<,y1H4J*骢 b (0)YdKl 9(RwX݁6{Udpkʇ |l3fT*4`{n7ϟ٠*OOGy0fQ¿rL|G K0u5չ S膌^EIDg3hy# 0@3wv }N1p|/ Çf}"n/ְ-g\vz.?݀kHl%Pe":fgAMIEBrae?ۃ({[G@ddFW"C?F;բG 9nva||EӮ@!?rM~L3=?dfa V0lb7/+ّB?gpT_b ͜<xi>_!"l]l;Sϼa͖^=u.ztleC`rWv>ZG*>Ԗ|Xx^@+F [U.pei/\r pE8o}Rw=܍{frb#~zZak{q;}/Շ%:=ruv 9G4" k@ j_8N,蠻,$Cﲷ[`QNp8ȌtXdEFduWRH @R eҏjd r/Sq@g?h kNp)I=%UL3@-'ĝϢF"y֗:%Oѫe( Ԝף0PkG&ʖDrvtDD@0 %aw#}mDRX(N䋌Hdc v{21Lô7y1%S0ͯ"AdBveC +brqcƕ \:ѢI__--qsUl;x|5r mIP-!F? _HTahk^U$%9e98.{"RV~'W[GEWޑ-$G!5 Ϝ>[aM9~YLP+)&HmkpG4S#{ʼn#F;5LE hQ7rwHԉߺk} r[hj ;'2X~/Y߁D{,f*EF[1ſV JE= E ~ɌV#Ykk+ <>{*B ^(P65W]F%^|/YOޡzvSKOhyBs9H!DsEġaf⊐G x !:kO_73@9zav#fvcKYTؠZ0]W+ 'l\y#/ •aZp ,BpV OnG܋rř Ւ* {gPp] \-4:< ]wwwwwwwwwww.wwwwwwww`wьXPA;@!@) jA)J1jMRI6's2!$ŔF4 )) *"~hRP6R /p}hxd1ց^8=S 7>[@5RY=몉0(Vv B C/X܊$:\;*&sa hsk^{!B(T zNjʫiB6w&8_|•4'=nĄeB7TOhG3H4UpR O&5"ȂҬU{nOLB3[PLH_rJNFYC/Va^%q6|t`/{cQJ'\!CDn #UkalXgF\$ɦ  Nڣbi· kBSg0ɦPF9u ؐKs,}Lkbw_bE b, Eu`ֹFC5y- UwtIH\e =]yn4I=sԧ="F?Bak5$#(kq MѸӂ8[7# (5Tp?E+n @FeEOpϢs=j3%-eBFUؤnTaľ_eu$}qX_Z0rQ(1I]`x:K>1?ռ@9K{|BUH iM(cA#,k!t١#~| 78J&!ڶi>)%p }ͭR7<(ᯬ2wxgbA$2&q9" Hx9BzQ:f Y} Yx QT{F`k['wHⴌWuy6TixwILgRDٔΝNRf%d{K5AvwSߕ//K#}O%Ri_ΨpfhʷY9%,)X_*W ȥbiOoImS_ǵsGn^ tlJeBr \nYR^=q%߅=H+ʺJ<+Eth~$XL|tYDJ@ȓד:B(-Ś`M\4W,_c;' t\VGE nwSޖG+Z[ș~1̒7R臃 [3l*t04-2ձA01b۷-& Z;!5Vİo#ZtK\R]S:Gȯ%mpM5 D{3RDBV%F챜RIZ#dAmCƲ'$5m0z4 qvOUtnV;9MŴ F}xvc)Ց%eYzj_^Ҩ<]?K; V$,L'Eۈ4Rt:s1b$<6*cL zSepXlǷFlg~( 7ґh&5 HCWv2 +|EP8@Ufaȹ2Ņ~8xrJ_;\|5L>@+KAhsj'O3OLsQ-S <s{N@5m*bf!̟&(?KMTWD䆝-,]#!ҔV^ 5kE ۰@,|$Á7:/H᧾&F[-;3{jM6PEJv LXf@H:0fsb/5e~?.G~nS{^?m|y4 Ia0}8C]'1ybVb**JɤGF. 1DDlpފ`&=:|02?d>V5P.;1U]^oU.ct+">Az2}hRWv5^җ^ '27O9;.eU*Za!O9nozASR92/}gaY#R<]Ѽ)V&Q簾YCiiOr;E>%v? alˣәeAgэ^9'۠m( ^ӓn+˗gOI(Sg1Jep~7?fq4 Wla w21 S-tN\[TֻqYK9]6=/vI.\<-4M|)-ÜL?ȜB`>%oӊoɀcB/J#dqa[@q5r[͍]mл.րwΖ%?Ylj({G4!ŦVIa} &BDiMr2L_gʠ<7 kO|tJ^{K19: gQ>Jk$g^\h RgztRwKǞ< F#Euţs~.YSyd3e,?{䜝BAѺ_謲L"I PDyΌ=_]x*3NOp& r?êңXd.lX -O;.4EvPR H]\gMlO'ۄY\i7mV/3& RqnEN_QY7{mJshA~[onpXxFhk[*Vy΍\@CG29q?EJ:>e9 XѳJ W壿viY%=Q)qF FH~ƫFXM@0U3?Hۡ,m0|I+?m~W P=^ox4Z jH%rOAVrgLVJe 4#XuMOd2ĪV(;~CUqh}Ƿ,#f= x&Sҽ_U3[Ѭ>h8uɏ3P;V>̝7T_)Έ}"GDrzr8'›rB1TɊ\[#:`DurEz;cG\1&>\ ֔yN#N"ΚC``RJH4IbR=s`/Q %/10Sn1 3);(z܃C&Q>tTH %[MٸeTϮ! ۳vb.[zgqCJ(B]#ȫ@Wh[HXD_ Xl<Y;/m 4#Q$!㪊Yt/#A @y&"\H0cv2<"5yLO%+;:f%c.i.tɌYM g~?` =%ݚbPHRPʀ _r8=gZ3X`g ܝda ^[Re9SY:ʜD(BLY+*C*CT2C k0_BfP e5a}4>LKRK4 ٓz@1O@R'ǔ>[N;V˰=q专GR]r(D܅AT?ߠh$r doq $6x9#SI*SGWAF%EYf]Z{KD~Yt,fud)8J~}`Ԫ<;7h++goc  <թ ZZ1!Pfq'J,rq.V珯9c#T$9'I{d|iXBVJ5`ݷvtTz!*qQ1 @53Z)9?J8ca>) fLN?>ލLKJ-k Џ|]B:H`jK a]~s>]{ 0\`>5X_Z&֛Z0GwfX0=7,D397==R\[N JH~ d b~~l0);23> $[xv%(*oB^k:8&TȧƗVLLTrږ!Ӝ4^tDL{P֬#MgOWe}X/*Yj}>%S㶃 z`&CJn+];5{N+>4!S}.#NO-,jw/m/7ԧ~)FiY,ioG8PY#HqnUgn02n 2ʱZN*\ E1#{s켣~Ȉ*OthhC8QC b^sz篰K!z)tewl8´;\48MS7 `xxm)q得y!H7m=N&_[Wa=Ο28){2n>L믴[Wv+:(O%d8i?JSf b9/,SqͿ*%U J;åܾn]&20G>4_Ɋ͐!^9S8R._ k4S,I'C#>~n/3_9^"^$pk޽Y~ ĥ)f#abt#O0Ѷ h!/"0G6*[t SI3YgQƫLLt‚W\ X(«U Bu.'Ռ(>ؙϘR mZ" eB|f ʈqڐآ׬rdY& b9\gaGҖ]Wqr,1loˠJ{CDd";%4xJ@;yxPEfmC97th/oҗP$|DAc`.7}P>Q-~IKqjsU B0ijaO@^7؄@ յ1tp(>F* h4dT' sPTzIF0x<#=4O܍s&؄ܱf ŤUh:GA'/[Y{y%DJuLnr-;9RQ#EY])z@:[gCu/0b}@ Lzw;74$EܐPcѓ')?/?bS,<ƘUjxfJl $_"*R,Kr*s/+V-\c{ ,}f<ɲF4@n;/LНz,R?9mr(/jſΝ{$Gk&Zk-йh}sCo٢t0Hb|XJ͕1V7bckS6#5/O[? (T3lxm@kAtMa&OȆ?f.e3 õS3# +&R{LnJ-A<%>IIN P鉟Xv¾vV_AV No,72}#FaY#=vtCʽ_{Rw]abԟWM]j5N5F6+틯'F(%&Dluh[%Za8N&rAB̎l)5QhM3}O߀H4QPsusu@i5"62\onr:-SJxz bD_+QW?!D3gy s<$}S2Qˮep;Fe^,q@1ݿi\bQo>#owq*[Ʌ? 7\ҩg[Wx ޴ު>ZijiT-C&|В >$]I@ux -7mڦ:+)!@P`b1 .{M(O@=sN:T"qDL3F[ sk V4S"}'CnsB)OjҺDj9L>s(0ㅈ{VT!Dԗ~YwWW|R;>JOJweb_nFy"%{Κ'78+= 6X[-~՚?)w~=w_ >pEۄSp:$IJ }N\&"=LvlQ֫ cGZO}'s*~6yDfg 0 oJa$ؔ%M!;|pL2H[dT+],[6@+?BȀcd';Cj 4_:&_뜅WCKs3:a*ȑ?Svv%Qc$y$spn54YjwO2QLvޘAD!KEӷ ,r[@%iiUQ[Xb}@6izݵB;?ht>ĻEjsHB8PЈa+#gRx1uqcרݞH<߳8OVso:(]ҏm斵 kog"W5 8MQsL$sH]ȣlڀ mDEc= s?9ɪ ]W h=Sg*:6*ccwxi@,ˬVSu,->4Rhv2I)\$(4NaҠr)n[A}D<2^N0R=ϯ8!e{JKM3sU6̏ lzRӅҭa*P6-4,Ui my$oi}9дl[DR \=֑ϡ'f@9z˧\0n|\hW0*vruV7>1 Iol0Ypmk"/#%X7_+u#U8 <3MD?Dz:+ۏXҧ شh|нqcJHd>iyju]Ձ=hlGRd:(3UxTX$P~5Ob^B7puv2y4[W/0~l,cW|ӡ{1YڃWq)1? o_@JW[,D[ rE )n)/\ˀXy#CƺhY +lL$+7(w!!x5rˮ>F0k}9efW2M9F7 QAvw\k[C/7ϯy%~O(a.}JOHGOx6KK۱4S>gX B"/Ҽbk9Mh D˰bmdU$<!rs5 6v^PkJſߨqF伨A!N<ۇ X, +svR߮+zAolz൵$4Jk Bf\c.f3ThQ` <f$& (9z Ly&cD=& v]Cw$q^H^įTe⶷]_z^ dc '`"}oGR-i[p , 0 avPW ^9ї5`.Hn?͛ke A'xWN_K߿ΰxiGֈTs^t4Q8/C!_8mٹߒ-AP]r'EBNW-(9܃tfј!QA!iV2P]b2Ii؛]R:侹>Edٍv@Jq065@fVapWN>~e)vؙ.S sgb {Z*Amܠܜ/[#NBٔLERBBTla 13cPTΊ[ z-jYRHB@`r0yth[Z12,/so?w#^Z= ;C!.iTp|j^u?n{V~3}[|Gy{ L[L4|cU}@qtu}c}о0MYNO x;~$9escL2W :g%ޮ3ÿ*⾆FY7c0b LF<8%ᦷ)Ky?3|0ڣwwc 95q""K [B:GQu>q/}+lwZaP?Lq缻S=3^U4="'^?O}o`o6ƌ=JT/gi>Ow7Ua[ krF=17BZb?D ޜfYA*:OSG5j%?)ekA^+ӫ fƚqWvJ ultFUk+|2bj"kC"- Y K8ˏj۰bzg;FgӮ&Iv-TBRITٛ2ڏu Ɲد"Jπi|ڢA݆18+u' 1^:MˆMhCEN2gCz GхZ"<+jG ޒR@ ռs26Ay xVGєPߡHuA42jD42g$d'CN`hrki(SA3"Ie)L@^x* ,Ӟ'SQUWi򼧦w"RN@PUޢ{Qo<nDPP[3ujZ9ND?]X@Y,&{{*3X2k~!@Ԉ(*Qz:dXz0 \BAzɄ>Q<Q266|Ւgz^ea Ӏ04Z_>O&;Z\!M#64 e.<>d[3L=mZ8EH ;>e[ʉm[;758=ݥ %H15 u':UܩL S\~PE[b gM >o}g!8??;vaKfxG\{ ҋD$QcC醋4W_^ê@f!f}\\Y7p*K{l7;5bo9$osHbF=V-ЩgD^RZIZI9W,YHPKwn ]uϳ$]zVk>D7Ҏ(s!DGKjlb~TqIɔrZޤlkn&7`$mHﴊE9)z4UlcPa@)y|1V\Szkv䂐ÈM7$ .О}t֨G-DBԄҘ^|Ř/-4*i!RaB@eې\RAV`3J({EeS:JtPT#ҩja"ML3+7PPNiڟP` 쏸$xۻLPih QsijPlsV!3U&D#hRh#Jn9i2\]{34͘D#y41|ũ Q]yWoxk$a|5xY|"bIe#N2(Z^H:uT|K XXD򃸬]/_&| TAx.IhR`'zR(yꐨ[/C}#*GQ! (]QoڼSs<<~~e@[ux0 t{jȽmCktH{iNӝn0&U2F+9i~{M7X D37lgNa$SMrH}gwV>_Rx?F/EM_"nylxK9Ad65%c7!:{aqfgRq?}pe1~#ԑM @ fWb* `v-JP,Ƅd*$ZՊ;/[Df< L(V{>e)3S,&44'ad'?4>.tE炏˵x=d1:[꣆9EָYgo+Ҏx/m+}K.IzKh=_~=YFvI x_ zYO1j2~.eX4N5,}"64kOpP5ZH >IkF  T㥽*z= /($P)C%1`[Wurq&v0Ar$܎wJ+Q 8 o ${PX,j-_ڲu -ZzH ]R/rKo #lꗴQA+k 4:E 24 ʳ3 &V%oPYlαDOV8?ˌu|t׏++CIix(8UJ#ۘ]w%=ңP>Ú;SI+CѰ?SBR7pMk_w I.M:n%%Z7&G[_O'q2X=hl;I6;٫LbnW7 jբF-?uW,:H,[lt}{0V+  O~_|j+㫍#IIM-I' Chʡ.߿n}˃nDv:?G㸧BҴ evƮI`|<0lYWڟRb߀|n PÍ4iZ}*՛61{7Y*xY,H*K>KJ(%IKScTTv6bqU;0"h| *=~ٴ5:A{7?ZlY1(.KFҢE%N9.^[,ޙYSA7< 4M!󎑞*BF"F|2J rJ}j9Pi )sFU?\DXic1:!C+4, =4E|-$x})G~2\6e(Foi݀~TEw3PW:o3o̥џ5б1J eǹ/f LRų״b.qdyŲ%S`dSw2QsY+uEm UafDJ4Og]ˮNQ(-Z]R!T!;\+xV}@eđ)8 kzbU5]jMJ[`ê-%13>+_%SF=]Q4ZɰRSB9V9Z@^s AK+9/OY=mgs dE]jcΛrٌD7 > lY{ѷ1SML {kI-ow$BlE[n[t]1 0,)NogoQ)hicU@`]gFj!TUR.^)\ݯż) ђՎ~]$?yGŶx¢EfB83:vɬ8O:N C~c+JA& FϟBZ;kuzOݷFH=޻2 g p f&2R 'c-Q.,nnʼn:t$J|n۟k@,|mSy ];ccuwr^6H\l ơJrHB5[RO:1"J, R'/!ރ]B!jxڀ!pEgusrj|W/(Y^ `2֌5<N]s?B4˲CBCm=b$.淕5 5DWkg5X_A+Zܳ;83CтrC 8_Ry{~mʒ rzBAfC%DS .ĒDZ@*E kUgL)KeBtLJZruqO\'EK^BFzȢE_}Z1*U1. 7Ӽ`=Nca5i{q{\O4^ l+Dp\ee8G\bLKzsp/!EWYV(#r,ۤ!Wⷪwg&(d&9ٰ?jR# \p|kl#}tc*\D X}5-MsH%+bPP(Ddx-fGuge1QEx2/PrjKl:c/Ĝ[!dnE,KCճ˸Q LOԔ2Q;?GyJ>_ICJ)ȳ"DgY}V̆+Pӝ^b~k&lӏ̋x֠W)G2v^ eEY`ZNmVgKLeT nS<M@F]K˘nQMkJ2e5߲ ԋp .dH҆Q߸MPח4MO~o,O]#3uńww1h{lyJ aSA6cۢ[s'w4^55^Dh葮<%)_ydptQsRO:*Q7dNjG>b*Xᘕ8=a0Jc{hywȩ:EFljγΔ~n+gѕm(5Az|i~SFOrȞS/שlnu6xo% uQؑc:m)62v2\iZVw]ؐ` 1"*8NOpK/k?8 z!Rf`2GQt ,*0 iR[Ŝh;mS$я5EUCM$cY9̖G"vZ}hOgo0<TT̘U)MOՌnL,xP‡ơFw +'_޿|^$hݕaloaz>Xk7yI5r%w.tP|-r{lDΘ&,aP.sV(%sMem(#Ut> /L6]E2Źf",dWd%uK:DF.2y&JeC<-Zכ|&Z3! hoJ@T1[AVNt WYF"r@H{ >vX.n&MH5rg.uN,p O$}9<^Ž2xY~˼T^g㵪Y);d|P]Z<:[qSڕr-co!H NZ xt*?B̏8h!2>>#iӑ+~rӑ:h'aV$7Ocnd?)2dʛVfqZ5>-"HF2HƖpH٥Hef5'7Ns+Ck=ȯJ Ҁ|"*`RB,}[10&z?w`<^7k!,w=Ӆfc-Ջ/i?ܢܹt%cz2&v@+:j8? ]tT^sN7>B\HÀ2Rc]mL{ smZPI{qz0{ *$?@}Vt7T5+%rS7I.F<˺cS]vn|Ɣ0Tj\2-Ay.Coܫ{jb8dSY4vImUcd+FJkejy/BH?|!15` B]Kw½n~=.meݩ ^)(C.x3 & )Pb > ٓĐ2?*< Il}TFxsQ2:BKhAޖmviiJ?[i_s^5{ v{"2a)ZOɵdyIaEnNf|3[\Oqv?N_7`VW:cI}IDgčCQӊwqjv6b+we]c$2B"KJ,Bֵ`:[(Z`0&NaR0KT?-W3jK$/tPpPr)` 7*+i&;4WCt'VSmL'kRPJK,冇ա \PTs$-8S433x3Qn\3P*sG*qEmOu&6JW39tV\ܗI?7wKTxb@k+#p+gB%dlcbC'g???<%79m i1ox.nԶt&Y )BmZ7:\ёVw8kAW 87<+O VWjsmh4jͨZCfeGp}r vL%ڂ9^KAT]Kh,Mzlj18u 2 '""!zt]PJ7Q 'SHSQ*QvndRi{6L4]Bl{8zXxwR*o)y,~?'3]U̲6,.ayiWUf*m̀g<-BGS'ANf ;%>^O =|„OgbZ֧[bB@R" '#6.q5\'sp9x^k#ضioU:zTe2pT7H7O=L+Q),3\ 5^ԫy,}h$dlLsÄ"DG` tkvs;INJnbU.xx>Ϛ?vi+~W;7%-´3U;!lDhDB_BOJJޝ^.XJmf&#+Z\Y3|Ջ$*q\>S5^Qx>k F>hBicaiFmBƁw(?3f8DW* {Xܡ0O6-Jq#=B9?_zkn[m1-@9"(؆-ݭ 4t\bsl6E]p(;j!ݻK)UДqbTxW7AmE9M(\,nRPJg$xDۼ{Z[5{{?oG9l85,G}ymް -!4ߢ`G9W;!Hst]E5\Fy*/gl IbB5177G#7sT &5.<SGIe(j`&Vܜ8J͋5E?©v*JQ^]> Z_gbЬ/o~ u@Wzexiʤ4+,.{Y R&ն/mr;]u0LwS%KNQ;t ܍[Zѐ3 h}\uRb{ DyL%͹D}~G h¡Ule@Uu{[|y(aU,zIJR/t"Ev5MaYJnqbx,eF/@F jd/Gc*a:2ܬsJ!Ȱ (s+TB3Cw֭ҿύ' 7{]0>n:"+dC?ѧgyT$O kw!q5|FF0<}A+xٿڋ!+ ͊ C?$KcqO{ҙ []땈56Q^wxTdMG{oOx~$'*||Pk T[køpZ[e%˝&gM\-v`d=ݞVgiI"IO}J]#L5]WsDEnDk&0z{yc7=TJƚ~˃?Iԭ79, %~VU#dW^Zfs֝?EոhDKFb9٬WR[`@}یMfe8zEOwsKJ& r}^lh@Hq$$J=EopU*\ܩP]b#ݪ#Uu6ujrJuޖ3eCUL4'z!]eCg+p][6p%ij`վS_ŲQtB~iG~7B6C/賬<.:[8s#_rfZ PÐA Tȇ&"M:)xb#~*SAĠοLSք[ Lcnw Уwe\j2 =Gܾb7@bLGZi.)+, =Sh- c;'ΚKK\#8=lĭ/SL.`_nYQ",ZݏdӞ+=~9/,'x٫"dN~$bk #KBh{Pʽf_.ew%jݩ+UkBwUhݨlC snT}xt i9hy ;T uv!j_qՈZJCJ9A{;LIHr:xҵ4dƖn~pq͕Vo]p# kӄѻl86jEpbl $nH1G[ }怃No^*/sʥin:JziDʣεWnr2bɺ8D!s~=T_Uq?PK joKPľE<: d2.\p!s btM- H3|{l[:E3u!sz=DExՀuīl E1[^&n:U1|1lE80ڊE.se [{6ްf a&yIiFH<>:edpvn˱V_ɶKj.?Шnb<<`kJN#R|U3bCxzk)%NBUݱ LH[&8C]̺&7n[wm>D)T TpDD`t(i^sW!hΏ(u]woMFXփqoW;El` tZ*mLPIG#C4XXH NyqԦ9VZ-x״6Zc)W)7K퇛אGWi$uv]^ǡڸ|6"4_ϙ0:ϷX7~Fh"t.\ *{pl?mf|SCN4X>N KMT)K! ]6$m>toq&䞴%$vPj9^֡;z=}묑tCE`#@Q:~q!m9TS{oМӇ ɖ>r+qIR2F!QZP!`+ESd 0tF CuٴTńխ36bzFTٶv$mS( I7&gzfJ y mB)G r4؏iƦ bhE4֛12X=a*r9N\N[^Fg3[<&wQu$b_,\e!ǘ|6Ua7ɄDͳmݗ$}T*(t-":jNc3Q %a ݋xʼn^i`-[^W9g-9q~ mcѕjjխ ɋӋ , zWBh T*|؄ױAF Ԣ'%Ld9awҸ+i=XrB\$@kd%|9E0 /;x}in'l?C1j%^HQ 9XJzWPhQez_Q3?@{zǁe¨z8$I;ie*pjoԽ@?44@fռNv{pGA%j"?7UvɧegEt^qC " |f^5hɐafQ|MF_ q@ŢXkL+q^^ vB1ѐy3@☶yfkOgK0G5wV-5gy|̘tyK2R%ɀd]}ay<>'1!c2AzZΟ^fl9J_ \ #&藵 _sZ"`R v]Wm([ /=@Ujh}08@r7 4TIH9NN q V<uA5ǣI^/4U[EhWUIRYG>dx? 4E7RHxq _x eV56VvıAl1bPdBS[Xrld"Idz3ٚ@])UY8i1cLD@m) |^jwm%2mi J|iQA ˧G6TOapz4 qR )iŬVo=nM=9$[\ʳr;>V1{#˩<$yq?yX봴1EO2[tv=WsfDQ:Ӂe#>B|#O %W[)i w,XͥZ|Mo?{SS؜e#-JX^7":}0gI׮Z9 D8A^qHPU.ARfX(m""#! (+_8ن0Jt~} #xzV{@4POlg-ptza%ki*mr1Wjػ ^"jBIϑ)|x%iѪT_L|Ru)AƘ iBJ=XERgY,k 9Dž)MNx7^Gv[ ʴS>Vd&iW%{'Kl!82n:0s> )&y8+RjyƩe'z~6[|W2?%ĬjAð'KzͶeQΪ|YL挌,s\ VX6լ'8Ǵwm)ZSGYNY a*_ dȇ7{l|^JYؘ`D悻ܨ c{QoXmeV30o{s]B瞃3T0gTs>υ#o^\8*O\UhA[-O4vΌ86u,I,55{蚁EE&U": *SzF6;k&mŸž 21 ڇ>;!T*tVPqӎha~51"pQbS֥Հ(W:)[x%S4ѦVqQ" 7G~̳'QUGΌM)!;Cݘf!u6IH0Roy%#:[YusdY~ާEp1Cb=Z'Uv+mǡޛ E/mtV:꓄X2y:~a>%;]p|mUgjwQ*.e:*z):Of>]i:U=jh@V6kE=RF|4j4)UDD[gNgġfe hl%sns$Z_] OsgAFX撥(gkO~{F @d}4=^ι8'ʼn?tçRy_E?!:V^Xg;YdDEm{BW+z*ެb`OʇLg A_6!Ą':yY9J}㄄)Sx< oUkK &I>;8q SnnS./5fF@2Zy!"jb!D NVPs$v"6冓n$U~A,mk\Rs[F E:3J*M7G]=G ( و|B g:P@-+*t;Vÿej1e@x.noL3kTV,C!GX1=j fRhQkL2𔒯z[G+2 .I%ҮVf/=M+ζ_in -hϼZeQMi6qgpR@:  ~P@^lrX:B$'҉Uё澅064 WjdSa<N"zR.yGS=o}V ,eF Ӽ'f8\Tu˴kq$5㤉Rkn_w}%>u s=$ܤ+f%ҐzHokDNǏQ<^ Ps(.ѫڬ^p^Lgq(kI%`o0e\~.~},匿֍]R(mY ӄ^9Ois ad{W;B04 ڤL4(W%]LyEfI[-8)nvM$ML h֙x;7W`ݽtڴ 1-$j`KerZa )J3w5}\8].$k\PomӮjzG&qiьvOhn0—Dd4idDDaoQ TaΏ)-?$ٗRَL9el-%Ŏр avcޘܪâ*ϯOǰa熴F6Ʒ"TbIvPy?H_i2<}#"lpqC ȺD`dqEY7 B qk67iwxK㭅BM+ꊋtUwi靭=breipdcl _mĚ(7 ׽IuKS5W=4D%< ~ڰ;1FpyZ۞,@鲤NA>s<|bBLefH/Rb۴& #>w,Uz f 1 y7f)j,/`/nX;,WcIL0fJb.ܜoIdge͟;ߗwȾծm>Vri6bPؔnx$ܫvdI'O^Lgr͜?.n9[: G_+muucbfYp~ϊub |c.k&ER~^#䉖f${o{k6mm 'P K[L=:π.[qtqd},i4j\=1<]QD\(JkD]'14J c0.~2BgqrFQ*Ha N T `#o4y6E //{tl['0*]8 7 =VUV|Wng^լQ~r hd oZ pGq$n߱@9;Tm(M25 S{g}cZ +/A[{#rJ}~̟^ngEMe^4{9'(enLzLmdzd/ٞ"P^p1ABPr2u^nj #\AG"|Ds6OrGEaۑѻnQV B_kR0NiMm&5l%v7yL!{%M$o+5>5'mox{QV":XPG);zBN:RU խB-9N]ћ0³$3ޕ|Bc.ʔ9W+ ÚCRDL7{95Y+ S=GG x'^6Bya6ƠjZLףYs|ٜt۳`OeF )vW{{u\B@Vs4}찧Ҟpfp 88WVQTUtWޞAcnQ0Jvߏ0Ӛ-'g7TEL]ϏPc@K FTN|HZ]A7ޫax 'nQzV| S8<7&nL1eՃQ{*;7 &mrw{{n򞘧@#:7w-I~ƎE]f3ZUP8& 9Uyc-mà/#j}OK:+ެ^ܷBGɍC6<>1Ӝ<JO]^|cj1gLJjČ'tʈ rO˞XG6YլwL+@8o~S q4|.#h i!N_y5NP1 ?iКߌyܳ[YOqVZ1TnfuX潆#ef"ՎAMgU C[{+zCj-{_;WLWr닩b~;/`]2|H-Y_[`[3inȌAeRT 0ze>m4MkMʬ w$)nK/&IV])!6@sc;?t\~9葩 1.{60|t-Х} 8 KRW,C3;m%U5$!?Cln/ԫK5R\|Ƀ'wDR1!{]CT2%OХ*q<%8$ cvma2 ScB'm46%[*WWBEnO B{_ՇT5o(}pȻ8^^i!}~P LGiY:m<&ds?Y[7~ʪ /_ @[rFF|۲0))yŭO2/;?Y[?Rhmy-5ը8j-A}%Sݵ8iqѽoXtGMMK 7p?Ae诅SfFGͰFqDbpX^"s8_{4F֍/R\qO-4.19a?v#N(Qti-P!j\;j#/ԸVs'Deg[dihFdu n^4pt}8.l?["6=Lv%38"גLvcR)x[D=4/6a{ȻBܮ~GqzwaI H)$J3 $MԀc)uߞ5#c#hGܴs]Wry)n3su Q;.ϡ3I"@gV:Je`'heR1pY1ynKa 1I\+ˤ^j7{#|c"RǪmxy( DM3墹΀0*&E]n%>$PqM/ȊЏz,k\쓒ޅjsĻN=?QD>:GJ[.m(2%,ϳ?N5]Kdh]hNŪz<1w/oݴ )*y88RSӇ {nIg^^DUhO +n*4T ooRV/1fD%7IΔ}gfTghÏJ\Fh4Vť8t+ xl2Sdո10`#fۿ;pW|C?JRS[ɪe߹- /&;0on?o3Qob跙I<\ϩMiqn(СPvD"'\ @MA;fκm*/R\u[`9^T3pt`1]1'K$连Q?frvW|yB P7N4e:[̤+,YZ Χ<_XI Pi%-s }ƫ$nor_ /l`IRriMQgO*,*vk\ԼET ։P!Ġ41>uc3l?jmAV 0]˹ʽ=&J1]*. ŻVNDrYEY}"|PYmfNV4DwK5İ~j !Ws͝$u:C0.+s+(9*MX2 $FG[S|VުjbHZIWyv9n\wX=^ug @/Py*m˶*#h dw@k :rw{4NPcna)AG i\ӛC_IemΫyWwD!Vm=˨ݼߘB:n[P7YS.ip]ks e q+f/9j)Iv*uqF=Vs^ϥ~QUO vC8#3gOyS4ؤӶ*ni)4QJR2Xa.F.*5rJ'߈MNWzYE#s׭j]`K+=!2UyqO-D]:ݠcBjkNg[jj;<HPTW˲=,V}Y@;a۟ fǷـ,ᮾۿӿh qTt7ԅNQ)/O 0A`d+B׳D# b[=@.Nq3}yztqv/A~w%bM7k{ƣ!<_P,I$10XIsw 27S˰"03h69(fn.*ptԿc pi6}sEȳwMf+vrgѧ9ݬP՝_JSP8@0O*X U$*گ̬ msm=Ͻ _k9g3Qrn<~.Fk23 Pڋ ȟV$*r>P`jlgڣL'&˚̰3K`Ohfz@ܷS5v֊7Zl+7`T- *Wl1}+GU@^B /eځrԷKx6UM^MipC؁̗rHcYN7&jhJw.A}BN?"!hAA{a{SK B˨58h)LniqA 3_%o2EWpxW7l* `-!~ Og?h7wdy )8y x>ٖN΂VN?X9MEn,B: р6?v)wkkG`^79Y)%X,JL]ŷb0Lӊlk'a!JJ?dm??CA͟ƺl] )H~8 1˞%rwPU- & a!<<99H9  b㯿h鯙/ ctG]r s;m\&V{a_rId0`CĆ#SVBኄuOOQ_uB?9p ?\ Fdanb(Nʝ~^D ZꀡT&0l*Hro,mG5i{XOǘZֽ?ά(cu5^N~(ЕDܦq#S)כbVR&gc*hܾ"ӆ'FfevG@qT1`i#}*ȭ;Tʿ 4M=IS;Vgϋ%`cEų/Hn蕏(¿iGu^f?otnG"9> &v .+ C<mH+EN38:?˗Y_X/@=Α=xPPf7=ИUwd+P[ ~wX~` ?l3RxrsU;6;vb eIgOcí'i3f&I㳽T5WcE.Bˇ4-[oR;+`<$r%OA8́HC9ƅw+n=~V05! 164>kj!*pfʵ뻉 T[bl]-gn8:.V.z^1'(%<77{'wԨtf6 Uixg>0ƯV&6K7FROj-{©S\%Ws?@P< @( wlh%cHJ":U#9Z[% -V&oOh4]֮KIDRU _ (?_L nD1jou6'=9ft1P@VwAc* 6GBNj_[bM t'E{#^}ԧ{ }E'$Vr Q$A'B QwN-ѡOZG{f'~|yS^ Tt@ (u>C,#ߕO_'ݛtFZj3eٯzU*=7EM(9k{SnQmV7s\R1MF/8sqf]]7}k|h,C =X,[>z嘝K"T'H " @4\V "d։F`VLs+({f6QZ6̓xEdcߴr^(*$ \ԑ3іO;[EL(n:!yL44\4_Q :ep$>NST6Z[ˍt 6Bo: @( o|~p"%0yoS#;aen`?yOq떀|Lڪz>~5_sgChDZDmg8 =lzT\hH [}||08a ?-2Ƽ4{A`idW-f=gTIcW{xI]K⺞KO98zLZυꇖ?*[ё?OLCSZ6) 8VP&(WE8Iv*A7:.~$L~1M=> o+~ezPF  ^/,*}>`7;a|"n#gި)~$-{0$ZAGfD;z:%]L#8RksPmʧv'&v..~x,J~mWkg#6P>_\|tj.vY=] ^MTDdɶDej*^wDQz+"i:ּaf7qd_ĵ' qj嬞gt7qj~g~w:] p'&cԹ H/Zt8= Ӗ#†mPS1QZ+c~2%8_{ěJE':|1A#^z_P4r >] [jP1IB?LSȟ0oy?I/c擋0DƐ^ҦM]ǟ áR>*0d@OE_(X-Znd!/8,m(2U̺W p4z }R!r'kr-B+&60\![m' apt YqZ}-xT+% N* n6ǾڱsiW(nI;r &-sE@~tGSQ6v#w`-\:edg5dͮ,+$+@eb.<:= oH۰Q@vEp;\IlwΏX"1tvp*.vXA٬ MJqgҜ5Hl .@5d|)bw!w:e8*h>uGP4͢OҀ'XwW]n g]:(@FG&$`+z,zNJ3*6IVfFQ4+mV&fbNNE/` WZXY(74)eWVYTMOi7v q픾pm$ bDZ#y 0A]ZiO*߶rCM~UOvE%I)2gYԾb^ * fLԖY+R[IFĈ?H3X0";HkYE]4A$hI~dN^)tF|}2^CB꿟TC jǝP=/?z>[4V},ٵI7_ٴ~ӳvsfhėQROѡ*yʊrH-6􍣧eˠB@U0p$ au{APtE+p@@}? bS#Yg/u)owEpq X׮jA->&O*$`10 /Ԫz?e rbr}P }-ncD @0|Q[3(6tp8 A# i .&A@*AHS@ҳt XXYhΑBSp| hclg =@fa]C>=3cOJFPW#odc`ߴG|-AG$ݿJ. (skj% JKAǃܬǴHdpB_1'W"6p@jOwː_r898Tj`8:TduW6V@DjZT?f!oc`#Kxu*r8GѶԶ0lsx!h=k8#\ΐg5Ӯ\|F00xT)I'Bl!J=h=$ T2R'5Hc>NLOg`8D&_Bč!ܛB u®%K ' Cu>V{ B} ֓3}m{^0-$I'qGo]w57[\ӿC >H:hY$4d)C2 v@xmd4J #PE'dwWlxhgE ofܓ ?՝̠xN_Ջ_yqf|>: k8ˉ22>+ξ(oٷ2<((>~ q?BՃ*}i(@J$nW‡SC(B_GƎm# Nۥρ( hӒ0_kU0NF(F^힟Ȏ_z1(۳k_w@2{ӨzodMVz _^)!oZ☘#K5Re|g"~f82dKگs!'K>iY6?qH$/&O` ۻh1,hӛS8pԨ̜ P~vٷ˸یa5'C[axan^&UCb+'>[( Fȸ Q _f@U)Dcde,2qgi ShPO&Ld}ՂKhj[駿:;qxp n}f } !,Y ߷ȋ iV82/Y-/[mІ$g7sAfhLh#v__}\ >B?m8ȥۡn0j Xy֯s<8?0 `?x^?F^u~(iw+Ϸx3"jlޑ3>e_~vupG  j&'Mտ?D1@ oRY$f(P5N<>q=}'vE P5Vmr6]c=94`xϗ;"l@߳SBE([>Q]1JsS]H_ɍ}k桽P00b ϑ͹=- E<=pknAvǀE7l+׀5__nmYgg'qgY0|8x~. (VM>ffxZd(P2aƚT7N|J̨&Blrz(OC C@kzfc+$呙` `U,'/[<~<5PFjo[#f~_VɫwNmr Z* H>ʽ!DΦk`Jy9'm.2$8"oL1T˗d-Vr(2hpNfI HD9"qr>rr̹뻷܆<Ꮇe\ jXf~7gd9TdJ/m\&R 2R1(>0}a_6;.5 VJ֞H :k)Beg?w="j絒~ W*#'oʡJ2}]PU5O?qNnsB{aWr喜sڃ]&TQ*sAy9a 34]ddӰWN҄6Ӫ)N!Y`1]xۆ˃9֕CzYY Qp zmng,.7eK]vEeѦ3i&pD(b/1a2M8QgBsvY{I/;8:pe{ t8aPzVқr~Th+(h0L rx6#]mXk00_}6j`[Wmaeyf+N¢7ݪP3K͸ t Cgw"Ð0@06!UzѳAAB !d;d#YVC,͆@ǀ3 ~#Ax!?Hp9k.  ~_v\[\8L0&e_]ωy +wϟmDLD3EEZ5-U'JUUfD||`i43Qo*ɴi+w=LsꁏѠ 4oqYk`}$&lSYwNJwjbt= ZvA%MEg{_KJ5rkhY0yrbe墽Yiiה*e"}@Z/T2wӻNW"J%wR3ec(Tbz g/WLlf'4$1tX^1 /. ,Po4N tO A੬ )?h$1raR E(Hj3'|C#५kzfTGr!O+0,箚eV-PϠDqQy[uϋd ovYPOdTpid|GMChNi'=lA #e ~Jܑ̣'i1wK역2}4!hMfEUz!e!Ze?KQ5j6jS-h-U(UyN8֙;žz1Ulk0[peՕ6=:;2fd- ɍ3?_BFX@<6EqE Jd}ѢyM+OD :>R ńLOi"Y:74S $)4Hug{K?EPGޫqɿ6YBGrG ېCІ:wW!΃Ҏzg>bBKߧ[CG-)m8ziiDireT0LA^ CucPtܻP?dK*_cK_1 mդ,6R/:+)osºWfy;'݈5jj\;xݏ\&nFMGZY4/:\e$aW/U4$.vUc&Q KjqM>JuбFd Q,;0^->r60!3q4Tɒmyl{郎_V]5,J\X&sef Àl62En;m2V%<ʯ܏?2Džͅ4dw܍vJTwzT(J+6COO!JtjFÞmH^UKrsş)IӁ(Z,- Y D&sR Zɺ3n1=бlȐ\P@| Q٬zZ .Mя7C9 6NfߴY[23{RἩWYWa l1C/Ie3Rx"!^49RR[ΆBFޣ4W*jl"E5~8B Lѭޯ-yGAR%=|jH۴:Ȭln:-6~92jaNw*xHĮ|Bִf6nV,,:@x{MǢG_Ygz0]4)Tе/x3p*;3ǂ4f ̜iip^SgCs71k*aS#] #@0]h&eY!N]@řy8KHM EYMnSx3g՗r*dp F:4r |Ťh\/nzĥ6"Ng)l%("\&}6;.7~ap޸NRK썍7|7Z֖v~8|]Lp.~{DqWէĸu6~՛upKbay֖~=u([.] ssBGD~.>'C]>}|R%qÛPF_O?8̑M-w?Q^0߿MS6>_u F 'EW 9mn/8uv,P+qo C9{Mhu#ŮCq꧉cI߸mkO7ɻ^EaE(> ϐP0'fP.RP_UK-c` LR|^ v:4:򂈜+IAHˉ S91Ӕe#CާyT3e/OQwe򀞏`K]`9OH9|fmk1@ 7S/3.X0YX&Z/oJ86׺SWeTS%TjR.U%ev1S>F=4>9Ybz6EJmUeځ&?GW6 .G]at -4i=v)i0e9 y^cF~,Үa=a; Δ=FJ(k\ZAr(Bbُ{<p?"rWV/ɰ<՜ԽaŦmk6MtZLGɆUN i)&uFޓ2Gm<*Cɰ{2M(\ mYyB" T+D;m5_9{ #զI_חPH쓫“b#(ƽπRFD6 =¡lDf:'-D3 E(頕] m@^ #~ E("X0k/ 6tg9L֍ x:e3%46NT KV09|^RTK)[煩o]zno.NW+im҅޷HizK ?^btZE+cNss!T8/ɉl]xfE[U$fE[ d;XXo˜uۘY٪5dֿ&̨%Ԗ$cЧ`B&tAHF_+F / QSw{6 ^!( &ʔ,K%Zv51u!NٔE@s[u6ޠ>[m1; sXHGz5})FR_O 6WwIJ/m1_Fy0p33)k$C]v牂?Qr]ػ}d>Q=g.G t{#7I8wAȱ !;:_ j9T0ƛ j]g qLf.ӂO-UV\@^i7OS;˯Ez7+yմ* kΎ_^,'ʃ&j -yfMek9ZL2~?/gEM>qќvit! vQoK̙l5w&8R[1zOFJ_P׀2ѧ('0yjd!YM:|JBs˝6Y*݂9O?I&KƐj6ox6R31/Z|!x=RY僑py(o!tɓD^=R !(9p(fa)"sLLIFZEzH0)tZb#ܑ(T Q:^I6xYzW|*oG'N_b1-3SuͪɊI6~윝&SWY?Hz~,5ySYW5)Ը©NU;M@ֆ"nvj9g'YT/}64": UMGUlM8o1a_6gӕDG˞_`6:vm4D}ܚx}UOSn@tiخO$+S ssopx?PGq7 גg7g Tū~ otSWZ]ҺKB61U|dkkĹMV * VduKׁZuné&]_еT UbeK@?0k%06Z[Zև@6*g5s "$Xš%%ħ*)M~AfPCeJ) vQ,LVޟFNin@?(%/T?.,ƞF3E˙è8egED? F+Y +Q5W De2_mٵQʼ:cEUZ$嬵jn|>0G B Y ZUWO%]w $˘ޠ7s>0ï4FS_p%|k6Ѿ+>A5dv?Iв7ܸU˨NAL8T2FJw&|gCX =} @ 7LV7CI~N 5XZiB`4v^4g~gU6>@-^l;f<բfy"`i-gUrzLE~E (r 82~z/iH3eܢ5H:;HxqⰖ 0_9a?aagsKc3Wllavn'B~͸v⿷!FV2zE\,a!_koK\:2Ŵ=p`=˹+hHR؟ uzݚ%'B_8u_"/kGb =BI$#Dӵ^sS>y4^ ٮ}BQ1fڥFM5wbX|_0-uȥ؇; Sߕ&az9~*"t`( ,|e`]j4r R(u:1P7Q@="9Bԛa?]K4r.Ů) Z*xFzW=j7ߘkkHbfZI#ro:0p1`.%)JdMHF=!ID1v8* 5=FZ˟&~H4*ZݥS, Ko9fܭg-jKaѝ>e?u0?=yEeEc( g޸(!=yYX;׭0oY ԧuXByg ag#HyLtᅡ>jj1aEhTEsx(89>7mWXTxL,BF󂘩( s[ŏ-Æ'b/&K?Xa3EtB#>OnCM_rEA2 ֋}YM5]vA%;qӃJT~@%jN< >L#FZL?ޅe"ijwahwb1(k#V?AQ(SAG*s` (tsvQӤ8?rjU&Ĵ5qdS$i< h\LSM-CK@f_|}E]\B>nJœ_ XJX-ȠKFW2zB]M/8S&B@gϲ4@" .+ &\1ttW2 #?hTNE$\mL*L-$h?}E *ϒ?b?{ Bz/jNIM*gN gr[_HDKK^OV'7[~S?pۢX^}7Tm]o,$0$L^z@S|P;3Gdm1 P9ǚFoXR$.Y)vѫ7^ك^?h39cb5wCk.H,QY^F{(XHxʓ#pG;yFP#ϵ3&PxR9RuXSDppr2f58~.uzu9:ʏBti =]~0T{hw7F=d ,zfxr>o퟽M+sr9Ռ|1ClLeo`6=5:s=9crzD7w>M4gaX\Qڻ_d9"wGUG]k_~j_<:tA t?aII-~ن6׸R !5bݫ]j0`_Oej+JkJz=eWoJJD"5ZCtgA_ͦd> yrs\'< x6ſD$E 4sE>lopǜ 5+^#kU11˽+cB&kp[wtkDjAo׺ÚR3d1'gP;c=9?l1kCZ6 O"fm:brque+@L7@Llry$?mvꯘkƫlؑSg,v䙦3LrXX\;2Mל8VT="@tC45Z2vKY$v4ʛ\ HO^=kTۮZ3JymqgPĉ6SrDr'޺,NiZ,sf$q6}Ñ{)mj0|?F-WAxSy񵕊f+ 찚:ph1q.YAV}jgLZE_ ͖<>~(:ЛלU[4Ji 5fl+]]Ԏ$)RkQ6Bb# :WmNK,צt;b$1Jc akr^R6!߬4g[FlJ$Zbm_|vvGZ35;k5`~aÞeGHx ڙ]Z⿇EF`YjOOg2"^ %y9<%ymZ_ t$u&S2^Pd+Gs1NYx=([t[apI%q 9L΁ _8 LHL5dYj}u]8̒$Y&o-~a2+K\&l14{kCÆń'A-%6%snAa-g-97hc&;D3?,|%g0'ycFF0;ڮ>zs~I|!@HZǬ>`uQ̮ΎvVIO7j}$$["l)ì]+_l7# ~tLGנ=@b8[JMWFY-f+- ްԩD#:! lLShz1#(қ+|\mxcvSFs$8dE_;I1*"iLXF?T)5c?cxV ^G*$s \'m}=B" wgﯜg~K2eeт0$iVEq1 Ao~uT$,{-taЊi.J1^>%l wg#fҙ.87xb3)ۊd ;Ư?Kas˹v-, uxc{G XR"})y!LNن"5+ŝ& YF$\oD}en/_ZxI/{#}K,ڃs8/DW `i{1C)Y TG_5,nvкS5 ?'%F4# *wyQT%};児L@G'Pɴ-S3B:/W w  o+B\I?л ly+l1J(2i36j8}twCښD?:O%_J1(PM`} xEݬ~SS[|~ɖGESK(7PwPW{c1?8AyΛsY錥 ݱGd6-յJ=TUH[rBN.̯AM64s}䁈UP-Z Qz6FF T qb`V w EsR%̞Ŀ@_-(1c%Yja){.y@2)sJ`M FV̧ltqB=`[6dAuX}v]UDElc W9f>iY<ݎ ޣG8S.+u=FK\Jy!ܞbd9:uۚJ2ȲΧ׬ a7T6LBʠJk9 %>U'&/{z0JfWJ\-X ]KLOc}adV>!_*7d=갭^HV P?V9J J$%6g)܍zRƬ7kq= ,:[U3xwހDs{ݰoN(h3O\\_8E2)>2wY-u牭ۭz8ΐ:XWA-:2}EԂ,6_1[r.dFj$ݙY߰Ú5W:;x498R  i⹮QQ̎K`Yuķ)Mdb%&V[~[h^?T0vhM!^;br>L9X" Lue_՘ZKdf>G2X wr!@miDbG]aT63&!Lby8ف!A 8R&+\TH& #~$VF?a)V=$^7"оH; Y)_U IpyHa|,.RtO2Va"Padt,2&U>4m{^Z;]bw-o2IeJqzz-/9cK2'>!K]puvw$1́,ۙ)c<lBLoVUk*n-B"{zByR'qJMySS6Qn@*[ms(Mqzw\"~".:ڏb̲e=0W?7*ikwWdޙd.TGc|N-.=BE*d3!휓'a'¿3[rp!.j*ç^SE~#O(DDZ><^D9xK@C:x `8'\ED*1GPUk(۱_4hJ%^6 ."8#! kq?z-E(}TnS {̺P>bK>xdp5W֒WsVSdbɰQӓ;݅.xUXOd؉PJѐqr}NH_aEѴUP1֮|\+e2>hzb?̯(*pt.k"d \h!.˿ON7v'+bvuWOJ N -S* 5`!_`%Nՙ{rTfq =[h;S' )y7WKƙa[tV0r1$HA/ΕP`WUħ=4W&a D]D+ݐ@k5O|oں1t2`<ϗE T։VDWR1 Pjo MO..ZH<ΰ{f-lcs'(xgzmR<)4 y?_:ڝ,wTͶ7~7+=|pPg+CILŦz?&nv} #{phQdbQwͩWKij=n}y?8^̒o.=.9XNJ6j/hM}t w|dMȊQ=M9l=&+ˊ9an}^ul5#,cn(4'Fx91]J9*ccآ01 $UA }z 1zh!: #)'h^K6c?eÀ7Nn8n[7 %z|୮ ('_:es)&$ٖ->^b7tR'b]*Ɇ=pw+_o_^HqAN5g9.?z>lN)"CoZ1C?ԀM‚yn a[oͫX:-/Fÿ=v}MJR 3+WN]o .rJZ6ڗyu!t*5THDJ96S6 Jr2Wr)7KbbKx>Q`^Ek.yEO!Sߥ1]b# 3.rUc YfTٙlؽtUJf\_&,sᅬ[o`PDvO%=_y1Iڍ#}[E $h;|-3Iwَ4J% …bdn=~"j/v6撙\(ULīoD.ird&-=tIe~ُu~J8Gw>$Q+~%R\laPBU.}~3>u|nygoy0`y!nnɞZ~ONP@ s,I!%_=ĪT#)$2`IW뤙rȰ)So~Muʇ*&$21?w{i'gO(X2YBQ2SVxq|ñ՛jp_(Da}"ыLIٯ4|&u,u!t㦉JX2_1 sqK 'hEL$Zϛc6Y8ZQYDS@b[RJ!CUm.ZN~hy>xY9`ِùB`G*IRzf8 ?4MH| &1;_A0eۓ: c+{pP:9La ʞeɐ)KZә#W9+o RaGA j؞U͝wϑbFGw$c.,* ejV/ RP/,+[@C{G&PRLܰhR XT">&8'2cOtPw ZT䇆Jm2)x_qR2I5\4`mp⛳^Pk\jYPRb_Y~[E#e5qk{I:ڥEd U94d,lΙB7;y tLJ{ 9F+oUp>nػ/X1*U.3B U+lK>a %s⧪cb&ۜ@0ݫGbFXZbҏqJ6;nqVfwU'p eıZF5RʨL )34{-PjP034vv< AL2E w*ڊXL hhknvH0_zq {DIhkmob 62RhLWNWf]Ȥ {&e)޾Q@ND)uuL;)ɫhBKUH!y CD IE`?mQJKIY(H*ŒԱ3yɝ鳒?,S<-fr)Р@rRPO+Wc}$J;n*vNJ\Yo2p,J@=EPo2z*tFZb`90` lxJw xgW JsKXZi˸s%\i7)s$=YCv]59vȜQ'9#]ǎt+}֘isr2P,`?o,#6ٰ#ʐG k1Um8u461ʼŧ;}kq i?*C%9 r XrRZ J+kVPvm<0U (&ƋF~NOr腠3Px~)F*HhqǒDkrϦww'VO%'%̩TC2ֵ+^.ukz*Y|&B&=n*( 7qK90 73H˂T;&C<'m{te(jJRo&gK405$෮A>)Prjn*Em7RqBi GmJ|BS]=XczgW^P1zQ>g!8MoN*pD+3B4а(Cj=ӫ jLwE3Aǥ:GU!"yB ac71,Pk+~$Ic) 6P Yc)jXcaw5Rw†IN\DA _3#^ 5M4cd[|1xQֆ35#P/;Z9[}~湖I(y-UL`B̀O{7 fnڱ;h]>J^4atO6CslFJ p lKr=x - k*&= m1̲V;Xe*,7@TI+|s kˤb|e"I g9p R{^(}rS.@m= ߆tT7ʗL)z> 9ʄ䖿Sԑ7E.U+Uba6 ilu @>zN]'#$ȯv417ro,Ԃ ;;wE }6*NOHQi$< :|)D)PId@TGzՙj)Y(wKS[f&C[N$AQB˯[hqp2H+adni&(-yz!5/)X9<_2rIۍD̿8jf{8>k6;49A_ZBv"杓bܠh0+i(1-""I#T єv@c eߧT5+2/cݥ_ Q"ZRB1Զ~.v;k"w֜ ;S_f?8HsᯭUu=cJ$e`= i+̈́Vc" Aח'?^G4;{"~{xZsʋd qrM谕lEK+ evu +{rZU+U;na%rANCJoH/+pԃ$~.I< 8Zꝶ(]B$bV htI{+&s7r% ʹdҎuEg5ˠ4h:,/RO(>;1UzIzFak &-Ah~rDqmqd@y%[ND nE :h-jaO[,Iw"3NHyJvC/(i>W M7$X+7}V|:qT{`iAiY p/pE@WןmvCCw^%5,WķKG4Rs2X_~^GgMB磎.?u{LfDbս/"[g9+\;:scI?{*sEA_{j昭Bi\ "y+2oeum4w}Jϲͼ/>B[: twį?c4!IV`w br ]4㧩 =0h~ya)YѶcBRO&xgcS}SfV7t(dI3RxKd,2"m8>06|olr#,Z: '&*YP,(+㏘!rBwֳμ&W's(osY"B@>hU76]uC^kIJOjbdW}P9[/,Sz mvhÖ/% &mxi_-Snj(U U lls HbYƒRQ_):R' T+ wk@g c -̩xj^zgM URoύҧb6-ޕ2 $͢{G=:jbYXZ?%Sco[PH3RT/``f9 GHb vq ˒i(:a@158;Vh;-ۤH` 1}}}F@kPa"ޥ$,Jy0z,dԁ 'nR =_@PuSOwOL[BNGBjϞ^{\0C[CoHmA ${TGI. Ѓ&NdFW@#b65&x'n6~/CmA<).襥1::Q5et(F< qc[ +b` F?m \XS"36x ]."3 ]am@: ~{'wL _+^S5Sj~zAkUuĖeA M*=:{S""}E#Zo]y9p!s}rT<~/g*TEx[~0y/Z\o_*n,j-/FQxݞHr/wGC|A326 p.2?a뙉sUgUЈu? :śrͼ%mJ%қL0VsYCW/@4L*1zB1iÙG`8N O : O2dkEKx%uu:lc*rGDLVtB~wI W-w .מ%I `[@UApߌ`jB'3RS\ 2+dǰ0ɷ>' (F_@u Fll獠'oiϖJggta5w3v7m(i3,>AV8>pdQyj(2݋y\4[e}2<,qp}_`%¨/%2bqo56|@v )$x aH.Z94}Q+*uw&w罜yNT+vߑ+vz,t=!t|jyOwjf:"i#bQ’vɇ` tMjSvޟ&>(/MYpRizaĄZ1MzᏰj{>\'\u7:Zgp,X*IpQPP7D,/ S}lXB[g~(Aɋ0 kK|"HP`ܹ/&*z2"[|/$C = R%V+2uX}اB|;:i yA[V;N~㸑0IߎŐn ښ6:L+3r>ͣ2FbZNVL/͙@AVx~˱oX՟/p)# [Ϊ&ZϨg Ly2wl)A6 07jOm^Z-mgxufJE@1A!j{NbQt+%!ߨYx{bq ӲXC+^Y 琟ur(H(ևE,A#"o;Шj=;ǎsh=N܍_EY7hL3k7=Sm ^}/ {WRH׬'f: HS±>[8Ql95rN;JG0 oTv𻊟b6~N`D7[f&+bGymFޯ#i+L|d.QMa7.e"gb jHF);+I  ’O[ 9͑Z]y;8pB?n 짤iOYzIZIsXnlqc,z/H,EPdڒDǑX3AKYiƪ&cmߐc!4gX&3R}+bEζ3) ;rn (S:EW9Ư,sPʪSH_ZhyCH A5P=K1'/hX:Ul{L`U.DfpHlR3!nT uOD,7f}qT4iG|X*X*ק^]5k$_Id߹ҭ)\̬Г<5aP˒y&6@&ꝰKnί6 'iQb8ZTanxMlͶP*bxӔ PVLѸDŽr: ރ5|/@L+zJ`~NP&H'ẉZ2oApq\F%e%bJ rtuOwЀ^LȘĭK,GU\-F;ˀ]h{CIZfb'ĄK:mJscD#/Qge24%Rd2S[G_x.d,RX6q)Bՠ򠀗>`(#ZY Խa&k>^gݓ \D4^ȅT9;) bYe]3gAHɝFRӑIqƧ,/|<4I[ɋ2bFC9m{./aV_C%iYI &LWC='P ,G 6(&r{+ߵ1vY(\yܢZWw/X%7ȂOCertWkH ώ YȗWUY&Va pP& !6 6d*,rD {?o~CyҢ{cKG״FABn(.BaI_k2[ZС z6#am,ߎX kjH(8v 0j:Jp~vV&mQ6ւ*m0|`[-ECzR^8A4ZOKqa]1AYG޴7;jQ/-zZڝVىEӗRu^Z(88t+nocIO׎w!&3xMl?9  KQ9Wex}>ʹKZtw+\Ox S\5yڂF>y].S[ZWnMwVAu0Gy8r]@TAC6SdTcgFڑv->]g/ <*z;Z\aғzx1.7*R*RA;X[[d-%*{?ې6 11Noa1oRSJQg"Ī l ֐ft룿1o hz!^>?~.)LYx੢s9}ɇ_Zjw:m1]~LUlzHv½Mhw6O!u^AQR ոff,״vb˫~Fc :\iw[|g m;G9R @ G _Zщ?k 5J`ZA~9"&Sf4h<-PcWVE[P-T4yoᓀMg?(ݰ N=[EK\?K2qm0l1N R/1sN7۵ .MՊ[OZXҋ.5< Q:Z &h=;-z&^5z]c(1m6?_4(+g/ +`ᠩA: EtךT݇ K(2T يlRXKb n^D=wc/yHhJum7}6v#r'bO|-zCo6Rz/><{wƻ_ZE$&D{` m=Mq< O-9d];,!^%xXu^íυ q]br,~f+K %vYp0׺AV$sܢn/bNa K~Hپ2L=7<;I˄9 ΢jXtL%`V}(|f)+酘OYOuN6^L~"sWB)'?'jnwf` L=[1 07W f?-JxS KX.{<~A,iStU ?0$B _!^OOz%7&^iTab17%bGDhҐ֊HO| .Wx1}9ccU7Z =gXrח6Vc}peCk\D畱穴,۳ N2}[ϗ_- ʄJסJ'LnoFqKvNi!`OZxx{Lސ8yk#LR/Q>N<|`l趓 WN= Fm!C,!cD^gu,()FZG2Nc'0!D`Wkڇ^qӤ}Ƥ5M.(a+{jV,A֓aEۙ iʡ\z1&Ų Qd].3<3qGrK"5ѢL$CI< AR+gO$=}ũZjr7[W{Q"-<)· B٪9YE\f!3QOtKj6!yg$IvH0aLAN>;|ތ5pw&mC2]'j͌?QC1x^~p]$^LUpVs_o'#+.YZk:B]M>s1gG kk1Q<).457ۂ97TJ%o}1l n-c?T/.Əqe؍YyK7JsE>FԒ^oYL^',Z?I *"y^?uZNAצ u5 {VZɑ =UkVZ L١wP'g@KlU:"hkҵD]"xioAIBegB bT" ȇЇ{"1 Zr@C/QZdQ 6& y;"#C'u@HqK>FR{>z}JRD"GzKqs}(;IzGC<"+cI9ScSaӐxi=ғ7v1I[9c2TϻUIhK8 f ,'OgRןr>5Tѣ6Wll+ǎ3m5.TͅU٘ZF@\an,m.ވ+ t`Wj @! 5c%ύXU_h:sZ uYנ|}9؋UYxv-%t|>`q7"9ŭP0+駇Vhci&Oy5rs2Z?Ovsmqл@einҠ 7 ߦ1)xx*Tgg4kZZ?e;s~NB40NsCbH<on < o,7|kmc *Tzl0oBnLrVX=ǿQ9&@BZѱsS]tebmw 7?l%;FeFzNYigPm~_kKMXb.22r)=LeG/c|:+ E'W?5tSX;^ IW Ox}<?<_\hˉ,ex +WJ-d~;sqZ/S`VfCG(hrN>p&ع (24-2&˺K??3!e4%+||j;^SRV="D$錰~Bw铋o i} {~v5q:\vM1jIIy{2mxMΆ@__+6qå<ٕ|Ng}Pb Ak᪥נ!J AjD(2 q/$: .%>9T7l ?bcdP([ 8-[54N" 7v棆hmjKNMG7ʱуSfP~a^q̥u8ܩ+LO YP#IyҸ MzUzǿ Y2J i=KUF*6 %M{Rd@dZ0N|Ym`:F)N]r`.EA0p K{F8,߇+R—ιT <.1Bӆa͵$=eúN/)C_["o"h)Z#PGH[$@D $!~sޛSR,^.Ǜ04X̫͘7x҅U׮ԜCDƆ}>v:( SfQ;"kuc"TI#`AnlC;qk5DLLyIQnxb]GwzEL/8Cww˅zPBBB);Wj+ g%Chx_V<86Q>G'nEk9j9ŏ.HMTD^r`.13Ĉi,8CN%f'^Dj4)k88>(G}bU;:]_񍟽đ6DEHZs2HA|wɕZL,oBW缭p,uVX#D>/VIO.3~x*g[(O 'Oz'I?:cVH6`6bu=>+$5Egڝ'I?!ҹ$lZnrNzïTpVhy`+^5am4s#@ĭx4!)N@8v4ق3˟,gqLgADY,2kydƗ;B*zzj6O+3TEBjBIp3Gd}q[9=3%B C땯W6P1I|O ci'5jM1O(\dy[nj,)ghvNrGq;HP=GCpU"mdSa׹_GC}}~+n , %y[*BvMKWYb8_B6L/Is]oMϪqI VތJ''0WY]j~(lrV444'gqČitʹޫ.#Q ؃:˖[& n\tSy[1Z |1sJ:XHH<$b\)ў2S3S^;{G[1+E=↿O nNΡ,Ō3Wd+FvQܷE 1פdp!QҜ"Ab>ՏX?&f)e (=ǖmu^,IѤF}]^R3&6DQꊼiS60Thhnц QUV["sF6E?_<1Y)ݪ9vG6F_E1AH}225 /:[3 5_J`$X? σYi2wyFZ8-AB!M4|!WvQdIyÔƘ%_ I(udΣ=3|b4uGEpgq\f@ 2/.].JF;H;Hy\+Δ%98Tc^x-,N(Q^bT{MZZ&lfƼңXJ|A?6DsP AX;*rKI^]aMw2ulw/Tt9N_hvu>XoWWw)z&lcFq{}4.v/\*)uY@@ݓ#qTGi8XB O\'"0O\zC'l{%w-/j؎zA2P>߻cVfyV/Pcb`R-3ON.lt, hpssß5 &䎪1sχ&5%]K|g]zxpk夐v蓓#e_~q{|3YѪ9Cb>6KOB 0TRWcbcTt1er2}ylʨZ3cYq6%pS׌c2iβ=+ReI.$Wf|OI ,@*\ij͑Qsȝ-\Dݕtnt5YWS(?Q&anԄ)Rd]V_5 <=Ąڶ4)b$T 2+VK9hhRM4^W@x(?x4Oz7,:4,Jg@v8`Y黯'cW{,_zKS+=q*( ?SNu$!¾ؼH-״PCSpw7:Ͳ6DRa0~$t7),`RC4y^,n6oTjFpN8mTQXK؊e!G=ꨲt]FD?A|J8rp0)H.#Ļm4ȂªFʹ;"C0}|4,&m+Tqp/{64 6-T_z5ѠFyӉ-F1g`4:-/ۉeIp P,uR-%MrKpq#W?/_[ToXbjߛ.3Q?͒-npCh m_D XM*BHju.Z۔l=#/|,,)NpNxMM/ `9%gOPMTk@+ ?'!M!,[d#Uel_+ / 8QyZouj+bPhkH6 b;_s5J@J6 ^mIAC9UVEQOx`_&l9>< 7w =O0TY;#㹳o(`[㡷(E9Dσ{wOG.dfUl'WW@VjǷLҫC&J.s q*TBW(Uk/՗܍@/L:gVѝ=r @KKAHԥ+5Kg=I3=519O qa `sH4F`Zg,9)j+IcW@|;>ChQbaZz5T;x ExzzL"DBJ"xсƱ{\Y~u4HߓE l6Bc4H' hʕtRo9M63O >0UJ-^?BssN_qX|[r ;#$Ϥ?U0(#]~j<{˭fשT]g_rwH銝88huV2U~;fZ؇ Iǹ;Trm6 kkx@%nߟhLZ4eejN`2Rkh?kVڥ*'I2lܺ&AE15mH#c TsFTY?B6M(k]EpM"v@^ڒJ# =+A[?U 駀fY6 .RҠ%k~&JprQCK'z*xn|To{:=?cҍy^mQotkv%Ǥ=p9gqe:Jzſ-!1KQf[aZWFfdɴKkc23E'ɟi|$]1O .V0eӋ(p7wv}a}T&[R2! H7j&hujEb&/G\m *  g2xkd}Ѩak'ZZg9wX?I i*2q`S@<[ ** [þa.a-OKh&+({Ș3}]eqWUh1kfGޕ+`P+a_2~·(%ш}\=oQ%Sgmi5DT໚(/.{gwedJW^Eb 2 G/ϙ uݰXNs-7X6اP|nda5-=`*yqѪwLnOY_X->-5 7EAO{Mh .l 0rm#8]Ag<9%Vl»GK̽*j05DXaTׯ~u ދ}>{jVBu _QP89PbM6+`4 Pd S~4k|~qFk^+01okm:o&^*BH,q_N%3[Xab_N %] [XcC$ӗ fǸ$|yS`#oIȫ]ҵzyȅgZ!Jtŷ3 M#3{ʦyU.̑,`u2 ?Ʈ|w/6HdÚxy9ȜH㲋̈́X)\ukiIUYƆ\9$ЁV.[tjMpwy"xI=rΫ6~~cQT~}ec6{ze5y҈ 䮐|#Ʒ.P?nZP/W]2Oǩ$br%4('Z"⍔:I͞ݱ҄ʣ'ݪ(XuO~} pgRzd䠑χia,h-?iq lP$;cgtc<< g %ᛕw z!et ~9ákWDAW̖ԑo.l.7b)vV4YA;wеSaw3!£[&h>Bu-oH_KqqUѐz>M+{Pxֵwc*R[=vBE-R 8pK{`:X;U'LD8NJ"\2,Bt(۴֘փB}8L 2BcZmj7-CzaMuNy[ majW6ڙ*E;F7D΄R&4&dy|Y{l+=4\yCd"Yz]F2"ʦEѼnV[9W^[gY'u#uXO6$_`߫wy+et U,Oi~$ݬG~J**-ѩq訩#л>h.<])Uao?Vzz2vMfȹE4jݒfх)x̠Z.++!ӁOl7|/݈7{ lF,Nh_wX M,hIu06{́Ȟd{eDk9PKNOMr3N|Ct=U[)oRvZz̔&tۅ!\CɼI N+H8㢦vW $ -cuG.Ṣ$Te'+dDOt]3:ۿCJ9q1hO~1ˁlܝo5}0Uމz'5;2+P L wls͍ʦ^;IX.@^ Kzv=e~Jyp jݹ{|yz*^/tΣ߀[N'?@RsɃ\=E=t %ζc8 H%W5}X~#r/&Qs!3@/,>rQֿG$0p3|49lNUrҕKZ 909x8^"n] iD!JLRgx `9Dgd63v?ފ$6d}F[3XZMlF;>)cZ{4TXoC!k} w u ݩwJ^{xřg?>b)kNSyq?^_2yn'"ij/W&oYvj_M r 'r8^@]xAxcO[YG`:BM̉_|0I!/:Xz~mж=@g"6~h2 oi]3"!.]f8> f!\K.i1m52pdy8Hf4e{[F0 )6 a7-A=EPOU03#!VxvV;as}[v-gކ߱qtW@O:F#^ KKgn &^?rUed}hKhיY7R\ `%.Kz:ZfXCẊ|&f.UZ@j<'k>kv.qף2&od:̍YU>*TΊ(P|*XekAβvɮJEvR hke5ՉDVF:p>ŕP5DIPAI]w3R2#ݽ8:5f =۬Ae|?%hK;;$M^E-JmiJ/坿ݪy@ݓ"[L8Kg_}3;VjdlԀ!)$h5DU^jbN!tN.o1D_v <15{Q{wzͷDUz  y]&lzt.()_e|މ Xa琊^f!]^ jV;uuBS1 wM#qoAtmc:}yR"ʬr]TT/D N,Gg2 =R&'wJf8w;=@!rRo<&q2I}.&?1fKW:aJgj7}PT]JIIQrm==!~0keyQo©ʙ3\dog#RPL2aRs!oD1{Q*NxjpJ#);~5vњvwy#ОQ)$F[ E;ЮAlo^S#cs-6,GKTݤiþ%>J745P㏠)\Nw%wNϟ\[ðT3v`b**tl_ EAmmY-fP(n( ˮ`rwyuET˹A}v TG5%B,`Jְs>W[5f(Os'\PKh rs3+OM 0B .~L{ѳBƤT{={@ %G:i@drFmi1GzAQN\9֘bYz[`0˝H*ͮZfͯ0tqtW;9¾_]/Ixir &tv|&Ⱥ/z(G~)PBHܶn[ݦZiM_͂~0mlB-xJz|A38j?6/zgTŜOT:Ll)IvM, o-?-9Bxg*xIJTRy`[WuK UӷG}YMLؚel*mv;ƴ8м1vtc$oӕ3v]Z CGsO uZ[^4F\ nx@V.Me:SB2y%a%s_H3ouc&*7ɆZƍ*FujZ `Ix)4SGX \L¸Q<,SnLT\\1&M+wT0b CR }I/*UϼOjEX [z{5ZR"V(0ruN` c?E?ZSщb: ݃Y|¬Z<`3\!{ާiu;.7~֍_o=@TL#Pw-ſ>JPj~$qn> TʸQ痛΁uk6K+:ywTMI81Do(valK{"*PXpHG2Tya 0ˁ/ʏ΂T}͝DsgPt$#n_ y]NS=V)_ Ǔ5N"I HiNXYJ GqܘK4IHZE1"\FdO>)Aձ!X 㣭fÂRApc"suF! wj Ӄ~Z_ìZNT'-&3.FCBAk$εU`h<į-![mcG[6?H.l1Wz5$V pk_eejY|G&9P2L]1,o| ,8@gny'#yMuؠ '+M/K;(\WL^f$Ϊ8$bS<Ͼ^{CKP]M.q.ACp-n! ;/y~ァιUfILBbe;NE0.)ɵꊓKC6.s@8ޅxO6'B +U TE}ϟ ZN67Δ&X*I~94X9Hbӻj 7 ?^fOk͈ށ_PS4f~jigU3X@U`TXIʝ$: յrjg`AEaz~V^O`e9MN,=F,b^&lA2cax ՁƮvB ,Aib>>ο񏕸m;}cX"JY-⡌ :go΢$uiіwo"CJVB& [k2rRV!ٖ]UE;wS㠞GV<Խ>8H$vK!rRul|)QK VbY6]1 ŃnePΏ%En2G?"үSlEmOKUpkY]q#2)5(\D5:ul0ۛ,'M-pu6׸v[UaM3𞥑F Rb/B}ތӰm7;2g <ǘ??)Ѧya^YT ӠkػoL1.Spa3?ah_oQ#C2[Nј& U_x4' Cۮhoav!U S{U*vW5S/h1c涧k1V݌ /4o'b\(Vq O>BsY#??^ګtr ;XbmҬ9+4*; 2fT% wx'!:MjQ 5,YcsIU:cm,Wz 7QY|i:vݺgGwsoE]*eXik8_*Җ@ON-|oO@¨()UfgVp`*?!NS\xomv΂#%p\.ӝȎphiVT>T0$G[=l+bu`y;:$']$H[]DfU'ICmFqM%vz, _!qVG0fm,G|wZ? KQJ!W3Ȫ_@#ʝCPۏzOԟYG|lꌂ]-RzE)xy69ղa)계 ֚ C,ۼ O¬ɒ7 JB7`{W9{3f(A7D[Y5ٹ} צz'0\=j??&ѹ:yOٿ(&[ħbQUe!VɑL=c3 1F&zY#v*gP.5ױg/5ďf  ,CoNI-tK%,2~nb:7HHfYAYx0/w whT}_UMJVxʣ 7RFUXR]%B5.7UG"þaYzbK%=, PHWl6z|"&VpeS^ |D5ܪy! : umi3&O)c͓n2ۘi-uc1@z፪ ^ytth+*ry[-~ 6iC|a@hiA]贌;۹Χ mvf=YKI2K;sx/ x;^K=Mh*+9 ӎoTe@ 01h^M`[vwJn e?>䃾;,210 Ex!$$w'7s%Z߮x=%DžP:09%6^O&77E WB b<|\3:CjjLKb9'}`d{jTUiiAS.6vד=X7&[C_}:mFk?;C~!Q;xJfߺX2!T3\{qɵY-bFI{ɾI [Is}1˔BX+ j+@Co%/빧VVy ׎@Wgdg&ghppSgB;1_"T&WPe 9IIqx "/C9'J|:=æգ5# cpl -VXodUxˇݭN@hOٙ;:(^7m%)ƾGOIp'Wl5|LUήpa."l6ߝ> 龻YM*5?}U}1g!i[3}k}k@Nk'Ѷ傾̿5%vp걹O3[򯿳vķ;b\\KFJʝ)Fw*l):{ "yo&r`; ʰ:yfRK_ɿ&6jTC~6 CX L-6'g˸{ ^[<[~"{fi`U0IڧDZ2lfb4FVS2t'` fdKEY7Dj#ʕ\Al4Fv28( aL} 'VUXN!I]_@[p~[Q%3O]ʟO5Lu:w`鱔wZ{h@l"痨Pa5osd)S{?v(b4~ {qD1{rPo__0lb1|Klv^vHTbhcVCf c]94 C^ocZq'~75-ij[PWV>|͙zb Yx]oȏ;L :⾓=)Ǭ㟝 qMØN%<;q{FkDz9hf< A&̑ygEM~""]BvhvQdj<v=ޜcm)lU Aȱ)GoY obZh#tSksZv6; pzAcb33 eF5T B*(m[Y\r6v%*66C'ڮ^JR].цț/u|E~ \  1S<8M|poKET)c, $ @-3*@y}[u9Jk)0U=1rnԸLDE. )[~^G0>9vPҊU 4Ԋ.%?+i::aG_82(@g\#TST`aQ(7(᡹t4|Gb8uWʹL0a:]4&˖ *SE '鬟WK# M`5#|f)1S+EmkϷ*B}2YMx˱F\De %9,#KKSUȶZ"Vʮd29_t7iQqvx B7TȸC|z-ثBQa gQ(j-]I1>I^oYF?RVDݝ6(O3S ?dTZn;M\ivv f b$ߥQbA]eG^̃xЛ/"ۿ^z_y#hݎ#p cOA3㢰6cL /Ox_E2Vrs\?A;dlb}UxPV! ^Bk'U0Mm[/&ӿȇ,/w1V (e)ei+/ޯT۬3 5.Wgc' -%tςpt'k!qb&= >/=mG~&P/8-ſAÀuq U`STuFdm% dE oq׾IMҢp_Z8;WkYlF` o3ZXcB0BFZƸeQMHds_~,72Kц/ xwihDQ[f0:d6j(m%!ĨR7rxciB)Ym8@; 98t~NyZљq!}_<k.~gGT$-bˬS* ,Xzv uQVS+&h>/PfRV#luzHmt7/D*vq"?8/e4:kD7+) 6x=6ˉۇqkACQشx~7T7= -5 DSlUho?/ H h9 W5u/Et;ve4#ml8eym݉2çTi|O<<(f]Wfԧ'p$iя]q2]%STw3Dӻ+g;m1mR?g8…ԽPBnxPa.~P]*3X 7݇Na#o M7E֏ (j'?g?O9%pZt焴0J1o(z@kOed%2sR_{vjv+s`'L)O1יi9hgK΄[|i%!}q? -iGaA5BAcm]xʺEjԲwxfoRH ? + {f{)u ȷ:'ʼn+F?Çl]Mbz+@} $NHmPC! V<6+jT{Imc]]m*JRyE0:+-6CEW>{yԽ(try l.hSU{:-pTw$9 J?lA4n᳝cn/5grYoΩ ,li6 x6 3En\}-uomP\u"95 ->W,Ev.ay"q嬊|'tV`a%}QXDZB_xvH<ohSS^۾q|қf VPK/aG`6PAPe^g$~j\+.= G9C28aR`/C=1,SZ0ߋ2iޙr-Mx=rϻ?$] Oƒd2h0%G,}8˄Bv?!F[Uv%PlS4BJ1MҽiDy]= Ӿ;X_Rcft&Ichj>׸lģLjJ &#cˆ/Z36GԱ_:zNs==-ϑ!޺s؍SoXj_̖x>AAG.eyfx򿙴Wg,w8(0ҿt7c5*t ߯)j*ǝэ!{Lq-=KoPXg<1Ic>B)dT OZȰ`}#aJS+77+eߨг|nR=']V`:=V]+oQmTi  pmˠ> /[(&CaaH\R_tV i>+*׹k%Wi\_Zؐc H=zGdl-KD4;ܠTOoo GG鯜6j.se,Daw`-01&aM&?6~E@_j ̔jɏ&# fO}vV7b[wez]&h'ꮻ'}Lu+ixDQ)`/d~^X+NP?oJHZwKWzn4z ơ~B 6XFrpeZ3/UݿUD$e^e5hڜ) S<@ I&o/ $3+\D{<v8i[%`/m7 r`jIoצǪK@MpޔE2FUD0iV;|2Ug+ K|5q|fW (qd]D)"W%"R1bKajb/'Z<>=~5Ev"Ye-o(rޣŵqeSFT \ vujJ_b&ts߮0&ЋE\ds+y*p7Opz6bS*s kט;N/GOߠJoRCrYPOa$4F)ܵdy i3 @J- 'd:uv]8OІm-ZsvjM=P廊Xf[nni H`>c˦{'-/!#cӦ9ƋZ7n x| 8cQ&]\'+M 9\ 0_HrTE>G嫨ӫ]b&rE:O;#f֔z0ג+Vg0ZU]w.7qxz0԰G -a#W# u3Y]ߴX1u&XRt.P4-ӹ9* tGZRw}ίU6حsE?Gf .:,ڑՀW˻"s D6?1L``u5Ad{ @a ,ի"@W |X;d{Z ޒo ڼvg%uFGdsu٠f˘fb<ZίGcAs.3lvX7n4p!m [⛾bN )++!; Q^^a!"]}$CaΡXg e;I.yJz^[$/Q%"jfDN)OfQi0G%anu?kk,mԤ"5'8Al047 ] nX Q6U) juyzNpH̺ z2xϪ%ƅk@UvZA%fpD'|7zs߯@zhP*3H95E/lȨTU?i?1U_Gv~Ub;Ë  kr1gc[)#5AuΌOcacd_1dTM>N65&HE>Uvz3~! ]cut\>5y!sCayLY2_Y5N̰))Ir+  _]S:FA o u(˯N0J׹@:!?oN=1dVMQ2Y-(^+݄.-ہ7Ys-!VR$3E}sA[!Dgh|}nfޭS3~1s%ˣz,í*˶ C;Jp0\6_. VBhj%x!x7*k 9Un+/_8) EF#ug)n- k<563t'om$+0h'C|G i)A8ߊ,hxOIN;uT65v!F_kQ@_Vjl&H }~B^jVZPD@{_OKj厍|d#"~t+{+jS-(.X?v.L  6b]{Xx ч|c?& n??P.]n.\[Rh*g8N/hJ} Dc^hêjkjF(׹X =0f|>1*ڇ:0?+m΋&-OL߰sϩvZLWGٿ.U= ;8:N@: -lO8R0F ^fc34Y7Zoşnɒ߇`(*T"2-#~H[Lhȩ ~`? vpB֍_#Ԫ~' -Ab.?O8c2[-yiRSʼCjDEx eد9z fwL5o_Rʜt4\6olAp2|+d#J L|jx,fOUfڝvN`%p^[U{P⫑:Uܫe]pK|16{5|]Ttïb#=ͭh{, FE շۢQP:ǾY|1K[ubx BYU| d8g(/Y ?H e:51EFmCr_ܞT#ky.O.\⢏Mlj.~Kj3Nb+| 2^g~D;Bj m:LG@2 W>W8_tU: )$U48ƛBc^_YG0AM WסxŒO(ߌ06za ELk{I~,Q?x5Q$WuNvc-zz>o0,8{>=V<Ʀ >v)&ϻlOEk$Yb|a~RʓP0!SDħ;pz&A+= %=|ɓa)HK@,LSBfV(c˙Ln\+G4g*lbisfg6^-!b-V)Z? 3E鱱-T U(ҟ+8GI#=Q4pʾpCN, KTlPs߈n~~JYpxzDs9JHIT 1ƞxXj.>HvHlED I-m y3ؠ7nl4˸ֱBR𬖿p3F-p;鮲?%׸"K@6`7id az^3^ʵ5h8kRVCNNkRȥS9zYnl]^(*FiTJ#Iz w@N` %$PlUGJ  o ZH(ӣbu7J["eq[̭;QT}`՜h|Qwk_!m2yݪ '9"O@p{ۡbۏ@Fx'`AML(gNoZU&q%y9!\`taycĢi<hoX)e(.SGGFZDO@$=`и{ONk D){:NėhsPv+c̰2:$vb@ ؉Gp?q i)R!z b1&0*AAP@G` 9(>'*W:}v`@IMaIBlK(jlRdQpB2iY+`TwRt9q[ o!;B΀ݵ=[:HWͷgwaSu =m#ÓO`# z(hZ|k'C7fK>]Yɯ+jK|^F%J7OqV"*Q`<@!w]['u/E ([S߻rSg&Sw&ZS#4溣>/P\8ܳ7qYnZO$h݄DSs ,UnAE(2Ľ“Sr_lax9MkLa`f2-ݦkA//aCs{N[5 1 ܒJ ,yTED^?S& I(ɟc-hT<{F!"ےws4\𚻻70x20\\cyi9o~uZ`?=KXvalyAv]'$nuGȯSu"$ T\ѕ ! jq4w 4?B{tӻ&uEYAWigд(2zixO !/qw!]vf>5@v`¡u'H0MEĻrϛ3 ] ͨW M@@CʏiLik@Mc's8X(3J<ƭAϟǞ;@]=9c+)so (TwXt?J2!#"06Bol*M"s Gm0Hr{y T N;_xe@ yS'd/CM>0O]o n.c1 )AB]G7)`_h7k"ɍ($a,a2K?@>A|"C̢`@FUFϊ ȣчڧծ_|+=A( O x|_ޡpݻ-AF;EKSd5uGwn{ON*`䫷ҥE<qΧRB<tQ@_~._$ ʁuJcT5)DcyYϵ "( Zo><*1øBLV׃K ߮H+a[c~Sӌ T yw˹k#WU`Y@{] aS@h_+(iYUi ltb`UTA <6Gn0GʌO`!sN]Ϸ] M]1Lt(<^ }sCs)_F.dx?ҽ>`7_T8X sz6`-ت907A.Բnrlw ܵ9 T7t-K=\1P*֍9_{#\D%,'*igƗQSGIR'GMΧiō ']0Gkj~2a_iSDkiHY;DŽ?[~U5s=kFGI*j|յ%Q;x1!~8Y1^Ws6z ) !=pEQ": ]ӚŬ/ +2m9gUm^V&/D9!ngR*м 9MK&E8r_:9V0/<YZjg{?"A"!./6j@bS`laz9TG!v čN7'QiNN1OP,=vuTUȿWux>{!f@kzէ} ۫zיXAw^sS$6sX&pK E[KQD iا+ 'G)H9kjM tr^ c A_/ wzJ&(l#1|2z_DSD|ٓaxw6L[H ?C/Q%Ftt S+>q|j%!1@,t{~xn|}Utd/dGjӕIFVrX 0m_ 7CmYzFumFp-FO-ˏIa$q`"el_Ζ3s@Ń-PQa ca9[v.fr2V: r"J:nx˺,ЋdOۤz }xt32+N۫K_  Ϯט*3-?Q$ Y7k@,],M@^M uyCf5|-,Ů&Z[z V\/M Sgs:_$:bflz< @*A zGK*૖x>rS5JoK4OYP~p)a٨'QP- dZYI!)L(<5ܾ n"\ʌػg(y&D`!2&ա!Xnj3Q~r,_SMj5[5 }fv)_zN6k-==9kcK@R \{sDkO9j]Xײ\}6h xL ĩQ g:`O$VmYQVRVq8_g$d.@;,B/-<" Fe>զ9e&ezc.$,gLLb)NEN-EIΘL5j'l&1`TE),q"lJ|;{ԃ#cf[_ee%=i&T@to_2AA.R6O5ɍb_9 P'D $#._g$p pFP-wϿ>jLuj XJEdN1<(^6^n86l8CO {WUnVE^O__G <#M?N^n֓O#@ϘcP^  l5uX{mGc|fQ3^x  ֍ )rp:pS̊;k@?S[&M_,W3µ?n,>*/w.OȟBߙE8];nC ;} yL\"v w}8v:}a|ͣ8m^}z `U.RɟڃOGbRZ'͆-&G[8/9 $hBcppUQ'+zu? 삮QȓB9}X׾5\?6leaɛTf$$+v4q6<0LNu)Dlt?K]fntB+򂡊\q[4⸀q[Px-|O}sڜW֏\ ``e @ Hg-@a\Q/?K:~iFTlxm O L=)Wv`~):>]8۟s\4 r z&Vx p#LH(1]l_ I fe|s(vGzVu7}؆.Q,Yե,7~/3V?gnz'hvj5VmdaJoHI'9#<Ꮓ'6ZzIc1cVєݍ_"~|+||>9" + %jՍx|Qs "w'9\FP}ơƌ|>t{K9=!jW[Ur"L_e~Ց36*Āo."4v)qfd]$S@ѣV]a.s=/0>_򓼬LxjZ2⍷ypNo(%&_G:/'hK8եo K]>+0<;?Owo`3c{7eY{?(>Y~AҊO8F%xbu*KOn7.!7]W|ɟ-rd7Wɷn]hxr6}?sp@[^f'K(mM?-gL\i]bE;rbϡT眫w q\:WKb ?4eX%wU91ՙe|n%-$=fy/.O%ţ%pO/ACDH;cD6Kk'6Rtq ƭk|Fyd?(ҩkЊ>adcY%F Eoa=T_|^+giM2+3>.,vz _.6_'Y-;+.{xV/*NǞRU}߶$[؜vKgNJRQ.ۑ/>N@{0"_5aj2kI7!ma+iGv'CgxHz7d:W@zonwvlw85ãe#uz,|L8ُbcGᗌ*Hyor;O9^heјA>,/Z0<1R]܀yo߳vIZԗi$?(dD̫E~9Q)%їoodSEy/o?v|=#~1aa$15~Կ\ff+-I(RLj"K%~.!pnU{ji1@gc[ve̒rJ{,v/c03O$]=f XhcNj\;>& یG 3gM!}dt4XzJ!)^?{(KҎ‡0|.+uβm9rc;fV6@4\rDg`Z "a1L7@ۢhWQz ːhJxOw~B09OxNkرb&]^4H8i8,ȸZ/\ LfUyLL7|~L2dĂ) %(\UˁɰFRT"#M$ Q%TUL*U/<k\?*56s3n/B|ik8$Z"@ cvgMro"s`;TNL"ᨷ,2KBR[) |bM>CDi ZJ(9~n2| MGM l߈5̀mby"w4ڊ9oūRLeSMbYΕ{[ĈQzy@1eнv2q1c4_Y3޻C#& C|y/ID!hjhA W`a*9cU0SEvK^m _3/z =V,0d&ضҎ/[uLD.0TMENVKYGeh4ښ&nVbe=)pfPFuKK&bҧ?%Qҝ-Kmc~=p~ ?Wpko7Ԧu!0EǢ,v][D9Ƨ֪1߬Ny=GK3+> U!s cs0?dIKU"Q|yN!8RWβ)|ɂ%)9a|ߥ1|dsli?ן{Ep+Ɛ'K-mWb|.Nv̫d'Ef;CYr/"r¸9kR4.ї.X:g"ڬ Ϛ> B:dz;q n8[^x o:EϠ3Dje Ljhe$yGU5Qk*n~AE|YcUDK%'2ݐ?%GKԦ|!|VK Z)@&9`j:H2K)X@AJzAu= u ]%@7<4{ŔK뜃4 nglFhA޻$-nQfƄre}2 e8[b=g2ŁHIc+8A~Qx=ƻMizj nxPa"K NY+Nc峡ceu1#^#J:sVoS8*=+02bUs5$[j]} ^>}buJ$JA9Fτ-eA\lypiho'>hrJ:n$XӸZ8L}w/$*锃&YI|XKܳ;AG0G%3=O}kV7'v_y,)(_ۺsiITQPhm]tS}<#h4oAQr5&b<ϡ-Lu:.h1EM(& iGKν5,h%HE*7T g_1 ע&XqiRӘ~y>u6x"0E.|s"U uAECs }FPV"ޖX_P Ghp]̶A1A X&+73i$I@5)O/1~;u3z^hԑxHlhid{Rϱ@X^5{Rt>CZX;a°C8o}ڤWPNp?eiI/!#?Pk2UܱA$ۓ;~anߟw*ihjh B}Vp1~ԟ%KSj%G"2##}IћuF9p9ڌ:~$BN"O{^iY/lFVN&I.URuIs߼V$z@#n4S.T3' )WX:S&`|af]\Bb$24=Zq7X?:(?7OgF9R\J=N6VIb:sCwq7*y ]4ڂ|F̰r[KeffQ$-5ae%5gŎjel=|j9-J u#tLw;x`{]: LE.XUn=#J i&Hm|Q,%.ui&GFh(%?-#fU=rD`c9`3'Vy'P[*mǡIWA,UZkJl<4 Ή.Λw1 (ϸFh 9. ʊt<a+OڣDzFf=qyz~fn~b[:+t} Z{dd*[Q+,HJ]w\r,i KrFxtbICѡ#~1ѽ͖<{#PlfQ&πvN,[ė.Șf<6['3mdP/T=6RrȗJ5U,b)ݕGġ^:TFYðv-;:  Hn:>,›ɡ/ex?UUJp%!)oZ^EmhLX\+SMw%.[!-/<UMX$ȦT.[L/v 0e$ z1Jbn%{sʕ}+i4,*O[@:\ZPwlvI^UweD eD-5'#Ipe<\\KB6lY^IܢbXAn?ь!q]H!>G<]C_c|\R9An&̮ k-ΜT;օ%`f򃉆E$C}&i) sl lhWYFۚǵ‚ aFgv V 6qѼ{LUM-r]rrYe3?L=z3qF)Oy"tJaopҕae ԫgd>#q]<3لz`0ܮ 3-%%J^]Nʼnˈ֚gm*V · QZ[=UJ&ϖ$;4?H_Zk?aCZTVY2u~>/28Di13ep?cHə,S -BvR}aҍΈ$oX+\C̛+nE.5XsW-5IRmtX7|&@;jg7rle. g5x)MCd&T!r165WI I|S~[n|9.b>e6AUJcF mR]2 (]z*WFǠ8C :w0{& 3YiX+“٭Ԍį\`Dq>)u~p.QC%ɼ 1 n}_g[rS5pny'gN#,ޒ">S LJ:Eqr5tӟ6RŨo88 vUw}߶ :VGtrj|@Uz/_6O祴DYT%Rq ߉"o6O5 aIrJ޾m#!!|$TRJsY r>U>%,STyvL~06A;HB"-S>w"z4BêL+ܜ-9ttG󏞬Ĺ#.&e/1 =O/*Kd:©~j(^~U]^)Aw ]P '}}lEuO~y{cW|ܽMop9|jN;0&*I5 ^ &H=[eѨXÐIxӉN6VQ6Ef׮z"ibD|TŜ77fjx#BV3J{P.4M]6t~ w K"D@"ldOFrD$Kw? R9^ qV0$)QnbrƠ #1n0 {\ӂZej-iKwF5nvl09ۻEYȏ}Mb%=ط>oy''w 6գ *F7dϏ 045{|2{ʈNF'M>9fF w&o>5Vet+]/k: wlm-Me΍ Výցܪ$! ;Zb" M! /DxGVg9u 3lK{21~O27ۣҹ`%?. ej\|}Y`/e]%G8(Kw(V%܏ J꿆#qF$֣C,b ԝȢyD.!ψdEsߏvB4:P~}2K8TnES}7 em} xS2v!K4{Q柏ïjaH! s ?b'?S!+ GVWn_яGl~^)qcI_<'ڊdDv{q _md>zjJhU}r1gҐ-Sa/оvy/aW'hB7m|4k|@k(q# C$V﹈F2 288D9[uGő+͛>TGm;_ŠHk<) ށ=iSEW8.d?/{9w=坱~ql ?; }Q TI†_T)W`weӣM~$51 :FoĸejՇd\"!^3:ߛF:q)wSj4,lvvBah%-X2#ya %}jcdr/i)ISDx.>3;y6ǘNs2N[wBZ :rOft>W`Xߑ3ˠ':y؊X]]N*4IX$E9d>s8?02:2!4&RtD0ƧCnAժu|V4´-]CxBzvx߳J*Josa˖7kٟǘ{uNm{16@Mz,b%sZX=WcROsR8)b/W{0 M\)]FTklB߇\a3LcI>mdHMh@N];,ɼe|ny"T 4΁LpO-,^Hc,Pzju\稑i u1#+*ў1 :)KtG85 bf`&hy !Bo!QEhdM:[2eN Y8jGş\k9mYmu7MsIr=e)$٦PIkhd:SlSNMȖoCszplP^IjVi+Q܃_l(5Xdl-(dfϧR4@bUs]lZ٠`2;:&VghQr!a(w>c:d5:@ޅc"7r)G\E*Z~ZԿ AwT]>]QݩeD1N 1g(̱wub>q{FH_bDDz] G RQc\4ܬEVճKU&퇑J]}4SMBM3z T#2oWk 2?8F-ʲN 57֊c*2|ͥvJ*}PCv8qS,N9}W".nlk7DHwd} ym(>>z|N 9^}&E iYYy\1yG֝T{泊g\7!f\+9dњ,7ф6.U {jNAūD_G ,XI /vk-u9okooŋH{ <"8oDcnI{ia~>b>JG”׷߾+ȴZT9!)X&2bu!0i_SNvFPe~sLb͕cO0gs٢.~U<'pݏBtSl#גloʋK/k| ?ҚV4u:Fl;D\9M=M}e"I1.t*LX7-Q>╎uC|Ǟ 1ëZiY==nHNC"ۻ?aykf157 =y0ᎂ4RlNBt]%0Vz9ld,KՅ͘,7}M>ˣLښ"8,[ŋhc]48IޚC/tҥoBNU N3Eau蠵:7taNvTmah/ѧD3mma1x.sVXIpupЊڕJ El4o t+& GDR8&Xh4+98P z"C70TZ,OؕrU~N)Pj՟A"ri'( ] M2*$/G9>a:Rþ!½1yW趕[^Z_78V#*ˌGȽ*xFȭI7]_I9 acyHeNY s+'evU-ߒSb2=Zxhns-& ̍/ٞK}jI|11EGg}mюWFM \:JBM̯,ch ì^jN2Ҡ(E5mv`Ss=e: 'b#(kUf IX(kO^=%iٟgY p~MR$k|k墚*>c-ȶH~?]=숹g@n"9*x$‰E[3ǻsh8‚q| ; U %xqVmhK\E .$p|ll+CW|?ӠgVOW@Ͼ5{ڵPk;x|9DZ_ӫ!$zR!Fߐ4KBA0n܋$;G Oqԕ܇ "dn)RESﰥWÀƳ fA,mRZϟ7W2_I9z,'S%9w=ڑt%|WՆ9MQSov]$bL2g{ӑ~$ܷ!zurA֎{0~vq6Z:3D~Ӥ&Ȁm.m9R|wcgeܗ9FXp^/l_AQLxi4= rEPGX,)o@.F]s6L ϢTf\Awn}4FTŢwQ)[ㄳͲWn 03H&aXܱhߎ?MV w )9E?'b;%̪ߨbLQ)Yf.<} R>ӟǻ43HWL(,:ɂٸ= tϻ+$'Ai }Wl:qzQdZ'}Ω%I41A^M]*ܞsH *N!ȇQIGuIIw`!NՙzewjRj1O*t+v|H7w;}ّ-En9"w|O77Oםd=f q .iSޏXTA=[IƒN3:j|dlB.`{-iQ>x+IZhiӺ6r6nDwQ7d-֣N }4G`Rl=]XbGJ~5>zwF %;盠9IHD3=zo>I/Dqt gdIUzU1x#&xEv.V-)9t0SVjaBEK8`8 x#@dcQWy󩇣DB5vs;@[q6od8{/)Ƌ6:[{n@> ' '; A0.ngJzŐ$bB!.j粷Je/ vNcm:e#=`Ga"*8./#g9 ƃBq;l t$/H%38y,]nP-{\128NCM5ߛ_@> z,c8l,q|[`*YeJZ~w"F+̘K LȨ <*P嫫`Ni{DSZ^V87.8u53XZ䍑<{^pWY"xŢDh6sY^/q`ն :n Iⷬt;"Dŧ1;\;9E=(59/g>zr[Ol35UTd @Yqؗ|pbՓ.u b!! Q,4wE?-%>ULd+t23YwᾡJ85">\Wy$=RT~.)]b s~GOKzlTDq- 7*/2[-`e-N66z;<3~ڍbc.j\!5v0PsX)ckĞau*eZ-ƑVD6})gJg}4׀ !ཁ8-z@uruW/ʸI(sRqD)0䩻%~-C#p1\ i>|J,m]nӪT:ÿ́~Z4ߚQJW z̍IU @5X-G wxͰ4= gDTg?l.J +%;R ^ ;u= [ZG!owFFtIZJ4F-nTQ\ާȴ:Mt8JKP4w.d}%aT(״S ^ 4;w[P!=-o4.s(525^$t*E=8Q9ϭ\l1_+7=#umЇ<^ߵxtDica=Fre257m^蒂w NB͜6p1Ϛe;hs_`UF{7VÃò#BZ6F{/3ڜ5< bF*Sm m{fEgx$\4W$"ڌMXePPMq%CpIpW|ZaT8*P#U*07UDUAYB*A؎fIjAbs»Oiﮢ_"[ZZu_!.5 (ɴλ8\noW M?-jgN})S}a} t+cuwP:1EH1DNwǝykV=4n;'aX=`ȹLa 3#N_TwM $ :+b`i<.7eǭP_eC&;q}XU6?)lzI&Ҳ0\,ez3߫6u"(ƀ$wza[9j~`IG1 Y;ьEUALO3@WqN+ZeN"tI}jtRj|m1 *Yg,20X5.Q!rG[E|(0-ˤ231Қ{8%ڟ/nT WC(-NuUr_5{[ճlj~ZĖrΰ{67ۡ#eRTO/6yx"NrմJ) EuwYhX>ES ^*uĹ'-qjڭJehlI /cء031YU `Wu\@>{O\5RUaEgRW>TIc ݞb37ŎE J}Blَ@:^k!Dt jm0>1N]eqBf|+ֶ6lN:BP^ l^NȩGp3H#A֪a0(hY3jԣrEz0*n+𭧱9ל :׻e8 [ǹl-uP?OQ-T V9$x8xt z7 #=7KABlo!I;@圹%ʼcO QHQ m}M1m *sٸ}u;?O ͋`)sn>$=٦Gnu(Hn}Ș9~~TZZ$o(6TׅQP<]J>–*qIWй ]xt:% L'h9-9 =kXtCc 5Τ/ ,=o ]cx0qԂLPo؅KQ  t50?7V! h?KuhfZiJEӶ8TH-f .#(ue55(T_HwqF1f޸L=RI䂠 B~ F氚^wEgD&D蠱LׯY5R({nh;TywZ ~nHѪ[9N?î ^@*RJ|M# ނTwXj ܣ'I vƥ UBNM<:#y?tm\Uv'(biN`rV_XSSIQ[z[> 4p)!NK6jE#:CN .dROրܨ*Hn!ZR?<ژQx K^WWPc`=:ʷϿr6vv[Lxȝۑo[t?7-%*+ ]]:`ez# QM$ n?1~L 6PA҅p"TJ-Y"A; "ħv}c`TQ ȚV@8M1}BZ&SSi+8M 9K ,XӨ(%Z0*# ;[{w-e~$5 |v&hRa@iT- - SSXwjYNy,7w۬$y4Jd1(H9A)]*~A'ʶ8}B؃Ht= 'ҡ2ל;!CSۦS3 hKNW/ VXMyPg:#ݿ P&az5%ts#1/_`εW2J߭a DiVLYu>y l?-wI3%;lgQZpYX(x{\>n$\5z0K7Ep{ >؃bxu_g` Ie^+ɟ{YkqK-nNB:F,)=_2V֣ Vɒ8ǞD!]DAŽܛ":JNr'ztb1i]95ŐRB~έ/Xĭjʀ&P\r`vy)]՝A B@;QK"oA[sGu#Dɠj7gc2(_ʐPb|Z)l-x kA.ZԑL *CN~ Ϝ""땳d,deبPlثWzs.U2|ݣ=t`эktIL[] ^&|M0b)\ۋWKp o 98aSBsЭ #q[nX 4RQU5h G%fCMFiSIb#bLx'e/> !Y2xA9A7erj脸%($> Uw= `Bxpnmo9' *I#q'Ŧ{#蚬^Jy|#biuIkGvռ d QtS-ȄfQ{Ce]D%A9n|V $ؾrCs)|;!g,&7} & C͆kXa.:yh\eJ-I傂* O7BC(,8BG\W>YÆ)P{!:GlVOai\w:>_UjP;?5zt9XM}*{ B.ue)>SGBS_;ڦ)_ܶLBʺ W bw =עctۗ)B?1?R2Yh܆o$moS1 zݝbSj#vhɄr#N6]_>3a[o \D*~PBJܩo'2ІaG$R<1ņpblΩw;{Is_Iu h}ݴ֟8z7RIs;) A5J(t,6 ;#Wp uStz,""ՐmtBU{mE|PMo&"FGȻDZg[83K 8n)@G1˲R))F4qi4\d3AX6`vZʑ>vD|?w)goSaA6lTϳ;ܬCH#9kM.|ƃ}!4XLΉR %,>|Y){b)uFew:M4CmSac5oy8 TԨ>4>} ;)e)JYg*FձU>9oim[*FU9}shk|z?{TaYX{Pf,ύV=U!g[ޯ&>EtV; s")m/BW JJ(ISEYWdw|Vxp^\˰8[2b0T1u?X); 5Eu#gF|v{u\VY]i8䘕%O;~}u)vaz)wQpH;=I/sK%>?)5PǘP,8*MuTy;zEݠle'qjf徛SD@Gtr<=7Hy<gS˝Nwcu 퓉[D^UL$jŸF{/*EVRШ7EO&IVuG:P͂5~[ω*EiQMūQd4ǝ@ /fJOQ5?|U!Hjmӵ*{цvd Fm;H};EhjqFaB?ד5[PUq MN(c!SBƱIJFɸ̓üS&?jT6NJ1񌥷Yzj~&ޖl,NQߵւ,zw=3襥 /} ]ԊX!1̶ѧW9?ؑI`{M+aD;75c 2{aa>f]؂4B[x(F訠]N?S#Pxm K,wAu>a]Po#~. <_߬inm%wW:-w~qϿSuԽz%t|杒z2 -Mw5(2) 0Vje:%ǁ%NV=I_$3':̃`e!lac5*[[;߶7,k BH82XyI6Je笚nPnEIŞq.R=1Ř5Zڭ'w`-  {O⩾akWqɑ^Y#-T΂;ќ1wPϩ̊PN+ #$\ݥ R>ڹS8 =`b_qO6R`({$ .34o* S(m@S{3T.3זkJmO;fG65W7rvN6*CǦ2^c & =K^xa59DqOOe<7IS-'ch@Fu8乃3 S.gWkkU Zn=}%yU`n hܥ7{<ϊT0 Womk/]5mg #-VxpMa*& B.Pa[kA0u`J*]k[eWie_ߝ{7v<$uv 2֘܅O j ;.ce-1@ ۴J=8]tXpmXS{;)0'+z`(:eUAJ%NUʣ Ts/Bzݱ47 Q5`.OW+=}c6etj%vbo gۭ]hri~Wh{ђTங:|?hZǬ"m޿hp%c87)VOeMi *&V=|$VCBr]k.k'l_ GXsC+"rb~N^j[Wv BY6(b;;G;V\tælmJwwnqS)AIz>KJj7ic}Pe]c+yY1w}C7GC+ S]mCNoa"LrǞªhx@5aB]jW8ա#&!kE]C4s\`ځ&B#BZ$i UrɺH4PLQan嫙sc 5 ɼ0Nƞ9݃w\CTϢY+ uPS 8-*Uzok4B3kbY̎pzZ=3 T`o / CB;ΣKfx7-Cpaa%:ݭ00E+n@|@(HZ]M&O1 5vUU׃r>γ8#0;zs/荓u! 4rdz] 03Y3ݐت桐4$-t$s3nv&'#(hbwW,xNT\A2.a}L\ʔۤeÕ0`Ĵe|S 6Q?X_gL!*2Sqd}^n_Vf_ez -cow1:ֲ)Z>cY8gOj` \ _M Pul`܏G0H ^̘?#1`ԅ32 -uTutbzccX؟U,{ϝ{@6w=9t Lf e5 J O}Psn9Nnpg{Wooٹn貳]3_ߊK0K77!{bN[{'D]^C-4G\}CBY-36(#L|notC%\*>W#wxZk/j|o>i6mM}R˱q!',q =)q ,M"COjb]]&HgY6Q .­ zs}ouoޜ ڲKfŗX1sV0gBw3%)do:UxĈ,}b;ߗHᢖU@{kuv, |>ugx |j) Psbr&pL0h(nTS1z9g'#ָrK,Ǻ].O]Qgf^ G⦆=B0Rjlq +, eϩDpࢋU0_~8EQW5 <ߨ@^9/&_;g˒u}~!LiQgnqϧ0&&ϗz7CMKywѣg X *i,WL}C+?/+Ԇ,5K :qHN+ kl^/;,Vc0aNz~ .1U\Nu֪M<6#+/w3ktG.kt-=8P6RSG3ݢi$ںgL?7ʚ@Y!dZVٹv)k 7ÅGɽT?잷Sycxs$Fq>0/-L_uIpu*9b{ܳ~+ r[.y<,{wzCټzLa"? ^ /N Q,tQ)*tp^B>~x"8ܛhXI$ҰeYhCoB#-lw1HH.X$t$qecqF r7%Wz|܋Fd&")c: Q:OϳȷIk J(=+oMQ˸dvȋH\rq8ӳwcj%Q!aN'ؤ gj){-4r8FgI׉ܭ;35oI'zyS!+> 0iM6!޻>{7\ %b۫m4Xi<C7H#\KU[vc2lլC6Tm:3j@Oeyj0 1]Ԣ3Kۧd0>LWEN-8sSjR Di-IJQ(Sm̆ ̾+OSK5T#@ㆣp-OͨlRC}=s/+Pێ (hOŲ<5mJ X3ٽowg՝"zþzܝ䩲FW?쟑Rp[KG (:!"MՌ \:~Kh by<8_Y55g3%pK}ܑ>FD<+65; k;]Z pT{Ɍ7W5Jx*" ɪE-' keMG ijмw^pد|6Xv=YTB:"zO1&^0fG ȗ֦|8 % FLM ɑAޮ?2:6@tO.r1'x&M儫{]-Q@t]<ͯΫ=& 46 <}[\ƶ&vjkGNPkO ZD CO]Fv]cA?AF 9j"Ofb%\k;枞hQ?P@]5L#!l-GE0L=M&fۛ܉ f)0pG*ƐP%%CsRTFCytljШ@O\I=tHb$U$.)ݝmC4(I,u0TFN[Z$tWңe:d'~ -Oƚ߅WC/S氎ς(}ޞ'"XvBJn+f.Q#᥻'e&ND?ġvS;R/HrdWĐ0@JD!=BĖKY6vcז %!*e96NsVˢ;Gر_UQ'bH[2Xupj `>7.dJPQ{'1/!VɁ,AǸ$N~i;ITV72U?)i ȥwBl!&5/c.WwǹaQݿ f2'l/ffXG/xQ_d2O {1Hfg l O{sA$ڞA% bjivuć#vd(stf1*YIvϙ=|3^?"%WaG:bH+dHse5~bÌ.[km b7=v>HGZ㬑T;QZd=՞XPN{{Mm`MM-&mV$.o&ۿ"%A\Izp0F~% .^D K` ~J.hZ|yE 4I6f6INi}cf}m0.v.С1<^?N&d/JxMJsY6.k-I1r/YPqJއ"k׺tRdŶI`{&jW 6Bg:"m͙1jfSG9?Z'G]w"̷εg;iĕzκxClkѼ \S1<h96!o D(b&:i"yG=ISvM}0pÞr/bи/> g, KixT0c |0: \|.8WeR]ʛ֓Lf6|%~jN[ 07~AHm%Dг 2ǻzj}S(039(VAs_1Wy;%#,bf&_{6Zқ(E$yH =I_ku,ձɆWt`|uuJj.&w&" j~֖"Y:^P aBVT*^cϼa5y,ͽַfJ=;f=wfsN藽2-u[D9V9NXw~{会,,lo6zIG%Q>Yce]5%4&W,9XӐtF竅C-:/a&0ނH򅇆<}yvC!SA@VGrڦbZC.m!v;Ġ{can׍ٿ, \jO7NIJ0]# pAuM*Ԭ Eat~F]qr:ZZd ?D}h `Av-p."r_SA= 7ߴtzd;&R GU!9gP"%WC=\y9_br|EzFi!~fkـiF-~].WzL23-yJ3EEUg >F9};r ' lEwCy3â=OJ g;3%v=r"Y>-\Zgf $A|~И ꗀk, pKo 3@鼌iQUHQahx^8T$%U]քƺVֱ\)› m#nyTu0#EƟ ZTBIڬ= ҙ&HY"%aE=PkSB tY*=Ԙ33Qҍ[&]8gDIx˰7vWVo$ݐqq٩(Γ%2uxY۱9揠Z{Nыluv{nPEɠK x@C,ׅ=wޱՑ6 y1!??7{4R7K:"չ,Z{#+Sl_Aˏ%e"yK5|%\ +xJ nj噬ۜ`1Ό2*fk_I t2&E0z]ip>¸gft@_=lAӰL^wOvTde2后s K@!ı(B|xL7. wlIR-ymmҧs|kc>2$ueEg>9zj mm ˗hs0a\<<6|I葰CpSseFdG߮fiOE- t=c?@Nr"6UA<#0!^fT/= dK%4{ﱥIBan_7 nHIe0c &': Ue?v? ASu_v4P_yS} !l)FINKY:`ON7/N*w3o®؂0`s(QJ5\hUY)=k*ySm [c7XHAPJ}x ]) %R{yڰTkԕ_N$ds8[e%[$M^n7wYa1U;lf|g0`=Q\`VVIE`%ɫȐʕݳVB:dǚgauys'jhymHU6Ǯ6{B9|O^D9ӗHlPnj}%w=}pXaL4GE`ů:LXi B)v^*,$BzJ)󘶋/)R"weWU|]6ixO -y+[sw,ƛC^BD8s[mEH4NɝCfiE-lOҁ.^2.!V}>yMsT W gc5S͆Ϙ .K"")J4}~$H10\E@V9l8J0g,G=Fk5Xٙ{f*4:: VEs2y!D]ad¬ィ5q:GO=P8dFɬ\MM$ h{"ER]y:zΙBo}b]hGXuqn<}w v!2xwqlT9|`‹CW"ج`LIcy,YxB#4@dĕNٺ-jpߛ u;ŅYW ZF[̉^3\` Cbכr &O6߽ `}f}jYBuQ9;Ľ֑58~,l}| 2e%_0;NL^ga >J7& eziV_~;iސ44/xmү$/Nr<:biHwHO2*U}MC/ {5m/ JdC!9{a(2ФY3ҫ^<.x)}R|i(&o!= ]<έM}&D&}*:K=-lEh'@"0SɫR6w'<I4ǿъ0i+خ׷ך3ѴX>v[`dSOțA.U*<4dzDCUMSA>q4(_07_ر | W3-8/?Qd 'bOn1l`F׭6|| 0;9?H[}u'aދpJ[hNlRXlwⳂU |7UpryZ^Ճa޶G^8(ǁh_c 5?]=K%f椱T.X`D"@Kqױ;T?ɣp6L__ȏ/ఉղ$U_Oq(zPY /Jֹ6IA3XKe3IGnHwF"!i2o:?[Yڦ㑺?tVoD ~]x!@` -VF햂5SW3ٿ,Egm3Ջd >fm&֭,ܜUQg(<ӱS4*(46E1~7ؿJD3Mg\8{sE+F}\_t('Z0ć7,H֙pcZ3K"b!0쵃}_vwhͿ& Rq0 `Kkv{oR{\U씻'"]XN4A^H޿v.Ͽg#xx# _~МQC=Y#ƳdKtD~$qKK\9xSc$Z5_uh $߇yTV$/^ooeY/:VaT Pta[-R?v;)Je!%mz#ŋsBl)Lt2͚AH[{ g5]{5+hC~$C Y<mJ 38>&Dߢyh !Ԟ?\`ԘR~;dfS46(yBwbl \L*5umY>g<ቹb¶ƞ2ѬMM#>%:> G&PQ#V,q[gg٫bvR<ק:؏@A!R?n܍wl1۶WA\s Da_É1a߾]-@/\}A`J׻5oFz9 R-t51j#2O!?JrRAwQ_'A5{RQՃ{K)~DŽ{*T@kM0[l~QpiudBx #p &5^*=G$tY x Mƌ,qW&? _~!< o_H'n-'PJy!8r@Z <lorAWT3v2B8ꀅWꖐ~ x`r5:,I;IlH㇛JK'Z3]HGqhsU娀&IphD*Δofk[v$@*t;hSuGJ%y3*j^FY8&[O=iJWeK}+氎o$h7w $A}NI$7={Wy BguJ53L6O<._j{CC1KZ_ˢXqh=]8q'FcCf)lJqۉ2yL+H[vjS VH`Q#:0{&0|Գ 1' ҹ%@g30N1uz81g_!;QwIÆq/ Ynw>m\&WwOn1l} %Dmbz~mY4]xIx9=qkO(p+LXUoxeL,)t[%) 6n+Cy5?Dbr!뻩~s%pj#C$ ֲ\h!|&]ME(x?kP5gKuNcM+4('=OHxNN4T[ai_̚Bv$s:Մ䭀\Ϩ94z3|G'MV4D_Vnɳ] Y]?147 ?a;~ ]jRltmϰt3/kUߙSi+Vd%r0x/fXb&5p}O/oy axuƉXaԄ?0I]JX;0~Oa(g-ïyƕqKN4}8To1'<2D|:;Bo*)tGB\?Uf:S~1 io>. oŊ평X^~7p\4?=?ۓoɲ="v`|ܫRMK#)Xu0n3O|1ryyp!WI3ʯ| r|Q(dqԼRjX0ǡy{6$A;/܎C{BC~>vf(`\N+:L\kZnfkhsi9PƇ?"fz{Te>B_&c֎q}U(^»Z%x<7g!$ IϾO؍~z>x@ZP3~TvEmn;rɹq@A ^Q~t]L'j@~vdIj] g|q> J A= tB n{jk&oKI͵O$'F7<6k?{{/q<\U*‹&L9mOkn 뷙wًI9؋e)umhO@ydbOWS-6}y<,iAu֒O"őmɴs>$1]wI@QpSV!Ty[wM;/{DG\}Z5ay35Kv̭P|uѱ@z;'mK1V%BPbQgV4MvpS ĶjR%R| UCU N]=KbKʎ.RO/5i͑.c–+fn,w1^3{Hekh͡7;Mѱg;"Ub촣GE}zװjE&'DBl:" 1?i.&! L-`FrqLEq%Qz!4 evTg]3m +Qf'P]5GƣSҋqn[6LEs -{( D5h^ucІ+  2 Z0I}Kasw&Ȏq?^!/Cc$%l x!Wtߟ<ɏFT̘;F^BqOʍ}6w.><2dɤʌUp.'ӯF|OIZzDw[꩒Ʀ>YUp![i'OENS ͻ0SQ\dqwHm6f{'("ҋpI'>`5x{ p`{Ok-%Wm6]Dث@:8'ud0ћCW?Yj\G)-C6 DY[Z`?F~V/p]Y gʽ8 đ1ݞy@9+øv <}YJN\y빂%esW$N 2ߡ1P)1I0CJ$q)mJ!F9d[ub6d r[+)Y _XA:ܶ&!+/D.>R&E86cYmhPbY.s"֌504ZEi۾UɆ~DX4!|i ?ÃC*ΏtECLX`MR}wi2BAڴ~c-^- HiwbY,3[--cp IV:-[~)̶)JfEQɸ`)mUJhMP/G멡mGhEmweIl7G\ }:h*jl*#AN͚$ 7v=E rikt U2^1c*3yi8l9_2Ӻhd\^\hٖܿc}l=500YPŧ*!8-W48Y j\KMl1'@#e;LA]%{4K9 X0fɂW KocѣyBpn$~C ۬D+W2j -BV;%:{EG%CHuۮy~9|pH^pcˋF6Jq:;4C98 ݒ<%_n9jKEtk2cj}plt}t';`LcX%O_Hk -Or%O9;{kb9ڠ<Y'\עB^;x5v4ݶ=u\ =佰{iK^ɇ󸮥YdHi"dz~'íO6=47@CXv! ; iO}8=|,,ꂹgbz}`󤏤UNdu;噋 ᒣC;e‘J@Ѵ8`6;(GRJQɦ N &v-$qx݄,XP5*,trEe@s,@6x{U&a˚nj> =Ō|jﺄ*p)^g7˜ =1 `=ǰx*0B >Rc 9L$32/i Cl6r{`}㒨P>&t}0; CS HU'e4֔, 9L,'2g낰CRl C1j.{]$J}v޽~w67/ĉq Y\k'9JHs3].i.Kur}>Ƶ2Ő^:1H޾^ E$rH~mkI`'e>fn)ʳ CE=k[uһ;:ŎHcU6MpPa7|NB!)=,9| F_'a,+zJPaV!""Tvo3nDk#sfM`H `u12x"GozpP1{+ 㸘@;/a|^O]iG\mn~SⷠVh'c?'%LuQuc=v_,N /B$޺r&?.8y穘)HjLU_?єtRx,ܿs$BV=1Um*Pކe eTjA~5L{]r1Lkp\W CUqC.Ő']Xm8 dLfm^YE@ԒnA񂬕Ax텁${#;]~v68pu|St3A#Nj@BiX ;T2Œ6C+JSYȤ{P%A>D"q(kK(/.gb~1:,`sP7Yg"`9 uPCxf4:xAeVA'<7/MћA !~"#IVz(%>=Wzڲ7PY B/D$;HS\ɋU'6I:"a 9ꩩHɜQЫ ڳ.pWUɨv^%lB`ۢr[~+4D!FL]ٛ{e_`uTVNs橻ԭ" ϏW,%JzS s %fkB/͒" @l,Ɛ#(:R027U•0 @+0o /٘ѝ;, 7C3w[=$@ӲvB vqaXޜsE׭K՘U#?A\ЀsULi$y%!GiP*Tw)9+ 4TyA1ܒ$u]7K\]N770IpuD󇁛/F= pPJ(^//$_7xIjhB%} ҍxxsI]@Xq ûw&j:'\N{~x=5]q?jЗ0iMg%u>kV"y ゙R \sVd^|Pus:d"/r@jlAdUt*pi4})U^A{o[%.SV׆ &#g$<)}>noF߷ =ڂ+EtYzc <`FY?IMEJzޝEϠ={MSb|Nb MhPqXB,G eЭ#?]K;1nvy䛮lAߩ=NlJduI?p`<`50) mBըjtiL S`HR7 ^3(xL(s3`EiٵX˽ 裼68#Udd}7+S&/=>MxT|IF$"&bIȕ(Yz%m;)eH$5#TWr~NM\%VW b'd2Dz se ԅ6IƱM6G wC#6v9F>cC4|rN 8;2[5_Q:Z2zq5yjݰn‡b1@A,]0øzs!7@=7Hov=)(|E^<@aC*Ăr=kOF||#"Ȳu:;PDi V0€ 4r&1'}Y4r/;? Ru F'BDfOBoF{%a3w/K6,zYO[&<%I< X)mo(Y'Z@A E9s?eθn2Qe ۧSXOtJf.Ӻ(:wMq: %+!P67od!1ڋc:}djFHߞN(Kvw[-ޫO68Vz"VA%-BHGyc-Д^K6%hiQ0# Eؚmg|o.ZN-(UhA;9oRGaA[tx2u=5\;Bv#V%c?{7ԣӰ % ꛖG0Y J&SjTkC/ ª*VS4-j7ts:ʔxQ17˻g`yTo`<}1(N|EA+I\Q8E%4b"#D#8e}TJ%R AX5xpanCwp򱬩, VwcN~h3\DTx!j@W~X-XX*y 7&m޶,{O|2L))hĹFƼ~$&] ٸqsk͑rߥ>AK*=)~_ܕ17eZZ4[cAG1+5ԣMK,CK$Oy~!5dx^;Io(&-~n>x99zXKk ]s6J 9aI}rZ}XG 2W1xd1.+ۃ/ 2fFUb՘[8×Ovu6^A۸dzXX<1=%y!hR:ܰ8.+sN{zCKv;U+&p"[DxQ%UsnDqf.YtVB`*AƍdaNi,fwXYtm.8E L\ɵnC}}u7I\2F@yL POMet(}|eyv3Ӫ\vrUf"g͌ix=)Kxϻ%3_O\B(-zm3Png<. QP`e$q-qB51~YCQ5/Pнp*UVT?5'%,C\@Zn$g .,Ah:JJ|v>y[Opݩ6 aC`L wijUހ=6P)#^.|s2KnQn$>R^O\xro6L`|vˬ$GBZ~ gGԺdL*3~$ t+T :=wbv3LHMXxHĉ#-6f *dܤN]G _p7u3I4DZz)- l˻(&Cw! d9vຄYASvπހ u;~%6}Gķ{$IۂXr;i.db%(Ldrmhti4X:Z{]`^#RVhăHķzC.  )!S #LItZ|d>1jJjfsc CI8L|rA.+5]"Y:j{t4y Ѭ`nH+5 Wdd6}CAܴn(xW"~xM9A  ̅r-1x)Yӊ+C1>aWЍ. PŴ22X -@zPw*pE__N$Tl57:1* {"?"(~߭O&S`3wἢ\Y!KcD›m=! ߙQ} G6jun#tSV /2e)pȶ4YWa/-^ٚmӝ14M~f_9ic)BkxZ;4ɑy'1qM". NBL!ԖF[~D֐b"T3lрM' Ij,Fv؈4JfM%J~׻)Tc6Gd10.Rե=]4.FRfѹ B pdU G5B]BxcV.UuC=8DOIԁkq,iM0@e+F 'u=J/9"-g쳃Z.b^M J8@F5~@>#)x.;JA4aS:џ{1#`)#XibYH'k^Op7z?||G!ׂBN<[JШLnzu{ҶiI>+RqݙFʡhR?փ =:w:qZ-@qq@[oM` L9 7URlb*:) ",i ҄tS;рfP =ǻ%@<>S4g/0HZsX ʩ]*"HToEKzyIxDlW\z&wF84=-Jۮ .jDwf*B B _S5;OJ6u*~nA&eᲆ#&x !o'̔wV;F5#K%8cQ)P%U&wpE30Yݬ"/kxWrQ :C9n,)[d$R-h 'P@mb'!Qg>{Hr<N 0)r$W%P`5\x [lH)p/M ظ|Xj?hD`잟Ozl#ȑm /.}j ");Y3JCl _S~q\mEX6#X6)l_8g^̎IqJCѴ`r#?D=1+yx{oTA6'}e#)ifnT=*xBe(́haPjAT}7W¼F}s 8ZbJ ,㥥Hn:Vˏ[&*3#:J-TTAdoOęHbJtPt.} XC=&o8EXwZ+(]vO\}޳mRj[?y) Jam/Փ [W!gos&ٝ!("TEZ 􎰥H/£A}=sF9.۩*ڡ C>T ͑ A {~w:H_28?&F3;Ш* ;jE +&Hd=~d8 j =Db9Zϓ"c8O;#G<}쐰8][yL~1) aV5RYwIGiRa?}[N=>c\Fb?buۋYSNntvIGEpbk_a3?4K#2,_HgNCs۟lAT+]rޏƓc{]G~L%ktnIa`* bW ~Еj!kbE[IBRs\zu_L=.e*(ToeZl@aa.u%s[˪߅&K#ɪjjLjzg=Wckpg\KPJD5%a<+j]8 (Bf!ZLOn}Dc]0|cE;*'yZt?PHoyLp6;!D#X Y.a̢lb_ˌҧYuϿ-!o'Hm_\2.^!M"<~?M2łW8]^3(9}gtQq6\S#4˱0'*|YXU 9W4n;}\l ib@Y d=͝9GUT } kJ;uwdc߱l Zv=/D3ovB~HP-f|b@Z6 F+j[AJk/]S𺾦c f}`o}Q9nimp^; 2XJ(wcH{~3J_g\ #aK"dï)ɣ# i*KgC iF,w6NSA_GIA>Q2ݸow?Dwz2M6'!"|F/g4[MK|#^dioSK&T5d-S'/^|4º)KYkQ, YL1tvqK:_)%d(RHjQht2k:YpɟO"1KcPb] *l.f6 R_&fЫ6T0^i X*V1nrO;He=x<0bK.(,Qtx E܅#p; $#VVz{OQk]G_V!7 .IŖݒX.&n%nu!SWB5$,T\cq+>=+KBPS["GIĶ;W!0+I<=[mQ/4t,術e-k=**l)- QxI.[ϺgD1gѲ,GlZBMMkPB!FwcO0eqڐ"4V!Vv4"mkѰ8J!鰆ab&tڑ %4e7G-<~EtozłFx5 #^ymamF{N_$Ru0gaocv#x꓆|A'z7=+D9?wCنx;C=頠=J o+C'CG vi'ߟ=yߡ~!,dX/mev9׽ɝqߌ4:^Ð{t -, |@ #fyks) t(X7?QqFچCk4S4CE w_߄ezv*u|`$bO15љB$.N)ה@ҽþf314&[EI \`[1CVS̻ma_yTXkcd wa&/ !u\<9dkJ[mR`m 5 $eC\}תyW6l1*']ⷘ*P5[c{s7Ghuٷyв`.x[/zY,fVa㑖^5ɝ"WMχUM;j}e5pz\RA [ 1.EH?v .޺:K0p%{`xp:9#xpgVua`dYxm|RhGu~;'7)l4]X.3s}WӀ1zlAnUpf@4_q|1\Ϋsrӎ0@!=Sc_{R=.Nd@88#}c$ph)#53mpQxK 9 T*[4Ur#pv2TC:` dVې"O!+Н56I݁Ğ; 1@9m)'AGL:g&4m m;gR.wDZf^տڕ׬Ʌer%NOSPX\ELO/ߟ1$Z-x=:A!oʱ3ZOkhqýK'K)9 axv0@A| Xށ+v9@z(M;OLTk۬CJ(=P7GlCH /;c/KlL/@ ö20m ==^@R)0J둋m'%yi9ASQ2iҫTMG*-e^_G݉k_T#O9"dXy\\F=)1/MT TЙǺvMBE7-7ɚo3԰4Ѕ$kQ"6={Bli譨 0GyG+ٞh:&oc+hĴ\u?\$~1Eby[7ۮЄ#%4QJ`Lkc \/')QxR\!B`OGMc#QeD=^=h^c8EBs̄}Y^Z$υ&K.̙THj?ρwؠ垆]0L1G(E%*=,=©Jl'!^y gfx {94J. o"]h2F @e0Q1"gIaHP!֫rq*[(TЊGox0Kdߡ/šgk V7Ʉw L/ޡ}36|8^#'FrcB/yfE*k|{avYݯ" .Һf_>ʙ[ vs+^pb\B]*:Y2Եѳ;O$wO+=q"!B݋PFTQl/wUD_ 뙈`C"DJp/%*Vp:xc $VP w1(Sb"h5bfS!srvb!Rf4d*8RL& 9)!jd}Lډd/9]n"-ЧK`lVp O] $HH@_KM0QKQ3B'ul'A7j5elm&dƶj 8$j5 tuZh @gGݖP֨x.V ov`D9B_}7۴r2]KEȒ?3!joݻ B==eOɣTľ=$oÉ:># jf7I~k%t6p亏y 'H7E6[g;)|5V2K='ߧA0t0_m_(h<#-̇gךJr(/7qtRPxƦC1` Q ]fƒ-lsf|b3z@_s-U4u|oWY7ꦴ azվeqwuW?kߝ|d;W`j"ސe8)aUPZ%cK j`%W,M g,)2'fx>ZefNݟ\;y1tCpRv,u _ @q”faĻm)lS},4a&C_Nw6We_:B"xaz:/w*ȥ|JoL ``?"-wG4|Z{jV0RఐM;ʤ^@~+f@v$wS a_`Ak:9{XL#dl/Ju:x Xu$`0ߌj_xsY)ZU+ab8'_]P8TXtMNU:Þ]-Ibh.'ejE b=ųxqcnZ&hlkcP,UUf* z%%j,n27H >#ŵ<%>X LQw#qXSɨ T/^p8nvQؐ`W#Ct^ r% U;$^&',ԎoYݷ;8 EBI/h"W3(?ێ&uaXl;[sWn3!8W9h]v!E+tۻDFH{Lbux jF\i1RPܸ;̌hNJ#+ UHk,SRoD7!}W^^74h{=,} !Fd= .h!JRu C`sGc<"2ʬb쌞Hp ׏8o!Hb45NaOK5&eʹy }QspRzMà4*c[i6Bp[S/秠wiўD UU1YRO"q&U`7;g4l ,khXtٱ!ic[3+}¡аJgF^%b u ѐ {7 w$z[": d@\<+g'KxǏ"רh{Ni25Mu`0(h ž$aҗH*!, J32o-AUn;bn)qlf'ŭ.0Cyq#6= yUw}͂o.iaiK[|-Zz4[?< p0{:E0/j&LtlN~X\㘞s'|{Q2Q)$,IVjRЀ5Z8$== )4 !s pըl-G0~59b>M?( 0Q,Yk]P_veVF/D}L#n mD[۝w\t-7O-zUtPj s3NZx)uv #&Koo¹GQwzEתZ]UC1f.g{DC4BC},Sd%kcMi=5i?P pwt%y~B1綞ɨ-$ liyIcG<&w-|h َk?뾓JۑHV^fTMno\(ETtm:/ob\B-)4{T0IXDXtJT)؜\/JdIfq> oRVp c3؏}/\a9+,~`ߩ2:rxsBh8ڻ!haˏ߈.rZlfg#QB=iNt l( *G{!bƶy/4Ŷkk<#ܧ;3@o5c׶SVnpӐn&{#ũ@ ^撗\foY{e'NgV }w#MQʯ+vvIV^< SLLT>:)%S'ϔ. N e-2=1"]q|*̧q5R>Th/`!Αinn0ULJP6s=O\051l Jq[ȤV걕c8^<$~AO%8||ET"DEHF--, pV ZIrrgULjWQgxL;71䍩~ bC!\ v$= ŮC440?`}=?|4 =h_䛙$v;pc㰠opz6V4G`\MSOrS)1>i5Xe*dFT\ܗvXB8 -CU<7cbIM[&f\@{6,~>,םc3 x& sKo3m0O;>8m nPQ(-v"I0R`:ԇbnUnrm5nw"YxNc=T[`5ӆs[xB i=8zR]2H# MT_a 3/DErUhKbe︡,c^l#A;81##u=&%RdO5b3M޲$%JV8@/yohKJEE>+BgmZm7^=BȚCr>ZS6 ѹ%68ibQ8G%ᵊ ު{i9Ϫ'!\ [=Pz2z5umե*Km=g(@A (kH<bH߾zy3}3kA_?ꇖ˟6K 4u4w?nIѾUzVQ^*%MXd6SbZj6(Yn$ 9. 3\4&)_ueY#+ a>=`1w5Bk;(ޱWy )d `﨟BOIX!A w }"gw h<*za8^fbD ɭg LFGN@26i ɐMe#TOS :W$ivq 4w}LLg{'\ݔpZ $58ʦt Hy:=r|IWK49! W1Cߒ3wVn%Ub6\*8Vfx˻`w ]yɾ\e,e #a7cɉ9 ˱6h;Un`&'j zZEEO,\\/}?5(Am| Ea W%onKiKIR=2q#h*N).~+۶BI&7^;YI؞kl{# guH&T3PQ VF =N<b~'ɧ(20+!XY[c#8Y 00{hݻIE;ouey5UM,i)j%>7t]eȑDPX'z~Jq4hpߠK0z;p*9M RʵH0Wf:{h\A&ŐIѧzvZH'Y02"i ?"6"4 uW| $%45URz=j [p.''s/"e"bZM^H2OSyԥx䃚^ ھz2"%M~K/];<[\8g\'ɇXL=7شN&6M|@N\HN+V8-=z6t6=΀cB> Sk)3~37[ Rs;trX;dГO va LZߑInP㺆zn;|)NykKBJy8*M%d/ze,df`28٪y&1J < <Q=*Wϸ VlbN\(-"$x7;#hT7Xw^|XZ5AԎɕ87Ε^#PgɱQ/ uzxe,R$`G'Q>=F)x}U[o!ٌV-mHtצT*t>oWv}HvIk\ +g@ȧ%ͽfVeb5M TXd@smTД |uNtp"D u( Ʉ&B4@F wXpQȅi;B0#,օ(25IzM ըJ},6y\IARJeE.Q6!QdTxq*&D)p\W7\m'aG z7Rɷu2#Rm6~8/]ZO]3E$sby]I@E hC(MNda"Z}n[W\^XC/5h\M#fː:І* zmоT|LCjSl3 ɔG eZ%s`!NQQc0zfSڮ/Bs};ey(6Eieb^~{9a#+d4w01y[$SS!ԝ9H'"u1eJ:J0ui;ErLcd|N n#תI!?ܷCE%p$~<ƅ bhkl/;Mj?8]&mupRGLO`""H}TcS1j~~8kI.d%]Xa=yQw>vi\kg$鐭1vz)h"Ê-RE՚r0,8e#A 7@-ǖ'[g0YG stKxnyf~Mt8zǢ"%VZ9+$ye;ѳYwT6Dڂ 8ǂ|"-4_Uaa$6{8,abl{ܮxj\D*r%IDhk}z/=5fP;KBmF#c3ʦ7(D(W 1[Y:>r 8&!bXe+9㌞7#^4nzZήx Zjgpb12OOK@QK]g.;ډ;%~tcF!^lmY'u,3$ƹO{`CWvڭjLyvid8*NwCc(tjލ>SaA<@D`'/MXK1lSǘ`< so7޿I^Cg[#=*g2h0oiDڅf^,}$gYͫ :꧝`k 8o+;L͝eZ΄lWqf iACo6  *gîE-4Рy.@qY9i(H Ojy!^䗧B\7x ۀa{z5idI[!6T _C):&z/D69:|"k3FM#e8g`eŕ=)'L4ɹO*>o7<8,yVs5b9T226n6nU"dZ0q{X}?Oo'٭>SL499aGy#[N]\ ͸Oҕ!{]<=ڰG=BVKcz9_ɻ20]"v#F%TDtK8:@WN<ؔw #"i^&~,}zR'y{{ )t $d'١**cG e?U,S\QW{9]Ε!^`dFkCq#.Q3.sCn& Xsw2BOlջO.~Ŏ#*\C]TK_I.)8H7Ͻqj4^ cY&<@CoնyҮ8qiӌTŠ0(|&l';Yg{N5RHJ ȱ1X f!t!ߗ:vE7`\wܚ u} 헌Eϡ}ɽ~ |GV, 1y"KW A, >!8D^_H󞂆CgcU$T-`q84ПДwtzhft+D0Co>I(/bˇٮ'e=R@|gG [Pl$#reRj3JEqdFam8eg_t(HJcHVxOu<]r),K3 xV*n]_fcfhBk!q|uO&=Nnf/Hx\,ָ< tTGnEȏ-mk#K]o?Tz.n"l9M7_kŦ`D,TͦpD̋ԓ0,vO%8 =DݲG sgb-GJ1pet9CG:,Z_pE[yK7:PTIч ok[km`U+@Dd#p#6xnTB`׃2νuG}2;4E YsV%|WFP{ c0\샣,զ_ڰi=l!}&=gT&qq}έ?xZ ^Ou_o'Թ)W̙BX6BAtq)>FՉ,?)E?Է UtrY r5/O1@)!w e~KHYxuٟ+ .! eIuTRR=N 88ʕ mZ^o1n6s^5a]{ jW=I}&V4^j{aʉݝ(y7P,ׯaZI j&v=8<:搠^RsS ᠰF{V%6)K/HM7-ydaL ǕVϩ3DI{|}ԫQ4=(gHꡪe[uP2o EV9O֟Wɹ3S-˒y( Ru=3n4cQw5_ cc_v=t=Iv|zc{)-yFT #ʪ:f߷H^x]j} _V3Iw?TBB(шQ9 ԣQJ+s^wP˩䱤 t[ 8}~3ק}SOŘ"ޙU)åO8=6Ɍlq7kЬآz *"ߌRb$ĚD QWGQ}~WgVTˁU* w4bq<.'7zb&V>1䠛IrRr㟸OH^ՈWaW5 H]۝g4iLPȱOw@ {GP2׉NnrbT "Rre5Nv\!7f?<)+^{|,QB7%p(5nb P Ǫ?&$`;_= -[ᒙMu9OÔ8 1TĔ/xV;l5ّ;coi;yK?Uжﯩ{IJ7bhej(ݕTy6 ti:}$G>.?flc_th6Nxz(<Z*m $nWO856ƏiMRӷM:ny`|w>~#Ev_y|ۜx4pyGu7,d*hC[lH +w=Ծ@GTe">4\ $)x$jx7xeFJ|V4<|% UĘʇfKIz69]Oz/!qXVc4umA/.P `/WJc%GE]DeIG[@XN @ZԠ. pwƅ ф[y`ĘwIi p/%e7<{hdqmbR{Pg"{Il_=֒sBC&ft-HڞceZ&'xHޛTrur88f'wJnoBF[jt =Qg\PšJ &zD NaVUŸ v P5W;8Hb˟† &zKy/$R0۾j x[$ t҃ fvf}Aǻ7Lx37~5NA57Tlv-6gXlFX'aP0qBN  +; ȱ7?Q{HYΔ| QM|5x^dF '((.7}.]r:Ŷz舂Ɖa"NMoG-wW6-%|z^bbMƸ)վhqP/XHӱ;AMW1x6[>0'~=\l\D Т-F'hF߯|;~N6gQĥ,PQ|:n<]9EP 9dQZj2|ܣ)v1_)VA[J<2cc`>swd6M=lIF<~T`fxسW~ )" }5&i 4[o0wUnkCq$sk!I2loO_9$acޕeB}윓.U$Sӝ[ᵔb6PLka^w1M"2Ay saU&+zp)J͵( p?6 7J_3#nyUdS}Ik>lx=JN-1Htf?X|=MHe≋ Rq+0;A3|Ɣؕⰸmn=G嘩-MثQkzPL8%lj(\-5v%N#j=t&}w"zuhJ@\{mM+8mPV,h+<1Y;MG]@4FE0pf_[E]!1HZ}@cߴ5ʨ%-n쌂Χn:w_w)91M]2ƖRoILػR`Zh:{_fEܘǖio,%)/SWI1lEbwbcWQf[inq%I15+bg7yb[Vh6 QX>C35)b;,#(o]_!/Qp51΂g)_hξՃ"Cͻ۪ {­cX5axkG1rA!XfNS>/ >lρM)67v˴;m Oġ ;Z=q@>|s[ !>WϮAӤE 5~UGF Ab$ϪAo{~L43c3ʨFUT%nUO.ne8d#͝<r[;k9kaFGJWoz&4hw;^7R̷N=0QLrc.IQYP𕁈+Z΄O6z5+~[tiV>-+9X 7C> sȶʾ% (qvOΗP:@-fUwkћ+yd;ZmA@(-+d75. pbO'MM҉="|NKC1ɨR16$[kXcV-3?6ULlayU*[xML)ǔZ9hR4 Iw-Ψ1#iXC8۱D#5b R3}}jn!\>[W]Կ#o#^<*3*g aҋNS-؝V^C;ɮ€(3͍+$㳦r.OJ]'&vCCdFiݱKL ]իO J,쬘`CVaapO]RV@V"8a_->nP+a03Ќ]c~lߣmh<o8&gUˎNɐ*S]c NbV3a8 [iX6Ow7˥\[UY(jEP]ez`ZXAjn3_R(j:*Ɛי0'۶Fa9*ji;KZيV~Xij&,7p+-x/NpL<.Ci.D٣.!Juv7îS-]LNJ r\^RмA;rߋ07;1u(c3@{Q {:q\.:`EuZE!ͬgO5ܿug $?FQ{mҚ9: 铃,`qSxy%jK*I D>'j@jA#E芷# ._:uWiu;t$ž>zu|۞\8s:tl[Fɠzdۢn!GNkϘU24'#Fhpy3w ;_.hRa\&νߎ?*%13Ⱦ/{ȐGf`a @tٟ,a=*"v"WV i8Jml׿D~$aS/tr)s.ݣ-پHaAt []\vyHटwI,Z>lZ-Df N >F*pOt뗘 % Xkn̞HĶ_K';Ej`mie1dW=1K~! FH+0`R$SMOCC24H]_zԖO,䠲RQ.1(!K&ѨRgϤ 9 OۨNʙ>" /^0,R^C'9pZƋ\uX KV[hLwJc4sq<[KVB|?s}2+V'Biv+J</" 읦N(VY3OŬlTQT#O.NECW-[O7^{Y`TA@d_s=dnt <#tPE"aI`϶l 0Jaġ$D^=1\y 'ઍnK-h1ed #=; ,Ca;oei3jx0ObԁQ"MZ$ }g4Q1.1/QC@65P::|uE:hK|kOXgdaD.޼S`"l?R4YNORKG3 x"KQxclz+#3@RJk~a#C<9E,d3mA+#r6lCŪ88#/-_BarJʎ Tp ;z٧nx%į򨦥TX+oA9-50  K5VW8Ȼ< z)͘HG啸 RaK =\B*)̲eER.s 3V'ߘ$o`PaU\fs4GJӄɹՔ9,C/NDFC0ǐ:jf_̈́Z0Z"w~񆭲kY඄Zlgɠ%=OspyK,-2cMNf z~j|:ϝk?rEL ;C u)^A̹;V S}Mp Y RCUjwl` _f)x#rmg7@Lk;;!js'~l@Xk/kf D]hy[xk-. N#sDIJ]gd!r b5m8ߩCyZHx G+El 05rhfAP5ӅW 4±>Yֆő'+5$N =r wKyvUIQhi4;?-z#T { <&H4i/+̰\f?|u8h6*K?|<9|^7; P=)Mx1l+Fک (-_{mgnH#y)/-OY&TGf eGJd4B/%Ca 4j͵ B-W#cj0 _fSپv"t6Oy.@#jNC^58XNKh!tsK-뷩Mȶ{Eݷx!#=*AZ75Ï$]р1dD?-9X8~T?2S~Db0qM{&s4lw[㡀'Dj?l"rF -ɨ-pn#E#4;\ ( &WaBi,L1tU1!߁ %KM`FcV(d Z/7{4"49AXb SkH񎚚 ?O"%)4bXr<)jfzُ($&l][o=Kk YD:>0 ஫IACpEѹ651I,vZ#zX\T [ T56CJp,Bg&CqN@ (`dk]K3ZfjԃO=o"*EMqw*$`*G%-I^-k}pD=)0lp#l].|c&,/K0d/TBB \TFA$zyyVB2F- [7D!I_ƜV~42v4l&g ,EQ9ZcP_Qr nq 15բ`Kq]Luҙs\b<Wch}ehaف"{7^ż[پ9Me6mזrvDíELNMNo& dLs*KG/j1G|br4+p RПU,v`iz(8ꆥ OjOl =lb{&WI-Tlݮ*gy cD\l'D!=5ۑh}˩P:J,ioͩim-_#"(?|$"u腸SgBƣ ow^ W0 gڛ$6kyqEAɴDY(2o^g}-'8lmJl$+ȟ=~Ȳ\w׾/"eQwL`[|HYh6ZAfG>\6s@>ıP p _%*Qm'hKc"#mAM F}OQG ~ P|u7zz*`wc -wZy-RN-?/ͷx)l+>C,wAMH @Ua*K@Vfk M;#sη _2A޶ոk[p+4]ũ0"H;}._jga=%] n ^"ť@/q5I'XM{\27/ڮ_ڰzYQM/b:{܇3_ǃO ތl` @ }9w>i2lDͼSErW3{Ɣz\Ѐwʂw5r"KAiP3GW.'>_3Y+ވ3CDAZP-M?C' SNa8~F47msWz6A1Ux~8ޱc9z%Q{὞E'6a[@U2V %Uq/N5x2F "H0="޺ף;'洊ETT9E) uBS=v@hXk䦪gH5{YyFCNZTw\4ghs'ϼHRL0!W `h3ɼ }a x,𠇁;{eY`Bje,] &M*K̾3+m  5$Q,ҪhʯB>kYŅ'$o`#v͌imvgf >3!qP _<_}Kˊ`tQ́YTFy>tN_T  4f/ Aǣ탪{ ۪] !he&,0:mS)?%Tq~lKT=- &J,!Ka1HQ0>]ђu_D[nkH.듨WKH2HnJVv #ףhMrK"';;wR4SU.Bʢ;>~:6ѶS}Z޾M0ف>Oo6=ԧ 4J*nudӶ7_BGr'SRլwGX?02"j4GPL^FFIk0}i8czZCcɮZ/Xࢤ+"DP},&|)_N6.CۈgG:qH@$Hq!7= ij4GQK{[\ƼC2>T:E ͎8@ lgnæ749434uUgכ A/':qy̩vqmRA@%3(I#*[o=dѠW .W4DfEщ ?bgsK2 [ yvt4qF"Ci7\ k}8GÜZG™+? וSi7uzA#2۠@%ޗ Uo| l|:HwY_7g%E}+nTG Ӹ}o/㋨-B,BVX=S-9":y 0E9 G|>EUmA75ƴmޜ\C"AB牲9#L!P”O)ٽ:mgr,0tvGʊliBum}! : (qy|הPXT!Z 3W{obxE_RƸCڀ/Ƈ<~E#iܪ Jަ"큑Z/>D-r7ih8J[H3xrVŦȘ}J!MxEŽg0D-( F4v^G|{TDr5V^Tmo%:l!q7ɀځ.-ᵱ*@kH<yߎE_>}UhH %wEBO9g(mH(Q3"nGυ(7dհGyȕm an${(u5d}x$7:3?ft9`=5SDi92a&w a㟶K x)H!r^Z5n eף8 ^,z*(X(3w#3yYͼ*"6vݗFal8]>J%$JFYlJI#@#fP\fFq\L 9(Xu+y2_W=3[9*Y(TD4O=bWS4 ]HF۫%]B-O.@rT!0>IV>,RW$dd ih^7#{'+jp;#i)?|O[6_WmGjb9po *Bq,s+f2)RK2Ay”q$ N~֦?+sTG^y"xs>1ƦrAL`a^i[9<+=)w2My ^S!+)~\Oi@洜]P͑Y S5lum>.,v$dv`ȶ6gSҕrPUxLl nzO [iFnD>V*" P2l<5eĎGQXƖ"ǁNūgn1X@'*L˔l*7D[O5vx}mf  i*5Һ&'y8]dt % 43g~ 1-$'>?)7d8Gf0>}tF@<,Z%0"̳ ]K [3Ф\)_ J)RA$!³=^@ćQZؼf $6[b$xmF*d6f_䅲z6nJIUdHps3ʄ8P,|QúrW(L /mz7|=$؆Aq1WKi@I%j@&rl$:AQO^`)N,87WQdb`W 4 Z k+Wgځ?:8/\ jA&AٰaZc=s5s|6(}N.2Z+hƄڵ c׼`yeUZJ3b䃃pL 0^-5Sdz Z*-8q(URזF:)n^R/CD N Ed\A qf;> Ȃn{[kP*2o'b捖Io8[m("Nƻpڦ`{ƗuPVKhnP$SW bkgPn RȠjّYk倳#e\鱇ہ7M>H]Rx3W&Ň&w# tmlXJ6)4'Ω؅ybT(X"NPmCŰh )eHsJ j īlML+CM z֮֎WPPM[eO~Xivx 7d!3wXf(^n# Jza"/ALFz˾K TT*X&@ZjX :gwjЌha@ W:;Jug&w~*^7/<ߏ B-t e|}6r? ̪iuV Lp,bdٯNn|2P_qkjpKwR(L{ۑL>CKN tӟ}=L[:`ҰJ\bPA1EFutj<~*f(GB=*DPb[SCsK2}4Mt8fdLI͟[ R` Xhkŗuv1 kዺ@03C(0҉}cLayNa':W]VgŜ [ 泇ëgJ@Pzx$OOGlX9a0:ኸh8QJsi8s+=kUxLJ  Fqӏ%n gh!y`X~HWlơp|'Sh 9V떇׶Bf}P9dG &3vz3;B[ )6?87l [h/Sqoi7 m+~f_ -dxy^adBv/ BïּDT 3S/Olt"mf:V۶e9ߺy2*6VKG ,V&FY=w=Y3j7$:bB5) dCبLlwwB:ua p?ʲ/N@*fH,JRps7ۢ{{_XKpxaЕy}fo@}߉ s\n˭ƑTU$Cp|jI8+y^>P޴崟A.OQk(M"϶D3gl (}wO#HlGqXοq 0pLwGCY7 qWWլY#7;;{՟jEX0L W=T#D  wqhs "ɮTT菃qLPƫhw |+@ZE+Uk>!V+]T5r5jGvbt^nLtŪ$/gcMԩ>21-"G̩#;5cf6%)dʱ’t~h(]{h*78ag/) {ERC̦29c>@>?T*" 򌔃#BS oZk6c(r>nI"={qQ*7D馿avN¥sΏH K`IFNzXAD;β$mh"-a=\SxP@/N_K ӄ7PtqN9pi8] Vu<_oqMDyɁ{.X$;RJHwd- ώ6|}9{ѢhHdghԝ\06T5iJ~BgzXS"]xdH"t*'feEZ.hj<40#d/U (hjNwsw^͟@EG-u"VB(67L-(OM ͼs/~,B| W@ek J_?Uk떄2{@nY/Πٙ|-@TpMXcnqtCέ6eYgf7ynt+xd8mڹ9R֙5qW Mv^z|?emSMtڍ'`A2|&N0M &|'O"0qË<sC 1ĕug?iUय$𘟰3uYPEwHZX 8 Κo}cڠ q ɯՌV+p,Vs "}bda:5Ѥ_BQ}E,a!~QQRa]T pL?Ng w, 5 X8ٽ/{DBUw%i\'a+CzHAMDgy3ͺK7'Hy-ڙyl^8wy(q&Л;IYβ!Ojjښ-T7->d`~K9"CQ`Ho]pEJ\',s~=Z/#DoI"=CgqnX0Ë&\^A7{7w[4YsàCE9^p8P7r7* EnӗЌyeo\Jwyv]ijK1$Mse|H`,GB1R.Nf͍IA~6FYw7`EEg-b@:6^)4+h/k@njtB}B[c?/RXXP>Rm2Pmޑū'qTOi\֖-[dV cUocHa߁y nL"*@8:_`V:r"LqDS+q# 0S L&bx}'>VFKhwd%28i}˩ZFKDP u˵ y^]qe.s:H!Yv `&L6*Z*uiĎ݇Gy[o$znB0Z & ca)$ l&%昺~ /WF2 &hBr,?;L+!`f\nʤyuDH"c;vDB6 +(sUilMRY#\<"ݍW_ ` q㝰}}-W|^sAEvMv'ln߶Ӳ l$[N iXȤ= c~^jT V?=Q# S[Qq4JGEכ~4™դv LFvpF5-,kq 2QaV3n钆iУ/i~erm(dT82WȆ)K')4Y5H~ʫFbaaV62W{qĤy|XnT[o ݋D9G`!qj$ukM:֎^;^ |IЌxo:z|ʬ{aٲc%^IJ.tr !xyQأ,WXzį冥7wR k8}xHBK h0?8=D7鴢ez#EJd#[ڻ:< bZ؂rT(npP]dt[H5]'MqcP;֎ٲIF*hl]0ƓqJ.WvY\cUx;x72G<8BqGRk"'8)# 79(5ؤ4DOT yT/y\TUG8bNnKlA8),siHŻ:FU4N]MgHVjF\ pRuT$UFi8@UMU7_]{sl9F|)sqՑfa:.{'cvP!h$ + qmr7 ;. =h^ -<&90d .1ETq66,; c']dڪx9Ϻ$4`d/C &_Tso>"YI]0Ǫu[b|o3+|% <\~R*_+K^2 H%IK˂<ep~%uRQkBy?Np8C` ߸D\J%/CrephTeBKǥ ֝&/ a&i^'ٽVn<ԴA3!!qq7 [*܃8>\r{Fؑ >~#%JC4vr=XQt{y\Ẻo`N {}UCl0awBv,ñi"jJ'hŸ ɂSuSE@;q{4UkԤyۿ &rٻUp>:{ۺ?.,qáNe0 t uJNu+2 njϮY'ȹI!I'`\_N;j}9ّ?Άt Z"rIC8(A'cju>p:o~\tEEL~[l|5M/wqfdP5qTuˎc'_|K=ͤnEbO{C銣c@H*4ŚK 2zrp3m݆>t4!.Uk=,R5GccTc &vzUF >2ɡ0.shs`mBw+!T~7E4ƔlVO Klޢ0Z TtĬKwpJJVWHj\PnujKb,HxƦ#4a<)j3!r!wTqmdN]E =!l03#q!{";A:\ûT4r (l/ͽgZC m ]Iu@qݮ luJ%B4G53m1\(~hM !2&9V/܈:@x@4; ޜ8<`LP-:KN'W FAV c-Uj` ~F+!9#`9BDm$D40<捬o0I%j_y8 DL=bߛ pB 3R>)>ժR@m̘#Ut@_0f` C tQ64% EVB rDd?U:)s@ I<9ӻ\CdHR+}]9`>Z5Ds5H]h>icu^K^6ItbLX\ eW_9"0*@A]\b:+hqE:BRuv&%1Jk8~12]#NH-VCLBPRVpBSc!I|fDF"z']5OwL5"dko^&#k@.f r.U"Wu "ז Qe . x kg3ޣs0x9ǎx/z˕:A]M]tnb'PrMTDB<3^|fk;4;C;=JpK:#b١Bobǽ.?H^#Yp տ|xhstGp4v9N ҫ=<F\ѪGd%b ? "#O k`4 A8'?cJJ =f˰'ITDXu'%<%iL.A%$q<";9KvXӮPCιk2Y x1M .Na1&9Vs(X 嬳iUkmvp̷DR Yej[\X:ou;~~T`A4uF!T>M"ckvI k]J}tVm^cZ,ǯEoT`㖊 v?i+^rB  Vi +A a1ȉ ፪o{-3W&i[}BI'>00<Æי%#zE,t& %@p@)xvn~nt$iH{6s;A߃ި&FT~f td/ϕ+}?;Qc|5m66>v4=Z xZ$d)-4e* uK@3:ġ<]h~fԨGs4J4D)NݝC֙ACUyJ)HZu$mܔl~|f̬9.,V>r,lҸ.}aS64 4/;9p4~m\Ja6)nÜ\88GZH'R7Ba7nف"?K:85%;dv 8аv*"H/Û)aHA>s*bE~':AY_LAU٩ O0KꈼF̍O(M4^3?.aH6S sE%QdϮhʉʹt*7 +fQ= NhSߦwJ'-_„l>)H' lz_C/[%C3FN1גխ?1vZ$x,1SIV4y\"fIH~@d n\ YLdu?M*ґiF9A0gf )ydB3ɣ" f-\{үi/j]$eδHcMO4kXG&2*yv@FCH&i-5$ɍVE{*$X lW|Ph@ ;NO#D6d4y\N4 _C_ qM6TM O8iPXOؼω%IC_A#\.yJo$E1[Zӎi3GB$?ޟ/11Jynm9hOfNt brX?&;מʻ/űyl^Đ/S#ķywun~Ky6ϖXH5f8UuH%~ʹoUv=bNA@}AP#)}.""5%y'e||"֯z4݇=#'Lm]&pwduKo[y% )UG[5Ș=@2*NWvLO% (GF|5T! KDfdYSrM6[-z͸wAXrO^|*ٜFhCpܰLk'3&1>Ȝ+yWhl3ۆNP`y09=_D$;d#,wi"n DSNshLjЮ1_Oo^#m|ߺF e#Z̃9n %qyI5&|znP5Xx7T)pyU%Tr':m FWd@KM̺:\eD.IGb< Bhk Ob> WtH"Qa"l9鹼2ic8Wk;kL?=$ ]tAƤFz0Êxy+- /'{mu._ JR˹)>U&J\uĭC4iQ 6D R{22?|@t9b/t"/hj1sylEs}B-wԣ3YņѴf}-o޲.?OimJ1r 6֒ E /5 xGGï̍1@Rp*V$VGB笷%_p>2ݦPP}X'/X?tM0.7ܔ>;!W&:L}ҡR)RW:t$N3+bgga)hC<9ߐ< 4!:ISQY/0a0(cz#(7f%Mܹ8;}M2Ia(wuhX/; BR@-t]}\״͢Ta_.TEm\z{8M~l′"H,x;M4lDeE <-axe^@Fx%^@cp x g^}zx^ ;׷o3J>\ˈ!#X\^ Omt:υyAaH.H7o LL WM K<AaKkTFxRHWË25& `,Aʞ  g>=[i= e4bӣE7 d̅eevNwUc־kW5!ҷw_ȴg!6 #&V~tќg֒g{F}6LV[l_&CH7YnZKݼ!}/h([ /. SH땼/AOÑ<H0B%a#%Ӛ2P%S*x|:tP;f6 -5tnVW (ϲמr 22dd b ^ 3^ɚ{HeH34]P_尿]|buӎ)zG֍:S숯9E@i0+b)$|M+[gP.ZO\%%M,ƋwñF stoYx16&ݸ l?TAOT;Иd{O ѢQ}.RY5;:^Cxqx]3+PbS;xә=3X@T(|eԔ`Y>|9L=octAЮMePmKo{1,0ĜM.]8lR6pb~(uǓ=fcNE[%v`MoFi6?>z&ߩVQHcZͭ<,|3ꖡ Jt=ێi~?܃: u.:R&ο|i;eE/cS uRZA)0! Z]#%v($E)Aϫf6L~#|ăMSi,jR+ IA<]Nx߈޲e{4?!`elg p(rF 2@{~u/N7w* !RU=V]q1FQ5L XҀɿ '<5E\_ Իp)‰t9a<ǨDĔ':;,M#*NU7_.B4׽R)TԽ<Ԁ%[d}_&PLo"wSÕ4bJm4{K.)_g2))U:SBϻ~׫L=Ѧ BĮ%V Ew,ֺen!<{]Nә-lׄNBMܚky -д^ vX5&`cBs+Ab0b2T%i8L7|\P-J3tt<}0UuzLin ΐItsSӣ۰jNX޷ ,ٟx/ɪu,?JdZ#/\+#{L`u%UzUdec1D/v>xhlG%GyO|.Fk\ co7 {MQb,,Pm?Wd.UؤW,fg* `kNw "c`b>O#f \]64WNOyYؤmn.yPaW<KUe f>\cP}f39K(*u5ɴ\sL24~NjuXSj#gp;RyF+qJommmc!G$Bn뎜K0ޚ?e}$&?ip mv~=͍%9f P72Wߺ*XwGg!Ao^ٛW9kuE^;p0G]/JR~xV9sv yk̽S}&w;oBJRJS-c2m!bJ ^)׺J?$HzYo#Ɣ@gg(5C-i[gEr],Wb"j}.O4amEzSyS^OmL xH58@ `pgSkR u*7ܷvO=bV>JnG դĜ91 v MǤoàUt[CxP XXg]ȭ,OR⴯ W>:2+do#PZ3zU`VfoSՙ +SfJOR77[_ >ɭ8õPk r>IPDv]"_DhI+ʆ2躂ÝbQ|rw&jMa`[*&g>ztT˾DEuA@Z}hxSP\5TByi&P}ZA]'b5R~sqMX2߭c9ObUFVR#6ªQ/Ȭ׿G:FoBN1:n+Egw7Upft&O| Ťȏ$݆iq: lnexEoE<4y'|&JZJh\NT^.LSTW3\^D %+5-Q[VrZړ^fN&ng) Z;o)MSY. "`9e .0SIm#U.'wEsEXI|2pѿP 1 )Wxq^.;,졺DQs æj=x2X+ɻa-UOp%H“#:~PZ.V++gXd>.0R'2Ƕ =is-\@Sg㸳Oo1w[_sDVLw3fY3ej(Ut; 2\>pGu*{Ws&%^=9GX`!*hX_Uc<.; bO8qNpH,KOm%~sSy:;_-v=lB6ɻyM_ك!*uw %g8[a<gOPmb:TkܧIlc/j]%H iM9CLWQ#EmcSC+z! IW. \AFTv'O͍d8jC0_rwzCtNRg"q"kNVKp{q9Ί>q@m&*Z¼:ܺA)!bUِp_ʝ)=XiZbA"5i؞Yl=>_BEÓ1< nȱdAON}E-{ZaBv)2֯eȟ)})inYfjȂ&ҙĺDh{ԡSў}.UÃ1(m>Z6ܖNC]ly$g5g1'LǗTr"7akC#k"%N Op#,QtV͇\ Vs5eSdq< wKB^G#*z6WSN$'dB0nnl6`W!|TB꤅N>/(=|4YQs6.]K9'dN'd.E]7裟ʽ&93c[Z UY;Ld5YNDrKAh1R[~0S&js`:IZl-:ȭo }+:@t\z3c^ə(,nyj<#^K="ٗ!3 & ` VjZk f}gq$XCT:pNHFiZXjhYoF3(BU۸w€thlJ>"VlâY܊?+GH>eppa O kyiU6-Wi @q63xgp@mo@`p󔾌FBVN_8lkttlF$d^6 `U4M\PDHV B Oj Q3C9E9)W ~yf-5DG)1i_^ن06 y7XI[zJjѿWÒ _Y9iRAse$ol0ŬLC"wq;D6qPƥ%j4Aŋ1A қK X>q@ρ 7eY N"^.z!;=L\v$M* g}Zqݓ/,AGy9!ޔgJr15Zb5wvQjc^!R }2pl!w҄I@וMf|S'2q| D!vo:#ܰ>tylz %z2ǿ9Q.A۴j[jO_<:v6Gex,ڙH pJޡ9Ɉm[!6EHS'u+RF͉ǂXEzeQ)f?`uWE]υvyaw}"0èAC dҨp2Y5b]1S9'ͷ04WTl5[ZRXxZ~dO?ݠ8Oam># 滰O@h>Aŷo0z[z5zPC Jl0ZMdn#![^SM"uslS :6hOd^Tt# Z&rA)]8MEğ<Dַt̠KuȥQ9!/?uǕ&Cr`UEIJ(O#U}zr =gfl"Yd+/L|T 6i!sNMHhKS¤VH!gF8AD}2G C+;3-mì/[TgUj]j0[Yk~3OKz~{0]-iM1[jy ԃ7@Gl>D-?i 0ߑ\3(I+\woU]fb \tM3ZT9Z%6>ku״4j J/Cj=d|U\d{s TvbԨQ~ֈʡ|4pWEƃV8+5&+adhCQ>1ViFXY&C $'lWQU67j'bqL!ӼkR)jM1O:̯MAUí/*hAt/GJy'y8&MguFUV_@7yT)?C~ U((zX hs$%GKQpW-]%YDZ+ؾ3T (%PB䜱KKJJQ QPDT#Lڇ !; XT }J`𣏑i4`~Ptdjz޾`86} d19 X1Cd鏸`ğTȾtV`GWRJCB-([»k.Կ _y.918߃Šo`C2nE!uG.揻Kc[>w<ftʗ ~&wSlFC|&:L"G/0J ʓvT-qLg]IlqC7ڜ< 8 &̌˺zh \W7hnެj2!^,/RYM!ʊ7!FuHp0 [GM6l8]k8ifD,Dx '0?~Ӵz91$ gmk5gcӮZPoӈ;*<*ݴէqV.\Oix<3a(-oUnjMm{ }1澕*Ofg#2W!{[1&8rr rrp+zLR`YyHA1Di{-qKP?U`=@ǛTD@˚>Lz2^R>,WvdH.`y"ѵ! \hvY󿶷ݔK'&.ȵQB.Q[ytZܺ٠Ӫ\UHMy#fN˥@`1Dv%\ dH2*(Q\ͱ:wp{n6E be@.8aD5ӟ>`bJ. rQ<ĺNMd#MS\a.t޳}E?P g"5K$1˻> +=6 |P%@̀)E@M6i ^ՙtD_*M?UOtӽǠvD0Hڡ&""4rǗv]|/I6m-?{'6!O~pmaM ݵr߻䛋8F.wOOx ?~>Y`PyIeB 62C$vX$V/<`V*3HoY='fv)`OX8 O%X[f}b-*I> C2#Cw2mXU.v񾖢!yGK=P,WC—_C@quW u\~9)jj ޺iDrBhBQ#9`@`˦<8+*k@,[4]EaWw*ۚ9Gȼ0q%"~ӱ2#m7f56TIįR7+3/E5=TM'8I>iwlJ[ڈڅ\6ꥰV$F۠B-nO31 |9˦$y,#6϶) `r/}󍙻{J͝<9#> Ҭ9gH eheʳ')+v. aDW,h%^J["};FH ;c'k6NQK正mT4A3,$ʟ8DVz) _ KWn.bu@Om}Qw{pNUc *4oհ_g1&7ƻwKQZyѧc2쫒ӪC3t`e!\諠ĥV6Щ!XK#ԉr0?$M`2MÊlÄ 甸r3=>&aW 4·[̩-FCFɦ35eWD޾Gǵ1fGu*mc '0Nh#"ɡi{K+sb6'H|N~ӓ6Hmؐo6aZב&+NLʜY헣ʩmL9'%CR.? ޣ} *Ge%\8^@KȦ{i2a˴$9q&s4j.eg]TBA 1o Oɣ(|<Y9XA.Sʏi>E j4'mr@S({G]DnlXI[0i"T F`R’&tnA30( qM7~]u4!boL[dOÒ{Ɍ4Wuɼ0d~A]h$ Ljv݌C:Y<ܣh{_H+ U((D$Ք8M\gD)¢/CdX%f<@UFw Aw 6h ˝^H_L|f$V 骼Bm5ڲg=^P o|1H?boyke$B7b{1eOF k~׈j-؎Ծu59 2˒HYFʢC)ktסC׈4tslbg#4Dp2wz#O=?vՇWUjtj^կ'mh%'{:M`Jq"_c!J)<.;6QDzu2l)t%ӻ,բM1J4IY9L=d;%@nw^XG%mTv1bi|uR]ZS!p+65SۊJ Jh;nz H3(5zv,%ۈWiw..c*_قDg(q,[Ǫ85חoR)F_0.qV~UK M/@`rɵ}c?h<[ 5v$W"=qoTOhQގGtq ϳEC+8Qn@gD~Jl[(V YVj :;yݔ\BNVm?c'[5 nFA*~O2 6vF[v6lRy| b9d`R_6'm퓙urL? 50{ځӅifW.tl B7' ZR+ (ϸTwk1}+o#"I,Jܪsm<~Cx [*M:f#${z^xl瘱%1jđxi&G }EYQ6jF%D5Phu$BH9pS ;"qʹo3fO\2ǩ9| )-h-2[fz|0ˊ# g͆^b.e/u8dzpocMW䨅gP +}'aѹ)\A}˵*Pa=$-^LkQ40Čyz73K19G 4͆t]B%v>ɀ̸ȷbm[a6GKEx:᱃v͙6 U㒦 /xnO:4^ h3iSVۦtBAv4XZ wM j&,s53TZStMnu2*:%bpmBıV{b79|N2#`f`+FZ^1;0c֍4jD1 y !45d0ީ>ܯ\~b.jMӄ3Lq <3#к  5p'Ԍ(bzH3 0]+L #p vetAQf:!` siE‘&! @B<$%4bq{ZXFvL?{Z: +lFx 1Z|3H?e F0ym~-"B<]eUZg 0 z3X&")ZH/JJ2.+ 6A,M lͪ03ی4#①8ɊzB.o^{T1O^& S9؟`6~KWW-OF׺RU JZv\[mHOʠmXp֬@^bϕAjC=b1j@ac @_8J=/@GGy[7C Z}ʛG Ŭe9PbEz=\.ؐO[U3Lо|ޖ.t~gk ^g`Ghali .'# x'#!EPA!o| ;=DV FκUF}p20#> 3 [댢Ƈx};8\{X)s>888 `xvsL\Y{*tָ 6٪7>yo?lm Hx 19%i^,|Ax=Sv>#;:o աdD~c6 Y$~7Szӂ ȕB:/IrN>.S`DƓ)A03KM+ȉI!%W[Ph) `\N 1ZVGÝ@BvKG|-c:_"YvFC낢%7?W~#3NܛcaH="{ǭtxHB) S~f2S lI6Y/7 .5?aLT[^` zJʳ!QBٵc~op3N͗*dX$)&> 'B~=tsĐM6IgUi ][yS2O[$K˺@fMD^~<ăW᥎0:Au|NPd GFd{e8tGrL6 i]ӆ5R!aHpQe{,¢Pjw~t=Yq2,mCOw=`&QWM7wy*( /iXYjhTj8CU dC?ZM^L$ jhA(A?m‚/bHń"aĴU#,>: ؀x', =<{SMJlÇ2\ ]U ?Ok*ݲ\\/CYgqiO^̆CJ,H8%7橙m5%3”m(M< %kmpL[/ \H$4i0b1&@$5%Qي$[K Rl8Ek<'oL\KfhkB1a>y%et߾_^}}>&5 3_y6]]9&Cfa IfKGn|v-ievD@Wj5&Pn$Kͻ%b<-jyIr:nS7'fR}}I%@}TZ2Rj _ئNS* <6j^7{%ĀS6o_dd6 aPVX-3AOFe->2%Xǫ,RۄhYC"0>$q,}q س-~Ho4a.Y7=Y71r]K\8^2b{%Ԉ jKPb, u|o<ݷӶpB iw .-2,D+'/eoK v a2Sֲ(|ǮY@;f곐07z#%{`jub"NbވzKRYb"\T)?ʘ8:%GEwG;ZwѻOEa ۮ"lb5, axѳ(y{{ixV*&/A K c6s?hy:ڿk1vXf8Bʾ (#Nb.AJ!E [Ii @'Bpf>PtE.Ļ-?6wvIX.(0= rD|%x$KB=ɦ":roi V*n_y"ʥD%=UXt¹nkd jA2IŰgz 8x]cEq'twB߃NOaC5,;/8s I+Ze֛'ݯSNPc"Z+(FPDS_V U:`Mt ٺ.ptyg/HKmPqMvQE4TjG/>!,P)icE.C2*~E'zD=XD/,}9Y.HgXhzK. go3]O۰I=ݔ$p⯸٦! V* $N)1{mմ_*J^R#80LXGSN^kH[p"4`-ą#vi:5|##,͚Ax-V]H/p:"&urtԳ?N/) t W(C7 c4؇-UvO%M5*txL_l(f?ֵyҌ%T_Az(E'Ibո|DN5/> 7ٲյ[}ថ tyj%vL/6i4:*ݎy}9p6 ޻Ny O\Nħ$MH"{ =_)?{CKu> V~T35<bb0xms9ObIv! !F98aem<'#~2zaǓ9[ņ'5pcw<f;T4l{`EM=:3fh Lǵ?ѸUf6#^1rɑH[hliDnGX,Dm&F-Sdj[9Q)uFV۔ةӱ iL]`h!JZճ.Ll"]I&J!,'F+j>? SͿX(F0)|V.S8pH쨱ë^4c `TZ,FİjJӪ525 5ov~ϴ#^ݰnubV3cLZk~,dV&'OZ75 w{J9]641=nxÏ=m5ӵ~[O ,E!51c%mITgEXF {M0+12I˺ sVb;^KX!u" Hx1uBd<%h˔?e~`[// ȇi`QBG q9ÕnvH=U+&%*3W53m}:bĻ#W.%Q "s-o#fzq37_0w4Huà{6/]+r_PM^Ӽ(q"hCKj:J̌>xJ~-LV^чrKAӏE: #yEQGV,uysmZ 3fU 5P ?Os\V8?`eN JY^ :[ zdР d T^[ X+*FٗC]?;xX2"b ( .$feBw\ t@3v]ʸM?0>nJ4rQ/sF _*N<Hյ S5ҩFN.i'$tGVL3[ ]$)to$#@ʵXF_ J!1|ʹv:NeT,W#V \+_qWNףpc-#K$Ju&Bm 3YoB.׾ڪCEB;".^DJpzTt`icNn |l;%5j$vTY pjA)4,w"pY:-Al&Fۓy2QGĻיi@8W9@Age._M*6eo΍D >JS=HI99r_<ʽdӭ,TŻ"2-h2ΣS> WX~ XL`-Exoi, %/TvY d_Em;1ZlC">o%i4a5HS`i Wx0'LDcfLd[8Otp>L58rF2T ~7_갞39Qٔ7/{6 rf`AH90ڱ\ίeSnK݄U78j2X\Ҭp LnĨwz2HQ4#B-{ ]ze=dL8Nwӑו7syWXopzX‡|ƼoFiLG\B~t:= EZGH"BX=nL5:sidGu:h aMx3;BIӑt -?=a.2i?]C#!jy4s6JRdBŠzWԋy/EwXĩ$ % Oې$t mh4n_Z0Dn.^Eγ"_GՊLTX>JMA=LTno  Ҵt(|^r7& [oo5" nU$4P @Оr_ eڽALnTXLHixZE}k:YhXpuk"t+^h7³m\2v D$H;~Jߙl҈O*Ԁ/Q*]ȥ&V^'r$]ʷ[-~$5Ŭ09 GR2bOr'5_zRVn,b\H|)vj|.ͺi7B >ϬGMD˜!NkmJl]-%n^2BH.LƵ\ȟ[A {@i^|CJ;F?bFA?*o5!&L?te%Y w#!r6{O>D56"$SɬA?l= =6QdPaT0i:gq;7A}ǀ{Flnۍ6Rwc?kdK9J^}5x pK`a)l4 ┶bVZ"A,y.>៫QܶDijŶYDfe|FLZPV#9rT7-j%DyP˓a?:}8l,`HeE0vselǞNt\Kg@`[BfmC!qׇhR>9$>JX m?Caq} 2^`G=-߄F?Z90=R H%Xw;jisaӑвm[-@'R žt!g.!6vKdtk9Pi꺾5u됼zS/Ɵg :%N;f~6:p?6С,ٿ .n K[03&గA/&L'ܨ~opO7 Q([MXݽ':Z8s .gmڢnS9y 2) 2H&~0)3 Z4NHXα.EJYC2_Z߳Ŕ{L|xNAA2dxטv].B1n <^3Ȳ#NƣvkȪeߠpTRV#^Ffh65૫4׾e`6!BI_n$eyWLYRQ&x͖db4&y4NnZQ*[KתHcj\Z D63drPF_$4{<27/h,^':IkgX6W  jDw6fWu{C#m })+XK#W,ݠ0PZټ]eC6Idrߦ{N+o!j?=39nkZ)Sl6%re@0 58-j ׊s:*&O20UK<@bDL B&J7踨hĀp ,7:XniG<FAgs攙w %uf 6e,>ߙvl(KOW*k5#c= V`٩!(s"jgj貣,*yK9:.8&|yŬ*cq @"1(qMSN#f{-!wt\ cCs66'z 5WNeK2$R CʕGMZ٣#=Mj5v4ZX}J1lK,[_kuľE\{"f WFnNvŒF*6Oa bSB[{a0? 7΃l#]0Pe 7T< NR#!Q$NLj uZ=Eǝы6xW@fʞ8;˻;6ww 8qrO+P;ؠvWtW E'/ͻJ]l\~*" n=7BnR v8nl\1 4ng}A/eڰWScWi[k;vb(y#`Q&w+ ﯒JKڌRWH҇hA ]~M> oy\fCTtgNo_=mQ  2=Uh/]Վ6HAgo;F ZvY n #nk _VqܕԜgP"ƐCT3sqkrnQ{f*YTk>]vR_nqo]zJSzMGrv2jW^E+n: */7گ ۑASK8l4moxj.9Oh<%fԯv)W^ 8bqNlCЗ}=?$VPLQ,aD + ]ݗPDʚoM*xSWA2Rawƴˉf)껏9! N2j(XXEJdCt1m &=^ߤ}nʶ@i9Cu4 cq¤r7 ]o4jBLK F,]&)dA%aM+pfYhiBZ .@;﫻-3\W>\Uⱪz<뎡MCV9|z9u-qw -0\#sU 69俌چ%JòKC'S" T#:zM'Sڧo&0: 8XbuM !6lB}fϧb5.Ob"jS!!<9zr)A h[ѹKsT߅@^ɾ#!6#?Y0;iiCg𞊬f/8mտm!XTZ$6wZӌ2O:vuY{.l\*Nlm*^)'u5Yo4ڦ4RYgeppww_"3v]"౏-C?h7;^nzix\l]G7BO~jpW)SSHXBk\EsRݢI;^j)z2iJ'P EK/Rqbh Qa DlDi/Zݥ-Yg",H;ȅswu2ni9D{[]uw Ve%P_ \"^|53;zPXkɢ_2ә-{2gw..DM{d^FIPvm,3=q$SB(+'ßoqcS /\tu6w謄2 ̅fML&LHJ@mﴑPk=-qwGī1t"uKOb"0* MЄP[٩Er]T-"3B i Gop+wcp-y|X޷ߣ>? Lc0X' mx8)EU-pWB=>՜]D#!1KtcDGќOjZU7[8z}"w]l G #=ٜ\S&WsZp7B`Nptg vpY ";$Yhu3C'rQ#9w"OA>KsNrL9xc!m#Bh/p>)U \YSKdR 0rq)aDe.}/exj^SvYsUlI˶U lZjo-(PuuǼH'm|2 ɣp[wUKeٳu$ otp+p[U9˂[:~E+ SjUS(V)yE,G%=(`Tq' :WF\fYk0dh.u3jCg\E+y \Ƥfŏ g$452@_::RC.btv^=)i=.cAgqBw0=.ӻdb]\؞DЭ;/ cӁ%̦Ib $OhUvUP$9ʙ+XDM̸H%Fjk;%ܑ}n(sgЋ_C!v3HOmem;7%buY:X.B PܖF"n8MfGZ\|\1ёJl->KZJ yt-cc8F0ŀy2*XCA>P q 8P aaFa[yl)}5ҺzPޡ^. vtmooR;J8.v] ZBYmm3Z>nռe \8SX#4b Kj-A1K Cȯt#yuv}Kf!|3Ar ttў5h4W0{!I?uA5UsMx4XM5o0o[56m5f;ڒүt>ؾiShɏL_)6E ΃N$NPYꖹLex|z1k%pX Q rMՀϺ1օ@ #O^_2cmҤXsOR_Ss H^1Eiy,x GU RL~7 ްqhqk|f١I% b)/?\>-a#X"PDvOGƀRHknJGge @t}"0D{:l6?i߰ ҐC4&Ęޥh Ά7n,G)b߃Xŵ34j.1?fBcduOz਺.Wڢ$(r kО]R#S";+&=%nb|)C˭ -Rb3 =$pf&_[2>Z=1 0ֱ2]bM56eȌ^o-)Lj{hy|4]%XTCui5.ba]8 2w_Lr!}R"\q8M\3ס}^3wB03n_˛h?1m4;x$e _'"5PP u )'n`n#E;G`ogJVۻffQ0'g}ˑ1՘v,XԿĩuC'`lAYs< hElZ"”V;8xOZO Oi[Z_ Ҵ^Hex .t0Lc2Ϙe\t .zz廓4ܸ,z.䭭(f&reH'$n p !fln8\JMŽx3m$8֕PTj'Pi!h[eMp]&/>??!|PA5*vFi=Z}u[=$ާ8t_:Madɋ%74zIlZ{.xS9?`MRuO# р/Q iM" !A'–6Aԗ/ldVy5bv( zEGDcQ)\Ej2L4Ou\Px埊Dz˻d:5~FppUX@U%IX#$ϻ$nG!LeoD1hikL ޝIs"R&x7Vm3n˅r}crM&Llmj"vel+5}XD4;OKd,Ҧ&{Zނw]c"h~J"C1;EȅQ3R &WSYM* <"$;]O3!0gˁ҅N$2 [tud$=^!]P@O$NI$isd-H~FA 4RƩȗ7##`Φ,LSp5]]֧3TN-رk|5 &"ɒK Uscv&b_)jY.U'CF{ġ]B)Ff}82 ."FBbZMtc]:)5ߠcv"?(cِ:D =f0-i[Z5:Z 2̬%koɹOBKr,D;6*Z7JG=J.N`0ϔ==6AAm5u.%BYr` `cC# ) F2]̲=Gkk.eG Ծp+}em>e̚ Q@z߱δD8{N g㊮@Sys *nZdR4Z-B(cb+[l/KNSr&mb^L f=v|Z#(q 0#Öz]=SZBH3v%EU'_ԭQ6;dpm項]e}ztJK*%Ut!HZ O.yD7S9(wSE &;tCH|tO8lzLHLޖ:)>з7%{>sa.>2 +:<Ы,6V}gV` AdҢF" fstsE1W<6ܺ&7=w#t%K6y,AܹނcGM-xvWZمniM[qiY͕/p@aia#u|hړpcQVF\.ȏP*aIp}m oqaZvu^IT$}# ))HaR 5/^ FS \sLk@ w^#xx!ӺF5iB0e8q@@(4E8^npml?![$@Jm¤*&BE@~/)IY)dfv!2 fDp;+_Dy,+-bqeG 0߯+XڅB@[U%:5bfǣh`p5s*l\ᦄvpzr" }&˸gprm> iCY&d[|estp!?:aw8lIu)U"|HcW`+e{ [2Z Y lՍVtYOlXVs*x^b*ښ[rՙ$т ###},Wؾwg{ QL}~uYhm*V q8nmH=H0A0]-Onj;󘽙0Og/^W!)bW YpE9[N| b/~=WF}egiH3U8߹HzZoR(ĤK^]jd$DW o.ٝcص?!Zu/Vx'1ݰz'nI OFY]mBje$]<ŲR+~I4\0_X4%78AᄱY2Jmл IhɅetY>X[td$ix&Q_((.ED<_RLYbdHkoD;9\i9k<<3Wvv}Tma! yV G hpWBEQZJD"- ]Ϻ".vŶҦxK04^B.`skX Ŗ, f ^W6q*[@&=?!7Jq(#f/y[{k3L5MGk,.QDD[؈{kQ/a)ah0H<ţc0+_:%M5 Mdips$V?a!tbDN*82EdxxZy驵b'Z⥳4Kth-(Lp!M& yXgx&=Qːk9:ԣe-o)yTuCQ&@.*~ a}ʿOjh$0y#6z*D TSO55p=,  #͗_L}7œ{H]rD%BEP3A3VOcAIfͅ;=s;K-HFu; N$}z*.ō!5mupm8æhtXOO &"K_&m]MәXf\5u.33 m;ma0RPf]RW2Ӿ#ES~H8/15ys$]T%x3v}\:B= Y薴F1Op9&Xۦ74_exSQ-Ftʧź'MfPO~M6J_-mSr=Nсѕ#;vm^ ;Μoy˙j`ܥY&mHhFs4,SbICvDDd\ V+™ ݼ,6*/y\M6j ~tւ"3ìh\- B/m7nLՖ Z,x"VCg LmBFa D_+D%;`.4#'O[-zdIb NfL{[a9z{p376${zE4:;pzmit=IQL0'ϾǤ*qQ:yԏ}wҭzhtjB.asSg<Vew)gZh]Ҥz ':;{+]T$Gb:~jvhzmZtWpzLXJA04N{`7AuIw>YĦPR/+st6, A vs}kS _sIB=i8E 2̀I".`mE)5W=}T%0Qh_ ػ8q1i M*F-nzy{")H k^PC +=RNGm<DtVpE*p_NΧIq b#R I'`T<04|gU1H qqNk5v K *7+ȁ~5BγQ>Zg`jY%1b0C̠}dӞ/sr èa`$r07 2Y{HT@tW{TrSfu+LGEveIvApcxx\$ʴH\yރN,#qֽw4mV)|9m+|U$,J?$%( c[zWV]Vnu{䴏u*ߦX]MxEU[ڎ8\z؅f-ux?vp RbaR_re1ERB'fڬLn2h]W^Dnbz`!rqώ58@fƙœgF孱ީޠ(鍔X_ϙ } }v譽D0TQtN1V:~5>YB*e q{UK{339r(mw%FN3y5pA(%!NFOOH}\JhrTˢ{MRrg-CHx`kj+7m LWj6n|8h9ޝ|V0PpRb~Tm~^ţVhֲ3j.rE 8aۀq6Xݶ^*@*%B sMr`#Y ψݭ,F;:͖u\b vpeT=%3&wx絉 uⴲ,){[fɳnpxc }ᱎA2 bYj=}Mr y:R_Er6+4`6O") -Z@^v_Ŧi'ug}3HmdkV9DQ [ۻRlWJ}mEY -鬒qIDR*ui`wp dF7܍{[_=]w \ #362 oҩLR ~0ʽ^ X3:Jw z_p/ PW⇑<Dbnpjd$?;NdlC`܍fNhc@o@:UQM>0X8UH%}DR y6]:X;@;=Müh=Nw ^- N'E#VX/.`JOy<%a~}ikS; ~FIo @8܅?˽S8e5@8Yhׁh:ĥC"a8 2&޸xJ PbU+$,W6nLnx H?+&/ :BY@OjW4aϴKBΈi2WҕȇyTAY|eS*F#TJ& :bK ̔ƝDPyVS )~9O*&YR"~lwC[t}aΦlLӿ BIUW:>-(&)|ֲ v0[:|w0jެ?#_3dIW9>ҙqKO2n ^R "dkTs;]#Y 9 shޣ2͜[N84`YbN)ft+!'Xqȅ*cS?r6$J;jU[lhk;^?g\˻?#iHR{xDܓo1;u \FVtNT\9m@P]l9d&P\R^0iZ*r~\e*!xKOChr#.cV-~XVi"֯ز'!>9pHW4^$ўvZqMef8?$剙jך6Uc=OJ(ͽF?T1!0(H!IXk쯢otĘ05cwWԜ>VUvw0Zb24e;iDa5S T K taS9941"0p20Ʈ=j{qYѾEdٿS\;9G3?X$lJ*ɫG AY76ҷP5,"?$LWt87\/՜lVyL&(aSHx$yjee'rrCqI#锾%o~Q8,U`D*L\I CrCe/ke r IUtR?=򖰌*&^4gtӣTO.̌ nܵr@O"L}h IaΕ;4}AsHKp(0|rMl)ŬG$X$2^.TQDv+0%q@t *Q{Ѷs.#k~po< OUc:fnkD[l_V(!V+:Zdqp8),?in$`Q^*Su pϻi!xwE۽ࠫ x~_H VN~ɭ6w 5usm)0WHF;0my펝 (!fF~p+fe8|' iĖA6mvX8zUls6ElĽȼ.b# !fJ ?\8Rb>x$@b%NvmR '*jneO2 Y|DZDŽg "Kl9mMpU];ktQ#XlPb E& kV0?x\;Ĥ0֦a(1 a׆MAf"*K'uW0[3~(}OGK|Ŧ5!,U$1xڿhaC+%EDʏS6ٰ.u'fb;ihWfP'a->)C؂ΘDLT8"*tx5+<}A ۋ7$*jW/@Ӛ4 xl&S PA%G[SC%a{ׯŮKZ 3Y e(!0i3#N : ]jgH] 쥓XК ` 73h\$""$%~~<=ab蝞r>ܔ`Ҽ,eBZ %phw?5| tH|#bkR9T zKWv7^ ~qm\R&qZiR3AV5K6>hizz\ӿMt۸o4=N_kC'F2kZuه[~yqu7_g/>ιg^{/:D>pfnڱ6ve2k^p%ņ(t`ψ>)9\uzjp-O%i=KYw; \^`{aǂBs9u2V|ЊQG~uѥmV{[>AON.q˚d^_\`)P&kI&Ug& 1kk ˆM|/]+`D2pZ] ((G".2)8i4W~ 7SlMuk<>>9@-7NDN}rN?i ;Vxnħܰ~!,ΎW5'xK8x⨉=X8X hQ2;??Q]OĐR'e DPZ|ips'}XEIK2 :89RӊYrɑqi&kȥ\ %yM0a.<~);kl'`, $11i0+?fU앒$%ϑVph-g9q#X4#4y=%W+IF3]N CD,2#E$&Qo$rB\24x4+ fsJYΌ]'m=o)&Xq\kW'烾I׮ݼ +m!s͟r_CA|üizH~'A, j}rx&J9:Iҭ|j~90vd9p!ͣk1 [I.צa=ǣq7olZ_ֺl‹ܗc*𡼮VM]Umui|ˁpՍգ5qon[;;*;˛nw]"QA]k[Sj׹6V9ݞqMӜew }Y]d!vtv|iATܱ^QxvTP'h4u[iJҮAAp嗗c?]5c jYAC튙p§? v5yMB[&@H~GPeM.AO.C延 hXsZBՁj@è3d@q0Ö>09aܶPwAăqTBU`r,ƈ*CgV?(uK^ }i_Tty o-hN鋾_+zMo譿_ʽ?9}ѷW=o|/5}'ORX| zۆܯzI*g_/e}yS^:ꋾw/ﵼwi._z[~'8=}o^kxCo\yazyz'{bs{{xლWR_Y/NyYM'^xe >"(=zuGAh<(u7a̘3$#V9n>f5킸mftAB`vdkmĴ9q4CY21)"JDvtʬ2ە mJ,sЧ +od4IDdܘȰ+<Ky;2 jW;Һ ʙDVfV]HjVa:Hm$$ۼ.W*1x|BJuVcdmgn+ˬQjXf:"(Ev6 n "H`Zꪪꡪ힪ӣV=\=pGw8whDΨp:ܲqAYhP,1PJq E ak_w4CޟI+l .3;-)|om yJЙ`W#*1Q1ImA 't]rЃ.?d PՂ!P_v#Yx ugܚ{M5cj7QrNꞦoj?J +gUR+*fbɲdl]f`|WӅd >&֫<):l4lnP*!٦=|yi5oCLw3fHM b28*Hi/-f8TefoduvH[o5jp #J!K/Qחe:Ṿͦ˱w)!Ögƪ !R_&::RN.V d9;mFҽGU1bř]L|y)âȯ@rdN$)K?d ǁ!#hqmZhՐ,_{}?+7;Y[4Ek&lۡgvBBe\H;/tTx,R8 HSa`Bc'ŵO0ކfu"hyۚ3Iy}72o e J=֌jx24M!%Z-Ie%Bgv"Q`sF))+ Lbzv:CF:=V|P$GDm82mbo oC_ȵ)W "ұ4廫@- dellI6~s.[ʰ aQ:ußl0 3X`ƩC2)RUvIqT1^Z!wwIpXq]f" !rXОZ#ڍǹIG5V0z_\KN"wt29xjYTa!lF%QbQ}y $f| ̵#ں78LA-y1j &0ò OK0wi3W6bJZT6YWnj \B>&nOv()I=TTs t4F 4Hvek˼JFn~s%֙"";@Ly8 .Z0ixFXA SLQiɂa2_KBcK91떾2IptGgMrPVjK_Z7 xNZG/Bm;9\Pjޝs抮?&~ݣc`Z@s42^lBk[<ʼnVK2}]̸ܵ$i #F3!׍=lۄ޺E)6jKIVr"х>ޙnE@ >ZhC|F^J[X>Ty(|9Kqҍ\GO ܅§ʍtqmuӹȰ)(4<T~Si8v.+wjF/H{XamąڹLd$aqyKjd(?I{F!7㗰2DN4n!][DiAťmr+O l|ǂ7D`ӆ".G0.JRxUx)+"f}ɊH+2D8Oo|Fmq.B](<2X*Ee-2 S ֮@ L\b뗫CggIW{V{Ys2a6~XHxm/ҴǮQH1ֶ÷h{\įm5PdUt4,۰g'37B@K+IJT#4kYJ? cd$kZa-HWEt"ߨgr'(Ϯm1ρkC (-RU~d5~y ot,Rl/GdcDUA{EEVe(hGAk=,%T̐ȴvX j_ɇa ?O?FDoR77F$C'Q.f:$;7.J%f́ςLRm8W(m1ryL7f\vYA0f>~e 6 ["x$rkAO/$T'9QOB n<'L ,}EfUAL#c*\w߆GSށ W l(ѵ]57Eh]Hk! h4)2nn}*55Vg&96oi{Dr'};+h@G#*AP40FJi9QJ~}h0zT-&4P{H\V ضm-oʷPL)L&QZrsME4ĉ._'Ymc`ŤK1YNߚdZ)Cyx$SV,LqiBU\L>ѯ  ѩ..];!=?QH?ս?3EK5M3nO=rH1nݗ/$G6 L|TOm+Sz s.2bYtZlyi>٢&`mRs\3'NurfSTȐkХQ5(p$Ja8D8ra+Ԃ[j0Rlqrɲj;r%3cMLpe%`r !zm bD&׿_Q"*\~L z3 %}gԣ"p|jXWvz =Wl5._)_*{|MVcf;=Ss"0^pQdkŘ3%ܻM:=&In "*_pHeJDmقٺ<ʻPfPLYp3bn$Sl;*|+ ]7eHtP L !Dzw=p 2dQƎ[`b1/]&FjHE1 _. D K޴07*nV0S3]κ(D֜cC@HedpQmJu)ֱstEIS˯Ϝw-K

BqM.yc}]T=vp!2俇ת3A]\ PFL 4q}hTSCuP}[f '\cӰSw_C~d8GD< E$nؘĖ&IgyN*ݖmTLrz&  na zYevPfH6q#N";*ac#gwDYC;HcuĮW|<1p65\L 4n+)t@^5gZYq _m6xRWL9͹^}j@( `I>u9__?xR:?{ыx:2 HMk&u@Vχ <ǒp|#wILj Hq!_laEc+M 3 ?򋠂^wZX"ҹj] -{EfNz;AGIPϟQB Q:z` Y=*H迬1q"\8Cx.t9`=tfS~3$u U8-A'iLJ]rb`?ӥ8zIKAZP'eLgIݜ+~ia bG !IK&fЈ??6yX]G?yu7F~} x} EBkpO@ +j|1f8ݳWaagԻ S㉠O]P"pO>;7#vE/-xeܜ(0yU~e:XNʼn#A-5jTAVĔ|BoңռTn!h3D.<1|)\}8(hti3O$ća17wp9\Ppr"ےRMJߏ_Ag;\25r䥻E jB+z |AWfYC,,& ҹU {(N^PP,< q_1A_1po䌠s[ȗ _L`^-|s+D,Ҹ{@mwGy 5?f=ԎAlptxϙ׹-5|v6].ϰJ'd ʈWn(7/7$U+y•d 4'2N_SԨuşg{:sҴ;i41Mb LkU:՞!Gklň?;7 mvVH|y[dL J!Lɍׂԣel|?v#JtvMBq:da"F-$QHF4ʈzC蝂ccJЀZH!C1KœCuYn 2g_U_Oݡ =hW) th`]#8MjJ: 'K`ʖS"=XG@v0&C:&Roh9/Ye$P~4)*13==?DTr V*4_~MBkߎ*" ɢqϿ,ȍ/reg=WdG]D_<wbR r% YsX7SkMS(B 7e /DyuZ~L6}hB\x 0dc 0ż1#}$mZW32ɏꖢ|=@ou~.zgF.&BF@u94UGs";6Qkpf ӦX uZ*lg}1})0u$6v;{ֺ߀. I\r3Qঋ Τ>sn֋PE@ $ ,Y/i}|MN;Q 9 /&b Gt+ܘF h2S~3bYcf O ([JPy GuC^acf;UvԮnoã#dFۻ^+%vkZ%U/=q¦i؃^LP5#Ui7CgbJA9=A/1BCdVq/<siٗG%B{BRo,vTUTZ##Efw ~#\@*]}<׬Q#)J+*΢2>(ans.Y՟DyDE?n;]kVwl24],M_$?sCEU[ 4D󂪂N ;Gcn~q^!"s= /hXq O^V_om5м*<Aúտ>T/#(q+ٗ)9)8OTJa$YNƑP0idLA !]Ɲ_#0'N8ߪ2fc<*S"r>.@?<=Cr_FD:g\'sO]ޏ{~/sh(ra HsVп Ea rZPL ikE"bx +}cNC%B'چBC,7+Pk7eM8<g{07V rU Տ| ?Rb\ p찮\}O6o#COlE>i{ZE‚? U֍ocO| R]g|g :E),^G6[H/@:q˜k@oo76V(WZ WB`' lam}'unZi\7qg*QEyݮG9>z7S_-[  xc  'p&?/#mOCON; wrk: ~xz;z'Qj 殕Ă{4XPt.Fx aB|l5;oo4ӾH48q|m(vwmD2 Մ-8m I (7B  }=6UۣNL mri՞HNA I2$rNbNP񜃵=E,`[/2xb:L}AAV͙$i,FjGȝLFaaiCX@a @\umf27vĐ1 UB {^u9Qd=quϚ} y<͛sl'i:2` C~6,p'~]{?\aM?^Ɲ e5Ԗ(/Qbjo/:_,#mXHԼi>9x@NNjhW݋/mN"$R _V,CZsHe̅Ml{JN쒚X傭|{E-.a$bzMwh2Y>yԪk^:.jmvhF3a>S _-5F3gsy_MfYk6ޕfv7­n4r\m>RN#g$BVda<\`qnR-nmR*>W]Rg^O#["}{JbU *ks^ה/aҭVxpƟM^-Yŋ*,VBu!Hdy:XVNv^ro/^aZto{V+8n@Sjkg ͻ]Uw)ߛ~`d]]! ǯZpfяeu]˿yI$VHsr|Wڽ~?.?#^i4Äi)7.S|jk#LqL,ޗxE){P z"LAFIO['IUW \ގ_]nK,ia\jɦ_g\۷_k}M:j.Sf)oFΆXUŋBOѬ2;u[ƅg/95Jvm۩1綸օYr}8w#_Ĩ(c᾵KtAi$ڬ[2RY*%΋|ĠN7Y~ wm+am𥋬DH&oQjԛnc:N36R ` +fժ:5(~(=Xցگ:8 lB{%i{yHV l^oOcQ#tiiȎu*}~dF,#7V55P{@:< v@*b>Z~~`uj eΣD k7O8?0$O8BOӒj}A ˆȸ-d2Fl7 =;L@%5HZB*\6O=/#cC5یWc[%H#N;S̗*\=3ԮAS 94KYi~Ax2B]y|Vb8*Y6q^^8Q{.H*m5P3 X=w[j@ neմX +[·{$g#[냊ԈTDn1iQ|unc:dwf.HgN7wzY7:=d1 "sTpϾ DizR.[4Q?Tҙ9x:R}cC-.ߕlbE>~_\ / a=nmZ#z:=9,=]G껵|o a@H\Rt77wm\j.b{@7n\2OR7Pb S]ѡ|@t> _.Sȷ^[#L|ty!꫙f^x͉w;aZ>,y-rUvx;x|{Je߄H2F1oekD#d͏8O7H>vhF0< ޏ1qNgJ4U]rQ;r:>G N[7w_7Ƹ 鎸0')PcT~SO`|5EiH/\1T4m?3ɾU\i}v-xK*,O#pK\?D/UijV|#cs|}LJt+"qeY,en#N,E>ݚ8yS:ȋJ8 >$ZMfw]8]/|XCq(mct ^# r[7M48~}}V9cq$n\n9Rh_.;].YC` [ y-F^ CܗUML?X˕K!%IW]dP)T]Cdx˜*UX(Y*=0!d6h:-Vwhi zqQh~+kyZSfK)Ndc.S;~PS5|z[̎<3-uZq-Ƥ1v%]N3:D,>;Y_*]a88~I~COHb&Hǃ`ulS|b>=e ,@Uc^NIfѢQ*IaCP}˷od01 W! 'm!Egy}@zw{: ҥaB^GiOx2#Sƚ@3 Bq{9/eh`ua\}BD؜{q0C i _]MƄ>@%).9ysCP@2Fp=p/uǁq2uNB =#,(p5-p1l[JrR$rп3BfUꪍC52Sb?]5tFk ?Su?sRjeUI Dm},]t~P^QWF[aO4Ѹ׮WM*MYbK|VL};Q}rfi&vӚ'݃nR]N(#lo&3u3obDley.g̈ ,KU)IO[G^@|Vo}G [h%v2lBߏL8=q|~DkBQ&`GU~a7.|';<4Jh EI{^å/*kaIsBGW&x`)~4)rg|$'姯 HjЛ.KMi<3nˣ{CBk[ k~}YE=2$Xp;"bGAr1N>%d[91/  f~Hd*[]N*Z@6oH,[@5cVP.PuK\Rێ4g炱<0m`6$m!@QlGmk@̍]MM w/;e#vyEVhe-v0?D64ke@K/mU\dCtEihmQeRer%D-!wfdz2kѶ5H,o<p7Au ImNZXҫ<Ȩ27(LS0xٜr,CAe[ \mX2iF#*Lɓ4+-&^)` U>8- :ISB o.h<𸐓\4FEc.yjlÑ0g*l뉄xAxC< @H@a- ~F8 A喞g#[?s!Y`\Q~[ZŅ '@n #gL"1"mV7[0< (̡R}{hm_3Cfxa P<7;u ~3W^'ƻAЍaoH%,'vu88N\0 AgE p?wBUGhZev^<*]fS%]kON&A?S.Lk!u"~@2DMlC:5p~AK4 N a}*aN+ =7RILe ,]7mTW&/.>lB*ۿ8k8\4| E@2 p78V sX U+mAwoxՃ!~ׂQoueK]&6WЊ2h939|("8/4D6R*4:[AB - ZNwCH0ŏ*|^RKʉ~Z-J]j2*)v†3(VhtNË2/xBڈ{VyUQiS'jJ̶"ҟ]cl-*_sI7YNez( o*]wuD,>-(7hbBYe]e-7:FR]vJ?> o7M00 q%g"?tU|PSc2=F.Yhy-Pa,1V=\c? !`#I76yB?a"!M}Tx2 A5y\ǵ _׊ՇxW.dϸfHk^9N48Ѕz] Pg ~T;-<usp v^m5\+R'NyRd:!̃I30 .<^mFa7j7[MӷlPhF<#)7!ma!ɖn.}ATфyBI &Ҭ¯u(/Dܛ!O$Sb$}ZIMh>)-"|9rƀ ]>Ԕk:ꓥu"cS_ǺM5ؐc`t4cM?<FS<0q "_كs# {BF5HPNUK܉?@!E|@DWQ\u?onc,2Os }kt1{~B*s`6ֿ/+]%T R&%G5y__@O!qQ Etk1B$MlHXJ ,E4V|HC־/LX8m bHm԰8QLw};"@v;nQ7ӜkWV$Q+qF<']w&Az& Y: Y"= @&ߑ5 gg[2=WaN ,Τ2WlcZnSILm7=G=f~Fogמ(UI[V4&dԌtL8F`qtMme*}}e[u0t[/4Bzإ-/lf %k6_6jR+@P4¹f0.U$ثyT%rˌuHx^7CraVnAtX/г4;W,{ȒP. A ciyq@h C U:ѹ7&[6 l=Ź  UN~'Q(hmq3]MF ' GEزKF>ל->=ٸ3.2. =M3+Q &j{Æ b(E7$JFxIDL4=@ș,$ 0Yǖ{8*_.#ʒfT|ݱ3AR/#?IFS$QAwӸw  epêG>rTI^1a%E.V3P {x5~٥i4l6B-SE[a%hE]<]?v Ibwh1HJ;O+LLcqr(<,F4cJ@IFOʻ8iCh+̬iLBjT5+gpHJq廸ЉLn[> 28svYiSlHY%؆p^s U,yKlR8s[qx"AUsq oI,^lDhC[TJ,#a$繏ML{Wv!D߀ lpc#c;: bz(O!E@ܝJyh9dpwfyI~gDSAKy }Y% fj"XӖД>ֳA[ƧG:b- 4UdbE1&Iˌep?Es̉ Cs֟i\& #9S/̞&S+ |2qEv)q WhԵ1ִɵl-9fW1_ЧJ$F/jBƳG.ă,x갳u =CYP*Oz8,nA`(FN!X)^Ab#hf=)CbQߨɿޘZ++a؎3{@}8LeA}jjnẤm'`VE\6$u;%g{1O] C&v|j<^-jSpW樅ݴxt- Hfl{CyXn$MLw gg9,J&<pˢ٬QLJVR'sYS,3 /r'zHosט| tçOR9rVW,{Y|R:ACjC|9@COf# \ hSNyg˜7ac(9auw$J7 d\KE vX^P絚;LIYM\RUB&TTt#\' \ʳvރ03{,{*%B >1רz_l0e76\&J?k s Ƈ3x9nv2'0%T>T@y@LUė s匁ꅘF}"=ЇQlZR=H[҉dz 2Xh+#>ٕ*f Xo%3h TGhɊq0ՑZ8iWFH8%SEtW퓎\!hFͮU"n=l^!Iz˛|3lYMUf08=oS(qZ7vp^(Fy9&4'Mg]ƈ4qy>fKp3KƨJw)go"nBqAĖ"*LB-(d5[$,K26NtNj?>JIN/}GΈג^B,+U\3M7i*p=MbALF+wH[R.aCĦ_Fi婞yfSsu}#ܙJ(FZ ί>0-8!\J;SQ %ې&:nt8]-<[\Y`: dTV`Ȃ?֚ɺ_RϮ0Zz} GI$J$_6 erWkxm>r H8+!99 h8GСO*k' ^E{^mh3\{5;<=i,j`̰dΏuvrRB@UZs1dV\lNG 7[ f#i`XʯԻ$҈[h^^O7[; nfnnhys-0C=cZFH=3} AZ#5.ZN!M⪚5<5)6s {[67ˡk0I5+#>N0 *#&Lll҈N,kCrH qW ,L{2 -*330W<,WWyj;gSǨt :b24=, ͜ WTrfiب༹g$0{ٻbPyMΰ/Edi |b_Y˟ºHЍ$8?m2I n"e1>Ti*uFy~:ydh&ZS9Uqlp L(YSG yI^/ o&A3ժl .$] o4bCi_A䁭Ͻ}lVGZw/FtȽkFy.o؍nF&{7څOpUɯD;9Fy#C!c{nS.!Y#}pxE=EQt~HMt;BߗQ ܕFjGdʱFccn"L-čN0:Ag(zP0g 6A=w 9,4nʚeX=AZCi_iZJĐcF/TRv"6 a0r?ce+N(cL8%_,Bq`j%ܤ}z)ZcZ_AP32'iO{ $*g!Epꣂ.SsLxiƱ-6C ߄s={gmcQzn}\‹IhKNҌڗk**rzl]mެtyPb vH …(bpғ`@_1ky a*<'TzpM_ZzPu+sVX,ҎBZXwlhPGsHV-|7=j ;uM-y2WMMt 1ڔi;dY#٫HZلG-z=PvIM[{:r&RXZd[52Y&Ԁz_;L"->B5!?ݿ@SC4T2EDS.߇ʠM˒k0 Av멍'Ds Ca)6Vfz|YHRz+ oVhqI9r Rj ͵"n') E՟_a|'rijCL7/zδtsl>wjZo®;h'Y) .E,ˋ `FTH,{2(pBK0cԸLe CrKy5^('27ө$ ºbV/ޗ-J6D o6Ǔi=pͻ˲pBV8[ԄM6ae ہv5$dxG5|T-m D*ի$@rO"(kVSY׋#¸R=cїWMm22L7m"}R72_cul+7/#@{>aXZ}&SVGUļCJ xd٬tq0SH6]G) F)CFcQ{WƪZo\CP-޷2 Lmo@:h8X*b`5qvMs$^,eχU1Ph$9.(Ft~ fYSQͿ-3'" %1=8cElaeӱОM>%!>z85 fWp^]jG V6A?t60ZJ4?;6ɧIUIېK33ʊNv2aϥ]מ-Çl]j/c Ozr,b=E5"_^@}4G =},YȾV1xIvB I#X#`WvCfT[Ta}E3#mifi/;/w}\,&Λ|Q2h"U䧀;HNZ8"U挶YMtyh5 .0c]_06$]Z!hYjJ(Ѽk-i\Z oDdWZ}S[Og3CBw;*X;ĵ$1QM}3|YG&U~~46e|^\%l{z1:&T54Mn9ũs'ΐ-9P@y(4wvᴐH.N~x5%n"6EC @Yz -%f^1Il(':q _́.DO-1/O>eA+A6WOT]\lۊHG\g lӴ['+{!Ƥ#3GX]y_uCkֽzO'6daƫU\୸ 0GAG/Ek򶺜?ЧX9lGDLȖ=B tȆ`>Bt׿gykXXHTc۟;@6A].,] #/U!pP%fm%x}XdLR.QOӷL\[*g5O0/\Izznkpz>&SVYHhY1Tr5I)824@o"y۶lVyX5\ :{ZΩ۔OWL Or״Sig4W;EmQ&m;0Ku;<.5'ab},㦚Ncx% Vt`yrRJGvJxc2Z~7" | w) %ݗfv@xT'$D;sUz |yc'żmGl"#;'lx1=_eGc}t~`.|~.(_H)GlB}.˥oW޳@?z^"$(M琧z锂]涥iJAۍ.%*xZ4lKk&z9 ktg%JnӴuhLm+Ƈz9]Yg pV(=S ޯx[ }s5{EW>+2vITɔ&_` U)!rߵRHTt8M}- &LBXv(Df3•%˴ڸ/F9K3'27ej# HE ؚ$}e*+wOɫ`]_?R7!U!/;s %"@^lkSɪk1gرk%Ŏ3y>%ɽ |V_Qqlc`uӣhg}e1<^S'I/ߓߣ^qQDnEWz|HvV޼eAD}6O~2욏' STTx<5 [vxڃ(@SxK# "8|xnU~s]`Ѧ6r=F/8s6]Eүt~$b tOM0W\LN5"?߅9> *MK5 z5ܲ]^H ϔb IzBӠS+_K,deAQ#)''G^Pp|̾eF,@fĥs0gx tJIz|q䈠M3Nz/lp(o1šBY6L0Or|}>ӣ_-P%CSAǟM3ɻӯX`b+SN-Tz;]SHΒ09<%.]D9Zghߞn4E lFJ{ dU5FxdzLq% ~N(yyy,mI1{FNnI:%zO- *0*=K%&T^̣Ld*;ܔ QW~'X 0EdţSYQ]C㸚E~qL5,Xhͺܮi}X~ߖڒӨw$+x-4!] G(I}ėQQ6v)Rz NR#q)ni(/JL#4Za{G=]Ov\@GXTT&ª$fɄΟ&e}xZT*6qrD}+sH>"y OmkN::iK9"% >^12#m}E/h S:Փ5 dV'R%:xT-Ak[3u'`uҹEĊ-U^3LfΈ ۶mt"ȶ+ 4}l]|>\~)i1W9|>Gy>"*?/Y W$VTrɫ[g+1uI'D !}EE}|7|0y{ě'4g{TVo}'J#ڇC0:&+ 1-g ,< }.j^kT+ HD9׵ܟH :e踾_>cwB.ËX*OHCbn6d|w'͈{йL-zn 6cdϿ(%>A#Ygǰ 7޲GAU&RJ=yr}I$*n)wwC/dwy_훲GSzSwktTvֻrx6x#̨U`ubdOq|:̏Tr(LJ?XPiw q1  njJV8Ծy:Ea1) ^۾%gb'RP6L3g, rm!^܋8znԔy(lR@rVqт$ց3ъbm*; H}B`b:_Ο'ZQ hkeczofr2kӱ&A.Awݽg;ܦg~QO,'9ADf# Şn+5f+ }5׬$vqoiVVF5<.vP̐\o L}¬ܰ9 봍QM~`ZRw^l$g+rN$Օi%B]4kQh ]OcO4=Pxz= yp)L+be§ʴs& H2bT4U,<ٲE_z3G>BOyq4KiyA{lۤ5խc@b _ yk;OwFĿuozz,TuǧC ƎkENMyd|,ˡkx{//:e(3 E@0wL/&mV/+έLƹ"ޫF Ŕ N} s{A %pWȰY!c[}Jݢ='v2BjšmƐUNN%lv%#d 3xfa[vRaKh[4fwXJFiԘ[!"B'z" %@k 4.~A SHkJ* `` }U-4Rü *Jn;RqwLOR ;/yc'1"NȊrRwJX/Lz +-3^"<LVFP"ZjK M FewBYe߾Ec;Uc4wvni:6el{=qENT{FScOAneE3Ű9>6LkXZyS?u }KNvEGGS催YC>=Yޯ -ȧ0;|2XdzB=#7D5nl>k7'@U:(@`Du ygM+r.+{WN9*$ !6x}y#*0Xls:TģU]S F_Sm(MnM!^l#|0Ev/@>,~zn cGs_SyяD(Tk0 <x9, }=knVi4\c|OiYd]T/ 8)6Z7m.~U'KNo6yxEf1%}.+'\H [LڪwTCD_Rrwz!51h8wnf#xg}?$6#/:\g;h] YhPvaoL&0_,ˡ.-96[k]XnQ|o]cOm-oiX \Q9 \E/ 6F役FC`:\gW#Pc0vW4rhŷ rw/]a{bήc5y0y40k" ϋQDYۊbp4EQ-}t Z|{أ\e86h7{]hm˄۰;صo2&Ra3R7qV@5}C+aiІE{/)XMtB7HӰl 8NBUFr& faN\IV+@x2@{G 65ތgboӆwbg'\vfC~u@`SUI'(%?fV3k_Yʧ|j7)jd||꬈ͫA@u $>ӧtP#[gD20tQ?:pkq@I⥅xӧ\}v>ܮLllKk syZ b`j)Ң S;e'b9Tfp$R1EIy]2{k<R`XO1 8sMx@ ۃ-pAΡ(l'Ald5K pçtˍI}$?WoPqjZaH^?{3jЖ>aӰoҰQ{> t|8@O_u[FdiFv4S `n%m8~0| ~|~nލ/xϬSzV!TЩ5sH8P\+6*: Yk$S{V65[ʃ K*B&@Yut=UGCq6M1m8u[2֛e%17kZ$pW2$k~pGL>7کu>uk>j?~ "ҏf?x Sx{!v/}3 B׏|@ƱМMVj~Vc]g\P.VB_ ֻ>L4Eꚫ5 x3&mf4 Awր AH _^ɚ2@$SL8CN=ch/v˦l^{֛/cL}ōF5[uE[}</>S!}Ϊz,>־qy^.<\ o׎v+ڦnnf97lFgG馃Y`MX fsY!c@f3#LɧY*1f{1'exF̼Rʵa+zNV~]مcْo~.tr'rSt\bա1)Sfcgۅ? D4,MǏ)] F |Wf5~T-P^x,5COU?{$uO'O6֠}>:T6 R00$NrLYE1'+j1␼lIXoHWkbM& [)2omE U;jh#Ϣ9:>+c<֡_pU[yk7zt<N3mW_VӳgԺ/nau2B"Vռ䊽IuFҨ]e'J;ɛ1ZPP@=1P&Ÿ.\B %`_C^iPZa}{)5>!8+mﻻhOL`wi6ϞD1TM9 ſ."r* \"HށN{ gAG ;|,M?[!̼f瞷nlQ@ pٜUf=wX̊;O;Ca&SrO'9p72 Qxk|XK/[ϢŁgT|~}$JصOۚą z:GǏ Ekx+{NiHf#Ω GIC2Y#z='Z<\9)"#H)Od٫[MÝp]ekI: 9(Np9\"CjɁZ^pSt?Y}3Jx=!/6@( UESQ.eAU]]:loR< 2^}u`BNQM␿[• ȊoJIt9V2.IOJd{4~x0y\OkEb\ v7xNrYmEהld{Ep},y5!4ѣV'%TMhe meLrUei:?~]K{ߕ] sD>T8CԻ [ Fg^woGѸjJZK;LhǾNwӾ J'G9PU 'ɄZF=5$r4pq'LVPӱ`&}y^WIy"m0|w.}՞>ڮX'NOA c˗K*IH  HUEJ:QԩbV7':;Ak%ؚIЋj2)%G cFn_jdhTԡ3t46-&kK&۩G0́d27 xJuj#:ԿVFI0I:}0q[6x57qڲ2.vJėVtWmCeA 6U,w wV DFDETl>%ͩh ; őT/g0W̹Lf4L.~_T`m P5! "*dѩk&[8tǙ 1cg>;X KتXJ=V4(%nۢ $4/bV‹Vg̈2;16_bH(j U$$|@؅=b.78OCoی|%7-0׼+v)DYHر5,(0:JQ,:RqHaLr`ue*S(9il 0uZP%Ox}P鸎l/LRgZƅSf>tO,.RB,_m @kȣ I,1sɶʒ% 2a?J[Ħ&BԞY~ɸǎ0B `qTcN/hUKH7P%Ir.KiRXKr[)fsQ=pyLwŲlzfqQO181,|& Z[~,&/0:3pX4l{e@54cXvepoċF03gjVR]!\V="HNn4Thr*H+cb s0p08uaS:s/CĪZ=Wy\q ('P!n~uB*f5HKY&PRY>U4~=*eI}aMDDmYK%lŏ]]? p2О4`zMiQlU9ĀRtj b , cltv1^GOs#~N:3uwlCЙx>coZ +P NPC2 bB n'hM&Ca!خ:Q)q{bK9SB]!g¯Av ??fC AF.=FlH D5=#_. [Ѣ /q r1 v'ssHJhv15>RS+&{,ihXbF"b+Z_oF3Uo}US0`rlr߻$(+ l˨0b)EނuDǃ(@XՃՒX(b 0%F̃@*VSC_ӽ^W1Vþcc @"EZX6G@`S3G}^@H<2a89 Z $d(ѽ.G>((Ze@P&8ٲ2d P O `c( oCA*j( m+no^CҴ7SR kә B␀x:#鋔a%VڂC `;,O)b_]Bhit&Ja,ٽlpĞԎd터i[ >Lv:zZpg"D$qK^ R&;MtMLq PS8~ |ءBS@B V(0.*y]69oLB)c K+Ɗ4*X:័%]e"I" `(uk.ERo=\_n@:5A9r\0N*$lZgAV0j S$FKζw׀TK]l%x*ҙ'֔s!!Ky$ MA\4J$5Mh" 'ӚRRT2I1F^ʙp,Z$z2cGA#w 1>S&lZ疞zLfP8z$%&<+ 9oKjB& @MTt2,U~E>(EI<7MPP9dsѓ.<9yX^A2Xur>8'HżJp/cCm ϙ(<#5,~=:i(%Rcr9_N$J@ܝ=@zm{,,qty%pX>0M9P8|~֬rgao**f}50?'~۹2L ?n,/p.d_C>_cP:|?ul?ub"vji+qr)!w/0^.c$ʉ+0hR/O0VÉlܙcYJ4Aj~m sUpj3ʂ bGf8!,f ͻpԘj UĠyt]<^hl;{q{|JTG~30lZLP$3p4sԮx9O(Y~U2:+`Ds2v{Z)IV=+c S;ؼKx.}+HxO\dܑay#osgH y1Z Ėf0䫼-hd}x͹QŠ_e o#" V< "m ׯ\źqͬu|5,bhLM Aù,ʧ@163[t>=,XA+<# %P٬#?#0xuFiЫb# R@bfs::>l ׭HDZ]<$ThViT6vON#9cpHh[-6jzi[`Oŏgʷ[ Hc\B2,=xB|UF /"v|+ czqN2*1Ⱦz*~k+W@aV~;&8M)hК5U q'hߎE qo~jϖLL*f5빚 (ʇMZJlP5@/] ,IXR! TA/V3˖/&5Ov1X++ Rj0r`<٪QԫaX"9eCCnp9 - N`ooaGHΈ{fxyW 2b9zOkHe$Ft{= 5 (zʆ2~)v=Cd9sCES]Gb%U]=D/Y-f7qؾwGY 1(j`xRsog&rx2$qZy3 FoR c mbo5[Y.ᄐ `HfOw:hY{I$o˷{;yHJ@Gk=7 \{#H[laY(_Τ Qui,UO^Fn>ֹ*qo0NG=@4i|Gb<P(8ul'<63^GD(  )렳): PnS35|b]s2ɍw2D=;_F-.dO *\ʁyl[fcMJio췱]x UPt=HC#ЊJ$31L $kdyEE$;-_=?Vx_ևb̟+n-B{AG C<Ynvӫ:mͥs1J7ܬg{S'MBƇ@2F՛%oLqq}/pl>\ꗤY,b;)/^wRht?`cnoA(1zx`YIa=]@wJ@vaiέH6ߔs25̗DezwWTA{(%Uy^@yohv ObwTʹB|&*#d'fh'H >ӕ=DjӔvGMx#v_[ȜzPѐz4Ǩ6:kg%!UIQ8JTPi `eSAZh;Q/YKI1ހBJoPYtٞ "*-e͚:vj_M]M Ѧ5VIv]0/\$)N67zz|aڙe6%D5u~k%I'a %r].Pei/c[CF.XG}k](ʸ]nNϥӅ KA$vToIhjr-@u>4 {ہ{QU&_Fogù)\Ues"r<[9vV^wMk3A5p`FtO{zߚc&<}OW2"G #gPPP=Aai2/Mq qV-7ݙ+ k|xVI] 5{ .+Q> 1g=~;HMϒ3@DFBgێ{4|3?Y]c*؆{*`AkCĞB0eVb7X߬mv(ZORY3K֍@Yr/c2IX{2РoTw?3 >W!p "F)`-w W%rz\@裫ά+:\dG F`aYqbW-tFG!Ӎ>h8{ 3YXS>)SI.%:Pp1Ax&a 'w$^{I UUI#YzwNڣ5Hgrp-Vwn;@DH*η*$wA}edRGp³|wtd[;#*HcA?0v'~IM:.-LLc"b~PBD! gHc0AӎD rH>V. ^ia EV UDL.c2ylX'K*}S!;BZصIʅ-mK.^¢($a.^<3XhW@ӶӴJ=r}ny2 .oGfb'+oF/g^#Q6zTh-q{R^\FC]~j&7 ڶFх\J>㉍z: *"TA:VʵީDGكx1xFe,P3ٽkmnj} }{?RqsAʨY:d3D(Zt2;>w:fyxY0^!t}iRO%Ii'u1ճ_dy$߄_] 9*%f+[AH}ӥ($=(٥be!7wD UWI1ymb&~9-co73kNcJJk78v56.nɃ\-W'8D[m$ypD" ą B ' )PKyqL<`ٷδmS<["s嗢 fm.&wJ0(8z D=T_8%Al԰ {|KVE?됃nL; :p1C־u*Uxz4oqC~e(a!C"})#^oO:p}fJ )s[6+CS6~[#HKԖR yK p2kϡ،A.Xqoez*Ro:e}1Fao;[~]S8EgEʝbRr9Qc%v{!63..3a=ߙ%N\7An*/RMNPO`Gѓ[QlFwnErēavN9UEJ-n`6)aD ӽZKY!/Nzw,ݹ$TQ t jh3ze?#ɛxw>(DQ# W^tV42`Af 3Tb׫[~;-Ḑ#:8NCSW)wI_aL  ⎐ -XXW0; iKݣ8ՅqnK49"mC(}*$]0A1lݒ}3jQr|oAh1&%+=x߈%|䕤y_MJ6AC'3!/ء_dC5մ-cpĆ&:j U=TP)PeηM:x,: 4%{,Q[zԅH=`DP sAQzpQ3HFІ!l>2 Ggs6@8:(j;EVF94Jj)!: uC%=g<*(F^b󅦕;ETx9gg(!i־e%P+^y<66ԽR-͔,,D'T]<)favfg Q༓~?zi@W `AI%ώJfζSnpFR $l9-G$R Wi- }. }%kNcs0'Xa$9waYlh$S牽ϺώcLG[Av|}` 7JXDx]eG>j[F,w$=#E@.hDA/dmN-?I<%g!m@_)''(rW,i=JCKUcxe56:ѱm۶IG;ݱmvǶ=]VYkګ5%BEAi畧sf!= V!hE?)LCz^Ed6>!u[jl3I'@}Kb("1 5 /'!w\dNNiFl lϊbϹWK]05AݍgN0Ԅe5K%E6Rl/ ːԢ9֜5ɃnDT(i J7$_dXMvI6dńC೿U5$+ǐ f2pq"(_ {&k4/'9cL˱w_A[\{07:= *h s$bI#FK1_CФX8紡~LC ]dR<.`v7b nu23M0x*7K^.kHK& 0 ׏.ky&̤4lH퀲Dœ =m"8K>t <+:y43ӤNlD,ɀr}ְ7QfLxDEl"v]X%jj%Lj?Uo͇C#.XGVaZfo+I[xtr]=Ԣ5LOR.Yg1b}={k='Hڥh`j>`TӼ%MXz~&?O3>IW!E&7!Sɉx5; jG)JUH5-k\1 1Q(yue0z2ؖtֵ7XDi5\xP24Ruq=9K!l2埵f?uV{| wcV5d$UaΧ! 9$If0;OF}Y{:LȰVZSN3SQ48#%h1$ME8@" $T V.~΀ZĢ5b TL ~.f\.6ZMzť#]M" xqu '=Ai,'bڪ.p//(y*]l)q{N͖+Y`)Vŋ) F"=-5 'X0Qf;*cٺVGtFYgWD檵5%*|{nMPP*pP{f/xs3N,w&~p~/ΩvV?R3+o7@>X3XM@mI'tC6tBi|؏p;FnXv pr, 8w^5us,<$P78ޛS ϺT(oF-7)Ⱥ4:Qo_vprN; ߍXs;*Rm>Ƀh=.Y]3P 0swq5L·"V]=H+7By07_h<,'[IOVEHEX]M.R+>̲X98JGqVk>|9py~3qEr{ÏC&VE4?r:oOԳ )q#}DǞl ]*cyejiA캲cw=߿NȅS '2чHh>ƨG!%u< ~@|0G0Ymxk'VsX0'b9S2MwZ :O[tҞ`*5Nh,.@(VZw9CvYs NO 򳣚,[ b v&Y!CLUΠQ"2B~B!m3$nOvl8a.];5YGx\j-w ɮW%"W2H9RSߙDMN^_Ģ0!O t9ok3,hIc#^.`\_Jqor c]#I&91[,[eڡ64A'.ww< BK:o'U^]>iVF&PG5r1GݔIFs:<Ȓی(Ne1:N\uْ"iϜ~r†Rr^0:O"R2#5KWo(X[K*^)x ݁wN'a"}%Qhq]g}EVPsy*R/V]tƩ%z<3ܟ!@|8;3%}oI|#FdP [L\ A=^z2A2 4`]5d1>‾S J'rGqN)5"4 na"VϿR~}Nvet>T.r-D_6~7=tϒW b:{>Y"@\WPC<$-$=ЙJѠ^]syu$39BS|QOQh7< _T>4[u#9V]aENK ?.I)Rڅ.>g2}f gԿyǯŭS$H5=ziet#ymfIn1E䬖2IgDqe!L2p6B/4 ߖVy:d|¹>CeX3/$mELaj dE2je~WH$翜F+ה(@4ӆ iqm$Uʧ 4o$ף#2 -I/b$7Hwb\|k(9`%{"}m6:"TJҖUO6*D&0*M&j:pI&GYK@gX~ō"UuSO5q!8?Ք-N#J^l֊c=5|/87Co(g} m|;n6f3{s|yroTxL)";Tr`=u{eL:*urg"7N4vٺ 2 Z,jFÏ"1(8B%T<=.)F"r6\ױ2lJqO)r3[>v9;M1Qö" !)zvD2OHRfcq?L,qGJjх^I[G{ ߸j5Rf[|> 3:xZl"HS\LZ!Űұ"574YW6 =$x!hcysǖKX"*Cʳ4m"~l:Qڶ<o['Mݓ}{@#A <`̶NCp_BA5w|] i;=}U 4{S2t dDInV\NJ{+WG($p+qYreV'jgལN-S1eZCQbh^R!ҢM\5 6.X7T?r[춮֖ U ,Nvfۥsff|W9_1z=t]pq_%]0Oo ~VA2!HRp1y"vE҂p8*1ݬi|hwIT4))W]eq?)#EX5G?z'Ӵ`udoU|YBhihYLF7()^gYг}R9B] f\MK3G)h^–ԧ u5ri1E2%H0@Qd9-L\F՞'$\kp>aJ'{f_HZۆ ^;dVwݺhC^ fa`Td-q9Q S0DҙS !ii%z4ic1뽛|f} \Rnu ?. ^We5y~~)?t@j2 1>ǠC0v(א$xN%\k(M٬gjMi@Zr t\LqAs']z\1WɎJ)o㑋 Nĭ힩 q?}:Y#¥,E8! z5\BO~:rjsz]YЍy-icc T6>V9a 6l)\jEb&z ksZvШ^EU!aGTf-: ?"o6a> )RrLrhAԪ ;!/X 13Գd,H }IcOju/ی'Lݮd6D&lv=c8Rʘ( hƒ'd9:q8>wllRVƏn GS]&7?bo>J2 xw"CA_yg/zŔBǞOEŠX7I@>Ӎİ tnQ>1ˍ(pQX{hNF;#V%ƎxjwP's66L 7Kz 4:2_; ³8g8_)2 NOШg g+|WeH Vmiw^ҾrhzNj M936?hⰧH3w:~r}=R~hm"/bwb z{}\о? xEx_ پ?%VZNos˟6槟";J=T|j,[/߅w{ %!fwNo_m+{@ZmaqqQ+{0 (8}nZ{iu~ w}Av׽opT,{[c/LB$G$o u+ 1s_<̪^Ά؇ӧO01MRK/2gcxqgٗ0N'`\kL7*?nY&O&}}2;:w~bސΌZc^#⿾Fx}`:L&gO$p x׬~5v ܒ|kza9>$0+Y[yZa{kᑝ#/#i<2qdn`&Wgb}ѡ/(:pzQ,>(Sĵ1V|5OEU<ǿ$kDHw|ߟ-wdʩ_fWA1v?F2Hblԁgw"C@V.ֹk8p#`7 g_8&. l76N8xiZWﮜL<\ cwr /i ]5zhG~@Z33'z{Q:{ Y~";o5%< )pHE̷MH$)epcy*\Ciy`.!juE&+4cjB4ޜzd8aC} HSHdg芉x`$%a}P 0MI"W+K7“y9Bb?TOZk6 E5FΫ6p(`ݽ [A"6R4TY,6{GE?QlM(S @l GɸS @E;YDcu',(GE"ƜQe6ӂO w-Ua=-(>-ry-;LT> 5mZEk8.d+$Nio kUorxݗn\n0[19aKzc ^fMt:GVDL)C\I819h;ä3Z3$ ,?o#zV.:MsS@v!*vEkfg-֓u/̥$;0mlEhh s22c?6>e@CMa-TMjlW)8s8כqǜK4pOifY5TgH TqIc}+XV؞f[ϺT*+'1A"3ζ?Ŧ}oK`CbEa/zB_ZNϼ}v硛%_҈R%e $4:_& lG >Cɷ`tp-}~ꨵnfd-%fᥟAg|< 1YWbr>|j@b | O6Nn7\|V|"fIo gy. .!/8otN Bc0$9i!Ym8WR@B>Sjʄ h|`UfK}Q+ e6@fN}'QV ;ƄW%c2R;+^e 6ʗRmNdNvT!/e#,85rDNVz3U-BŁ{cj̭W\9)KZJZ䬸`PFu\$?p6+?"v?_љ_mod ^ 뷯irO1؆׸ٯE饨{kB.<\1p!~s;k~GZ9A|n)OP+oջ,nhՂY˦F(1/|/D;HOE#Q̞pV}B֪D4 55;nL+lAlt;k|?&abu0ڔ}a bI<} Άg7e??KK_Em,鬟R1&2â^\W&w:nmi/{7롞~t) ċ$HdP8Q5m'~_I |;ceVVR#4V9__kNJwZ-~lЖz ~7<''&䱑%w&I%uAA;.KE1V3+~ӽ 5kٿw7"PfHX{NospA53uTIfQq1 y=--^2zEL$b_ոkRvb,r!qf!~2)DL_~qÐm7U`f퉗Ҕ͚Lwxf~ ":B}Ee|ߘjVՃiAxQbχ qA @5Fart;EDHP15?]H6X q!UcI7tϻdD͟ƖоJҒlV\LTóS@%^9oY+Lk"@R9,r׮ SMe~g xN5ODzTwzl=ݷT,nKZg;g }?Uj~Ywyٞ 4#(ֶ\?^0cfH~>ܦ&a[nNAլ !N_[.}W1Pj׬341b MA$S4Ppؽm;n]C~z}lKi{ l7^_f^KL̉r3__{ ^MRp{v^GguHWxO7(! s|5k Bw7onUV!'SYUK3snIMnAwUNxgkBԌ5˝Mi(~Oן*3U(56 PxqqsxEM_.Qσf^7c¹vV5Ȳը0V{K3^e=co?HTzS2L Zgua8yn 5Z7=DNg_s׻hgHkb HU}j'=D7Q[ylSj6>^7ʆzܴ:Bhzm *l-J(_mQsBޱ14%^8(S8ʗ=#k]QF2O@@l+;1"!S8tBNx䈙62]t7!Bj戏[beB2p <^OLz5n+^_kw[DEl* >T Ҝ}Iٰ_r14YrNv*}P`39-U:VkI?:݌-x?H&drq褛lC< X"ZRf.aǙv_ P: r0u+h$̊ W( JuiK9|.Fࠣ;yx_AmƢ.oc_U2gZ"*LaӉ'R9 `n8եXplj]@L2h% ףaYgQMJ( _Ff+.;.埲YXNVtQ{(Bʐ KgvK< .9[:(>5|)DV{kW 9~xl,oL*W=š=t-:߽֡zWkf$p(DE0+S/C=ڍMutUVWA>WbQ H䱑Duh(Fةھǎ:.XZ5[n b)J-4f u/JHY]?!s8v jܨe&Qܸ:ު}OGƙhy|c=V-HM e"p mߞm2,P)SIrfp4b1{_%p3b@J-ƾ v3eH\6U_ChqwnLb%AWL?a0,](zw*,)l&I+3B<]vu'pPiW%dMA]6fjGL!]gap8]X$9$(`-VaQ.$"ۛ&?e?pnyq} `^Aau4N:8~|W?{Mr $ϛ$ ,04e-Rw\q"mC;w41"b̏o(<_,6;\ ~ 8U~MIvRIj{0<Ta?wؿVC<;qA` ~4{TᑏH$_LFcN>?:Pޭ5gVmճwC^F|F;ϒ^2 &^k@su ijdHLWKzdV3[#0[ ʁ65$K ׿Q=b@ ׼kv%p|]8oyzPO΁=e';k ՙ%ݯ?AOڵ T] I֧љcqKTODZ UO*3+"Bƫ;%Yv*րW]^7iӉ@g${+]O~7Y@2P=O3L >'.?O}}qv>| 4Xݒ} dye/[<(x0tw2kK|Wn}u: {B0 }Kۭ{o|TIѨC]~[y,Bvk)%}6VzxegZa+ùq_?g p??1[vfpއppmdg28pμ?\4EfTLk +q{ c|oxE5 %{I4w娹]7Vubdc4Afv|>0c: pȗ;W ϛMhݒ3iƘx1ߴ3?q rЩ„?/g2#΀"c/|tWaVwe&-!#>h!F!`?NEo_yo fh~h/0x4ZٲXMv zt xQ~ kA<%g7iHK._x,q4&ks +>}q=\RN .:% _ZBT$x$ $#_NS6?+؁x@cB%`ZaW u_%VO+hj2!ҿX@{{Y$qeD&޴y"ܾnt 2`O h_J,}CoC2v }Pv;ʆ`luEG^ ξ{D&Ap_/q9 G@l!b?.ѿ ~wv_z 6ss4*k1?IRPiI肎!vC$֫7_ߵozGC2-)Ötsvy ris J/ĄEqcUև("6SVL=mL>M:NG8^99T%;I[KqYD> c[E>48'%'3w0jLLJh LB ||pMQ"#j `QiBيүC^m()Ӷ ++Y]H,t D*K26<"pK3um0HF6cQ|BK/zI2Y?4W^!i}#pbh$m9C,!Qy2bs`5r4 DeξM$3`,9gMsaɈ)+Qx1ZLvN,jI٦[ ܐ } fG窮C,9f\v)qH;bCD b(Jox)C?* QJlycǀuW"Y(\Ն&r@‚ņ@EvG"„H,&섑F@,.rԇ ~ajx寯G,ޛ3 5 :K&KlQUUvob0Ɲ'Ntj]I5_eTi^1ZbE7'eBj{h!&yZf cxաkdx3)M ]Ӊ@G]nh*PO ytg)z{XrNςy=,9qX w R<=$^n_5"py5/gvMSbv#g}ąi֙??~}+r#MLMy'B%Wwۈ1:4$tB=TbG@<Jiƒ0{qTڗ z* &| O+wlLJEx!|%pmqbYky aHZU:6ea1g jy*f!4H"]!j ߥ\%MaQd%JKآɁaa$Ec$AwR+`G#ƔnA`CDGԉ>AoXT$&|&0\EN Lv -slF6ki!|`C$?c7kk]vb'諊mSio>SkA,W)fk Ȣ  xi2APg5B٤ț,9;1hyL!E{IAQQATRW|ќ9r5x3LHEr(Ԃ #pHzJoT_PZ[>Qr/Hurmg &wUqnxCbPHDb5qP_d!\C%^ut(}Ikaք,jC6qi",YSRо}5[BРM䶓^> xJam n UPq"wQk5[/Ȅ$Dך7Bwpwutmk6Kn&`2|~nt}OXf%Zc/`O5}sՖy9$`ƪpc6<:]W[JEt&,kLt577\4~fF^;]`B wx gU{eiL 6X:.>&%mWXaY$#EK됽\U 9 JLd%),\.'J2txvD((ys4Ӈ^rN`8.G׺b07]vG4+?Z/T]&c85[w jzAxb^~`☽e}}:4>:Ԉ?7DAōl L;s"Imgn*63oNd@ ?J~xg%ζ3ܮ[#wO̺W}Dl>$cEg*9⍠ŋn#5EQ6'+hծ:bUDqg?R e:n} -b dteEKد\lP4ow[gEwSMm(Fz{jۤ#hnUhNNV졯# V`;KIM,}wsTrtӋLlzx6[ +i#G)us@ثf #xU![.SS,iuWG4E7S~}R2r$/ݳ hL1#Zb}Rzs*wzd0ANv3JҠg S&jlZp/aLDwв+Ա_W 23ej R(u?͕}yoV|7*Vypc.s\~&a/[F&&t_45ܹ"cv`F! nm-Mtcfc/fkYK^ bMuZ@XC._uat>ve.{DOzh;$QPTaƸ:<h_|R6o@>Aݨ5!oc%dfa^XrFv^ă&m//.w돤"Q7wx9TpSbnz|QHZ+f8o ETp$ =z6?u~{ߙXě7úްo85C`^åTS 8auA}PR萜 <(VP"bWwa %V 54rq~gemZڄɘ{9/>셟1w*(.L[$}Hpӄ|失>$)TDmKȭ[I%u&ƫݐĺ7DCm$rL0-o僑N2pkRA[FJ#R`M^Tp<f뫆􀗽m4OX%βjz(k.[@=I2Dj6h יېC wVgx,AA^Q/5>ڗ&GNfSZYQzn؃L !_ cCK_fƀͳ+w4o. 6?TZQg1=6E^l1ЊLmb; ~F& t~Bsb,B !5#"';P=isk8Niu 7)7Y>eeiV :6wFi̼nRJWWzkC5Z\G#CL(l %`MW <hcP̥V<]|]S!P@.nr+1yUGJd4 >.x/_U:|@,UtG|ه53>p(nkjuSnKj I 1|ʨ1Ůcx?_&(׹zU3P⓳Pxko (k[$nkkF>~iXZykD?_w{}i,Y'T'$~7Ak(Pu(?#ea |YPXh0a<:oMqaШIB\Wx|ަd_3,^!Ps[T:ppr1EbF[_g_v1ax#̦l cd9-n0`GDMcJ2Vtj+pS8\U779aX PFjpҘ \NL=Y#Y;w-. v ɨU`ůA>3Aٍ9YK=7-e=WZĿ~+bjNsGC9T+Ru۹;-Kkx"i΂ҕa@Oq^˄L oqx-TbBh]MCj/ [q0#)n E6{[%3AKR&2*̥ C0*#dA8#1M#$bp?fIH~kg;<*[́?o"y?݄A'Y Ҝ>WO$ 4@f3?T{`7rfڰpLGq$ݡv X]C -O Z^ ^~OeU̜6}@ (OE@" #([mYt뚃[oýu>B$[Kɵ`"XVO_`}Itm!`A(ֳuu\uݺ7(eܥ6p>CUwTYfuۧ?`nJ<1VȖ IoBO{Hޕa(iLLZd\E0{pCF?Kc bytt$r+cîRU\8Mqez_H5\JȠ_]S\a0~Q˜zU?S.!۫AuK/0M fH_/E? 5^;z_վoG=ƀr_#?8."+J? T.Gj@)'_/}u˸&=蟘AIQx4,%**Vd:Bds>rso7 Ur4(,2/,T.] o2Sۄ> O)=㠩FpWKUj.^H$ѧoLQFsNzL l,DߑPl*Xl\XF77j$pq[ aBc}8F*m ;8 ܱ3e +Da[0x#T ϫ"D덫n>GF,SmqI?۲LlXġsJ?}럓B\]WMD\3@[ fT6͛G|\¤Pm`6uQGi> E|t4)jyE).{KgP›i뒍:B0lZ:  >fT|[UOڤ{$$:WWF_o1( ErB}8B*;$`>pꨖ^G"e#gY1TXK_TؕA>8zٳ;KU+̢5WG+܎ ZoFrTœip#JIJ  ;3Xotdxԓed?>t{ (Q-yb웛7fE_#~a|_p8T6E11I{jٝGY@R.rm5IucKDu<VHN %í{xqn;>ɹiB=Wq.śqo1}\V9鞿ؐ^:7Bk֑c؇HipցgPl3#v$40!˃-H+siߧb59Vo;Q݃ʫ|Bx3w/0l0h%A`iYa4;#sk( >"YL`h)FcQ}87 Jlϖ<1ڍTt(^D &kYAv!!"^ Mh*QR ڄ zs=vxqT|܊F7#O<#4@Z’G , NɛyAjs`+^.]@+}w$yQNbQ; ( nLZ*CFFs_{fԘt3¸ġW U} errrh:h+Aǀ{5qG# R /#a%_˴= үol/]  Ib. IaWsAB^YgPbzY wMDGpt^L̷JGM__۾^B5BC6טQm&֟܍f]9|+!lG~ x WOym8a?|3T`C xn=S/Ȧgu=&A@0}|R0#||28z|"0U٫X+pvLB61}"dUMLC8mf?d>ܔ;ON dv{}H:}Z<8?;HXןցG{ן΁;mOO7q@VVڪU_D0p,[X^ōpk*u[uKU mXsKO{ڎ^\ϔ̈/{3>HW(-ߺ( ˩xPI.—/8]b)ʼn 5YBz&^C@Sd&^ltNJxIv%ؐhJuyl4_wۇri~{Gc gt!JewNo|؎2 C wo“^p+ߚ<[//q~("iL9yr9qi$yŹk2zfl.Uϳ+g_Mc'oTp <&XkA^^g: ȽvI/׫!3N%%e?!16lV@TflI;ڠ@W076TҭjC뤆Yr-H3DFI-ӣ-)zf:g]K8E]/& UU0wNT3qX+sbMw ]R!VhhcncYcfESp,ci/(PQqME uK{Vʏ4;=]X<DCÖxͳg:!1%WG-D>?\z6U-Ș7Il{*݊p0û Tlwʮ_deEňήd)ᩇ`[KM:|aJZM};T`kQ"6]wg'ܥmwɟ8tpV9I_'G%ȞucRԊ1Xq飛 K )W"Iں?գq{^D L! qɗQU}Eo )q   VU0g!ޫ|2ȍ|C #Y!*7( [xPMa4C`Sz%'e[I0J1xNΌ$>[b!> ][ycytx=;L:u6vEowZ¿ M^.6bK[ʙl>3Jߦy;.,eޖ[b 2gZ 4(e-qek CۓTgIXQ]/@'̶j__ ͻ2D2MVnTQ'j;sfGPJ#gaɛP|]+ǛDA˨X _u3:}z@k*.nP`C=E`aoOf}db F) $k;U`2kI~f>t챏wu(ۨu$6;OOcHc; W[)Z W3Ɲfʭםke.(I&!c~l l{p+-Vj}Kuɾ׋\VQz@ř nq|5h)t'i<C'Th&UuՔ@[z}GxG_wsLFna?*qo\2=S~\y_YZ~GIun^ X &^02 Y' 4R9 Y/ fbFpֹtі)ٰ?7_tӲTah t*t7s%o R3m g*( 8WjM5/Cx;W,wIt) %~։. :5_ۏ>NPϚrP qp+5xk(bLŦ i"ܵҰ&_7`X)V|g"K\ I霉(?}NjKgb<|\_kHL\9ik-kQ(8C@4 @{HʋlxMrKcgGkڪpV_M}׳69HN#%@QK@]46}1QJcԬ61.Oꕂñ*!FVf TFW'7)**%rF/܊hZ45a 0br_"a¦Xpw1.4ÁiλqM~դd%IXaab!IIkItP2k\Rud\j:,xq $5(5nJ)}Èi&c_6j(%Ll]ːG(RDsz|/P҃d:aӈ^ZaIg ITH4G]<s٭Dl(h,vƲ+;D{ w(5,>.j".PAMɽ҉QDmI. 8*i8jwѧM:0L=}0k۳3m~TOr=4gtTVTՄx3UzqQxek)x!5TcV^Z,nAxNiodqAh UURި@7Ll Y$ة{^e{mϐRʓN-[zڽY? Ôu Y|4t]ȑ/Q\l\'`Dysy U$:ޥ= _狮 ؿ @ZòPKc/b(đS 7R6S 5&Æ#w&X8 IhteD\4rsL凑0y2_RT!BW¡Tj?H:۹";)y5q)}}՛:7 yvifUҮzס@A|ϜeRU֮YWd3@\|e kթk_~Q%` '+S?غ*ɆV7S>%"9^tuJ#%aRPBC26IsEW a^[e je2GqCլq1`-g{:؞6VV- }e8 lzbnDr|x/݀ڜS?tpOĕE>t/ #VhQBvfyKB*ҫe rҝm$]BV>0?W- l*pov,ՓXgTҼJ=@N9yq*FH(s\.zd%׆Tԙ(/M~-7̌yW Syd/ Huo1x.0*O+X|a=١ ׯg#w.iFخI]nY z Θ-HBRBnHr;qN)'r{~Dg2PN3?ip|v; Awc1$ku0|3UsPs+7\f:~h[x%Ě2vxNokM3 Qb#oS8ەˀ&g޹/Nw䌰l* KDt8$D5UaGmp|/d2M:dYaV.Igyu/iT_xG/3u؋w+,Y?~?beC$Ey`y|!8 BFy[[RN6zwjXkfdp$D%Q|J~zyJZP w;P5> ( y{% `xHԐ:hi,S%aȯz] .ث({,B)PEzC!C]99%U/:eO-E%6uJ;ulwa9KʥV5bF='y ĵ[aM0k*b OcwjݍNF' *?W+'/myL#ТO3ҵo|!Wqnޏ٢ߺ3@Hɓ7zkw9-:6K.ْ>f!"_²c#:;?#gt Li1W䵞`7!>˝6NMT,syT3;6\_IG3 Z~*&N )?܁Hn"$`{ܿ"ef8m$?Np%+~6b?RV}@=d(ջ!bJ/qQ){(<R[)В:~Ji*eyNC4Y{XGmh{Ҹ͖  3_. uz-\v|17Φ;N@ht'ռ&3.WbYђ.42$\$$YKll *N3Rk>3@$!_]5 <)p4oLc:;E%&r1$PC"tmS ؾ2`#%0% z4Q#ϳUgɛyh]jmEqˋ}przjҐ6lJ~Ԗ0V {Zހqqa+?Bb?: d; =?ʐ|!rSKYMAt楂%>2.(SM∏UY{@5)vik0`Fegqf(_Bج{ޑzHe\oEs[ #qRX䢛3r0VlyKIkHo¥|uUi[:LgִC҂(6SyvỉzHgQ71+j|8֩Cʂ){ZW3rerJ׻Eu7W rO@㢏?ևS1j2]e~赴Mvty2uRrU3Mfe]6hs]k.\z/e]sy#W1[w1Ro`5˼V^ #\僻黔rq?z;s{2Y/;{>׎k77н6Ɏܺr"(V&Jpye~`y|HMNW&[Pěe aJg!4! Kʫ7,H2wsO 8 ̃#,)@, _ (+00<<0?6xXʆqߎ .<'WtnOUD-<0vE?l݅@ӛdi9a¬=妼7ToIW,:O0o 0 [0m[.2:.mP| LepϸȮv"q숝Xo\S`weyK ҃;5IDzWc&=7G/'(k3g/eMMMMMytccϷ'wRjsSN80Ũ4~jfsͦASC{ z ?Ϡyh{~Y2x1 o+վ}h pP=-Ape+nPP^miFhH;44Inz1;bƢaJ dt;+Ug^FlW5 hqUMZ˩UmMJ|>f:^Tߺw,vOkXҮCRj,&Ҽu)H8VSi3z]By'R`y~J-= l J+(E[Y,]& -hI}~;j؛LY#r,Bzl~q%<!%o,sS@ ^97Ƀ xkWDЕBrݕ—֯w0,8܌ȡ&}_BA1%IthE17 DU-TMX\c=7y=mm˚)wE,) o!z'򸠨A1:-I{zv :v%CQV/Iئ^ k^{۝/NjLQ0ZcA쓹s{ YEwp?-6)2|@F/Oĵ]Sz!24bQfj { lYQR^nlS W6\[`!vPӆ{# HVZJ@s|r*6ޭx%d{ ^D+t!]-]OF5$<dޛmt2W%2nsFv9dvՇ둒g)H8Hbɒa.CΪrxa=t%FD}G#$P\*T4w~u]^ڸZ38uݔ^AŌ>T6yzgQ)BM\xr\]=%M$bkY*ҜKޜ^ dh QLtGgd eımxtAl0XM*8O:xءFi) ^!%Kꅎ+{¡Mn2Fx9{bkV z jH 1>%KdQ M Չ6.|.]:z_Mmg;J˨0H˙8-+)# u}JmCDboy_G]FPmj? &%U1u8VKe@x6FL"-(!#i]v[Jb]klMi h|"; ),/ڈV;4R>ݓpy`EI[cS1[3}N(ta۾K kx2B $$%B~'6*’ٚhk6 ̕ǕڷeS)ՉPYXeZ Nb>3.w [lVdY5P)3i5DLL3(HK.o%E*(No#yBSVѬ( 0;j!X^R",l%_קB Z;˴N']jAPs$\ 3a{? {F` QYfS ֘VR0,6V,oF1 D{ R%3</tU?Ѭdya 4>E?ck6Ŝ&%9@-RdfC>߉i 睗X&N08&U]܅;1fw>r)XTsh / yԨDZʼnNL"mlJ4L5+c'=H=K*L3+kT 0geJɝs\xB ŭاSVoHj Td0j_ /eTP9RYS^rqsX 9 ʱUI(H4̰}//2/j/.2n/i"E}/J7@&0$7TU$TOt oЙ>T>@V@60, ]X, _0Xf>Զ@063m5`&'`}'XZ+@`X>sp2 {r#bu⋎`:b;cwLg^Ӊ,;,O 8lߞ> p?=9bx󖯰:]T_O,콦Rо |)&ms\Q1_bAnk; ܹL]TSXޞGPAgi›*9zE lUc40AoBzK)>x?6@|"IYISvӁK}g)gPO/XJ-Z'shA:R4/v͌n|OCR}6u"iZ ĺ, 4mC$L{yfu/g ,xL"&"ҁgSSfSSnvcijYJ畖Wvrw6wne 8ض[E1a}S ˣe?&oeh ׍+I3'ܹݾT- ]9I)>)o^uӸв: D' q*|X'f8'ـtjc{&kn 1ijEul 4vn܈7㔾=|cu[n9BfJw[`Faus &ߞ25w-3I;]tξHx6^P806^t`9A _h ܉=5Y L0AoZuF% rc9]5A>zNҴv wbEGY"k|$uս>i5{2*ڌr/ '-:r7z}n䏵' G Oϳ Pˇ" O ڃMN7!SXyQ"BGd%#l6S'^=ѐ@rq_G<ۚQ~쩸M#<"WzuDDϳ9u$.RQb?ဋLjlG|?2xa9͒\ a9{tu\!ۓARz#0Q9Y/ %|߂+v*fvpA(D:'N{(JmyQ`..čpdž'?x(r=",ԇS*4AcfSzT$z;EOwUD iZ);̧mLJb"b "j^\ L D?)&1JAf\ٯ{s(m;t{\ 1d+]Dೀ fǕDB;*.$Z@ UFWU \s9Ss4 isj^&c{Z6wO /EdLXJSKd";$- -(;G(VW@V pXbɣG/t9g~hL=9q:ǫ JPҙppmR \ Ecҏ]9oئU}KES uS\K2D9Y4:8;j@?,9X}SSUe:ɴQN? V xhWTͮc7wSnB"∤9n50;Ԍv$PS2f;uQ-Q7Nm;<~:#$ElHιRAmP0)de;:׼b춚 EzϚ4|"P~]hqyreoX/[~ .{][6^;7\]Z}ռ؇v`MaZ+͜7#5-Dlh7Fhhꀳi~.|4ztHȩob0.AN6> ;`}(1 S T]EVFñ`D:̾p&52{|P^y&={"sv &ɓP''Y"yt0g/}k 3Slek;:\ {Js=dJ=T^Xdn.Y^*eqe޹N&i,-9N.Zja؍Ŋ䫟[FJz2 TGIR}q⋧N&N%+xгKpK+P{N^l"xޑ-ZUY-S[h2z6 T 3C吊hܫ4>']4Kd4۪ Z$:([ cz5ҍߞ%V N0Q>aԲ4͚dޖ[R38J<,z-Lȓ:L;G[fpJAiVIHObhj[4'cr8Lx ɣ .~N@smptFOb~NRI);>(4.jO E+*0Y0ZX@q4;5 9>Z ڙV9a²c'#̲JD; Z *u7պԺ!-.yʼn2&8ڏq|O)3ڍXA u- s~,K:]Fɭ6#t)g%8)VnǙWqHQ~jZu}lqU@Z\$Zq3E*Qٚf2Ƅ[Ś fO J;iY:L=1RI޳ >t#Oq|ȆK˛DN zbtY Bف@R˴WҘ,wȢ:;vÔLd9׼fI(lhZ¾Ĕk(,IE15 *b4,ZS.Lqecg`bSYr 5c'Kާݾ[tRaU;q'_ՅKN-biGq+byrn+'+;Kf#4YJ u%,n/eMiADYV79\2#r0Z-e#l? Y3nqm 7俈+ga4${%v!3r)/Xu~YU-}sv-uxQ؂\Utѥp7ڍ40 yv́0M:}z ƟݹrJzʡMqZZx-^lB)ru޼M 1;f-%Y H$|, @ixBc3Dž3#x7d48 hGC_ 15 հ3Cwp RG5yq|R?3NW7e:&ϋaf-9w':q+!7kȶ…H~\;{|]}WSu65 ?k^df&I!hQwp-ؕpg].]mHFsy»M\ .LOMIpGECzn QrHzEd,-3'A<>80O5}PO*fX"]wGNڕUk s!̤,Wpq*X__)a/z_m䐂M[VF'~!޽]V r)~1xwhf'%XN( m 3>и2VDf"ʀc*XYq2 Ҫv`,ɋI^M],;7SqQℳ )ڱKՖ9f LD.[L͊~ tkoxYU]R$ RߞnT0~ioϛo[6v"D<#ZGT&kiOc2SPfUhiW\7ժvASU- 7L/,oQOA&rma&sbJ]2t ԫuf-g &r_aZ5 LkaT< k]U˙"ev3t©VTomI,j2p']"KoR%R0-IGan8kO5/C/hf?Vb涺{XrP7NR2 2O5KsMj=Ń2ѿ?-oZU $>W}TJ3/5X9ϖLi*8C_O}0FƋ$uĖg^{&3)KrL 4z : st.*#}iTOH-eNV[p 7}ry{$>9s#Ty 6;.VQ@J7@i@˄3JQwp)tp,nXղY u U926xYŵy<'l5$Tp,+K1s揠:%vkc-GHrZr\"E{dUK6ٹXK|/t{,pbXsש7 n!m%3 w2c %3Nʃ naCQ`/0v!Y'K x\?n>.?@MZ;-%biCKZe) 0SrZBX2ުq2rV &_q6N%-qbꬼFc1F˥N),^,95 tKT$T:4@ssEiGέb#-]VZ#)#l$a닗3jHR\EU,1i#'aW5ZSy\0undsҞOs:ieL|srN$Ud76I(NR]Ut\_~ly0-vslބE4!&z͋ňl;Ȕ[(rOmۈr5>\` -ADYBs̘2DmUskW#(d;H\`=^^P)1@[L&)mBV5E|LDm*LMڷ:flNasbO"$-Ii3@᠄ X*&.).-[:.O'_$X鷁+CdLؾrK3?ʦk&TY k?B=ǃRĽ?1ӝa1a,jdЅ) {1 (퉟heP-C2HAJJ[Q˖e4^IsF## 9d*(-UcL(0ooMVdOa"G=66M;wS9`X8I\G BoS2'@11_ u\1]R$̯`dO="7G"OWE_quv phj'l\ɜJGЃ_"%,E՝\ztڣk/G&גV:n=N[Mۙ8)A5]/W!CLA#E",|z]<\cad̚'+ I9lQO}x'!_rMyл>ܻ_w|D|,}XOd?ǚXHsx_ё&'6&O Q&Pk]zyI$0#?<.}b' f؋,ʜ;"v>3 WU~C"e[浔Yz/\5r1<ː!z5k~_ufrB8L+3,wVfFsT+SOE2i\OUMIS! szzҨ1$2278! 0ԟÔYJAس}7$UBV4j3*8dH_9wMbEO:bg,>ѵRf55"$5ܳw0vUD:Ok3dګR& 3@ێF ťſsMg^ k8[#%RPHZ'c842; 8lKf VxѫOVڏ39m_]1Z4Y0̽ʫUl/mg_#>Hp?:bS~ 14?#U({;J$N?bȟ/ z{;_G4_cܛC >~ʊb|Eə`ܗޕ9> 8jx!+^|V^0:N>y6A9?8h4n^9Z>v޹y,G{XY½|.wѣԡؽx{R{˯seeM8{n3dLÍ,o#[Acʊ{g&T)%v ^0 "] V\BQ]8!V\ !ԍzMn!g [{v dҡ+{؆l?u xéV*H(W敊'$ ^둧{Ep`)ڱ\+g]+ 1WJ}~̴5$gn[. q_tNu;r9 {[@gw[(vq7b#p;QjI6O0C;T%yMFJ}~gmw3N- .GnԁBl'684#ɾ7ر.Tv.uB?zk%(]Vb7s7k +0k>Me6ҞDrLOTS *R #݃c T"^+A^b$Bڭ-'ҁg}URGeyâ9?xb2-I~OXY^*r!Vv 9b '%1BH:V m~͟=ۍNOljQ?Ց۝\$(X9oٲ[V5q~<7byISwfsNrJ.790OSW`fnUٷii*"o (^EiY@^gr/ j ]_d8(6_7wjzGKj "\3)rxb*t$1Q22lW$_Us1M0[;w%o?p~! Q.o=w+ocv:ӕ##]j=#񽌡zJS?럾 #L9='9w{&Ys|Ǿ(3ac%U+TJ)ˈ4f([Wջf[`n˯Ut-6A~ Њ&rg:jGv .e}l"a8VGQ!,^yJZcF2g <]<_YQcwzD ?cX0s= ;6&6g;3 Ȋ*sٮxX<<r߽D!?JI{G˳p&hfo۩0R8y~oe_in 5ǸhEtۈ |^FR0P0'лRqm2+Y`l"-d?Q; L ~ONNBه{cD\ϓ\b+=q-\LY6:My?M7!N*粦{uER4^2 ?9Ns~ajKvhLק#D/S]\ɢV;%X_gK< .(͂[dUy+&]+@;{^y^B*=IıZ~/Q2'ciNDTpƋT&y],ЉFw㍫=$S"ake5$&{A$xKS;;#ۂBtU>s<~g̙>b 5M],I|o^^P؏X䶺-G9 j,sM+ (Opw94{O3!Ʃǘ@9^!.+ eV?Bkhn Ngj0qi" ;3Ng>,ƲnٓtWS}˼miJ(1 ޤpDv1MRL%I +߀po߾LQtfFnt. 1[A%,z~,Z+%KW~Xf@2ڠx1e[3N&zqFzIS>@ &~' K{tF/@u5ph*\w s"C~޻˓Sg ,A>~mz Yb8ȏ{L:)tY({7kq{ni#OD蜳vGҪȎ3]gdcROij"#(1e}S6@9Y?sgT*wdv%5 s6~^[(JQYV ˍb\ezBcvjoYETD{奇UjO `'㪍}ኣ(Ky<#=Qubz 1C[$9]1?~uu낥J +ܳMdX84ˑjPP ט6Ax .RP4uh3]Uq yP u"o_ڝI:)%a5\>\OF5sn Uy)~3!^j$T L]T!u9%!H &ͤ EG5M^hIseI"%5WM* .a0+[Lx#qrdC*_JlV\B:T ~L H]޸G2:LvIvweOyhsa8J)c#:BJņ7j+d2 ÒFXES)mdƥF14>_YeP(7%dЕ|4DpkQuiƑs?x#]'G=/:kDBrCc ùbڗ9l,͓ vKF殥;uZ*~bPݔ T¯~#^TjjO \ӊ\.qϫz^n{'yx6,=fKJH:^m?n[o'?q }>0 $/Uk ߹c3o M8dA=&Êx_8;+vuyE`ScF[PD"fdyYb~wO}搢繠xcߗ9[ƽU)Ywns-3 I*~;[\ݮF8;A= "Y"{wA$ !:5y-M`b!)#bWx.Nv6<q:o2;^[NsC떌[&Zip5]>1 \;2G!4/X`tٙ%"-$v 4`:=/rbxl9T77a}w' >UQHt R@lȬ͔0өRmunߌ'-bp?*{9F3Y1?E G%;wj菕ӹĨ 2oØR `URB3 Zgxc\ȎVcv=~'j~;8xcoß"saj'BwQ046} miDեIh;Ҧ7]g[뀨7fjUJR-\s|Jҫ{zwrT6kz_;߉e&E(p8/2Υ7Sѯ7#~uEHw mG[HWO;m%9?U4ȎnAf$yzVGBt.. Xf t 3Sٟ V܀wq"Uu0²Aį&^N{s*374A n N_zUk>}Tdwßd&nh˞Z3Kd7JAt_ClπJw5E]!Ya[Ƃ戼FGto;T'TP("D=#KFsW1-!Br9e;mt)Z$1>Ik5˖r#7/3 ҾÄP՝Ť(m {D9X(w7-Fl B'Xo{5Euk5ג)"W/ lR`]L+U&Tw'v_dLc.@TA2뎓8v[GO] /e8pBcYj/e%<% #ȁ(“"Zs !R,LXʳKDX }(tV:prO V[9-r]q^v&ܜ 2Y7hڽg⒯o t*PK)(Mį0 ޭw"m(e}i ?Dfej/n7*a՗5#mYu0+h6i'EzAOYc{">%ag6݈sb?ony1dD;[AN? s0 J\rk8SOK@d! 5ȬehjX)"KbRdicba1pjGm5i.=lη1h~z4< QnjhQ|)%ɿ_vQݵ,K7Ћ3L.@tΉK$n-}qu]8v%Plk>m0sNRe&UCx}m~|ҵ,Bf VwIHjֵM0"c#}/sSRU-\~ػq8,ŴN-n-piÒf@_1oߕ6CW7ՐXW+,g{ƒm'Iծ:/l_ llgvYh,Ee<*y gn@7ib\[GdL>I4KgP_%].˻t 뚹l:u߫%1aP2C ]Ay&zg~֟+v:>ex^hi=X#њmF~$y,d=OAx?{!uT~ժnvD L>|>VEoŰ3Ii DQ ]Ky$/TD25!5̤yXKMSU[˦LisBgb*E3T26>y{!b]MRi# Gb?aebu9^Ux!6z&|P:|SZRc7޻xǘe%r<.}I4,mmAyney H+2']z_& F50&`Z`>>u$)`۾`+T}n @*wWU۽  ׉/w aַ Cu/-wDHC`wiH>=AQQtAwWixxPD_r-hTVwzw?gn~bRD7LK6q)Ւ#,ݞ{hWuOL^ oaf ")Px8)T o)Alz߸_t !wfrm0o$.8Q5}bxDtR*mW 4?Bc2,XVxxgf)7PeNyᯠ˜U\.YG[¸{=(mNyK }({yDao-w62S(xRIsdWnD77jbK[zA@EjN62} 0|~KoJ<>M"CRRXx}pˮ%s^%4IpAѺլmr}}(4[L3\G)[>[ sy*;HX*dN( F=H]M0ʏ0!!($'wL"<<[n P]lMh'be/_߂AOEhpaM:4V~Rݷuו3l'[pBӂ9bԼ>dCV#MGo&Ĥ"hj;ZfxcDp*Qcfq([1'dX9D9w fyƈ` dmp)ggkN0MIY ' %'ّ!i2ٴlnC\ 5jCzJ 0=+\ꕚ$ZOZ_`e2U WjSM,O*7p[>eNX]GP|K#TSAWTZזz7S3}-;HR~Wh 'C'c6գ8xor3{']Q{s$)j'Cj?ӫ snb QpsT.o +б+?kEA^ _4sF'4QsS5j¾+~tᦥD1L*2Voiz*_ۦǵ/o(=ެ 厤H[MѪ ;` -=?lw_]|pY[&#CeM3KOs.=Wm@/RK3$q4+魅X.jIyr]:pS~atO dO0#-UG^N>a'v!3K/'k)9ّd@?wMõLaQgbP`fVHh=yce 4Bd1ke3)׸p]"=pJ{ɫm]UНe~;v6͊TzYؓ6 * *ϟ"S˸c 7YNby+II^:sD= kϴ9p3KV4O O2mj͚-M 8+xRo9pfP6(L=jm"Y}Q5&DA4<H˰:カc(sY|)}WU g7q@ؗNb1RngP۠;Ԩ4'<؆gU3a6v!Մm9da9SCS|fF5ذ!R9~NJg%ri,愵i3W^n(zP4*i?[ maW 0| }{TV!2vlioSm ʛ _խԂ73YMg?пV(6jXGDZ@,1~q$'/= 8 tws23/̹btC!'T.Y5Zh zT0d Lh/>"~6'U|y3=N6?`Z8%.lkԨ ;=О8&R~GZܜX͍(uL6G)PpjɪCkJ%mzMdT%ryH([o~d7rl[ƹxwr *xCP+h4^ j:Y@GDY(Z2+ <Ë($3+`E!+ IS +1tgS4Wvo$%;{W )l͏LP@):=t񤌜dM;вn0D[[0HLJ^f!]||r*QPӨ;,*v: ^8S:is^OZ`*()~eaTpogZf ȕ GшCʷTWayB;O^ܵ>=mi)Ы mTTKb^fXUdLXo,_ÕXS 8˝ Nӿ/ @%)P2+Z[G_}f~Lv7P@FO{.k T"Egguhtn] c *G3Atz#JH]}}Y8PdK󑯃}3Laɵ.efK[M SyT{#)n7u/A"!Fu41&'o4z=8EfzQ@hV^Ks|ek'`wRi`*S TM+KzȢ=nƢ7ߛq Ve;4j;FUӡy"`y/4vKbe#C9Cۣ+gdy=C4 IO[hl.Y&_P& w)?`ւ~oK--9*zMػOZ‰O]+S[{0 s%'ށ98tԠAB~?dE[ 4˶]^!9Ķ,ld?Qb:~XOi "(|Qiw^vm:Uѝc>&\e6HSE:| f xU֋r S[ ǸE=(,A 9e冐=h˹ȔE([9Pt8Cfq_nşUR0*܊n<e3&%Dj) {+)jlvݎSPj4kĭN#f#NG<*3]#E+Oix$s{Vy0m9qoñ2=ewQlxdꝚ:sw} V Jg%Xͥe2/v2sy՟6YA{#g5bQ w*7 ' ]ѫ7?:`~9]%X-Ͱ:\=cr(N%{ozUW~Z{1GId҅&X^?SRŬ\z[sN`Xnƙf9yw^ < }j tyK{ qFʑe گz\R~V|&XfiP\DigśvAh@TsA=>u'Mc,W--nwrvLx`&^ \ѕ^ ]@0 9 5Js9)cB0EFv-M`='Ŀeɛ$Dzt.X(*˕ :suLy"zjx$rZA71 n??1On;1+;ѧs$u-ݯxKWI1mqZSH$ F73Gi5ѵ71MbaAO՛hC7C{$-;WkLY h5"BL: n*6U <#D6$9rG ى9߬fik֡/Fՙjr’XL<_~nt#!~bX5ml"UD'3b$ g`*H.HN0!i7ke 1H0}i"#`Or]UvSʷ*K |2aivó9b?;P/j8w3F֜eesrww!ljM)=^Wd)[H(k:fbӹ^0-vSFC > H0Ip)G[{KzGr4NY"t"ow=Yj4 9ǹ19lxв\Z>\GՒ[r]Z"n<]_fgٌl>㷹P )X6xL|Mu0-v0U,{-؆s/:Wţb6P2p0JEn^dSrjB2 ޻-x+ȍUd+iuj_ N81֟KcV>#'yGG@Cjr+С~tD?CAQEKI7z*;ӿc"7J0ѱ`nfʭ#g28Wq}+tJjD$o4ڹȬvc%HPL8NI. ]UHSf,9o(D9tLuI6cwIJ(7x&P4rhNkv,zs-[?)M3Ü 5l.曖kre%k6縼Llq "PXrM 0?dOlEXXW^?Nb&RVjgW#2}5}Ǯ+Y2D qw`b S=^O}gȹǐXK4vj:wobGQVjBpVi4@92j0tbiC1yZ&{|\+ux1aTǹM#5z9K-_ V߆.ߔ8U%-7%RՍ$ON2ǥ@wb+ft [UՎtzn!`:׌\*/8,D-}zku)3Y]ΊBAiL!ΏHh!׼_A[uݸfciq }h]:rjݸ/GC~VFx r Ş]XxTpTiXqT}^!~J8`|b}PF^r܆U|tڍa/%&M`S7ߢ, pgy {'!R-bwO 6 Z;l Vo;EGrd[eÅ<& A3=3[{ Oô'XdwwUAX âBc͏s WV_`Y=?A%d/=ʼn_?h%/WL.h)Կx,29eԙrwWc_t[W*@@17e(?e.$e|ClZeU^?'w̼YR &/bzؗC_oܒʈZ}Fb`o/ H7sc>'V m9[h=,PInQث$vNYU•O$mq8j~|}Z|bLųm *%dR8an+Nz[H =&` sMtcM]<~1fѢUQO)ӶhkIQC(i-3GY'oVKӬLĢ4~ RE**O̓2NA҄Ρtr02E[P=a;)y(9eP>ܗBcn ebjzɱ4pL<c M11cC"ARv'9.#̬rȒWb'3di3!5q˅`>.u 4!aEKԸT5.taG!ݶ'4fW@V"/j:Mu,[&vkp݋߿ZhnTF2;Lʚ\IKg9tSQ5WN/ņ8L:WfdH6.j᫤ǦH,."SFg+nX(>Uęg+J %=dTkC`~==x XzN?}w>iN8XVmfq.P(3&+M~vxm7$nFb9wraL˂FjQ g̯Gqȩ1~.~Jq MµAyƗF',ONI b^'%q?@£LA_T㕓ޖA,`p'ĹyqCgMYR۸1CrNF?LH[32̢(OmY2W:5υ'q+eEaG.o1Zϱ8DRSɞ8Kjx"hY\ ϗ,h0, i6bf-zqEʠK8G7x<~dJTb0\Qit^p%C9fL(;1KW1a?~瞔"^KstiX;v~` (vQO-#֠$  qcG&Ѻ_Gp_n# ׌b #Qg3+{zub䃖lFL+lfXnzyqYb >4CD!hWnXt4վe%Vjm_LNoo5!d6~Pee" 0_[I[X؏q:fs:Ld e;ͷsȭ!aO-/ˆ)Cj%*JgWI/)R4&RqaYZetevW-2Ih#/ΞW\aj1y*Ft%LPB%"EůY;`H~ F̱-81bZ%D3 ;U&EUAW[f7S.tJM,L}">ٖ=4 3o=JG{ʁ%N(/_(Dt.Og>܁lqI6 A2{-2K) x ,XI癧R\^O[0n1U+[EWB.В}GShףx8"vL"D^'F]Bp]-:)iUeuЊ kŇؚc>8 PLV[JOkφר|bVY ՏV%=i ¹n|S\MY*Éu)&o+bHKp=MA&бuӖJ݂d9zα;G3ia1 _Jr] R5riqƬ\#KQ"a١ؾN[n{%Aa$n)9_4zFI@% tc3=GZvmaP:AW#1G}pcE2+#+(.W|y,%|g,'f:*e!]WQ!уViTqT|)}¦p9oid۽r{#LLfwNUMwA͓OPRʽ]jB $X8p+[hڭ淜/n.y8فlY]\k*.wEIe Aܾ}3R^)ot7Z?<)Z0ﯟӸvKRjE   gX^ޝ{osm܌w"WϷQd+ q+WgMFK_'4}aѢ\>4B Co -{iU_Pњm-U6@H3|Jo;XA^õW SΞX9Fhx]yyk 3\s zMKU0065W:"7]~ 2po >ߍq֯4)@vy䃳,pnraԘv^w>ۦVRݞ ~<N%Q#k\3R^]L-+ SfdԍQǰDf$4Tit Z_¹La ýºqHdkFrtRuVjnk}ƸŠW%dm41 ˵tPxT=t ݎuxt br9LWAOW0XrP QECQb>".&m()&de& 38$h F䩉 G^a&r&({'2ɥ ѲŠ~_A@u V~ "д^sT )Cҍ~4zw<~o3<Ͷ$J%oX{& ;sۈ:kkU>JѶ5f&ܪ-ʄq"$$딘d஖w+c4s}.٫kh"ڽ]WaTT\p*M+޿b@?.\Ӯ1HRszRԒ:紀<&\+>-eṫ]MʱW'H2#vTdfnqlrS -=A*23RRehY N14Xs"L_ Ђ*9]a*zRw_G Cf9:J64a*:Pw.bVf &G|Ђo'II, r8Էoo>4[k$7N0\ib4HO"H8>V=l_P_퐡y^Rrw=HM'{ȟzfUoMcG+ݜ5ӾHw5:o&X^/wrSvi0z?6x<= ɿCrпT볲bW;<9;6)ˌm`˰hx=g+0Y-5kK/%ȑ} O$|6S$ĥ[l{d g.b;rz5YqOִh=չvNߟf%Sbg{TWr{YqPTcpX7Vp{kMQIMMW*zYx47dT>sa}B\jAګD9O&~Lfs\yyHu]kx#:?52bHo _&s詆; 6^Zއ|,۱oFRX=n)EGes3դYvY4EKsW{)#4If'e8@UWc5$(X ;î_y H-S/p~7V. m}|&)'xa368CrG/jYЙo͞ v8V f7 |JXwʯuRT (2Y8e,`d'΋sfYe'^#W@ۚC$@fcߒVEmU8njնHF."P'(5_Rif2)XP߮R&ϟip:R,*ra*LӍ> RQ]Xr&OelY/`)F|Ofo)j{!3H.IOL^у|kh38ʚ&ddIf ۽NZ:N4Ieb!<*exrqm p$95e2{~؎W v)n/3>k(;lI8m:(o /l@mLsa *J]Fc~K vS1qD̖ + .#`J(w-rJѦoқϔnH#Ni#;*U*ƒ.kb&%: ` uC!E il6242a F|]f3Fm(G%S/Vj~8*9֞X C.V]:eЫFv p cp![COkcvԚѧ(Cܣ &13Un&ZCwl6|C^rW^KK>J`k{*=0}9GDpRn:cK5z̮)G6rlQ/w^if,Eik~8| D#7 c=)`%|˴RjL(rZV5a9z=2['yʜTeu*LjNeVĆ]aM-0gģ so ʻV{(Cwtص5u 7v g}_ی(Yz~_T\j;#2N+D `qgvO] *9cݵ=~C1.P E.l.'%8P>گ,)ѝuh ~?1I_Q=[64"z0n] Y/+TP?BB{!|ާJ}~!j *vk|>e B9;u(͵[c4̰l{:ӝ *p}Ks_+!tYIsh,&4|+gMG~u/xPVgsL9gm kxfD/מY7qI{$Dπ5^h"Q/`FnyRi0W.,9H&DjKFUInu3YV&q х E6T-RզEUP ^Lc;dBw.2YYv%-I8g\&G!Q>w 385'0LS 'G<எSyKi\ OuqEX .3avse"n>__k;Z@u"/}_JQ?A4v]2 rjc99w,x~i\zz I+ rN"@SE̚cʫ c{Ć47 Jtmd_4$ii ZL8-1!k4KDr?»^輩-}\g*CFx +)~R*4]LB{* hjiS>^L-knP.w=cJAIqy큛o)@%#ʹ%N-mv~aѠkO|ԹN~[5orVF1Ҋ9 xĔ]c$n $,o|EI$9#OMT͘pq#q%ɰdлdKɛg>wt_kKb!6%2+I_*zTۅR[uE"H7 | VEh 3ڔғ'=ަwUԅ*m a=D*kʲg +Eg3B\CӨ5G!˞{ң xngR~Ne|zܻ1RLQO?Q'tMkY;ωͫy~Cd4`ce^--F_ȣu4^&\1T[ /R@؍Ϟeyz`͜BHJױ~{uϣ/dsWq'D0>?9^e| IuY=l(Ph:"}}E|n>7? uu~ =d WΙ?HtrL{ni^i3]ESeS"Y!1HXrRKC8.X8# }FpalP gѸmaя T8} o!dtB1,K~q |l~ǐ'ΩUp pՒE\Hnlh˽CqpW?z Qü+`>h鵊59b_&*眚+0ܗo!iKe2z1ic5PìC5xctzD8k7W s1g[>+pr*}p`9o reNMiTP=VporXYz;vhjx`` #j)ь3է'/oب.l߱ wiy)eQK zҌ;@$_w;Fu|M] ?@x q KUmX2i$l> $m[psͱIYajMc..U4R,W7n' U [B浽y6Zzt^* #u#H÷-|{jg=攮^mZqnY!R~pܢ^΍#G^*uQ!WҤ()wITqQ5NtL[oG"];齝=-:N?5aO +Aʔt- [2u,KC0&K,8ԃo|}]gX$1h% ,l? zc{Eg䷌q{9*ʙ/I ]/^+]{(a]%G7.%+8g;B`fmV^GnC|36mm[eLyzOiPAtxj@jdt=tt1QkPa0kp4+%c@u,xJ8R_j t}QLlY/f'Sf/]ktaLJXңp"vQդxq'I{Uu/>`NfY_U4U5**YnZ|wC0Z},6pILI^eR fK[:46EYZ,sfTlW1ܐ:&hT% ygLނӄk!Ă /L3un )L:AmvB +[Pp6^-g`1¨9|Fr ݣ:B/y}"X@=hS zcF[Z^P#IDZB΅Uޞdk.3{lKAN@穷/i`J4$c%ݵw,\@|tg ԇǶ#~ɡgW괏UT݉ }ZEY!~EͶzI zYwGVUl-@ ;NX&lS mW뎽ꡐ;%z^ j cbX9؝Klnl 3tc/R|w'A-S=N3Ųa94qRFl{:k| }`ⅇ QG$e>f6[D^'9<{D6~OD@ۿ[Vyؖ5fg-Cl«;>tD!/z+9+veֵc[x@.׍wHAo 9q#mg@QSpԮ_wGϣ!+7NGY}/-((8 ށїEc:c}.cFwXDw ƌz6&V ([@.&@,Awƙk4q)~>oQ6LLD .ݰJEc$$A2]DuEvSA:Cn V^iJūg/FlQטoHqAl 9lR CoDOL~-k94 N(+wn>?7xRRrNYЫ5D4SMi2|ND}zo(-9#cD.26*`waLP2¸@l2[-H~`0j,'Pbfz"!DUթ`i2Rw`3 1J]W)qp/.O8y7 7%kﴰpwÙSd"Rwp[~VhJU׌VZM>r12) Abϊ+҆Ga2Ceh3; t!Rl,-:~yJHQQUjj/ck-I)-Ww_uÕS@J $o8[U~,FW\K;!?teײwCu7,?O`j_m8&zlUBXC)(1a?lJe 5`v*уCp l7.L RfɑQJYp<07{A̫qD:7o~O8/$%"Xae uNgu{^CAwd)nqz 5;drJzjDL8V-"N&$P[$6H2~@7 Zc{ѱќ!"4-EtUHi;~f;.ɩsK|N198Q{v90O^(%)վƛq:ߍ'AOa\D r! (_ἬjvԈ*{b0Ĝ+sǷK &om6} 7u<'\;(r',q5#rf2 y]&Hu}-33/Lg:"54mΟ// +|{G\`XBuJeo6JW/9=?- 63!<6{88nrUE쮎ni?jVxGjna<}2-ΌgmŪ1寿r^e:o"qYZ5m#jt+>JDHEy;t<fI)5;s{GOoq/zQw5j]#t,ځ;µ2-l2xvץФЫV*f̍^񅃂e5F?YX ;9t] f\|f-f:2hq͛axS3 v{i,¡:Sd;d?MxR'\yOmPMhp>J3t\b!F0 WR-Vuv@SE(d\"BU)%\Wm%1h'dkrWdϢ0TOLT/Y=,PB.M۷MUGz q476yia<WLFzi JV$dPvw5~gh%=Mx44FU6ṉ.:$>]w`i i7Z;oߟHmbi~K|U 'ȸB~ڿ)1]fމ 6Q{&CVQz q]r׹JimlSRd^C/Fߓ9zt(zָ(JW$LE*DҨ$3NP5e'UbL;Wf ƒَszY+ufMPuzRiQs?SIpEx'``WcV_Ym /9<^}4]wƭDޏMe]^w'1;2LJ> ?"v$/|`XJR!>v]QQ G| ?9̰Grݪ>G'dEHwR--dVP+. V\]Ť/eғND/pHQ }.ՠVꭴ\h29UYp\HNIާBq ӺM`={9-G+ $[j:W$[ w}Fe1{@e*E?7.JE3R}JWm]9K 3&1{Y{SŲFĠ 6ǃ9iS}J.mB萱'fSs3G>) F"ŚeU~li-QS57o *CnXGG=zyQ>Q3 !+Ӟ^%:$ ^y(6ߖ6vlf l6.SeId*tXt˖":HёJOԄ|:Yn7ȟ/ӌ```````^h#:iRd5a\s~!>EyY=&"2)uaaFSt+&1BV dd{rད຃^m'$3V,>#m6~e\nZ4} WQuCXA[3l0mɋlCMMHaZe'ڂN|3:Af^^͂Z~!̹ffmLil2Va- '%s Ûc𒨍VCs({#$s:'YL^ѵPj9ѫj7Pl0 ?tu,8fk#KٴՌؤ%'*|ic΀M?Pِ!MтVo?>-j7>2Aa1ƺd\W{yk{cЇCQM炊DIefsX( AeΎGQ eM(n({}3]w}/H]na@SQϺO2ȐFGHp0iůn߶wTzuY%ѱ BTQa{E=ݢA "*pAw+N/x3f`֜!f{@g刄f?F`H^*dcۉ-V>tՍ/p.ܢ$b $ӺAq:{JӂHRIs1C#C 6|EMB-ÓJ> jVɽJTFʋKOq`W3cSi [*ϟlN6ދ OC]l# 1 sywK,H\?8Pz5U*L ^9R3ZZ[.^l՟~{4_*%#ymm6ZL1-dF_o`g,nVSoXdiv`Աb,c-/"HTr몯wb^jY'g^BY׹|68;@s.+vi#/j :M$Z+jqXy.\fzE\ڹ2}kltÌVoxK*0!A$cyV/af? ,zMJ{vä npL0#UX5ߵ{T>߬Sh.A];SSR؟q筄;:egE5'ƺ f0pՙesVooB=Wnx7 ӟޮ8QŐu#\"2+b8ծ綞nط?E…Ϯ=uXw_jvN(vQ 3 Zh{1 LN _c+[kEo>J#&JqmC^3 /)KXl`H20ajd|٬x }Ewnn5!l\MZEstU|`Wd+c⩛R>D.9T{O+3 y'qF]  h0Fђ%Ȑyޘ[e[Pw2fxw.uK 7m%㚪&#'stS/e`e V`*'Xet5 aiپ?ԣ[j$x/f] KnaPALBػĹWD 1oHruC멝Brhp]`D7 59eCcЂă}7bQw,俽f{X^#.uu'ZwL^L#l0=\+V 5NܵP+lUFoA' jAIe(|r2_d}emώ~'aߏ'j5 g{ZU<`8xnqxztw੍hUTpSε YP'?/)85b o2/lQn7\V:1&,r7 7H&[IPdG'-at>^I )LYEod/iS: n_)4F:M^/r9Ӌ5^ˋYm X@>ؐ'<_Zeo rP.3E=g~x/+0|SMsz6ΎQZ ӿRF] ݛݭSw5pp+p75 5ҟU.>}ݷ;v ^m6űFMBV!Ҁڥ9_t4<̨RMT%wIjjY\j)MG*opZ{SRjinUQS6 uxm8zChI?32Bh:j.Фy| \o0 oA׏g–g~paj8_7-􃦻Ӄ xǔ [,s-谒YQGrBr. J^Vux'Ncfs0 7B|?c>؀3?k<K>%kP$emU8zw*+\U]2M;HM?lEJNT (:sSnU~r졟S[=N uXzqԛ=Z 6%?]ZrwgyG h3m\0fX`MW^Î>K()50#(\nWT XmsA.uecFт ya47ͽT}ÿ&t,8 9OAȉZ_ ה=zO/^txR& ʍel]l^rw {l=ۀ//9-\}ovH;5';i`,#jG&DlE;6R3_>l l(h%k{ato,dw:9n< B49G{[^x`U}w5PQOhsp uͳs&(#3$"W"MPuS)\ d=i|8|NVvhX\%^H߼ĺXN^aڤzu%>+[vkmnp$||}af>(eO`mþEQrb.u8Zj(9!?fotB#:Y%P?M,q%-Z*'D\[o. 7L[Co[ my L3;sIByP~_%B]tޝea[fщ.D3~!5FmqE܇ (ӷH1(d6f!eb$=;VItwɄcP%zty ; ҫ{i'L&vPJl (@K>h1ѴFi$z$,|[7yXYe_3-Hr$%mOH޵.&6#p0h6b.%r^ORA;k^$V ;Rj{Nw߅*TM#ˬhS/ۡH&=n303%-aQ[ΞG6rkC"xJi9dD:j 4HmC&jz{f4u&a;3yRpMna^qk8d$6+='wȂQ h ?$6FbǏ| 1x^$9$͏gM?]!;zom>8E?5Ƕscy|D8O\֏ä(FS qVч}>':?d MwZ&Q|''ʷL~FJjGM^FP?(vnYf& 5?+̿ $0pJ_x 2C-l,"<./wJSDPu7I%@9Ga)RsS%2$omCܟ^t-[59Ǥϱfio^o4]WZJklV%Ic^G{%.SO+-{>I!u!ɒ_#*`Z,W5T>a^Ez[-u_j uLbٯ {+Ř#5m&ĭ~ #Dl'>0MdUwlM唻 $^!kE\!*}[ׁ^ E5scrmg#m* , N kYD V aV%H~>/V~9ΔDT=V (x7vk,ִ`:7 *SRokSkbnkn!0^ICkB$]5/Buł߉v L. נDqBB90(-cNFm՗"Q3+-[G/'}eZd'hFdӷ~g!*H$9dlk]Dk r>t }=x{SD^Pq?HlF‘hC?>Ȫhһݻk ?Φ2nJ=EZ:/X5mwXj+P:Ul2Y5:l@W7Z41U'_ +ȮkhN_`΢XơC-Q`Su&PkΒЃ/:襣WQo$4+;nr~4KdP T"%BQf5 }gc>`z83vͪ3Z[q]gf)TnHu.Kq0z c ]{uϊj%}Rݳƺ{MNkO˵aYئcNG:q3"a}KNf޹""XA,dftETt2?D="DNP4%ljC om;cĕ{ qqPkytI[ϖ;ROF0͜(F͚ 0w8`[āN #;ۗupQq9]!"!¡3;Dˌ?m#zN 4UHP iμyf:[0ܯcVC6quAFrrYVlHisg]M'=g€~n?sI;RB̓7ϋi0Vxۻ-}g!Py:Qmಕ:( .Q{3's^٭l:x0iˇaS(/i5J(r?rXmYEƠ/}iB9P7ڠ .v%Al:.MDqEcH1K#uq ȁ.BEj%ce}s.X WVW#g5坥f:Y=ϔC긎ޕb-täDH&Zcߖʹf";g/IjŲ]OCAEЕN_Ԗpi42{9ߍ TpFD<$`p .WvN\d۬*ʎޓgۧNM/rw*ԍb.-$5j}ٯ)4qNKFkq`3[@[VPճ*|Ι=⛛N xCXwu)OLYlB+ Ͼ.``8DH (gfab; 򘭅ǽzi(Éx*k-K'!U8WlUO^F66eaR(5 ̄tXې=Ꙡv8PmY7<̧. Nx(X7X']8!Zs*p~Xiz~zDýqsUVՋm%4TH:.k,h}D*ζAb2=빭B̫>)EJ6fho~FZDG~0qP=R M8ovHNn(>B΢{LW,m2 ȄM)MZoerX4p$W~ޠ7@zeqԳ۹iHR8"\jЃnV h(CFtχv^oevLk9x:wBr懬* fR),M.jJ&Zm=[ȼGG=^<;(t:ċmTvMZ+_/U[") rߠnC#)LuBvҠ;QӦ!]ue2.s"6HQCݽF)a)JJ|AlaX&ʟzz߱roff-s"g;\u.&}ɂ}ܺ|W/$8Gpߥ卮jFf)@Q>;tȤ nYaI(>IzЃܸV^IU{ EѫdLG'e11J;p)G !S78au]ي CyiCN {ZFse][WGQ @FOy'#q+ΩW'Pָw,CLRZL?^WI‰~p3>Pu2h(4P߆nb"c gUe+ĢBGϩi8E ˮ%14`1/pֹ\z J/fu𱛆h)W?ǵSm9&9<^=x@ݱ'*=ihn_[bFuhD%?+3dIq=E`Iw,VH-ٷ\7[H;O;~v.L=t1#udGcmb4uplr~ xߞ3ŝsmm|iOz[DfP&\ڛq"Q {,_Vc;aCB{N*: @/1p ] _0 _Al{ScO(P n>А٠A⅕Z$KtrSC/Sd\|u/Ǐs" euK䍾9WغhmP$f~VwtNI$I5aEXE$'Z tJ42it9!y6Zc-CI.~Vi4[+DUCkػMYKvރdg:RDhN;I- "W3`=ao҈kǛ>Ȼ'cFsD<ӖܣfйG*;(e|Jٺ\[f%[ 0}{!-qL+c6.χh_z(xhj 1u=08ө12bE2DA*WI Ŗ*jy{$Lc~doweߑP{<ߵ~̂ yLݠ?r_8W[ӂ7?yHޭ& !)b֙\nt ly΍9>? U?n埈/`>6*ر BSH9ufr)vI.W?]RR͸wg Z+#Flj3,%yW!H$[%~HpWICDSi['evQZFlk b<(϶wB-?bs9-=jK[8T=)/I'. 3̋Uwc@in@c/8 kqdJt(<8eݵ (y;ʙ½Gg1iP=.$EV#DԁqOؠ76أ_r:(Y2ic"[7xؑP$V{!:| Lgߘ!bRGg+]ީxq'p֥'vTunr}X=s?Z.p{(.?|LǑ P1:h1$\[Mn,Qcەy(4%6}á_TuPoH+bG/n_TeMCO')n\H&ۯqW, n7oO0b63/b fmQX5,M0a-Y+9(@aqDf1kuTH0W@oD.*֋В&iq5mA&l5Z%)tQI}])>[14%IQQ NTID2j3U'&K G&zDzb tב5>}_I:} 4XtťT&&EsѢ8\atkK)f*__a[yV|F$vGI̞YvzqE-f3&woU s6":p@թ`)pC9= ݤ-%'&*21^=8BO7<3;S. |CK؏&6%śӐAʣ;mU~ o띳j_Vkk XY-.}5Uߙ&ЍƬU{UuLLe+> =jR@N$̇MH^6S=EgOcՆ-m-X.y`iy5+TuI+=)mV*n3H1~|R(ŀ 'b&>& r8|Ua &tYL;Bx-Gɐb4H\4Umj#&feXټ*NK3ͱtC5b4:c%Q=޵dr>lcZ}Xfj2 ^7k,ЛewO2'+AI6+e$oH*O,?5|aMnŤ6qGcƸ L~$lAB| -**5.*gٸOBGdd}rp1'h~-t6<ո'I+ﺆz1~ Kzj] AYѿK%_tkH>ɹ/8uh g'`GP`_ϥThy ˩sv΄è/cFk.|T@4܎-L-44Ԏ#6P81| 4{*xZ緙b96àGퟺwGW[rE {]0O}Spû8/)EV7㕟.7A)7?uߛ?`adϫ׼'#D WvP?͘+G_7(m09[5E‰[mYŐT/7%v(W}=M\Iw4\+'id#9^:WܔZivr:Na( h /(]t<6t`? TN=N-u$S/)j[(ar%#{*ѯG7ɣZ%{kbgeJG?w.#Xi>#w<6iJ0kosJAvRXo'D.IKxn 7T.*/6ꝴթ3͂Q̿>ml[.o%z[ Z !u?Tk=;Ohrm49w 3r*LPb^mTVޫE-pխPg,Ccx!,(V!bKV)̕1慊eX*g@qLa6JpƘdܬSNy(Ďt1U}V8 20g"gU {,)+] ?]/h*#Vcp}b X~`e^bSTEvlc1ۘ" Ej'W̛\| bM 8s;5ZY9R.|VArQ<.cYп/00و]MYeZF<eswΒfK^i {H1OC[&9eu#)T5gi{D3ko=ӇŮxkthTds=G2{ ¹mr˾N/|GQLT@ w  \^)#vgWAȊEy >SNÔ=$M ŹDRh֣*x`Oa ˫sF xt<ThtLlpi>29M#@׏w1o_.Dk8m<@tCsm-ʝ} yd:YÒ$o9>z?Џ#.|,nh_X(:+[.>[*ݬS7\7p.,K$@ {nnn~#D;ɗ5MPY_::饸9T%k=YvzT?nșʮ79miV[;GVl XWc;p+(~7NHT,:M+/DV 6A3ldhQLAIFARk{t <~/ǽ^7ɍLKh޾^uq4`XkN5鷞!˜:>|{J4q"gٽzM}e s: i,}IXv, l +|>@!/8l)܈F?Xhg+ ݞLvrZ~r&V ~I%~CտyL E}LaKW4&(AElSB?R\dIo%r 9Q(gc84[RRwrk[Co[6JǓ')D7/mа~rP-)V}p԰2e{ B2<8L޼z`[h * ;pvJ٥ۜ:<'ۅ8371NGú}-$6CjŨH@c*ùgzрY[$\I}׊ߥ*ڝUEg6q|8Dh[O:z:| tj9hY.\I@^h8HI.m8_J':VsρTU0EbT9o0z&,&Pg21e؄,Rqb4wbelM+m{nQq{W`4fFqLE~芔b)~H=]g(IdR/_Fk>s' k&K]=:j\UN0$׊ce Z)#Vn@vwC8 %TtWɕS⊤ o񊶞S kN?l (zbZ%E)k`:m\lmH GBC氛6BX,)e;& nzV e0D炼e?NBMxJ$QRDónϷ_8G!cxx^)݄"v|V߽^8_[" O $n B~sts\=2S[sͱ8O[8g爆 _kEc}αW-Z36X5s[*L%Q2U\Fkن,*ptȐ=)ո!YVR[4~F (KʐTnКJkhIHM J;1AmR-3e+i 3^{ Eb;;y=" F3Fx ]V1+j?s9I~ڴsCXH6{aTbOA&eMpa[lf':Q/Ʀ tJ斯 jj5>PkK8 :~Hɵ>8z!W٫c00z8˱hғ/OR&49Kd|BBc*oʪI ѝ uCvj\mzuh4CFۉ脴A.7jǬ%8>'l34ffmRgmռl ˫z\)źjas)fM;֤Zw|<6;N\ 4mF m-6ԅ͏$YoxZ4ckt7oڔF/ĶPnofݖe_d“AV0!2oCi>ׄkwxi> z뽮]~"=`K{w>C/&#g^N]\?dr~έMaԻ0_NݔL|1R8?_o6ol4|\N6m\,v9B.&E(>]lOȜg}q{[j|V!sˠ?*Π 9qË嫉w۲kGlEeK u[1 i}(\iuOŇb80aFk&kP 9{mR07yqOW2@wnڻ)[ޓ ZF|'ɺ{r㗋fM!ھ[(~n}C)wxelGG/Ad~V^O C͹8?ys]_v׵_8ծ߹[W*Wt+;4 мIUHY÷:_NS파n6S.|jLޓ-DtP~-q׮Ev'wGݮqzPc8T k/MShb>o=RpE2|< 1vb1eY*f5E(р22|Z֛Ƴ{gxhJR|C ͭSOJ݆p. d;KW;Fj2OT:(V,<ZtᯖoɇDS"[]&<'6 i텡S(27w4z^O\]ԶmIm1mG衕f*FVŠ 9 a~6MyG8Yַ6zGv6t9Pxmk;KnMe<m&,qcCu߫Pbvgc?06l~}QÒ@d;{裯a@ҋmQc]UU&Q^QrNyFԔc*wE.4gnsoIiW1}lPՊcNfl:k3-k֘x˖*GSzJ1e[5<$EUIlmn̓4Xk2 0$17<県!ӎ0.ܫpШf24 Q#c5 /G -qذMxa?u$EKDt Dd(7M~Ǵ?krk(9C-z>3$g8,L!r#T@_nD-Ī(r(es(%(1ikrDéxa&,JOOhWLd~Q-Xx۟)KV},Vh<(A^j/ YƉKQn:Qٖʹ| ?I)O9^Yo2Vj pƖRstJg"m=M+Wb%fuZEXd[̶qU,ב5{tޠۉc1kS!LVvnF$(UEBxfTo:^L]o ~$I5̫k4+|c A !;tr|lE'lL &sW:$W9z*V׎O'y^p{N\/y(gSu)ZrGW 6E''uur49FcЋIɀ ۉ!3 'M$768#c;Q~ lvF@1F!y.pLjxO/u~OW8DD0JPMp7 6x()Ը+m5Yp yz JxgP]qExsJ-HPǼ오S%#9/%?FcBMe&Tөr%~mqZzx+j/ lAu Ou^/ 2[=dx K"ŋVrS)]d kٴFbiT?[%&fd  0mbi.9@ScB9rZfg M9l䝚mޜxw5fCm);9D TU.omU;HYBe MnH5z*Jnu[gDc0ӈ"ZJÚ$1僄FXc&zG3ѱr3]}h'Y)9e2«HIӯdM<8.SWqf ?d'5*7v:֠ikE25#6v,8ΕWWS9?+ }R(<4X==oMz « طߞcR PhWuAi-0oӌ#ɱI)wA x;-鵷!Xu]tҭ=?:M4][fB܀]"edUFQwkgZeKMZ>Q ;Uj/e qdOH*J9_9DkH ¤`+$BeyfpF@.NsUvh֓ QzR {Oiﯣg^ƏQQ2-hb`pݑ6t+vqw h3dЇwc$epZy[ֽ11鸺\ݶvfˢu*c:V6zxZ>VU':䒊ͬNb \NJ2~FtE;:(?v3wCԌT L;9+f~ u9KA M,2]bW #Adsj_[6\-iV fߣ ^fJ~{A| &?1 jYO|HMTĊǧOY wwCSUW4O7RifyҒxk N}ZAH*N76J2ޝ-9toM9HYV X<$]]=O{$h~CK}ctm5 ;N:;vұm۶m۶m'۶Y<g~5jߚZ\sX)nxo{ze},I9JB(3ZGÇz.C>1V%d|Lk+}w ig.t؟po0tSUVߐRAq~ƆDݰ |ߟ>I>P7/عB:-g.)?eDzxY@:( ,p ߲+D`C,L\WSm`QJ=DMU h85ɒR8Nz(;υAlg~чyZӹ%NTˑ9t˰*,#sLW^1Gd e=G/}CB?gw vvHA_/ ~ lbU}sF~R^ZQUqS'O2?K܍ Ķ)`[Pt( &aD4-ީ)wKbfWr1ICf㻄%wʚDlfc ]n7e ̎<gѶ.k]HP t%/@@ R-Z-5{K6 oлj+B`ԕ#}UKskLT{ #HfPh6?AW~1I'ّw]hN>D)Ӕ2c[gˠ0Bd!ognӭNvM3+-zKlEFLjǑYu.i_N w]sr9Ge R8쯤s x+?]l+mDIH-ZiwZphǘm2&#*q4anD(.{`aPWmFywu`͇,0'WwѤ{'?AXٞ81X'$QN.ߴ=,; w|;SQwp_#t8lDDMa ;NpiRО ͿԒ0DdMrh8=Ώ5 @1F kJ؉Jj9gtw@kUIqS]Q$sRkov7@)rFAiussnm'K`xN]+sƜN*w]D/ q%Wt^vR]wRV(!@~3 e!gR~pwh$ 4,.į a掦C^=%{͝Qd*UgҖ9pOc]t:%ȚoKJ|)ˋW$3GaWZ^f]cRL`6Mk'&gq-M9Ο$`hax.KZH4}ڼUcu.[eO)X6Yi9Q7}J:`8gEA(ŎY4!ׁj^*aQ|M*#> ?m [O4+;ջq1_*.IYZc%O"eIyHO˼܋l< mrPUmd~KxDFpvdMN*^yZPg^Cs۶@>jԞa1EQώn7uܰD֖;]J#zYo(v^4(Ecgnib G/=|ʣ#9?uvoS FaY]ɺE7؇k Gzq ,`?9<IغEvlFa*>'wd+%Y gr*ٹ6W17C߁"wB [iJSch4z}e%D;n'|?Y[ٴ~1>344倱3. $3^ eβڸ !AMƀIW!`JBAk.EF0-4GtS-u݇5n1; W:m7);.GxOOr&aoB(sӘuM,BPsq,pIo48;H8}ܢy2,y\q D(lZӴ|l\PN?4v=v1[l@x|y-Ig}h¶=|{`}v E0n "9$,Wb^51K? bqhz2 ʀ(%_tqULTD-SuLu6LD\>w]tl.u7 E470GUM}ATekwboJ¼x0DkSb&\Rꩂﱦ)w"MA@~mpJxl'R A_-˅6Bʿ֙&LsMp䑔k"'M*jnخD<宠_gBwzӵ^ w_ T1UhRaIw;0\g5z  2l^3j0$B0YGK}[_'w/WjmB;S3Z7סe>?2 6չybF ,]މn| +uiJ>]9~?k0-H/T­L[˘pR5[*b&#]r+,Ib"RS(mp=U{,O̅HkMFf??L* D7RPJm!ԕH?^T?+72קK c9m^I5)(W«y,ɓ[m{wID!Ɓ<)4vԷ(mh64=;i{4I?dH?謴J&Quf׼D^$A_^wj^t?)z= Ĭ9@3Hψ_|b l+D ̉dUd,j:M'y7~eͮ_F>3-ǑyK-#7$ iNKp/WĸSaTV0w N8Ej\̷"t ^PvfJ{ Z,mF7R4_aY.<ݹր]"!K3[ȺM$&mcepW(u-o[V#nl?Aչ@l.J,3|I;F،&4 mUTSfE[;InI~[ ٿP&cFMUu] ^Typ#S u"(Xč>]!0_mYaǧ\%cO.9DX L\7N9q.с MZ%n"qӂ%c/ ,44\<3Cb౜(! SY&N4C K|>! SJz`ADMhT9lߏil.[ @MCO!$:dT2VmEO2$ kqACoz\푏X+r&R+֮fte-h3by)@jT1yBYZZ\U#^<$ m4ByY/^,!$Wv;V 㗘 ,Teu  hT\+Ӗ4Rf}Zi!" DlQYdbz]uSꅩ#u\Zb2Û\= I8_ WT9$h,6:C%O#р(xIɔh:xvT}OEIE&QgΚ#mxe/2ZEOQENP;!+U' n%jKXwSBIg'= GلJ-^=?l&QnN*q.hS79HX6#DY>ٺ%)Ltav|!릈{Ikpv̛ܾBpW mʥ㓏'Yk68^rNq*x*vtoCjI<248Il]T+Mgz(#p.ESxٻ-N,;cL5e, uU$6I>>~F!MRCjɎFe-DWS(,SLg\^W,@cbѲ2AX vҿ;#2=uu)3Vr`Qchwh8npv=ҒrZR 4+ v1#T`b @R] #XIX>y|^6A lK[1e@ 1Sd5NsX޼]S1W`P.(q^sd?nox7َ gg$ҌNEOc3S4', 879˝J,̓鎻AI9Υ/"ddfRYx\B@%֟w8fsy' ?_}<+v"{IEg-u^ iZ)'.^ -?] ʳwG8+ե|+}8!X;w;h?L䧹]='ba=hp6̩BY1t9ũaծH~ # 2`kb)IPVq VxxBqKvlhTE1 ?ϫh,E;,[E~l[697 tHuM5VV99RxtEZ;Fҧe,^ fpPQ~TƆkMn.Gd᣹RDVIgz2l6wָfs<~q 鲋5emʍȦ_#ҋg8EG,cBIJW4gLnn8$`K&H5VL\=)dyAۘwMjw笞95[ ꄳHH6s uϗzֱ.Cэ}z y/QY^]J΅ƅ͑?z& o$O a$wlu(@v\WXOHDJt6(͝sv/ǘ2@ū* yUB| ٟ2--j$\Q"dֺ -s(;pxaK9++./#a[3f&&NaF8ay%ta8xMk[[ZM[_>c!9[/*W]ps O jYp鸽3e\'fXͼA+ewVfR/һd L0HIm^UEl)?;T!sj)- UFdf+߇xd.OSߺܦݹh7+=_W!6;*?׎0 1DgP[-0aU&(SK 5_9HW8I0v紀9[ J>v1 ]|'u|eSNxF|G`,vL@Ӆ.f B /~?z]k7}ľzGx_lJR%܆R*f^hsWU1+@p-?4(%\zBo`(5UZ8HWvU #Nkt+hcggyiMkt'(*GLh@컱 \r~trZrxwJ®䋀Wn *;34ZRebX_y@׸an}Cg TԖH.U9!&v/̤K᧊-]~?`l=bOmń-"f)*8DBlZjpSӓWF(4hS?{ _S >Ęck7d2d%M#tB#ibyL**^=>$EVeThۛ3Y)-F EQ!xPXE5ӅRp'?3ub'eXmMdWKv ~,cl'_s&~V0-Y^6-T*'Ϭ97K$ 渇}t~ɳ,j NU61շ"72eUċ#9BˬѢjgc^4p۰Z ljNeqpfWWF%9@42}H޿Ybw/5x%A/Y+޻DDx2d~i'Oy eŹ؃1 b&"@jcJOB2Op⥏L':? 6-:@^mM, WK{4>Y<& &+_ žk2E&zH=n=+/iMs MNU ez rp Ӷo6|HU_ 9/m\\eIj_w3OA*Gn*gs֙>2N@zA~1FZhf /JXc_q A?}wW 3M"8>g{_;ړvȣRZ9Dž:i8]R.vdV{E,8FlV? 9fD^Z&"ճفQ|2\9! vy01USx\*b G ЎVsk.Oido`O:ř;̺q^ՐYt /ņ7}=hїoF9{5I }j6 ]9T>(YRs?"ي;_16Wʃ: '$a0U}=Z c PpYȁt;O 8s=uoڸk4;v\v6ӭ6:~YUNWм~&ys Y8[*w[!t+ġ=~~F:!a uL!-0Anfܩcӟiir9'g:1Ħ=mCXo 7YwH>CMp WK5ٻ31v\ZN 5-顰 FoICsJҚS#jdZ(2OrwOv4~SfN-;Cg2I*Nڲ u ;͟Ϝ|7H*Lp 8,n4Gǃ~46{H̚!' ~ xig_ǟ;[%lQo_CהrUo]Wd2714 [5h*ڿ%"j1 vJ@im}qV͉zT$o/TQ^9sqmB-lG)bs/]mUyfTj\K U4?b]w^dڦwLC?Ax,Ja;X'si>y0#okZu#t$o$AL҄}dژ0\PBZ? |WڂMlZ<=i ulmY؋խƾW䆌NMǂ(^ ==-8T,=1 W dt[8HLfK@ % mG 0FΠՍR!Ks\~4P-&AJU*Khxn9UuE@{w:.jj5b1>LTߋd iNVM%M 5*f+r޻ `l L1ҩ>Eͣ"r":soѧ9 a31D7ȑcrdv}\K?>gse|[V9*f;KOjn >kE'9#]l Kz˪,e=c+udSūO,*DEFr FeL'5Tbg=;ۙfYXLf=/b^ % -YGdRHLUeHg >kF8i#oj{$JxI7sl?^"N^LV(IX{nmWjW|i܎3 ITv]>6>U ADm~#DM nr68 \S40/o(-DXq3]+9 _`ab;Yg~^HFs~!ĪSyǫ>iLQW͢f;.ߩfm>ݝLpWwOyVxVW ҇mDooރ? &;lپZʕ5mִeti*қp¤q H A~_Ҷ1hEP/-5G*I ҈Ŏ>X7oE7ltٻ2` QFٲY\]+2$[o?kk{*1O{53^TA?DtxVjEIPw;*%ѿnV_TȊIXV;eTxYm[fj ʹí?C_b Mz-A.ZUf}3c ԧ0(]r?ؗ2Sni JkoQ %v`JlGwa`:!2 q,˫h6a3R `7HԷo1M8]rhIkFIЗbΤ jȘE?%Q'\ ;Ft\fz<\T.d-g/UKrcaNxA OhŃ'o%tm*y+>/Uggየcfq9(^7uP~-Fz[^^/5 r" aMYǽ|3 g+=ҵTz<-XY-Pz e3}^ uࢍѴIB͂W%|ycTnѽ,(' SII~5ƪ]뫳`xUO2s`>#>VkRHL~ "Q7TǕJgNk|^TvΝч-B_c,6PX>L"i*0|pQt:3"b )Qԅ9ekZaY}{6Q̗\εzε{[if t:[Ux_rL{9zc]|3'S.Z꞉="T<ݿ&-l qy%VNQHw+Prlo fh ?ǿål$τRv> |*s6>IO[i>2񾧂|DX 7d;GId1s/Qbb01y-k->b0_zcⓨyG\CC"X)K#qnrsW&rЄ}C kǒ#+:nPɲ/zFto 8ٜgt}BdNVQk>ۛ+@/ Gmug٣w۠U[Vkʐ]8ݝ;Re8';%]+|\p9F5tẄ}0{*Ɓy&R=*TAMnޫK\ɡvOpD~M#a$C@ۧ:84hi:a ̣ G.s7O)o ]>]o#\=чN" krwqI!Oo_ =i?S> Py/rQ<^XZ?YZG t\uC_oGG'տqH#*t:'c nNog,SoZsU2=3—&C/|NWە(bsY3{m`&1a<+KVߝJu*=J_dKjPM,huDAm uApNKjN:, Wr3Fm?)g/;咕)zR6bTrƱ^r.uW)ճ鏵3'艚i {&Eg#L< nE4F[1ѾEe)?q^0T& z: vĹ(!qvɆCU/@\"mKeǐqFI A0 )IG/FcA Ků\j5Cn&`Q8c/۞ t^ ږiTqIJ#t;>Ju4%(9k2JHD.\b1Z At$\v~ ~ c h.i6iboF.?y͊UO 7,S07Rk Or7Sq޺^RI} jͱzZ>_I?xMP ? Jg3+0wEN{߮ފY=w 2KmfAߪJıSFv7 9&zLBğaVbit(<[ 1]g]q׍.gi&a]6 dB%UW/f%{?B: k_M7X+P3v\ zPeT]H֠p*z] ̕_Ii6~J&9Fd*U x3uLf'WG.۾`EʡR#5Or`}1k%DD\xVUΊD~\cc [e%41Fb=_|/Lt~A6#\sq}WʜLher`U;{D,&8ge{KLL%0k^XWlC=Kkc? CSBRrSyS#MPw n®}|L߫.٬ƾ6'K7nV{;>^RUrYe}}0d>t0m\gv-,7@N5s]q#9Da|U{kUYWG?U<œq$@&٢GZ exGH33x]ρ"i(̉J]~TET_a s`Sld^76-漞ű\1Sq?W̍5ݾ Yn(hSA0d0kLcmձ& ZI6rg$'6Ʒ]Oa̻!;6`!TN@+H"}R pco͓^xm2tf"XHCyH={Ү ?ΖәrRa, ,4~G5}JʤmI#\ "KK6C~%y3 ߪMB=u?̫ݽt5?Hl]ntVҀ LP-t͵_T|0pnoi>/^UM9Os׽z:zŅ yd-Iշ(N!a]\oP=MMo9=r'S߷P9lWqL{Jkb볐W Ȝ+ `'R[,$\ֻz$_z73PbvgI^|ˍ(Ix  ]{!p} 5%u' x(+pp!th*=c3,?*9R[S-Ik}dd鷂Be? @XROo_N/;ܷq|g0-U=(5jIRU3 8᧾Bχh X1BnEC}A6}u\!VMk㎛?|]R},j-rR7lrSWD? *XIO) v˭h8&l[BfCs^f}buW}UGZ27<˯zL/*'l) ^خJAM {4Yr.@!/3:%ʜ.Ͻjli|)fo,+R۩[2Rd L?*5$~-~PQ80?7^HxLiP]_v)>+L`xB nS| o?ކ_4|O3&%ShJXkp{^:GA]jGtҸ3dw!ڡsHGgV/pa%EnO^ !#gFzڤm]13}_u%/յ攱K={~& bw/^\W\(F mCMN]x(" Γ5}--4)p8ٮ*㰽G(j X,uwLg6F aq^: UѲuDnC>LuYyGQcq!dT|m z ƹ)hJbS53?Ӕ匹kjq~v/u|:𨢅,.mݒjQ>pk!'9XLbAS QKPk\u}!hS RP$J7.s2Rp@I)@*! o$";PV)n)gt<, a{J{I``ˁ|x]|KnDwκ[·b!raԭƫu(.aHC(:A@/GKΨ[fV׊"W[-cX^f2 n8ۢ z*TvZhCNY hf.^Ւhf >g$DoBH:*/9 *A*ڬssw[]}b-qnUR_|meU}y}&)>"P!{x㣥P6R{?Ӻ p ӊ6ss=K vDUGӗ:cwVmC54 ^َq΀#^֡tI4И,BMםD;._R~8 EQk_ `  ')CjJ.bǢ[\h/-lTdt1vGK c)a'4}:O y:W7lKob+A"McFୌ::=YbsEFpV:%+oưQ72 @20v"o#|yyb:WB\jXc|/-{lЏbm(4f5r`ct,Fւx%Tc$*ćc~p^bᓳh_P3.r;/6張XbZ%g~N(|{=i6-)\t|"v)xR|_FR@4Vpo2{W<6W%)?+}v:3[R *v9cs2YC"2S{.IVX|$j) e)Bxa^ەyyVo`k 5c9m&)ȼ?[m$LFqB7}{僲~M{' 8_Lz^)ZC=V\ARrEo ; wh _-*㿷e ɜ0* Ɂ!U(EcG3gjU}Lc2ExkHnѝd0/ZOPORy(c%nߚnhs=:)}ةp;]vb%3,p%+ H5lɝWƲv+͝u\Ճ47eh$.z̥UXAom {XNЄhnm`I55{N{B/wA/vu~}46jbʿ'qQV|` ]rIuu&XN Dec;@o+ uNwYJ# yџG7>[σ+u}C>D:$i.o9*dN҃/fg_u+$G9|㦬V\9 Gģ{[?yL" q N>1\T`/OnWA:'WiقkK{!p.yDvTB O(D9ZiږV6H9>Lj a9bVז[QNZF)񱃋UnYMu7k }";S[GZ>[Lnh+;3d ~!)'Hס֚ W[ΓMnnMhI:@4n?o!dvRYgV S"w Y>3ēa6Wj-M`xR|xvO7e_9w6t|3K~|\DxLVߠH$߁hoV,N*_du_Frm[xJ\]d¦>1 lKךU#@n.Owf%ljBks7_ fFCzʽT^]sca%bƫD/5(-~Ԓc Ų1n.Cӳ].>N`Iid 9q|CLB?SV=¼вrf6LF[f"?|slݐY'$pdfp9sa5Y>U}_uroxdñ$+a|E @]s} G@jCy'1`*J<>SKj+\5; uߜaPD ?_}eUǰt3&1ϢW"7bZEϏ{۝=U{OА|X O֠Py=w2!-Z@xf6 W~b5fE  v{pmڥ։YNi=OCKMƊNmvP|^O! t8祲fMU,th^B%Gdv ipn`wiZPCĀzG4qbpDVU#hĭw&[ی2(`ŲlA2z`\.'JBhhӇ;]9!2 C#p푻Qx s=zsXfYcPW;Jjx`)- ݂?5=m2xqW^0|ߊ{Z?SﯷBy;b\@Xw,̯ԂLM-_ lMJ:{o=jqS1􏌃}YE&fF=ʽNP9G9|Q)slr?G &xKBGkQ"M|2J>oV2ksl^Nx.lx~D " $(Lt%X1lŃM -Եk㵠4bSN PfRZ $Z=|[ݩep-f<}G%=4IMFQ4qATItɡ} 6_P/w <8=gy"?Vś \_T/ AkRt}\mjqEdzAT!V|߯YjQSb r8|;T}sABF3[` R݃+Q |qdl4[dOIalAp^Y~v3:OPFA;xGq1hiopt)H 5VϣÌګ}T #w(15 ,1Z_6T"NNV9hGtK?,uH+Bd欦CF.\b<'/cUYl%54ECC^ ut݁۷['Xw's`g8uT!>tqtı4%'GhNz+r?G+oOm;R{sr{G ,4C\aygC| nM=cG-$#iX~{:`?ߐ67PM~U/l5~踺^ \YD3q4\Myy+:Y޳|/#S4ҕ7,s}W’3Ϊϋs (h]QїS>[² S~Ǘ.&+K8'gΛ(X=\){X3XYzF&;QѕXC{N2˚E }gTs^TzQgv]9Gi5>E5ojX UUǭt!bNɠ}w=r:!yQ˵fBW<كݺHѻƾŧ9`%1sJwA k7ȭk,+DojݝF$ǴWumT!g[* ].?q9h(J/JZ¯4v3mg ebq,-uظ ٬Zྃ1Ot0jؖъbSoSK)J_q6f W]H(P(m(-R!;1[o[4{tc]&gNhʃ*;+ LkNV\3^F<;x! @.V5\R6qt-+7_tx=i u] =2[hu9On8SWh'ۘ˲'4\8eDTt}/6>ea#$   ˌ)ЩaFߟRMC csY]'|}3\hДj5<_lA??^*ⶒ =A}u{v=7lå[C̍vΡ+f+;9{ G~}g7Cp8,^~V9{M 9^w^҃7s,moܬ[zf+_ޜKhHotrA(Uft:2A4/(k]Zt piYA;֯T֋:VȚXIFQG $P(&-{6U.UD>YnStn{)5CxQ~ [UIۨWA kAkvjR9`s Č}~VbOI2_L*וJRm>Q2YL4Mz>s纶L#X_]<|wGB9<|bijr?Ҳim'f:krZ+b4vnVNVAȍ}o.} &7ϧeI v! 3 N=vi(?Nz)I9ỡ@6UڡL?fۃNjbs<ç9dpD"zd(.}r}:zd>l3eW@qɕ۾ܮQ/ފ @EgU`^&jG~v7ON"olᲂ91${W; |xlK3y^Bˊ؀̳O.Iv4CdP'gc¹> Tde d[84j# KӖDwshHbx.nq%xmtJX.ZP_GѢǭóuk׭s,;&;)SMw9-ZÛc)C֭K-'QˡVPfwC^塼Wxia$&mnTHYdHt}Ї Ct$ŀ!_k)ɩ`ƆXLrQFS[KIJ,M/\Grȴ8Y6&p99rYމ,ҼS9vVU2&G = ΣӷDܻ, #NW$WK ,N+߭6DvJqV[YY⢁{enNwwuĵ0Aa/[vbcgpF]w$"s-m-~f0F';濸2: 4Լia×m ѻKp̊h\T -@h/go~MbRj||~ 1?}_.f0 ,sz6nvmo^l^~cg KXWnqRSElSg b6`PR?oh9qv",.uZ#Maс&Gr$ۆ<{%3_{n cI]޻@zz#M녈U}泐EAIU}.AcF7~́i?jFetl"gCfA,-W`M( L椛P7z]F%c" O+JFgd-)Y|. PC{ܥ"ʾ=sk'sSVXOHNib4@C.ojߐsk#a"""sU vR`h6qo ٩ҜxbvB[Wcem-6[OXx;E֥+Hٰd~A!iɩ%i\;я'uR,dHHlimw- - BRQ{n2?gwV'U>;]a]5 0HZgFVbUGPOoo|H: ^.L+gMCWwz@rpv>ǒ%{[3[W?tHO,߯w6>_u!z￿+kŊ{JcG|+HIq( +V~yUV5.Ϡ80vBoҾ"N:!U3Ÿ#l`g+kjbpjO>|MD + L~?u$j~\s0u3'h#"EuXѡTfsg6>Ŝl'>p-[,@ܒGEruCty\纥T9 |*h=z1G"+"U0L0M>nhà["GƲo&!mdt i'[׍:ݖr;]0l;?1ak8r;nI_[$kl5b\~ '쵐2K\ ^󖺘)3Ӄxh=dѿ_)v,@m 2bՃLx {s)3S/R`^*֠x2"%,h$'(`=RGŷ.HC%z4,ar5Y$ōIbp&aO^I$4`'q8׃Mj1s>@gJU9' A_~r.5LOTP0\)@[t@{:25޹Fi{U?]25U9a'F[PK0mƭ?],\v)W5^EРfp]Ń+wMRڢKh |LLrꙦ50Mwu::{mYaF{֐+ J L`$XRO7Iz"kXo:%sq'Dj9z͙@ cY&` mfW{ߡLAߺY|ow'+rP4Fb> Y[9ىam=iNc5[s5_g}!?",,q2'm!'+sD.oPVZ^ܛۆg*wv[9M!~ DU7jݯ&$5=F.<Ō+\ab^0s܌垟24H xYa,"z̶ GߎLb%uvyʎTql.mN&MHR[Bq ]GS,ݾ׵@__ML[Ʃm5oL=3Y4\>eW_[+.Zں@ "$w!f)ˊ$_0?mMI=QI91)ȭbI^1^>e_1gtKH"+RN^׀p2}kXܡA^HƸE#ֽ;y:n3W)W?\ӘlQݮ}38C.C5EMN]+h{,L@h!*2_]Py1FWPx5“5л#ϲ|n7sKֿm'˯@_͝C7ȃv2&*ctyՆtٟo z }!>|\F]F<\EJ`<*.:l̊,<<% Ji4qh`L.޲VЮ ^Ctj H}PQ+R>!(C_7{F=*^h2-c\q%gu>pp ]Yƨ=k^pdюAw¢\Eciȯw!fҎEk͍JiYZ)У 4.Qu8֘*/ ¯ҝo暌꘺!?RdöE"S򺩴}DMpޗr"r|p9Fc/lar3qcxomf1<<ɂ'dlM |j4k13ockZ?p m XtNR2^"Hԇn7b`:m"E&t45wZ_O(*Ԙp|b$p6&抎}N]Jꭩu شm}"#.?Od>sd:aMB_%F'SH  2D;=&,3CX$chv$.n1 K]z+*ۋ]K+%w6um+kW P k>xm >M>=k4kyLgP0@9;Ob\3]u(!qQtڢ\bSC =_r.ǟԜ^lC#kO;ΐ> &гCvDs:#0΂K>$y#G򽭬9dMUͭ)*O-+ J'kã^@I׏p[F'}8lHcjHv9;tpE|~WBRZG B')#<vR~CKm{ݳ;ձm۶mul3ضmIǶ9c'36^k׋q\@:Ϊq֧p9Ĵ Z"/&&<:I/(fr≬P-ePu䄄?|Ԉᱼ2Or|=W!B i]X:+.i[k5E Pܑv \iCMB+td; *Cg*Z|]a*9OI&XUKW=c9zn~)=Q,![w+r/=EGt^XHb)]G^ιȘB1iu"Tim8"[ͩ]C UiˠYxom"0QVbBFv_:IB<ҏ979vh}5yB Xn;3!ߕėV{Pf*0;.v$Zy ^w">sFvDd8#͵9C̷b'Kx?LL>h[ 'cPHxk/,8>bVܬS^rUQǂI7zXbYM ?F=:>vwUl4,=.rv[^m[]Ix|5Ά _KT!]s>{:uswU u麓G.dٔӅI߿'Q󅂀B5B?3s#9,5_ \4\Ͼ9 Yo7-}@-ΚN+ PG?CcWr; +XAWY uA_Ǘs;zaNXfhU/ÜaV`(Y@Vxكpmޖx'[Ɯ~R 龕iLt9N`'W7a>qr͍aFW^mwT O/ZK-CJ[ߠ `c 7+`273:neuM*FOZ2ήA]t{`W[WƷK3ZY!J^ݧb)\Slytxg O*`k,FzD!3Y?>6V\vm=gf=OtK =sm |#jE'jmPJIҎsIu^~兵%w%[|)%(7M5"z²#]dݬكk]ٌ7/^'e.*lS{<vZ')jW3!Aq['m^V:FOr0vs6-er63˹ K՗@[Y~)tY`1!&;RA=`/eRC:蝴1{t>e5~W\Sz;)C9 [?zљjDL,M>9xVĞh9sf0 Cȭ29p*|3x7:);Ľk$J+8^.?Too|!^twW]W}ZO{T~A1V]m~QiPNeHu\P~܇?W<|Wl7Xz MHCyINJ\Ӕ[ֵ%Z+OyTunGpG-vʉ[6v$LMȥN~/X.ݩgV5+e\VRTI}s-v ZNlxcgQgc ҿbS-ﵑU&QT<.@kyP|fOG:phvMu%H?*ƒ"=r,c/k}]UϿ~Entyp.y+˜3 btVWڵ[O(FalT ǮQv~})W/C"i;Pc鷺9EiU/ԯ}/`_#"­mq۞*ͭŨ+_yK"Tf 2Lv+k'"8fSr8VZ#,bs;+O$Vv zCQny嗣-$ lQ0:g4UÇng\Q O/w1F~w7'w|ocFwπNZ }*;oΘߥ4[o&m/C`>, + yrsRg\rUSgxCN9-3gIVt[]HI پ0M;,Ujl#fLP07>W5M7̀rNX͢Cw{&sbauܦKbS9v`XxܰE>9p RxULu\{h^Icٔvs$tB…0>CdTxg7 @U7'_VQM9AGtqʉ(a)j؏Ͻ2\{pn=6jV={S;{N[^|^L8-> N姩~es+<˴crM>դU"8=C^;.o'8i ]`r VAWY$,njQ K=ǽ zZ-eEa+{1@g4ϥ}r3D+5ܘ0k{B8g6=MɭHu3U/ׇ®gn%Qc'\;\yV[Bi?${~.PlV70h܌ge^^gK9kcȸL婴mC! 3H.M416Sdc &c Y.~mo?PxhQ!s4F;8 5KCE' o 5")|]*0<(["HC ^ ,56h[+Ȍ 겄Ivu^d?kxbDs t~Ωgg>+_ T ;F7n DFDXc.cڠ͸ZSa0҂ _0Be6EȀ=p8yȣN2޿ 3|bp}w=*ULpo{ucQd@*(Pz";|`C@cɕ2 5OO& Mn9U O֎7',Un!<O-7p]ym)gXaкڳaxkW[K:;!޼:vd?a)y;_U,H5zcucǃـ=kki3~:𗅆%"b٪B]*V( -4ưh<(kƬĿeX3R!za2>3] /|xJ/z7Dfm43װ0`}ޫ~e!اw(BNGf:86&sb=hT֖hs Az|@gS-߬|KPӍ^F_٦24(iWC fk>̈́Z6q.?}hbt+#Ȁ1dH1 p_J+06K{cۆ*՞7ߝ?`uy<s-X)~ۺGajItVgonH"Erl4])y9_z*`[S-negimq i(Z >^?g>1]rt8#iU4L6;VG=Xce }GU=Sueϛ' #_:띿I˂Ta@EybrB{;K@ُMmSԧ :;Vk&, A_Vf.ԯu{džS7oͦٓ\+WGÅs{TKx[RC|W-ϸC!G_=yͱ7$U;gn%߬$nuVp}s#DɼU$/T䱷%1'vvބrP۝uy%@( (Z_q؈,$qLtP4_c쉶hh3!B}TƂS`pȣ{Lw6pjAQ J+Zs$;ٴ.Y [Ga賏!䣿tn/i*!$d{XB~Y/ix(u9,'Ao3Q{)0"oxxIlC=xb8\횗K<|"7d4t-x^ds#b]"$hl( ɞC+1'E$l)h!YPҰxBG rj}ٳ4,EB-+!Uq-mj.C?cN̖(bF1r"g Dv\U ]0T4ӑv (.3$u4E#: ZCc=›#Jޟ1Sc/O}8|*t̅ dDx|X_5T_"ޢ_/\IsǍ1}_TK/n nrY$ "Krޙj%4dOs{_}IqgLC=U؂e6!,J!{v5$=V>7^zdEG)k(U LbFiܸo zᯈZvs?#vv, WP3GI2Mu}@X(eP 9K7!.z5=;wtL?;WTP{:5wƈgNnڰ^4%e"9;ƷD>xQ` &0ii%rsFPY{:X Ӧuz'7W9Ro=cHl,_xԽJӡ\`  M 0ky^ Wp>c׭\"e´.{wd#2jg&찐w5 |A؈l!M~}h=zd>J9^.^IٴfUY\drxI\"ɱ?i=W4rBzY95>;ix88*ͽj'Bf?Ëq! M :${!#ؓMS6/B'fޓH+6ZP:tTc9̺`8>}+[ƛ bjx)w}ϡZ-FTWȜ -ڛRFݛ9p$Bӿ]٢8Gnq=]4d܆&x]S.֢MWޔeڏ|^JGɆ&9@3?νv)Y4oZC>C7%tr&O_q#jF^c9 1C|SjAf̊GsF |񽬠:o1 |Z=G4!W';`s6 w<~Qȥș#ЂY} Ob> Wi~~b <|2|Q86 Wꪞ"KST]X"NV#=ť"N;F^0Itǁg1S}ۍ+ y%vhd+О!*5*m;`  CEOڴwx!3 4ٴ}EYyjI)^ձN c9~j.*zʧ [Ky&lfj'ޝS<> ?FebA9%#Qz3sql[~,+H?? c4[~qa"t6fO%>eNRu1JU"(cqCZ#ǓN`5 Ѡ@Iao%(2oKay S3~ MgѪ$\[Ē! (ԓOD}Fհ=u9[濤4+a| /D]@KٽviTїj2[;5I}ݿ s׋AeW} R1'OM5,affLЯ^G|4x[Vt3yHkM{2}w'!e.ݫmscm|! ԗ=`3IuJ6C{~^s&ܵr֯1GWa+)ӛc" s◯GEQP,9[6| g[/-50U-e?zۭ73qm ?t0_Ł-A[ub]gGǐ-{4L5">L^V3DG[}&lnEلFFjX[h[]w #ݞb4ǐ VڼX+,%ijv@EB–aL'˵7+"^ Bxi%;ꍍG&Af,)zZ' ?qpߦÄC9:~Mx]{Dq1dinu3" Ac=+;g V'PW&dcNEb5mDe{~(uQ̒_*'`xB3Œ8*Ty6u.itB@ .DGi1_"G^C@}IgQ˯U>/y <`߽SY-kYmauCf ՌcrAlW_*hPI܉ ?؟<YA %!uņG LJhPM6+\r<`(-.kY?'wz~ldOPG'KfDrH_!up")yOP;?GҰ͌MhɤwjSV[t~ wS皬)s8@Bfki&WqW},!rSjX,!&⽫tcɛ ꬁ +F?dA+_:Wk}DchKM|p|bAH~$Y c.pQ.{q}6=}#j7}*]{Q&!kS#}N+oaăVAd  |`,M X^zW(Wqn/zjHF<KOM,o~h؝\r+u+7m㒪e;I bΨڕr_fzfUV;Gt="N:*QX& d,J \)HYe0R:&=>[q({`7f߂|*5ޔrWA& ̱g'rB NE3 >yus00}{npxfhpq~i0t\N@u]o]u.ٸ}ybUy|qEoa"Z52m1ic8 z3Rb 3xGk<h:o2ٮP>0k1^Xm,nXMH&2+ӮĊTR|B_s?e\b5,?!>P:ʷ| K\&1Vpή}P+?T3ltN黋d`ԣ$BGTOJO$feZ`e \+1PS =[0tzӅq< h]9'@j\Ϙ"35}!ۣOݽW2z~g? 5~Ƶmv3Ԧ=ܕ` ()":Ο[w C[d,O?| L~ّs,t{mS\sM{iR]X|_禚B9p%[%)1w9wX`mَ v7喁E#6AL;#^ORRa:ݡ+ZB[{JS=1m_!XEr?~~=4-a~p'-j2~9rWj"g,R 04r6F+3[Rf#@[MKm]haZT&FYT!PyBm霄}ɊT6L@4?fT7rnUKbr "p'W2ϛdp2׋w2Fd+K]\)8Ju BmKY_N(i=ylwHٔEU`^ٞzDl}捓Vi־Hf- 1Bnq ch@Qm{>l])0 5z fDX/Յ4i=QT}h,SFmԆZA@0l!1mfig?18*òW "A[;;hsZ.@18W 1sȺ7N/,}dhWӶ"To% f"FD-'>"͉_?7o1>EOhh__VL|?:7}V߳[NX{KBǗiF!_Ze4wO`U8Nۨt㇮H{w̑@[bIR=wF#}t#?@#MSojॐl:;vӸ2V+D/@'\x7'u9ty=HձA8'=w/C+iUȠ|> c%vc[l͎^dsvO`m/'5^rO" xQ!8b>B N{?>^Qi2@(Gt;?,4p6UJ8}rJvUGgq^Ak?p{mcҸfpXc>l/5D1$W!PG4iCs^,4g*W#o-h=slɻ=H56<ؖ{Y{,Tc#vkrLM=]Y]USuC1_r7$Č&M‰_} im5S˴wS:u6,5mB.Vvswڢٱ~Hglf)푈Gh |lB / f憴>~L9S Eގ[׍cu2z/}gKmW#Ԝ7.kJA| moCp0y%* J0cXzS/p<ޮp )X^yS^uE8=!B\_+V~+NeW#o$or.m<-U&'2fڳv)ѿ'ʟ>p~>@pb*װ8'Ŝ{uPJkك4m0\rԦY97/_;fI`פ CͽmԘqRSJ <<ޞBT ަ#Sz nuG-n gʯE֭33B|VIֹXj*/AeAqMDeBs4>3ûm/J傿Qɫ*:<Қݬi,n-~Ssg3r U}/wѢ5ZGj"ne|iWcF|9RJ(9OT\G;Y2@F <2^:rI6^?b"މnŘfp}ƚqzy:j~a Fu]Ecv7 Gф"2#kFƠ{QwGeB# 6}ATn"ɵ >w49wEfesn(ҡ xGdH\C` ;4@n/yChK]hw0Uk?tՈ 5nvZYCF$8 H < ;dٗg+zqL ww鷱: &RSKaolmS3]&Ϝ(еD>L^i 851a &:{tݩhGQ{rwTww?xq{RTpelNqL#0cݪL:R!lC"ӈ l豭8j#8>eb}wi΃K(Hǵf=/.'fs|?Iw+ljHo?%Ow=i/@Byшj}.FgN@I`c%HkT11[_2Q՞?˽v[cM❘c2q07ƭ]WQA޿PlX8=皕E}>yw3@Iky(/ֵ'GN,Dj^(>,L*zWLnͦq&8HKd7)ֱo9''w' iv)F 1X8Y:p͒!߻kY]c(Wl Cg$cII5Ym|wi~Xéć|nC s92J^ $\C7ƈv%5ISZ'8xq~7].w@؉!T, E^Aכlؑ^D9Fm~7Ģ=mgK88:+(o *+.|+:Ǫonk+.u 'ۙVEsՍ7ʸOѤk։t35ʓu=uzӂ~,n7 :Bm$z|D36%T򑵠˒ԥMQv )QyLFemxsBu<1Xb. &;p ^\fP瘌HD GAU՗vب|lգN} gRz< e(NJ ұ&1k-v\]̍[,6'r,N"J{uh8sM~bsb Ɔ;.[`:<tuj{ eԼ'ccl&BNBjxy뱦ėN{ym}N#I٬Kʹ0|BT[kxݎGb2$wX7>;ij#0||2Kgm=_'N#aʄ [7 'u]vmnԛx;LGQZoݖO1;ɞӲXwI?Q1itיFu0ϳ,1ڟ`0TM+WxB𧉨E& >B3.V?6?;QO͞Y=E>%HKՇ8"&g!K32wN>U8?Ⱋ6ڿM};,XSW+x^lIGPݕFzصTBȪ{֟҇\#U{ ɯpO!(}>Va ^ [ER|z漅OẆ~=_n=/i |Fi2'-5v.+*9_.ycgY#_:|{ LRtM*Ja(ӗ'mZ ]0^E^qɿ Ν RI-:ET8 ՁdsM3C@ʋDsYЗW]'jDJ7/U<6pAt׃cbԆ%y~< &^ٝ_[?rJj$"Ӫ~F8oE_ x߳[ʥ#c۫p@ONFخ!P;Q)t03Ac,\.DgC`dLJvi.T0CAYw>''{׻B_,/=,~9:ny{I]AfGpۜQKUs q`^PY2kή@, / lt :thVq,ERfأI =dthkJU5Hp#CTRnΚ*;yM;jFisbeSgXQTH9m&"+fWt?~y8QQaP=Ia@Sg>/xq.uS7e58kqzfW3дȷЄGo <$mZ'|jq&GOe9Th^7=nC麘oaxHK?]&tWH)McTGdG>0=1 ݴ #\.8-m}F҆U_';ÛIhrbusxn  lO_z{tg^Gީ-=$j{\x i|$ͅџ܋ x82B/8ǴѩLɨ{ on-$#k{f o<{v Ֆ lkA*c,SoYjdmn5ݤLM_Gfv#_٭.% %k,z:% 0I!iѿ1 3ӫ+X7u["Of}yb>=Cxއ36GPU^()*Ρ5\Bwi xI}th ?[A]8xZW{rҧ]5zjYsk/QГ{zpf 5%~B{~VC1G@vm[4\XKf[>Ҏm.|)Fٳ0yioAը7uc*W3tCCiژZJoZ ~IHm8qznp1H-\cQ҉:hҦI4EP!sV;Oqڮ_MӋ?we7gM]1[]vg9ѥH_{wR.!lL!yr'bjłF7@>u3OOnf@=ꎆ9SĔh<:7J98`\ m,x_[դڳ?UL ؜M(}3;BK[Fڟv8)N6;M Eh0QusV#w6+J;mKk-k?r ʔ4;QZYǶV— s=9eYSrgCܝ͛ o82Oa fD/i{]\eF ϣp'{}V|מZg|X?h1&48ofJatŋǡ0F|! J. bJ.]Fw |F:U XicY[ y%Km$__B%K&̭/=|A8nQ~w!au)sIýCE*m2KLt츷Q {u9#8[!xQixr14HJ>v-p}hpKV脳oзmzRi1= gu>R:lv]B7:8va# d#F;fb~TAK߆/< D<ڒZ ]5'e<6W[VnH9C08ؖ{[_u`n|LZ bfm ' Z> Fojg`زeV =*i,U_bi4g I+)"[,?tqڴx7-Gs$# ]~=!wEn<@ЊAN$ )WT#On$?r 1s ѹ-+p5JG\ fcF`h˙4&5jf+_C9pg(+z>0?G`Uc3c/ .3IʛxH F1Hq <׉3c3V'T4mnџDN,^kM9tgPF#OLe+vA ׫7AtAj_V*,`i8kQ1%9q [ t8RN DI,ƇT?kq|CE*SC'_Z{sUF'ᚋ[+:1rBNnˎwǏ_(σ.9IAxdŐ:Yh3ܻX1,(#I?nz.7ηW૨;k~ CH~=+`E[qo%AmK-p#m k^ԪvZ=y>4g|cNS-/S1Krp>u^ z/dCCO_Xigvϩe cY\yC`!A] YN` ey3;En9{e:A˂PCN[iVx˰z8:l>L ?2HY׿C2fwj2YЈSڀю+ęFn!*Z:iqsXO⢠b Gޯ[BsHGtFR9xqgݒickjZd3SnQ oeN \#E A^gg7G#$x]E v) A,;Q\>q]J#E#dEp{`5c W/Uj|x8 S\_wNEsGK aiGutLNbݕJsOBX0xXB#k/oAP}>ο1^!+OQ't)g)hhb5g̴As,yLJ}ٕ|}-Goe*~E\r;9Z|C [ue|6rGYl(ɥ *x# $̝bIMp r|sʝ>}4Nt'bmwG|~iD`Gm4K%|LUفUQtնN^oso3ΕB.J_8;|KHH<|ɱGa|C̃=NH¢ ^T 2l=6f/iϵa2c `iϻj5G'G@7*#?*+:  YILgr S.NԏV^`˷#NT{DC|5,F+΅}@߉zC{bd̍Y rեӻ,F zT7nT?/CIϾFr=˶ -9ݑAuoL*} y2nl Sq' a'x FFdg͠&mRXg:W? e^pm/oR-ͽk!#_3ur_x-onL0UΞa k˳y ?P1C$jnp@' AϤT\,/#op.'i7{F[']ѿL&rti6.`޷l+xbς d"1. f]ˬIzDxp^{-:3Og"ZkmH"oZN\ϋ{=p% S5.5Oo#g y V#cvbhQu'l!T&S!4>ǣȕPWy_uq~pyb?rB|ؙ= ]زޝ4KEho!S|ur~9#FYc(e6j{}h4l.5uZ+Ƅ8Swk:y;&c9RsdtSQ!M 5(NtX߼ ?#t]g/Yj+ yvvi-.| #X|W j$c5v;8<#7 nFV:)f0,fC2k9iLOۺ`Řr_^\Rhq4H= ?mʷRSa%(ikuLs3JO];[[!i;:uxR\Q_i12jYROK[?;ԟd4eh6N2Pxk)>좾Vmul#.DJ$F5)򡝽::sȼ!e,{SLvq^Ƈ}+=KU {d\@A*rlJ4-A#0#1~bLSe;[n ^5ItG֚0pyb6YR 6Tsk Mw%qLұ2|&鼕m$'_^QC[@"ojuqlqFJ&}X8󒾘wۥn]Ws$6(ؘzrY<4B#j"oZ+);!ʴ_f%Z խu=ݓpQeC.C@cZ[mWe P t#"StOZME[kaW 1ػF:71nG{}jB@ilan)%Y[=zLN_֌,YyLVi*g4V}|n{DkY+ A95JsV SmGPx(C~^c8V4^,S)NgC@Fwҝo Lc_{2&~˺'kDN[*̆/g\ZVjgţؕiG,Nn#o\}9Rʮ>|3t/J(+X\*/~F }~ N8#7蹲'bVnꬣG8f7 B )\*t_<2q|F9 WBD7n'~y?|Afይ"Y(FoupmP(Fm8666 ktإnrX[‡$E&;p޾jɛKi[gvISB {7a6Rio:FUj#Z72[]m:=I#?U] ܷ<kO'2&raׯ-Q f$by/ؕ5MJߜlTV[!B151PԮte o@>7`\+Ž8.㯎u<_8ڷwLnڭDr.ѸKumۊVCøQ6:Z^<4}W^&.=Du/ܾ8GF`Hw'xf{urΓh?G@tZ{m(n*2ޥzX{͔(;Tq! PJ$g̍&Dp $Z}P><_GK76>k:x9k R>6:GWOxIC#>!8Ku,.gtemh9.nD΍uNx޵4ȐGw_GFwxM>b^t=Y9@lIS?:8iM"`e1 Q%ˁ=n8M utqH-XEsR֋.5q(Lrd??Ľ15Ȟ$n^տ@u zUey1g- KE6gY u{AǴ\]X)ɨeZ(/g4߮vBI1n~oOWz{ W`:U&7+=V}+ sjEtnJVCˈe^[9}X$=]DlD|?"O. ˲92?VMU #6Onٝ$;Ҷ kgE$?nANh?U}$XU)d(.amoLcܗh k& .?`9;Q8[ݿ*lAL)φ'|e1] E8fJxK VIYZ0â9~.+ji| ')|` tr Q]V۰ v1Axz@5ctQgʲG=n%zP OvN>X14^ܦnpyA\wr"ϼLm c7Nno 21OLt=T.6A&S/ݎ4s-V8d!iٹnR]^3zʶw{~̘ '6,"s{|ol{b` 0Wj s?Mo=o \GxߝDz?y 3QP.YyMAЧ4J[XF2b;fF_$ٗoK,N+D9Ĺ4;U*rlԏl8ӝ/pp& = srY uIH7qcV -ܥ6 qgCƇ*]RCp2(R9'>a{K S.`lb`M 6 ĕ6mٚw|r\f~؈J^df0VhR튼b!cUWùq}USMo+ |uuA3(dK&ɍF֮Ek GB@j=E3TRU&S%.VC٧H*XKq&0jC1_i_iOƭBy?K[(R O( Q嬘g^iۥ8(Ɣ1WDts>lo@ODPΏ6D$I}JI?54'Q,Y &=7:cH%`,VNƇg#r2X Xq1d8dU{s2!X1}ܺb/%7泩OZѕ/Ri%Zcx< َX|㻱z"{ao2&7'$!{'Ru!vq2[Zv*gT ѿ9 Zk*{HtI'ytGmWԉEoPqn #O~A=HyS3.Dk }nI! ˏ8-ROKDbڧj6Slbi,_% =LwdzQUW]"@1~, G._dtCbۀĝKDm9o ںj–):?Tws20:fNzoؕdE`7OwpJWTj-,9~b(OYa-9knWuw1Wl5ɋz ~yO NԕanOvkΤf X0\\{XM;sT` K@'? z'rt>,S!O)~D:Zs]f )3[/tIgCZ6,oBM{uy6%)t`-@E!vț{t+s[0'ǫwx+K s*2f,00w7Qx*X"%&F*e{jwb3p2#?KCw_q`? Hd$%Ta9K~AVʨCBL.82܃yp1֤v^mhFu@U-ZWc4yjFOs{J9G?R*^K۱μ~:;nV1!rs*킏)%8uXBLX4w!: TL"ʤ)pfDtũ:9чg -"VNQ`PjoD W#.Ѿ0tgKAʄۓ ~{ZZud܁D,s ~47bZrr tfT甊$]GX.%P^fqY&Yk37r&B$TD›n*)opݎ@2ҟ`@oL|!d\[c_z6_=Z'6ol &Eű /8MM9Q=ˮtvHeÃD?:D~':nU矌E_!z~gz5Zlx~CKmcdͶ5\]e۶.۶m[]m۶mf{ι;c厝c9V=#b9Q5[ntԚ$-|zJih+7qTBi\VųhCXAbZ4hxBY;# [Z1Ďh3)lș:a(Z#HkhB~,|Pk33涓"vx;9UnEO(Q]v&?m H[T²zoZ`7 \Blɝb^}d8'+PP\<5Ne34|s+LZD#5uV P$9`2k);W__<\Z<ݰOт6:bU 4Nz?<"GfR|O7=;[,[79ͶqҺ@۳jnc]JZ5[\i͡.-(l1ƅbqB,Q x?dP": @Cz^"x;6Op#r{A.>?Z~U _3kAdY?X~m| |Լ+F$ƥ=xտx =up+ӈ?yK5JCWwQÃ^A@w|Kjzb^̠c]q8[S0E͜s<-s׆-OsqVsk*qz ][e'bGh-id% V]&b豑f?CT2Kew$/PiEm"qh0Um98A:ۃVxB\UC݊j_B(ASe u|F'ֆ06؎Eb+Øm~cS8dx]ƅ^S·Y3{Q]^jjK7 J^U/Ca.,w$2L}5vД2q5%O'7e~tW$5hZ*$!zȉ+]4p3[wrn\n 10TqAFe;`>[֛P :5GأFYgygl'5ݜ*Q > `B yV*4!\EZ>!@i{d!U5)ZѶ/'ixvF[bUj63ScS-.4vŃ`$]13%[IG5/ȵsi`)lޫK;ٺ5WϪxO0مobQSGF1{qɈIk\MNOIPoj`;-lTxxx0={W',%ưޢ5x20meD X nAtD_xP93L)Bz|')^^ǠEm}H Q wuI.3X;pFAbӠat18(#.yDA>2{HhnŵՇr<=L (sD3@=LttnPgG|.0o$ueD\W-RfHO. @:FgPL$LVPXmk(r۷fq3T<$|&drS-EtC ݩ"8 7#댒.XWt#oSK˽[G湏ǵ TJ$6qRh[cY.Z"Jo1s]%+)!b?<+ DΜ ~O*Q@S$cr;d$q\O%-+t!۷;_Uݻ];7PA~MnK]C ň8Zd!(}RNC69ce*xFnaF#s[+%j: +nA)RߝK3V<VtʵJ&3ƿOk]e؉1w4"5zS%iPq2w.ӅZ>bAz֨&MlU4~]r|]}w뮨r.<[Y651DZC`ګќjm [=1L#ꓱS kj 0qjؑC&vCTh'+{TeZ9褑}#(Tn]d/,?-V"<}VlaD~:ڳv3G}"0\<kKuڙb=&_C՚NoXqZe;轶[+; c[F&Bi5?#G mE257FlcvڋdƼ(| P;T^GO±yڥtSv7:>}cs%:D86]cDx/,_Ech$]tI+2B!rmz}ؔ+rd^M~,=C oP0V;j9I_q؉MZpA[<~85[Oأ(t5 îNp-kCtdXxR>|sډҬH]KlϚ_9ZE4c:c>EFLd]_M˔mHGcb^YT6(+[kS B]JS9n1LjF - 1]g6y\`tVG0~3-]e߅^r a?!*O#w&W:yG0nFUrD NYJ v9ӎ&ka)iؠ'E/|$sS]e$Cŷ~ 7dյP4翤^ D#=M5MoO+6_o~UD~[yiuxM.E)y\pmd%(Q\ӻ#y6 :m|mcU,z-$×|ŝO:_*E`#WeR*4 \Zz-8QW-/ bͳ@nm~Lou)vH!($-u\VX0saWvmZu<6OdPM@`95ދ㉲흼spRWyTR=׸tuhRC"룏QKpOf=1r "<1ê|⤻qqO0V,vO]$5/śhÌ'!H\׸rUf ~]dKށ qiګ݌Q#^ʸ7!񯃅 P{h>(%:Nӌsڏ(<:49^taOT\t>وH/.iS{6eÌKMܖ9Ne2]zϹ9lV-y׷QI냶ݯJŴ_D6%8'Xl弌pZ*]77G#ԥ[~}Pq"xYkKr?&SWlxo}iQ.|çDbqwtbEF 98fNa{vCb*p(Z 9yjA Dĺawٷq^%(j{v9X*׸Y,r44"RU%bZ_bsBY|aڕӝEڇΞ%eEjgg̤AWCCym#"0Tjip"RKE/qZ=^[~gablĿo8ì&7YeqN[0ݯy̋?+ * ~d+|V]=ZIYXK!dvVAMWßZk U^NEe?={"14axP^GEXtlO!5fMͫ1n|^amnK*x}rԱ};phF32V1dBdWvu@pRx ͜b\P-|ƃ~y7p}*9.rl"60эMXLU$01RH뛥A#Z~*^氚[ N kCjS/ndlh1*}e!W\ѩM~LT}Js(Pg 'Lv۷xX)P=*whSW@Z3ICK Kj+|nb:[Bɍν/,ˇo;NXًך[ן<>F6X4G(oo^j k~Om-$G(<"6A{ LWM*+«qx;.A!6iG p7mcOrF =TB"k$#&0Qt>ED.Ҿu#Q>9xO|hsX^z fF>w]V-mtsu~AwOV4O;*ŏ"UvWpӢiؓq)`s{ZK2I(tCzMq]d߆:"@.Hvp<즯ȭ)߂nɌb%@$ܠRrnw1J-;f޷!g!5N7:kfH*.gQհSlh\#vE֭#Z4Az^ܚ]n/YKIc[0;#,3Wd l(# 3tkQV1tyG)e8M ɴ12սΉt#b6$^NFvCLԟP^[!)v4 ZOqˏA."dK߭Kn3NI[l{`֍`Rko?p7莱{ Ku xuC!)1va+1wX"3K0n睛'[s'Pq &&qFtDrűFM)h7f%x~{d?ld߫?4M8י}+g thB)@[CwKD\d~pYnH1bXcˆ>Z:F% W3S87f^-W$)>#ޢS\xbF#Bly7ty }b,`I|sCc4U>A |Zoz^4smzpKi`CG?`YedY&WˆEbڕHk$o7P΅:6l7<4:wQTY dW.n?M nØuxrgedEw2KEBeV)#)[UD(KUKȔ:q9\ܭQ[. "z`~iIrhz\d0؞HCbmt${xyB7q=Q  xfԺ/۔!8GwS7,"UC sŶ:8kg '?,hbSi,eQ"ix&r:Z!ĎYωCX+m6lܭ ]ZԮ)pM9;g~FCa4m>öԐ?Hw@?\Qq5SxKd_C%_A`Ѳ]v1XA<"nݟ{rD/.`#Ii>%pRoK^-WC ˿d'6=D+[i&;@C&Y4QN[_;y/ۃ.; [݈`-/']H4\7We`EE!W ?5chJdlgToUڈeW`͕[l P4lHhi]ivJ 䣜uII$kV_Yt)C< `sszA!:S[-NjCwP6L8SB_y''/eU˙Xp}][gm?O%B#1]Q'BWpk-ʞs#Ś:> r=[&'(7{~StA?%:ݽnV"!RKcQΆvv:Üld&͢1z׈ԟ%ps߈Zpշ2(nM/n$w8n]%\]LJe \Tl}+DˬJ[$<`٫JunM/SKHh91~I AG(P7͊Ʋ0{F-"D_;w%~~Ba=wڡ Rzpb,qW{/W3Z7p(U!WDy ڧ79wIC=A[Sπ~$wa `)I;יwv}aگ_''oO\z>EZ_ȯ$շPpssGI˚ MH^^H}(Ao Ɠ}R{DTW@Bp[>]AC]C(^L/1`LhFnvO&)cy0zDFr-&R!e)Bݐ-/Q2n Cxi 8Fɟq\Zܫ-$$8%a(0P+k2g~9@&Pn֢i;kc `Oe~<;_kzyy{6]. YEdI_oϠ1աŵvl꘶//$RJ_M)2V.3.AO鴌 57تBϰYsuh69b5떬K t,a6.E:8.ۊv;֮#YAQOb[#no a߷ulpťdd2Nm8ZDcۑn0"dOU:P-E%]'2n/ 07)#,4i|\9:imm(O??NmY{% Uj+ oBe _.w4noIxq@7s>)IfR]F:pBʉH|%)/jIq>˜#quhi@hE i>^YnI<<}2Ft~VÐD=aїڀC:ѳ6BKeF`SESyuկeuń )sKÒ|,vemR6cKu9Dև?Fs8ev\~keeE{UQLѪU'-]zF]٘ΎS ЫLI%^mӒ l&s[Ѝ7+4I8;6Y#Eu Xd ČX`m;'`yhB2-%$NU1ӥAw>d*:oڥ\nxo[| x nBɐ6͑L9r}=XwϪ/̞>GdL MWɛEh7#`ɶd s|8q=76@/__˦O{n;<[Ԧ]wq|X"3Mud/VV?ڣWs^yF n_6|Bs".#VﳗW[޷}v%o9"_rbC+x{Gdx~F ;ogL܋-nVؾ?C?Vm18'ps#>AQbhp``W/{$ke~ܶ"/vt$LB ,ePjsV,;h:&n 7Ъ]pڮfCbrWS&CD}?!RkӘSu\>9*qdIBk5w- u`MƮa6 ǒ?7:ʴ"4xNvĥnlo?;| $eCDpHc{.EDZ<[$X}*D2̫Lr06m3޷PnߌL'њydxIDqߨ1 6X!n>yp<v֢*2L{S1͕<>ߒc2/xYG¢xĤdIflE]5h9vlۏ4I?)M|I!:8T!s,;U`Dn$?:? _fQŸNAn#>}et ^Y2vdZ<Ң 4l5\Zd6b_tQ|yTZG\USYU6nJ? }C{k:1 )+utk`]kLX I,3ɲ' ʊq9TWUt(3Dc[2b1[-_0fέPHԏ+ifvڢCCqQUEGF mЃeY ղ# ֘CWquQ V` ~hp}i3m#fؚɾ?3hG'_Iu3x@;|5_^ߪLW!ջ 8X ҙ:O)..Ľ8Dk1[1+Dž`2piWQ+;aΕKigQ,yOo9/OgCѥ<|"A*ϻe>7D0aE!gx1WGLGȎ#Qa!Z>3~).l 2`qFxWCV?_w\ZdsᓘR$ ;aV0 scUger` `ɮ|NjLPnEl$yȰDטE4+䲌#'wW_hTL7_;8˹KKYȅ+Kĵԍ~Ai,Jq &- > q_xd2O!oJ;;_m_MPp7O8_9ڗ0' pPl'h\`۠Էm?C90 $I>M۸n{|:CPuGoqB/aRYwcv*{"ê!)⻜pi (v^Ԣ8"NuY}6oci- ˞h{Tb'N5н"~(vW7U #ԏW@ϐnMf9.+9awQ )7|w eZ(s}_p ksB"pD C {,]=g_ 0U"vآ2fx|יk>K2;t+2ŝ9&u]мlvRjNKoGnSͼ9PR3?cYܰ:Kem9 iNAmK BJh82M/m o$4wCN8Wq6}uoHw53^" LҪFcR t|#uY9_nXGLxXƼd&igLӅ\ xnLgj9,#sjo4K^FaH02h>GhAOzhO>6QJz/>h=;|^7 d?{Oyv͸ܽR}z -.Q)v'p$n |k)}9Qa {MMzZE}W}y/zQ{^MZ)k1}ou? }}'FM"D4AC׏mlȾV3(xi).7U`nF iy/"E0.a_;~+UΌ0)t¯N ^' ΝY+o2,߾##`sFE %*,E ”C!ZPd6=oj-r5 /,#AbȑEGU2fӗ*QTp+!$, rjؒҦ7(I\ :&Wo1iN8;s_NX`0R6L$_>`Em{J1YS㬵ӥjKŴ~Ұ-皌 0A20wCSB&exH*em'Ŷ\k;|ꮋRc,J}mM#*f@V5v:+Ɖ\ѰLbI1=Y ؅{_;qP],}q5tDxD5LPH,}2ŕp8n[#,䲊ظeH.HaHܛ/-}gƫɗ\,U'h.%oʲG\O8(XL4w\M*9z:H>+Lcj>ǫ+r{Pp#Y/CeIH@Ƹ!Is,\pb~TㅫsMoWq Ozcpb,SEo0SmɌ2CiʪEg^5[~ka庋.|Q2!=ז P5 !¤|3IYQV UX&jM_ uل;-yMPsSa7$U\?9$mVdS{'&7B&ʤLo.leȉŎLUoJX!U1S}m^4vJTUp`eY'r^ǡ_;\0o ,F;uD%RKLک+V7Z{_TKVf&Әhql 4E~ꈄR\>Pa⣪Qx(!.5943kqM/ձ+L3 { `|G&P)38#Bgl}6vٓ`4 *K%cNj3%& hoxN6ƲU[nDm2#w\`^&ZL5mKhb* \%vLy7(ax /99 pC#x~ Sш3ˊ ~EG/D{#; 棄Nt2:̒K}].Q+2A@tQcϡAJ6DkMcI PƮDLĆWNUv<lݤb1yvC7nt1^҆ 'l$5bn> V_)v*\pl®y~&"SLMȈe­ݱ>I#SGIP_N&43XF'zwRjQ|84k{aA TeV3-&:RWatq g9&Eʁ^wk 6>FHcI^l zJn ?^˷qvf@epK[5a>kMM.>†F`xw[xܤ`,>D7< Ys -|}IJtq襣W+Ī;*[ӕK⯏Q7Q'НQ->Fx5#)ۭ(Cc-aL6 *b Na_/v~E옺ٷҬ9Νw눙OWvsJ}{sĤzq;f%}PGnsn+4z#s~?GwB\kz,]U@WJ9+MSf"&ȋTĢAb".)a>{,鉥\UkIF5\l/6Z, ?`[|_]q Ze^or81ժȞh:!J:eF5oA7*8+`';d$&ZbpF$ %O4ms<*&|ȍ%SK~}?Bq>{0[=s?0dN_{?12|ŷJUmIjKWb`pXw6wC4|Z.pU|\c^ć^ ERcIWG&Hypa.YF;? M Sm7PjF·Ѿdݓ]*cq:_H=(HC&F3C:\dz؆ =ٱf$I!i>?4{/0zK @5>jyX7xXnls9HV^HӘP:hfG`rpGgEI~5mRPǠ)L*vz^$&4`*$~`Ļ>bFqmZC6K,b+%+kV8Wa]AbMnDnO2~Մ(|EM\A^⠻DRGwi-8(NvwRC$Ԅe1)u) u\ǀeŭ#'@0LKtYzaaշ, M4yBzw_ͽH<́bK⥅>SNz"ɝlP;xSX Gp%R@&)_fRy ]֜u" '<(NVA'fL=т}m|R{Mji9Ie TjW!9X}mMh9aN]fOBU[NhZk q8vt^,eZfKm&8X"BmYʞ-+ZkB3^`(jYs*y#H 1DqJ^{`N5ZZ*Q^S'< z᫘,yrJltecey.}gn z eS3dM}djbMNؽ%v %>fP'>^|Uō~ 놋@^`3&&{'M `wV:ZC;K]Bdv:xCEOR]gŘD58Xa8R:#ZuսS6dkn@ Ő4`J~DhǤS*RL?:s?3sdGܶ>IG$ϸe_&*#}yaĔe;l({ٯչ>l>\`1xm_]`T8\2+4k2tYYtlW ujDms@dz{n% lk/F.3]Մ=a˷ث>h|rzgԈZΖ_%2ޛ#v,Ѣ\ѡIsrZYbGNM$kjo+ Aϭm뎒P519(ق #]H95Bۊpf\/ס)bĒs6"'Qt*kKuENj](7ޭWQpCC' rZcU,4qUWwhR4h4h4m1#vn 24%;UyRC~2츽UXR QHlf q l#-Uu-vha"lnyÄ{8=,7_~ 3TmkdV@축S{uX^Vc1^!vbZLw"ǫٺRf_p?619uP2$mH6tj⮱DyDo OK>JysR zXPiDi /y9]f^(cê2;iYq%Gx/k2vK$ {PG_iOXoEzKIe()-2 C<~|K9=gΤy'@b~]??`tly݇ܘt?! &6ϑ\Q膍|AHe4ۃ ț™Ml?A־hBȑKI\18&cHޙC۶ݭ !2c'WtگH>/,c7+0A5R7NnRM+lv6)y;_pnh!Njm6r;5|Q.~l4N8 >Fz&vB.J>R%R<JLzv[T8s)Ti4`Y#k!ذ{杘,JKaP=gyE%Nc\6CNPL2GP#. Dў`ņ砱vtGˠ6aU-e##'o#:7ʮ⏢*:Gu]6^UL7H?c.][-=CB}$Y+[ O˙(o%&]qwctFKW@?t~7~Ě Vn󳙃m7rҺA1O ƑElw&|½i3?5딻VX#;{̡zh>=iOD)1ѼJv`bs ڔUޔF@O*K޺5"lj.BJ$g{y'#Ηlẗ́3>UҐcG!a@yx6Dl:ұHJ˕rW B[7TR`҂V[ ΘnGW@.(cȊȷ$tS֡Rˁ(8}\}1\OUwxƪ{g(<Eqֿn|pQIyAL}ӌuez4T4BZQkA@HM?ކo v3hxZ/đ5ld}{ps,d4E1|x1媴AP8oNG)$>Ʊ?E!y:[df=B,⊞UyxGQt U3~0L˄^fY%ZEvӟH~`Jbay-k,i?-fm&pidew 6&~\zT3qZ;dWSk}=#żFLQ_{w#>lCe۟)7Y2phVTTD{A Rw/wPë6@Pk/L o^~F"paK?Oyq?P ;䴚,G垸 Bj+蔌٤4p Q5=B[M2ﲲ@M5ظYs=:Wp8}<.ĵk$C'&EzbkXDpQiwJR^sCǐfDV(-pœT@e8I|[fȄ!`cTB2kӾZUX( {YӼRlظ0I`iA3tL47Vp&"yK#6!*tH(V*-3ьkAͬK1X/رg5N{W\RйLv,!o1^In*^M(xfUiC/xʀ!ĔL ;)56 |# کbks⧁=a2{v%NO,!i̹ڃS)!6eTzf0JۇiFŸ4FN=m /ւ!MNC4p{wQW@gH=xfW G\`TJvOF<D٬b^$.C{{CjYI<8{IuZЊkExp[.R[!GI㾄DE;ҫ7oŀ|֑X)7A[,@ﺙ?F@4ׂu5D@SHö?r%vt gf{f5ݭ6 wr:|GWk +(ElIT_۹} oQL PnĂ%7]Sb KTҾC%%]bٌrV/-.1ܗUY9 w@fh3ј oF:nLoX@jsCT<eP5wov樴DeZnTnF`0\k~L*͝f{Mcz#[F=`%vV^^EbQSʶ,y9Rg\51<\OA[UY9S! g)ԟwr]]q3~5^V+n l9 hpq08Yr#8S Ip M V) 33ق@J*yo{EԡLBmKe/. E5XQ'Wt,i{܁J!4ĝ:1S *~tBө3Me׃&OTmQ߾VUme HP.8*Ӳ?Kl1C!vC0U͘N(M9q7ͷ_̏k/*.;ŷXtaB35V{| -J "'Hk3C0SW~Zͧm9wM/i >Vvߚe +Y|Y :N¨k,TNCn[@N'N[Q~Z! H _})$1( 9omK|'j. X r68,=mn2 f. /2x(v l9U:H h8ascfH5Mm>5$΂ʮPDb k"z9׉$HxBQD.2cYJ;CWب5O|d=m ͼ5@! y~ HqO 厁5oM9 Ӏ')=WS8EDK mB\Wc=ECR7'*$Ykǂ(M3U'1Lhow_:[Vn"jtEY zgmt(} 6䙟G(G1@noב1;b>|L k7J,WB+W Ä.AܐFQCm+V";3du*`kcY4h/}W80hEiw3mV]ַW mhq|O>'+[z#YBh'l }9ȹGN%'yrW=-0'&ծRZXQ.Ʊ#U*Ǔ:QS~k=H+@Q @aY06Ũ S{C'o~/ r,m(ߜn(/ '^Qs超!]'_>)+>\ۦz VUsm:p]{}Yՙm 1SQ!ӄÿ RʞWV,`cR[b'ɠ5t\߱$]pl^pOPPoYWHϙ7Zb^$k[ܟ?CdGYw(UBJ_}c [W?^J.ٌ˾c#=\f/m@YNh1(/cagJdVYBߞU[Dgf~8)w#8-Y!YN1.e6[Pk7qܡm 4'M}Vz:AY{ Gj7􈁿r&F%7R8{fIQڏ>CX2CܭXݙtF@о"6S,ؖmK2 YEy__Ǘim3131sᜐ2h^t4E(XN)Kp~ҴU%&Fβ,MtіrڟeS[iNSa(&z^d>`aw,Qd,16yg3' r2l _7> 6}XAo@P=pAh(|=k$1.4z_ zZZ?w Ʋe9O++zlcz!m0D W}Y./੭5,IM@羛(VuvKu2he߷>2'-,# 1﷖sM/_lR6aml]h"AJ"ϚK–1R^>ܒ=SnFδBn&&[RM< GZH⬗r'Y]b,ؑI-zMozh_F313ʊW>,~꒤E9!l r@C@ SaNaa>j0]tQ?pVatͦ$?UoZ7:gD,ɽ*[-pI91+e7gG#9ӫc(,/鬫/T/[WN${8fSۦx\mKW6Uz`[ iû-9mK[a4`tWrVb Iu"zwɈhÄ#NSAUZX;NSpd0qGI4ZX)ј8gakzyԬIQaVχ?;iq{y&PIJW8Oh2Eΐ-rq*T 1ifVp$=nϗNAP.l]qJNmGtpwJлj2z1tVG(Q;c55:]7rN`{Z*btl(V[hyR+N|+*(> i bNs)`pjLz$W͕BJdRIlͅ4IIqEUSEe_`u gZ{x1 u̕ 6хM| JۤÔ|N,.|'W%lOkOg[Pzlk׿,p?n}?s0>=t%sVJ(iԯ تLKΧrMy>O[o |o`a{u¤rDYTȊrǾKJC-׌]V4Æw]m8+ir2kJhjcW^8gnvnb.I>d8]G5dOZi5H;4#GtbF*Lwn;"?_y~cƢd ~V9r9ܠ|oO'Jc`)vws}pem3ڼ4S}HAI8&52x=dTsp, Qu)zXAgM;dp$=jϋRBěՊ}KB͂׵z `@ :.IwpwW-͸,jڐ?Q)ŗ.%ss(j$n-R3ڰƕA'S3J }1nE@BеbR39OdֺEjPhБQT7LMkjgkfC6 QdX]oFiHk&%6=_b:]qir40b]&/\䮄(:_v4u 4uu;>Tm,gс9ʠ |vc߹NAxi9$LYxXe´TDe4K$_;CjAԮfY_DB<T^a|z[4Geia6;tV@ q6;lUNڗ!%t3A]1גFA5sS1ۑ_}ZC{psf+E̻Jmla8e7v Xx64Lҕܷ.QYv{ G(8tN'j3]\h@qD=1<~cyK]x{jVLB/gWAڛ(7 !- [W#'LVlC[Fڕg\K͍NwgٕL"#O& jo]ݘM^5b@\ӯY}nv10@jH~%@G!RJBS%#^>6wr}AAiG ĉ-wDڡ(nSfA{ԇE^8?G4t9RL1p]#+xWd<~QMDn$y_ޢ>|n=>+S] zs8 . "Ȳsz(^U猦LTO\t4} ڣz\I+:cZ[d{RXCD~ uI/@:R<@m N7",o,@lW̷3XG8,1x !u#'%7qypEO-SwLo?tdi^ٰIw cb@Fwscn[mTFV b4cQ FEkt*&pTzRp'=Jet"Ϳ|^BI̳k"Jp7%LkdSO;`M{uG6.76$)f'Vj@R1ee ˊea^"D8Ŏux!kRDXګ7ճSIfU쏶honc@$Mق(d]^qawF6Ut2 hX,Kp \ULH5 ,Z #`Y?ΜBV-N*:홪;&_79)F(6ZB@4h&<]v?[ƫypO,4Xxv#ћxH\ɹĤe w/vbJѽ>' lZ!7?r(6ʝ͙pHSo^cdR^]ǝ\q;)*e>hEV[28ٟjʊP\/S3 ?/4Pyosdy~o4OTvb0o4X@U:Îu" KnGiKa(nhUAH3tāZf}S Y'7;;prwZo̰kgtp*L dN:WU8C6jn+[ !}KxS5C8m3k"mXjBFPIZ|zϔt!.Pd%'21Z^|.^qq \Y!!;*_U*c&!w+RZCH:HS*:Đ,X^;rx2?C^o36+9DcNR&of_q{xE$K}y]xX,hyr)IXB;L+00]5{n%3 * Zc_>|=?o!/mS*iہ8]4g;if7oꤱO z8=?I Iϸ)ӹA O4"B;DG m?[0/[z` ǚ7D?" Cf4@7jK&HZr9Ue6әt4vZG@$E8 )9Ͷz{y$2_u-(Vm#ys6i*Lk ZևkBӖHܙ<_l7ڛX3 'fBKe0ZoOJaf -<6y`cDLµ( rńw$mMv3SǕ;P+XήGLFۤOGtʗܥ:Ig(Y<,[=/X[ک83)&0kPAe,wOKV 7ԳnW-8YH!{q6@9}J7,c)6,:%LoF0!R1NV`U( C>b1'0)p1ǵ?/gy,fJ1-“= I]5uJ3||P4 f؎я/NrHsJtzE'⧖BNJL ԓhn4TfG-p@HLiJGpż5$Ьux 7=kzjԥZ0&[8QЙə`M:l!3UBL )Qz aOqLKFs 7oOt0쌺Ҟn78&Wj`_lhUK+D0dn^3OrT9t C| ڴ ᆭZ];%غ}0:CpS۱x\a vy9~EBck*>F޳[$}hHê`_( #b˺v-*RϳLmLBT~UVвV 'bɮIƋ<!͓5wÉJ`5CD;v:}|urw4:̈:40>C$O~/mҏ1%z^.S o:zp ,~bɻ:6 kW)CdE%1p|7'8@B/r3jr21|57=֕5HtZ oDתͫc(]{%^3|\lr6@(rRއ]xfHN'#~h؛uuP< Uy4w^G-t]v` c~szw wY`Otrl醫_=-M^|jY'9C[C4Ly do^q$ʲoKG OgOڴ90!cLh3XF]k(O-IX9[=;_rA A}dU+UrˆMBG"L(Uw(SHU]=?w,ƓRAE˓%gGBX,t*늚e4x3\MH[clֺǙɌdcԍA&f/a?VaZ`T ۠čy=ǵhNK4$Q,'Y#"!}GǬ-fͱBY+6Ƈ؁&zJ^E!5n[՜Xa2.v>6UJ=.xx}[Sce}y32N&U-^:_c藜k!@V 84.s`ϨM8oba7E61șwz1L_T>X$,=:/ C$FAw SpQܥ$A1&G@}u%{tu"kR/2#e͙b>[]2 +J;n*!Ilm㺎tx,#ώM <.:q$R hzJs[;mFg;nh,EƳL =;tTLE6FտͬRmb)>ye>y]ˊXfqrW!O_&;d,ȥJsѴM5އ'm%l!L5_ _J-2"ھH:w?qCRX쮵OQl]TjTk{b_ o) e[iyoc,Kі4\})4(²D""۠sHsI`,qSt{t z|>;n.hK0tGе'`')&4f7$g*ڂC&CWJwt)];u9LM&R;woQJ7:"2e-VM˔:et=OnDz۴1 ľsOܩRs͉s4y["+^U/^t)IlDU$'=I.V_S1Q2H)SCHȯ Fh뻃DLWl$ц -+tQ,_Y2HnP\SpWO :8+ 03Fm;r\P8l?`zd3!ut L #(`rJKۋx ӓmA#Xvh8kO5u^G`}PÔk."Ky3,zA%:z,_vsgHWσ0 GwdG7_A?fG+K%'K[]:k򬋭.82ɓCS|;2L~j"ԙ +El#3l7^GE$?^owfvo/s\3Kfp%uBrsmdFG(dwH,^:%{}W\zg%?_ dK=!+QgJ7yy'hla]5ǩ4O`PaR*Z "ՠj+Q]&iy5y7Pqe3$ C{N)ӝbq--Rݭcϝrޙ.6l;ѶG [B1 H^vloa~\:wv;=`Am\_nE?""i`9:W7YRjHKk KYÝ+r9]GQ֟Y=I KC\ӣ!!YMvyTؐEg#M+o !oaף5\Ep_biYcUء+#R5ϐTAxTRņ@Qx0*3 3R[%Kˢ@a?<*v)_kHKNS=wĞVT+0S oj*ce&71*xXf p3Y6\uv/LYUGn#\;Ʈ6;ʇoB|%6b(q8ppb;y&kugߟfrI{c frA^v#Z%MpEK-ox_={Am8BRqT{CfcgCo6i åq/e~KLƒ@cwnl\0 >dd q? e%I:Cho}ܼw_~eF\wvDFbP2:`CnP'it&;{' lyWОB"ro,xwfT%Q+{( YV-.ٮ~B]4ȨK(m [46,b~*m? jԱK'jZbgj]9>i" qT0^;#fRwl y$: )WIf 5aqhhŇco;u0+!AG$p+};Lqu6ʞq8soJsICPrBTDyoM8&Cu:| ͰoM=]+Rn^VcÇA>_E$j&=8@;ZIbUy|>s;yQ\F7 C]&<{0{sJ&1]x|55؎zGj;jy u]NJW|%FEy cZ3>?t;h=/ uDU.hŶKNŁ I~~{vf>='Ϛ( hgQ:KP{ >iqƀ>`%/ƶo<mIl61֛̌X fw9GZz;su+cTbB:ATa17ӕ5; _;J;<lj Z‘y+Ml¡NgGox6G*tL+7=͹7~}fGzQ9Y̦db1s둶BvF驪NR˅mW~urcER;;: =T'm TٓBIWG@v!K|c! AW_w9o1K-GTvkLC;S& 4։h^X!~XЊsz?RND.{#'M]+_ e[%Rra"-`ϹI@]c *邞)oR?cF./FV=!D{Mm4T onT^b4wMғ2 7Dz9Ͳ "Mm`{}>)N^H-x4MMk z[4fer w k7@oړOL+W^o 홝j9O6I&ۯayg3ht)TcAPm%>eK8KPd35"&l@oJ!%22V,O\#%KعhWan1¤mD>$YyTl/Ȇ3tGs9v.F*rzukSXtR PXژpy,d",iiz6\üu >$j:hg ?EK75Aa5>`i f5Mh6zυ,Ԡ;D]ZouגgֺKhk HSIv#9w3?V; >2Nzlñhq<>˯{80}rH4ܖ[bh~OM@!,Ɏ>2r@wol=[]N}V7}\l&=K쓭?p=rCH7^ב>w?7wۺ6?`>t!9[zak;sB-өnU<_x{I|aT3Aowr/>Qꟙ6L],#>~r6SףЂ AUzߘAIIze ::QxM 胚]y._^@P{ wJl ξ̿ kA_>azt5G#n>7~Kv|b[Z`x~ CٓgeLR}).#RS`f )1^Hiȕ8vǨ`S\N˯W,,G,E2|YQm d慥:b1&')o-]R׳X۽*dys۝[nOi0ZcLkXyXs T E 2k+@-Q;}@)Xx[,W( ۆ2RR hiE֧Q<|#41I5x|@gc'_z'E# (<Ġ+QiQMQmeUyE%;tD Щ5`{(r镽eY^]8pT2P2P~ETNTS vg TFƬW<, чzjXiNg^0esk۾+N̢X-3RZX?庠MŠ-:ny|GS5ԚwáEiv4V\Dfv|ث"F~^x f[˕=ߩLĸ祀')л sP{G ?}\4:a~ B?5x̠c)8Jz˨r̡}({85g+:0}TA0ёHdz, T)OُĂO`40F 3O.Ż2(dYAT d/XIȏ±פS(Zc&g :3P]uW9/Uzy=

ŏ>oQ?|3~iΟ?y~E zZZ^*;2Z._oL cဟ\gMy!bO(¶FՕle͚=;{ Q7>rbN &=`p0ۻs`f66oi_j$ jyAf-{`|Tx>ĩJ)~V .Gr&Z^zxUrhBP&K,03IOS$ w |_'Hn)$ d$}h.{M,8A< hԷ@{YS8tո.p6c_Iʡ\,Y4nBS '-' rCVWu^hwlVKo^ yJk;YIq ⷛ?@~(xn/lCIBa!%/ I1~/KDžaFSKPMopnR{ OבޫaN|ӫ4ra\bTPr4LtYj%9;QœiMvi=^@,S.'yi~G@lʕ+/HicYe 1 XP}heBw~m_arﺃF *9U;1fOjKCn¶J# vYc-EZmbzTOUbnwBzcnN)JNk#󴮟 P"dUW Km{J%qb MAY nS\ DX86>9L)H^׶Rq]t"Jh>QLUYϮ\1ͧwX;lkq-@s``Yg*YiW%X'$O)AǮG5_ys0^{&AukhsRIouNs29_nͽBx -yϥR 7ۡkB7@b/w,fgp<}lR;̏3Epi2x쿉P VP%RM#uRmX\'ފ,F&mf@>ݩwQ[x<%LY,:C{xtkՈWy7'ƸL_C]2U/UͣgÒ<^pnٮhNN~?zwG^[Ww`%./Cg!w.Igx_Ԍ#7*ZtA1\>1䗽dװ8nu2RnN2+/hr[vxυb6Ԇ.鸹˂;u@͙К@]`cO,u>|ncí=D7TYbI`[``dwcTC{^O[H%=MEe5^a8AVWDer|9[ǏFѹ# ҵ|ӉtƵV,d>.yט̲~WT'v]ht`U lXK0 _޶r%>S|󜥍m.7\CS}]1Z-7x9Mp -UoC,c<9/p Mϗ5FpD// A7[΁ # '(H6c6\|z N(N ZY9, m_G +vF{Gv2eq` b9p.]$W$-\ʍlT6S"{:m}@W9*g-\Ӝjr7޽mkKHmd\M9s N%ҍpL9&+c]|EcU0Nf5jW e,۠uBgÛ@yg!D cd&Ck v/uz? 7p&?pHRhN4 ="YoW Ы`-c kl⎨Ez̋-D2l<>Ȋ̽i7n< (fca3X:4?qĉ~EΜPX},aucZlJ`yU6fh,h5a6e7~?62s4{zphy06],iH4"56mcdalLqx7b׫Gh6VVY^={cG;RG4>TŀB__];{-/4IPQ"I8;ؔmX[7^> :s[O[[(O3e@Sd|[[MjfXWwTpH"^K3Qb.Az|!x'nVM(!A?-n:uS6?O5#L^L}c},(ҷ=Vv6wOuxҍQLB3R/u 0{*>xw;Nv~`f_6m|+% ^@^JsGC1x /ZW',j_V>,%+ ͩդe(5af+.iN6]R۱'9ga ),26,K:N-A5>4'QY-bVkpdz *nfHZ"l%ϖ_q.:ERjMYV4VnX&sxφW.fgh6]K76;^ćYN6顳(yҦ \.WS1sQ E W1ѱqE2ѫ<%{p0(NYXc*Pi~*2c>y ҍ6܊ ΐ/E"U;OR .58serڴta3Հ1<6q!Tŵc B|/"G0ZͲJ2Tz4S6fovyqJ0+WX<1NWrJ/R~'COI]HV?X0bIYUVE_SQq1o"B?"CHFtuWu !+= އ챁'#5;\IAs\EwT9I|P_+?;Qԇ/Vuo= p)(N0[_?Ln@% U GA& jx,q{޲ b/Ȝ=<+'Û;{:O`'G6 M{Yb~ h]hc1b6;UbW[nrn*OwRbE bCBx\]c8K4jn#mt74&QH~wu{$+p0p`6TH5nw &n RooW̸(/lI 9}fCSsZNa,y= L`EJrZ:6Bp8TG꣦wv8g7HBfmJGosEBq$"RCoA6>t*b`ި'"5eCyf&g+.bK>6>]vz5~6n5>_3 9x5oo"A8Gҹ}i^e9e5x)c[݁tH+#]?@9qۗ1INa מJv‚'(g_Tz9%{1n~}3>-n=B[!JߎXa/QME]| 7?H4} t oO/GV؛H*קMv.(cv!H-.m l8z < ۓDVc ۿ(v7RF\x8 x24.D2NprUQP^x>.yy<F-%".bޢ_4jI Qa[{%jm*fE>չ\5CChpDO"̿fOU/Z) Omrݭ{gtb#TC6IH1tˤau%!I7w6?40_0[åcJ֒$KW^DpKԬ]qތy1::kԺw fHQc |~7vyH~=8Uc׌Sdžۍ/D{pHвWΤ}.,p9Pށ@#eN/Cx@suSǦԼÍ2"q}tX|g2f}!}WُY p9wۿJf3vu6nW1ڥzo6NE4^ꞌK8?愷8lQpБvZhw2 8}rv&'t}@{ ᶡE[${1$߿ff= 7) o$:ܛuxdoĪei_۷b]8ttGy핌‰ ||Hg?hcŀ[qt;b,*U4Heʡ/#7{pYExyAX)qhߙ\9ءW]P&\|Hn|"qQv[!XNtHkgnE)s3 (щW3ŨbQa?{w~ *A2ȷ𝂰U73Ans R$^^}b-^ߴh NAGYs#ҍضꁉԲN1*(j.WW^GQWvZձ]0Wg{e"Կ #%$ˠ$l>;e-s9C(?C I>9Db˭-:S}"a:JE;s.zV#SZ*ܒq}#L7TSv CXZ[;1i9z~l,ח3RnC3mkgSɪ0;ځzl\,,Om4i 1iE[5 KODǓ{g(ge3ɣE:CZP_*/ ea7r{k *@u`8S'3A)G?v_=?L I ~@@61R*wY҉oTJ?!*>qPTuG+^ď 'MiGa8O45ǃ$>w>3]C9+\:Î@ʌ${F?nVW Op5Fӥ]tBof`S X,+ -_W*j@B~U?BŜ36Iǝ'\1EN=CX'HdWX4IpvmgHZ$._bפ*|"i7bw]y^ڏGhº/P۲"#z/&K3qƲ$vF \5ֈ ' _9_QS;2pKЋǎ11!!+J0 Ծyɍ,'l`fB~a=iIkQ5Á%²N-e.OlQ#UzpC Kp+p|#]+5HѺb Йi ٨ʒ{ʉQ % cZOٱ[e6g-hs..h(]!U򖓻kwplKm K"Ƒ 㘬jL}e.; &V&]fu̓H^?55e~"%q{ ;hTbX3lU*ALN"Y>m^l+}zb'#>o#>${$jSwSxzG^Nf= #nDE|+9Wfg5oO^?EAAcV\In&ƌcu@- Lg\(䶢6MszV3|W"fP Fch }s3{ GA#E xKRu _XG? |ro?|zLK/?1ԧWaգWf0S-?-,Z\,:::,ܚy4|,bhbSce*FnZZz<,lZzlj tWRm\}HY6M'_|y'+/ y_gg,0*@_k ^?olFy\C1uv9l߇bqh~Jn5''ÝCwILJ]jk&d cPV=?V6d;?7-[WuU&Bć蚪HŽICm0|5ON _C! k?TpkyI( "0gl.W}wV$.]kB>X1.NOo(P6pV'=&<͒nlLAM\AC[; >'mJ 1&Ǟ1{lٯ\EڞXӃ+Ij \ej$|^eG#w;gXhli_s QgO=T5&Ňj;ah-1[rW5]P^QN~Ue+oiG3Nc 5:U?xp8m78tluP2;8ȍm>7Diίi*B8W9!HX;i ;S4”6$ZcF10ה,!JDEimlVi'=<ӢgӒG9Ox%+"ěwqlěШ|8HaH%=o9j}  |ML =zqdd^F5`=!M,JWO"pHGw 6`)niSH^ec1$Z~9m _y* |g}f鼔}Xc7&;6y;Pq׸%tB` 3=ʏվ: S;z@h< 9N=qlܽGd2]6L]gxƲPAnq[xnGHHÆ"k^V6N""Y& YYSҫ mh4R'ᰠ|[(`t7k<Кf9 &^/:mB`TqK5mZ FB#=mBl@sPnz-Q&Lșڏbb%%#{DRtYf#mˇ3/HtFib8 殓<3 x}uJofJ`Cއ(oO)cK' H`#^>BVQ?ƭ%q u=VrD[Y BD_wׂC˒ᙏᢃ┃ֹg7' X6' ӑubmpviYDՎ~=Yh+ݬ!aoH#vr NWk>'*ji|}ő;>GN\ۣ1@G`xwL$c5nьFM[8e*`tb5.}V!c>6K +n^%#[d ~ܿj72l7ke5-^+o:f3Ûѝ~;2Ac# MSrV,Lve1C{zdX\QULIhKH]F:6ɂſ=P}TCեWvx]dԌskbo/Tri ?i/؝No#'B/4R C,=v ,d=Y!)ȻVI ,Pֿ܋LuA 4B6EҀ!Ŕ{fp2oT\\g&Qj# xxZWOz.>ZúL,ZI !zMO781;%,-ڇFŸMI j?}.ŜGK+w4"KBöyδ!SsŴIzfYW;8f$tH5i/Ĉ`/-Sn^ژMz^}_'ъKdoVlԽ+(~jv@o)[`0Y{45ЃXAo8 !;Y0ǝg*_+e1S/(ߖ d􍗆 4g׺O*y;&u gm>gSi8_ڌ⭘JSgGixRHf3La=K*\_V̗%yAPevG|Jd$Ԇ& |? rꠀ!; l)~PE>wȴf =B/vqR %>Ɇ]Y}} V]B9zΫ!Q&29'Gwy1w~c<5@NQǐAO_OWSMgcevLPk֌߾CPaʘM1+=kU`^oA D=huo}{\a,#l)-3'V:aEmT!ZtZer3)vhЉEy <7A#ٯ#F<YъBg|\- Ye Yxv#Vv 䫤O"7 z{+]a&V4f_~Wuݝ }Z1 EVٳl އ@W?!Q40n9#l3|(K,*C&%(uK k+x#>AzF[@]}uUO-Y7LtY*`ɽbBabQR]|AdVײpcV-mv8WF9LdV\$_1_K:o;XD5.m3J8l~g1'HJa(M6<<rɴnoF\5_|0%+yv|/rfz3Nl#e (#vo1ʊQrkޮbk`5hJ0. 9kij9l6zO:6K,vdh;2ٷ׺.ůq`%/?p}n}}]nN]^nNOnk jSTNfֳz B"DFKCK_[G[]EkemyAɾs}dU%/IC* h oESvSJv/n-fDz7z8gbng% ͝Y/s5ecƢyt"/s~9"L[\˱v ׸a]-=|_G◇+ $u׎Jg/˹"7w0*۩g wD|rJ8qz#II]rE o/VrE%CCҪLעN_l&/SF'8~ҍߚ,E ".lS8RuwkK"YYP`8%y1cI5 }IvO_ѫ*e2Ɛ,N,Xwp[ɷ!`[G{e1;g4獭ho P)S!ǝ()eW)!p=7*l7ȍTXӥվsi~,ц9q!(gOvXEDzg|EnIYΑV?h]H *jQ݉oWZx]JsCvGIsA܀(}d{ t suʓy yLb -qmd߼uˡ2M}&qfjv:Dv=񺮏5qw[S)pKPj^D6tHڠ[ ѵNRtH), ؇}Hj5thϽ6'a=M'Rˉw O =bY迎3EH~tIy8rH $qqeP~zxJX6:tJ֫jR_el@jJߎ"N)9(B8HB*s]Bǽ`i=hPAҿѦ"!IRAcG09*XRΪ|57DBs~a}= dtҺ[<=#̛ؕmGvc)6Fն"U0 bݱbFEW,Ϣ&]~` %xVJiȑNZ!v)]U;OQ.|uVPdrؠ1__-Ś`$쌠S0 bG'Mc\ﰊɽf76'*x"$sQf>Rtonފ+ AyC16(mƭT.иˋY=1 +&ʡ|[>&lsgNZ6Tv}5}={i<s87lДdt!_Qxy,+beJ%L(oTVoXӠ$-jcE%o0r4m6e-xj)D6nk%0ke%+쇣l8chɲ; 3 6`W0~8gڡuv+Cgv#E0^V&*(Ș85kCڦ59AZ8?򨣹4cGp*/$4I`_s;P&f%UVBG%95rםʑ@guJVcE2IAd>%fz @%0_k| w7r~t9Pund( v6{U" { ~#+̛ n &6,U+V{'Jف|?  4Ss0c&PT5 mĎNt|sqm(f:Ēq|?u'})WfV6{j n/ 8UuJ[g\ -&Dc J#qyyә͞0w&47-AP [+]س>7-W;Xt.V% `>{cm-:˓~VhYKљ4R&Ń _\(51% ]2)BlC\@LW0cmepG>#% ]HG`N2#n8ܬ` `6ܷj.ӥApb$o _f؛Q~!Z . F[I&X/wAYD6;aN/-Pq/@_zUnNkt{k q=T0%`ژW;X`vǯ:k9݌ľPBW彰jV^M)o@ZП^9Er qv~PY*`2ynp&5}Zqkv0g1o .uSD<n433+g`lf{)bBE79-fht^ ~ѮZ(VU=uɗ1z`ݱBI^x^%7G;X>2V^}PTfȖ=>=NP f.~Д%d^#K*86X#[a|.|hVDh* V;WQ+*PH;lV|rhlgx x#ԒV˚J6]ivvV{V̧a8O;)!H e%?CW_F{G(10?d˹^S<'jc3P)!9~ ¹23+t'piss7ZIUQ0pgskY?tu;[fɟ)f[aT />^LnR. tZ5;q`3/;B>.6 w4.m䏻;XDYGH.+h%_2]o7[}St&Jc;ߣpX_-}`ZXEs TDѧN*5@6 OݛX}푘dՁ3}9#U!ooLk.6^z§⹯<υItb~0IЎi%V2aIgس-E4ɿoE</f]Mji3$H4u<;"Ea|)tG.ܤ9FOMvyt(I:lG+a7{:2A|, Ʀviن q k 3/h{O ԍQ.+3N`Njl> 6K![r57`0XH4ՁNJoMX]f**oY푇FK].WC#;m#OJp4aot;zuQZ9*G8ʡ0iC^_r.P'CiFMՓrZIP4;tFyE{ށOq\,Z ;/]'Yḇ֯e4>1H 4Bt8Q˫ 6;L8X9nEˬwFZGJk7=p7Wh pPhajVۄ"[W^s+,ù<4 MV UO9daU.䥼1Aʪ>Ť+Z̠|VCj;՝oS?6 D`7=SsHws W]MwPm; 0]ajELў (⦑?~~ ;͹ۑt.T0# h ?j͋%ICC` sg}VghY04 3AZS94'zXV^1/dmez)aj[/<*<'XE⣳̯*,~Qb$NW<$P)|+~nd6ܜCIylvXڮ&+4YdWT1+/[G  I`ٶv Ms!Oumy {b΍y!u 3}֠ek<w)l5f w"!ƺ6 ױ8vܯ'l&,}d`p/f~Xu2xRoᖜ2Ol9%&;Z `~;-{ay~Pzt_E {x|h+/vcٖc#IvUE9_G4IIQڋiQ̖lg;jeց pA՗>Ǜ*qj.B$:wčĖ7k2!!+hb7>^ t<7`"7s0Qe -NWUVXyuo@7Se?kOρԒ:N+^! ?04:RGYCO0F"Ey*ooUKV5n&ьV̄$&9Ҳc.#ew_)̮\Rk/Ih<;é.!`@{\6AjWG30N **:n_ ɮsSԣ|Zـ/PPiPqN}7f_`Un z-3_W~|^]?7lf1=6[a ٻW:>4UWA$ap.}3|D?N] >x ͇!γ1HN2\'^%1S¿y_%b?$vٹĹRnՁJ@P&MG/*4RSbЯ//Iٿ_Zh;e3]|0"ĽDze+tw3 i|jثeGl6HrKW7qf=?O%wcr:>J/h71;22=5p⩴hFA, g=Z~6@x ́FjHQa!"vpH(1IFX~ؓ+kqWUyfc,dk(7X2k!Ld7C`_Df~qa,Yo9T%e4 r1TjL7c׌ ZB5HǸ&d1CV IsE]#b ؑYNkywэfD- iMMZ㻗'2]7TN{kbe \\mG8.jIbW (Obu4%,hAіTt̹Ǘ#W-^l ;T qJN;xV]zq- 9 CĠk&౰+tSO1X%; '^ZІh7v͑} ?g#t:Itlpgn}E>c2VIcM.Itz^ATLKQwdtVbq x'o[㼏|OTpR):mgvRg3K =ּ3GМ  UNz~'@muyZaq?ըzxmfIqtNDuxS JM̦NH68UӋ6 BC&4AraS}GЩ~C*wbqH-sK2<-k"Mϋ qN{HX"G ( fpA_G|fEZm&;~j򘎝 ӳ9.ut֭ it6%f6E\:_sٕTKjW)S!.<"|\&̔%*}@+U>*'GCȽig~MenB92=fl5qYʪ8?a2Įx>X/e0;gjln[s$I^ӕnڦb̛N :p+bU:h.'EoF&D! )GYAiv]]jM6y˕< V|o{t%Y-y \YZ:+Ev%^Zcp+_Le)3 -UOhF۪jIW]Z}lY:j:F 7->p1pK$-,*_Մ@x9lnFe XtȮ3wzBƒ nh44x=I_i.1jO߭{L&@Ljʤc 7BC_;d#Wc| Ѹp&J}F:Zy+Ä(;fRg-oq?ѽ_zOacyi!%3(T oJpnoEϠ^|^\R*3Dsڸ|.$- OM(b<@Yn>*M51e&?o<'nƒ\T0:-57wld-[w_9:Q|Q -Oox磬&=/GiXB܎n^nSCn'nf[^ f[OX|!D?ٓ+JsC8(< XEI⺥_?ŗ>={}>ۋg_ ]=ь8W7}𱃁 Za=ߜU&>efX?sZdF=jЙv|2 u6r022> )r利EݢӋȡv&&/7D=0C8>ҟ%W71Lǽy|@/֚rR(Cl?w*‰2 1ڡ˨Vl F&@n$dhƓxdJ<ہޒw*kiG0DS@Ap#O͓ zqYx]RKnȭEk6΍۩WtazNR]1Vn_`>YquUDRQAL0}|T]A~y wkrlݶH-cM|QqoHqO133T믻uOYJsdMecַ @;aYN<)Z]Vu5f+!]8HK–Eqz/9' - Uj'P#*h=6\(0ee)7ɹsO/jST}[N3M4޵d-FU@Fa?/2ZRoGha>xn]%U]y /lwn_7|3/7y֭_Bln|h^5XnikOHfʒCrylBBaKIzbبBn_J ρ>dS:#q(}hmkrEL ǿvǒ`pY8M:N}7 jU'ey[Ήy(et@~U|]M˺QhM&m.٬" gqD$ReX[J_)l>WΌ,:;pyh7yXjO (Rtx]W6C C\#73x8ITqB )J"М퍳dْhVNV$ƚ7#6RWU-پ[FPGDzIF(29Bܷh4se=Lx K9Dv^^Oܱg'̗'x~$2lJڼ|c1! y)aɰ/18Uۉ!gC+O%$ሶ}v^oeisj)VZMiMG; tQErnU]QIXg"5Uּ/tWe njG?0찘/S[ Vjb &_+ef3x|܏k#Թ&'䢒9|uؘYXutk;]^ 'i30p0j232?].7O]-7mVf i%m`*G9OF~a+yY(\Fw&Iyq9|eTs3wGd2Or7kbHW1詝BPρ_ ?f wN~璯@Jv裏Ċ(36H )Ǟ ꯏ wȼ=| +OFѽ~lڹ3RFzJ}a*ryTLlyo{DߏR3B{ݹE^'z Ey{}|_3`OH-vV-v^ zbѤ+]& X .Pi/[{bgP@rN4+/g'XjM(@#Wfa_,d2:Ws û+:;)`W/T{eg0XvBcG|YC p?\ulA2O0Ճ5nD$"9nHxцLž#RiͤC1܀؊*>x^m fS&sm#cI٠E&jg0ѷj{d@I5/FM\N:<Kbȯln2[PWR~l|ҿҟnM^Q{;8n1uijůI^]ywqDQ$y@3Z'զAq?na;4jEmNмc=6ܙHnde?B!,|N[=ݸ'au#i) ]gK*} Uͺ! !I%4ȉal7ٰݵQۗs~A1ُFJ}eafvbbu9fQoj@Bk `uafcdk;.ۻfx l57-d֒S-1;|"9u`ğj7kXB ,S;/.g ?zE?BsiVYF;rUϾK \е \vCy]Bh88Q4u68 _ͧkH_ .z/g6nn) ǻfG7LKƧeN lbXnGΒw _2yo>~ʤσ. uzmsG=ږΝٳݟP4="vnK~o&pJdp -tNpq`ØH#`])ٶ_plPq&L+[ڗNۛ S$2ˋ9L0$;5g'I,"=o{A:#+ͥ`_iqs0Z5jR5لc̛WJ3/(T9DfOӑ0%u~6,%,אG aQPG6Hœ+Q~xsoQcuS!&H %|wM[efcrIF}]OLm@(=%'&/24KttEtn\{Fmw2)G}rz ^_arң-K%9‘=ߦ{}3&D tYnلڪ5Yxa@3:aͪI=A‘GX#_>1"mMx2j*ua CLJ)"Jm;>Du0dy4bZLSJO0b[twU-5e+%L}v<mɮ9l~4m<.PPrːpzƝG.xV۔2BRgp_s?1ĉ}_:&\ -F `sϜfzQtA~nk`}X^XRṉVB?u,R>aY|E8|AR3p}1*ꮂ2K+b]A|`SpIXZ=M~n;\y>%3))%7TZ\6'3HU.-Y밳6|=Ѹ1䦵ܴqO\TٖяG92t|P}&E]ꎕfLoi;i8x4MbTyH^hlPT9y&ŀ9z=΋d+#Շ)~aO'YqX.טU!S4-ds"L'rY)ʇ6q@5zmNukOzNIs.s[Ubd7&)+$m0(J#Tk8E#%jGFG*N݁n12x+@(%AM(]<^s>P$|DzFxczZ2Vz=̛A&*4o5iͫ;hw1{UՆ3|e8.˭7 \ƲSlntX_^DUF 1!l5G;Z˔&Cgu^JI<^$jd"i-5SPJd#aO5I1mj2iP 'Fl^#M#th{p=q#(dparkⷃ mmtm4}ص.`tYX~oj߼|&:o,[ne7zQԉJgOULNxt>.ͨNL/`+ca0h¹@.%oYϾ ٭/m|&Yl٨q'LH ˩f3)跭w/nO_@Q\߅9v^+~&;l= rZ/LWO'ߤ簾yfkTp?OVA%CT}F)ZŴy @}ːR7~zRK{մ.H`ܱNY]JgheS}uܽ;/a0#fև_.%@);I$魘T==m9<1NNnL%v){yG%4N+Io85寔v |TP,?]q[ŗ{le}$b{MdJmYKknܬxe_冈 9sg#4Olpno@`x.+%5Iëuf1` s $-W-xXY!…8.k_J4d>5wV,jvT϶ z'aFg1N>1QzKeAMn 0n}iJ`_;iʚއLbї(T4qR$'%ҖlNOGXJ&vn30Zj;Vpp>k1r sE16-v!ߘk AKNXɮݝyhdga9 /6 luV!2J;[pn< }ޡO !7mee9t:Uu"﨤q'%fWv&nf{Гl3TG ҽtqTRȝ.1GGKMo]&(ɶwL,V$HU=CJęVNvQ~ݴ]G?%S:HߓWby-WY/l,[ {|3 ?6>6)LMEG_C)_jZBʽTr땘#!A5!hf?^.jY.zr>32~^{.0\&A;?!FU5w\k߬?5U kf]N}BFbp,uiĭ lݱ4vx"nz_{봡ST Lvʃwv߻t릴FiD`aV/!Z'A:[E蓮>-㙏c{#KIhsz7ԏeҝß-Z&oz'Hχ*Ww}4uboxZW;4;_9s I)cJ,Wڃi!}c7 u'A0ƫ 0̿ja8/&;KBi/GqBېBEw.ztKKKQ9Ѭ_HW *%HİinId!sEb+z;=S !}$?nB<ܳ˭s踄?Tv[RK-XLo3sFkh5GE%ZXy! Rj~2M]o%ʷt3wJoP`!ޥTFǺmlMȆr @at^}mk'8:b:*M:ba97Lw=0[zl, 9ڨEMbtSf>(:s>_yց"SE@޼};ѺyX]xmK ;tMiK!6t #",}¬ӿ$ئ|V 0EZyDKP7El sQhtp -'OIL6ܞJ7u(]+ƥ,Y "3f q {Pe}"mwou*sGr+Oi `@Ws;/ߒM$Ssu L9p:-D0>E|!ɰ+ c*#"Y)$f]u -\%oqm^n' ts]:oUbNJŕk9SF"ҤB U0^'%Nwp##]}M֟* !n"Klc5^4ApK!v ^{f=k ̺Hrй=ﴦ;HY_- \KxPfaD 9+TKq@?~??r<7Qg?;ֻ2 w`ʹ&lMmp ls; s Xi5؁)Ч~h:H\<4uXG-(":]=zuպ]s Yһ~_z[ISXS]]t61DWAh[;Bw[,c_a{I͹%[O1cM??jt4h-uO wP7\Qpnd{䲁L"4*k9uDT {H>p~x4⺺ʥ9|HQA?Pv!IH=x=iTR=KhE漀^hp2ZVn"@ h8I59WXĸ7"ŵhjcפ<[ukt5=˕"m{T\:no܉lk@o5#dpeQunGrR̔iH /%P`[g0[a1c*ٰHC,SN~c]fqǨg'Rr%OO us7-WG%/"Irv9bnMW>2Nu xV~E:\<Cg5W |ERB'KWěSOwy)s51U&EIT+Vdw9{AQN~scޗW6eмw[+,$eŲ v~O֪Ob~$V a-`niQ1y֧PqAuQ]RQf$|ݔ%4)9Z%*zD('mAqey'UVPĜݩ+un2lG`k xQVT')@ź{vwGA9A_-)i5 YJBW!ę_7JjOH!d,tA5OcEKѤɃ SJraǓ5%.1XiS^/kz!K&Av=L$Uq_oXfPdx:yX;ƼP/!Z˨ o L<, \s~g9#uAOHaerŀoqd"ݼSfܵ ȢWf&5-xRd2GbIx~ť } | :meNY`'kpYE햕Y2 0{֏uҁ )u=?oiKxxn9;SDLռloNO$[ny7" T8>"g> e߰Qvtt}YKՖ'Nq&-'͡sl_NW͗1>..3;.+ ;;{>nw[') hes߹Tw (Hj#Wɿ{KK[I?Z5~8r6Bׯ!HӖnk'B>P_x<C9N*YxH8/v](8QqZ2L-M'qf0bvys-ʛ&㴗Hb{e{Gbb0:6.:z~]e%8q -.r FP-~p˺3~mKA󚔍"w7"ca%o)6 _&51X+Ph#9&@R 9@Y!q FhZ~09x#Texc<@hi`FZav p?~RG)(un)ϖ% *9UGB"bua]ѲU͆p&,UckbAi;eb <8t,Tq] ei+K/V*:6m\McaǖfCȅ$m>?d+^Oq˺̽LK0E=أNb}JaySójM(!CM֡\PI} {WQx>a <\='wMcFUJ.Dt?iSfg;g@`ffoU·2,pxw2%ŗ=i#l5 !cey/& ~'} S6܍/w}2_RYRd\sٍ(مw DnzCScIЂ<˝9ݳd&7He6eUJ,|$`0_qHJ'E:K]@!d^B DDW  &,I. Gd>jށT5tO8ae'Ht$_9`MUPNO0`0e%t}BbtʒNT`3\ yubYMծ_cx^$" dpּP.RMi43d{o$9#eET4Yr+|0T!Jב ^&KCr7Sbp}Cv F, J#l G"GJ'ص^~y&ŭZH1PU!{ޚlWzkQx2Nə7WF N:ӪKnl6o%r (gTn!JHGs"bL}ex >Y7;n%'Y Cө_/eb}Pמr@$]6.u`̸>~9aŖW[qmZB%ZI)%/nvw_ռl= z/NC/IΩ6>'v`ur\{hӾ2+r?Dolcee`Qxxz&L寓솈qy>)p}̀"3S uw;'izvne\f!qO/ڿ齠-˶לE*j~{xhⱎQ!)`ݾ6"^3ڂ3W)''-0]^vЃwhh>;sP@&'eBߙ]V#t:s$~]b4 PߙxЀMhkNl<'|f+>+>LfSr#1s.;Ǩ\={75՛tgAqxo#'!Ci +Svŏ452HQ r^1޵2HqpK*gz7.vlX2Lwlo'p66|-TI*Gs1qQVC3UϚ)Mn, {P4 U ų6qg\g Ƨh&λ*$Jj)az&ĵQN K9|i8\cWNY1fC̀3]\!k#E܁N.׷-tNogL5-QAb@eLc歌+a%xxAt՞=_+JlmYZ#|j5%N[3IGlsN 56.*z=CQ!N wÏڑἋ1`){bֲ! ,jw)!Ut9 7ZO>:V[$aj]^p#Ug}fݏ-dB=̵Or(A1\3)fѳo ^Rmew:MPڸFWrn[6g'C_[`y}0~^o8t_$}nr;jvqrt}vW}xs[QE?ϋ5f}P%׵ͧ)rN=S%f@5ҞLt$2T$?B_Z j 7s{e jܚ*Lt,l *,,:jtIhq4oXn\_RSǙ>J١=f/bYvǥ>}q\[mΛ(o M.itia Y [Rn=8b㥟O+a|x*='VGvL˥5^zi_ |EF@0.mۿβ x~nFЃ6=m~:`Ϩ?rcUb\[g< t&_(45?LvSvЂ9O6h!=ܾNҩsW.K;[7<}}M~z .aX'BƱ7+4my`J`˿Zc/V7U f$BI+RF/I,l9IsMC1*=h"Ol3zźT:xjD G&P]U`2 C % ͌6xjoz*rDhNsmkYw. eo`!)8Ԛu|=&}qQN뾅M]M;44]H0< &j}wfbO鉟q D/p.Pz z)qq?f~3=kƃ"+>hK|v_􊼲u9oIg_`o~o|GWoU>@dx"t[я&M (cnX׾V8vkNpo8_FySR=kOoil;}([ \M>xyA{{I ~.}mIN`+g-_΍Q<"]k{ߛb }M47N[F1Άg$7 AOw€&PGz9b_ȮĜ&&@z2kC$>x|nY.Ӣ(@#-RY^uKA= -a.@$ٗ'q'[g|ʥr=tqk ʹk[qS[l*Yad B*FW·. 7kкqsCZ-pW .]ݳr VgO#;nijJl̸ɺG1|NIi kJdae0_Hv^?57J=b`͐#u\q"f(w.gO?+H:YPUw(vT+öqM\t`+d>o[1o53m'%i*Uψ:C{#RocLC0UiQTP׉㈧nI\\nI$s-Yj"Dtұw:|+%ؐɅ B||wa 0 Wq-քC_U$GVgMj{*6^8< HyȦ`յ[=J{]rh݉Y:oV 'R3d{~hsraήGLMM%F!! `hlm~v{g-MG?{qqrpj0Tr[~Ѹ uMjwt½'ùN~PMUN}KX,$/wGdaŏAU+s΢S:eȍ_"|Cs7~k^Ŵzye[3Vpd-UeVkBYAnRԅ ťo<>&x#d{p{`8BGnfW^zUjD e۽L|.&Zɑ>bSgşn`_YhR|W-\snʼJ̿Vg]uó!gvOCOr_17צ}ObyY]nb,h23֞~4hͅ?+X"Z」i21K~)MqW)[|!Y,쩈wuᛀG2Ϸb-Vi*߷S8su2MOSqzNPGGG潼~8.ͥ*H<^gPʭ3mnFzt)hpϵUJ>|+JX/AapfC1H^ݬ(.rGh(R=7Ftx dY572]y꫿&9PM?V!{]1}V}Ю֖%4ZΒ/ ։{Pa 2X20(\DQ">B/|NDX\xݡCR:>QJ(0:C)ᢠlN@}l=1{ʷD7}7Ra3s_\^6xPcYfᓗ'Xt uψօK150Bsڄd^i.#yKB&N+!sL7I]871H C@43m oY#hΧMt+ G"x@}r k3t4yiPur [.*f55agť图kJ_e5Cx{Caq і@wtƩ=n|&bg PBOڢObRծL`O|[ݾ(~uW0;29 kn3?#m8R9ʔOu92>B@<.Sr{Oz}E'5o ;/ݢZ·bMq#M [@rb'IHSyw-Kߔ?>$0⍘ {COyohRx"[QE(j˒f C&sQ _c6Xʒm ]nˮn}86kmd, gfev@]"Y~Dl{.`tqSʾEˮ\{4z+:1e@ʋwSF=z[cKIY~dj;IA ZXJ4 cS!Er|~C<#(w*j&Z=̃JvK"~fn x :N3v^2bܑ4#Mѡ:Wfx8z%Kq,A:;٦}y cJ .[du'oS&NB޶tEakĩcy"[Ia`RnSX5O^>hQuNLѧk#ƃ-Zɢ |4vRD1YV9^fmAr)餿6vT%dBW=o^%Ls,~"1l sFx#>EA d}hj,x]`7,Q=F} i}ߎO{Zkk^lfNu7rDnO+C[bϤ_hXr\9s)'`PgE.[  ӽ]=y,&K4v5' ٷh xz$NCoh4g{~cs]X߇$h"7fX h]/Yd6nd3fj.IϮ M!'vz6K"'x% O!VIBUJR\r<-V;/PSq3l%jRƛ_'B,,3 hq,A8rvrNNo*UQW6̕^iZ@x1X}IPNUW9DU@DAl{X~鋿I.[2|Tp<ʽ 򛥖L*jl6uW!_MFjcJIsש?iV1uZB]h8ge,@oͽ{f?>ñGoV9H3-Eg\&{_/VT]$';M4u6ArI5R E\:EcV`viljG ~PB: (}\A{C2pu薍BMӦiFm=&Wg^m:ěg>.&M3.ד톏n#g -_ onQoP.HuO5!^}Z<݋ըkoɿDDᡚ|kb~R&0OXT? nkJLզSުNfX@V^l:U*ݢ^PS߄jaElPofk楄h 裚V9p= #Y@!m+5qퟤ5V yݦD{[QDl'-i]A -w!௹r"Oه Ҝ?#xCYUMh%lxawHe7Zc#95N2Y9ڦrj]$UvB"kW?ͦRno9I*>8kz`GԎ}Dp۱N(K^s+ $<]meo3{/=loOAr]1L%8A|O<99}*>^8'MsNv~]cћHhE{#({vk[(i]fvSoה(FUّ\D4h`C 'y2!pu 8*rJ-{f,հ&'w\y5xY{]au:nh]1OiYt5wq'majE:o5#x׉0S퐛^{'Y))R=vZ)Q'!Z$e̤bE#5X&s)9˜KrOT"V`%o&p9ܐ 4d#C&e{/^=5j\MQNi٨VG%';:r"]ApHnhOċY23Q$.P?bdF#7a@6ib\t͵/\3Q^:T &cSOmVV] ot,!`-m=JqW'hjF"n6wʑf! Y/deYw,)j蔚/ aA?3Su;fmMӚܚh $B'XXsu RurRtÅkzg: xv-< rx5Hkw8埓=?4æ_d h/.R\H^'gVi AI[Dzu_Iku_.lN$ 9s"~0H,Z΁2`S]^6H{IŹ' ?AQb[gq\ QQc1o F2砧O u-uAfQ+3= Dp)~>6pfTzm$onyIubvY,ogWѶEk/wBmT.To[ 6Կ{_ScoHLPdcxcsdY=C_*(VfQ8#XrB lpx"^E6Έ] wg1do2~t_Ƕ]/>;oCLŊMC؜-p;N |NA -W{lZ.P-:ènl%@=M?=p6Xy# W~ub-[LeuDnIkm5\%$i;rUg~׃Mclj 7-tA߱RiTO0z~r7%~dBѫC|tE݁T7)bkGֲPE+Ac狛E܍Z-h-u+8_zVe {`0p14_^`izK${m|u_ ɧj n2 MGtHtFIPa>'u+#ft?9YOkq^wͩi 0咯|h[sO|NT՗zwHwՊzhO 8F '#@>*O*J2$E<x&mg, ~%Ҹʬ ~bK3T(Ad3R:,f4ɍz- Gi|hBJ< lˮ")S4obȀ7GvWH-{fb$%Ud1Pa6NQg5<ԚggD&bV[i aү}fe-Oa|f}y|{LE %^FPZ`ɷ\\i乮#{nѼC @t~tU?pd  ] TN\jWW5m G`{lkjnTi<^u h*ssxgJ'C`8ys/]>lJ B涶NJKG9doEsICy=aDpo6-eViӸQnyg5kG[M u2jQ-V3 Avc_Kʫpkr2\YnWV3з;/AT\tFA4]E,T>./}m0?_u) ^D#9?pnMIuyhyˋe=VM$ܣ=kt2 G9:B]_h___^ " ]Ou}B2A'@NFj1W: 4\B&l4- y )L{X>.$vZ_8@MUTWԜ*pfI^wb5VC!-  ^,G֒d40;Q#mPHUnf؇Kz z;عu. .qpw$dڔ|rxd(d˵$ }RzPjmpX,9QL,NqLxSm5\-R= vlQOR{H)Bw+:Y Ml)MW&^4%f]׽B-|} ?BѸLd1R=-HlLg{:=E/ő vj[̓Ck;T퓢MuꁭhX ҉܌X(U#6e+RlFuFa 0LOℴΣʃhJ5(5py"G0d5qSPr"8smax-:福T9sZWS0j$3.dVw֐7nUvb)w} CO3_,Z;{>ZYozԵ\${6d4 /JX1$z~jO &Wr8lyc|`Ϥ2.W k܎,@B\S2h&fPd%WH81)`7&M{NMQi6jDpl5mJaoLO9R}71mlj㲅,'{>| O'k^zMM6aZRoOidL} mdlLmYmrOɤL(/e`䲹p?fJɰ+^j;hȩ t{ٍE/f|~nj/텋ֈ=6eTSA~wE`B]#?W]G;< gx5/I/lgIנ'/Ot^`ȍN_5C }kgm)B2eEJֆmc1C2_tg|Wrj/U,nD]&~YhVsრO sO+lo}<`dWf(TZwBZ<iT Y><\x'.!1AQBւ6' SGCkaL.ed5Pͣ~OBim0+#00Pt?ޜmT*T˟^m紝kiI&VhvN)V2͈mfl>'90.Hzow)h3m״zƆW\L {[8%yMz٤{zdzc0[2ZP6*N]@u]wۜq1IEڙn1>Bx }0{ഒb{$* oa1u͌_"l1}rteP7D aI>ռH7㗟:ynCwhAJW3&8z6`u X4ňhĥQ+6"xÞNFm<7$X_j$@2rĻY|v<J(?`m9=4ŵ|zA+ͤEʥUm|6߹5`PV$b"n (ڕzp8?c3J"FƢ3n u~5!B . ]d}g=_0WW[nФ 9taR-}c*!rX0ۄM`s`~7|ߙ*X\!.&);Iy(U*MS vx8e_&5G!alc%S@FnP0=Y..RWt`^,`c$[;&We;1+!@.Z> :D|wTY(%UzBR>9zc+ 9ܶSE&#6B53pa5^)-b`0,LF2QL gn`4 #jX z<7& jqҿRwCƗu\l;OjT{9g,Qrf+VkeZ-MYu3jdJn:gw7RU،I/}՚~璹2Y -.U|Wy3B79,7PW!J r &:t\QͭgB^Om"i@`[}"չyiLΆ}YkMs`LaWkOViTA]fO]A :ND%caढ9uhKCB;`ۃ Ťb[ȒxűL!/,hsroxE~eYNfrnjΜ.St;χ'41XèqD!_'rI Gۤ?vxyɇ< |H-GX|.h ޳Pr/APLh6,!5=1JkaHo }7&[6ƗpWepX+V|3ûTeƃalSЩ>E̵?Pu,y>pq8SND .dckdJq>6`SO]ߧD_$C'Tx^=]'  (DoBn[ֵ멟p8gtP35}^mpV߶x] ;;n/)qFގS>#1A+R&:ٚ&֚᱉J[1_C $?9K9~;"Y6&wй?[]V{uB զ *2; Y K}3%o˭,1х48Q3ey4?bN$)Ts7wi Kg"Ơ]՘SudO[Kבmd!/:2F+d9EVG;y F\Ղ $4q11T ;"Xi55*~Ek%W'?k/(Ue#5ѬDnOokŒJmJP3e lM? s\NfGAHh#(}6yj cˠ_Kc0罌(c0e\[Eheno>\ p*e|Սd^4 /FU 甲~E!Zx*5;8I2ݎJtr/t#TE9N˥ M]{lH3P'M;jYF_v==P!m+".ezG%i@Opwof`{1tS&r5r =Uș|ffZ>FT̰?Δ>1h$&c;ygByu@4?njMmL_"?4?Bg[,TˀʘnXUNg&߶p8{e <@>О6S9sFH0|]RGZ`;S#4>"vz_(]i V,ujh&h+eZRh .q+CIɘuևۃBecW?c k߈srlc^7S;b _!ޝ&W0ݾpQwXLݏs*,V7+rAۻuWdz$׻迏o!R`#hhxP s?~(NߌuṾO=6a YFn 8zu5@'G'S Pqtw^(ڊW9=uiqR|I]|_$g &\ B8q$u7P j=0ا,aKl(Ԣ#̢.[Ysy`~\,> ̟gQ>EV@U{gb^ gW3m~t4BCzMI|^K#+zTkmȷlW.\H|![psɏE /wGc֐o!~FJ(5ajKi>B=(MS:;hS0t9g ItaW^M |7vz{tB.ݵ$|dw}xZ#O;Ӛ` G nFƊ^DL>},@e/ #ÓN<מ1q'#HC^@yd 7w-3tinO#(~j6ҵq8zOkrDS Y"Sf &ÊSj0Yy*cAӫ.;6#ˋ7@>Q 0ZmPx"tV^ooyHfsA7\st0qxĭ.cŊN'įڔQe8:e)zӘ4#rΛ#inH\Q^@-@u7Rk478cXKQ+8T͑=NE[y7wC5+P T;O7vv".Ow폯뱝A܁*v`cAr?ǦBH11w>Vm:g4bJ-$S>!oWC"qVx+AS@aHtA)قs 1͑ ;g]mSEwRüKB q V^AK}|KŁwԅ``D`wkQ7 ˆTmjF9 ΫʨR> cDKt׌O&W*V#cױin,T.>ɜY|(=nVW~MeP{_ ƿ8z} 3YЍGYC§qʽD->|FQnT-͐7b)cMnkoź!Z\%Ď+xɢHRacӶ6 THiL3t PoLmRQ 4GH_'/sVlXijǟA3r74/GARQYk` Op $OG ;' M|'޼HHrM>>߃` I im}sonSbgTU*2ZQL;2 7>'\ruiz,\ofZ8/X^&?z :5 7{HL*: cfz.3CDȿd&ά>z/oY1..Am,>K>faJ,^1~Kowd7BVn-Vk|~JZ;i|?庑h٬=zĖ 7th& dhFU!mB%]֤OjAe>/}59r4Zsog,&b5OO ?ĀU6-cMBP:<NϦ|l/~!MUqj= l$o꽘}/IՔkϊHROeG0:ػn\0=0خcT!6eG|FY„Тf˒g:շbQU91ŸC^H4XCp7u ,q^Ĵ{Y;+Ė!F g=ū>,d\sQ4;ʂFYta*,'5D}9k"YluKJ1g&6 <3E!fE9{O0|XB(Cۻ|ohs* 3+J@0ym!5}v\͇^4&uSQ|F7;wi _Ґm932kILiz,UC7&ٸ&q/t[Q)2{P^{c/yKTݰo&W`f27#HJ6A*QRPymg-!F:iesxVd2ZM-O<ǽeCԇa4 B Da0_.Eồ0Kd1܄Ǣ`~?kއOe oA[5<)!fuiLO?қ{oEǶ,)$#[ jR.]8: Nwg5Yx00:.f\5R)[H-bTzLٸ}nή"VOە-sJo0!PʝQy nx,UGan0%w-jO03ߨJ+JNv 6|$oDh)]?U>ٮspx׌(l],JšzUҕpE5љk+ tsgFG@ftVǻ G![R`)£)?di'pHH礙w,`u֌+m{NUPjRUJGrߖȰn5enŢWW1lqюY.ʌ4#u[qT(7\2Scm\_Ȼ1M9s(4_aa›=1є㥄#]# bWA兽a`ںi~W~)Ǖ9f|h`r<- ?<:qO_a-;yJS>lUgy}l:ؑQ۟ӏں"ybWqW7#Y xX~.n l:jr^Hdݒv]8TiLn+v؄B\|5'B TsLߴ ӗ&n8o <ꏻi1[*'jzX#{5ͪ"|&Tqxw$pV]pOaT-fݪJ= I3&OJY;ǂ=^ҺbX @ؼ&[8k.VZ76݌k9ɝ}fvg6T1 s.Q8yIy8SA^ ^Ep1c!ŤE,ij$EvhfX}|Tv@E Sث۪kٴI1DԳͭitMP=Km5o,#?m3i`[O:W ?1_Oy"*wHj7= خWr4e4os `n䒣U$3Xe$k0%3۸?C+slZp͵k-0Dn;'ewC՞㦉QOfvyxed[s-s#_'@U(%Ѵ҃B㒝DЍ0a3tso2 /r{3qxg]I_P\fK磑WQAZ54a؀wsN|f׶)']!yLJFэ>ktϨ"Gn|w$NM)#C.z#,5:7LJUck* ~Nn=JA|/KcJ2[kzWGj3}}E>Ubdz#=@~.O=d5E5ŲS%Odfe~kXS/ž❠Nx&׷AڬZM+\bbroQ|M q&,Sw&4P)sbLH 3 #q1w=)&ǘ=08 V5ZmGs=FCna tX/S*D){j|Q)TJ+כݖʥ`S7DT;JYOZ}wKjF?d?4q۝@/؉0uplSfQƁjjtLnIүNh#̚+-ZՇz`I|UbQ3\+զ8JX? ?Ef-|kh\Q0vM*7;[K_%-A:h֔|d΋Ji-4zj %@a5L_v^ȃ+G4aQUi9!Vb>[Dadj WM}PDtHIťc8#w=R0Ґ cC>}C7saˮ)av%|h&qZFnKWnWR C18 HPE#) $ek;Y`j=4&{r1'Lk%˥Pg22xs} V&#nFNx)}< C1SREcܹxvW8G #ߔBk6"7Q:$H͢|[J= ؙXƽj{ ߛbnL=Y,YsOqW?Zًߤ^B9SV_A[+\) zj~l4b)Uq̞/[=ҖL~'L|TTKtzưh1LRfN)A=UJ$Iܔxɺ˜ao -ͅB; SpEՃh{*t\;Z' YF?k>Xa\`k1ag߱0[V H3NٚRiڊ zm\iK~PO@Ŵ`;æuqHJ@r?${'Ψ/ dd-c}.\8sa4Ё>iL {Cڢo#9XZc7MyqRUHVrKS {-z`IlM֋rq]^yH' y(/|YC#O̵SYk߻Z!0[Ġx${9 MtLe^pX'QJD,Kc6's_yƕ+_daIIaj<̉D)w/-,1ѻ9\ w;uF`t\9vL?EʮL6j`?z,w $Xr!fbaJFfב,0tf6U/綸p̪~beEl}u9^„U2kk$AR\&E3ltYƩrq@6CX'~z156 hL6_Jm1_>R:@&'>s8FÑO[" gV͑7ӌ?|%&zh^eKS~H +KV&o3&[bY-ro+yW"6ґ -=m/`fwe D7[kh5QZ@M~2z1+/aHMȴ:c5 Ob~HϥȆ&]L0xMZxz5&dQH_yZ>jzq6F0d 0rD!0I.riO2#R.T5WmhAײYyHQe$d=)t6ydcIV惿_<ٸzdcc־zk:- z,pg]1Ds(@3լX΀PTmB}A ©ǖ"#.$J fV]*ܸ f}kXNy㾭exg*cti&uKX\;M&W:l-S* k4v4CV:CAI,GVkL1Z%eOo+\~G j?&hziۼʴ(mX`ir'/9贌ωiE=S{=,R8&}27Csm)+?'?$.a q 9 XcovSh*AYz| ] 模QwSǝ$iN``%#[a5ۣ #\]·V|uYޒ6u_S~\7 br`w%2xC}BXǓ8gFqvI߂7Sp|yHe!NygmLG>-K{|WY 럾lJ'騒!|*TmQO \6EUk_gjﺔw8$?/n事R _o̺n8>=Lk`[mX mnE:6c)JvEPELvFuyhBHO \hϒ*a&`=+$ނΟGbz7.Ͷkd뀬.;FXU.T1BpkPF\Fu;Zey + N M@ՠ*Ǎծv`pu,Dq4-?r _ VG3WzR#: -yFe-Ć#U~?kQ$ż, -w /:cC$Fcq,s/Щ?g3g$r돮Y'qr 8;VMVM#[ hMܕƐΚմspr,\n H,ޜGl!ƽ],!SǑՍ4p5efĚK֭6\}97`֥B$,R76--xWt$7? 'f=%\ޏ!øqe[=K 9vDX;}yzb{l3`ώh9~wU ~^!Ɍh#ƽZ8[+O 'Ϝ{2/ܥG(kїæˏ<٠]8"j:]-S`q{k 6& ޭV۽_-Q[\/[ 8:,Z3@+TA*u yyo^'\Z|=ڼ m^_4V@Ff|1#%19bi׌jOf,O;Xۭ~!7 QE4\~58=8AK")TQRn>Il6 փ\ <[F0`ü\!W Q "k:$XbO\zv :K,d~OP!#_eӅ\J9Aq;%`ةHksu)p0:X8q-~F*Js %?I^/yMts9󜯘DWs8["B~ ܌Sr6Vy=Pu dA[0lA,?wc^pycTbV8g')6'qQo8=WozK^(CyK;SX'\rȞ01<8k4J={sʯO P#p)%htmUxi%yDLls2žZy.:yy LԜSۼ_=֏I27,4M:g1Q[ٺ)h\*rc64Fڷ=UK*20AtDyI'&*:揬4M^,n[]N5%R>B`F[{o-)(UCu3 yQvL? .%T9ũtMfu_loWGvQ|Oy |b9`Ow7ctp QN7fyA\O߈͝ckqg{O%OOP,nqn@.$O<jʬqOt/{T/z}vjwi:}ֱ P1b[nG˄|g ,܉AOժ[ \V)ΎOtXqM3r} )pJ!ǑIV9;M_*kja H_te[x~8AfJ19Wm[;rYB'0 ne䋋|~4`cܵWgtR8!<R(j,Z9:XkʨZB$xh#CccȢ5eݪ-B%#-1vP?ઍOnl20k6殾 Lwf@ @h`re,QnܯL詂?ICv_! }w,:[ V{[MN [=ej6ACO[?RPd;W<\ի(<'(Hm޹YGNOIhL{l"*_@3&0 ;(l~v[z1+?qCxYW=w 6IyLA!vPԧ2-Nӷ)dgAj;Gq T`f.T1P#H%%'_;nI~X9!*ӭ ɦo5$dCa7Cd*2APv "%k:cBDz*3ɚv.%*sBB"L,5ޟsҩ7$!^ 4N<"˗Yq.HOô$S>zXt{^(ԣsq+)}sh )^]Xgsa ofb,TEm2%l3#__,{ q|rJt#sF3*}T8[xE]za2K5}.s(u>Pf1ӠJ sfŸyI 7Y =mA1,.W=`IŸ! s+_^рf:PN6uZ[F5f,hʹhpk̚ɵu;8izaxS˗19EG]M&WlBx!OT.I@B4^fH{l*lidjvNx?XwmdySdĄ:Ŕ_K_ri/aeyv݇"~Ά-2H|~| WzXv-CXpMph͝j2| J $8<2 Y Yɳ'偷B&+"/Xi*N#+kϏ|o3j,aJs +AGo ;ET >d.+⁂wYv4c`͎ސAϻ ੶NO6#bpv Ť6*K|\[=>B{@iڬ3 .Eܠ>w*_rաˌO IتkWxhɒ/_v}p:ޗ׃sAc]z$9{&E@᪅xqhhQJ|Wwdr~is#| R2ū`1_]? 2\Fj0 ]6`JMĭC^>$DM^) wKO'ʦܷ:XQB=-LGUbSR F{,rl/6!L("OKAャ/8Yg'JPX[&'\F!RI#7l.CP±f3Qm@CpAaVg4Ӑwn)1Fu%Ha2ʛUkʐ}҉C\6e JGnťRֲ_`Uy`R*VܘݱBG['^Æ2z^ADžBOy,Gfa)3R˴3?{1y k6_5D啺uE_J\Nh@9v.fv:aY_{~#xv}iA8VZA$:&bZ{%h(xB@5I(/ggrՔڲL@I-/yh' ‘8T(7VMJĘ%͔gV ,)V]ɽ;%QCb!9wT5Qx0.΄Q+&'Fb{3җmhKWNK֫4QʕD$II?W?T^'2)*Fo" 1`tuǸ7XR˄< `Aƶrñ_%@$9Dq˯ !%Xβ%ĉ)! tD74]l.jgvEC⥵b3FN)厳*=a=ںnVskeJm>$X.y2?$'&) 2淘Z|ƥOնduRpGmr|-3=+䒬 0\\}҂5aS٥V0oFz$}8'}[ҌȌ~$kvly@Σ.[3 C)Bx8tc|4(tOi/eOMelҒmXnvʕvfB6 d nB| Ssz" +faہTS/9y(Rq*L.W|JGΟ1F!mbE/,C[fG&%9vphm9i1V>Zf:ڀ*h8--Zv Yhg0t$LhC:Ч,)kƥ[ٶ=IK]t) sdA$A1&=!kZX_EnN9m0]QkÓzAbݳ^1NMq{MŸnDabr]0#3*8;[zeuV}SM%&&BO1jéd;ڰS]A1Kσ#S <Рv׾vږK(r~w`:XעaU}Z]j]vԚoz8T= ; NB]u<*pJ'С$^J~͸Lb ipl{5ȑad*1 uBio΃7/_vVYT y ;]Ts@ GeH_<̀:T5l1o @l(~ڌ=ufTԩh벭| Q'J ZLnB;N'sKx3WqX4v}X/=ԒT 6*&)n`@2L2)%ٍ=Ukb1BD? ӬB]Hs,Ԍ BzU#=XZc\S/L\Q:8zNulш1Zlu ~:S6CiOEJNIwJ~f;TZ&%KSӣ% C'W@TSGjhFqwϕ\md:Z5[зDB➾( 6+0)EcuX(W*U!l{#vk9yCw;"< W(3d "}s|k\$'$!WMKft2`bq H8I*h9Z fmӮ<ѣ'-t[TW@%,uěBq0.2Ȅd62ìՖ]+L-GBx]j`ui>290~z{ 8= :̹Rrݪ^ruN.ee=wsҁ{{+0alznSV; Q= ;8 k0sF}6T$+c40z'$4kX¤pEaEt XyC7?l'Bܑ6eAUbkV/ 8KtX'6=G:x4b*=i8[& 44aUktdqտݶj2һoE噜s:0!(mP`$$8K!F6n;PG R6$qX7Dٕ2J㙎C: izya^3g,D6d5fgC: v7_>G'0JKA͡wv\ҪW$7u?2H4M^رmO5"/5|| Ke%Q ~;mɾI֕wBdոl h >6֬@ƫߟIV^m`R,xXztdzn1c5vt-5 ,hN`O׳] ˏXGg 7ll^]3iw(*Ձ"3$5$,wy|[fusF(붃1Bg6u$lI*~~;ʏq=4q#xR'{ô.uW\Wb%fjaY>[4)8vOuU .goAߍߡmϣ%8Lʴ?6wzE;:Zou3V W K;RKU=6p Y?仛>T`@h<}A~~մ 3. aejH"~NCoԽ^6_L*_ՉH @Hs߬sdnj_ͩSWⷧ tc=VѥWDqô4[לՒq{+=U℃Id3jgfGs)ۆo)mj##bHBHv[P? {cmptYZ1Qfຘo2b[~ HyT`6!I^̨4es #M T^gIp AD6D) 7W 6*ĴMtE?5&v DQOw&M 8v(+f$4N ,-$}$Q QZ-Ud[dOdp+}ekm`.N%bG;bЬ/`V?Xa[H_gGu lP}J~_ (F`}|?08>y-2\:vJJjMK': E fd$AlJicɄgGV۩;n Pywj!oTQcG#Ljs!:cx!Gl4h׆,wֽVVޑN7!4q6mypjU6a9 [钘skw!MĦXPsN";Ԋԓbef{Xu]Be8C2?FpEw 6q﹊!7'" #hRcFBZ`[;p os8`0|C#Ʀڴ[\\UƁ4qck!Q4m԰c(!E1i{jYdaª=Hy3_aP(5lQQ#$lڐR3g(˰0|n2n^5v(]w)Y5R8j=ӃOA޴nhR׭!C۱war$-č >*+ntz;PS%=˳A峠ym eM+0N\=`y^0u~zP;^$n-6"d$)G%NVUpP!c, FPS3y_ڊyS[xŶ;1P8WΉ:£' .5u Wgw &S_"+G^vK4d7E7HLم0f=S>S7\[((:H }pOŜܾ\SK\>lq!;w YqPKq;zVl\un]7N@ҀC5T\<*>XSh^[T >svUfvc⤇jA:Kl-Ȯ*45M(}4G**7[=i.^b0|8Ro` MX}WQ;OwKӪqhFCG{,#J՞NqRõ&$53?j.  bmS tCwRHB,PL6CsG9MTWXSNe(pݒ6YAІ] Sbt^1|JNyM;>k/6ex"t@~oӝ !lAf~dO1qhNp|dqH6VetW^dX?f@+(+ kKp#k xZ,Y.Ӭs|w7Ac^{mBΊϙzmN>v6ir[#;m"Bevt.D@L2<1|!)Wd4W*i*좢ϮK=OEjiꘋjt%fSo^xi]bfןTn@Tu=V,9z h@L"2;r'3 _s)ޏHAw$T㻨?R yk,߻4}.WbAoJQzo=ώ@9 m_J"Z,3PTP2PQTM0b@T4n/l1Z.g]~GB*\b# OASoE 8!IE%!03pMҲ{1EhŷY+,1lGXSQKaH4n2{+p1*&(+׵H]SXU^V(!d*zۇ.6S>\-[u WĈ~m GRi'FǮvB21=AIgGcFR S !8P1lK,;{Q6I[0#F-=e1uiwԀ7#}ۆ:o'I$F69# "C:l+f"_1Er1l r{T#n2WڦNC|H:RJ"1FK cxV&ocR*K_-6@vtPJ*x@Sq[ͳ,`Z33C\֯x'2LvvT$CgFz>oaWjQ9T)Fa]QR8d%_Dn.W?l1O4`u}%#CgLԒ}#kd.UDŽ9s8AkEܬzi-J| Uק@n?2eAgMqJVaRDUۄ%sR&ZHaTh -H,f&.Mvu].`A1#331CR jґz uC~xgl WXYuTPpJ;`XK"vAS1# q/w*'^lo׈YKm4RcV~Qجum:sK| Q«Tqn߁,c1v(v$ʧVŌ#~dr˧)TACPN5O~!S|jө* 旴P+K S4`k(@}~0z _Nt\|B6b,# ? bcLY4^ޣVE}ǝ}pW+SE' ??Q/fܪQkf?(2r$}_e ^ưnVvskwu?O@8:Ç;a[/E*39j RT+UC:c-ٔaJ#no]v z  L}lIyhގz>gxX|7,UJxw IivUr`|gUGZdA6Q#M:6JxLudYceC:q(n*.UqNKNj ҕ-dT[5L.s8bN( Dՙt ƨzm^Y`i,]y]?{ʎZx'>RǮ E՝Z9iTLWRdhX5x*+ P @q9EWrNk.O&I>+EmḆ]Yz,gL돿{rŰh<(B0Fk{>&|Q&,ʉe[>Hd)zWʤb~a9h2A,^U"8dr&"\E.kQyXLAMYK*!UVRUDB?/kNc>8SoKm*>MhhKرöbJc+moX"ƤޖFVRuDwH(:kKpW݄XWhFN #>$p7XթvXcZM#Y70ܘ*D߁ע\bAuqsCgQZ6GK1?kW NQ6sEtF>\>[M<ޅեJt:m$HUjѱ[rMb\KC^M$/. u;~O>|YW [I:'E` OmRw$.ߓg'=b'h=5N!Yw3,_ ۴shQnVi08z^%͜ ?hWɸ ұU(0(>FZ`T̽ 䌦e6vqꐙMf2@&2jo i #VY(g߱ Z-|l)YDWRP>_z]C4?r&vN}wpH)";(2FR);pA}TLe wf=Q>L vԯ47 v&o:hWhkJ".-x)؊4|-MKl:_".3j%&\<$p /%U'wr NwR$mbרnk#t4U5sNW8ixB{"L-=@ \}|[#~G)7- |7zg~40~C1sfpy>J-ufZm(}q}[]>9|] zC%hsD8鍩t-VHZ!FfIؓ~= `O0Y4 xV.FX楡OM J]ՈQÆN4$+g EGN 'cîLw8nm24@~;IoU#sR ̎I+YG6\Z W+]:nu ~7:~2vz0~'YLZY~m &y_wv*/R=7^$aFaxUmzAgA݅m1.9э+^ W%;=r~ԡA8^!PHq ƇnrB.VoAsvnJv{:Q/H !hO\ z)R߲.! r'&jy#'z艻!mx$$L<UzuEچVTjqE\+Km06Hy:n ["d3TͅgСw‚*M2|pQ"5:eDG8 䫓yӣ^ [jMlY"N"00CLW$O~ .q*& GwoRSj q4 qc_9϶֥0F4)2&,kVNP<v<5[ŕƘgZ,7J*SQQNM)P*Pm6I"32e) @m^=93'2ӡf~ $ɢ@6kWFl#a4-т ?-om20iͺcp00vDvW tht6Ҡw &xv6huwɪ\XTJܒݞ/CWUZjϤ/:u}ϗW!;J)Z񂀆 ^,7KnCQ t&%U!a8kFOdSS3[kS!vԄyN?"妤.bJ!-HLՅ"sW9#p,pUbJZM3_:ٕX v N ÈKE@{Z5ͳ#$JMV${P f$pYA6`]ZYs^ᏍI1roVt'kZJ=85xw4vMgnĩYz}Ǩn\uL1󣍄N.ĝV /"v8oLc u>od7z?&RŪw SGҝCDcOzV@sWGbUUp[TMޫިE>9obRAظ>KMi4'sYH EO;:RB(}{`IʣK2X8u$`"b|BӇ2HZۚ1uO2,Xc(?>TDh eDҊT_aҦ熖W+%X~luE{,9W<^Y16.oy&A#Ǟ4ڛk"QC\[Ce'f@XƍgˊأF}NdÆ` .v P6x[bffu!SrF&. p(@9i -Ș8oOSePy8ػb."pj,#w{J.Ĭh &КKW/onG .kwhF20[HD7l:%->S&FE`5VA& M .#H$<t_Tp]ƙ=j<'ͼ!S6h.v8߷cĬ4at&5DXTtvRbݤДΡtĜ%F䘽Ѧ" wK򔖔.aM_9_3E2i3wy<~V^eIq~ʛ1~UVL1CP`@MXs5}. 8 ^C0w:tET~t)8/{gh׉ .H,[˩9KezsΧB1TO3}#'*((=WElP*쪄0fl+Y`:1Z{[(x[W Afg7{h9I-KiScI}/f6UaFU(bI^>uks>pE,qDZt18;(N ]η>#c}3is0fP{|m6o u;lxh&c3;םґ2[EK1L~:m.hFME@+ ,z#g_MaO#}u4V.մH\/# Lvg#,j9^$,ףÅ2(HHcOV8JW?C<{ ?AJLhGVIO0E?)Q}XX|cDK]'l(*{|Ztt:O\]|A[ߙf)ыf4{y}~WPd`z¨U6TJNPs+&ѬTJl-2\Huo>c\JbA,]6m0-.52BWͅ ݺл MY'xF慴eQ%yKrSZWk p F$@i |Ho?!ZacEBZWXT#QCq@j4!ꇏbM)Mz`Ciz"u8QaƟ04 ^Az\m\0#TJ 3ڬ 4%Vp[(SlG rRï?8?]Ha D iE(r87xT ({auhttb^&۸Z5/~0peq3{J/Xn]#]n= ,jޥ6'xős2^IUnT! ?wP&22Rn9ܻC0 0HBxʇg6'xfdlkEPlg:]@s΍riU(p| OFLc_ 8Y:I7}'?v弤їH`9ʕ 1>G>Ha|ĕMJPg:QIT=vƖ7uFM#k$U1?8e JhR7h * A 4GHZdik2x<=Şs3;/IKݣ3ڠKi揰5%qgC)P1N.֮NV̐'DU ƫǦ &걝gvd.EݤlefeV[IZ 6bBڌi:\T9sngcԜxSkC{|(^ k tKOVt;&zS>y0`VVg*cBT^cA,;"VM_m1kIoy1%IMۧzZOkMuDT^SU-m|QېcE?;/cڷNlkr}XD5y*1b|tPo9aIWPՕv)RLv lE/6ݦܸ!%PZJ 1Pdlɪb`!~&ozÛ:;pR=N?mU&mq&F?=.B~E/  N>HS`Xyer(P.84 @'>J@F9`$7c q$ '!!W'=c"d47#crC*(ʋ{xyӰ"m$#+odG5ځք΁/9H{(dC}1Ѣ)9o pRDOphXi}PqQQXa=t~ix^ KVC9{C5ĝAN#/s-'/2li9ewN Mk"ewXeuAVj(|CLv(1kR#@*kP@NQ ^G)Naf:Bni+%o4ʌo@l[IA4 ҷZ]{^(Xxې;*̸&b`$* >'jy)YsADQ7Qᯥ0W9LoղV`vMw,UF>&KτyЯ9cfm͜ P%6Ѥ]|Ѧ](hR0%*KN1{fx(kplEsb n÷8} v|@}IKi75ع#9ee|1.Gûs@pvؿNZ&ʏs%L>>w }i~Qsas~[>sةh~w]ľn~{lH gV YS?&tscn6O<"N~ D;=ގ:Eaڋ-N@ƴ73tLoBg>O<˹:PpmW8 84p7z[3*xAK7+XCtV*=M-"Z+`B펬Zc_=P{b[1BQD\P^NIAI_pHLj[~e'XbPp/s{Gpb]'\1i1/%323_I bHIi3ZU&]_oR! ؠX&GؠG'ű8c_sg1@J- Dgj%a,Bmri<^{nSە2#@Ą ɊM yD<϶5CVŽ#8S☨_) AbwLfGSF>;(ʛG? W ԻhGGaA޺q4_$f݅7W>&Ə'Ga^-?xE,M6yRHDQ9~ @oou!?{>='= ̇ͅ_s4ڇC5_;vֻ'$TY\unVTþV[ң)_dj +5~$峲קL~ Ys,qu ׵;%v% W}`,jI} Y &XLU%NCiy$=ɉ%4u ߁c\Йp*o>@xJ&uPѾP?qϐlIVd l(B%;. q-Hoe}@sB_ + M?8ԗlomtWjܧr@P%(!PjPѵ/C~@F= }XԃʨPFΊu?WHw^&v"D+QzJFoڙ1QBkL-:؜]#qz&ڽ8dւfD|LX5"yP2<M^K{vFC>G:KZK.|yi~e_O<6L MVOJAR#/槄??z;,b&brB1C3:tL7FI-nnƌLܴ*4\4YFnƱ/Qo,JZ}{o$*X5 Afip2`f>UNU䘱ѩ@hE*[D")a+_4Ytiw@ CK%jH.{؍(O.ɟ`UAeZ,Oy:o?s?~~ΙZǾ }~q_wZ[lٹܿG !A7— ^/3]>;_a:.l3!wӦC_(dZ*Ѭ.iiFg O!jp.qR|6;!~BvFv8- ([,ꏪÑDhHB]tҊM6 )OC-1B%yF3)4Tp#<wx @IMP-HBWmic桇/f?(DemI.r%˰l'y\qSF7[Íia7-z)"zd TD);,X IIN s*xfU^5rY5GdiztOgd$S$pLـIP!#h&Dnب֟h-jmx,+[.-,l:6lf>omx$eMףH^=`s)=+Sv )H*dV0mJ?=i=fJL|TP ="9;TZյ s87}ew `/ FPxPޅҀ8YX'A{B&_FADSF#fAgTqFAVmNOVͩX,,ྤ;K!n?pR|#XMtDm|BHdn@8ςl .) OcV֯G#2oߧEݢv/CJGå5Y _4]MծG޽#G:~N鬜;_ݻoJ;(.+Μq}kyҭ~߿|o:6Wb"!DW+n XY(1τ9^7vldgӮ/͟BXrfr4z.ȽirʍLWIɰI}^59cG0wԙM=:X^6я˺ [T-{O4D3s "l&i[milŇOX:7#Hvfmp'GD?&֑oEVR/7*B ίk+8w$>5!OPl_mH䂬PԀ0Y4+j!O(t-HL@ Ti$X(SaRޠj֊)W閘% qk)8ʵR `TpK4&?+#1#Z5g;cBݓB!3DV#([ȼ$(-;, ?%?8f/GB˒'<1jEEER13ъ Jiq6B!E"grYIËP: dTLZlkq pWz_\Bir: E]o] ")I *ݏ1nx4 wnOE6 efsfKLyPbURU\T[ISދ @4ĹI%ѐ)C %W'v_TyTli䤀L2y}zlPbQXVZVR\ZxҴՔtDG;|C#yõMHDYKv./5WTYԚr1-xZ,X|0ذOTQO/+/g5B c͎Aul+?5/$%O hYqG7_7.oBJB"ݨ#nk˒e?әؙR`q"xbUK KTFK7Hz\Zq38UM#p+,a_zEͬ t^([y?4L+n%z ]pqALAepr[ڴRLq!8F۶8uu#2Z4A|`A͚'x*.ZIR;MJzYU\ t# }S^~tF,t9u&;)W"Ьkad?b~fF*-cz E)FJ#_/=;97؀^~^|y hF{Ncg!cϩeu9N&pZsAD_B׺W `>M %4O~RѯFE q$:׽tn+99~gLaI~!͞ϵo7ާ)tQB1Xx<t/a}+zTqnfp0˕oiB: ߍ5$mU0"bZOkЈP %.w׵U7=S?ah迪OR$rۼcǹpObs_,8gfhGFOR]Lu)|? D 1dΔOc-g >+%X@e.ndd}NHũ7,vr6(L_ҘnDBýĀ;+mؤ,baw%^Ɂ7Cr{/$Z|}"~]JXmH[SM<8~˿#_xu&GS@pTph!!X:,ʰ`Do%!jjmB>̲F(+\0 Ѿb;gYJk7"u~>]Jl,MCKI/G/ECA$H:[o?s6񀷢ڦ!#th숧Rk L}`_jyYZ4e4tOR WXgeMx* [ip _o*pe XiU­/HK|)sx9_4ߝJ]ihVZsN{Np-TmWl#@"O =*,0*/$K?g3r_cCHL M΋?abL_U{jݯF)iz-#ONL$ϥJ/r RG@Z&/iy2Ʌ$e+yL埡#QC \@je"m(gBq IT8ʀZ#ۋ|!U5l%y_e=-BZT,QYIʥ)xA(=DEQ``'ԺfS  :w.ыpGk̦rNwdgCkflsT}ppT?-X^(U'T%) ߓQWa_AZ"}z)[ȵL;yxOßMR/ ѿ7+?;B#Vh oʞ׭1g=,ɬe3>:6HJ)ق T0%M_:msZ90: rUty +!S%] HRD.Z0t7m'q>4Y|--@}4c`x`Ty'/lhT{Ct󀢤C_r체.()-nwXb] 6$TՕp{0PQ2AfP 4x<?WscgLEilކ$FLvނu)cc\ˁ:B8^*$58CDUsύWbLRHб۩I7/rvN #C3{~N^iy>d'>{IP$baպGɎ6w ;$xZYmC]gÐd ~Z%UF]S=c(5 !&\DLcR*;m ^ȨjjG[=Sϭ:rIw`H;Г**Dv238N~9sah nؽrޞ5'ZTUrE[T;b)m~mT>tE72kb+K\tڰc :@Ҍ"+12[~W-3rQN %?]ri;X:.GȖ4ݿ.| ᰨWj[<$htv'omA2Z;gX !L ݍ? /m/kiǕ ׿^!t.R&E( Q"3#dKiZhx|M0 = .+ :C[Rʀ(*>'Vv%qoxacyܬ]tz@N׸.azAf9i(L}8  ~},FԮ\:^R,0Ix&Fگ-Q:Q#- A[exPRcU5ތgmH?(y?oonlٶ ;@y@{(vl&Ve1v T MցXRQ~A` Da^c llC{;5B6~̴fb*LeiecF?k_'譙_/~uԒKX A'yze|O_ c2wO;#/RvƬXlvzaF͆3K?tGS{`sMTK^Pe;`kB%rl[;Tk9oGgǺE^UCC.A60/t7X$DhK]yWxUԸ6OL4~1>p/*f)LUpSX"N,okz!vkUIzxw~iY'+Ws%iem,;ԡ!hWB] L`u%P=?uvoMEm X}l&E\Db2%Ɉ>XmP.Q:A5E1ߢc8]#yG޸&EZk~2{ /NTuRV@6J \]6c3R7Z%ȳ6%4~HI7Ӓ%5b}ERoǽT%ha0ts+[%:2*Y \WCTͩ: sx"`0d *H U0Q1 0 +0a +7S0Q0, +7<<<Obsolete>>>0!0 +3Fv{T;.S+lr10`0L .P\0 +0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority0 070822223102Z 120825070000Z0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Code Signing PCA0"0  *H 0 y}]E941%5IwEqFԌkLRbMIl/$>e# HuEP%+ #A$bEJͳ/"J-|o;99ݽ)f;-2'Hlc\򸔣8P'N0==l9.4. }bxfs Oc,2EJ;PSfQyV>Pn5{$Rf=N+~3nGўJnS00U% 0 +0U0[pir#Q~Mˡr0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority<<>c@0U00Uvp[NQD.Dc0 U0 +{~J&μNtX't*uLxMi|CʇSŸVocDDȚ  )}s9=j8m҈#i 4|.)Bk(q8 ]hͽAkf4|zB{ p֒O8|-=4 b7j#\cZ9`U3; _,˫ 0  *RA^0(ip΀Brv0z0b a'0  *H 0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Code Signing PCA0 081022212455Z 100122213455Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1 0 U MOPR10UMicrosoft Corporation0"0  *H 0 rt`\6=z)F"SF:[ WLwGpgt'g׊D0ɺ:VDO h$WN!7,/B!(Wz)6͞U̻"# )Z>c=,I {yqCZ㣳 U% ^3-(WUj 2Dflo8ݘ<iyNF์um-BQZxE.|+]a(C jB2)"00U% 0 +0U#s*L!qĦ0U0U#0vp[NQD.Dc0DU=0;09753http://crl.microsoft.com/pki/crl/products/CSPCA.crl0H+<0:08+0,http://www.microsoft.com/pki/certs/CSPCA.crt0  *H C)clsmÙm ;Hsz%,7{4#ξ\ykQ cr}Q*(* q)V /e-mME)VrO?jAby\w(.ǜ+* z^S`Owq`[9ӫEQt#'5—`'+ˎς רMC@uw\kdgT!EJhT^\gx\$ prpŸ00j O%EXzg0  *H 0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority0 060916010447Z 190915070000Z0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA0"0  *H 0 7nBJqH>S,2ORȃ>3I1(dPKuǨծipfx'f趷 Y")/@VvmdmJT޿ǀL7VhGv\/}%V[jc|<%M9wt]\؆7,u9 |vlnz>q_*Ob`2҃N+"\hE/Pl%ׅvs6ƕz`3[AXn,HoCj&k(0$0U% 0 +0U0[pir#Q~Mˡr0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority<<>c@0 +70UoN?4K;AC0 +7  SubCA0 U0U00  *H M1|PapEsT? -QS9V ތ;ɷQ!oi~k"Flm|"Fӄ6~p]Eݎ*|ɮ2Շc6!v;s!شTeJ(&`;exHϭ:ObX099!dcC/{FeJtn ̝(a|H!8Ŗ2@S=f7"̰wTQ:rD#00 a- 0  *H 0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA0 080725190217Z 130725191217Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1 0 U MOPR1'0%U nCipher DSE ESN:7A82-688A-9F921%0#UMicrosoft Time-Stamp Service0"0  *H 0  BQzٕ܇7(vMPv*GVi~MquۻCloq+|Δź~a-0&-v?F؉7[hd֋=vP'`]),<ϥZ5O8a?=6Vw;]7'c,HUl+~w$*p*$Ţ"KLYwTrC>dݓXI 63~Ly2Y)#SYl\;#ݩ}UpIaNOQ:=?+$/3Q ,e "~,rhc&B0 *H  1 000y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA a- 0+]0 *H  1  *H 0 *H  1 090714192143Z0# *H  1NMTFDmi0  *H TzVb"9U+hȬ0ζPr>z,Fo5LzmvVQs~5^"IT%i @}td)煒z퓆Dcǰ_dRtݹ v-_e);x.N((DzWH]΃zAP4VS_VERSION_INFO @ @?StringFileInfo000004B0LCompanyNameMicrosoft CorporationHFileDescriptionWDF Coinstallerl&FileVersion1.9.7600.16385 (win7_rtm.090713-1255)FInternalNameWdfCoInstaller.dll.LegalCopyright Microsoft Corporation. All rights reserved.NOriginalFilenameWdfCoInstaller.dllj%ProductNameMicrosoft Windows Operating SystemBProductVersion1.9.7600.16385DVarFileInfo$TranslationPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDING 1p ??<0@0^1u11111222 2'2.252<2C2J2Q2X2_2f2m2t2{22222222222222333"3,383J3N3R3V3Z3^3b3f3j3n3r3v3z3~333333333333333333333333333 4*484P4U4d4n4444 575M5Y5b5h5m5}5555666'626D6I6O6p6667D777777778 8.868D8O8b8p8z888889,9`9q9y9999::C;T;d;s;;;;;;;<<<+<1<==`=u====>>D>>>>>>$?:?@?F?K?v?????0 0=0v00000011+1s11111202d2u222222243;3K3Y33-4>4`4k4}44444445$5555 66;6t6666667"757M77777g88889K9v999:4:`:H;;;>>>? ?;?@?b???000<1123+3D33[5555N6S6h6{6666777+7=7R77778$8?8}889a9o9z99999:::':5:L:[:v::::::-;9;G;`;m;|;;;;;;;;;<<(<2>>3>=>R>_>>>>>>??.?^????0}00000a1i11112 22@2J2Y2p2222222223#3R3`3n3333333344%4/4;4B4]4c4444 5B5P5x555555 66678x88 9'9<9h999B::::;L;~;;; ?J0X00001.1M1j1111.292G2X2l2222223 373k33334<4E4k4{444444445g555606;6G6[6z666666666G7P7V7s7}777778%8T8e888888 9939_999999 ::+:@:N:::::: ;;*;A;O;;;;;;<%<7<>a>l>>?9?P?f?s??????00P0y0000000 1N1]1111111 242H2U2x22222 3303G3^3r33333334&4E4Z44444 5M5l5w555 6656d666666#7W77777888 8G8e8888&9@9K9x99996:<:A:g:o:u:{:::::::: ;;;,;2;9;P;V;c;s;;;;;;;;;;<$<1`>v>>>>>?e?q?}0111:222L3X3j33333333334 4444!4(4/464=4D4K4R4Z4b4j4v44444444444455556664686T6X6x66666666666666666660 *H 01 0 +0h +7Z0X03 +70% <<<Obsolete>>>0!0 +L$9v 2JXx+٥=&|}~2=97;4Ԓ4hrLฅ3 vs5L]J}xBFq'WуO;?aK0U#0oN?4K;AC0DU=0;09753http://crl.microsoft.com/pki/crl/products/tspca.crl0H+<0:08+0,http://www.microsoft.com/pki/certs/tspca.crt0U% 0 +0U0  *H iz F.4z'(A*!_S^)TJ} Mn(E,92o7Z#RT?d86C:> q(f1\]RR\듐i LvL4 j|D+[TE$%ĊF%i)",F^+w>#odb ->IZt9ΣּȭV<*D?}fͲ c @=e2|=&HN"n000j O%EXzg0  *H 0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority0 060916010447Z 190915070000Z0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA0"0  *H 0 7nBJqH>S,2ORȃ>3I1(dPKuǨծipfx'f趷 Y")/@VvmdmJT޿ǀL7VhGv\/}%V[jc|<%M9wt]\؆7,u9 |vlnz>q_*Ob`2҃N+"\hE/Pl%ׅvs6ƕz`3[AXn,HoCj&k(0$0U% 0 +0U0[pir#Q~Mˡr0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority<<>c@0 +70UoN?4K;AC0 +7  SubCA0 U0U00  *H M1|PapEsT? -QS9V ތ;ɷQ!oi~k"Flm|"Fӄ6~p]Eݎ*|ɮ2Շc6!v;s!شTeJ(&`;exHϭ:ObX099!dcC/{FeJtn ̝(a|H!8Ŗ2@S=f7"̰wTQ:rD#00j O:0 +0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority0 051011215520Z 100426070000Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1806U/Microsoft Windows Verification Intermediate PCA0"0  *H 0 DwIրu,W,a/EDsuQf79y5Vy52v;dqec_%mC+o |J^ GJOղ36m1CSs[Y3F\G>Vk^ӸRe,&{3LS8.ed bsܯ0(?! O{BfӦWlr']i25L':_QJuU}G4000U%0+ +7 0U0[pir#Q~Mˡr0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority<<>c@0 +70U[3A BrvWo%Sz0 +7  SubCA0 U0U00 +[hQͻN ' 9\}Gkj5mHB p2 j͠(ÒEIEHuk^92\zc@sk5 j6egz\Yw s_O(Zg7#TТY7ttVbss=VAz&D.f\ )S-c1qʝƹ`갓6Rγ} ;J^+v2&&cX"J/п٦(o=l#NX*Z!8I00p a 0  *H 01 0 UUS10U Washington10URedmond10U Microsoft Corporation1806U/Microsoft Windows Verification Intermediate PCA0 090411055819Z 100426070000Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1 0 U MOPR1.0,U%Microsoft Windows Component Publisher0"0  *H 0 EvM4_יV 1g=;D禽u@6orH*BFEʠ{ȡ @U}@sB˰Z*#*P,;ԈxQ[ñ޷9gwу߮q'HTLAe7giE6 yo!x3nVY" uiғ+KoZ{1e5|Fzfthy<źeF%>f!jc(FjTm 00U%0+ +7 0U=yCFe]+^y0U0U#0[3A BrvWo%Sz0HUA0?0=;97http://crl.microsoft.com/pki/crl/products/WinIntPCA.crl0U+I0G0E+09http://www.microsoft.com/pki/certs/MicrosoftWinIntPCA.crt0U 00 +7/00@+4https://www.microsoft.com/pki/ssl/cps/WindowsPCA.htm0f+0ZXCopyright 1999-2005 Microsoft Corporation.0  *H CYN:?BnyEΊY wYTR+(2G*c"%Nv{رT BMMݜRǢ91ݔ" "` B%ym楮0-(&Maffމx0  *H ʌ-N*W4qmLhw GА>279(i&Ι1#uGYEjm:H #wXGS*(I&΀c$T[~dMPRuntime Error! Program: InitializeCriticalSectionAndSpinCountkernel32.dllkernelbase.dll  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~EEE50P( 8PX700WP `h````xpxxxxGetProcessWindowStationGetUserObjectInformationAGetLastActivePopupGetActiveWindowMessageBoxAUSER32.DLL ((((( H h(((( H H  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~HH:mm:ssdddd, MMMM dd, yyyyMM/dd/yyPMAMDecemberNovemberOctoberSeptemberAugustJulyJuneAprilMarchFebruaryJanuaryDecNovOctSepAugJulJunMayAprMarFebJanSaturdayFridayThursdayWednesdayTuesdayMondaySundaySatFriThuWedTueMonSunHH:mm:ssdddd, MMMM dd, yyyyMM/dd/yyPMAMDecemberNovemberOctoberSeptemberAugustJulyJuneAprilMarchFebruaryJanuaryDecNovOctSepAugJulJunMayAprMarFebJanSaturdayFridayThursdayWednesdayTuesdayMondaySundaySatFriThuWedTueMonSunEEE00P('8PW700PP (`h`hhhxppwppSunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDecSetThreadStackGuaranteeCONOUT$StringCchPrint failederror(%d) %sstatus(%X) %s<no error text>A duplicate entry was foundThe specified key was not foundError - file-version resource did not start with expected magic number - contains %#08lx instead Error - file-version resource is %d bytes long - expecting %d or more Error loading file-version resource from %s - %s <current file>Error loading %s - %s. File %s not found. Could not expand %s - error %s. Failed to allocate memory for version test ... Error getting handle to coinstaller - %s. HRRSDS%e+OUWinUsbCoinstaller2.pdb V3ʅtf9tFFJuuW^t |+ʉÃ'̋UW3t;U vW| E'_]̋U} u EH.*} u$}u!tP %!%!3@] ̋UH3ʼnES] VuW}h(jPDž,{ }/J!FPWSTP`PEu } h谩YjjjwtPhjPWSuPhFPWSuPhjYFuhP Dž&芩Ph/^PW蕧tPYPh赨YY=!;h0膨SZYYjjPjj W|uPh/ jPj WuBPh0YYDžC#=!tVWSu!M_^3[̋UU VuhVE|OUM +SjV[t/+u Wu+tft f@@IOu_uHHz3f[^] ̋UM 3tvW|8SVW}EPuqVW3|;wu z3fw_^[]̋U3ʼnEW}3Wf =!tWhmYYVPPPPPPPPhXVP(Pf@@fu+;rW+QPXPf@@fu+;rhP+VP'3PfE^tjPM3_̋UME ;r M3 E] ̋USVW؋33t!9E tftfAACCNM GuuIIOz3fMt9_^[]̋UE SVW=$3V0EVu0׋;u;~[% O3jZ QYu-SVu3fׅuVY믋E 0E3_^[] ̋UpEPjtPPhvY3Y@ËEVQPEQPhXNEPV蛥tPˤPVh& mESWQPEQPVhxUЋM̋}33 ΋u33ۃ +_M[xrhģY3h赣Y3@^̋USV3ۍLPSE@E]]]դ;tVPh_YY^XQPTQPh2E hH#]WE|EPWjuWhYYt}tu;EQPEQPWhx衢9]v4u}33 U E33 +Ƌ tE3;|;v j Y}uEVWhPI EE}9]u$h#V蹢PWh MXT33 E 3 +xvhءE  j^uR}th象E T}th0j_9}th臡E 8.h8vE 0|sh[E Y3fEfEjEPh(u4EPhp#EYYf;wEM 0 hY3_^[̋UU 3tvW|EMhj/] ̋UEW}tU wIW}t'_] ̋U,3ʼnES]VuW} uPh EjPE܃Euuh "YYj V5H.8uV薠Puh@ bV5H.4EԅuViPuh5V5H.0uԉ,u!V2Puh苟 3M_^3[ ̋UQSV5HW3SS]֋uV؟Ph$x3jZ QYEuj^V裟Ph`$CWPօuV肟Ph#"h#Wu}V]Php#3jZ QYuj^V)Ph#Sjh#uDuVPuh"PShd"LYYS@uVʞPh"mjS<uV觞PSh! Qh!WS}VyPhH!uWS}V[Ph 距YYE 3SuxYY_^[̋U3ʼnESVu h,(L3ۉ;u}u h'MY35Wh'P;u2}u h&%Y3 _M^3[hSP" }uwh&hPDžh;}PEPhH&nVPׅn6;dx["OVh%5FFVPDžgׅ6h%1YYC̋UQSVWEPu3}u;WhjWWhVXEuSfPVh) dWMQuu PTuS1PVh(茛 &E;Etj[uPVhH(mE03uPV, Y_^[̋UtSVW3}3۫]]]]9] uh-WB9]t$EPWu?;}VPh8-EEEPWu ;}VUPh,EPuu;}V/Phx,]tHEPWS}VPh ,EPuu}VPh+oEPjus}V軚PhX+JE3jZ Q Y}uV脚Ph+}Su uh*uWpuh*uWZ}V<Ph*EPEPWT|!}E PEPuu u3}VPh(*jD_WEjPt 3 }9EtEPj~# Nj3MQMQPPPPPPuudu+~# NjPlPh)ȘYYDuԋ=P׋]Ѕ|0h)記YjS`uVS\6hT)臘YYS3}t EPjuA u9 u1 _^[̋U VuFW3};u h4MQMQPuGvh4YYEPuuvuF vuudh 4ϗ cEPvSCvh3觗YYjuvhuWuh3} Ph 3jEPvuv E;Fu@t%h3hjjh82" h1 Y3= uh3hjjhX1`uh3hjjh0ÖBPQPuh0誖 ~ uh/}"uh/h(.耖Y}h-rYuCY_^̋UQh(7!Duh77 EP}t h6cEPufu }|h6P葖Ph06YYuuh5= uh5P]Ph`5蹕YY̋U(3ʼnEESVWW3VP jjV3V5CDžjSRPRPjPl;u WjPC S3jPPDžSSRPRPjPl;u(WjP Shjj]RPhPlWjP jXSPjjDžfMSSRPjj RPRPj#Pl;ut<nXfWjP$ jXSPjjDžfESSRPjj RPRPj#Pl;ut3~M_^3[̋Ucsm9Eu u PYY]3]̋U3ʼnEE VWhPDžhtu3Wtx%t p !lj5" " ""/Yt8up?l!} ^| |jlYu !3;u59=!+ !9=8"u 9}unc2 ]uL hjYY;V505H"B YЅt WV+ YVYuW Y3@M_3^ ̋U} u]9j h eM 3BU3;u9=!u3;t ?;t8}!uQuЉEj^uE PQYYËe3}j^9}tEuu uPEE PQgYYËe3}j^u9}u`j^Euu uEE PQ!YYËe3}j^u} 9}EWWuuE PQYYËej^u3EWWuuE PQYYËej^u3?;t/EWWuЉuE PQoYYËej^u39} t } Euu uEE PQ*YYËe3}j^u?;tA9=!t9Euu uЉEuE PQYYËeeEEn ̋U} ux]̋U S39]u *SSSSSF*E Vu;t!;u~*SSSSS*tEBuu=?v EEWuEuuP2;t5Mx EE EPSPYYMxE EPS8YY_^[̋Uujuu u]̋U] ̋UV u6+YtuF*Yt^]; u5+̋T$ L$ti3D$ur=>tC,Wr1كt +шuʃtt uD$_ËD$j h)339};u(WWWWWk(DVj#.YY}V.؍E PWuVEVS+/EEþVj@.YY̋UQQVFV\$W}S99tk ;rk ;s99u3t X]u3u `3@N`MM N`H =;}$k ~\d9=B߃ ;|]~d=u Fd^=u FdN=u Fd>=u Fd.=u Fd=u Fd=uFdvdjY~d`QӋEYF`[_^̋UVu3utу;u r^]̋U#/u-5(chЃ ]̋Uh9xth9Ptu]̋UuYu|̋UV tЃ;ur^]̋UMV3;u&VVVVV%jX !;tډ3^]̋UEV3;u%VVVVVn%jX95!tۋ "3^]̋U=?th?0Yt u?Y/hh??iYYu6h=?Yth?Y0Yt jjj?3]j hNj=/Ye3F95<"tk58"E4"} uG5?5?YYEtm9}r EthMYh=YE}u(5<"j-Yu3F}tj-Y̋Ujju ]jjj ̋VV%V&2V 2V/VV/hu(^̋UV5,5օt!0tP5,Ѕt(5h9օu h9օth9PtuЉEE^]jY̋UV5,5օt!0tP5,Ѕt(5h9օu h9օth9PtuЉEE^]5,u5D"_YP5,̡0tP5L"5YЃ 0,tP ,O+j hh95։Eu h9։EuF\3G~}t&h9uӉh9uӉ~pƆCƆKCPFhPj +YeE Flu@Flvl:2YEj *Y̋VW505,ЋuEhj:YYt1V505H"YЅtjVNYVu3YW_^̋Vwuj&Y^jhuF$tPYF(tPYF,tPYF0tPYF4tPYFuCj'YeV7YEt VP7YYE }u7u j&YVj5\#u*PY j h8F M3;v.jX3;E @u WWWWW~3M u;u3F3ۉ]wi=>uKu E;T.w7j&Y}u;YEE_];tuWS ;uaVj5\#;uL9=`+t3VYrE;P E3u ja%Y;u E;t z ̋UQeWEPu u uVutt0^_jThX 3uEPEj$j _WYY;>=>%@@ p@ @ $ >;rf9uE;8X;E;|3FNj$j YYtI >> "@@ `@ @ $€;rF9=>|=>e~nEtWtRtLu Qt=uk$4>EFhF P(YYNECE9}|3ۋk$5>t tNsFujX HPtDt@Wt5>%uN@ uNhF P(YYt8N N@Cf5>33@ËeE̋VW>>t1Gt G P$;r6&Y?|_^̋UQQVW39=?uG25!;uS3ƍX]@u+E@=tGu\jSYYuT7=!5 "?5"UEǍX]@u+EX=t)WSRj: t3PPPPPF]Uu5!%!&Y?3[_^̋U} wErw M3]ËE]̋UME ;r M3]ËE]̋UQQM&E3S@} W}Ut;| U EE e?"u39E"GEK}t;E MEPG :Yt}t;E MEGMt3}u t uEt@3ۀ? < t< uGO?} t;E U EE E3GB?\t?"u?ut G8"ue3J}t;E EE\utQu< tI< tE}t9P9}Ytt MEGMEtGMGO};EEEM _[t;E!̋US3VW]]9?u.hP"VST#?5,";tE8uuEPSSuuuEPjYRPF|iEPEjYRP, |OEPuuF |9uY;t*EPPWuuHEH"="3_^[̋UX# SV5W33;u.֋;t X##xu jXX#X#;u֋;u3f9t@@f9u@@f9u5SSS+S@PWSSE։E;t/PYE;t!SSuPuWSSօu ulY]]W\t;u;r8t @8u@8u+@PEtY;u VEuVW6 V_^[̋UQQVE3PuuRYt VVVVVkEPxYt VVVVVP}^u }r3@jX̋U39EjhP\#u3]q>u$h,Yu5\#%\#3@]̃=>uWS39L.W=~3V5P.hjv6j5\#׃C;L.|^5P.j5\#_[5\#%\#̋UeeSWN@;t t У[VEPu3u333EPE3E3;tuO@5։5^_[hd5D$l$l$+SVW1E3PeuEEEEdËMd Y__^[]Q̋US] Vs35WEE{t N3 8N F3 8~E@fMUS[ EMt_I[LDEEt 8E|@GE؃u΀}t$t N3 8 N V3 :E_^[]EɋM9csmu)=>t h>|tUjR>M 7E 9X thWӋ7E MH t N3 8xN V3 :hEHY79S RhWq7̋UVu VAE F Yu N @t "S3ۨt^twNF F F ^ u$tu u @YuVY@YF WtF>HN+I;N~WPu L? M F wE ttȃk$>4@ tjSSu 7#ƒt#FM3GWEPu > ;t N E%_[^]̋UEVF u}FtcHlHhN; @t@pupt0 F;xtF@pupt"FF@pu"HpF @x@F^]̋UF @t~t%Vu@YYf;uV?Yt]]̋U} W~VuuM ?Yt} ^_]̋USVF @Wt3~u-E,MPbCC?Yu 8*uj?IY}_^[]̋Ux3ʼnEES]V3Wu} %9u3 VVVVV t `p! ;t3ɉf; j^ BfXwA30AjY;R $3 ƒ tJt6t%+t    f*u,[  k ʍDЉo c f*u&[C 7 k ʍDЉ ƒItWhtFltw f?lu f6uf4uf3uf2upfdffi\foRfuHfx>fX4RDž ƒd]St~At+tY+t+( Dž@Dž0 0u u [Au \YOQP>YYtGG9|$X0+++3G tBPƅPPG<}ftcpt\f9H5t.3ɋA҄ 艍\P@u+pegitqnt(oDžtaU3;_ t ffDž@Dž SufgucDžW9~~=]VYt DžCPPWP5HoYЋt!uPW5T?YYYfguuPW5PYYY?-uGǍP@uDž$s.+Dž'Dž_j0XfQf:: t@tCC@Ct3҉@t|s؃ځڋu3ۃ} Dž9~ u! t-RPSV909~O뽍+GtYtπ90tN0@6u `Dž Nf8t@@u+@t+tj-tj+tj XfDž++ uSj D VYt uSj0 PP6~/EY"V}Y| tSj $ tYft*9a3PPPPPt `pM_^3[*Ԏ'7̋U3ʼnEffffffEEDž0@hL:M3̋U]J̋UE3;htA-rHwj X]Ël]DjY;#]xuÃ`uà ̋UVMQsY0^]j hxeu;5T.w"j YeVYEE EjY̋UVuSW==\#ujhYY>ut3@Pu VNYuuFVj5\#׋؅u.j ^9`+tuQYtu{00_[V*Y 3^]̋UE`#]̋U5`#YtuYt3@]3]̋U(h$ d$`$\$5X$=T$f$f t$fP$fL$f%H$f-D$x$El$Ep$E|$#p$t#h# l#jh:h PU}}M f$ffGfG fG0fG@fGPfG`fGpIuЋ}]U}E3+3+u3̡>Vj^u;}ƣ>jPYYd.ujV5>tYYd.ujX^3ҹd.  X|j^3ҹWk$>t;tu1 BH|_3^3=4"t`15d.*Y̋UE;r=8w+PY]à P]̋UE} PY]ËE P]̋UE;r=8w+PY]à P ]̋UE} PcY]ËE P ]̋UVuV+Pc+YYttu3 u`3@&F uNSW<&?u SHYuFjFXFF ?~>^^N 3_@[3^]̋U}t'Vu F tVm0f f&fY^]̋UQQSV33W}u;t~t WW@&Y0|ܾ_t ~uPӃ0|^[̋UE4 ]j h3G}39\#ujBhYYu49tnjY;u5 3Qj ^Y]9u,hWgYYuWdY ] >WIYE E^j #Y̋UEV4>uPYujY6^]̋VW306Y(r_^̋UMMZf9t3]ËA<8PEu3ҹ f9H‹]̋UEH<ASVq3WDv} H ;r X;r B(;r3_^[]jheV\Yt=E+PVYYt+@$ЃE E3=ËeE3jhS@xte3@ËeE/hjQY*̋UE*+++]̋UE $V9Ptk u ;rk M^;s9Pt3]5+aYj h3}}؋] LtjY+t"+t+td+uD}؅ua**`w\SZÃt<t+Ht%3PPPPP뮾++++ ++EPEY3}9Euj9EtPY3Et tuO`MԉG`u@OdMGdu. M܋ 9M}Mk W\DEEuwdSUY]}؃}tjvYSUYt tuEԉG`uEЉGd3{̋UE+]̋UE+]̋Uu3@]jh83ۉ]5+GY;ubEPTY;t SSSSSm}t0h@5֋;u hp@;thH@W;u V^Y+]u u։E/EE3=Ëe}ujeEE`̋Uu uYY]̋USVu3W;to=th;t^9uZ;t9uP0YY;t9uP70YYYY;tD9u@-Pr+P_+PQF=t9uP6,7YY~PE`t;t 9uPY9_tG;t 9uPYMuVY_^[]̋USV5W}W֋tP֋tP֋tP֋tP֍_PE{`t tPփ{t CtPփMu֋P_^[]̋UW}SV5W֋tP֋tP֋tP֋tP֍_PE{`t tPփ{t CtPփMu֋P^[_]̅t7t3V0;t(W8YtV@>YuhtVJY^3j hX-Fpu pu~lu7j YeFl=@{EEuj Ypluj Y-t"t t Ht3øøøø̋VWh3FWP3ȋ~~~  ~P F+ο@Ou@Nu_^̋U3ʼnESWPv3@;rƅ t.;w+@P j R CCujv vPWPjj/3SvWPWPWv S5DSvWPWPhv S4$3EtLtL Ƅ@;rVDž3)ЍZ w Lр wL р A;r‹M_3[j hxx-Gpu pululj KYewhu;5xt6tVuPtV@YxGh5xuVEuj Ywhuj Y̋US3SM<+u<+ 8]tEMapE|D;FG;v}FF>uыuE}urlj{CujC CZf1Af0A@@JuL@;vFF~4C@IuC C Ss3ȋ {95<+M_^3[ѾjhM<}_huE;CWh Y؅Fwh#SuYYEuvhuFh=PtP"Y^hS=Fppj YeCL+CP+C T+3E}fLCf E@+@3E=} Lp@3E=}x@5xux=PtPiYxSE0j AY%u PtS3YeEC̃=?ujQY?3̋UVW3ju um u'9X+vV$;X+vuË_^]̋Uh@j5\#P.u]ËM%\+%L.X.3 T.\.@]̋U L.P.kU+P r ;r3]̋UMAVu W+y iDMIMS1UVUU] utJ?vj?ZK;KuB sL!\D u#M!JL! uM!Y] S[MMZU ZRSMJ?vj?Z]]+u]j?u K^;vMJM;v;t^M q;qu; s!tDLu!M!1K!LuM!qM qINM qINu ]}u;M ыYN^qNqN;Nu`LML s%}uʻM DD )}uJM YJꍄ ED0E\+ `.5h@H SQ֋ `.\+ P\+@ `.\+@HC\+HyCu `\+xueSjp ֡\+pj5\# L.\+kP.+ȍLQHQP',E L.;\+vmP.X.E\+=`.[_^̡\.V5L.W3;u4kP5P.W5\#,;u3x\.5L.P.k5P.hAj5\#F;tjh hW(F ;uvW5\#뛃N>~L.F_^̋UQQMASVqW3C}i0Dj?EZ@@Jujhy hW(upU;wC+ GAH@PǀIuˋUEO HAJ HAdD3GFCENCu x!P_^[̋UL.MkP.MSI VW} M 3U X.S;#U# u ];r;uP.S;#U# u ];r;u[ {u ];r;u1P. {u ];r;uw؉]u3 SYKC8tX.CUt|D#M# u)eHD9#U# uEUiDMLD3#u#Mj _G}MT +MN?M~j?^;J;Ju\ }&M|8Ӊ]#\D\Du3M]! ,OM|8!]u ]M!K]}JzyJzyM yJzQJQJ;Ju^LM L}#} u ;οM |D)} u N {MN 7Mt LMuэN L2uy>u;\+uM; `.u%\+MB_^[̋UMS3VW;t} ;wj^0SSSSSn0u;uڋъBF:tOu;uj"Y3_^[]̋UuME MUTu}tMA#E3t3@}tMap̋Ujjuj]UWVu M};v;r=>tWV;^_u^_])ur*$DǺr $X$T$ؽh#ъFGFGr$DI#ъFGr$D#ъr$DI;( DDDDDDDDDDDDDD$DT\h|E^_ÐE^_ÐFGE^_ÍIFGFGE^_Ðt1|9u$r $$IǺr +$$@F#шGr$IF#шGFGr$F#шGFGFGV$IĿ׿DDDDDDDDD D DDDD$E^_ÐFGE^_ÍIFGFGE^_ÐFGFGFGE^_SVWT$D$L$URPQQhd53ĉD$d%D$0XL$,3p t;T$4t;v.4v\ H {uhCf(Cx(d_^[ËL$At3D$H3[Uhp pp> ]D$T$UL$)qqq( ]UVWS33333[_^]Ëj'33333USVWjjhsQ1;_^[]Ul$RQt$ ]̋UQQE VuEEWVE(Y;u NjJuMQuP0E;ut P Yϋƃk$>D0 EU_^jhu܉uEu Ƌ3;|;>r!~8_ WWWWWȋ>k$ L1u&=8 WWWWW[P'Y}D0tuuu uE܉U 8MME E܋U-u'Y̋U3ʼnEE V39uu3;u'j0KVVVVVkuSރk$W<>ËHlxtu0Mu&30VVVVVr@ tjjjVsV(Y]DP艴@l39HtP48$t x4|}lppx-3< Pt YujVPY 6+E|jVP( aF3PPjMQjQPlFp#j|PVEP4T|;tj|PjEPE 4T|tu'3f FFpttuQ$Yf;=tt)j XP$Yf;E9$@39x9E3+;Ms1A u @F@Frʋ+jPVP4TB;:+;E_ x9ED3+;Ms?GGAAf uw(j [fl@@FFf@@FFrOO+jPVP4Tp;h`+;EKJ9Eu3+;MsBAAf uPwj _f8@@FFf@@FFRr3VVhQ++PPVh;jP+P5P4Tt ; ;\+;E ?jQu0Tt ult-j^9u -0?6Y1D@t8u3 +_[M3^1jhEu 3;|;>r!8j WWWWWɋ>k$ L1tPY}D0tuu u E 8ME Eku Y̋U&hjвYYMAt I AI A AAAa]̋UEul 3]V3;|;>rNVVVVV 3ȃk$ >D@^]̋UEV3;uVVVVV@^]̋UEV3;uVVVVVc3@ ^]̋U3ʼnESVu F @WVhY4t.VWYt"VKV>;k$YYNj@$<BVYt.VYt"VV>k$YYNj@$<u]N]xA VPYYu Nx8A VPYYtfVxYt.VlYt"V`V>Pk$YY@t^uEjPEPL!k39]~4NxLADVPKYY6C;]|fE Fx Ef EVPYYM_^3[=̡39d+̋USVu 3;t9]t8uE;t3f3^[uME9XuE;tff8]tE`p3@ʍEPPYYt}E~%9M| 39]RuQVj p<EuM;r 8^t8]eMapY*8]tE`p:39]PuEjVj p<:̋Ujuu u]̋Uu MEMA%}tMap̋UjuYY]VD$ u(L$D$ 3؋D$d$ȋd$Gȋ\$T$ D$ ud$ȋD$r;T$ wr;D$v N+D$T$3+D$T$ ؃ʋӋًȋ^jh讷3ۉ]jY]j_};=>}Wd.9tD@ tPYtE|(d. Pd.4`Yd.GE Ejj/Y̋USVuF Ȁ3ۀu@t9FW>+~,WPVYP ;uF yF N _Ff^[]̋UVuu V:Y/VwYtF @tVPWYY3^]jhP3}}j7Y}3u;5>d.98t^@ tVPVCYY3BUd.H t/9UuPEYtE9}utP*Yu E܉}F3ud.4VEYYE}EtEѵjYjY̋U SVWƣ3ۉE]]]9h+SShA;u3Y5hAW;tP$AWh+P$AWl+Pآp+EPmYYt SSSSS}u,hAWP裢Yx+;thAWP苢Yt+t+u;tm95x+tePY;t%MQj MQjP5x+ҢYЅtEu3EPYt SSSSS}r M :M1l+;t(P胢YЉE;tp+;tuPgYЉEuu uu5h+JY_^[̋UES3VW;t} ;wgj^0SSSSSjX3r2D?=w8eh hPMYPYY3Ej^u3@Ëebej^u]ԋ}Ѓ}u?P YEEWuuuju$<#jjWuuu P؉]ԅMt.} ;] u uWuuu PE~;jX3r/D;w1eh hPFYPYY3E܉u3@Ëe^eE]ԋ}Ѓ}uPYE3;tDE3SuWuuu Pt!VV9u uVVu uSuVu$39ut u[ 9ut udY9ut u> 9ut uGY]3]ȉ]9] u E@E ;u Epu$u nYEЃu3v9u/SSEPuuVE;tSSuPuu LE;u3];~6w1=weh hP軸YPdYY3}E3@Ëe3}E3;u'uzY;{uSWI EuWuuuu LE;Fu uEPWu$uu#u؃}tW輙 t#WYu uuuuu L}t u腙YEȅt 9EtPrYƍe̋UuM肨u(Eu$u uuuuu P$}tMapUWVu M};v;r=>tWV;^_u^_]ur*$Ǻr $$$(#ъFGFGr$I#ъFGr$#ъr$Ixph`XPHDDDDDDDDDDDDDD$E^_ÐE^_ÐFGE^_ÍIFGFGE^_Ðt1|9u$r $0$IǺr +$4$0DhF#шGr$0IF#шGFGr$0F#шGFGFGV$0I 'DDDDDDDDD D DDDD$0@HXlE^_ÐFGE^_ÍIFGFGE^_ÐFGFGFGE^_U}uu }MfofoNfoV fo^0ffOfW f_0fof@fonPfov`fo~pfg@foPfw`fpIuu}]U}u]] ÙȋE3+ʃ3+ʙ3+3+ uJu΃M;t+VSP" EMtw]U +щU+ى]u}MES;u5كMu }MMMU UE+EPRQL Eu }MʃE]u}]USVWUjjhu]_^[]ËL$At2D$H3UhP(RP$R]D$T$SVWD$UPjh d53PD$dD$(Xp t:|$,t;t$,v-4v L$ H |uhDID_뷋L$d _^[3d y uQ R 9QuSQ` SQ`L$ KCk UQPXY]Y[̋UMS3;VW|[; >sSk$<>@t58t0=!u+tItIuSjSjSjT 3# 0_^[]̋UEu ]Ãu V3;|G;>s?ȃk$ >@u!ǯ0訯VVVVV A袯0胯 ^]j hx誝}k$4>EFu9j uYeFuhF PxYYu!ENE/}tk$>D8 PEgË}j )Y̋UEȃk$ >D P ]̋U3ʼnEV395ptO=4 u! 4 upVMQjMQP`ug=puxuω5pVVjEPjEPV\P 4 tVURPEPQXtfEM3^`p̋UQVu VE F Yu趭 N 6@t 虭"S3ۨt^NF F F ^] u$tu u YuVfYF WF>HN+II;N~"WPu T ER F M ttk$>4@ tjSSQ#ƒt-F]f]j_WEPu f] E9}t N %_[^̋USVu 3W};u;vE;t3E;tv"j^SSSSS0輫VuM蔝E9XfEf;v6;t;v WSVg ϫ*ī8]tMap_^[;t2;w,褫j"^SSSSS0>8]yE`pmE;t8]%E`pM QSWVjMQS] p;t9] ^M;tzD;g;_WSV萁 ŐUjuuu uw]̋USVuW3;u踪WWWWWQ BF t7VV>VrP!}F;t PnjY~~ _^[]j h荘M3u3;;u0WWWWWɩ F @t ~ E萘Vr虩 SSSSS2Ћ<>k$LtPY]Dt1u@YPdu E]9]t=M ME E膗u(YUWVSu } t2':t,A<ɀ A,A<ɀ A:t[^_QL$+ȃ YQL$+ȃ Y̋U}u3]jj juY]̋U 3ʼnEjEPhuE@u EPYM3X~̋U43ʼnEEME؋EEЋS3ۉE܋EVWM̉]];E e5MQP֋=<td}u^EPu օtQ}uKuEuE؍P@:u+p;~[wSD6=w/;t8-SSuuju׋;u3P詧Y;t E]9]t؍6PSue} Vuuujuׅt};tSSuWVuSu t`}[=9]uSSSSVuSu ׋;tejEPupẺEEPl}]OG}uuHu5h@օu hp@օt)hMPteMQЃu EvEEPsVui |p!utEPSuN |U9EsEs#u+u}uj[E;r-jhuV(tEPWuVht3@3e_^[M3/{hd5D$l$l$+SVW1E3ʼnEPeuEEEEdËM3z3PPjPjh@hNt4 ̡4 V5PttP֡0 ttP^̋UVuWVYtM>u@Lu u@(tjjYY;tVYPPu 3Vƃk$>YD0t W衣Y3_^]jh蘑E;uE R u>  3;|;>r!8 WWWWW蕢밋>k$ L1u$ڢ8転 WWWWWT?P+Y}D0tuYE} ME EuY̋UVuF ttv蒄f 3YFF^]̋UVWuM藓Eu 3;t0;u,WWWWW膡}tE`p39}t }|Ƀ}$ËMS}~~EPjPM BtGǀ-uM+uGEWN$Eu*0t E 4LoadLibraryExWGetLocalTimeOutputDebugStringWExpandEnvironmentStringsWGetEnvironmentVariableWTLockResourceSizeofResourceALoadResourceNFindResourceWCreateDirectoryWDeleteFileWGetTempFileNameWGetWindowsDirectoryW?LoadLibraryWRCloseHandle%WriteFileCreateFileWGetExitCodeProcessWaitForSingleObjectCreateProcessWuCopyFileWVerifyVersionInfoWGetCommandLineAGetVersionExAGetModuleHandleAExitProcessGetModuleHandleWTlsGetValueTlsAllocTlsSetValueTlsFreeInterlockedIncrementsSetLastErrorInterlockedDecrementGetCurrentThreadIdHeapFreeHeapAllocoSetHandleCountdGetStdHandleGetFileTypebGetStartupInfoADeleteCriticalSectionGetModuleFileNameA`FreeEnvironmentStringsAGetEnvironmentStringsaFreeEnvironmentStringsWWideCharToMultiByteGetEnvironmentStringsWHeapDestroyHeapCreateVirtualFreeQueryPerformanceCounterGetTickCountGetCurrentProcessIdyGetSystemTimeAsFileTimeOutputDebugStringATerminateProcessGetCurrentProcessUnhandledExceptionFilterSetUnhandledExceptionFilterEnterCriticalSection9LeaveCriticalSection=LoadLibraryExAInitializeCriticalSectionrGetCPInfohGetACP7GetOEMCPSleepVirtualAllocHeapReAllocfSetFilePointerGetConsoleCPGetConsoleModegMultiByteToWideCharGetLocaleInfoAfGetStringTypeAiGetStringTypeW+LCMapStringA-LCMapStringWSetStdHandleWriteConsoleAGetConsoleOutputCP$WriteConsoleWWFlushFileBuffersVirtualProtectsGetSystemInfoVirtualQueryCreateFileAKERNEL32.dllkSetupDiGetDeviceInstanceIdWHLocalFree^FormatMessageWGetModuleHandleExWr[J6$0egSMhYWinUsbCoinstaller2.dllApplyUpdateInstallUpdateWCoDeviceInstall ,8777x7d777x7X888988898889N@D x u D:4:        ! 5A CPR S WY l m pr   )    ..?? `? >>l>H>>===L=$==< h<!p;":x:y:z:::EC`````CGIhhP abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZP`y!@~ڣ @ڣ AϢ[@~QQ^ _j21~CETMPMLMHMDM@M{Գ)u*W,I%P.UH@=O>B \ KKZo(>8`6zg&WBKAk/uxՋo |M8X*/T:Ճ@y#uB~~t*/hqקq7}6u4bm+\stm:th9X T!f:~KguEjԏ/ʨ $G(ֽn?Քh9$Bo=A#JK%8s=Qͯ3s7~GOw(zh ϑ,GhOڑ̸YW<16Icj^)C򽋝K>Der)#Ǯ.BK碫̯6JeF H~vGj9a L3@:K:Ulq1A>0=߮6! ϳ@90=E=ԟٳȎ^n0a%{WO7c(qЃ*j_ib0.؀0 An@Y%Ry<ol1#h[Reu.;&3s6@zke厬UNy(Z R-`.n7#r( v$mE6樇0q\ݹX!)ZplCL!3c{lxN% j֖q\eAđl~Ƿ&6Hu28&H^_Dѡ{sN/)%gWgswy.B藪VL|'-MP:%^17-`?PO33g33j,V.ĴWϷ{@U*SMAk`6lL}sD|KJX ]4fz]>E#pёkK "]VPڡ -Im48[1/V2o0'1p O {m 覼x#ÇTn9-Cl}PUoP&WWeh_PZ)ϊ޵я=/?;"ڵb.m)9Oڠ<`e:a`"['ly KEVzv0aZ )މ=- ib48g:9>uùJxQG&A((`N?ᲃȟcJt~c?7BQo؇gl[U4؉7{/ϦJABCZ5G@?.'|e\N_?b|:CjziZ.@lO8# z 7&__A#my?H$]`X#ly5[\0<̥),Ƿ?6pWW4rg%)8P~) ȑ @[oAd5e cv8栴ΏP v<8c2ɐ;^7Q>ߠy }%b"3#~˻W1'xo0>k,/GC R^bx]ʜ#5 =DaUzPv+pnNU}omk$Pwe:\W w< zNoȊ%e7h6C`3z){-h,ut[H5Qb?~q jcO}\PuӬ縃\Qܹ//}x(b3.Ӽz%թP Gwp'~M5283d@X*Sbt6qu;80M-Xf_+,/rs?XdF_]ڙ[݂ڢ* ң!^'c9z5kkhe"NVXkOD)b0CFgv1avI~Ѓ'sOUD 7~K4F1IX!rFQLߩ#}~\ = "m c'؅u0-31@] .e;3M(m؃ؾ(N0AS~@q]ޒUL5Fe*FX/lE!p7=v%3൜bTX2xcUDSXkUxr!a7Bc a$ES*LbUZ3jxx24hz=MOhIIwwZəU4|.`3i+9 mǃtĵôd_IL^j&^Lr(wc"D{$++47ЋUEF+}H^lYWh^8ΪF8}u,n N>7C9/p۶ZgW{8L3z $RBLdtZFaOw;! M$zm NqoJv 63Mn 1܄Tv4g ē`J^l(Q ;pw+jn ,]HG۪3|ШVX?Us @JJ>n 'ӹ+\L _ ƨqHbE>amql@2JF97%an@{E,0mVXK-p$ NĞa ?E.CrWaAY$_2F;2X$H1G\_u=ⲷױŲ:tN**G:U ad% ܮӗ gĮ>V/9;wBKktOKeE@D9ܡ_G#UuK n3qu}O:L_5zp ci lMdQ|ת NβQ{P9W@r`x^w<啻ti-3`6`]ܟ`>nԇ1BʧQiY>8:lsKg{? ;љN T!nl qw1Ѻ L1Q8M~ ug1 vkCԜtv3g jp xP':Fϝx0!v7w,.jĽmvDio zpⵛ ֓u],,Xys,[5 n5;ˎ٦|^TaN( Y,2;>c MՃboYVyӵɥU=C5XyR/h )1؍uTlHb:*n!Rp6zyl9ԏ 1#:_m+o}]s89N/S:1_/C-sf8 V q0>gHt뾿ft%Rϯ)z7&UHU7A;4.8P 44 GBtxּT|i/M.%ui07AIȠn͕#ܒQSm.l.שJbJ/$ߝ81gp;D…Nw@h>ծnTy1L^v .ώy)‹[kJ;)}\G?xdGWႾ`gxC )t<)@wi?_~ vl^?s^ᲣSS}^@H&Թ6vAo x%WJ oYӇaWS7{4G,l^)WCuHnB.hbYsuF>H2.~t}oE=jz}1I*ytD7gơd/;Tޘ/n꿰<|T㔏(ϣ"Y?YThJĠG $JbcljzGL#;k#pI ]SW@$zC՘ {̻$54ݺS OCH旔yyT+YcR N&{,6:Ʉ.yܠW5roœIGxk|'Px k`iܜ@G@}$yQw^6fåmOr9u8 <}3M{LiWBާzjiVHN˛FUum 9,895T-S4"k$x)mڸ@/>ԩWn@{p~QƯ 7Ke.ީBxdJh 8 u*|:q .E>ƈ`38kMM qB[VjP! ƿ о?4|^K=^ >:5h Ivބcpe/! aө Xi^D3)-,9Sc}D+ 5{ѱ.Ө^*]3v@ˎX=4 FcHGD| dՒ< d5o )'GYs% /,gYފ^c'\f8&k"u/m _jJ Od&F(Ȭ;#1 /·!0$aD!2de\Z%|dOEC׾ _;Ɩ6@$W^ȿȑ\h}{.L0@V6|sp].iA@U@E%@J^<5)4d hiHXoxD*4s8* ;;vט&aǗr\F& tL0][U0YUU8ڭ(~Y}Ѐ^*`3 ]@SN7"6,vm3" o8 pzQH$F㠉C٩e}p(:oS4 q 2/5̺v0 m@} ;18,z&.Fhcbi:&OQssB:wcгl<3L Wpd0lt їSPlǂ ͈}` *y~ J]w+qM`vw83 nhjH36VBa~<:aOp[fՄ k ysa H?UoeCaipM"n|'#vG^O8N WWe 'bػvW4VllWǖɹЦK Wx)f?2xEWRCU QNp^xԾk>},W˟$a?_W/SvG󼅠hXah">VfoۿEs69& sayDx:P(uþNo~,ce(Ǯ=Og%JH?>5jZ# 1ue^4[s:/y*7۸QׯQM[qWxya&736p Ww-@+Y_o0Zw_ю`E)t>~ jqe|*ZS=++uc8@5s~_Qھ:|m咱ujzy{^&QAy6jLxJq9} <\tIq&WP4bFxoҍKǴ_v?{G3a1}R.i-xd|VP%JmQ?`ָR Ik(b8[@+^ |_kxD5r'}]Bo13ocP0ab^ 8źFUQߟa89AmЏ mA^K%f?_2H+v_`C2"}"l˻}xH 3ޅK,xvZ0ҙ8#6Bhesc#sPũjGbO%:(r qB6ޥrc 0-p:TFKE2V9D8#S|B튔@Soyhj*i GwK2z`w` ,f.HgyN>ĮEQZ7TrA.EֆP|RK`1+1Uͤ-1aQ%a G0;Tz$+D%(i(qđ)sI?ЂE˹b0qEYeQSC=TͷA{PئR-X|c@QNxݣ4יF?^B>+L.xG3ERኄE]Ww|yuXئy0:1$H,7暐$hՙ/lKuUHFH <ڵ>`4Z +_1^mOQ{<,VR=6h^>v@`RCC 촨8IAkt&rXB[s bAfTǿstp0͓3rhg_\}dD244NLJ4XȄ[yED/GL|-eb4'X1$4aRAUהd:2_Nh "< ӍcZ&ERkl4]#)E"QdZ}^R)x+e H;@OXIYfY'B+]Ѧ)Y!DuZE:Ɔ@ߒV@xɔW)bk1 3C!I2)`BNH.B 1.Ĩ'ݵ( [vT0TxNmݝx)R =/6Φoo/L j镎{QL]CL;; =иS[`R<y.v}O5K̔/03Et!Q^L+w ]vA΋ZMVU;͙+]狎+vz'H[L[R\3/RB xsHukQ}dqi R;|?jڲ&zJn@&J+eU6jiOj]qoIIH:2#L >C=Eʾhς&PHp% `:>ANvڰb*nGƮv`{r(^źWdz['ìE/\?bb*+h ?$ B~a∵#naN2L/˓/HV:ǫc[o38)&Z ՊDPטlz)ί}Q W,׏Muh'|~UWT_c<]~.X]ݟuoEz/9R0E~ЍT&3isClFz`/ٶm46 ' yiX]Xzh~uӁza} -W4Oy)ltby`HK )WoW#A%-Ȑ!yS< FkZk];TYn^ʹ֐9\x4ApkN qya=rVxvWmO[ϩZSjDHWQ4TW&u\8,N< fǪܥ!R@#N MHb7# *+T^5QB<'CX-_U.(Ppi{QTGL<ڹGƝΔk z*궞f,gu+HDJ/Gǟ mrw7yy,pzv!m7a D.,$E>ttmt>=𨥧 0R"ٞ#%A\/)E^zoIUf)Í"{g#ohGy,uPdԹr!VWjpF=iIDH'(FU| o/]7؋CxmG(Zq2klD.-~YǿZ\3,9SO]T#wd&xԗt0M׸PP*<V%Oo^~ǗU66s\_{ljU Thqyjhgk3楋c<{ڧnZJ*rjÀ(nL '2>o)" ,(j6I-Z@,0iԠxc+^!#ݢ4;^^agwf"E }Y4{T}ױj2,F¾@-]ƺֈqg ]~J s O^Pkvt~YWR-hKTsg!sEDpw(U4Z>I$vӎǯ}jy1]{r3ƔE.>[R'+۳dmFՃV0g<bsD DC;`_ymNN,͏A4\T<$sҒgطcS<0 -6> ޙ˼ -9׭T߱*bsi*Sрζϕ鎵+ۅBhg#:Zo;z6v'Ih pdCC+wN2sҶB.u "ң+~U#[# b[ @aY2E s/酼$VF'P5hQ6 ޣ!{JRN4+VVUjs•ێ #?RkC;/aXEySS$LZoTV,s$@5c Coޞh%9>17qDk"_"Ɛcb˹A­4\p^¯ef nÓ=d*-7 uvrk"um΋M fjkKxq]gdk.r:B/{7JwAN4u~-wP02a/ob#*J߄+TD{@V)q Y,zY"|DTu,m,ΦRH8)|~<:_GTL@1)fU$)Ui^# euGAv R|ff|!{Sj;8aew [@Nh:Azh̬y)ڡd¤.iPŀko,J`) yeϡ*&Qq,+]׸S(>pwy$*/~wK+pގ4:_Cj!7{2(uγoifY Qv2Ҩj` p:JHߖPε Dx-F\tO!\uVȒ,u,?V=KBG]Ԭ;}at7PM\?6 RK7qR\vx*pm2.ITao;&E u}zZk-PlRe݆ftVOI7|Lbzn/{4և)H28ǴphR~51,eu$d{ |7VƒDUBM:Iz;/*HAsp4w t5I*4T{b~ºݝV :J7 irŇZx9> LGT\oqn!uI|EwRgeҳj=_$yٴHk\[/ylq: c)а B? |[FTRB1LrHlx !\~ ,D. R#ol)"n, {I Kw 4ƙO* AW.ı0,IXJI[нޤҮu0n;.4s2Guf=ۈ?F*|^dX+]WDq- E¾KhqnY"Գ]ӋF/DXbA"Kv:yDX6%_s}qKyJcў {tteRTxĄ|cszo"Z+:^Fe-fsr{vT@7t)^WrJ*h/z{smbGu@|,º|!EhyF/*şƹ9!$71ҳNm:]`Ι]L-ہ 3͛cAnSjMݜwڀ}yc5b)9̱=igRzn}~l|ؒ˔svQe[2X񇎂A'&z%89N,#S7Tr@yER;~e>+ $/-7R43n_8)43h{ZD+W/!o? \,qB&EZVi?N)mc^}ߘP}w.A."ϙIb}cH"L=?~P҄/6{fQw޵e.hRP %T5;b ,DŽN^ܒ3doӰ&DGfs# Zz~p>.Rz)j@abicƿ0^W`u=2s9&1Ub b\! 7k1󦐰tQs$&A~6/#Ѡ:&3G3r 6cV˥BU]7RDD`Yװ!p*t]k.$.$,>GAMOXL{7i@bHb?t2Bކn`@qg7Ub!DV[687QaOSU49HI5O^F}0@熫Kk@Әx- ]awì|0)w }tǑˬ6P*QΒ>+7uqu_ڰsz+M .! w)Z wi@ns˽Sɣrw$*c6~}Kxm[Bnp4-D1HJ#oٻ<Ղ3"? BiԼʐ}ښōpڋh#8Vz$yO.$T MR*Hݐp,8X:G2*TM?Sm),%ޫ}Oe^B65C_Ž'S\篴yݜB/Iz~@PiuH&#M5'ѫ0` xY|0_.TڼV%dO! *3J; (@ؚNt迄sag:+}5sukk`]ima䆀g)ch^dx| #6傶b 9}hX!Aߊ8,08Ug`΁ (3уw>\iEyX.]ڙ{%G迮 e*h 016M1 .~t"}5j3-ґmchoڪǨ4?ri$3*t]SU>P,\$sh-D3n5mq^2Z+q,!ar?Y5n< #2..0)T),hT|z۩?+oz=eudq+hhCsy}퐫 z5*Gn{꒙V2c8Mydn%bHej{k-xjl-tuK1%8ktPPx$@٩ge/U@!Zi!;d倂BٮjS!ZA7#E mR@ лۯI@ɝ}H3{땖k1|hJ|4XD QQ߮=XM| $%|"FgΫ`z .eJ&&]OM1q< 8ܬLxDJjl0Cu´Iz.zهPyF y'FcHQߛQ+ʔroQS玘#ШyZ92LeNl{k=B=.3VTY\{%F<'"LbMoױJais VS*IxږB5o|1 zS;zz'(lu*Ёn4RS'=Fi8|IR+ K!ʯٸZ?8u1Lrq,pT<օݣ5#ion$|pyv+B:jru i_|Q#5k S FsEg8GQ Hk,%esqtp&=_n^G 3ij=ˬ;֍ÖWfOBg7 BbAׅ(h{N|X NI8Nyw n5fe&gd "# F'6^pnVg5p{:g,8# 9EeLa8coQMYn>P8 GhqY]!fw 6R|@DeϘ拡ś \`a$GJԅfu't&$O4}x4AA3wAƍWltB5;~J5:7*jb/ooqi@عə [U-a6o4|[]GmLxd:%| XXO'|>|v57ctlkȟ{ f:aOWzq$9 $6+kTwi֑o'lπS \_/hTR֜IGL*5V 0mLP. ,y{:㳈ƃF k /7JX]a0_)ථCs950c8òAUIBv#wXz3p4؋ -ȪH43Z&HgC9;,=AzBpL&T\ 67ト0m)q/R"!xJE7?a bb{}-рO nPru4TQŬ^9J~yEf(CEL(rxȣ?Q Xx)9JAt1Hc7G.Ph!f Y,ILe|,UL"E]_grWVd y>KWQUSq 780F16/.2dmj)}H tH;'X4E )ӚR'[]%tE.C 'g?7BmSa+5>!5Zѫd^Eп( Xۮ$FXzdv<;mq'xpSASH'fJ*-O/݄ZY?>D:ѕB3}g \ȖLnza(0p@z@ 4SKcW:V`p鍍H3@W?&8(P"#C^} k,LD5) k͊kKUS]W.T& bK~#L YkA3KeBh4y՚J-r"RR7EYϱqxq:ԔOE#{:aMY+1aD0\*{S;*!;Hb=Pˈ5B+ 7 У‚I875jh -@Mjf )e'ˍ:[ż1"|@ .ۤ/T})ϗQP9 }oKMpx([rԨnZW}jEؚK]K2h\!oa @n`=u 5"'RNdv68ߋ'Xl͘eM5U8[y-qUw'xL'^gi>ڂP`R#|!hoz)/ju~ܝw:uӱ~[ss(5 s~!Ep+soHoM^._y7$ώh6%QxW'RgM._e' 2u⎿e7HYcPr5hXDK49qӫ,+_z?b+q@)6SLL3;j l|Y93L(!+pS x+A&6| /jo*x\݉M.'Egk38f KH&q={"YJi[t Ԋ\OOqմ4'qqM3Oyےc 7:~Q3Y)G ѸWtڀH*]b)S G4f̻y͏/h 8?L | } ƟXQ $vߣ8f` :`($W \6Ҩ_Hg:ЇLcBE)CeL qhA*ܐ(~r/ rQun4Ej:=1G@6^!R]0a}qxK DyNiQ`d7"hRwcKѭYՈʉ6EͩUf\;i'% 56޷gꀨh|b儾YզY<ze`~F"HxdD)N|ɻ "ZU 1?!ETzQz4`,B&Ϊ0L>,Dq[D+5=2ں-ㄟGo௭6Urk,x^'H6d|FbDžDYk4 <6Hsats`,RN[Fu3[c=R~Q[c8pqQ?XB_JI.l\-^O.`mpZA`'^qd؊ BAieQ3;>nr:雞[KgJw d VFMs8A6TK7N4n"fQؾvB]3K,ٔ{9GɟŎ{/4Wc05hRp4v$x'KN>?lQk~Ff}f*#AKxx0ɸXBhsN~ m&#7vX,D3hJtɶ.VPS?7ԝՇ +uYks;"1h*!Ax0| ݙhUpĢY*PR}Rׇ*)lN;OF4pe=˾# ]]%S:X>~9N>Nĵ^D-Hn?jZj!ϏvaVNd|S;ChZhUSOTN+_7KO{#o6PΥ).ȜR4>u7-l}ےy^5\nܗ7;鐽"A{6IФ5+45عޤ|rC )1^G쐤oHlta?|_+%Uo#~u~uS6<{@-eZʡrӹ TgHl] 8&:EdG80pX)74)Qu[#(xۿں[U;J9'붪mG J1#}urب]Sh_ vn<\'A%@[蔞 `M@$O#  aliHCx|KE\bWw&'b ><7Jd΁F=dOjt Iav8G;Fi8cnݫG)V4s/|д(5]8ԙI{ 1݆͋R^#7>jP+~*(ڧA qDi_7 ypq,\dy;䄏#-d@lX~/YE+bZc(늪fy1]KwQ?+΁- ܍`YXcQ\=m_=$dK#z.g5Q3k&E{w"tlyX%XKC[ ?5"}`v0*. 4ρa# fu7~(a,k[2kHbzRcTOrtv8ހ2Fd#BALe!F̾,9h~w'ωhmF$Q]ڞt]sԯ}~(?lx5K.rQ"Kz6.,Pu&R]@LWhP>^=kT tz.\Pm!'w*B1ů b$aϸ ;f4)N yo N\NwHF`#pscYXbx-)3_Z=qɂK?5ADV{eSwxaxI13t} =r5lڋt_d纞&\S ҳl6FfI>JֹhI#/|_B'^}U h_~>3#[5aoQtC`ބo8%Qo 5۩ڥrg^M SGoQy su+[H(&Id0 ߋB"`)h^d[~]+DW˜k@,gձ$g?֣`Ȓ?$b=z.D!MK܏E2,4B<;-btk?uV3eDPjv];өf(P8@uU(܋U3[LyL|@$R9Wk O;@oO_w1PqB4|X h|?05AcˍAN\gN1ŀ3ΛT][kPpeڎq[<'v/M_aF/~-d~r_E>m0|bxlN,+3T Kl |=R^a8+[}38W {hd!V 6Ơaof7FO09(:qB%H氚^Uf݉-|V~4hcQP;H8z !!:&L^=>T̿/Vs먡WAB$t^@sԀhj0h$ K,ҡ_ RD-ͪ:i8/+4&q۬|jhۄHbv_$[Ca"VS]F1"B3WĔ\ԥr﬉s Gj RoT: ` XShBaO[$gR hU&USm%b~h(u+y~X(<[Kd:t$T*d=x/Y,ʺJ2ho!KRpwj&E+H#R2{-u;8BL7J+S)=C2UC}|+OM] :!F[H¡O i_׭TSv1 9 ()Ǫmf}y6iAS/7k>_ H9Y [5ޜ3:w~Te5~䫱 mh@B}/8πoAYp"6V!8rf&dre6}эpb߿CYHPsLI(5C@A}w ㏓kԌu_H) rn0g#ȼ{TЍ:18'f@n,ܩ dhB,z{.N 65 p"r.ggE,fUא"ʮr y7P9L SWhB5W8CaLLNކ߫ b+g]QDx\jzv)Ҝ z# 9=4d4"FY$h|k?W˽ &_J'hpq #FS`1P;ukXk~ I~YMIh)7Áԣo>n95}٩:- e | >GRmH^'`TKbPA0f]ԋ*AhaB<Q-w/*=*)?Dѫ dSQ+X%!̘ZXKHsn8{}aO 5H?W%]u&?7-|VtF.UC^*@Q$;;R}YGsŽ z*=` i{^!B"hc->ٹM$Ex@~HǃFZ-K-ӧEдrb9w %߉hE|.:xeG"’W^^b cPP=ZUػ1 ƫX`LSZT?5VW[(RBb󽴟~sZHw[263O^mDoF^ˎkSrBo$>~Ol L Z%l*0:ۂX&hϴ^'_& oBѝu&Ɍ ?@nMO_h:kIFBY1'#La"XYP@4^;j-7rDъؚI2f^kg o.8" G+Etv_y|{h>4nШFNy c2Ԫ!މXt>BŪZ~tj=) v[8i# 8{K  %߿_ERE2 y>Si银XH8 kיovZ"]FQhHN19`ϊ`XC ߈▋jK@1ޙ6+IQZ~=qkY t^b̊rmY_+(u GvFWwM k.שYM*HDyL ,8DI qd; xfŬq@rs37N=Kd,-y)--Uy*iO=&<\尫c{d{c_!+=w*լ_bă'_Ӊ v?x |nM=Kˬw+6{絺|:L{oy,"6Xtt;L&dYL~2S>lNrzU psUqgspB̓J3=baG/u+?` s~ʷXi{ &\ y٭/W/FM?(mpv(ncb>3;C > Um]5Ŷ !1o㾝5칡;5+`fVYAJvӇ3sƒ?k V6Y9]- Y)j,íi{]hߦzAws AvDMq1vip>S͍TP&,F?1_"e.ўo2 q+vsyzy @d6x_C|^,gsgk6:5C-Am ?橳{]S^;g)r*cyl_9-}~͖aGּg]kvJzy:~^h2/k.g.T rh?;SGK/-.?|]V`71qP+ո3M$XI0/b>fk)Hck&׿eLxWÈ:jjظ|_UP2kpl(セypce?01p}fD7-k!u= Tf|ki+:vXSewly:Ӄ[OB/i(͔r0P# [IMq*I%QdU:94d0~k$ d͙=TsOT.INCs+X_ OFeUcye18;&Z}qB;I޷+jzT++j>l:7.>!{F1; +gʩͼX6ae4˟t⹚CC̨+/GnlqF?ʚ޸xFMB8eNM뭲O~'tt{qa_n뼝{ȿjd"`,sY*sH$BߗFh~,Mm]}9=_=fHMIyJjYc.Wv%(?K=kSV xln3Ϻxg09z&㭐kojR n{쓐ep \Ot\_O{[]g;˾)l$y_>اT1jM)p+<6y kxY1N9ԒaeτmC];nLKig "| LѾ1շzET_;~pAb{qթ2wrFQ}Džnw6݁]ˣ :mF %I}fd*qwFq38)3v}nʭ[9=fo83Jk PYkט9fxM?gX2 ;s5rmhkz*oo9dӯ;& +S We5,%ai D\8=-_7XsIyt E>,hhGnc^!2R/0KE۴;wt>wߞ::a "͔ ^6OY8Qfj`"!RXʒt"fCq7WNǍ5^J)G^{9(w~nլʁ ~ JSYY2}۸N U~mz&mRͤyU~6%+5t8A]K֘iFI"S뉮E$ma2ágPm߈zh#Ooӻu,c}3V_ d}!Qg]eJ٧ n/͆|U6VXl.v}?xqz(wɆ~sCL{bK-dޜ㨴3U% ůP|>e@zݬJڷQw{5;l~f$Vbp&ܗڷ;#<;gKw75$`r[9tW+WWWt7,GpW+Ͼeh$>K<ŷakIWp4v[h#m/s,}}l wbA㝛/jΊG,}r|=v5˫ 1[T^ 6=)^t+Bpb{,kj+)friT&ee9iJ"C(ƒɓ7m+7ۗ} v旿 b{ʘ3̾Y|lX7h +MlZ3mGB>z>=lWk?ݑeO)pS`f`f-)U݃ I]3["$Lr6=7'lBt%='Z.} ZGG?o6D||0Q%][s[gt]82o~7: g}͢r5I:auM$) L;ӷ־ڪOY4) >GK7)Mi?m{9mFLj+LRz91J7`&D)QJ>eHў#a;~peNJKރU.-B-5 dJ\/}_o)#G$%V3ߺ / ~aoKFBx)X.▷OҊ¤ׯM7~ <"(epgk~&>.glU62r"^V#8˸>пhetQ͚<,qE~ {KzoZfBf韇+9b厢+5PTwf)MefE<|9RwYވb7A3ޡ[ B} ,"ӉC #}XMKʫ﹙MJ+F~K^K& ??Ŭt)&23q3b< O~o's u/b>=ûX2 Rs=?wxol&:e+z}=Z$Лw/X3RxLRsQz<0X!W'}/v[w E"+E g3~Rjʸyߊnߋ +u%xjK߹-gܾ)`XRn(NSG kiߗzBTj[;:N>Y/V!_oI~™!V.D{AZ|IgDzCg?ܑB-C t7}5_'ݻ6-fNi~^*=Z-3Ɂ_aJTYT]ᶙέGZSf]OZ (NN4I>zOŬ|;0 xz!b_:),- &x;WXVO/ܵ6t#p׿S=+yVȴu}u#fk`I_m|nVNmPն3sЏa!-ڽ@rz?FKoT?5J7QƜ`fΌ+;p(爚mpEAX$4d躘1]`}ʲT‡Z!+l{w]#/Yn]JbJ,࿖c3,e q>;C[? [ t|gJH<+؟j,rhӐs v~[`ϑL l;~Zq8U1R8ksN}א@橏kֽVчB~!җυ,vg-UmIΈռ{6X-M#kJ*+o{yVW\Z3ˆ5i\q+{;|i4MsO3z}O7*=e5i|CaW-KQ[W՛~R?3-G'd$jkw"` 잂,ϊѶawFV Ɂ4 -mVd2^y&RHj]5!-QREǙ;~Z9(whП}d1obMNYwVA>:W<tD+iwwĆRtL띖,d]dkT.zE>s >y*BtaǸyV"Tw=_נdwAB.K$ePMrC ?DJ/UNLk~soM&:ܯoYݫmXy$-Iékc~Cw%S x HZt+/ F|BWf05j 9?Ta&jdp=#dzܝp27&ϱ'gY]Dӈfo׵\_.l"nF325i3K.s' zaj穴e7:(G#iiQ$y{*`a7KUTKD+Q2e <\2h&{\Gۚ v_y?CKa +A!zl Sۘ\Amd$RK"+D*"l Zʛ*;՘dW}gY<ґ.agS9fcN2tROR8lIc*Y Pmh}%CozfNNtRm^.X 1&ww/k2*U}UU_? jDq$ #OCQ+Bc}xچqht pƜ0É"sņr~R|mmM9smܯ?C<˜3!,dͲّɍf7#ҢY]8PLoh]ΥzD$ghn\S/%C f'8 R יD$_<'SKfɡ#JjOBpbP]N!M#A*ѓqoLJ^qoҒ $A뾪*X%B{~YksAnBLE늘@_gB=`h2FcX١6NL1M[B`֩A23:ѽ XkCZ(gk_9ZKuץS}̑Oi97rٜ9h1^ͧwFv5n!/V+nky(;)ݨݩo]pcZwُj֛["#켍?\<~!Iͥ_Y9v|] 5p'XYB+Sd4[eۅQx![JGmh~3Ϸ~f|b(cۣpi))ιz%B$_-/7a`L up!rd9jU:{\ĒΤnDS7}6O')9kH~=[YWCi@믍"re(#rSם.a 9Wԍ8}]I~%_k5MA<4&)~ :Y ,[;LJ֭y+ݡT̸u)û$^b?)_sdtHqͧUExr, I{vmXŵ%gQG0(\ [w~ (=g$3Icu&P2f!=ԉ^1h1x]6W^㮺˻\~2vfh 8v-0s+%+ՊTGb5IP|/֎MVkH7Ҏh,˔r{Hz*wnӵ}(XyZOVGbAŔT2b\,ʘKgnP.n%W9v{h:'uwic\d̓$;1Z9I+8gK]}7&K^:\sKRś^%ݲzҗqSOF>XsT] JD'znƺ17ۮ4 59iY 1`gi]$vsSL)\\S^Sąi5ƎX,P{W=RI L\^Ьm@qO6V~\rUGc`l 37^caZY N9b%7*ŭ|igru}t|g}]>#|KLI,ĽsVjVxgO電6 #meҒDFT8u3oQ7R_k9IbI&Fypv8cϏh$J\{ RnO%uk5V(vȱ-L[Q?Z{rEWV䉛B4gA!"27}}*sϕA唶 Gck*]q!O,9]}ٔS,t-sư9jTz'7y\N+=NPJ1N}E+ԛӔ, Ji0Dc9q+GJI' NƨKH3['*jRR֚7|*G֕CrJC)1$fM\9򎪳鯘ZS.hEɓ{W4{ d5J_8Epʼn?_jh?B\r~D01{r5fZ3R' .9yJ%yt$&w<02̠=r'W1/RR&*?i*unw ̜D#.@:>==+M@*g*:Hئ6D~F!꧊J~.ݡ# wcOX䵒SZ32'B'  |`>rCb;B!(Kk : 0س˫A bGwgc?N.'U~6q掙R5&΂~aϐ78֬(#il*Haɍ: 0kkܹ(=s 3AM~?"&͞@?Uhh}rY>dү ?~3:ְbf ww;K 0H6fTI4Jp17jU!*}Y޹C&NOdCj9tS*UW淣o5r QU1%r. {=ʘO.)QJ62ʩ*K@*+=II~,`2D*o17q +Wi 1bc=emF9z?{|= tBRIOqe}샤R{v cܽ.Q ]|Y*ZTM*<36ԹW[БZq9}7BN!+ʿڅ8JX>>7RIl|*? cu'u1U'oP!㳏ns bW7Hel%m ̽'Kd{YP m21f> .bl+ïISN=_Nf4CO p2neU,@@-9/x^U0,$1R!=98qc`[ۻc2WE9Eadzy.Sku୪P͇>SG dG'~r1lm1אfKsfN6T*?iSAK=G_m+-M^/k%c0^TkMFkG[q> b$_|ۑ<3y=mjϓ٬TOMa%i&?#Y vi7$>t:T6^(4) ;dj)*(Tq5_Z:ku)Cܚy9}̸+goNYE׸Dr9Ԫz[hii@;|ޑ%ZyR,cKO/ siݕeNg1͛=!!o;IpNj ^ F7/$^?~8%bǤ0<1OpfK.+pο1?5?GW58ۉ? ?t >Є(ӟuɀ̱m{XBu2LW/8kAh.D}ߙ=wK<~{[%gIμvo33[)hc} g+_d7s'}!Og ʷb lʲpBB8Cfg79ԉ*82I AUo|шM# rPpqHb53M6c[E53G&X myqz#Kl֓~"e'֎yFGkX*e_T##Z8ZeLt;r2z:]J S^GlF)Ka~$v?O6?;՚g}hs7 SamڽqY|L[ߴ}Ήs[7\[gJDӑ4NB_칪@FfdxS[Hc!(?m[Cڳ7ۭ^;F"FSfg֛ha`SU[ݢq!LįMv'\  @Nځԫ2y!T]SabJ Z:ыfi җ5[ 6xcɏ ]fyeFy~OI;3̿N/U%\Mbt!l!Q\C/܆vfqIy"t-Ă9ӮZ'^>$r4fesXf^(ȫhx2ĶΕv7v*ϯ|y Ѥ3ckB*#Nȩ=㢾)o5b^Cgwc!oqܦAf7=;vBK |f_de ;n0dԭ1ǜjy`UO@x0;P790?in~n߻۵y;-O_*-c-.Wl[7 qCh/?zĻgpN?!N&gy9B53G`l~_u .7*+#( yuhCË^jK'uߒ d$ EIPFm^!QM!I3(+n~~cƵ7r5Wp"O w{F%{<͸yc18Gs7J0H&1ʴu\MGMҫV W;֋z$y7jˏgFDJ 8{nj(y~"xnLe59szjHׄ@6nl3oc1NtkBێ"E>ݶ. //VTj( F[Ֆu]k^?FI4p1k$ߤ詑,h;,;g}`­ Pby9<}9TW;/8A][R΅9m1or{O?#;V:r Gn 2 Ę~p@Aٌ1:`Tw鐛mulf8 d5v\.vXsa6:bll@Ri,J}- &/'m%ۛ1}V8NJ N^Y23f{>?F6`(Iv|v#fҸǶ}BqdԒe2'V[7Tƫ߽ioӆ`U%cU[dD~agr(VXwLOi't1 t#}~yt.g茹iYIdHNj}C=n%TɲSJ)&H3~Vv{^E3ϯRhr!N260\PIj!]iMժ,70)xwV+yUJ,oj!t+3͜Z)%)}cl#NA Mm͙ 'UOjDS^  #F24wMJU^rS9. ^'Y%- GVtlSkcPJUSW8:}33w-5@[@^NfI}w (u(njbבX~lP:wQrD١J8$Om(nG#уjC-ܭyOK9噏xVU17 laX޸$Ai^nʸiT[XX޾ށ g$Z~lF|-~d4#?됦tvȼסVEw%7hDtؤR 4M)^+'WNm7՗Ƚf;hM]WiUz2}Dԇ lw-bHyK}Clf"slQwOdҍV)ڜR(&PNM}![Js"$ABJyT(E9A U/q% 69))(4b|4ӣ8{E`Vb4КZ Qmj#rXyEt1'uukUw$7fOCUȤų12jNjx^-u?p@SIOzǛnZH1X:sRQ܃/=mٯ4d:;Z+;e=^7®SƨDZ1~f's |)(, ,5u~OCU[f>hV~p\V̠4G1 2oU_6<1/Du(|kl$ DY~rf Xv$D<:m>t 9tl#Tr),vf1=P,=!q9QU2'xMtB#L;<w5b{c v9Ε:1֌]2eFC卌™#KQnx{1NWRqz*4:۞98{Rj3+(s:;b zGHЪLW[V6+ ZN1:YsQ%o\Bkp|oo2vJqr842#4gkn`ANWܜzuZ|=ۜfDggZWl2L}3k|@6f5\8.DBd1[&,/2˯/]4}ܒUvKSnLDPW|Hgcˁ vtPٖKR#*GHm&`fM m Y~ 4۔9x;H}̮kjcRܙT/y1ڟ\JmCc SֳXh4URZqpPlZ]tey:B2L}D:2^r6ҍGk{.8v≋'UUmbLI"ɭ=>.XH+yF~%y}cѫ磫<͏iWbZY*)ޚwvEizl^fmG1u Y5ga~a?W\$TRљ],LnahjXsRXE[G`tU @_>0[Au?8W\I&k7f&˧7R?~ 9,E!ur.[3nŠ2r#kV{QYP06ƶ+ P xl]'w,pm׻M]#[JܹgZ:{)Ӿ\9M7I'g$GRR^e+#;>/.ΝX>%UY#R} bIoʐ˴ zÔ=%@3STp,[6U\i/g[Ԡ35@ 蘉LU1ni oKXx\4McɫbϳN^26b[`+,cRaK]wIX*#yNʒ]_"UߠEכ73iY) Xt#VVfu^Il*\Y~peTbyxh5 ȃ ՟1S\VIuZ ;D3sn b>DDžܠ8*k΁P28=kLNSw}c̫R쎨WCzvu_8,N(cLiu8SvDGUftr"%vAgi[Rk-ͳ^= {^ Y"^U¼ͣYʘ fqH.Qk91]`t;2VfrFԈgdzNϣ$WĽҜp3tKD9BYy)"Ųߑ_Jcɗ)v06HE\ZQ`!SC%ך1劂{w h7#c|zcyɺXEݵSl/a7;,Q5;}ɛf4h8i 8oܵBQKvFfi2]4Ek 'U .#A?crrYvhmbxULkWS ^QDp$u{pE!IW30{Iw'HBTLy*luѢcXV3,&JTY[ؼ$bDEe.O]^t*9]{_>!p>댆Y ՞:?92EO{&cAʥWnn+ڿWsOy54 է *뛋tu;yua^>Rpg[V0fk⏭<71jDnkuQbئ ʼd]{Ӳɥzo%׵-mv'^)cJˢINٮFtYOr{%nƵ3/7hۘqQ]P$Ιk rT8ݪM;|!9KZΘvȢ-yQ> S_Q~TnqѤ.ǯ6Ǹ >ujA g8d2Q~@XGC%KJ1h98G\9Xl7b؛ti\.a6zB{Aމu3[xG,өc$X=u4 3t9fgZS ,Q[3=5[./nl4Q !:6оKt Yr \tHczamYysqsTr >.#HEn'wK4#32UŮnHnhVG*K˸9VƔcKؓNY/Z%jI_U'^xn=/friRVL[FHB@'\OsySRRv,\i(z2Hưl˓\9mڙ λ6:Jׁ3DGFK*Rͅ8*~Z$o=9`ˤ右4?r(wR#k0m6 ד_>2v[S ]-e<"0C/Fm5w\0ňgGe07umyQ NNI߰\A:UăU͊L8Q9kL{TD YnGaMjBXl뜠@TW{j4J* lR&aFi1lx3;A/d ֈۆljlYݪҮ!xʃ*ѱ"EyOY+VEyxcMR8sIJ;п6^'!+lٹt,& EBh }% ~ESm4hĉhխ9üHD߳{pQLc+$lp6I\i2 UfuʽL\H:lVլUwP">3x(&dlExkB5p7Pt=:d4'Ky-]i '0/E6@*זvOO|2nO&͖QQ;?!'agQru~*=&VRJ`=p%'FEiŇP*{6xRGJ%d,%+ڻոWbh nv&-::{U9!ώmײ5+MB* n8De|86}~1|ґ0yǑfؤb#J^QPϴqshLݵ%iͿ̚[Bk3-gFQnh Ĵ ϶)%doڴ_D㥽(JShD6^7]JmlϖGfN'jMRͻg9kQ!wipC~?7#fJ1*L:͗qa-sHg*OU;6KM8A%қ׵ːO~$Kk!Ky!B諣\P.nXZjHeUv:׮ #V~9+{d[ӍwO\QJZoⱳgv `j],_؜5=y۳f!ػDKOǸ)~(pqw]:x_3=s[Q=U<nj"RI2\̘(nRU!KvQM[8cáDke oV܍;5OiUDV#Kҕ ̗k+k!AƮ9`_[G[c#(9X=3E.fv+ZʻrW[K F9: +VlWG*ust VEV8_e6'Hy2>wŻkw8[ e[eŇd:wLqESd惐#n4J;]Z͕I$AڃnB]RmGkXS:Ҳ+J4et*ߞnEr- M3Jv·{2_$بljPՖf\B帩9QwΆIv9 arm\T[6vi`{j=P+E:89ɦ]8~9nQw FX5:YF .FRˮVʮ`7'@mzsƧ5n[9kV+StS[ẉ>;j ȨsnI?>FŭU/ÜtTMO!+oz曩nTd#m]X5ƈ4O>6;]'JH)vE3ՙB; l1AuCZعE*y`66AlR jOtx^9d}h`q1f6v}}U. &\gc-Z>H֡UrzsW *_gKGZzǛ.a޽R[wH|[$+_s) NɈݮ:DSo"m)(tbUqldciv%-u&&Ǽo7TOlnLϻ)l|oRKg$ *02n#UlhmH-qkV;/\Dsi49̪AąߪV4HgwK#BgSk'1.x"mjGg3%1]f:lDƭ4ݽugicg,x&4Vg< vV9S1\eʂesm\:a+ݑ;ꡩ5GpZA'U wz>F݂SÈaZ}~x82Hpql X좖:+5Nr>3xBdb9=8~vQy5E=E.h`5$>a˨3R0֪o&Ppsm==߶yߘ+<cWL'.'$lӤ :ѝNj|ƛMe5hs;;83d{*T[Ce4=uܭ*Fَq\m"-co8gqq$1lTaAs4i^bj4y)$%H6G2^"uI(݂%=-Jd6I;vh <-%,C7@7 Ge#dV|m #.GڼҍQ  Nn ɐF76$>BMj ;>{7+ڬ\cCwiWJXPO05rnfTE3qJ89>J\ϑ336Jq؟&VY3p-;oI__yBWwW}l"a.DS&+P2b{8HݗoI#5YSpFSF] !u˝4t˼ރ4,}-Z\S%M'(W]Wk3M*kK=FŗtVs;߬3/7řj9{v ί광xQÁJ"/l.e!s󤻱;$-{y#g -Grv\~6L|ԗi :f뙝z=cg›|W镱UHvog/>jge +ds%:*ԮZN]"CTS~DAbƟ;A%V&zx~No #b2i=ojR5 :>Μ9$IKP.O^A"v9g﹝SR>gnxfIٕd S˩|=F|ٰz{,Rv}2wv eo趩c/e]F㼣k1hI|蓜l#_|zκ7g'&%'V=ʾQ`=Yg}Eb=)RֵC]]m WGLUm)QEyTTKrpuiZӣ yJ$SNM?VD7&홈30r/ziӸvʁ,p‡?hˊF 6FSCqg89ݝM _zӝmbQO8WW贠z{ e3(2u ŐLUNiY*ūq)5j;9ǣ"7֨t-tnߏ;RMn$ks=1N}Wg$^ɵObٹC:K]r29Y72%IIwwV+LO#3ɻd.tg0tA߼ 1TWGEo.uMȬ)$e+fʊx mGďr# T:+Τ?}n3/vv2zJeҚNW .͛}1sQ.VY3bwgMUt)L%n$zN&q,:)C5/TNpH# f!Eٸ&)-+fhL/V-dylї81.Vu͙ R~ 4Mi\ko aq<Ŝ.BVP V쓺akܖQkv ݣeƩ=Mh$dqmy‰9T ͍ٛB[Naʢi%'ƼtAv.$~2y6޻!Sߪjq wil`?2X"@Y؊"pf2p5z/G17ۨ.  NR|9S[+@Uk#y;f$f2襭ua(销qqU3;?r;= pg#4k̓6/7~YJTLtf] 1-W :u ھ]s:%̭ʏzQU nRi)+>k=.˘}_l@3>vgRҙT4.4_'jYUm'8b8uN3M4I$zj>{ZK_kc;%RÚ|q{y0s! M%qZV.ďcy){dzvc|ŕU)TֶA]r槽1}YI7oon6gB}F#q%6|Lx0ۏAGw1RbS'Np}i-ƮmvIB2NIqI=8XU%#wNJ3[Onb`;O}fijm;4:$TWY=dHÂeyS&jUfeqrTIp˙MoOXr1H%=;ǣޒ\:ks4'pt* i6b%MqҒ1g&A Or̀sP,޽{Nf|wpOCP$1UKIkK9T8yP/R1gKDsI9 2KĔ-ܓ˨֔T+ =;~)'ق\iIca í|z31>_vVĮ5o]jj&-ĩu鍝 [ŦTC\ӡ?Ps՞e3U#;)Կt, :S`<$n^ɦ]6cU_J=Wp}#58ڕ΍ $t{cEK/czgD]ۼ N#m [_8;?.|M^1EJn7! |0h7o;)o]uI;noU+o5 pզ AʎU-䰭#\d|T y4/g+mYk[ &:9ܹ)!u&H.'jm}]!,ft+S uY汮Z&X{5mDѱgos`osג{d)yRc,2)U?XQQR̵*j/i49i }ђ @0;2FkH(:+etU5]`{PfV<{WI<[]"]FO-9<~`3_8]iZMZ4\] k& vxY0]_^9yxc)Uw1nG |arDG_?̏E2Ax7S k߫+G< Z$GKXL?3e!>p-gr sSM?bn|J9~}tZ q]춓ޕd%G3 5t2i "ѣ_TvSvXFVtUkLZwEprt6kg.ݴS;-ՊİX"i[6 8lYsH 9<|FZq!͊"Ȑkcǜ]n993;5>L*jU,uKɖ4xVEio>rhr?<4DŊҙ*\Ijtſo·k6QiU7\2s+}(WP?>Ũ6([ʾ܂Q+X.$/Jf (oڷ\NˌP }Χf7~)~/sficxmɝ˖h|3ÉV@ȗQ\p-+n/vΨ& )W*-nj  w$h &GvvܑH)%ͥ2msՙUG:U[Fwg3{{butN^*]Y_ixKe䫥JU Ύ遾pY^p\-*-ՋGٕ+ꏪQR 7O]gLv*j *خU􍢽^?'K}K%u ~5yIztC 0:|0IsiO˜;&TR,_gI()C©Y }DewԏeQ!}9aq{2{)B5PfjX='%5Y3or+R=Zm$v.ӍqZMStK;5tu Dbťc2=)ljEcFTgѥ2ܡe8 8g}&5Gb[VJs n]wE)>57=ף\.4/2ur-Y}Me.|nI͚`ә9OY "C)c{X+Fm.\:H,3Ctr6gm`[ZSɎu];I#35ٮ#$V$13o'ɍqg4Lv`xex%-LLOv!^eTN'=2]i{#D0ei>6Q5 9٣1oL <{J5m2jtH֠LWa$#ҤF Dٺ=1ɸ.bs/!Է^0YݯqF h%ڵYdEl({T#t3h$4Iʹ̅>~եs~KX2j:Nc c@$Rqs %lUaIvΌae::2ibrj LadU%L(3O,`R~BaMA"O=سb$&8K慅 lQN6JC蜕7y K;1Fmuwס"נ#ru]QutQe}.BR^fm8ݿʢ?ڪh[9dF;>\_~Ց+X`32Qzқ#tvԭ qO߼Y_Q9M'8ֻR>*фtM:jRq=}Bj3 >vK%- 芲TP&ImuAt;y,1ڛH5Exҗ\H8<]˜1y ̙cjVּͦY<9 xUټЯi wajNRRE40.nDnͿ~%ڊ&j#eLtP)1q&m3ĄpN,|vӛh^m3_([Qԍ[/8Yi&2fMQ9sT'aSkڋ/c95Z; aX|hxsgȫ6/ObJyw4y } / 5dwzZ)AᲪ$sOivʦhw|8Q3ʐ8,V ;sQ=!)F:ft3;_M022k]f[LTaf-c%%t_!"WK;|Kje̴wGe}b5u)msIOJڌ(~̩xƹ`8»-@hT{>9yqX+huIԨskC .o50o9cɒSq[vib,dC=ϨyF Xgs%]C!O=ၑv9TT3팺G ̧ u~ͨXf%Hm '_ƽl4H[1OM jASP=OR9~gz`uYs#3uԕT2w7z^onAxf9.L74DKnTbp9+/sA9\jӼF^/ʼt8.ڍeS6.y]d#^3oqU8u{$%.. GD̴bZ}pGd̗;#d}<)C*Е3YW*RItwJN\A/G_Tx*p ,zl{ +-ҴQWj p綛sw@HY6t<ޓ7nMf> j_sٞ9c 5Z -V8LM,kFO'VkS}Ռ\^vo͒G疪 tq:Jcd^D{[qSʣ'2$s5圣o[Iv'QFv8e6'WZ+2ǨFԕ6S.ؒςSvevCx[#}tɯfewc4*ul+^blw[t -Vi=<9\ϨNejQ5PjM nýi/Pu\}m+ mx.ul e~OqW,J4=^s:#Cqgّl^PY01#OB,|$ py7;R܁t%ƃpV]*Z殣=)\Nޏf\ȓMg?7HQѵFڔ;sMLJ]]|)ٓe׏Qi 9eqTGM {yA;9A]'d.asI+w'\h!NܻE̼046>]s#2nA2^:F5EH`1tds.5_,!]f5(:H6( e4 ô)̜vt Ls"_=k8(}+v@[5 o,rQvqG'Q.`%N.ޞ8㩗pؔ\YD΁r͆ۊCXMʋp)Uu]bCK^/-U CRlflˡd+']=mFAa+́,pͷmsٱ6ҏcjI hE:hYg["Ls1- V:UUoԴm 폭R5g/I vj:vi؏%,1琏D8؀r %ǹԲd̖j/k<* =^,M-7W mQ= ~H.S6B5>TUµ_Hlܥ7k 1}\||POAN{Jkno1mO :yGcDqyVvyoɸcVVѹ"܊ώ=6X"y4P V$~fGl T[`lwN{>~G5w>4hRg(; nE'XByioe)ʪ y)A?L bj82Xayf83EM<͊,JWvZ{شo'Ps֙?TU dײw99-a"b"1Tp[L\wRA])⦕3G+7ULl4Qm㥜oOۤ΁I ;m\ eׯ= aY/Ad-ܜzo'cG~!C|8" o<9n#k璼(\Iɻn.1U); 7AFa|2O{q1g>XP' ygX>'n NFS&|WHdՃR# 2̌ɺW|UK_%k]I]*wt}fҝ_6Hd^{ڪʩNxLVN^ꋞ= <\&ȃ0pZRFT| ؛*[^89wzD۽)}YHgȏ$OD粱զh8V)*VxnncNBB$tZQHr&7*=XI/5T){>4WdD$Jh$-%G-wݺvF8U գabξu?@^ד_hڮT 9mͻV#2[SN˵\PV뾁:E\ƒ#lcS;V֕RσRƎD\i/ne8ղ:Vp'2 jLu}q)8 }rq',v^1&95|g+7%i<9ݷIcDyjF4X-'lRQJ{iLb;IM{Î\At#půZi(UU )(=l2sm6˳dZڝ?143gO O  9a 1gr-n'_i᳢q}:,5QoE0n-6ˊXeKRtfcZd9MxZCUtѪz!h?>T6uS"ũNu7?8^'*C1"+k]y{/n%q9tqwdtNFHv5+ge;O(ݛoc8\78řeO#cd&ݔwb"m?axTc23YԆn"_RuPD#YbTD" O}:I+DES{`Cq_G2*.%nKrY,9(569/7mʪL&w25CCTJʛR2Ѹ 7} XTm]ok[Y.y?OL(9rT5S!MqɝszޛpGdf}$ i*ݚ6U{w Ui$^>JFmpd/]@_ՕJ{մ8Y}iDKqޣZ5@4AjVZt˭}l]m bg9uBdekd|bScgLk7rּJ|&)&܅vT&$ s53rs×}9P$o6?L篝Mj~ELZpcx*Z9)l֖f=eGKRFw*x&f&v>}pxY,Ѹ枸Ixw6babN13<59P" ) z$ԆO\=7ZSѡ=ǞxmyC/7'/ԟ]|m]b"̑Aiǵ#lj[xK{.ڝsHUvye#&Ðei c1 3#"Iz+N[nfU#awCtMWjDqSDLKL=:c {g}FW`6?ww5t^竻u{8"(٧q-=]X0?9ث!9\ =l(ڴ>}'`=H_A/v`O?)h9uUlK=Tĸz;p)docc,yZyZ7{iɱנctihwyL@EcAggr;n_ǔ.U^ց|wo-ո:r(Kj'qE$˾UL1>z S7p2 ]-R[HYwTҔ!.S8|PP1R"y~A:k95x W۶^郗8YYe"dlNv3C 9AI*d{CB2s 34{}9d 㘶K{exzK(< CGO&n9Ek;>iwX"{%cݿZ iDƼTUS;k#ow@m+''뺔4\sV <֣βr|Ң߰ѡF)BNu.tx])xm|tN_\9Z| QPi0ּu$u U+VۋbSG-$\|#f95,cTCmdFYya1b^ %`b8)bE8].%}#9WvY>'}/ߟ3@JƤ9В?!Z[H*'GmyD؍[/Jwv%[iwڤ8TJб${mɛoҭGy='»bU|"5Goם692 g7FZvf C<+M8cT]࡝';X11'li' -s)ٷWN wcPm4=I9bDO²~2w7fdُ;&XNOtU':r-қ+CRnPFП2de k:yi 0~S8#vUn2&=Q9넛pmeǹ2G5gЎ;l&{TCk}Em/oL4 l{h11rQyp-wu(nrO$İ_4#!U֠ӎ0(GusbQbz1C/5n 5Mcq:߼DksyFSq0 Me5q訬R7x=  σ~Տ'/_YS1'^PD6Q$MP7 <=g~\HƁN<wՙKH*\ًµߊ,RSymʲG ޽Z i堼GDs,4 KEu8=绺F:祑ȤxceUv/A ^aWWMusKuO: ǝb$m7?O%_bU] ݾwdt3Pצ'jA [zrZŎn7LlZ q{PΑtݚ y3uvǥ ]vܬ lD[ַ.V͗/k3Y~K&%QN{t)^X!9T**t$OJbvA[>bӓKmGefOO4kqdiKk&Y)"{6gz'9Rl[ۖwr~w` 3gB џo"tYCC` eߧr;~vNdN1/ITC)otnmD6U{TKLLP9Q1B˂M k۱a ,:CT on)_W)(uBP۱4HDZ#:}gS [GKVᰵ<~ b8xYf+ǶO+d`QSwƼ|۷O _']Vh׬lWgŽi+q%]~Z^ P18.H j[kClE,7G8]U|y=O=ΰûD{_,`\ Z[c 9  JD*I{@Ad9I㰛q܈0Yw?S^juDz_{-m##CK}NGb7W厍Hvs"o!7y80 v}9>w5Mh$wpP!SE(47տJSd32<嬺fu5vUV9CK[n8u' h٬7'e鄶2ΰSKg&2fѪhQ"Xw+hFH*-[;hX5b"Μt+Z]aoெ)ϖ-l7pw,V-9f;>Kʙe7:yrIw9^4SuaOoXbpE{ i;CӱF^.F ]e2S#xR$Ӛ˝,Jk̭ٷYaAJ'qu [͖fZ1Flh"+SYA-DzoTKld, }gT]C.I1 %/4+8J)83 w~arŌAkF_m^0M~sÝMdwcVFwu/$*f%+/Yゴlmgo՚=dprw2VC ͼ2mqkǷpjǙ>MGO˙5@Fa-HcŲyS)?0؜umvXcl,$T1oy_m|EoQ[*N-;L_YaikdZԊv8 JvJkzFj0n5'|g~>h*1ł^mjF]7#u7s:Ɯ5yge-TN4X cOe֩DLibcX2jGfoDWǬ\ATkz*LKtzU 3Wa{A\c9HZ ]gN;Ǻ %%tPL:Yf,N .߿ /'f7s e4y<ծqbqӸ7fGfm s,<KlIyN.sqlMLj*ЀQgmϳ_2KtMqɸLBpƏ/79-܈ :g9 qYv|$V sѵiml2>!Ӛ~mly.j:*^/^V,o$㚡_JeTuuƸgX9ObܭStC zK ;A7~/f/TJjSpүN <)*+'h[J~z4*z"m)3eسkxY<ޙYP,㯙dSMh`Ē.{ϣY&h|&ib r߲>R =OjاSй#s~'n}UY7= jY:а.kY6~HH )+hw01lr<#n|A%f񜐺GO?sxjbcvݕGОR8SKlJJw~Z?d)40[Kzpn]poQE?δ6 ^kmboKu)Kda-MuDoh#֍\N]St'6 :[ko.ƢK^h!.vyeuԣ!> Q(+fp{=C* ZA缕WheF:ٸɳR{~;I0UFPґ ZjI)K{No:-x3]RLgzKݪ%)-j؞Ӯ$qME4;3qmϜ8w~:V#.mpnb 7E!:|"S9iŞ|;2m)+7$xÜrjE袵Ѣ-9/LK^o 9c̷7C:m7QWQ&Umt~Q3S5Vxed,-T+ 8=IRL:W41J[:֙XfVWْhmƈSM7Y46+wfbQoN/Le;8g|zvuS6Mějٴ;s50w2҆ ( cW`n:RX-⼧,&hؚ) +9 U"ƞ_cŠ@C3h0YG>m<9V5^GzI2SSyJ;8#La_esn^+Ӕ̿KS4Hꌢo;DiZLia NOݙؙl:n9u^%#ųܛK8E2Vu@/L"902{Ϝ𙼑=1k[#s!i!+:f:as/b#1F#sD^Jg6㨴8e7̳&nuM\ zR잋\*{}ao*ͪھ){\( -L]w^{Ƽ;$$o'qn9M|˵>߈^LGj+GMxT vu9[9rYH$|cᐿ1$ې<}w6qv;Gt67'g|*TY1EVgt9.#=-tmS۝2гT^ezKBvWz)ỊdVS]إo&AS=͝\:Z{-.S+ەe3uKZ*mLksnXMuPm x;+Le~rDEkrGr|D*=,Gؓ6XlZ8FnPƝ=w:z?8諽"ֵ݆] oCwҽt V\Ftzc9@T^Lq/yu#}Ҭ KxUkٍj=nM[E=ߨ#GUkNJNSdrsrYlBD_՗cҏ}ݔ O|4>g}n-x7LȰ H mK nx>Fqsp7{=J9Pp4@yoLԑ5pf|>Rwá@|q4m#)6ݢ ,4^ލ{ #ݐ mgw^\"̿펧;a1CUKgOLc7~MXrs=;!0NrV[ky#tJeuY㶝vG"WfZ))Y33оƦ!Ldį*EIFePd.HgP\ìa “Q4$sdѼ'ƔMnбSZ)#i.}jo+ qu.Y'dQimF2+}M5}6M:ū&qe4XS\gȭRiRf Zkj0cdb^L5ٺ&3 !%N9(/r[f <_cj,pQxYlz҂\BlʆLоIWj5ś)u&70J'Z)L㗭wљCs(Š&˶C#*%tZۥg+MNaطGAcX^ ;R&vGu_ymv-=L0,RyiXOf{ƮJ!°:\K1ȅ'*b&[ uESYݚwQ68f̂HԾm@h '"kB-H)\_|^dJn6Mv|;@LwyW'0irfJVe.FYy"Βn#GFզJnQG^NR&֓ҕ{Nw=j-ə&]ײiG:(.?Ӑߣt,GIF!ۺ;."ې8#NUdͦ 0Y}=zxm9^ܠY332۬U- gVdk]`k3Y͂iS b&/?w-6ʻzM+D5وٲC=m caDc@ݺh$;8]AGwyx$$R;GFF#9oU$DC%v 7w*MڨeHi24G.XM0f6=Ϛ\opXxniWXLQVY5Ir(ofYگbOx!'k ޷Rj\ܽQ:l*-GP1̙K;L] -̎ D46Փ)(bQ[{ޱZ C#эvI#cr=M}ьbeY]yoegZ;g1J͛,~\ןN5s[MyRD/z9?Z9='Q1+&v%3`gNLOɥ:=7ZSIqvO(㭥0;li-yH\?uwiT(#o&/{ބ}]ʩd6uLvrd7~A`̥6b5ẍ Vٯ^mξ=5Wx<,;g~׺!HH]&g4 Ϛ=t*$sS< Z|ְjkWJK<"x.uFf8fԻƛ=3ge]VdTʤjG$1W^nX<.xDVm{~pbEf6 LWg;5. zw^%nsѮy.Վ掗c%,#ffVځXdum")}wmM"ffGHy4 f^, ߹d.WC>j \]&E?:5!czc5s(2DGmGJ;l,q(sfC\MOD]Zӈ~Œٸ(0ћ9͸)8ˏ3>;\sNfB;e.,,-N 5;ud&<'B9bSs 1~^|݆K4-L[8N~+bNE#%c֢KO C:p?aa4?CIķ1|,ԡ7s[,z(oϮ]A~=+o!_<ݗ^3<ֶ5^T9rdLz8.ӞB)U S" xDf7l :Nۼ!gwh\+8>w.tq-Җ乩Ʈb`{ߖ|Awʩē:>awPGJv+{8>uJa?,MT ,3C U\V9ސEiD%qg^Q{ȸZl:;7h|,gq+u.JnrfPrz̍+t !Ok?)0=ׇwbfMicqc%݌oO0o{ZL79>sZmfRGF53MD.z~oWwAKJ!s 6EmjK8eZwQ5¸Km@qjnLǘ1Ƕsq' zL>=͘v#rJzh5vE=4ҳUze0I|liѽ5ڃ&SŚ ,ie!3bkzX8uڞEcrيc< 8C2d3)JV,r^[ݠC8}jZc {<{fC }fʲ$l֚]ݝ6sf̙g3g33]5̜sfht*ye"ȁ ~$MLRmҫQd9vzWf"6 ZLZ th P`c% %6KP@D@@B@ ~Ӆ-f,#XSVYq,溷w<~4+X草"YKǥI ?;o2}'/yBOg[o|ڻtOgQi'^5NѲc(p;#T'|In-]lja*FRk{AZH~hr`+K h7l/FՕ) -~i_?[hXVSK *bkaT*`˲uss_v&Ҩss9DMF 8^z&p;ڱ"Q^߷sGDhé, ]z(&6asyx<#'kJN kX)^iBL.kΛg0 ǍEb Js77]B^.a@9NacE>v$I-|Q A]yS# @{C?[77yr>p};P]Hpu6ёl,pFFyLQg>u:,‚ $>=@ V@i 6d=d% s~\Puw̖ު\` ݮṓ !Gt~T ^U< M^4S\ Y}{saǠv;pyCU&"̩<powke=·cNK?$:|pi>3[-a/jOU zB˕9 Z)0ϰ.zϕ/7׎>COZǫm dBkKD8<6~鸮JwE|t)ug\_h}zlDr`L' :WULyQ$+ o%__cQvc8S(n`H-Mx)mt':սHNlŭ"c@?dpPŒ11Tb)7Ԙ|N|h0N9/+]OP BMIs:Gб^6ݻz,{e;3vLNK$dXѦTH94h6CI['zghzk/HaV9w |vjm>UK;Cl?{7g :jԛ]Lav*X\t33e,n`2r]tVWEhL T[¤أOۿmLPAc">(*7fqf}bG`&! 35F{(/XtNЍX桹T?"n@mw5Z }6i}_Bl i$- XfNtI+緍 <_AW, EzHSƸc''۪{QGJ.E q|wkWf7YH+ 6j%  N~ID|Sa$46kyrם):!=NW+dA<Gb QW dzHA?SXBtB|1SEC}tBa\Tff>pjIh /$.aQGkW'χ5P13-G%ɧBvRtU cp'.Kiubx370qh%5S#R4roV)7">]&}]_ay㹩 _ƿFo픔;sKdćT%C@K'.VJ Oّ={}/H.6f tW& #zuҮ(&{mƌcHrL"9E_K'q.P*i W9=h~7SFP…S|)E"PG焗AXl/Lhhh=4Y,~G4h9%?nY r]?,GWZǩb M >zG .XfQkCkrlWe}r Ƭgw3C"d~RPQv"HU`C TdJ˘Lc<)-$9MLABIU:GVxNE7xDr&-S }6{ZW b{2Gm/*/!޷rO?Ned/j{3TV]XAof1gLJk.3B6(F>RCPqS +!s>3igshiM.=I+'X.'CϐKa#b;쩊>ۊl]+%8U%5)}}[*)2/Rw!^-E'(U Wl/_\Ȓbcg{!an7_^LPNDLefIe a@{]|Գ[}V,W܀!,eP;/v.3}PУ9z-U N;ga8"F{RS/; v) zuBiғ_\7WW/Hy@݀ %~ ;(*zr&UÇ=l:K2T(`G)Q0|.{z efsR,S+bݚiYq>)> ,/(){ ~Q{'F2w~gh_MRVO1}@1=S[BZh5CP|]ѿ 7%ki:| 8f M (Oig}温v^^ͩ5u&SIQ4 }h X{&N5$NAۊ]c.#*!g5OѲl(4/Virab(TYUq۩Ӓl} rbX6M@^x>PPۘ -`\?@`O_ F@? 53njFBAK_? |le-K/7oH`/nZZQ7zFQ*@}s?]^d~e=agi`f6`ۿQ'loK4`@l ?ѱos| xJDпf߭j!XhCNe¯%| jҋ "!5Z_{bր,fEc(CoL}Z)Ͽa`e5'm{4c$\@~{Zט>E`\ j-Ct^lP8vUC;A?\t4D+ 5B޽rɷ Z{8_:hu ?Cݕ#az3?I IM_`4/ |8,ca:! ffCsd`x'@o@$A^ʫ Ӄl3%?M+" 7;BbO?[WY4@{v+>~~ UPPij4`Y=QPǎ@p4kPWa0o(d$f VAnh%_ Z_'h܊{㜂M繏FI@~Ht?nTWN{֚ V"=exkBύ5ŁmKV}d3̍_]ZG6LkBLbAFRR?>KUu,E{/ e빿o;Ulŝ[ *nDǼ0p[GP;5yP: Ds&#in^`nȰ88sr<yIfh(%%"zV^{] }f1g[:V%1+x皮F}[w^t";lj`Elqv-] <ݣ6ǏBQ$I?6 vov'-?e3w)rܨFp>Ҁ2mFvʼ !•΁6uT EҾ3^4 1x}u$g@rɃ} @1MP Jfz8J$K)m&8&BIx{|W@&=0{7avÎ iW+էJA{y<`Spj|W1Z'_HЫ:>Vݡݻt`r2-OS# :U.>3|{ѝ~F{Jo?^ C!P}q=L 0٦pIxܮMͶt#]Hp"D5Uܜ]#$.j8uBy-ϦV_m~|*?l%FNye՚O~KwoF%>o38;5YY3ϺŇy7{( y,~̼Hz/&!tӯ'Oьt8*4C)dQHe4E_>(έTLj|63to7ǧxY;j_hCMJ;SrYړ$ K{q[npG0 _k9OfLɊj c7ót2iq:޹r}vx6ѱ.xĆ6T0,g/JFWj·;9xHu?iGȭ(`os$met߾#f\_W}XQ[-[F1,薸 ?v)s3\=ag~Fu> )-=8q5:#;<_m|W};q6-z -0uu<AK.BR|>t=-;Qd| ȸ)wN>ػ C.7 <J5m!]t,[ /sl?2tTÚg <$A#鈬A۸h_](DiEְU~|(uL0QD\0 AmUGz;? ŌI=ڜwc-2_^Z~<oꕴ̏~cWM_ #a~[soƢVcrf5ʋ`pҁ-ƅX,_<;U*[Q+!v',I+KgGhn6sƌc,af 3wEzOn4i=PrU ~NAj!⠯ z-JWŸ[ 5a5K;Fy4 +Ung 팆r^}v;Ais3֍#ڷz5\s2D8 r/#NTLLUETkP҅x=!oB*:˳|\ % 1[XCWm'Z-i]:fG= 7ݬc)*.O%g~UTH83vse >});k>t .Q*(.an"m gWrݯW$9n-FcnnR?9,6֦CF1XW/ 5UuW!Q:*oӎ&~D%[7Sc;G,%x>lĒҳ.odv1.KS;_$q*#/Wϱd.]Fg~z`^Q%*Iå8$A#/6_$͞zf{E-cVuM}z_(& g(wOZ?xSf)FRf"|Xǣb(T}}NJqD"VG)ύE|6&Wc= ߟrD¦%^|덺&KB w!*Cǀ&%v5K"hBLI|dWe{oBe'[f% ΡX9+'YEhpQR"?pPRO|I8_"|O.l,QNc܈J&X1I8蕗YڣW^- ~eNr&Ov q[^ey8Bo8}2w$8FF=*&,7hE1wꂖvwKhYׅl};#~5&@>v{:g#Zgg~}]|`쯺4+2KM<~f V.9|mI| .ǛoI]1J:ve geI°kx`W`jXSw[ d~Z(֙.`$W9pZLn5L_,v 6dn&DY\cq%֟:o<`zc"R);[NZ =06FS"7Pfm6]Lq~Od1owM= dc{-sSb{UYpb,eȞ?4{JoA('VkevقCK_.Rꗙ 诜8 :v8)Dۨ?,)FAuV+Z͉:c 03'%9t*C4xYdqlt8X b?ʙDto| k ;ܮn"(t{@ #Tt4N\R,W%YMul v$`3~eyب7PQآthKfŻM9pI$"n}*.N)@wvn1+FxGOU A_--~Rm0ǦYwݎ);\Yދ5 it}E-9NI5& `RT: K2ͥ^9Dzch &7Bnb4G?WV!*+BT8Z| Y+m5^0 cʚ#r R[oь68| zmI XP N; ǰu-D|RnP[9|/SxӢ;KhZMO7Z^+ѭoc_n.S~t,`a}ppj\ML"!3;u( 3M<G9 h v_3zׂE~ *(hݘx\/<{Kxhş-a&>9Yς_^"kf=) P(IF[: a!-r:!i|n=/}.u݀aKhF㻸aMTПRAfIH?֎0 nv.=c,яe. w(5,a.KtkmFxs5Y;7"5%6,~j*7̞Ү}`w5(OR,×Q5*AV9Kj^B ~jb0iWxAX.v8Gnrd'[_)SF/2m쳕#10f=So,xO䐂>Ƥ$l.=_[kC8#^b>** '\ZD0ֲxS͋&LwXs^38z _ 훙jv`H}bocbc_W I h8feײm]>MW #(L!B#u5*v*+<El.[yMEٮ s{// Lhg5L ,gpj!fˀjHJ1E٠L)z1Uǭ~la?{Vj:#h|%v߯ -=\|4ijynyUlr=mTյd-D65Ame(?V zQ=.jqJ.cDH x(7PcQԞ%6a,4fTSOz0vۍ\X-1B`|W6L~|@[yYVqs)j*r(}==c\dPɪԠt]dhm 'Q{H(!fz6i3 ^Ybd>8kmP^w5o(FDɴ,3@,Yorm\\jGs6%ύD\T|8GߙDn|q@w0VIHQoWXV6kcԥ[oZZM+|)ӳ"@I;a"w(^{pS'B-};?P\\Tچv*˶MSbRTKaGP[B{q4˾hl8*k'kH CX1 >nәvŢ`gmo҂{[0:q>Ѧ~rZ8u Z0\k8TlK 3.v,! >LCLI՗iX{ҋ9iIiL_Y=V6X&~?hǓʼn*AGZ]<- q"nyd&FQ䴓_v|4 zt9q.x^%<#= "hc c2)#t/Q{ui8@z+gǮ u[,V&aOɃx˞ӲfӨf%Uݓ/!.xdEs6M(K74Aך&.>MdsGfK`یK2y }RC?t~eHs7,*#&0ZLJ '{W)H|)_G9{JgmK:x+퟇!"׉p@8(qج*g.Qxu3}nr7.M^qAgͱlX6"d$fs cFo6ҦԖHNA~):ȧ7|6V^@F͍SƆgXi.ܠ6u6:!R4%pq QV7tAIit"B$&įyg0Gry'pWY(I2N@?iUϐb0FQ|>&X|vȌ֯ R#D5XR^x neܓMS)汴lg1o1k~uI+ϬޚWQo~P;q&N.KW$h,xA:|}9Ab^,sz'q[%[v'N:UtG¿Q&6D''#5wCnתi1@gQ*-Ap*3;K/|2'd̿ 2]o ?ͽ:d@z;LF["dLr1ذgXh(|۩-I^[:1SUwM (;yg9} eXd#tSoT܈ښT⸎ - 4i:'Xx ޕ~{(D Ί e !OeIHP_ 0@k# T:UztlxU9o4Dt)x$Nz!)U8d̐Y ˬJT?5[\Ex'- }RЮg1ZB2 p؝cfuX>{~3Pq-` ?wrf˜h8vO{.SLOڝe3d4~/ #ޥ&kݜhiH{4930_-mY89/DrpQɖ`Lmj,":P42Ώ-\h>#ǻW'9j۟=ޣt~_u˖n{ne.ɧjlXGm$٧ رR B2|9[ܳGWpį%gm% үuT߀*:قL$ߏ[ϓ)≧";6^:msl]մMCKG(#K2 =Gzߦ SUŵaKxu#FSGv)';d ~`ױnf;gm|;F#T`Bd8NBku["@Cy0bʩe!z!fJ<c|QJ_8k`l0^ fn52R S! ;Rkx;\v~W5 mJn.DL03 tK6C5U *pXxys÷ISKXƑ6JlIs0>!aXY~UG `ccTJ4Izr <5й8'(@Fc"DxQ2DzGZ#{$=ܒMSU+K}Zݓ4\LC%Z F9E~C{ل4ŷ.쟦J:`׸a!24#.뾝+VHfyv,F"6|r"@IK92"fѥˌ`LJWMumAK_S([$5ə-Fs]DЛ G:neBKY͛٤mǝtKS&Ѝ|p;4lYbzttb|)+2h=ʶ3,H>s `h(q7wt_է,~[5ϗZ y,( b"h˯ѽ,'1Wͭt50m+ /Lx /'wPΗcJq8HoF>ۇFjrQ!aGٙuB">67 6;Ƚ'M~ sYLtGٍͿ-G(a\M"+%Xeʋ_-B6]MJJEPWcsG9mB.7 `7 &HJE]L4ǻQW}|А#yF/射J>:[`)"ߦ/B 2)nGkmW$N9eFke}CmW%Ze$EAc9?Ls4(k !L%{ݗK65bV(dA@56 /q.įqQ<(*4y',ZlKyP?W=+דF>7f160? >v#*< Ӑ)2>M'>ݐS:7T0%Şjp+ķ2Hx2@'ʼ!}&3M< l}"uc@S~vV^t~zRb6F׽KO/U#a1*VNNB^c }k(#^јFvKMZbS15.ӻ7O c{(K g4cfv}t7q4OC? 5q%'B( p/% zu|A{ F^=c̲Ä6V֠hco``_Gxo44*~.@ M~#Zk3ZKu[30cRVVk˨qɜ § ڂmn5p,sJ?`GhH&`݇D@VzYMN; lG@iW 8gä/L\E]:=6^ǴF[藡 -kϞi]c3#pBmXy pي_aX'&@$WJθF.2q(?5<*zՏ#t /QÑzSo_]r:gVE[5_3EnwWoq%M8f" - q*0krww ~GlZ"sZ&ij6nJC|S6)2<%hx8 JO lBԄL>H)Üe.u }^Ag:)R\bo_Vϩv+[xSl1BFJt,I4mJVg?s*$Ucxŧwom}@ffJ,Cs84;*}O}p'܍trrh[|135?bFT@+EVFji@g0ЂGB8фۭmj-Ӄ}{[_QлveQ5 J Ί Е(Z"ꌘ>6:BG.|Ș0@Y5!( eiEV &-|W޶8#m|v5e䵉gru\rY1i ! `#<;Gd(Ʋ1=@}~kː}Wx>Kڄn=^*QNM!d)ۗ*E3E?s/LܵC)F=ȺE<ɧ)w(]7]2̰ mx׎:>z+tٹPT#iǾ#lo*3_~)4їkf%' ]aY*q v`cNټLgSD)?T*n%vXjSWiV(ͧ,uog?:F-6d +Q@uS K1FQWZZ oZTš8;hYI{vf,Id# P|T%(bwf4DBz#0o⼬}d`z7 e]{,ip20NjUM_5@jI=GluznL䶏=6>.{-OڪP*V95U7os@?JG­"Hh1肜*4'hAmgB/vWH4`mog,lq)}Ό M WD%Ơ;'.RgŜ%ȝ*\3q4oRʬ*V9s5E/{sU~GJ*Sw4zY%!3X@ LlzR6aD]I8]wd_[-Τx2}ӧ?θ XGx7>eDg..<ڭt}[\U9h>?-EU.9Alj㳃 i]P񿫸aYFQrE04w4|ƬVp!cL@ȨmI|#9ɚ@ .&ئyʼyeJ>AOmT3zgֆ^Ml-Y>tS0>Wlu _23@x׼,]Bb*kT|uTs6tJ!x?EG#] `ETy6u] rr]5j< +܃Ю>]RBkBBqNt[X ;z ku<߉ð9!~1{Ÿ[&;p[tM&*hs+6heS'xy5e DQ,>=SeXD?vuigB.Ĕ@YE8 M8d+H%m۹FڮhHT:{Z7My':KMJؽanX5J#0D. 83δ\AǛuJ˜7g7%A% "$[)Haф"bg?=x7Z)pyGOO|}%n5ٓ鳡yM9NFs{>F7 %߀L46"xN4w9ЬF bG7h)sSq bU*B-7~*?Y-a2YII)~XP݇|.ma TeyZ,2PteCY7W/.T/ɨt "h`-a]J3xIWYRYQF: qBK_0cG 2VnǼ`[_{$L;0yZzR(v&'Sf\(2DR/u,iaԴ|b=2Wg TQFwM ;efP >27D@_Q/x_jK_L)vBIEn6'[nrJHҫVjsBK6Mp|@wwOl4$}a`7 CDAF=ts7N Q˱) ) |a#n(eC7YV)g3[x'0u_:`[o9JX2V%'Ha2U&v u FV9Y*:YA_(waʩ+}'nء!VB|ۆ;QY}vگ?5x;PB9%G.;X!l[W'@~X !IX#P%Sze!G4ZzgO0jLlTDUh>"GGQˠ68Y4چNi`^۬-+EdyUq|}JC ad=:z@Z3?y%<u[ 5G)5{2,X91r6xVHv_ѱ΂Cu^+a[Σ5&Hg7zKa4 mDrod/Zᬎrjad7+FFýXLPș}wfEaFks*ss=㘡Xo |o~366Ss*],C9^>\ 79(e): 7*%2Q9ei2ӜƬRLQy8x)6lpZ'[7iVQk09]C`lIx17o㼿䯰ea0Y\@7b| uݾRE_~ mKz+X8.TFE0/SB*Ϥo|xkri*߷uИ(6F+1|-J<h5O( 07tg >{pd@vضO&V.bB3p3ixTpəomS2ܷ\:" pD*ZI9iмL\f謷ZP?>^W8kԤ"};e\sb'6`+m>4Oi۽ /p6-Dw"=܋? S0T[~ C,g{=$M)UL"zjo c0j*F7 bt3d'2a nÆd:EV6cw ?ޑ9e~k:w/<MI'E!0]FcңN`f]`IϞٺWIrw?YhvfY4 YgO?!iڥdy*֓?3s3>O":sӘѤ3]J w,ȑ4m2G qϾKqV=V`6gQ=tӧzyZx Å%~3#/yG'LTXnt7V8wo#g3]L}k&"d0ijpdYQQGډ-踑i&iw2 5*ɦX5,ҨVq+_ҭ%j]̂7QzO&$yx 5^FxHLMKoLZ J`19I T+wsx"862,sb+K}w)vlzb{>a/ s@FsOy8]2 8Z6cN졎Moi'4\}r߱242v=m9/]^:xED/~xWvDsDƂPKD|UqՊg~:cPH*FFUOpNOtnTa1BHR5s5qL׋d>@|.ۚ/KB3qFGJ{܋V3jGϱ&',ZICT}$WIlӍԮ!1J"P,Ѐъ^bS6S:-Sh4" 0kR/7ݺە .ūd)GA&d QWT)4)1skoNpQ5PX^R,l2h:$jG?!3H1H~plƐrRp2i43`jdY9o"{v1ϝ(Hd! h<;*$Akj%~d:^tj'oO? u.6_H"J[#Cam;C]je#s1OoEps!~4fWDg9z+fAMw?]:q鸄 * ș8}y -U#-(Q7?͙Q74dPba4;GoEŵ<3NGH*"ǰfwU+I~O!0 T$arU_fv;5/C :UWBfoA{O`eqӭ1'Ur[*ƻ$owx==O.S.Yw8TZ@DuOF=cdfaX)‘HՂnWv.:&ti,`pô"^vjN>=)N̞|3(*YI g}A}Dδ'fvk ):e} n}S}M[oLYJC{hn֧Up N-(1yIzX#h=OdصBgHM;,|`XW˒R͉~MЛB{tٝEb3$ǝ*J?"9'Ãc߬ʖ#ECikB水Wznjy.8NPJК;_dc[/Jwo՘E]>e V 񼏪WPgɝO^@:l#ͥB;W鰾՘;Ks~&)r՗Y%AߌUB{$uq_>Ӝ-BECē:9|Ku+:%bV)d\Y)f4!n;A$Kuo7[S4덮Η[S~-册'{qz_f1G'}_G< 3>\) !WO1"ż?E֖j$T}t WڈI 1ȪCfv:{\VcoҊhc5[k32 ܋+?Qӧ!mhp $OGLdϪzi,';9^# @kLR9ۗlg_ty!D.ɕ \pfS.$AȜ'Y {9hv[F@76s#V4eM PoOp`|SbSc,6|B,5؃xjf@t5 @[f[+^YwR j8MUo185w*= ϱ`<ԃ*KE4bP{-a]\17fW+uLq{Qm5RER'`a }iZ )*;+% 9L̨->i^gq#PjdQǗcdA8DvˬԈvč?o?Šڴtů4OC'%#.HthaG.h}-™}vgNמ,oڋ-wx,3,r}oxŎLWV]kG(+avYu aW07u ^{IhҲcSQNh 傉f8tpygxvf% TsXeĴBL]Y͟ɍ_+?7Ght;?5j{R3:m.EPU&t7>UZcNm#l=#2׶[ŖL[6jƪ:/v[ZvI1ri>(4g)Q,j$q=23z$?Y!.}S&&zb MfiwSq;ʽ?'_zPH0$d_৳e[ނ>Na(癪K)21=M롇>˒[N_Ub1! 0;1UɱoONY"S!9[K7囹AWg}Yχo2k!ճUCKsGNjPV`x\]%}Y'uuei\~7`;5\{^Vi*Y>6]yhӋL;W^?ݼ>6n>*kJ7S+IϓP'??g.UAw4ag 6 9{ ώQLR2O"Wa=,qjO#lǽYz v8:{Y( 9e u%p(`n坢E& -[]>)d}/CK].-8 %aȓN˶8N~Hb*o-" za HndJ|zg<'6Di<|yN~}lGkWH4}w_g6v4)X2 ɖ u'!wrG>%" 홇O!`6xX\} ./üɧěف TWkG̓ '"4jwE^U 6UϽ\Gwڨ=2ĦVJQ8ۯ51w H/u}zr>12gri/+$VjH!> L .ZbeklSձI$R L.Fii%ȿf傍.͹K!M()k 3EpL-k1-Ȫ= ,F& 7VS"]ԴdZl|'FNHw`ֳ 8@~ux3GHi{r'kgˎ?y;9ê4\5ſH$Xmȩ^2yaJ%Ew^Xp.8;[I~r(4G0)]h`odW*~7Mtr;R}HĐ@׭%|tq1-Q=H0:\ lg$F[B%@grJ٫KD>m>?X&QDO0 t=ܒb @;i=0js۴.1Lz̅}Ty?V`_l+)fVަ僷H)u-L=+l֫P>ڡ yH0v?Xiը(<5$bOE:tB*)lNŹ T݈ y.{5]]-VÏv~F/㥜2(J'uLΎ`.3 ﵤŞ4sfG:I5 Fɳ,coI:syBBEUR3@G5NzS#_:#/ȆL[S#l^<v{sL;cN[`H2§aw_v$Z#&RLO'ݦ?YV*c 38R#E}$)L,*$H)}!g \²|ֈ ?]0 KVP}w"׹D?j.AFsĬvgL~ 9*2 {𫣕Ɓ^()dnzK&YN8q4|DVFf;!\L97R-9tc:'4Nm1>)ep]V~x9mm:@?qqυIE%y̡k_+*ap} IȽ:K.鄉#}.FEϛ*yG*vsɨFo2fV˄<'WSKS+}gdR0<`9SXYV>4ՠ@54mDOoVw9u=d!8h6YcDZ9>3 o0>z_pԮUh~=gv{ 4onMC|jшשX*WorϢmK/Jk#{C p܉@¼3lltSp-z$N0f-οnѤKXZl 6>Ҽ-8K2˘ ~'4Fե 6#\li tbB%yTeo"+=`֤eݛaGSI7wVcZf)wv7ަw_~t· 0thl$C@W lwbo`NUF#c(*tU/4B|_FH1"Ŋ})zWt1}r/j:A eJK\75oXL'%/F`; &r afwn\m$:Nku1N6A-8MC$\W ə~Y[cyvy.m* 2iY鞬d` ܴk"qYyiScL6\GCL2sj@]1Żs,3o52R|Jw+!gSݠ5Vjfu FFwIYq|0,WW=YlNxaS;%S6OmQ#Wzzh2|e,᯺hYNyGLM1'ӭh'6 ^ QAUy X3ˢiQMnodmel' HKTU>߯:DT\⅗p9V]^M .(:Jh0%6󟚽pb1SZ[a)^/ľT[Q:k PbKCa|1q=?xa#o q`T!ڔk\;=GA#o鲒aA奼_Kx5Y;n3s0w2ݒum,$VCI0C)5vrfJO$(})2w,X԰vM;"C+3-sM>FJWFwM*Icaآ7w2asfny#G} ,m'%5pAzy2ld\i0-n1~h#'FxpѦALEc J֊0(nˏБ4yFJtHHaB7bCWw/4z^O^N94R3՟; ZW^Z9~`7~W&,;# 'be+ԐiMHx;Zf IYH4J)$I2l9:C8՟LYM+2uܚ07lA!*%l$hDHJEDfcfF %ZPGXfyMA>Ѣt`U6M: { _FFw-p5KtIftV\^dES UQ~' c4r?zgn)ـCL@!Bt' s~ЯZ֒u&6LM mmjl/-.fml#Z3gh!赿cr=*ÕoFqЂs`bxD!CVW:QGp˿^~JE9d@жdk(0{/v{Tf3~ A%BzTD-X7{ njs-*-~j ˴%u_UܾgnkOD "~Ꮏ4ʓ,>%$D8YsvUVD,Pg8DeBwx'CgmUaofB'lmE*)Q̄j'i='=g [aE!!-L/WHpoV^#OCpu͞/@e=WO"ߔiꥤ75Z9RŀӘSC^q}m9\q;ϼO00?k]4T$y 0R3l. qt{r96&{0F,c]s5Pl*{ՔQ+w|_|a>NE\Pey}}p7T5 >Ɨz/ |6-(y DڨnWmiĥBԛKo'_anG»s|Gѓz&7Ǩ#%_ mˌM&*]*Mm=Ľ$H!+DUvwk?v'/2R4tJQIt@I[Em3-lv#_ʈᡩO@\(z xB,E~O#R#XMOK(S B}N3H'!N/̥cyUH` :b.nEW5dguZ| :@igUՎ(䙪(n4)"\]T]u3v=X~ E |^ {"P&'1.Ro 5T+"1,s׺TE`)%OyCl U;2rw#"_N.` <8. .֦M55N 99yH搯K\:Re9mGlG0(,1Q"\,zM/;O)y?I%+K)ڀ<B83s>_P(+U!tļuuڙ8CsU.JqKqN+./CWI).}?ɗ3*w4غ%Myy@y՛kc~[X\銪t%2.,Lφ29g*%J]Jc1H=iY3L}cw(r)Jlm-r&,|>r Ybko1˧/0^X?. Qq ߒ,z;Z]\ޫ,бj/} a&;8J9Kh"ć 5k$i;-|4@$S>+!\5&<;Hh5um>'Ghrtە4jE LmߵS:lARvp|H9TkDWD<Z ?6?ƶlM'#]9 4j5Be,姝G(MeS'౎ڹ?vn#`TwȍV))j d~U)*:4ˎE`ULоunbɻXc#C2Oer\ZS -u1/e=7D |*JIB3}|x3oE٧4XD1s  e[qDž `kyƥ8`]i˝JUbβ /?^IQ iG7R < pآ;shX K/|MY(I]>ӱc:i9 iz58$+ME~l+ g|~&HVDz-ÿhtu=;ߕ&'(}Fj&bZ!:ÁYg2?cu%иnZ*SEwTYҷЧ-ɴ"zobLՒȡC{T 8#alBBsP-uaM']Qo/Jl`4_ëN4GSxݨ6r9t]’;TEOhOQ z9XQLڤ틔TVh=Ǚ"ݮ)@5x|Rxokȸj&p 3p=XtݓŰ07~<$O}$:_4]fdd.܅x)Zl.wϯ+x;Ln׺0sWx>076-pxD9DՕXѦН⤐11qh8P7Jڠq9b6)☴턜L>+ @\ Q(3T/nW]K5'1:)4-*мXA7_Գc 7J: %)rnSRWFw~Fݡ}jJdz4k'ú,$Vrsa6Pj: gh.cuAjH%VX,LBU&C-LN\UJMXmYfm4셷^QP2OnZ]~s ^_C= ccL BzJc|E_Az绤,S-{27 EI<3+% mȊKEw#Q$ƸBCf!1؀a6{SPow~a9xTQ!_x!A8UI^/Նā8M5h wkS3%CF^3"Aee9Y}I Ѧ \EW)>lYbA)873X:<~6w4PUbtP=*\:SEr0uwP¿::zN(_N?.DM(!O7PV9SlU&XK~;#f1UwtEGiEdFJk ~N|~?JҢd݈9,/7a&0/Y9XZ1"NK\Z Zl˜2e&GSET'h&3c}~5=$*ic6*3ꄮ-`Wɵԕ 1";:lVTK4$Ds1[ x7L1!yR0nO^zm dNr#1nL#ئ)\IR-dטR1kT}Pl;9~wxSy-%w_G_/q]uĎՅ[-ɺZv>bUYE;hhzr>j:+}b@IB~Od*S !R߃?Zڊe8ZlG݇` \з4hWGZ\hA}8yԅL&=݌]sċ)،M@ )\`MWz5O],Du%2.\{2xGbqӳ{v$/Vut">*2u ^Ԑ7ş#U 9iŢmB!뿶"?z'W==0lۛ ;6۔]>RV`2)[MXjM|ԚEܜS^pjz!xwg1TDJ\4?bFXБ‘BKڍ裀ݑ$_¥2*OnLΞNOVQX!AP Td "bFT؅{,8tdYdSp@ 8\{@Cf:y\\j.~>+znm=FW{ЋKMYQ4u`x8HXcr._ʌ +VR\vȝ]^9 E, 2b_*-OC#xMUz+h r|ɰ}% nK#=bnX?,#߄L:|Ѧ3TGy<>#">qQ̑Y+b)^hÓ\?|A8snX0p:*#=9SA~Oq2oek򗢍ֹwcC<\T)aT'lTק9˕Q}Lg;ci:kxZmEcP5xFC88d:߾f3UTPƘf-'$p'I08.;v;!+O S:Q?mu육Ήj[#p<.@\xP%G.')[JyJZ噶Ki W@`4CB,rSMfawTξUÿ>}]""5S ڲ@a=1o0l8]?lr-{I/Ϥj6%hLNcQQy95&5ohof秖.: C#*Ġ&~p7UYz*S6?O SPʥcï&\ տ`}Uﴍשg QmPÈ [{ۚTu#1rJ zFXI}CIbs)H+ \q]7Sd0 6j7 'f9Ł6JcȔBLx'ãh_t/v{}җo#`/'3F*g ne 7g_aW@7zoL0uK?:`N_#'x2.zoEjH|,BXyuČš'*[F>ܓRsVk"yӘ`p@򇵳7D|9֘n tl^A-n [Rak"0̸_UzA%+}[/Щ]ҊD&Qx>X1͡.DUOM fE(ҨB/ sŐaMly=p3[^+-(T^2CĽn*f4GyILp茙flkG&2J1>sN(We`U& G=M:X+0p,ɟ~/T٣(W9TA3Obd5Jt;gCE'+65@f*wBhܘ1Q\[Bn> mJ|e`m.*tµc1/FܭqDǭ:J;/MNv&ws\O*T_w,è|sRUuSJ~@b PSQ1jOgge& ¨v1=^g(Uxe}BhDf?<&_?,?1ȁN|yQ:$])㧗ϩd;!SO UQYO#![_CIP@nCRӎطFrO[;Lvk|MK0v]~'/gq1cK =S׾+j.3-t(z='wgZ;>c;~AR*pǎJf[hc>WOߏzqk^:A8-g(n;"ݗޮ# 4VhTkl2v6a FTߎKv7Ή}1 LrTҒ{F79Y(li8DH$՛4$ty}ortgXO˶]3w.q7{_ PMfΐ{L aUM}!3QХZ0qHKQc/&&tiVW8:$jl"Mm>oUy vNhw_}`.>NUؖBy ٲ[s_f,GG3ډmԶ&o߅0Yt,9t{g{bZqRlTfU?lo_;MWfהP05S?e2U61$x\0jswby|`!ckp\ EzIa7Kżtsd``JztsӉ#s~]tXPbvL`i>]M(-NS?4Z6G"$Q"S_8|q4zD߲lC ˆS+6xʧ,̎AZX2Bz>eZ{0iÐW gb=f˭ea؁ / -Fw {y'l4PH`vE2:3$VJl&Cn/G`U5ɹob>Z6o2u Hد8/zKwHHdNsѤ DdzuiUt^$C6C}.;hCYq5~t4c=?s߁:M?Of&,Zʁ^YAJ<(U|[ǥ + <%.r`}|)-qF3 + \UVGA*ݜ% E:uAfZQs_]4_;2]SNb*v V^lcOԓypX5 q*ѪdeΨ\OlܰqJ)Y^.Yfv఍s"&For 1G`kj7 SIHTL X^Jݻjva~dIhvߗO";@fo/Da!5b"=<.9iz6}Cc3(ưHQS sm*pr:rt_A))$!&NF8OW<֌EdM7sFKh`ϲPcnk^b2C]mF˫gFnt#7 7o.CՕ0+~\r C' OH岣+v֦e\QzQ24M{үKh{.#緺BUgQz/ rl|@-]#q:p K/7#o[3{@|CWtm0Wkĉ7U y?9d\ )D4w=B,;2ނi2pC&띛R|Zl^jCkmZ`v͂P7\{ d:%(N2LUiCػX&EU:n]#M ]P?Ͻ ow5hBcA~/+FUp:\S라F Rja>Oy<*)؝`2j|[+.D&-rDNi߆24ٻx+xgL|N%G &b%[Un8d+:XْͧYrw S'T8YsS (_M N_zLn}DKF*Yp{ iQi3j jִ֛&tt1A'm\i*_:^ycisY Q $c6^ǽ:i+nIdMiĨz Q8cǀm*s&g`tm+a7`4IniaaT0|845hP >"(;sxdKfc74ӋV5,wdsڌ/7ȹ|~bt/n=ҕoa*YGnuk WؙUG/0ZIQؑzt~N%)254w4w^n&ҹܟm!OИ&a}ۘY dHnTVmkqM;I#i ݓȻ2kRoh[cQ|4j&K579?,ا'ڱ:ࣘ98r4ԑ9I 70fYmSxW{dQScZ旽O~kjD\<*ed;(!f'LPq?HJ`y^AnfC?0%uk4jCTfkDd?j?d|gM 8J$Zxm~"tv<N:*8K GBGƭB At{h\)͝~ʝ$fk0>%G#M)nk%Pgt)hʸ.kJ*A.?=#L7ګnwKLz,̀P6?߭_e 7cJVuiI)Eu6!7ҙ H nTO on[8 "S l6Op0ʪ!W4\ΔNFmVk+V'|6JMպ,2p)w֣oO,֪;scλI[䃉; Ij4UOB4d o ꒲6Qi dqjy,b>c %jjO46lk~JYm@<>NCv$f*ȋ-W<"={l/ iẊVkE(*ZiW@)kU@Ttuq3cf3[2kZ l+z'37h8rc&>Ӏߡ.Jx˓Wh)ɘlWR _N[|M fdGl"97^.DJhPK&:.~8#?L@o0=QM0 Fsˈ$` D̫@8E dJ)ǽ+gv(+7;1eH.8@W\SAuҺc({Nɧlj1*';Zvaѯ{WTJ?6"Vv}#1.ĽɱS_s jnLt!OGXe3zL$-, Q*]w\i舘[]϶K,lTx C͟=6ۤ7U[6iXP]Y.dP+iÊieΥaQÜZ1\`oH l\2_B`aw[9pa7<;Ac:@x(χMP]Tra͊yÃ6IHG̡د$&T1Vs;-8[wvםzzXcoX`iꕂ#ò&%*Lq2ځQ&_Ϥ@&G2v[qCpfx~Qdj^UmChV"O`8}l]m6t3/tϚ 4 zWa^h)hH6?-/ d23O+<]뜇ʗt Pfr wdRNW =Ѫ,Mu\a ~M滿`ӭ$0 gȝ|&ޣ_Zb#Z=q7޴4 觻5ZePm9.0,ؕM,ޕoi6GQ} amмokjcQe+i$0@adf{4`iJ:yhө,,fu rc.2GKJ@NK?/;_w+9Kْ`E g[bH3ӡ(тnOiU"_Lޞ8C<0s JYÆ>@mmxˤԺX㡀@3q`?p!pw[5.*ML@Ь3v-P>0^XsԽa) Ke8鏟}xzq+!~dPiq$?yĖaT-sJwY!{ 1 0{/ ^xi2Cʟ+d+UzE7@ iiI.] ſmS)'SX:i!Gg$~3~E00!'|x{;t~1MEEL?F UC_ߊHy5"lP&YLvn4SOC"!s*#ܺ<V3tOfKe׈q-[ vVQhH-/V> ϝ>6ɣ`7;pswKPd>HY%p4d'taLNv,xt|vj\| =nslW}rB>ZjeuڶH:/{}LƄ zaT>n;6^U)nR3:;Ǟ><'8*8w>y.O>9A.k*4=7 .vKG=;\*~;_]=æ[u#cbDcw'V?n"X#}~OP]Ġ&3j1E6"V8Ǖ^`ܩSp6-s0/7GTķo_}ߘl +TbCiٟY$.nG+.ux6Go:25v"cwYmH@1v#5*FGI#(wk`'Ed`t&(Wt{ E`VwWTYp~m[mS~bQ_t j-_4&;Y߇6:+$yˈ 烇ۋ=^'b2ܨ~/. &<bk,E ; $y7mR[5?u|ݞ2ܨ!Z>O(#>nv^q(m~nS7>=ޕiYD{Ɏ$j9()ğ,t >0s73c qX Le"%Sз~H^Wg*)zR j/ڠ.8s}[E >u-N x"6{>.1Cئ{n4>#5PH<=:o[A 8”\V/>ĉ~c p|;Ϟ]>b&-'@:tmt'X-먛{A0=8tcOj3K$ϪّW)lF%YSAg3mBafmq[D߅/';C:hg*v bn}b &g Q~j[VﲺHw\IgT'@ -@{#ϡsb$Amd4e俧Mq}S!Tu3dB4h"wp:9Vv0W^*5`cfv恰<̬yP b3!wsrAbp~ORFDmh* 5p׹Ei8B21Hq`s]w&XhL9+h\- }~ܶ%4UfR{56)RR qQLM*SSUM+2}r)wNꉈϭ:E?7s=0G<-xCuvY?Dɜ1X׮ J#hSZzVvRtsI( /*i}?M/S9'~e {Z?20ɥN) ,v7:ߖ "6mEZ)>/ܟ1ut8E5ЯQ}I97u]x}<~\GE&{ 9J 3fR0ӎr}'gxE'{V-cw#}#><:n <0AiE=>T7\%Vݩ^!t%/5C&1W@hu[̸Vųr9')-+n%OS.abX""&|oyC/k"=|)D.yusr䟎W( `^1?F;$q72+~1;_R9} *3h#XH=Nf6>!R7/.6G_X?uE/+T`mF,?R g{w4{WnjkdmߛxV;0u*HU:m^}$:R+͛^^ (7(„f-jY( -qLC|)15j`w+ {]揨ʟgU\G7L۩NiXQϔUJg"= zyrdZx#,L&ˌ:D~B jǵx27OU>wʣŜdNfGU̡ͯ[g/29(1SЉiAA`K3zȇ vFJ10g~|s-2אA[~mev=¦ ಯSAЩt9x3z8jHor^kP7aa&^>\ߑ>GsװQ lA_o&+5Ŝ~r5/+#s /V\;lcb?g p[YKn*]9]::4BgF o3IcX'ZQlT2A#*Ƥ%cxYM=v#T*T^fo|qnGPN\qapy9e/ii=9EA6`sbk iVgwy%.0~ CJқҀq5?md̬!nDהD/YMS՜u-*dG\Nz J|* z8b[7n=ԏL!&07Z*m Qs/̧lZ$-+9RY\ϔo+oL(-^-Z~}'Un));0C5HUg2~~1OO.L3 КF/}B4bH(lNٿ3:?WZ=} O{mW1!: kP}f S,9D]gZe8LA-o~ת{ z(-P8X\wnsZ uvJ1:qS[/7A`9"K?dp*_c5,`glmKD(d3Y~d]I7RM_l/8RK#=i-۝^9nB;-Àsɨ#ZϞ0Q;trh62*:iprnfO x;!*kX9//;b(n5Nv.2ms(,MmF&tbi,2#7^Wצg:x!P|]1/ \.kV+B~o)Yg dNyHBUo=>}-Y$_ 77oRiK6to,H'boU]?rcAjʛڲ[uuy5+vaJaVU-T/uXS@y[؉g\3}o\iX{)LPY{;н<*ǥW˲󒺥d1 P43qՒ9"d͹9Z˦t¥YT2$)Ow8PrD5j&;ГUwC} 5^Glz{uGT@ۙw`5|i`;[F`G4~O'@^>VHD r}]=BGBngf~8#{n/x{-v(y2 =Ol85n?R-Sjڎ'q[V[eF[~¦*Lgƾ|4*QcGLFw9{j-u80 \ gJlzwEYbMO*. ^H,=7^>zbUvdt;׍Rvh+ ȉiH}^`J7&#@J@#>o$wDL <(*~'&ݨn{<Ɇբy}\sJKlsCutսJ ғIF$7o ;apa#"h]\c+!a6/Pwvwi^qEpZ{l^^_.+l"͋7摺=U_m,&|kK$}lv@3DX\.3A5Jb;c_FP 6e\ZT< f0n' KTt&S^aU(K#O)Kĵ>-PYY&~D*FARn0i|^Aٵ]5iJ t}Ќֈ}!KLZ `ؘp^1O?F IJJw$Es}}O@E5D8*S4Lbo5VtTFB{2JSjj_>UKjђ)ן@rDHIF1ӨI󈐪ҧ_>BHQe\91/מEʥq}FZFTքtTES y 6e=t+9mWYgI >)!w{^Q>Űaߧ[,v^.;#w7nƟduD4!y-Zu!Dbe'Jg~lO-y+D-ws j>~n?h"EP" i,5'>I~Pēi#Շ;3p:>Rl1L[T:W ChN{ɜ T"FV㩪4z Km=q;*h?ɪ!1xmb+oTa+d 6Z~gC@,[k: FԆJ5դ˵@'ހ7  jAh@FpA@8XCdϗm2I9펬zK&q:qn9ßBIA <s{1.cu3j t踣;`\*LV$njI";}?TBriH]=Q!M(':+etמ7gFvD`|˅x:e맍/j.b]0KҟsQkH Ua"u'j1Lwq.aد._:[(=%^$O/}<Rz*Sg$tx}pfY)sb $by:Tvikr0fpMlX`NAd${z[Fp&TLk$Hj/HQC;R7.5I̍IwԢtf44Tt (w=~ o}i= {F,aGs9r)Z' \[ʞo܋6ȀW{SQ0DQmK';(呎ce[.6KtMנ HjŬ,#܍3@~b,m_xvr_+US!Fͯĸd<\ ~}Yx➬sJMۤN"2 Ǣ3qC[1lTI;SAakJl!AlҭZڴFzsxhq(:68@vd.O (&?L!A}l'uf1j kXibS5͋]T.s EN `\X\Aq,,uvm|D4|S':ƇYɧii};?n̸ͤv김L AXc(" *ޠηU^ixS\^{k5~G"'5@¯l~thY M&&<8N"reQZh3u s`G4k;d ̛[{7sSxu2 IPF'DaCHd%yTR6lMYVi>Ըs̀pǶ4 !+Jc-=j:F}WR<[~ Da*w cPmPiR n~68LάUauHaҥQ1n)zBn!պ #RyeB0 &`$J%nQޖ3ipĦGxpAeO`h?Pl^pP%ma]NL;  _AkX$R=fc& NPN`=;'{k`)Z2@p4rE!d w)P 䣭v۱%M[)U{ĕeeԟ΀ 2䪞|÷1B3}?cXs)OOUg軩0c ocN%E/?jvtʈR`B|_=GNY3͘jԥe^\Ra23ݨ-%;<+"\vky'1d'_x7rwr>8l#>Q!Ife/@1<{8 ey|{!VY߅n:AUs<+:#~#l`^Dc.c|9]X/x=(]ca N0amH6pYaw' ħ pS"DƓ  l,q7Q1%#NP30r; z)썢+`z뀸6+)[<s|^{FKRκnIdkNTu|20n-Ǥɦu AƱ+c֭FT٦n|)ښkPdBgb4;^^;b]|.\ + Y;ӑ"Lh2ʛ~T&_U^fNCf"ܾaVf8>\8-p1E A9F2 ~dj~?fOyK** i{ƌ9nU3E ήwBOq.} @1a'5P`zXo`[-G8Mg= @'Ņp&xtKℸ p,Oa8:m:z*6=uuhDJՇ &b|Y#W ^${  4,'҇ Q)Wh Do 爙I`ZW1lZR%a -sO%~s`d(Wžsyfzlѷd_GR Se}/+*Fr;x=bO1D.  3;@wC]d;d|UH *3X'#8 ^ktp@c{] .s,%Eul7SJTqLљw+tW#*ocNO׈s2ڤIcJ INE_6ka,J׹TP7B)vAP Rw_TYg+񷱋;[;"R˯$%6j`+B\[ e}T=}Sr 4H gz-N,6k_sr!e@ Z]^A 14ͅqoHǁ׀'>a%O_0}Wm"ݶFVPur|g;~:tGf,6?QdkPx]E)e³`cr!صaA (%R |d#P ie? oQ8:$]aaQmZg-NwDgLq( OHpP--~q{'%"zr(Tt՛]ggEzwbçIe"Vᵵnd?*,XO6 R[pD"VUZ+7ޙ̳i)Wx:1S+xMk[g"GBM]yEza˝ U`1i状DvΉZ*4{Xc+ ػ9)2]ԅX|^4 ,@@ G6u<9_ka1!!u ]a(uG$BOo&_Q ҟo~e /oy"OG$G|Q;ȆcQ|z~/zі>Q-iY<2U. XCk 0A" 2i8} lKU̮ D,X6#>d_}q;6_գtmcÊcW,>wD*ױέ_h½d2k: ""3vKDfsk~c;;Uu39o"P +[0 gTM$}؝J wߘBzUs6yBL4xRJ!-^Np,4lG30ŅQk*|}E+ lNp9KAK d:(bKk֢yc;WrY`*@#>2]J.?,&!%OuҼW2#~k ~PoR=ڤ 0OqEK9QpFmS)^+Lv?{{]ƍ!G{Z7EfY*]qK[42ټ a(ݐ!2]p YV_cl* ted9 yUlpjюKEHMò\3nm(x& cN}Dj鎩1Bn!@@-8k6 Dio!_WyKШ~ɶ 7!,@r՚`"9 ܋/YT81<✒\4$|N[b8ǸϾB?_亓𑼈Y|2(>1cET=hDx*]x, ۼWVO %7I#` /= h `9U Hx]w_EyERcXQ8r~\!d-G {܏L~48ѳ> >" ;Izc W^ˉ=1Eݵ8lhݶ,߉']\W5u ^h ;]#YM=Tuwi Lj7sb/cNIϡr|M?vqE}/F8vٓOr/̼v}*K!y!W[|5* SMnae@&'sTsvfa5I,“^ wbKqg|ǢC/]ǺKN*gGCxE轿†r6(eq\ⵠ=ՙJ/uh'7gUT|2 )%kz>mN~W˲A]$ ^ۓ5婄 05q~⣗Sk?bfb "" Z!Za? cߢ˯!r~S  |9 J=? ~"Q>1 ~S>aCO.=V tt=U⣥ A럘fHC aG~iɼA0'GB#pc_vTf8i (-3 _ v|qN@ux\:Ƒ^,RFs }B"F^FFtA <n,.>8?d-KܳVy EG[G0?Iy0S^` ,m?2vIhL:wXXΧQO"qǎGgpγflGU)¡3^JG $NNUٲO@ 9 AۿݻUYfCKan1P΋t:Vd=.@>u>w[dܕ`>(lw;IBY}@i ,oңaP< Fd ag?~{_ëU@ðLh; lQX0j̟.Fʮ[a4}!HT_LH:kvFs~3@cJxN5x0 </\}888%-~4Na_,f~lRu;ד,Rʝ6Ҏ}!J SvZ׵'³>$qQt֭}DNe6B8@32*F BNmϞ|;b>[%0[ (~:be&_!H&rT$J-4CV]-:I}W9˨u<$inc9 D}ʊJia\j ͡Y:&H@ϧpi5B2js$|Q~~Cҽ#5yQ=wtIBJ[G{NynHESñe*"Q@ݦi4™Ƴ2^rS*wEASAm?gEjAk!@՚ػROb;R(y bΤ_S|`Cen%kd*R^H|R)0̕B%@ (#=qǥf[,= iv5S74)E8)Fw+b&ƶ6h;SP?eNu Lvjtp6.cƶ 5eRH+op}L1I*Ty.-߬ndө {춚lX77Z@DT,L ?fEC]?V_]&+GA,&\ePx\gs&%x{:hXZ>-k˸h`[NjuQpf'A}AWXMBȝ MCY6_l^b^[HkQw+&6 M&lp8\ˣg/gi>V ++!@ ޠ[7wnX^LJp??``Z^Z9OGgưǼH3 Gދ@\mr=+n׿ "7"o3k jGa=E̕7]ŚZoݳ+soq;ahAL'-0T  `2KKZd¹ʷo<PM 1zn^Ցt/}$ʴ@ΉY:%P?~+ LK MJsx0s1$*hU)&JvD6>Z8HXMAgGI |ٺ2/63+1ےp`_! {(lCɻ#K특Asf{*내6h}#@aI[ 6ǧ|Vũ6N{D%ںϝ}q($I:L,dIʚڏOh)*ȊU)64(Fļ;B*gkdZOgސUZR̭!Up̠nV`F盬C}-~4_YiL֟<6 -* QD)>P,tCKutM'^13KWl13X333%,fffygg=ϫR2"3#2"~W9VJ@܋ I2dq Gټ>lPKURP)-#멹}dH {UQ |W8*"qVUyu3g*B {kK[PLĦs7֏ں㏾N/N1pjD:BZ~)^_z.Sw JEL8~k%UbgNyue jŰ EurffeMZeKX,Fh]죈D_7`t Ȃ J&ACk陀 H e6@1*Otl}"i.e/ﺛoJyjS|W6sqMgq%w yC@,T/ xdFv?<5PTK"C L( M '~@}Vo}[ՌbJ춏C>LTU%HE%䓊VZl 9XI܌:Teönm15g1E0edZc b.+'#GW[K{p_E *HIvg}l)k9Uɫ$ޫ-DiRKލ>,k;@TB% x ]b~:Ԧ6T/9~rҋK_Ta/S2v_V[&:l0+t2NU&%X=B#qfܗDF]#d+$I恣bNq_mBxB'(U xbhBRxow@omOG_>ǣZ R(땩`R}Im-G&: 0kתަGC"!s/(Dh3y~;9F2o+3]%F 9X0+( |t* uZKU(SaeYxw?b +:̤qڲ:NnZ9AR_59!05LÅqF VQ*MՂ Txh.+7(!@C# A_n\ }p~yG{ý盱~[v%JlXwULWP@)" d{j4œF-Ήs>H0=tqbUBu#W1ت-8j`堆(@ʹ\{;dNU̷ڼ@ o~_jqp{S"b:)7ԃ1_I`z.<^I5ȫU'V82#?!~YQ%),U#`Dn~T;g=R.ױ^}ѫj2}.5,BKm=f@5 !V8 ,Nt|OxJiaՏp")IɇMBVr-g9X_l-g;ܮb610¿FԠ--6RYh LP'=K. FV4*rSs#%F\/n{p>r?;v!Ɔ& N4? @W=e &̡ԾTژ'˃̅a]:#? 븥!LH7d# 4dpMBV%fA}LJθ*TХe> fB;F B*97VwwkW{2Lo@,?b8&&JgbRs#'kn)> jzYLn^vŠROtK]IWFT߹4ݦS^ܳ%U։DsD1#eNB,&D_h]G0692~Nn콋R!"[ӑMRQژ|S61Lt3ka{Yc GDY)2DrPY}UR(8Q9S]v.&{jblOM[4b" tbP|=$8Γ!`QN=[ {FƝvVT|?20clUo{s2VHrlKL23WU,.W"m#4Yt;~h:+F!m\GhZY֞ԵzpD~U5: E(෤@};~IBr)iڏ%?QYNe1YRJ!'ޞsoNqU[F4۞?ȍ7-)d.c2efkv:b:,Z70|42劇%t;[)2JC[j5`\d +,pؒXzbϜ.ݸ#wfL!&1[%',ݾgaz4EـDMX#TlwqpLma/pl$D>2A*4n_ F99)AU_yG|AEuEFLcA8滗l;Ý2 جL" DѷuB`yVm O/ ^1ȗR (K|)iv4j6(vTF#"ַ%3F.,8qe4%S! %SI" !􅣃* y%hZt}GĪ|9is^#SbDʡX6d7=!Qq~g3+|ATfƭr/=VN'7 gwrM"*+A%<5~Igl_gu_{T6KNLNh>EbR10P)jd4}ךqwj #{G}2+xxhҠHǜgVN#<_[A"4zФn1Xq 9F iZD'p-ŏio<.|'1XlDejVWoUy ѩ`tky'vW _r&ۤz%0}L6QC tS~|"uJDz11D6S9H *DE NՠLz[ A|,|OAX1K֟b*7Z_oѨiu` H-(k5!y [ W_ֺ:g;^.GNW_It;W=(o`9=^0|,bI! A3s.zE!&fNoncwl}EVjEM]}s݃D)[Bs!DҔߒvm,ۇbO]ԞL{Tn|on_D.F5sp$d9r>C2Zs}Yض.@Q} k1  Szr@W]==jڕ& o%y.r8#` jppяNO(Q -z giܿ{SBIe>Wn lM|nFܡ dI]UϺ'q܂gmȬ.W3,[jhț҄?YPs>0;M̜ Nu($T)GʰB_ %d+3]}7Jq1hoٴs$4h;QQU4E%wƮxԜu֗Gҁ0u Y%>r:l8ςU&h iN]gՊ=<mfXaN݀z+eT+\VwѻvG}Zaug*7ca;QM̺6745Ё*YW~R ,mr`/݋b.%ֶ" mF[}nw錜75 5鿣߉2ib'Ҥό`=rv|uKV'XqRamR386|X;i*_< UK.(K㟅J+$jsTISśq- .r/ u}Tu)!0K#$-.Ǔ]r VM[ëM=lkr~Q'qܲ|lkj|mnfgڍG:CSXDM)#拱J3HǢ:!z%aH93uyyՆ'i+2aT8 [OZ@x騼tZїμ /Wǯ\ڜb5 Hr P%䜰E)zk~O BF< S?j~,s U "\#wNhڳ>gs:\u+5nf؃g7ͨWZ\5~x#`S:O R>tbA՛5mBZ^ak4WFiOxjv+Ò& CFNM{֦ڪ V+ ɄsLS섏p_JWwBL"KW$kXn5O)c?Ԇ|8)S1 6kbe ^HvD Pn49|2hucƹ@Wl.(Y0͹t<1/^vPĆ25׬W~}H0qSq|Wis.y .>9&sR (KY\T=̱J?-ʨWCΕN'Hw3Cz@&7q֊@,M0`]A(}`t頋:PԲ1Τ /Z46 Eҫ /H3,ʬ_z"G$._6x_SüYX_9o$M"NO\sb|=N呴GG|H$h-yEb݅PCP3Zx!d<' ˞#8ˑe܋flJJv1}Ea3CwlwӭoyvT*fS)/_o.)+63c7݀pAl5YSUz*0s^G  IPCq?B- $)"5$B^bG"z7x R^-Q>-rLrtYㅀ*fTà@og)RGGvAp5]-Y3Η"3Gs8֡Z6EZK0W,W@:,v(&,_;۪@R(?Ct3v?}aM{˩rWjU]5|B:xx'Y Y8{* n M$n+~[*'MxG}@j0Do>|a1V~v),~Gx( _tlt #-008Ϸ&N X7B (*#4Zc<[.+vK';l9mN 8ӊ8أ~,r)pT!B"o埼"%%-/+ P5Xi*;~kK맂fQ7KRnE5GdlP -jJ@mةiiܽ\-! `4VC4e 2%-5: װfk: DVcVbD(XE:-fM2A^W[ L&?X;}e+e( Aǩ ?<  ^-DGȈ尯T]أ`݅ = gܗP X;-\ٖ?Q{{Pq/ ބ0?ϜCv^[pylA!gbzeЭkk=E ܅Q++h3TÇSmg.dA ysqms3lNvϾtwN{'Hڵ yx-EvgKG*rj o$ZgUǎCNzCy|6+ǦmOtg~hيIGբɯHyI=Ta]0e>v8ިr4$'HBr(eөW໗KDRJGѝJmu<鉦(!iq~,)&k ,Ws d.!tjG(.etY[}WDZ3NIéqaN*TtVh g7_Jbט&lG\ι,%Dg` Xy$~iqLRHou'Y- )}IT֚e*\I0ZJCfN@fP8KO} 4y`m'BMO5` B;G'*pePGoz:5RG wW״ 9vP//*>'\KmM WKDK~'o\ yK!̼x(,}ۭE_<ڭ;6+b> lSbJq#5;+2m﬌cE1L8p Q Ўi&~Y^eбAil$\w`I#)*ls|l Z(BAvHz; WuZM5RT+>3g(n;p+=|8qF2#>.INb\&6؛>%A`@͟3O_``pl&}:"3H_Y+Aevk&={nC:rnP([О9}K*2=%P}Dw᪾! fh!A~ z!Kʌv!emy~=Ƈ-$a!ѠˬV2|=_A\MN;Fr+Jj*V}F>s 2&<*@˩ٚͩ4P6 x5g{ !n+5y`+xQ7xuY f2FC@B{ xL|xs9$|HuwzPq-\ˎ5P(|VhazRYQ~BJ1@Z@fyD:~]hˁy+ĝe6FpHaxw}F{yJo骦fVQQ6;_qq#vo\S FiPlw鬲Efi-cLʠf۩J.tݑzgJ-w3g¾߮/ؠ^{.; ŕJz)Hx(Tc򿸭0- |{bSӳӬe`YZ( tL AՆٰlmzH.Vw(*!j'G„_FȊlx'"^QjLa|eҩΊ L>{׉u *L.O3*鰒KgG`ޭ(&G0ќ9\QQw1)*~dGVZeN܉T%$e!]|_6,iyAj1rt-Ta:[ʡZܣT5^ihzˏkLao,[ME4狄$=SX;ϡܧA`"=<)԰)G2Qz ;k1`XȧiyZ&IP]x"Y_ߚֿb#-C#OT 7ԓ 1rH1-lë[?. zBq #=D*Yh$2ziJpR b lG{TI$Z.iFXQxQ'0k< tr:^ȋZa#[ x*;V3n1'Rv,Y180%+ǰxTk, ~pT:|SU^ޗ9#ˑÒɹ0I\&c4=Vw%~CԗJ67 7.yq~{s/eڌdŶltS+D}fcZzKLNA[v)p>R~)@q|XI&kɤ5X'JjGTL.ttEඹ%yf)$ZnoDcnjB̎C_`U،i^MB&opg *y(ߴ|rB9!X%wB7Jo<{ Fe<9#Hmo/Y.)S/W#\E˰Kz@rB##p!ۨ`TmJ1z"&U;ViZ j!,A:MTvZj>% >jmcA 3h%;97+ͻe 9l{EEĢ'Ogq*=)&8% q3Eov#vn~mѤ $捡s䡾݉NBLGc0QNjAD7[˚_< UB7Iնl7%Jp-0ϒu{@|:O0Fk 2r־q)f$\1۞Ɇv^ -  0nx\]=U %nJBִ,4jvZu_" .u@8uOJcza)+cYȓ˫>VLc ]IІMӸ-|P\,Z M d iYڷ'C4?Ɠ34B{>F62 3+qA_]5Ac\2b2 OJj[2p/&ĘK 1{BS&Hu  %*SB6"m'@ d QPv"u nrh^mb>1'{LCpe1|;OqhS"?9Ωʙ9n:Hsg.K+ٙ͹HC c/,_swIla*- 53i@_h-"&Xa8a4HD`[TфuD*@ebo{>[3Ԧq"'· V\cKDjdokiT2j׸~Ւ@ 6"lS |Qo% !v̑dQg^{3%+\0ʹ \A1 x\"x֤ 4GJ+G[3MY N! f.èfO<4oF\F]sVL_whpp~TtCT逥h5r'~ugfJ!LYylĹd]/my`Ɯ3|G0Nwް"w6zfmn6و$s/ #]Jgzވl#D%ݽF #pEM8hnqyw'jIƼ0*]mg_wvYU2|^Ah;]n,tu.y f{j̖BV!>R7\5}"+`fA[qJuPi hKsZn38J\*.e+OE 謔 m0̶hu#~?9'h7|ۯե)g:aύy-٩d-3Ki0ϰVtAwoj͕g4sOo!@=29"MH9Va!.VPy<%J?b#wdso;QV ;pmg<̜H3ҹ{&-7fO e .Jofbx@0>wVЈH›w|0'P5  CQăJAHQTOl:Pյlڐ=իV)AGYp ۃ~mɶK-LEɼ룞jΡW?94\8vxUAk]͈ףaw-Trwr!t J̽^PvIXT`|^]c(Ie4Y&wȤTBmܚK!^ 9~MiU(iY`ALNt}ŝZ:y8aʬkhTjW"@^a^)gg(lUasƟzvRKD)%Ғr˖ەO!΅]%zw?T|37[V"Xr.p^_*Yon$cC*xD zKX[mM%#.; {;/` nXeJE:;F؇hpnMenUX2@D}f] bf7@"F;V5_|pS5qzaP$T);u{GB%qIe'_/ ,ܹ7^W Ti@'4ZtEuϘ&qZeҰIt'00UD5v5R 5$ۋ_Ay"E;ƙvW*P4^KOuWkgWJ/EvroFe? v[g}4F>'Ғ'OBʵ,F6(A0h` sم`ݤ ^QK2+5EnGߦ G )CS6 ]9F ~;#C服xV.fEaT3=˹'q3U0 1UƓdYMZh";?:Jz(*ZYv čt }M `"W B% ` zYp5|r)>HT2{D$Qd]$E_8w Zc:FsQ5)#n\{3DJq143({MF(E *:̍LE8'8g[Ҳ|SȬwI2R}OJGTtGD?-;(q ,޺u ;E~ @$P[pfn~; w{>b{0OdU 1l>+JWa4$'_D\c҅22)OfXFR),@v1Q٤&O}mǥu׊ + v_܏)\d4%4~2fa{B(a3yFzG@%2 2UaVv=.J~J3](/FÚs@`[Pub6084 {4 !ޙڎcL><@ Q)xv ҹ\Y>֎/ӐjYXɂ=^Y;6QŒ DDe}j)0q {OUtRq Q{m`^_D֦ZkYrk%Ef{O&|ސ_`g|(AC *{]O o7IzRиҖS[|,gAz0o~),z(KA}uhC\M+P9^U#d$TfT(+Xu>L@R0 ;e(NkĿnIw*1D31.6[ Yl707g(kc--R.e"}PǦ:/Xq{S?.OKDzP Y`.W;Z.L].vk/ߙK I=`Y+-hXLa(NkV&hni69wT؇@e}<5ww#kdhMT 4En_L;2cs/1"XqN~7)~a-@Ȉķ_Vkt1mʎ̍lϏ@͂]{Cm >-17(f^bR'u]u#>ͰHD#x A), =ϿREqAS7-lEABբY7Jɿs.Ftzs2?lL="%mJVʀVH'I1UTe5<\ef:ܢK\~dZ[F'Nn15x+L@4L8eR!џ$Ґit EMVYk~EMU9 Z1jJ>51]dGCFy4=\ez[Kgn!HFDլ-=/QLYA8ӾmF6s I>/?T (E+3ó]6rh'euȡf3L\a.)/<[ , 7Wgd"I0h,sfLYS(93HFrQ_$! )?PAB251YQ?LBU)x, pYЃ !PCq;P1dxt.{c($'2D]`Цţ?n|@!ɫًzc}xK wz%܀MepeUn^t`)9XWlb%߾D?Qv^Q!7ѧiδ{Y-ڎ_/ǖ(pq{F=dPՌHVr(\70$ Cavf<: {0c X,݄ (v-~ 5xj}IM-3Y}vM6:GH2Ko5'(KGdg{dN!6gHN̏b/,\k+R ҄j<2 Y&Uxڥq*ˁ:jjbJQZ`vUR+å?5,ݻlme\4{5?Ğhyu KTǩp_nWyW1|eS  PX™t '|=1 c){PYu!%\-jUB5(-fQaPJVq5={(tʾ j&MzrƈC Χň[1% 6.T?4Jo_oBšG[e߯rŎO<5q_mbB3{Eq 6ixb/ dKy$KOT.K[> 7qQI|JI#5KŦi+"92c*ԿέkCQyGYZk 06ӶMq!k'g:wV4@\:*^o6v,} 4m~=&T@AdD:ē/7(*Mw) d8~uF3зq!̀V|_+ .%gA2~jŚm+@C=:9 !+䗅V>@7(ŜXwزY#6@:g p4Sۦ3Gjc_:MBU U| A9h)r:MA_98'0͋n`֒~,ZeSkf9;GpCG |;PyU̩~)ph8<:a* ByΏO婠nY+ 7`%d3_ > ,M2Al>$[{ᛗU-A4d?G4:x.4S?cD Bm*JV:Cj7=QZ/D^vٶU Ze&Qy[WK ZÉ (eq%\ )Ijk`lz",ҮaD7π"u3qζ_R=Õ%wNZw"ݔQJ͡%)f\R^4'i0 5^Ȧx2`QxY@J+:1m:Hd)+j-U6r"a$`(9O׷䣹T%K$w[M߮ӋSL{JȡjR$ #?~+WE4#׷±j(,ݳ⮷N8zؼH| ǹl٧yf|(5:'ϮSo{l|1{nU5w"AƿJ vB9p<a'6sM͹#,LZAEYlMң>s9@ĞJ'Dl=l_ɣEjW#`Cl$FwCK\vEg{ԫk7 oCt~-[+ fկq7Ppd&I ̮+wX$Q8ĩV[ P(;U0<ݔ On+*c߄"Ng'1+L'?`{I.qG\|7hİst۝[k?0ա j7Lȟ3]+7(Q5}%h7]ޔO$%,ǓYT<_c-Wk UUTGi~rOhAU\n§A G81w ss#^0XS*Df)OJXP%$v;.n#7/>ɆAx2Lٺ3+,n` (W!7<%K:(|m'<;s(-͏/`[mܰMigܴ(&UI4 f`/c!\ab:dBۑ89%nCw-6/ՠdM*=tKX !O JpzCS~x!>=S[,F;FtɿWPL x- /0Gk>m *6RŃ~fH`o(F}_CV,A5pGXD?H%do|$C|)DC“!ҫ@%ipuʟ`W.'LE=5b̞MP,-)KZziQSESQ&l7.m[2-BK˷=Q9 |#ζy@Z_WG+sXo 9JʴKiuB.4Y *'h0k>œ10Y=\Fͻg\`NacUa]s?D[^Bkyq c :c=|Ib ina5])*ϭ@u W<ϥx%| 3&8|kBY {+ԆX֨ eoJL|~Z$5ev}/H唶z !B,*ڇjŰLHm9FҚGHg5>*l +pZ*}f3G|Ti&l&byNB=VxSґ*30g'yC/]׷ iǜfYj=\e;-J 7%X߳Q$djEQ;oW&W^xw!:BHE8Hxw20cvy!k}(< _:C.Žm\bMԄO+~!Ret/o'U0NP;]XOwiKXb>ZIK{q u>l?>xl KRP~S~m^YZpSD}Ȳ:0z3m> OI$7 ܱXoX;0jY7K킸X/V ߻impi:Ő+q洔N9̮a0MoFQy%t5}~үSXl%SB}[&23 0])b-ye/ FQGSBK, f6TM B"gdj]+7Ul_7da:qdmD.RXND<鍹b\ZRe{3tR\R^$/Z?Q˸?E,rj8P|GmKԁLknE?aNa<5xSt^_Od8a遏%Z?$8F]u5K͎M(k;}B6[Z&w96=e,-vZbUe7͓Dq嗏 %e9`z)n^@zck-bzP(9Wa0dbLoƣ4K:1n/e,# &3gטYt`|B=!SH]0aoG|ɰpaUd˥P O拳D*YPhh.~s?rOJnV5IwIN*d1*VA^⁺_eP~2"8Sh%0 W = bzE\@ㅔ4hQV&r?w8S#1B.:b|yFIiwlW'BnEǝ4q n{>W6~0ۏ</>[I ^I7 ߐ>>V 4ԑΫc6),}JJĒQ-#[4nEss8+ 83S5J:Vtvȣ4Ab|#jR},sH5Yf6gx;W xJHXX{vaCHC#ϒ~PܳiJ\mR*bvp>3qcˈ5?9w.Y EHElJOGVo!: BwWqh< ;KUT/u*<χbZ u0rȑrAX3V@$\\#vƚ"I5JG20$`& x,5, fDhu":akW9 ]d 7Dk.ByYkwKPWA k-h$|] )O3^aWeD)Z1x[oDW|vxp~S+\E O% Yfpx(;rghA ]+y焠yyRJ_U20c_hUryoJDMUA_v8vC4vt-RaYnNj~n~B,>5m]ʨYUܖ ]S}C9 RfB|ly@u_ \ rP:{x'zE)*4üz[J+ dA䣉G5d5zuH#i+ :4n;R@gxW/1Qߣ;+%) :xQO/1J @dx;>;ү>Yᵐ M2iN _IF 髬.fI>1_:\fثoҝ`Ũc sB`ea=nCzavpqyexj<,*tf$o9sg7BFSg#]UECsQ`N(7Iʄ \!LW<`b2;.~HUA.jZJۣ؃|Z[v&Pln,~c%$ogL3eߢG )_:tαh'hҞ?qa8ɟ%evࡪO'mHJzfe>2N< Ec}X.髭|(=GG :<\ BUF%ׅuOwܥ^pwVL }|hWcVd_dVti44sWZ_[CpDߤSS-oha+vu;~ub-h16I"-0=~,/;P{Q~][BCba. fmu-> % ]%fQЄsKRQF~]CEA+h(iǕwls@켠$MYFoYj/E{ ތ!8~Uf΅4dl[1!7ҳ M(}~P4RV +ۙ~5i,pg[ `H fp௟mݏ0C3ٚA"?@K)['a@aM~Jf!t73}r8ͯ<̡\݂HGw"+Jϸe*TW6>&V+ <qeZzb%쥵x[z |Q,DM0bRZO1T?˜lwAvdn<B:--jC3N)\"AA$Uj2]LI됨pP*_a|wj1G ˴hDvTu)>(P~+eZ? o׈Y=j:׭c(۽q0AxL b~cX+ ]]KYʆ=l!j ӯ~=-V]%E>B.Mnm#M7~uD3Ρt\ 3\q+ G1 Q@ N@>Pav%S D#x\Hv;Eΰ(_!W=` Ѐ_㷤-_d:9́57NQ6[H+BC2H4 u=4 ~R S =Mљto@'[K$¦ER4mR1l1Gft*xf3Y5c4SiZ3*Kh'f1lkSnl!a$BútYɦ9> ,֖q^ʟ2ۯTQV_qEw<:`ݒv(rbe3\"$&y8hULi!m(ߙS AvzH l7BG` "ʗqِ_rT9ޡjw8 3HD]8Ma{KNJG]]Y/ni'88(//鋮&Gð0V2]4Sчx"PB@ _6O6W0-%?Ho`c`kaс/'܏(a &忒jd9=u6˶Y/&錹^6*Kx07_ $Ù]ci=5[~?7bCFI+C/zvpd˧tٌm*oXFl{_AL|xd'ky<d#3y[fH{Ɏ%Dzubd'x]95fC.ųuYEgY.@V?/Vnlc B1Aӝ2R|Q޿Ѩ߀?`';nW62SrԳwbYLIƿH_QCfFDߔDDdYtDt߄9YɁ/'(;oqI&gU9]&nvA4/')kW%@&sTb!P 4c5Ӥ#pךd0)wEe?eD޿p;~Ykp?aRftcoe+ɿ`)Ӳ-kMukP$Jde 1f?4P(Op߀d y!+2)&>hŸ6H5#W* I[[]׀#`!W D~ċԁRɦ#*qE$F}p܈Ŷd9d}8cx;jx?2,Ol$>"(A 姦Jkkrȩ]QpsȰ-gڰ)w'w3 tg،R]^/1gv;+fpq|,g{d< s(MtitO BA3@rCB)/,L,EX !&0 c=#ml[9 :9؛9LX`o$3/~'+DzfsU<ӂgcgw ETbr[ bhFHr 5!'[XXytA!="'_1dܙ|}8 ?9!Uz֮}.3Y&T-ol.n 2 5v߭&;=Ps#@dSvڪSlDLq\tFB G\)a˕F@2&#}}xsMGxڱmǖikМÙnB7xŏAĿ<(Kc7|b jT6gF; NcNɞ8j  z=OzsPQme9܃[W)>en /m۔pWn~#k)*3b0z{]]pЧo&HUw8xZN|vnWZLGDp#%c˦Ï™+ͿRƜ7,Y:T =ɲcSa8tĸ#?J#yxzԠUbN^<.; w96͉:{$yWe()H#MװIQ$#'w%L~zL?joI*`Sfebf׊$_=6DmG@"*R?%׮@xKa1O!Ȋg |^-]MUzK KpI {sLo;fYE`LLLpb.#tyh<\]2<~F#RݩzkLk7iR*{yw_TÉf>~G3zXӲP`'We|0 zu6Pj-'FUMJ%aMaqrìyvq YRFC{U}A6C9J %VNIS/:Inv^I4K `:x/!0n BEm~A1Eڑ/yiG:Mz\J. '*ýQ<77+Dn6gSA1J3IB9 @H/gq"n LjZ tg6I,XT~"W@h+PI?'ڈh?,'(5 @ Q=~/ 5SF|sɓrp) P 2`oB(Hp`y1>0-<6 MB+hC;s((-:$ֽ2y1+ c,+WΧ牅+<&H$%}Ad9gӭ\~zrP,U¬c.vb %[#/G7k=^/_~ ʇ;ɝ.&2OB0BGiN~zO]ԐXs͠g9c7g_j@hF?k+N ;# #E՟vJ|&.QjS>fƑ9Hl$ 26FU]됳@rSv4wV-q:P3W5AlnhPl!,z/zͯ7MGB?CtpCeW{:ΞiD!y,zķS`qf^ ֜C yBY`ZԜGry`sRfܵ  |%3ɻFG$0!*X/څuQ;w^T#:ᰟ?MW`oDp̵&kf`7v>ޥJO( ea>ן 2o_\0p.:VzfF:fV H.&l:.fNf:̌lzl,F̬:l@z6 YHXрEɀQH5V?dc7z@v#VF&cN,YM:3!!'1ѿJHg`tvNfNN #+_ K319XM: ̌i쒓lwV}#& #>>?YxKwŁ{dhb6\?>#;+q)NEuw]S]]lzzL@v}V}vc=vեzw]E]} ܗiCKyZk4Jbqd:F:8#W|sVy4NXQD?+Wo6S4"` dH bF1?gSX2 EcD¢x:A`!v4*E9OK#'L%0 HgtD &V+$"i$:43gN"H$K$4%1Yx<@wd:K¢q,"8Gh9/9 X4$ : P14*GaQ!"i9IÓq("I8A%0ML2<{N?r̉’d, 9di8,= Icad*9Cђ`t9 "cY@3Uy6B;A͆fhsBiƜf6ʚ0pDmN~t@ sCِiVk9!, D gCk afCfsBِ9!l؉9!< 'I?o"?hf~ݢS}+7~Jƚ]x\xwkSֹTp=n42s?sO?K&,`vݠȿrɽ΂=׿9X-d;D L.!Pqc :ËVBg8}~H&pqH6EnzlA>q(S;"Ik^(tHwt 9:ˍ13kpOG`hAZ1SA7^:գJ b[AIƕN= {lvt)&Ԡthk̕;5ϛ;5'݅ ܋3\ARc{Kp!C :;\Ao!!bKTwCU3}A tBd;䋂?%< H=S[#HyxSAoF7g?%@'hף(Bv9"yVe pCo*@A '>؎\@G*~m*Zl_R0+eRpR< ՃA4R ū_5C+c/|HqIHK"Nr"ΓTYNRj}a 8yJUx<9IIjNRj}g14~>&d~=FS|: ));c)^ؾf`q.x%e#8j'!`'qͳ39I )ZNR}O9I$vԐ$'@Zl_`M +rbSS(AR< 9{k/A 3R쑐$ūׅE|WR xNR< 3Fz9I-> =.!n`"XZ_!]MvsF|57nW?|qS {"eqt,bN˱JrWb2=Ƥ+T)]f/B/uYUt+hB}wS*.GR`=' *=_ȸph|1PW㺟(3>4YMj@W_燠pUVkKp@|7.PȌJw~zҲoOC>Zk9l}sU`EKyz…GOgK+{p$}|EM]ʿW@,>>y?Ap#iD6<~,شI˜*GڷRzeSȜl4l{8s筃;G}ܴmyCoqȊ^PU.$8?RXPkwZZ@lcQ!#HчK v=X$ Z0Yz°rAw0>fɢƽ3+Z'?(fb=^gr<۲O=Y( ]6PM@'Sǐ,t[. =y\-qKIe3Mjl5Uhזۇ|O(e6KX Ǎ}oPOh3ѬxjwvGvYިe74~)z@i?_Zi精U:IIFJbV:Oz !̢fHRK3[sȵT!m+Ҭwjtms\LZ0 jc}25e2Rt\u)NtVE 2qa԰Ѯrȹ=I~) i7^㷰O>݆oK/{;-yE'N}h$w_^Ǯc+t W:kn#H>F}>N2+H;s(f;L +b%4Kl~WqH5|QZu9™77~tuA4+7~iya]/cȶ#Nօ6ŃWOe R̟WKˋ4qƽټ,7+rNԴ s JwHCU k>fw7unu|*^ؔkbǪO{sDTɕa/hj&.\Nc#v!4S"LEs=g|}:/MvKԽxikf+zܷ;0OV.籟<O ˔5pʺه&E%P*ֽ!RJB^K@NytחE%*#o.ߕ-z=gvk/- mq'0UT9/U'Q}JgR~Q[O8vy<"A!+5|MfiةG;ԟ,\5$˒=~Acū<{2Ⱥ!8HOW-nԋڶK(5>!T$=&{ؾvae%T]h;Emw wv}4ms#vwݣ׻aM%l/ qifbnx~4t8[Ĕ(l-z__1* K;.ngף x6IKvH ho9}wÑ>Oj-;%C}/PY2e!x*]DK;L}&njި63ԫ+_Zl(B_f>ӳ77_:%fU'_Љjs˪:5%p)և_j1.u^V"%d $݁v+VMQo`c codART~`fI}A@>(atC{;&Whěwĕ6*}S>Ep#VbxdoyvI{M#źRfm674ZwZCMM}B{c vt{D1}qy&'ⲫv>Zơ) ᔌ|fszȲLYs'{{DN?}øW`fXQ72yh=$D:r\k7 e\k`΃}#s?E’#:")h=BzNtsU=p35@ϔONyQH_TsFsb>gDWlB `Q Q im B4keS%xR?aLj +#e +l2>&]Qb{#k7{)3q(◊vbK} (fuv.n[D| 10+]V(XtIgLkNRMѪ;j%I70/D- ۭQn4~[\Frm}@5O{DQձӎ%00MF&2E]jAj9W6b_pPֺxK_|(M h8 5X좋(7\]\ۉAw^Fy)^Zca&Hp^vC |U@l@ y[j:ۑ-5 1`=\)Ds2c Y,/.^6K7󭜖7elGN}h!'\"3`g)[~-ݙqu (Kv 0hk"Njؖ2kpJi`_Sz&%عұjHp(@n$Cg5^QQbp_9iacR6E+ 6>.8o#LܨKM'aڨ4jmfV-"".;ĘrkцҚ2GahGX 6: sA|P_l9`T3:ʹ)CnO 3/MJ;U\4pNٝ1^uPnZԮQ&xNf*vH{̀ xgZهYXAgS (صFnkjqv"xWeҾ9c*5f@mmu.Q.4l6eM,>50~!If'CZ{TDѸiXY<pQz6o!! dBɅ6{gb^]4zeƌt.>(3:}n@PlQ l ^JF^͒_75bj|sbU s޴"j"_K3V̴SwtwA*5Vg޴"|5t9Y|]a˯5}AK f2 YW;lL5EgW^L{j03ei5i4zLmBa,ggUXU; >P.л79D4 ${:/Qݧ]*\vAC v_AGB`+,6h`h^&ۚVvmQ .9 1+IP1Ud)e,iNc>@Y! "Fm+ϬUD]~̸5=0 ]$IuB|n3vjĈo `#7S{0v{X>nl!$m?DE.WfΡ.G3-C.hՆ% ~R$#֖RDqWESM(Ml:+kt][-Q3o)` 6b-_CS5J.cr`5]QeGFĈoZ#7)f}ﶕDsۖRVDv(ui', =&A q갅cQ[ 2WE8"a+U{YX̸Ks`-ܻkLi|3_TkxeŨsY=hxk,f*ڝRiE*g=3FqD7bbU͐bfmJSMXmij 4z*_PQD$8853Hέ\a#ER*ˇf[k"Nj{}Zn۲B&41٣iq7̘iYZŨsQ]Y{'!W5U%Sa-jX` (n5#F}J9'i9f^Y I64¸ ti'su bwn szAR4H@GRY֒s9|`e V}[FmI&Gs6iւ}ej\1j=}Y.i&VwCZ>C왅lqK16'CRzUX* N 0`4KGY>FpKKBDfH SO((\:@PIR:M]IdD]lH@GR]Վ~߬qݓڅ48@c/jgj?WY$5)1vw^٦jm !ynpþaV "E86m/׃Cm>ì6kaa6ŨsUV>}p,YB/a"[hWjdZݡq]nJ}#WڭRh.Z#1fV3$0,cz3fOQjZq,$8*l^;-]-& $ܺGRւ[,uϲWqp|Tdhe (Ri~H9B:BG&DrKМf> Ӭ~VD7U*QzAotpIYK-ucOҧqN"+qc0)7F~0nI$; y0 ڏ[wOMLW>?ҿ2o,^BtCe7ve7eG;r1A^*?*(+6_< DɽT>& M夑a/zYB"zЧǩSy-VU'O+Va7Gcݥ,\oCpwN)h8Exr܍/AgNGO磺I_\;S'x`7@pu"_ЈW9EG8:ŽW#:N/UxqWDܑ:HGHYʼnG@M <}$+/xn?|px8>_%+RRGTSiy'yJ_7[.01AMӟP5\ۘS7>9KJO.u' 3LypA>=!5dM3tN>iu)hFA 1qVLQO7 : 8u_WLf~!^wџwMjֿ bӼDMiF30U%+pჽBU}zԭi?cNFR^.ށݎX.}w>˙ᏼ~GH';iթ qz5fNۦ F>,"MA=8s̤5@ Zjgo\eb?8ybs<|Lğ+ē 8p^:#+w.`n Fx8%9d7uq#,JWt)ԿzMVK*0P<Q.q# Y͂'0``NG>S?͞Wy?qW.a[xK*lnaٚ+ :F.۹B벒\,x[wٍqWحc-8FT$E$y#3g >N K~qoE X_dE[kšos3UVZ^Z7Nz"H)RR)m)RW7[+o'6V漰їr9 g̿1)R"E޽FD)'䷂C͇x7@}ǼVN\"EHR+S2|L[)Roş=+7g(?~B9}-#q_rҵR/)E"T)//y2~]9n}cp}^+rsyʾqk[w|QєYYZFԜ3%}y֛wּWX "AAH$D${ !"L!"r^W_hW:K8= {8 d]uֻvS[WyvV歫8Us/w}?| UyL=|gWDoV/2\B`O'|c"1hm_ΰowy57ۻ3{miS>WZͥWۘTr\niIتp˭f r[GEI):,S5ʩ>BABV qrũBOB\ |pyC}Yf/ &7 v슔܅B?d@e%Ңbz`lPh˜(ݖHinh%#htFD,"%۴&[ӽKBC[$+J;?S︖g߹M"I׫:1o~OCt,[|Xb|J@{oÈWm|wॕw;5qtTǡ+ˇx]zo =h/ H:nE|!* gPO+ؕPGp^#q|tf7z/!SR^&u%.t>/ρ#^Ӹu 5M 2$Ao?q{ 0䣒XCu!IC &Wk -a1=!TZQ*eo=)S{qϑ&n?=.٥;ĭ$,3Dw\\-)yȳ|VڄuSgе.'q7\rOS3o;Rm|`7nI|7eڢPgM'EaK.WioߘMXOěBW<1Jj9B0E(5iI^CS AV8`VT"TLUynR̻ K[>[~ ΏMj@R2Oڜ ѡĪ5̨f y W7?%'O { 2˸G\Juggפ$EBIĒAtzwM<(pזȁp>,t]7J>, ?00D:Ej@K$>di=&vG_rSg yn]Vij6VKQս~> h[1Vmne2$us[rcRTbSN=7& Yĕ,|3X#D|Q qsx&{8E-X105ft5%5^Jכ!c(TzF(Z^T }oǶ,-g ^!eO2 ~I+(q¬IR/yA1yPU&-s4{9#c)Udx!BøVL}l"V shJMUU9GeƧ2йj'b fr>G0$nOʬFEq,R SaVēOBo(x@4q%R.*'k(IY$JdMCi"\D^knQb]TgXgvweo4X2M^m;zt& m Ee.w M.W{@+Y $Z%ވG wA5IR'^m)Ɋ`S`f.> ;ɭaJN=LL/WT"wyPN&g^im8; c ~?TZؽfbb8aDwu\Cx*؜yף5!WmXCTgO|x5*U`y9j0p8xңơ[ڲZCO|WēʭlV:JfԨfcF䎢Vv0Bç&X,*'7 j{ۢTs||o,_>#pI} ;1x|q8Z,Kn\)*wݴTxYp!}֠Le;|2+#-j򲟃\sӽGC`[uiJ*M"1GBYyۮل+'C/ikl d.pz9Fs'+Ly 2z 2lAvQӪR O3E|[rsGtŸ *ˈ\plVeio׊ >gtɺT=}Mq; l$~Tms?I! !-jGCvX:Ԃ?qL^=[PKlðݥ;R-I hUHb 9Ap핮Xm% xǕһ2Vos7HcxʰӰGIw]ҹu6[ߝ!'dLL8ՖFыvs|LV,*p[ÁB]/xbx\1!LU :'l|6snc 1SPk5>D㗷(㍰<6P 0H_#ZVyT~"VvۺE1bWU)Fi;Th&»*^uv;^p 3D$ 1vAvY92rgsCx$Igq.OS(dWGl#D*b- Ej0:cG2㓆 Ч!vO^%>fMgHVU~ <1#dt1']ߒ%]ujKJQ>+<%u[("t3iX#W#cAU}&bV¬ǃތ0+75UltJ#52qZ6*}wG]ұnD5+e Qu%3GW~˩dώf ZtKK:eL;ˑ⇁!kbL.אMӮl+2.-7#^ @j}jUF}>q^M?Y﫢n8HhSPݰo~; iSiMز} NC8DǭÈ;>cns+X ⫌7w/'d!O˖wR+ؙF< IjS$|Ou8x>u_95v}ȐPw lN{ U %==q7]0sܷ- ޖn#ӟxFI@ˍS$fhiװ ?͕>.<%?97G(*9\AT@³ ?h"_ ũdʂP,5F9FҖ<O#v AWzE3'̡vN>M~B]~9ձRC!0PlEކD?jUkس QbQ:]VW6i C>kJwDvZ)Nbc=n3 j;pLa+r= U61'͇د ؑHs3-'^'qӴycT)NeY){z=( C\'JiݕryncKlJd*sNϸP>cw^^A֡ЫH[3*Ωpfp>G s KFM!kV4QLE,Q G֐Z޶5@28((fIh k-v>ʷKve924Kqf"$IҎξml1VF륕0ϙus_*ysWP%ږCCƑxX=&ՂWԆ{JWyZDbʇa5H\uoEL=2;5O.N_|Źd:(q#^%Q<)~<Nj&TPPRW"dVh韪;!e0_ 3E~TQfXhgS7h,IQUXһlm{XY!FK((JLռ!k)Q8t*乨vܰR]btBACBd%[bȴz8~܎}tw^y.NsZb3pY=0ZOZҍ1fca1bQM8(3]$LA?b[lM(SmɅ*T[5Sh8z;D5+s{ܵsEJSp'y;l'B T =u%E+(kSuޖ;<ˢ"u9EŃAW8n[0H<$Ի“0ٿu K(;);Vn%tsQu n! w)ȗ`(/4D)5sļ&؍D0)nQ^U[>ʕ#VG۷ LNxγ'vSV?UZ"-D44,z`lxRfvD]yzɜq;4}q^F~4p?`%pg/ מmNEzuI@X<'gP/ME].ZUG7k<(l'K#5iD&phw*yD,n֞n'nD-) ~ S1w=O. A^B?F Nah ܎'zhmQfSJtGAsGr4rs8aMxk'uu uv#RO2EVh+o,\.9sk8og |E-Yg v҅u;Urq:&vUأD/yBu7+án ;68r<6n+kNxٝ;8o*a;Cw|'\H!X%Ν3hC_x51yLY+ǽ~Q ${{,*>Tt:϶CĝU#\ώ,Pf<^?^Xb'.UZd"Kmjw;N]Ú_gKsE>PaE?WE|>'O5;5 Kz2FRL'6dQX!4Vz>O|!nت-ӐmbJuS8oEM޺t+-0jufcڌȎL)ԸDASLv~5{sI5[Ӣ(<A$u ' "Gq{(P_y|.H:i_Koۤ3[Ji +-mWպ'9lo){+wKN Iu׽ꢪOUܳ=>'b+j0lL,  bX;u%-ΐ+Oy;A#8H#ֳ$<`k /;!z3q!9NL$I}ݰwx׼^6(u1L8IIسwn&|pRnE^j10o6z1|9gc`B[XIӢJ3kR+L*\j nX+.W^KHǁ&X#_>rV{ۿ)OhQSbE7hWStbzY3v4oT-Z}b GKOs3xrDÅĐ[,.: nmv-s= <Ǟ+ zǚh~S+1ѢXNcɂ0uO!"!a u3 Re\zNgxv\:Ժ`8v^hK"G-סQ ^2p>8l'P~v-9 :"K !QeJTro ֆwDw>WKx. HkT1\aQ}Fry_GUX>L$趯rⷎM^聁rz=.Wԇ}d7u&v%-U(+=JɇIĘQu{% [D661tië")a)#/X0 G$db'ptI7-'EB/U:r߱]ޭVg,@ S2IXp,llmW 8 1HȎ@y\ETz̊ 9EA:qPmS ƿ2u.HoO/x}:6ind;LhZE @Q[x˂QM %82gH]z@ލY n{MK_RSE"DH{&KX>jPJ=Tǧ䳤aAF L[ bO&=Eq7}=s|3T/ k1Xa6_,"gA:UH^c)^Nnaצ2IY!p̪oe˔ s?,< `c͡MQ'saƾD]"8DD>nV :ar=h;&'>1t's q͈؈yd~7I%wSad-5/dKl GGEЩa{V1ʧW))iN:(61qR~ H;MP誷':diyQbꁺ,Q3re(ߢ$d MwѮ0>Kls\1^ n"= =U|bWGg.\:A{ғ@="Sp4d=PNF={pCW_[rVwur tkPO(o 2"<Ѽq m: zBv p'22yPNLw7B W7]ia m?C4Ne:x\@%v %"![` UJ|nw]CW,a9\rm+ӸS0|A@SXm0=KVT@d"kCת[%vC} q՛η) B\,Kc?#VixBf.T-U6t *wJ2}ڤ[8i|(0T!^<N0IDj\RU6רjG> W*'EdYיd@ bdz*>>iՁ5rMդp>jު|aВ|#NΜ[=m2#CoNS=gMG;hH턚@HZ]>IŰ %|z4 _}I|r'_wL!˸s\XMxCͲ݆hbaOZVO%ZC F3Xu~ D ϵٓLw5]mj4XlʧZf=ENt ?Vm71)d\>."7c .?hug#%?R`&C dS}QO3'nG r;ju> 2mfg>MKI3tu%괙|,[ZATl3{)]xi G3a {jsH \<@@1sx5PIb9zY>8_b [LAƷݑ+^Q̭Ӹ3<4XX TE仈SI<=E1E[:*_!Ìɳ Z!_̟h] l2tP4?z<y_G1PV2(薈lЉ/Hgb Cx v[+y[;Teg`U0+sbW5+ BTGL,,G-\)ظ.e+Qn7. CIC bɽ׍Yp7 cp/eۉmaz[>D&FzFsc,9LAz0^ w\;rHqN,T٫T %`B8O̭k u4'c[FLX2,'0B}w/wRy;Z-{IlXr!^ZXNhE`)%YEa3dh^tBRwС~$3T׮6p9^d~i+3َYS~KX֧pW!ɺ{:% L־= {^R^u{ݽ-k/0 zdn tG|Χ'~(J !<y37 DJ#RwT;˦Ȧf/k3w΂؉9"=bMT،HpEeHaniQ]*甂9]!6\:K=I%7 F\K}gHbw^>hqC|lo+* 8fxFrR }{{(;5V ) 2=ab/qRa] i:YCg4,:o8g2F.-9-YZW&)^ޖFFJwhQ7iy"kx8b[( w1mwhrӐҾ`%gu3sLS!HEV>}FygFs=ۧŅ,vg=gwT-YAƁ9ϓß<‰ zE[ ybP-x,$DeJRO԰;@ii4 tHei4s{s"d#Vފ'0+4cK_QP^.зh nmnoo^A?o~|OWW!Fx=\Ck5A$r+%:fjț^clo+kY UgMixx,Ċk.#}\9Q " t9GzHʬnׇf@͒4}P&/Mv /Olroz?~X; n>uc-Nꐬ\Y]ݪrR9-#V .ngLQ{הOW7qw#Λ̈R q8ofKMO[{Fyqy 9'4{騩= ~jBCx朁z|}~)!ⅲ:tl1V6?{B.b*ʝ{ 5PiJTd" MV(:3HwqouZӖz?h2%tNȚ"tjy sט|V/r##2^sL7ܛFyEۑi̓|+xF!'`֕c8)vPOmd_}G@i6poEi<9!mƂ⓵4$g&pp!%8 -XSGC+Ҝ~]8,\Q1NIٶ!(v ^aG`^a]K9\Ekpe-I9+W k&^ss 7Y-wR sC ʗV3F G5WhiV#1ZE5@oVLL0<M}o8Mو߉r5p[ˮP?Ү-Kkkƥv>CikQd#zyQq;U̠%%;Ad*RX2JX 9"awht/kHK*Uq[wn1ffM Vpj^0A0^{:93w~U!?&Q!>#i@$=9 2ܮ3C ]Qu6>WqdtĹC'<'nc:G4ͩrR*$蹕n9G1啓&W]CnvC[dz"bxRjkڅG߃d$%^:[ZOꃎi9Ev܎+e`f 7%p/Nv#5;H muĜ~loYx2v\ռ%p 75>ї4}4hOa⍞&oAӠ\ۋ9m0E]*-o |"TŲ\YOy ?l[ ޼@2햷<Κ1cI6`śqxMa]HdfIL2o'+figk7 )[$nyY+0K3dI=]6lܜ' SmdSh\.338JD< 9]mP#^@@RXcEd<& o2FAU9-$ɈG^ڎ=AANu`l_gQC #a ?B!;!_1"j6IձUt̽/´=#Gyz@D>L|G8^5[7lV|!J {pO2={vʥL(]c~J`@=Fg<[` ){̮MXSc:Y +y2 u=}Ir;4%9BR v->a)SbԸVa pMs_hcOGX^݃IeK3ġFSq MԾyq\gNyjDSflU(~0 Nc9Mx;z%f'u7/-%)eB<2Ѩ>o0 'E \w$dS;JD.P\kMT0=/抳 2F 2Vv0KB‹K `:ޤmjg琸$:~qcMrʬJ&ZyZH&jZV&)SM zਠׯh 0c8|Rfq^p4F]5UELoH.EJpH$җ ÎMaӃ(:TsVlxfE#ǒ;\ærLٹէs殒fO-'¼|i^_GsW$z .FMʽD/`N/i} p@Z^\BC+!^Aczt%zPB3!>lfV6e|ۋ^"^oAT?1UqY{rHb]G$m|0?$ AߔOcQ$[.X"?/h}cNڶ«'ʲ yF)6(wDATE_ݷ5՝bF/>Zx L2̨`LQ$sA0u2by>$LvLQ+3.K}yy,XkVLf:]XZ'k$NWA̝ 4fڶ?5uiUT]67n0 elɄiԗ9TSehiDSjc6ӸBdbeSejg''rJpR1oLІ ᯄ% @l٤ O]t׊Ca1MRAd\J:$<@X ❁V <ч{ j5~vKZ t1z{,EXQ9=cˎk+IH&"0K9hފ j8Gx]i lhNd=k8y&:%(3ʋxN`@ N #YӠb&I 8Agr6Vfھ\PCtVբ̩މXY*}- _KT5 ~H]z|wV\pY)) gv 7ID6ݹuMNIc!7a ƃjn\M98"y|`<IF55+/Btd^@rf8`}-5Y[NET)ggQ"d^6M@W"9E]JO,뗫 G-5';S%vhae R<]iJ [KV" -L?$_^CNYUfhAcvt`]ox³dj}ȍdxR6rÍ[9zw9@13V.=wBv:1c+vSb&oB-wyԪysyKMCDJƷ (]_[]ّDŽ8tU m06f6 )0s+C|=bFFx9JcV85Br18%BmEt{CzS:.QaCEţf8Z"w3GN5%2^SZlr렁 )QvfAQw6U✳6S]OvFҁuubYxO0 ub{ho݅Go?GZ5~WM13D?*?" LgK ݺgV2FjWWΐO"mop> Ӟa'ms#:nזcHI,6KU8rUB&gE_.0^w)op|i>䛙)/j3|*ޘ㵜MʫV*NhY=6$K٩BTSMu`OUk/am_ԇ&lP+;>5w/۱ uؕ2YT ov? U|1O{Wb{9̈́)!TII98Gn@ͱC?Ÿ+*Kf$1ă> _;^ʷqybOV4o)_ SY]ǍpR D #hxvXpdvK41SLؼ %4MkjsYs&$9vfk~dFr<{ȇ94QRid鲨1Gt~\h&\)FT+}I $׼r8C.8X=˧:zDN]ǵ .]6rG]d9"6i#,˽~Yknԕg.턃=F14$|Je]@eNC(G VVZb1 B܏&Y9拁ytJS2+42-)[^6Qבr@ {j7D繾f&]6qCiь&fˆΧKȺ5+2Ipڕ~R8Sūwdo;c֛ҠA ^6RuϦT`fYk*e#ǘ@ix$hdzY|Aɞٰ p,"7~ْ>pP#MAkZ/4}q!ϻ4rϓjK weAGNǭA՛ZQE*[m)⸡k #;Cl=+3*0pª;h8 Cn?H>٧XA|k orGt&F0zfPX+.qJ-s\0Vg<7˙yaE8\mRfY.ዜ5l+JSϳz >GFDt_|l>_nGjj ׌37C!ĕ9a1ƐP>ShSnqFMهDԍ`AqWTM錼9j*6)M_78`8X]m%cd.&mj.NH\R5ܬ̱H xb(y߀ܰBr|{:C561rtu - >؋k\(hw}{)3eO2=xvb_.Њ\kDzdRzlHDin!"3o[pq5Vq< fkg0w}be,?\:hW[鞪|}f̀>Fl!7%[%ovQZayU7&Z΢,7xYc*x#Ćfz_W{_NZ߁ɋ1)7s3 k!{#܅W-- :dl&ߊIt;饷OrCέT{߀ hxH#SrٛQvڎÄ;oҍ(~+z[δ95K{|;EL lU~Y{LөK0U;vKi!nfD+;.Vc608`GZ":0G̞-%əfKxϗ[XāINxYxݰ1^w{]$i.:&dz'AY8_wB2&}j7 vaJF=;ќ,e пS4QJ eY?7,zv330pZ㸘tCY eỴD.ɰL%r1^_mU]&gɳȖݬ0~Oː9951tRĀ7bJocܝ =V滓J# Uz4Um .6G9^ % ̖jzSgf/ f#aIq/[2[{"Hz &36Ӗlw΄8и H)ߔ^ xm\fڧImw)͜XSCՏvy6$kot桾$ ^ഀGA %cU,=%s[G]e#J Q̳I")P#&tpg"3^(bXe-F>uq`,rυkib=jނj}8&s뗈LЯUmUȻg7'ħ欙l'HJO#-b ^EbLۼN!Br8c6Y;NAlimc'RQORD%e:[{ (!1g&sX%  iqK!;EdܓGip䦯hHƨJ|y~jT EgC-g$7:Sz\ ##坠"4 J 7P/G4[t8 A_hXyiɻPÑ36H;kĊv`A+Zx/)["n?^niuؚv"L”#k `EEȻH%y4ÛÙcjVkh!mM813h[=jĉld-؁o/hnW{'xa6y}8}l|supj9R:ʂgH͜ P%Mh,RtѹlD ^2yZ8$TA7)BuF9+\68aሻUf^?J*WXdկrׁ#t&'E'xό <]Qgys˹i\)%mX* ] ncR{!xbX֪/ʆ >\-hc$JaճWґF3QW%cnr WM'0J ›vh EF:_P\7-^ D;Ľm6M~A0aΈ"6 Q+D;Tә`?!,ADn4K8G0;^k̼(0v(tjG1ŋyt/UG) y"v{ejso7/œ:u[ R|fBrUdc a@E`&Eo#ՑݓvbGɠ / :)&ҺUrX8j(Vdzz[/Ԩi2%#)DQ٠I*.ڃa w`¾',HpKi6,Sg{m:rx0':VǜJ4{RUpVӊej)Hȷkpί I$Fz0#3'B'E`ޑ(X4lqA=*Kj&4~AŽ |q-Ts7XrASp*Bekؤ06 [Pa(g3`./I[F7\(gGGR|~Sx\RBf]o ʟƏ7EMe5gu _Ɔ&omOp͞ W3?GFpM&fռ˞LKc[ JWt%é%ӣF`w 9iÔ)`/K.m\ʣ[aGUWnE$E rd#3!lן=DPZ8*FY3X q!:F_3j@¤h%TSp6_ n>F6brZaè3[ FFL;O6QށWVvMm0`pHW% D>XPUe@f EB.F/:HF>y$H%SQIuz@C5E$ΠLԢpK8m+'pKM[֍6%ch! _T%bĨ0q;$=&{F# bY )u"P|,X S5!!6<$(E䡾u ],MGuM c8x6k_!뽦I2/D׵(1ywgl 讫3U/ѥgk%g ƠiH'U:.bDs}w{Ga=Y >:KΏ;7W$ovEGsrby sfm\ȵcҫO~vavy&`_+0vwu5{OѴ_-f6 Fad< o"RL?'@_qjdhm׿lW? 7+*3w|+6̮91r~nKo ؏n/; O/򷑒'I7 w?_ h' p*k([Ǜ_=M |e_`y::;izf@RwFk'[4{:yV6_1Go?aGcӿ* ^s?p\_`WFE\1wm^#_{?-']C?]pۂo~L RxzD`0/YxՓxf=?svq[ _p 0H<ِ/v-zyS,"댗ۙ|v+**Ou[o oպ12uv2HApqb>=^ "nN`|z8[X;~ zխjY{~Or !ʗF&N?%?x@Md~!cs-l%SȯS,;k!<~Iܘ|e]Zd~}R%NHY~[ ZYeY~{5},Q:_/ _fFIG~ ~cWwV|_ɿРDߌ`,4%X?{wE -})%N MykțbI6[q< )mErkOe 74cֿȈ7z]#u9X濶ֶ]FIk~YU_wԬ_=%=C)9:9:8KԊ2#~(?*~/9$zo1jni<2Po&_l4ZH߹ ] j:6y,rii:#x#JmEl1颛%hP~Jg?iοHȎUdy(qW?NƟԨ;`J=e*cg>p/o̟|\CTlPє  N:g4lߑEwoxM~G XP~Ka-褲`jz3LP*\opIʌk|0bJ) >zyjDbveWJW"Sͮ?f&\`V84#(8;ܫ*vJlUYl3vV,/ i_Y&2=*?$Bea6q-',F*9_3TЇzXsFu^$?uCs2zZLnQ:#iA^fu |.-Jf9+<-4F&^~E~l0n&ɫa> *+n0/.Q%r-|AEaNqmu } (.*7uGSI1E4l .É!pbҖN|/\ϭX~efn<2}%gm?Cf-yU9#JkL^ȕ)An2餔+$sJah˃A-~fDrU$D{ۚvk}`Ui^^:og v4lFS zpZH2J#9Pj L[3 4EI~{LniN,p r#e d>wO6M8TK |dFGV{WE1>#=>}J lXjgb}%W=գvydz-4 b:6!2/&%-)-h?=5f-c~A mpmA8@X@AC8!=H1[A6~ l{]vc ^^EnG~ua9=uJp0I4ȺV<&g\/PgV]-1lQ=65tˊLZT}-H?d8]1/\}Zs;@%\֚ij]^u\"s YvZK\ۆ 3 ],g+ò*YdPr '}3;VBW\^ O69 8O: hH-񦿈-c#/ 'wp鞊glbg`~1+:_+Gތyme|p\FW=Gk&*L>X44Bx3~2.b4#V 7Qmoo9 VjfH3F[!7e*DHD08Pch/[-pҖ &JFhG,#M9\ v: -T6L,fIe 0p2}]6HX0g%.+חdeZFƸ|`.TjMiirAHߡk@s8]/,#4ؗo}69T7#CQ"'ޓ=]p$4ÿB;O/wRI"/(+2S%N :Lk4$xhppO/;T})$}|=_َ> `؎'뻚V9ct{-P~*06;l CbݒO-[ZŶB-5q\'m4+~ t*˭F邝Fu9*s ?Qaq:hq`NG=_c4<06*|Y/x?w̗&~1^Tz%6F~z/o&1GůQ j p@05 mJأĐRrS(v\ִ˰+Tp[Y8AHc,s,5nw2_(3y+#kڞ:PmߌABˏk/.Q[RXf.{)ŗ kQH/5i\ƌ(ms-%8.}Vս3>qgƹ(UOir]TwY|[r51uRBve22:f->_eT(MpívW☏&yG}Rpu)_ojd6n/>Z)ܼT$ْ*N`:mXex4Ǡrnp3~geY7~~~Dž.!?0u+mN R\w{aGh֞qHIhATdkrPOq 3=#^q +x*?TBg@a Ar=Bw]WR_HcK#9nVd"k6 +ҟc_l&[7f*^ /,zh&]4#ʲ$~&.F3ĥ+.Ѥ}9t lwt+`k؅w~uR3~vf-] @E79.[#T˗08u@.JuqmM [}^N~X?QIK'!C%?C<:5@Cz ZE6~w蠴F c99G2?VPZIa):W}&u~6V /+ZbH]ngza^h|]Ҥud/:A5->Ik^`0gG>-<+w& rJNpĤdʔ,>֛ns1H)|3Rv6eEӴy߫%^p7P4Ktxq.IujfQw]#).'u()0[7T.y2qbH'G4 Sf\XPypnHFblTˍ[DyHt/_sVw 7'#G9&"vZkP"C.%z0b7b]`H`a. Zϣ G 8u\G;[c|jk^ [Rdg!ss-vQfݍ量zXv\Jyxp#t"zw3L znѱ|O!prT(p;N3+DRWd| `J`ѿ뮚9UM]ھxjMT{,zQKUVz+=řf7VJ|la'qT2"uXkhՔzhv @Ttm\vg'WQ!3aR J"v Ĭ̀,ilcdA_v9ܯqʶYZhyMQCh@yE@j_Q"mO߼է|uڏ'P)wP>4E3C=oᡥ uKWw^A'OVcfRC{.}jS)UD+.B$u4;{=+51U<ٴ$*Wy 1h}<i|nN`'"BP+Jjm"/_Uqu)Xbm%}Χ9"[ZE!.PX:B&eI&mMտ[Sa*mxg 7(C j{] &(Xܢ@좢)[=<BW_s:bf4@`ad+,:/wD;ec ,Βj5Y1YA m',<\xVX*JMYr8\AʫŸG'_˷lG.RՂZ;ㄑ.VvjO@ z]&.<r~cAqToĦQS\H|~QUO>6d5@/lmq%d)1!wݴ 4: v,Yl?ˊ$y3gewC-sI6*)jogxW]\ݺ Þq3~E,LH 0ZƱfϑ%۷h iq|{~1N9y| 3]|Diwu¸~AGf}q=KXug 5 T-qD+}̣MFvatH- %/5VM=܀̯hV} 3f{(. -M4[op7Or1yw3}˅&:v;S~I˭Wf%{^#>.& q.fn;M^3(kT=WiDjJ&E7jRƈ}id2nn9pPO{&^QeyӏBTDLҹ_q*#]|w͏.‰GEW]Yi|irH;X7:pG*D>'X-dkoݕ@&Y尹QKSX͸@?iN%r/++&4>DG~.|uO0u-4s3[Jg>3ib*Q~67Ȋ5F,Az0ԯA;{HE`;OȾ ]B6+ p=CI0ș!+2\؁--<.G Ѓdh|iqY7"hǼ=0@WߏtX ,HRh  D{סl<|dmmT3 Aécnq'SST&\jb1 SP-8gl}Rop+,v=ˉdpM#1Էy^6dGC᳿]f P'RS FQ'ǝ rnOo\Ϳ` אu^ ; +[6LWB9;#c'nŏJ4c#Ua-&]FsPn|gɇ?:GG\/ dRZ}, ъzڙ&xlQ12#L=36"hs8 De# qwAԵni>?:1!&{kh`sdn_"zU!suΜ1߽&NqsY;b>s<'Gt$ o>p|.JJDϙ yi1PM ʀG2qMyU=t{@^CYKw~ HhHMhO#kY7$rP7ҀG8=$k#lp j)̅8ԠCLAm9lp~JWo.\mg#PX 1)ͤ9*q |p_"Od;tly! A#Id@qF0L̖Oeƥ@{,eA %$^234 A] 5R~^ j=N;4iwe{,Y?ΕꭠU;b o0̡OY|\ uzJ 98z/TR}Ta2ZSxoZ5JiFG; IԎB[$":%em UN#xNBE4/5D^\7J|_[: ]299.AiVXzܮFוe*?_z ^? xbU9Z6z w$I;4zzjƛ`>_Vk;ٽqn7 @cY `pu6#{zm A8vl*Q.C=-d-: ܟ!paEMV%\_ C-g`Xp0^e8~3OgsHEYV#XqzXF#&{ fC >w(ڌHyſTf+=cJW$H,P`fs.;6jY ]hM\B~۳Ouyh*6yuiDls /g e@0R&}>.-N2|[*׾P~G\|ZuIaj&neǏU(kCqd<(5;f`Z~!N\z[HBqww\o^EJϠL5ֻY*@w,*twXǝuuZy BޕP#%rJV^cֱT*ۦHG]P1"9xZٸ#665KLųTp$ ܵ}%? F%)57򟄚UbQLҵٞƄdsu}#źPF(֗/?=lPb<8$Vy3/y\gi וb?xb"Ts_ڀ1y/̬@BN%>/1T(Jv,o|kPבeIfp kQ@{M偧|+vs{b7}CzuX!USV{ɗu&[\0*-ȿQвZ][3HMiN3O}Ҩ^0_%ù;ṡT)%u=QJϢP(uM 4<^;'/΁ =N臿_kZhNx1/v!y)$<:Kslpb6T;ԌSSLl7{!Bx*m 抎5RM7ju׿uEp"_^7o ӢwMkR!{&kojqR,vZg$4倀ؽs] L@L #O%{>SЋLp=}A!lɡBVyKqNqtKMYgsP䅋L[K(9<0˚ꪂ}l5zLsdC,䅈BvdL3+Pq鏳H.Q֠O:~ /ڟ+3v F"$yX9Q,3f~l=5$0*dy6{C 3#4?]zeĸĈYoқzĴd_ qzd_bN%ͫdBk)Mm`@f@@%{:|?A_]*> Υ=g65ڢB.5$jgoNx~>V4iJi;zKouESa)Yٯd ZwCg:tA=IwͱBbyJ&FK{9:%Ȁq ]RO>*r93ptro1)i|nF픛ݕ8$D\F#v)FQal%ݴf"紲uWUi/&(Iձc ~`qzQo@ >.gR|aI҇' J7;Ep7ˎRN]>ߛ[XGvh8`x pMӽ# Ig0/"z0lwX3u* vJ-W이Fy群ת|=%\x?jXDcG*_  @ u>1K RIf1nh?7qka>ot)Nq]Jatg|9U].>)#:F>JZUcW<!Zl+Ro\\!);8& q?l>J\>=O{Rhh>Bxd™Jt{  3e+;K&w(ݵvYNR?յ$)-da+X'M($OCS#Z%~ `W}Z HoLpbs`i<2(o=. H#[s/ (Z{K.I2if8Gb9Cwc20~m(l%BΘ=ŕЬFPjBCdDt[2Kq,߳ lPA%w*qܖ{*`Cxsad 0m5Z\^]">$y!~ԙsD #NO(|Eq'Fף}hW`@O nŏU3R㛺aY뷥aL,/&ߒeO]Q="d/G7h$16cmؔyRVq-jǜEFj>$K<]ZF)ykwlB`UT̓4/w_}Nz{F.$$!pSff+#[W Nю2Xy؛bq٧4 IͭhwJ:4ɦ/" lr~9&ZowO f34>s|CJX FЉ5gZy?/=0$]7S4_>Jvm0(kp_M-gL(713. ֨w8|Zy$(a"nC3qƨƋĔ^,^chaë9xUl$veoi%d]l+?oq#~q V)C7:[3Mmuֺr"Jֻ2hZϡzy,SB3hGu KrpXnW=b ~H^r9]-ul~U[B77Hd/kٟ"}5pLtpXd Nf5[Bʟ&i=_l/O : 7YNoC R=fUrRC2GtKGecL%>/$ -`Zџ_K@'OHE-.lQ%.p"ޏ:p$Wْ`}y VKF,>u{NQu{b߳mp֔GXl4LegIl7VXLFݤpTNXdAe j[8mPs9.#BNDJ  UHmq["N1m lG0q Vss;`4 h@NHuiG{Ԧ:4d[)THeF̋qf+O;cLk#Ęj>3wܷ^$Wn[3G[X:݇{35z.iAQ_VxiB"]8%M\SY*,oHe*6氟g쇌_Ppr[2,J)ZsמNw[' ejjK!^м*P08y8o[*mC C SSfoSr"1t;~ Ëaڷ8[I:>\v|[~EoArsw:{~9Vhm V6F~32$mY֙nwޤו=ԅݚkFx)c[yo@_;F^Wc:7-3P9߻5cogMr& NeЉ8 6 T??H_cL92у\f8G͢.~GCX:C+K'It1n¾*PbV 5YEǧ2& !p,_K`frPB RR꾭QZ!m8en.1V! zIS%mYŏ7_̴]!Շ!*uKqr$fTAF'$!/-Q2O2p?fGynSSH*Efr_jʈ6(gB\yTT@0`kt.Y<lDsm8Hmz02-wѥlPߢ2\O/`iez^QxL(ޗIfɉ;{:OxxUjkS#qL E_)o%1==LRZ|@'HIKׇxᒫOg]-uGH3a AHB3y)mHR42SJu+a pC"g@LñիQ:+E.jKkz!dN r>>\#pe8G¯7S銱֣"EA]RQ`gui'T.;'"z*O7.%!r1zL2/l\wҮ3E+ )eZwGfyKB{Us䬍M%( A9!?++\=L@`3 I, ~6Kf1Wq?Ub 3\Ztᙻ%S`[kH"SC@uq'V}7;PKAf)K\Q7Rx`YDϘ\xc-(2=9%O<ޒI>p?`q_-xW^gdJMiS!W:˗&KNsAȔ=)qxIɱO@`|!<%b!-gj-:ؙPz[vTKp"V~ٝ TȦf8ċk <%%f3eÛ-l*j8_pʹxE_λe|aF]-hEf[:Ź(n*XûW{1b!\imU o8wk `"[zcۑCCo$?/LXI]66  n+p$miմ~~`4"D۳¹ %k[U{[5YHz a)/w`j9՜IW0.P9])nK&H&ů -Ф^g[QGvIbU<_.'a͎0?FݽRaX5LlE;5,D٦HyWw'E;{3u 3Nl̿S;8&J΁ER-oo3jnJ xsUEؖ9ujǧ6+cʔK~ٺXe6Ҍ(°%*:9rBᙜ`vq7q}P&dnV8]½e2_Lxz!j:+0T+_' Ԉs۪ +0m d5_5D}i@="'ɋYǘ[`]15(sߟf?ҼmWΪeKC:GL/)o+z_:p2r4Z_K͚=#uw'C|wfp A.xl\h{!ڥe "%I)W(Yij"Bӳ{/]]%e>IgaZPd3 2PoZ@u2qDpYVpnS/%3Y>؉)SrX%mi(::!)3ֵo5mQ°0TE;eޤ%FOW ຼ@iO2JSMB!9d6F yC` _ˏ>32{pKo|ۦtPܣG/ծ&^IrIj٬!tv^]5F jaWU$xP;+oՑxxfaj(A;vHdFڕ9YP 'I,.*Mۙg|+Klʊ=I'~AAȲ %< nO$ dHg@nV/*b1+ vu=OZi^"vQ8Dڥ_ʖi{DiZΑzEZ_';ԡy{p'yk;mJ:FGv}Tht16!-~YÙUn h;OK8Zݩ'=ž |Xv n(SiH/?Hě+xy5Tn{tH2JP;/VGo~@p3 c݋-<}{wXn`qt$|`tz"n0;#ʦF"~]TH]WibKm,Yd$uƙՒlsRN͌ c3ݗ쇄O4[b܏/aN7AzGZe ׅDG &Ch9?Wqk0$0`O߳WeStn NUvGF7nψ$bq+LY3<ޫf Sŋ^t21J嶇v,u0i 7Z/[2zȾخyjdP+|Y] F˖B]}gHAVS:KA[&ͨR7mhXAYN ' yg(];)]GԗD{/盭DҴa[Tpf*zUD> ڵQx\'Ԣ˜ ]# MviF>-<#q5 UWd[DD1([/Iρ:AÍQ @ ן9NJ2?SxMm M^Б!(WʦShH~e?뀝b|v0^ؘnnGϬ, MOy oY/H@r΁rm]_TN0XB//$:fC=6FqOܤ֙TȫS5_qi3[0IJźNZQYSIl!pՑXũ2O?oHj |Sek1JsdcXۚV *fz!A#;(N5Bl~]Y~UN jK8TFuZFqof礙P@$F5^$ulA;KF֖0K xu<.m7÷ pԸasK)N{ݶA%qV+ȸCFzO%T_x*LsVۦ!zq#YFi,s<>j_jLNZQ-0la*]UY;!ۡ;jsbğT0~Kˑn4b0a۬N$ UܸkD;İnNPZۯP㺠)lJ2Bъ֝/[;Yn}WϴF&*&^e/*3[K>_kkmMzwŨ߉fQ6+|/lQ v B#6nq?ɈJww5Hl|H_쎼S i?QzoϗEk+"18J\o<.{P -=9&D!z-[A+ n 3^K-ČjB֣W@jrW/`MG̈ٯ&CccJj:{jb%}{ɸ*#2T4Iz]v3 9n${!PWR;R y]db.{?368Un]7hє'Luo_cy U+)QT(7RO[>3Er9Q%6ZpgvP\*1}; {Nk.'j.rqf/,25ee:'T#y%w1kkWJ5FGb$*7l ѱV4ւvv"7-leBd2 fgZ `w_& 6W  Gj'Y@nfЁbޠh:;:@r(l~gD s=$GFݮ}I g/OoEcG#eG'1 ݕ3tG$_z,8˴<ێgWdA|c69wt^Lжа9'} T0xaJǞ? k$wU'-yTvV%馫tߥ̂Dybka$m)i!KrE'X6&DJ4IZUWpa̖M&$X 4J!B\s>YBܳ!Td?[Z4l̴*ƚJb[Q !xNS=!u-w& ޷׃>@EЧJFgM뵌;I#9wuu"| (^02_`fQtNqX7 1[F9}!F4-ȅE%K– `!=f\7gp3탅.8PVMK̇PեJ-v T_$;L̺GTnH삀5^!/29A BUip|G=|LwS񐖂 t)8^Z=eITdF\Z@R.3շNƑ|cu(ߝڮ3x|*.;퉯Ӣmt(6!ݧG9h,Ө,{|!?2O(Td!jل&[aS2y_Xn(.\ ԁƷ oj]wTCdʀi`*qd5<Bg[7Y63хۭˍgKpwQ+fq(]Da1~ OZ,ɟ%u*'.6 UI͇ {G:AWʌ!6 v_W\.zc6)nGgH^C`pem[.ס3eIŨĝ猩jq{}ADƷ/3dNq :wK(ݟiCs|EKZ{Fvio J?EцBu=GBm42l-^=qF,)nzRɚ(xoڛn1zJ| {;1rf]2ե{G[P g~=O ̽k6ٝW a+ncZUVJ.+LVtpcaHu-Zs݄pz%Wͬ&Y@r'N7)͌c@֞8VDPr6x GiGVχ#ά`p@sE 4lϯ17?x'GINtFY(ۦQ9C'M>lY|n][3ELRٕ"l0„QxIfXi߁ #c2n^WԐA#^չ=@sM|2{UK= 6w$vZ%Pu}Xy} ~hN^HI>z/8r`zLz3?6ñCu*)R3C@geb-RvQ܃O ޠ6ćxB~OUaۏĔKEzuD_<13O1 qq__1k7I %1>UzTL>wϔ N+)cUmom,fՐbj 9荻Zi3M>gMwU}"vłY7vUQ ~+!DO qHY=m#'oa74?ɢSb(*VhA܉cp+%ֳen`Hzn!)n6J&joՖ%4F~q˪OԽdeW܋+YZ~|rdY[*ToztY#|=-{༨U@~z{Md:ꡎkk;2݊-7 msY"hVsBMo/?t1n[ d<?z~UxUTABG ѥҵ-%V.`;.ǒބXYBhex*vUƠ_cdRZ5ivIcxNSkH3(* ,D& eE0]9 ",ۡW\߰xa';H#}Bw" !? ۠(,pHV,n fG&/or{8=_Q񿎓H-[C]˴jhw~\|ABBsZ]:g.GzzmkB!CIj`\4NYCKuT\M/:2 '8w'w-3޿P'r,aba&$SDA.V\0/R j<@1 lvv'%㖋д;(h^ouahp">ko{%$*}W~P4۝ZghLS`FPqZ֎S*6+ǚ 6z,M";•{nX̔.4={WOygV^8H0 J۸Tr|9j:\!ZznGk[1ԔkY a !uUppO֎ذ[ig-MAWUP<VHgʜ e+ؒ)i1uND)Mw"T.tns>C6"]x%) YBSj(B~E厈aky980ɐ _FE a& Gn׬Ȅm $vrXҘˇ7`іLXK'ߨ眚7G{M.boVV|;"Xk}l.se+|a xqԣ@6ux8tܾN"5z"~cڦt$ R8p?3xʺu#ѭ_=lH}LKjք"D-yp2{d~+x$|0HENn=3P8\gg҈>Q. z66"-ɟ P!$k wiܺ[}BH}=j/[=֫xy='I1zRݝxx\}{uN{e50^[`#:mN$Ɍ'SO'sUm hZ.Om0.o=Gk6,FQVJ<ES<]sﰈ?[-u4#kW#t]~V\bBl3E;`xK.g{Y3{iz27-,c_{?s# jP~W p'8>qNlA O^gsh_[?^x};F w'Ozeo-GѴu#kjI Bc]a\DڋvCYշFI n!hЎ.8vk![9+]0.R|O7ߔm`}0HR5P|ƌKf od <._.;u( .Q gER_5,L; L[k 8G{c<|9*/ߩwqZ4P|6FLT1i.dg-!.ҮL$ܐw)R?f4CF^qA:gU7)͔ḿ2;Y-F2,Bfޜ֝\Nk $TأDGMF9AϽ7R]dB&ߔLEy$d XˑATJu9ka'F!=׎$FtLF1|ա{funɈܫlWArGeI4D Ot>u^^3D;.=M痉;A3=ة9^LvYW*^;æ;Z_dI`+*L_7}=ck\ͽynd2ɢq$@f Qo}ޏU+?"R7yק3odF"z 7|.k@& "&0ZrOX9t@RK$cqY{`00 ~`K&3j;)\vS])7ꙶ.ͦ 4X5Ve7r ìk!č$|RuE8*RTSv"`{hNwUE: o]FMlt )\ CT(dIcq!< t(s{Q.Mcc>αT}dxGZS"Ubkd>pIqYYҌGSB=N].4;{Lowg*6nf0p<ӱa,R]M"QRv<˺oyn1[7s^QeH|Z'͔NI ;qls* iGz[㹜H}#KnVڕ=~.j ZVVg^ՎӸ6ɓs`0;qnKs=nfԾwaxzmјbĖhjaLIGr h(l\ Kj{=Ի; s˗^IǔvTˈǻMFϱiYD |>Z*`K9|b!b>b+@)~B8ӯ{A您LGض4]3GAtϖlXv)CV{d1BDg:dQ , ivEow+?R|A_Q|?51?XQ cn,4뜦Lɣ\} ]kF͋*>2t1rPE< k4Ǒ[R(QBmKP>FhWT-YÕIi>PEtO ,LD6M~0&~47/pl@kOe5h6X pz>>~ 4[A1>HҗаA(k6vnC +Q^ RL]~}foUe|~-I˨*aܒ6rsfwe0NDdviAtaqg'~tl{nƱ6P]wp6:yo/Hz/-'\utX*֠vUydH,,{;OYǰi4 0VvePi69L(&[㽮jB |f N"CZçг)hŗ0yH v;SI> qL (5֖dJ$dO*4먳ԇGUuIU^VINc mbY'x|G&Y^܅|2ySyTW4.P Nb>s9( {Kxt`Ҭ6uDO_snzV#zu|:%kkfxWBW+yM=_f6"Pyl0c/ñ4zY],>a tWdr% A U*M>EP5:BirP!קxx"ȇmE [8l!3kD ϙ<茒R~ uk*L&EɥM"C 3ÌkC(uZjz"g p&d~`}6֖[2ЩRpgX,@8Xq Kg8$+B{}!<#C:$ RΚL$>g쾷2#/&ϴ9ȶ>4 ' {1:a{U ԪqZ|aF~:WUˆp yo5ktGg^SXNڛ PvR z6zbZ7Wetn8O>Rʊg O;M2l:EoxWp:nBS5<[)nWP۹B jf+ v3KH8|_Vׄ◼*dA8qǹ:v/0=?JeWHyJ g\5lC=XEM֪!%qj' zrSW$hf&gyd}&WXi}Vu P2MP*] y0ƿbGVd*/H+"+jR2K5wKi-gWF1 *tcF,B\Es)+Z/i^Ӭa' f .!SN=[XiqO]kX>~m"zzÑIiltv}lO< Y9!a|X'J=nqE# _sk,U=] uc&2àIʍnːudfV䀶kG'>d*b?cb۠@/Eʲl-VFa C].]@O4X]itEuֳ~+eT:$KȄTT B%Ko6ፈQ#Oy2j(E6Q qݕ҅b-ؒE^|{gP7S N|gOmp;ɏcbC\$Jz\5RLo :4c#낡/RJvE&gZ;nf+ޝg\)zt҂1I`sxU2&@R{ٮfu\ "i@!k 8 nUAL3MfѦ0;skܕHBRDcr`VCi6dEad.dA|N+m11`p;*Jq9 K cSH-I:6 &!{fHBѦ~S_>xèM?!BRb1.Xj0g.9pyDWg >Ǽ1]NPzz=nwI1ZG +T g'Atp:ߒ|зhItʧe`pC \R Rf(FaЖZY`쵌ڢFxю|ɳPa-o/9tRd8FSv%~B˾؁H꜉:J(l*i][`¬uhoۊ28YFH_uc sǫj]iᬇx֢g&CF=' wq/(tɸ n&tHT[{ySrݹny$L{ORԯQΜ96 YVkL<|1&)IZO=c=ΣLh}(NVJ ]am$m2%yIFb\s@Hez>`ЮxU2!:l ŁY(3`a狍0AAP4w}s Ck`xt^Lޖ-咣zHb Pz>ݏKUATL"6!n3!?:AR)RnӴOx#nۮ.+^,6$#:Jp4j~^kkV* Iq7cףǙ~sCܦ0Qw-Gݣ!-ϔ$иpl]hVo,&r..?6h>FÐ?2bz|H3\rD+ŗ>9ƻ2cS)=fG< 8բw<;G^-lQ̣A2(NvmՔ-xb$%qb1jLVf(OwKsLC݈e$ z4Iω|U@#I.$;5 I\gio=OD4hCQ&mZ Im׼T+N(>IZm&]^v:%1V: 햼R[;/!Mip4#𛔓mj}J rP G؜qmΤ sm#rwg"#Dr 21<ΑDwO,jjdS++'oF;/X+]k-P$1YV ڜ؉QK,knqW/;}#7<2*Rvu[^)mL^3ڴ"]^N<~tk%v{~o#5|,%[A})cOp21NꜸ+~CNc ; u'$f`TR]wɳu䬗ǬREyЦi&먋PPI<?Z!@= ewVT>ᄄOH#b ̹ -cG~-m b#s+U~k|hSo|HˢvBM^!iIv:&VC6EH"Z9?c`+SA>49!ORb{./?;Ө dhy/ 0Oj@/6 KV O %4]IRG6/-\XzIJWhtz}OF·&˦d:S 6><,f=>n^#q.!9)5ܚO*,:L Dfs$ 0Y`"5 ϜyC3,B-i0 v@?<&ԛbQ6G-aycXwwiohlm*ʒ4M[zУEq!6|yäL}e,Xo) m-+Oe`=h`1#ִ%e:z#U#)Wl)0Gp)*TjZɆA" Qi~URrfQWgQ:鼃].y pDB[Z:(h.o^tQod{s6e_ߧb7E# qvu3F7Lw 秫r8Lo_7f}bPt5Yg;Εm0 p)$Vc'{_uQEs]kMBۏxvROgWByM)ʠgm`mQƴ>ZźUvN(SNGLAtd&-vڼG|[Ag9xsx⧽b?kbp/U)_Ɵrۢ,|;W%c@Qu}IqnZ= (RBZho4u2c 0Ap=)N2_^>NX>Kt=IJ:C߳ߖ7kȕ2o:y;'nU}8z!N?6v_uzPt=?['Q FI?Zx>z;%?TU>ne>_vz%39#B%T|ejP #4(3H skjl;肈=rڶ`Yl3m s)nSn3g*ƓhEz߂ [TxJ ])oԑ,'sb8b= tf_04`呣QDQ}(hNSKOBh)=y~ՒAAm<ՍfpEm'"YFhTJP̖c'+4yGy=`5v !eX痎,F+fy٩ڭL%Yg컵/5T9R''.&8_6$36d($oNgp] JkZȎħŸKTq>jz "6R~48ِ%_7`v$K)k֤VeRҎR-Vg0,)(eCZ(3,oʣU!3\ɃI`Dzʾo𙗭5c,>!jnx Z.px٪/&_q8l֤hTdB(̺jUMx*/*k,'~(ĺH'_˦i3vdډOե $0#C٤RA1 5+i֒>x 2}?rH,܄e\!ĉNZW^VR@{e>nnm-)uyBa',)sP1=ٵXed+<9n:0-#vKChÛroXY&dmh"u<'Vڣ>;ʇk&^(ez 8lHg:g ÓJ2LŨNNKڨhtm`[YģA{Т@߸yŸL&$Ŀ,j)3w.^( + S LV(RY]Xӣ9͐Ǝ!*~*8BO̳ jmlo2Ku Ekdl#ٞ}irk]%*iRS' MB[L`U H]>{bT,5OI*]ȿxUQ >0)[V"ae?ƾ|؋ `T% (Sv5g7M֚afvǶ=@fSPy<#짧gzKP|#.(jd kZӯ,+5"a+U.@zw۾Yص66)"d5YW笾b殴v*ueڦ3uG+kwd#od+nXШCmfв'ұm._VW@j'.|6B_q#Njkwud*ˈY݀o=bm@Rqz ֔nf0O"YWU'iğϙi 9PDt6:3J &h Gb5XdîRuAy.z2~f >]#z"=eA&N$/!{jspBji 6u`a2AC<3C ѫlfn8$/p,r3ұ FoMd_sBv1F>aUic{}SG+ov\3"kdd^BV ~E9^L[gbT$%o⽢)Zt\uRtIKdb0,`\Vb+YW54^j"+ly%N 4g&Gn6aL{ B~׸b6V/ vmjĪj@3JGLXXv>k$,B_,A3 .{a']wnVe&0%xߎFxF/'<\HH EPs0rﮓ%?xpl]AϋWϲ(#V&f$⪰Ftnymt]H+;#}B_2];42Ik[q!z?~w}] f vg5Nk6р<-j"'۶&m035lg#/iwµu-/+nmÂگG 38n%ʰ>rL)kgS Ϧ?ߵ!̦Oin&Pxf>T [*Ts9D}oM)QjZ7NeF&@ 0.|rsP[O0Qv=l@ˁpnoSiSM|YꔾU5);Ö-ԋkCvP +&]f)e*0.bl Al5V8eԮe+gmOL:b K]Jx$cl\%Av5ju.M!;g⧡ HvI新-0Zyz ꠠYZp0u8oJonVIӐЯO،0O%RXLElsAc4d*WNy[obdMcPV7>20B9ႺH`}D8q3HLL |RIkԮ+3RYB-ulftd(0nFF0 $ 8珏i70!G5_^<޶zK%毽aQ7ٻ:۩ڤjEoj_爡x}~(5ܵe5OoY坌By) x}PL&`A}90<'Q."? 3ϰF*$nPV:ʕɨZM!+1 ma?ZB9%qtCIQ=Cܡ-#dKx%TH[wgXmZv{"\@$2#Cve89q{3i󻴷{irf.,9R .tg e&(Rd#*+2Crޚ mo RWu%:jׂP'5-9z+jDGu>)졕Zv0,\8 48. O  T6[`p׏7AbPbodnSaA !ef@Ŀ* Zj ŒDEk;ۘ:0~1aamm 8r&ĢvWI~!q)72&V17y͕XQTHbؘYc#2̿H_$Ho~ߠC)(*I#~`ȀW><`Eh@bH3TeG}Q&grwENW5P F=RE =92V7=@^|Daec3jKg52a!Bű2 (zqm %t}A@WUP@"a_m HA6ohl" {mYos*[ !!a|Dh2H #NM(Z*CKT"PW"HP /'юފNd4f4e5r2tt`e6j~|ܟ r5ͷ ~ʹGՒuW#O^ &<LEC3«cƉFH2sʮn0ļo$ ;{_y' w_kGξ`Pm:1p`<:V:(湏[T1TVX>&R51ϔ"ɉ-϶vdTI6|&Mٖq#T˼Zߒډj!o4jE 4-mpz[Z^~|(/-sL&`JĖ'R.,[B`o B~ _\?fw F<VU@3^P ۦ`* TPSF؂]jfjH&/aUkţ32&T4&I[о29_ P%12(P+d .?SWynSFHߩ: <%)"9_>x7/ @1q}G*hoRG!um 'uxlXU* 3ThE5llUֺBM 3*W滖d%:;2diSg~$9$TH9^3 yo޿csP4LB0'=!Ȩe9 |_LX< 8^',,?)2DpWApOrVDhwvdwwwV`b<|e|knBlmhud4t~mErc#+sQ)$ AIY`ttthr*=x~8IZRɽQyvH?;(i-4nWG4KHFze,MOl@n;i~lAS'Tc9K#Hl}? Q#6Ko ɀ~Dq&h_C ?_$Z-&.ß [ `0b@|}s~{m[3-ů_[cQCTdrS/~ fg1%H 96&;F@v1\"8DGB$?sjt@er@J/C=1I@]iDkJռx<yQnQP& Tt ;r͡N׌L/1T֦wX6ymj[߸r>{,G1u[~3 Pݦgy~Mܭ|c>ps46Sph ASE:~"b?%Gmn~räq.n I)QRz]sŷ}.u+ H?rt:M2܇"522Tɻx2\dmR'"1I[Qrg:|f>g6ElC>6vgk4Y\}&bD +n\[!W[4b Ty7xq;\xG 2Znʠh5G:)P25}_^l Zf$?@/d~\q<ŧƷͥ*<~%̯~ECx$ѫ7z1@vx/|Nz6  hAaZbl˫,PГ)u%l Cpe%\<צ>șhfMPipG]UB_f2xsΣqWǔE/Gy"\oK#?k[Z6&ȯ9yу/xbcvfR|D]{ΜO_EWxn6Ѐ"p:W2R6|aCФ@"3px]*/C0cS_|^Rg@q0_%"NVFbc~L@N&fW?4V$?)+G)VV% Vu{RBMVokmLm^1q$w06c2k3˅Z_W;b!k=䝬 I9Y8^e6N% VE}CWjI:b;8ڿdhfhldLv[T^H,kncO:W@407f|V)57bcC[:90p swt41"~Mo*q043w`xLIzOmi +wݒ#o ܤ^՞m~k*3{'G{nȯ~af&%K6NVvjwZl`ΡofNtu74&5%6&ƿ )>S5b e1 3;>?'韪cS"0  *H 01 0 +0a +7S0Q0, +7<<<Obsolete>>>0!0 +\G- {ƕ ;נ00m aLK$0  *H 0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Code Signing PCA0 081022224138Z 100122225138Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1 0 U MOPR10UMicrosoft Corporation0"0  *H 0 w@OXSVc t[n;]+U-P3QnLkf)ӹuH`MUp5&l˴$w-7M4J:$mz2?&ksr~ƻu"qC,/*~[:-]C~3XKP<@,g%o?*iw_hO$ Z.>u &X%ǶփU`XY=9-Eᓟ P~8˗{00U% 0 +0U#mcfAd°hH0U0U#0WEt]CT-2H0IUB0@0><:8http://crl.microsoft.com/pki/crl/products/CodeSigPCA.crl0M+A0?0=+01http://www.microsoft.com/pki/certs/CodeSigPCA.crt0  *H Sj`}߫5z~-f:6/=AedmJ3mRx\øni LQ7~9zPbGo6?ˎ;e 0:?bo9A7"PLAa92~ɑ/G7Aa44dqL;To.I\<\Y lH-XBXkodVs+ƽ/+ɨ{00 ai0  *H 0w1 0 UUS10U Washington10URedmond10U Microsoft Corporation1!0UMicrosoft Time-Stamp PCA0 070605220321Z 120605221321Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1'0%U nCipher DSE ESN:A5B0-CDE0-DC941%0#UMicrosoft Time-Stamp Service0"0  *H 0 Z4% q_[;7A$#Ůܦ#ʩ302j/!B &YPWqgsx@FZ(N T1ĐE(qˬ8ga_?*2os=|n68OU3Fz@ܥ#]+3O$H~3[/愷N\i<㲜 m|213Y]"NgK}T]I ~eqL}ƔmPZé00UtB='54g0U#0#4RFp @v+50TUM0K0IGEChttp://crl.microsoft.com/pki/crl/products/MicrosoftTimeStampPCA.crl0X+L0J0H+04It̑>N{@d[P9MS;^G[Zz.Fpk l cu00 ah40  *H 0_10 &,dcom10 &,d microsoft1-0+U$Microsoft Root Certificate Authority0 070403125309Z 210403130309Z0w1 0 UUS10U Washington10URedmond10U Microsoft Corporation1!0UMicrosoft Time-Stamp PCA0"0  *H 0 lH*|k.řQ#PN$ѧLt0 TIB\0&k{3$g,{N#SʍE ^аBlg(FS(F.'OUR ,j0nY0~֗!~SmREHJGf')fJG UxP0F#F-TxA1w̛;a "KT 00U00U#4RFp @v+50 U0 +70U#0`@V'%* SY䤡ca0_10 &,dcom10 &,d microsoft1-0+U$Microsoft Root Certificate AuthorityyJLsX.e0PUI0G0ECA?http://crl.microsoft.com/pki/crl/products/microsoftrootcert.crl0T+H0F0D+08http://www.microsoft.com/pki/certs/MicrosoftRootCert.crt0U% 0 +0  *H \D6鴭wyQM.tq[m ξ{.mbWN Pz@WXx;⾏ ȍHSOjՀ/*$"px. pNk r9g-Qb\? ?21Jv1=+r p=  a׸N5+^} B{Sr!0ʻxe\[ 3kir|_%D5( Րap-o,ݹ0qxȩg z ¼W?i00&Ԟ{ IERu{".VϩN< :ŭj"#l'~2y%B❅WY/-&)ųׅ`Z{{^4Km'Тѐ }|4lJDyh(" ,Ha#00 +70UWEt]CT-2H0 U0U00U#0`@V'%* SY䤡ca0_10 &,dcom10 &,d microsoft1-0+U$Microsoft Root Certificate AuthorityyJLsX.e0PUI0G0ECA?http://crl.microsoft.com/pki/crl/products/microsoftrootcert.crl0T+H0F0D+08http://www.microsoft.com/pki/certs/MicrosoftRootCert.crt0vU o0m0k +7/0^0\+0PNCopyright 2006 Microsoft Corporation.0U% 0 +0  *H 0 b9&a=ܬƙІ.2e^">ֆ趟ʋ;u >LdtIglfF:FBȑ7$AwO_R/>V[uSTie$%MPO "Y"t E{YL`xѺk~D@ҽKnU8HUz }۔/{kdO,4)] 8/ V1i΅ ֮8 nOL)) \\V#W &6Do阵sxDA"ő-I1 s V &}G ]F E@Ieįf="5ZCE'0 *H  1 000w1 0 UUS10U Washington10URedmond10U Microsoft Corporation1!0UMicrosoft Time-Stamp PCA ai0+]0 *H  1  *H 0 *H  1 090714132054Z0# *H  1 br@ cC0  *H  vޜs fH ~=}HJ$492Ҕ_!Uϊ+m]Oǥfv8pu* '`CNe" 8gy$K9V_0FS!X ZazMĎ3Ǒ"g",Bg56Y|*o7&"|zlh kl2?V*mp/!YKmr4"a;'@ۍ_^g.v_/0 !?PNJ>T=MZ@ !L!This program cannot be run in DOS mode. $#pABBBgMBBBgMCBgMABgM@BgMDBRichBPELjkG  c   x x "&@ .text  `.data@.rsrcx H@@lV:"ޜʜ|̡(rdT*Pj̢<̠ؠ\Ɲ؝ .>L^nžΞ2LhpƟ֟(>L`vN>,d؛Λz,<J\|NZdn@~bjkG#@'@ Z%s_%06u_GetClusterQuorumResourceGetNodeClusterStateCloseClusterOpenCluster\clusapi.dll\\.\?:Global\HotfixNoShutDown *** NtOpenProcessToken Failed RestorePrivilege(): Failed To Restore Privilege RestorePrivilege():Failed To Open Process TokenApplyPatchToFileAGetFilePatchSignatureAmspatcha.dlloptionspatchdll$shtdwn$.req_SFX_CAB_SHUTDOWN_REQUESTShutdownSystem: Failed InitiateSystemShutdown() Failed with error 0x%lx InitiateSystemShutdownExAadvapi32.dllFailed to Adjust ENABLE_PRIVILEGE Shutdown Initiated in Self Extractor WFP_IDLE_TRIGGERintegratepassivequietextractextract:.%03u.sysDecryptFileAruncommanddeleteverifycopy\..\deltastemp\ext%02x%sramdiskharddisk_sfx_manifest_cdtag.1_SFX_CAB_EXE_PARAMETERS_SFX_CAB_EXE_PACKAGE_SFX_CAB_EXE_PATHhKe_e  .>^~~ /?_ H(p'RSDS_-˴-A4ghsfxcab.pdb fUE S3ۅuW0VWu}upVW!|;wu z>_^[]̋U(EhPDžh txulr3@3M:̋UQ SV3SSSP SEPVh5  tf9uua=SdwnuUuS @hhh! =u?u% ^[̋U(SV5 W}jE։P 3ҹ@BRWhL"P!jPC u! =u?|+P ujPP Dž֋M_^[F9̋U, (EhPƅDžDž WOGGuV"P 5 h"Wօh"WօSht"W֋؅txhX"WօtfPjӅuWuNPtAPPPPPVu V[W ^_M7̋U,(S]VW"}fEEE?:\P] HHtHt\t3Sj_N3VVjVjhEP] ؃tVEPjEPVVhS t} t3S M_^[D7̋USVuWH@u}+8ȃz\t\BE p@u+Ƌu H˃_^[] ̋Uuj5x ]̋UVutV 95u%3^]̋U}E u ujPu +]̋U(EEVu Mu0F"W3j _0Au_FIE;sM^5̋U Vu tu uV5\!u: E"EEEPu ujVjh0 u uV@^ ̋SVWh` 5 t Pփ% t Pփ 5 1Ft(P u tt jjvӃf6;uˋ5  1Ft(P u tt jjvӃf6;uh` _^[̋UQQ} V} tE} =EtjPx!h(!5, }39ut`5$ h"VjV!E9uLEt;tjVEPj u uL;t!jP 33Vu5|!3@^̋UEV t u@WyAu+A_r34"u#"t F@u t t F@u3@^]3jZt 5 JuAr̋UUҋEM tVW133AJu_^] ̋U(S3ShjSjEEhP tVW= SQVQPׅ>92fMZuLSS@ ;@SPVPׅ9PEf9]9]}uj5x!;|SSu ;EbSPuVׅFM97ƉL8u9jY<"3u)Hr;wQPjt!@st, FA9uQA;Ӊz=! у;ȉSfHB>Rȉ;f\F@jf\AX+f_+fX+fF+fS+PSSSjVSSf_;É9Pj5x!;ÉSSPjVSSSS!u_PSSSjSS;Ét?9u7Pj5x!;t.SSVjSSV ! _^M[-/̋UQQSV ED3;t]jSSP Ep@:uSMQ+Ƌ5 !Pu5Dօt+"Wx@:uSUR+PQ5Dօ_t3Cu!^[̋UQDeV5 t PփD=t;jhjjjhh Dt#uDEt Pփ DE^̋UEEE V3+EUtHue!uEEPj(j!} h",;}Ett0PuEVPju!u| !3@!3^̋UQV39utSEPj(j!} hH#5VVVuVu!|u!3@h#u!3^33$̋U=D(EEVh#h#P+t)VQjPe*tPPh!VP Ph#P,P Xt%5 h#Phx#5XD֣@=D^u D6=@u @5M+̡XtP %XD6@5̋UEV3F8tuP$!u3E8tju P u3^]3̋U} vW]ÍEPuu u]̋UQW3WWh#!VVh#hWhjWjhV Ѓ trS3PEPWSRSdwn ![t9}uVh# !5   ^_̋UVuu =uXPhV@PhEPh 5\E!hEPP5t!duF=`th`,!%`V(!jhS.jjd5\p!%tj(̋U(SVh$3ۉEEShLDžHT8!h$;th`V4!V 9]th`h'!HP8PSjuhl$[3h\$ ;ÉPth@$P TS5$4!u3FJW= 9Ttuuu SLSTuu SSS( ;=[t!=tuh 5$4!u3FPh $hPPy= XPDžX׃\XPDžX@tlhP tVj\P!YYShjSjXhP tW0!W ;t j"_9Pt P 8P;} h#ƋM^[!'̋Uuj5x!uj]̋UVjhjjjhu uPUjj5V ^]̋UjEPuu u ujE]̋U}uGP9ErEMVu W=HȃE)PHH_^E]jEPuu u !uj̋U(VMu EEP3PPPPPPh j jEPMEEEEEE tEPj(tCF :t>3;.}u;9}v6]mEM􍷠 1 :G;}r] t tu_u+Ƌȋʃ}󤍸u MʃƄh@!tEM9ew=ǍP@u+ƒE? _C<-t\u&u W tWh E\F>uϋE_^] ̋U(S] VuEƍH@u+HWʃ󤍄x\_t\@uSP?^[tOP@!t=t9h\$ t%h %P tjQЅu 3@3MO ̋UH(SVWEEH%VPDž3hPSW9uPSj jh5h!PPhvhPjW\PPhBhPjW(tPPhh@%P!YYSSPPhhP SP؍#PP@;É hh PPtq8u8 t ؍#SQPP@hh PP]u!VW;h8%;É 5 hPSqd9uPSj jh5h!PPh7hPj PPhh@%P!YYSSPPh~hP SPP;Éuy unhWPPtQ8u8 uSQPhWPPuhP !h8%;ÉLh0%;É hPSO9uPSj jh5h!PPhYVPj>P!YkPVSSSSShGPD;Éum uZWPtIWP$!t7PVSSSSShGWDPW$!u9tKP!Y:u:tN:Ou FFGG:u3;t!h0%;ÉWZ(%WMhQjP%PPhh@%P!YYPP!j\P!YYF9uPSj jh5h!֋+ъ @:uP u?h!hP P uPhPP!RL!W{;Éh %#V;ÿ"tghQP:tQj=P!;YY|  @|:uP= |h%V@;tzhQjPtbPY PPhP0|j\P!;YYtP9uWSj jh5h!M_^[̋U(S38EEDžc:\ƅcƅcDžt x|tSShfPPPujvVWjEP, jhP tq5 WjPօtPWjPօt:WjPօt$SPjEP t t9u9thh hh  a:XhPPƅd ƅ\#P!5!$p%PօYYuhh%PօYYlPhPPPPPh :DžuWu&;rw;v,;r$w;vz39u h =t39w6r9s,9wr;s jZ9rw;r&9fw 9XhjVVP =!EPj tZPhd%S3ɊMȃ j^ t2D5Ph\%׃ F;rڀ=t3FVSt Džuu'9j utVhP%PSXPl lPXPT!lW%P3GWV.ujR399Shz>5jk5\p! ;tU8tPȍqAu+As+Њ @uSSWt Dž9t_^M[ h(9ujhau.h ̋U(SEEVu 3;W0~u3@P3fFP3fFP PPT PPPvX v 9u#;u h)SShjjPh!8t,PvW@jPh 9\t N;wPU|PB9u 9uh%v!YY[9HuW9tOh|%v!YYu;65PFV;YLujHH9u;vSj jhPh!PvhPhDžR u+hPt3@:u9t\SSPZShjSjh@P tSS65 WW\ SSSW։= j 3M_^[m ̋U DSVWj3ۿh`]=P 3F5`4  xSSV5` S;ã$ujY9TuGu h~9%=u h =u %SSSS֣,EPSShA9SS< ujj5,4!;u h95h!t,h!S5!5(5x!A5Sj jhP֡PShjj5Sjhjj59TuiSSh@EPSh|,hK,h<hX<h<h.,h;? MQWPE <9u S5!9T9hWh 5\!hhh 5\!WSj je5hSj jf5hSj ji5SShjj5EPShjj5j5!SShUSh"h@u^9u 99TWh|%hShjSjhW ErSP@ P@P;YLt6SMQ5PPu tP9Eu LHu 9H W 9Ht9t5Lc9|l9`9u5 Sj jh5֋5 !hh%h@h%5h% 8u+Vh5|D ;ÉE;rF|+Њ @:uЊ@:u+OOG:uȃjY3x@EfEEPxP5DžxDSj SSShSH 9u S5!EjPL4!EPuL u `}u]F?9u7S5!hWh 5\!h0WW5t!xL@u95hQQP&u ƣt h (9`th`,!`u(!̋UE;u t@ u8  @u3]̋UMtA< uAQ]3̋US] VuW Vt,>[uF t ~ @]up+Ht9}w3WFPS!S!_^[] ̋UE8[u@uu Po] ̋Uh(WjdMEEQPFtEVu M:utF:Au FFAAu3ɃtjdEPWyu^M_̋Uh(WjdMEEQP>tEVu M:utF:Au FFAAu3ɃtjdEPWu^M_y̋UEP/t8[u u R_u]̋USW33}s3EVu ;"t=t ,t GFu3CFt\;} wW3҅t"t u3 t$,t;t=t ~ B;Us!FuŅuG9} ju v3^_[]̋U3҃}s3(E Vu t t B;UsFu^] 3̋Uu ut u P]̋U8(S] VWEESPUj2EPjWtLDICtjXv(v(&VVVYY3^]̋U]l̋UVuV|VVO.^]̋UEMVu+D+EV +su V.} E 3@ M +3^]̋UEVu.E.E.E.E .E$.E(.E HȉFNu Vu3 V3@^]$̋USVuVWjƆ._.Ȋ%3C;.rށR.Y3Ʌ_^[]̋UVut P.&Y^]̋UU.V;W|ƋS3 ˃.;[|Ƌȋ3+΃j>Y3 j>Y3-_^]̋UE3A3҉H HH.+......]̋UE.]̋U(MU S]E .VWp}Ef}f.\]B.:u.B;s-.;s+lj ;w2].Ë} .uf_^M[ ̋UQS]VW3}..98t3jS8tjSjS Ɖ...u(.t+;+sAS.jSjS.jSjSƃ...uS.ttu SuS. ;|ȋ +ȃj>Y -Sǃ.3g9} ~j.;u |u ;t..u VPS!u VPS u VPS;D).)u u9.9.u ǃ.9} u S?9} !.;uC+E9M}MPQSE_^[̋UM.tA+Vp;+w.3ҊpWx@Ɓ.+  Љ._^]̋U]̋UEM (.Ӡ..W.V+;+r ǀ.jS3ۊ~3Ɋʀى+. ߄҉.;;+r ǀ.'3ۊ~3Ɋʊى+ ..[^_]̋UEV.j Yu +M P$^]̋UEM+SVu W<;މ] }$;+s3A;}'FB;|ߋ] ;+E } "QЊC;] rA#Ɖ.+_^[] ̋UE++;+r3=SVWjp _+Y3ҊqQ   щ+Ou_3^@[]̋U..M+M+SVu MM;WEuM3Fs\J.3ۅ}G }ۅt| s>< s <3ۉ.|.uFM9MK e*E'u3ɊnEM 3ɊȋE EEE+yM21r2AMM;s J ǂ.3}Ku߅tt?s>#!4?s <# 3ǂ.|.uBM9M] e*E#u3ɊnEM 3ɊȋE EE.~zu%j Y+Ȋ%(Ee}I3ȋEh3ɊME EE@@}E3ɊhE3ɊM EE4(&3FBBB BÍL 1tB r MGG+΋#ru0} Z؊03FAOuъEM;MV.E.E+_^[̋UU..S+E +VuEE ;WM]u3FM=s|B.3}}IE ߅MtD?= s>?= s <3.m|}.H;]? E e*ME %3Ɋk M3ɊȋE EE CC]E my E UUU@}Ms J.3}I߅Mtt?s>#!4?s <# 3ǂ.|.u=;]S e*E !3Ɋk M3ɊȋE ECCE ].M~xuE%j Y+ȋE%(E e} >3c3ɊM E  ECC} ]3c3ɊM  ECCE ]E4(&54&BBB BD 0tJ r E G+G#J2@AO]3F;EE jM .M.J#+E쉚+._^[ ̋UUVu ;})+;E|EPV+u}.E uVR^] ̋U.ME+EEE SV.;W+EU=s \B3@ 3@.3ۅ}HE ۅu tL s>  s <3ۉ.m |.;} 3ɊM* uɈM3gي EGGE+yMErAMpÃEE;s B ǂ.3E}Nu؅tts>#!4s <# 3ǂ.|E􃺼.u=;} e3ɊM* ɈM3gي EGGEE.E6ۊ%MNj#Y+΋u;}z3Ɋ%*%Ee}3g3ɊM EGGEE (&4M;} M 4eM 4(M}3ۊ3ɊM ]GGEu X3띄tMuj Y+M;}%e(E}3g3ɊM EGGE4(&E3FJJJ JˍL 1tZ r ]@@+ΉMM#Ju 1 } ru CEH׉];MuE.E.+_^[̋UU.ME .E+ESEE ;VW+M!E3A=sDB.3}G ]؅t\ s> s <3.|.u5;} (M e} 3ۊ3ɊM  ]GGE +ƉEyu ME 1P؃]M;s J ǂ.3ۅ}Kuۅtts>#!4s <# 3ǂ.|.u:;} e(E } 3g3ɊM  EGGE E]<5%MNj#Y+΋u;}v3Ɋ%e*%M } 3ۊ3ɊM  ]GGE ](&4E;} E44(E e} 3g3ɊM  EGGE uZ3렄tKuj Y+M;}%(M e} 3ۊ3ɊM  ]GGE 4(&]4(&BBB BȍL 1tB r M +#JuCCΉMM E MAKۉME ;EM .M.J#+E쉺+._^[ ̋UUVu ;}<+;E|EPV|uǂ. "+u}.E uVR^] ̋UEW +t8M Vuʃ󤃸.^t.s R +P4_] ̋U(VEEW 3jWD5F|.t3S(P(PjEPjW39u.3A=s fE(.3f}Fۅ.t\^sf*^s f(3ۉ.f|fs&f|!.DPW|3A..fuHjWЃ2;E|U+օ~# ʋ<03˃󪋽N~fujWЃf@QW؃3;E|]+ދ.3A=sfE(f$ $.f$}nDž$.$tT^s#f*^sf(f$ $.ѭf$|f$s,f$|".$DPW..uzE $+jYK;u 0FE +jY 0F;u{39.[M_^ 3̋UVuW W+Phu3 P,P.Pt. ;}<QNQj WPVtS S-PWEt<#PPjSWVc[_^]̋USVuW3ۍ4jV=C|.t3 PWV#_^[]̋UVWj3Yd339u vE`A;M r3Bu‹`jY+|@|v}t19uu%M}ȋ3΃r3kuS*];‰ur%~ˍT*3B@O;Ɖ\vwjY+3B@I\vTˋ]Mt 3@:Ew;M3@;;s#E{+ϋffË]fZM*EMESM3f92uEftf4EEf+f;}AAMufEfE@;E E33@[_^3̋U\(S] VuWjZE3}]uDEfAJujY3jfEZf|ff|If|@@Ju3f9EjYjZfl 3GI@@Jf|ujYj EZ3GIf8@@Juj 3YEEtXLf3ftffMwSf;s0+ȊE؊}fË]ʃMf1E}r3@M_^[r 3Ěp!8 t< rh!,̣!l֣4 \!lV:"ޜʜ|̡(rdT*Pj̢<̠ؠ\Ɲ؝ .>L^nžΞ2LhpƟ֟(>L`vN>,d؛Λz,<J\|NZdn@~*_vsnprintf_snprintfsprintf strchr_strnicmp_stricmpstrrchr_strlwrstrstrstrncpy_c_exit_exitO_XcptFilter_cexitexits__initenvr__getmainargsB_initterm__setusermatherr_adjust_fdiv__p__commode__p__fmode__set_app_type_except_handler3msvcrt.dll_controlfp6InitiateSystemShutdownAGetLengthSidGetTokenInformationOpenProcessTokenAllocateAndInitializeSidCryptReleaseContextCryptGenRandomCryptAcquireContextA:SetSecurityDescriptorDaclAddAccessAllowedAce3InitializeAcl4InitializeSecurityDescriptorADVAPI32.dllGetVersionExAReadFileSetFilePointeroMoveFileExARemoveDirectoryAqGetLastErrorKCreateDirectoryAGetTickCountSetErrorModeFreeLibraryGetProcAddressRLoadLibraryAGetSystemDirectoryA4CloseHandleDeviceIoControlSCreateFileASGetDriveTypeAHeapFreeFormatMessageAQLeaveCriticalSectionDeleteFileAEnterCriticalSection_TerminateProcessWaitForMultipleObjectsPCreateEventWSetEventWSleepSetEnvironmentVariableAXGetEnvironmentVariableAWideCharToMultiByteHeapAlloc)SetLastErrorWriteFilenMoveFileAExitProcessDeleteCriticalSectionFlushFileBuffersWaitForSingleObject}OpenEventABGetCurrentProcess^GetFileAttributesAGetCommandLineA}GetModuleFileNameAFindCloseFindNextFileAFindFirstFileACCopyFileASetFileAttributesA\SystemTimeToFileTimeGetSystemTimeMGetDiskFreeSpaceAQueryDosDeviceA@GetCurrentDirectoryASetEndOfFile SetFileTimeZLocalFileTimeToFileTimeDosDateTimeToFileTimeZGetExitCodeProcessfCreateProcessAExpandEnvironmentStringsAcGetFileSizeoCreateThreadOCreateEventAGetProcessHeap$InitializeCriticalSectionAndSpinCountQueryPerformanceCounterFGetCurrentThreadIdCGetCurrentProcessIdGetSystemTimeAsFileTimeoUnhandledExceptionFilterKSetUnhandledExceptionFilterKERNEL32.dllLoadStringAEndDialogfSetParentMessageBoxADialogBoxParamA;SendMessageA6SendDlgItemMessageAShowWindowUSER32.dllNtCloseNtAdjustPrivilegesTokenNtOpenProcessToken~NtShutdownSystemntdll.dllCOMCTL32.dllSHGetPathFromIDListAySHBrowseForFolderASHELL32.dll =D@(H`dxk     xx4VS_VERSION_INFO?StringFileInfo040904B0LCompanyNameMicrosoft CorporationXFileDescriptionSelf-Extracting CabinetVFileVersion6.3.0015.0 built by: dnsrv6 InternalNameSFXCAB.EXE.LegalCopyright Microsoft Corporation. All rights reserved.> OriginalFilenameSFXCAB.EXEj%ProductNameMicrosoft Windows Operating System: ProductVersion6.3.0015.0DVarFileInfo$Translation  Ȑ<Extracting FilesMS Shell DlgP :eVerifying File:P:fPC hPCiP( jmsctls_progress32 ȐDMS Shell DlgP gP  lP0(OkPP0(CancelP0(mBrowse...File is corruptExtraction CompleteExtraction FailedExtracting File:$Choose Directory For Extracted Files To Directory:JSetup was unable to shutdown system. Please shutdown your system manually.\Unable to find a volume for file extraction. Please verify that you have proper permissions.CUnable to find a volume with enough disk space for file extraction.MSCF=,Z. Bi9 spmsg.dllB B: winusb.dll  i9 spuninst.exe f@ i9 spupdsvc.exe`r:f winusb.sys :2 update\winusb0200.cat fi9 update\spcustom.dll i9 update\updspapi.dll W i9 `update\update.exe @:) update\update_2k.infD:) update\update_srv03.inf#:) update\update_xp.inf<:) update\updatebr.inf<:02 update\update.verx6[N1P$_]wUWQ߅NB_>Qw0Xd~BS_a~ 343Pm/AW@6tvbƐ$FvIj):k{c4LcݔnYc[k۴K74IӨ4 `3mn9fln" ? F$<pQB#<&Ԯ mh8? V> (|,9̡9渃rL7-Q(Z i?9~LkIz_AJbAD\$ՂWD0x sz 7 PWM 厀zǙ,JrqhqBҪQ< !!!IyCv @}CnF%I B_ ihS,OQo<4I0& U@a^Tkxa8}Z-\8R >*1ќD`C6}RKaX xG>JGH,hp3A8<&-Hjw 4c-ty̋wr|Iss fV]ʙU91,c:P< K;$ԏ )Q}K4͚nYd0MyrSRLBpcb2/0C?'"jxo8?cآstilgp|šR&cYݿ =#NCV!OaF#SzcM@MbE?dp8Q|t֜fÓzo[;d}w”D>upBحDF1} YBzə OaT>Gǂ6G Og .vG^n(WBnND# :duy\6O5.Ud}&>-Qmippݖ6G586E"U8D rٹS*z=R4飲]H{!<~~[vÃVXzB>{C+Yla3@M( ܶǐ9?Kz!> I|>\wrݴuq4&)' e=~hAg IeQjs{nv\H{ڴh{/[VE:S>k;r> y^~6k"(4>SgkVxHf1~^a" N,0TKL3Rb9HJY@:EYʯ|>ZWqzEFh͊[Q~n4e*곖Q}>:iW/LӫLnjˬ:S]95u.$`kz9ijYX5T~owk7MJLN>ϟOB L;fYQ|Q|ON*\-)JFohmVx 2͍& VQ _lT=Cil?O7wPrH.|s&QmbRzo3Ӫv$:%[Z󺸩uW'$m1\;O-(3%T Ӹalfe9GHc;b dWYGwz>aQl3m~R;Ϟ&݃Zb.#Ս^`vұU`sś١`lnY- ǴY>v޶zsrc30݄j e$CrTbha@zvꟴ`XLYUÒjRuppįI=rYXX+%@u@]+7?/-RmcaZn;2>卡w迼0(悈[>;:VU dxX'{Bcfa9T*I2^5sXڰ2t[@ÆcUlp(z*dHr0ܹqꏌ:̎^ԇ[@uC]^1E]Wݖ*clu ˭v2 ^'Xžj xjMۻ:|!mQl )M9vN*֋virIU폋Z--]B8)rѣ:/K-SߥmvS8=BeDX(Ͳ Vei:WnEvΕuLS*Y^sih,4вkWɽ~_ԛC;$W!'jIZ˸~Ψ++kej2v6үА&yZsKgH=3<ީV^ΟWe! VʩUF:5w9K'}FAftoNsQj=ݨ0c;a[ ʯNnѫxOdEzhw>EZS`ڱMj 96 sd1)wʜ:*AGٵsTy?nt¨3ΆVdzz&>j_*uSXUlyvݍ %3E6Oq̧6g#Eң AX*qϛ5FmN.iKKza\s=Mk('u*vi*>GNϋFPfD&T61V|Y$ZkUlv;S DォcϚJ' 9+`4WSd響ʂЯp*uE ~wVL:xTqnpԁS(k@VK-Uq+YiD҈{[7 0ڕ2(1<1E L3}=lGA]K: nj"ά^XLAj ›G~1,g96x~gMWY곕=-dZ9^28ڙP :B 'KmbШHy;t"`0+F6L)OkU)6RjȄߗY-&yUQ&lffVUJŴ'4S.Laf΋ !:CҪ3roEAPdb-0y z5E''۶#Uf>փ*$܁@ $j9gh ;gؗtrl3C% &Z_R@A 6oay脹,(x70j p S9t㻜{!S(тO!k,F*V!j)ʔ%ֲoe2"c}P5*-b'wr.Dwzw[{ŝW٩)0QZ2ߍ/Δ6냒/lV0:01X͎ٕM=aSm&oH9rnxnR 5 jWhvC1]ύo)o[c=eDPEiwpMP;\%u fL>õպj涊AI[bDXSz%\ƿGj#~()s<"DC KLLKKLML˂5,VYmh'2uRYmYTi/( Bkem M~3C+h+eIM*O#3(F¨\ZV8qx# QMoY0œVw:(jdu޶9Hf z)i:y.4Sê@R n G 8k8QTu r)ߨ ' lk,<#,f=j9nT*H9v9M֩6qUw Qi5SPWQ~h2ֈO1?ǘ>Rb{qAXZ;(O¿w_JBmSP4Эp#p F|iNN_+`e렏./%I).Z'JV8KSv1An'&sQ|f†$TolߝJ$;WkkJP}qi +G>r޹I窦s2oMWӪL\GluN+~7w5N){)~O7@m~rM\kp6~ϡqhJ:37/> ;C &wk7C2ر];GrP@$Iy;~0}_&:Efmè9/06J|M,J5-F==!Vmh~T8{>0,Q,@\R^>u0g* DqB[RQ'4];o9>x*]Eщaz`[vcpj8HOuTG;}DIN@QQ8:& ]۟f!^2 f؇sΘsԣ]=*,/h|29R칥}kXܟ3~!d]x]i3d+㽹>t8 aUf5)5 $ GY1ZSvE3CC7YO fO=Y #ٲ (&J@2% %!FICo\dȖ c~ 7HmcDhmmŨ<uy5zds0>@ CBP.iP$$ @({a+X}!2raZM>3yaSrٌ2La" hE/:/0 L!?S2S&eQXqz^%H@ۀZ(!$|n>FRF3wdS+X@fc ч}{\O;n)6qϬӨK b ]a7>WhI4Y5ǂ/ށPz6<}ɚ)8M<  ᠮ59;tD1c7E1!1~ A_,k[ r캇@P 66rIn{Z1Axٕ*z ŌibO*:hC*c3@9 ID٬em6Z3dzIZTxCUlka`axgQ^>Zb4H1`݃ iG4hb7}T^BV@Hp}4Yzc6Tca'KF2l7c }rɋ!# /˵tӜEnܫ,}Y.wT O޾{.tx#R d!+tI=UtqE#-^#JyhT$nγDTۿ䌊pid~\.1Vmg༟,x-U5u+;;TP"Li}?sn,̚wSj9z ;bkKP۠z*4O|ӣL%CzI&6zԕF ;켟=tj嘅%\#Hk 2CIGAҼO}Z$H.ٌ~G06ŁsPq7ɃLvo!Am 8׫ =ؘR8 /#G?F+\|R庐3;^O3#bS$+ {d\b@Ftids* ( )S ziGTO3.BrMfwbiNiOo;u䖸(tDVDn3EA b]LkEŕz/؋YH dP%8 Pn.ַ!! βjzds3!2:D5 ~AٙљkB@]';?-f"!EgT/qIB_e{ԅdDE X'ږ<2(@"b o_[ (RMaGA0]zԦ( `.8R2m@m t,: lxTubF81v%Eu@?P`/ &_ȓkmj.ڍ4:ZiT 4]da3-3'b@^5$>X1M&$l1ThϋElGqA^e8P]ڡƼK<#f @"xG M0p(X'ktdq:eNt'x<#߉ *lWSX~41xQ32eY*ywӼV1%3!0q0TӞ=/epJ-&+0a~,x=Ĕ:E*boLud(&#d6k #j! to>ƿ#w뗱JJ^dD}!>f=~6qCDm!hjBM4l77G hP7Y%%v]>xJى57A plɍ ~$#^O"k8t_S +{-擯[5S>FAϕv}̤MG:q 3&ЮtSR63 <1jE#Qdduw9t~#gK >F438k|q|쿩@<(hOUTB- B~!I^H:B;=y&~6ؼ!ϙz4= 󙖈z/8!@i :, v D0;X)tǁ\oSFg֭UnA?h;lbBnСCmvvbPD*ǏF~V4 $0DP}#|MTaVBz A!$iź~ &1(֍,^PtO  X`6a:M\ 84VkOˌ.lQ fzlr85(PTEqb*$Tj55`/D` 1s[|SevYLL1%)iGb](qXnX@olqm8BoQkH8E(s݀V_@ 4i'Q % ?F;2Qgģ9|9㰗)_\''#2hMx#3hZ*W(Q6yp3ȫ'mtzK;湒I1EELQbGă%.k<1+(H@~ #Q0"B(UAv`P% & @p:z@ P6'NJI\Y\ΩLvUmyp)߱U8975qBaدuMn,YntU>3>sYږYT{ /RҖh#Rqhfْʙ$\}:U:{墋$Z >,78=c=IvmOdÈ#<%|Ѓl};圴?ׁkMxN`]p{!]vowdVIXĭdrHvۀ ;m?Χi D,`c_1 ̒}52gɒIH#k4Y #eI% c@> "2YЌ ߍc` CьUY֡:{ٳGͱ f;}C=Aی,nZ F, #$ -BeKy4yoKI̫5̛fМo~0p<_8 98UB ޿2fZ^4/F'\;9wV6ҵ~c6 fݿfH\kjyG-w?1?kY>Xoi[ϟXֵ~Y1e//G7|q~b7eVV+dֿwQKl;,yŴx7-x}GY-Yx[l7(|h>[ׯ]TݽfͼfK)sx_7{V3tfH3B+g⏞kr'.,?o4޿waa!Qn eo\`[N{VDlX]#u߼oXy 5~۞mRz<&kHP墦hVzꗮ7'6Ļ.{=/jǵ^*׫ٚW_uW%/E U`dL ?XFX+8`tX>LYas޶wlkVaXe}܇xX e11+bX؆-/Fb4[ڮ]__Wjx`5i7xþAo7XRX^XbXkXqU7h, V[|5Tr:(Z8-Z[ZZRY[l[E-{z抹Z%6s, eF.Ļ񮺋b^=޼zcm^*z{2^.]_Wi`8`{zK0-%lA zls@ \ʱ ,_pP̃p P2|pփi_5~0>@^݃|  -r ^H X8S{-aczQ^,{`d0OgP<xe;h۠f!pgMZ,io C̲ 05`iW{O=6`l:`{{p dĥ<+p񻼡ߨ08}Vz r> g4o@ؠ* pP7oAƅKo{`Yn`o+݄#>km6Hַ =8q` |ij< L .\8, sZA6zzo@Yh,vOgR>Nm=f||=+;H ij 7 6^c-C 4=b dtɋw¬ !w 0xb7} X65fL]n\SG3vSn-"B0޶FEҬoHbǤ̸^plϷ}ܠ~ܷt f,T59#=HZ ) k)#9\ĸ=!? ֠GLCӡi<* .wMwm4> qC9, qDT.C]zæ)/09q5$Yq6<D ,-?;ksTor2#随p>@$7WWi;8 jcN6z~jtݶD'CN(%mMuNe˖CK:xy GI(GDs|>ZN‡ !c7T.$7w4cWFŋÇ!@7׺O.Mḃ{ăչH9yx4O;zagGB~>pQW]#&MiL:WE3NJrM|b=3ᆪ%18xr==44p?CN.r:} ՖpDJKAJHkr0z8} 8:4ΝZsLK_ I(C:M&B7!9$Q,w+%5٘~9qg1BNMWA&/%"tqI9# ʜ4xsIJ|5^SgWS.bbrl^l 1t>LJ '%̓&NLZouͯrsSK?R;~1B բ711Z=Hїͱ@ E_84cz$9K)x\խk"FU}eb-hiCt?;?F,FAv`#[a,2nRyvTG<h',dNwٟ6vY8rwe`]i=e o'6$GC!*o)r(M~rTp;_M+s/NPMz=e<Y&O@r?2^Bu6^Gt2;DE֠9=T}6~/cžud)I#far ? w6&}qt TT_"SA7.ΑA\<8 |26)Ifg S9ht8RsM}N 1r"ğ詓u* I2nw枃g}2 =hi!;(8`Yo>o7pKQDq&t[u5u/UԶf'ƞԛ:ƤJ^н <C: 4i=:Qs 3 YPr`W9E*)|| 12m 8b*GΓ4'LdVC\0WkoOȁI|н;bǏh]?[9䇰za2 wGB Lf= ^xr\g۷ M@S)β):IuY$"«vPhO?V lv.f&$Qc^Ŗ,evœfBr%԰uB3(Οd>~Kti':Q{ 샶ޤA18.9z4 OlKrct>0`^1 ֯+V##úQ Fj:Dzeyef|öH/ߙA)AH*)~Il;k mR>h_2c556,(E..иf3CP^}T˿sۧhj*RQ~R|{vR( Tq{GTla:2!W%yUw#K%]piEѢ㫆O^1=DmrsM 9܉pwT1]:ҭoۡATPi>}+( {7ʽw?LJ;I"0Fe"yF<yGqބѶ|{Q/p۷%sSΐz":E|i eQ4QD#ɓ80妒6 {bg'R^ul(8ep/ mIne%&ke1ѐilYnO3}֦0D㡷-/F/TD;o<k,nw<1HAbYrE"֓@\Df8)hE-FX8<("CuW>{]~ׁA G5AKzau/Yl0ŐŋxI;_h |uuJu!-vbN܇(o*\e V"*;xLH}lJs 8Os)$3C$D SC9:m,]baЭ52 !1g Ig"/d! gx&>p!MC?Ij|2uX6 zyޢjl^.S 7̽SݔliĿhӄ|rU}ԏȽv:5esa{2vD·J5owfA"}Ra8.Vj:i1 Css(~@FXE}lPN=פƥc%@, Ulnqfɂ2f6MEfsU;jҟ٫-I{xEAos|4dub7`S.?b5P3RJ`qmu 3b/V C 2 8Ec3vLeunoZ݁(F]PFtpRBy ;c瘙]<1aE-Ȉ3 +wOw`Nj7µx;a+s)+XԛOY$IsҍR]?Aju7ax3ؙt'&qaAE)J476ġqV^J}'R׆JJXD(')g^po:+r퓒c2@lg hQI0"'Y^Ӻf`te2'vWX3jNN c~YaюC}n 5Tvjpug%r6M'0.d^Q7mOB 3'G*}!kъOOʼnWɓ)Wg+aSqQrw( C/%Ԍpߩ?T"t肵.% N뵙G iY5?X4L=&1X. M46I ǯ9y nȕHajfK9O)R6NX OzRV:.JXh@O9K!aCL#EU>DBkZSS@6}$Z/"mɥ=7mJJAOz 6 [|6GN(ϨNSxBxjt$b dfm^D:aqvũxٗV`)O6}2qFYǞ:0OG2۔Bo)Q!]|+AST9R3[s4CLc>R*ڱKӌKtD&ue)Ark V0vcžP;5wwR2GoZJ:~,J}e x^? ޼7]O.:Ԓ;Hn/-ݎ8Z#ătYu/:ޟ%"8pOÍTG$e\R4׈?Sio4i߹pk~({Ká%3UaS(+] va^8ֻ~:1d/wՃ3+xxD.)7H)S;QtH(E4 u/?IEd'y8"z) Oh<քy<׸dd3G.QSh(Vwe~7>]R͡!fF7n$_~5#bH/uL"{P"Yre\DMG$Lz}ex%b*t_A:n{Kx%|_v{7jH%o,d1aw徳W͵)mԹ{. KQlnp(Ң2h|_eG_&fdl8 .8$砋sרP)SB| "h,":W=Kn0f-@XlCl@c 2O;vЇ.j[i3}2*7j7"oI>+5L7-%@GmGu_o:)|U@ːkW31eIgD(M",$+E*Q>ZO5(iۡxr#T(S{1AH5G 䫥n.x.oHVTtKz|OªSEdMf,񭦿)a&?sZW9 J ֞cQtPk}&:n\ewA70`ԝFYUV䇍AЏ(婆PWH*0؇s(+cD.n_Ш_O`\;/ۢͲujS X'"0; Gl73 &Uzb)7)t!!9wAxD 5h3XIhKv>x|)^9iP˪ۙ`\ecd{5v A{ 2R\+.;wp:GEФnbnd.Ij*9vƹNHu6@Dd;'¨`y7dH{(Y]u0]W'!G햕e#D8e,y.).F ^g_l@#U*ρ(*mwc+"EM[ɧYNq5%k? r#\) s]"k5k$F^^"[^WWȴb=ב_Vlfun/IjnB5v<êΟ`B玞<\,]9s.4Pp5պU2!OOY)l6XKTjSe l Sv(w/vԏѼ͖cSrB&WFt }\=wC;/LQV5.:6a1Gz<8L`r\ZHe~|γ϶Vm&||~ dܟe>G<'h̹\(c&ƶJGrmnQ)$:HaW_ՓKyD@KI^[Q&,Fk9?G{UyEܜB*3/OwS+L)|T ̓,cKg/K\W^J(%||*mxT z.h]o|?zT8bKdAe U1?=9oH8w24vV9I3^8Ѩ|6]7ӆ([)7`0i%{{ySl ;?iׇPNZ.EggmAB ӘV ү{,吇2玐}ek m~# DH\$9[ H7{}jmq)\%D:6)UIJX5Uh;-/Ѿ: ]iA1 d2?C$*bsS1)h`9`G,.l X?GDtDbuU|r.Vr*r,*OWgy<{4QgkKieN{ >OhuÑǘ#гr '7R%̔=1pEY聻vE4: 2\^U}A(KuǃW|/N% \ʎӋ۽@a~,hvdV J:#%UDLɎb#Jt ^GP E40|>41 P⡖6I0XLIHv~? Gf& =s E-|vq{&#sZ؇}4r }.! Ih8/K, -H˻ѡ5yo!Q"hD&'ݣV;xh7.WR2M|FB[[V s{G= {\LQT{Bu.KJ*ښ:ڲ*> yp#WL4X) v!5$+a⠤WP*Q1Gw>+C|:ϱlԪ1XӾ#ZKK/ɆUDhK0h7PRl@1Σs;WA;Q!YeGT'eT ׬wR_/eʪ8eĝ#Q>_2ZL:fsO|D(gV_C*-\QX:H$I;{7!] Z< h3sASVd\B,GJX=vzG0K^% tGC' p*1_1LekסH:^'Zr嗥(:>aj!)$N+{~ )&IC"QϊRY `<" (LϜe"sAգxwsed̄RiR~R|8ʏӎ*6(atnY#@HLC F7 >NaTvԊ#Q:٫6P>MȾZSXG5;%*UŃzN;~3!3ݯsq9N;=pY!9TH'3.ݜĒiEH3e3KDVc7& NA[">*h֚KNѩ>!U˘{PE订Dm/~X esutw;{Tc !pЙ/u]YOTΌ.@jb|UᄒNxGU4{]HRFj.\;} T{P; )l655." }J $e*oLBttP9$=׷1Kv^ GqzIP^wu[>y{{4)8#װoF5d%HJ_XOƈZߐ8w^胹c "WOEn`~&Q5N5DBU@nAXN~X2@爐֞֊dR72atYu 'OM8zK#Сnsa>StzwemBjDu>dJPX|?x_kDI֤r\KXVk ^҈Z[ 3m͢giI"tĮCa2@水":Rk'1Rt!C;%^~%Sa YzgeQGi䭾ZU]/7LL$ȃp4,ES@͸)ts‰՞9|j澴kÓX_?0y/c\r;4z)Z6obѾLTQ*T߾XL*wﯲϥV>横}uЦc&(,G))x:#!O~jJҪwJ5(r|^o$:Nj=퉤L#T=L~*HF_oeȣ .6:e#Z?L(G%V\ke%܉Ԉ(pv j[TVjt{ q;(-CG~L_J96[pՠrgjHYH.AuGN[IZT :[?hЇzA>}"tSdx[}ߙ5riڵyvV{ror=Ra H ĻȖ~׼jV|<7㲝T\_mW.Ŀ \*Uɉ"=ؑxZE-jqƧXޕ;GoPTqdTOƦQ2Ϩ?"CJ3Hx3DvQ)!9$iV*իD|Q=>GQո8gKѬF._kQT?9)w%~OH}\g^jbYՑR~3|FLJ{K =.7 wWSO^k|lLujx[h-釻m#fdΔ/ }fdS~dU}NvmW8ᴭ+}#Nk._Sb*.;k 2Ho2~vmG}soLϾڔ~4PPùֶ ]:t{(pXO󓲿9wR#| wɛxc]T^7~Z>uT}(u5l>Q4DzFƷTŚ|>ʅqq7Mf0j#vEJFU^']J_q"TCJIYVWŃr§ (ZK8ޝ_GQ)Si{7dj r[| jaiKtkȇ"Gp"_}'= £ B]XJC𔙔%g5 hJp'{(#@s&P)0_gHQJQlO ԙ›6~^h4%jN0f"nTO7m(DU-$E@Ol!EEM ie)G%qVA mmH(+TFgʢ ˫IJ<5^${8_u\#άd$̒/`̈[Q SUJ8IE@+`_pݬrC YTyfaɲ$EB^~5&'(}&-HB!P=ۏOmVW/9 ?;AsD7Aa <:a\dFoUu@ov 6iI.Oi9FE;cHZQ'% 12ײt|@Ӳb[NT1κe:Y벰lbeZ)6M.PQpVٱg:hDЮLg~(Y3s wU gb=TxSXF fZsFjA?_p FpCژtCmemjAC{Gri-_;r'=&ޟAXإ*uI;^EB59Lǜv̥Z_xB6ڏMv 0; PoWhUз`:_*z_$ҦN,PUX4 Z_کo<׫75k ;$髎_4h D2bq}&w\ =Hr",2ٰ+?S.Z >e$hj|#N/SI+NgԊ5}@m4AS{JxH b˴+[ y&@L(q"+N۳veƓ%5[I:3_A[h7I[rw O^KKQ-dME /b $劓@d~0DIo6SN/9Iú>+*< V튋B˚_Dpcc~7fDgHAI=?ĖRaBGOLQ\毡X.v99+f/\jvN'EYոR=X R+Xjyg'j%e).$ *$,ʠZj[fbYj'ԥ*WZ*U;6 D6c"' }/D:ns^ rGcn=lº`*;h/[&t1NUā0>o(N.1^ߋnѝuץΘJ4k~ & jFY$gx@Px{#uPut1){BI'B;aQ"f6bR_>: t3(zR0mvÜٓ ,"ݕ:c=`xLu.v 1{**3fxWpxȱR@Pz;'q\H01Ɖo{cyp ue]:-A$e+nVbeZ'!.3LHx18Gўw؋In;(qsϵ/mBT2.Y$vD#*rkș)Լb WuęYA gVr.g]b/ZJQ]j΀ tOڷ3auN2ԭ+d’L8%l?͵c`6q@b .됑P AYQ*c]0X?8CZNUMN<ôf8M!İ XLրnrus:MYf_ΦI%pEFZ d49mbz^mbVJݡf%NyZ>4lav HR܄RwcDipDZzD*(V"&mNqt3S`q3%PX,Z?̛rL=rҍpΜǓHb2ol%e%Wve;Xn Sx:Mc9b Tf53.wOĚTj^>BKQ8j25#kN!au"Dv8\ޅ gKQO^^gäݾDDم:@k6;]ZfZ{jeɹ XCk/&F "0Vֺ[LhzPFOibUY%\R?QiN1Ĩ8ʽXⓑOHNbXCP1R}NC|K-U3b`(nb|LRb^ ͩ.2umo[CU/ ^ D^1VQun&(lfՍJEG^tSl\,ժlV`M8ʮ0QW@xt@ 2e%kew^%Oo;T;B3Rz>3|jQّ.r/'<} 3%l5Z+wc 1wbYo=Q;#X”"]{+M܋6)8>aӼL{ M_+Xg:zۜVȼΩ p#BW=m[hg~|W(NgɎ\fƙF=T.,6E^B.UYin6bqve~eDGXϡAOs-= iVr d$6ߨ?CZsNjW ƛ?E 6[0`׽rnsK,Ǧy@II]5ͷ-2 /Of\].gsBst^9Ĕ]ƃ7\ީc &,\u?ARS8rhkK2mک*jeN^v/mlDlu1æ[Ūzp)֒o9ƯfJP 8zr{9A;[{tK`ڮ²:ՑCNqُEج{fԗZ>ыm V6oZa-r|~oB/fH\CDD~? Ew[V-ĕ8̃s'L ) f?x]+ vWjE-X5~R^_y1\~_gRRYxcY{vj#1ÿ Ѓݎ+YjT4߅wY(v\W_w#Sd|?>|Xbxbo ͈4 ^"<ƴwawQQ,eأLy:ab0j-.??\7iߣt{._M69-*%urJ\DT'RoiemGuOUg \&cƏ?UokRުʦJx0)H)qKY Vk4$\Kv"7Vr6-u@)T'n+xGecV=ihK1># n{cУJ>;ΖuIm&q&J}w6džNW%2uv1a!<R kYü4i.5]C mbwC tT #ԻbNw{K4j؍tzODEz罙n_K$ },-)A+_`~ 6cVcTjJ V ',"QS\W˩``Ҡ6dc݂A* m^P\][iQKVt_~&2$rz$H2H73'S`_>W/+র8uKaQ n,[C: M*`Ll3^ z$BI&1ՁoL3h«JRֹ}(cq`rn@u|wBH䋣[~#]l%!cX=NGh-cs޲#M%6-o(@soZ/O;L''GԤ&wtum R:Gŝ2#ܮAl2$dqX "{K$J폳z |7P)mO8 Z4]ZBa:E*W2DȆ!* oZY);^Ԛ?BW Gbj !a.VeٙM"??gTAJJ_0 +V8Qy7܆ 4}5z1R\Ved45CvVrґkM{l)=q8%= o}]In"5\^c-ud)Z(\-H_fS:!)e qy/ srk3Bycċ\m=NRPZo0 mDj*ݺxɚ-\5ujGkiqSoDB!EqVb% rKȴ o (s(7 7N'ϥp>Rjr ޑi*b݉DYv2\w#([9[V#;Fb@ghRf$mӿXrڠ_o>uw/A霒j z) _/!mmA[8>ƒ뢕`ټ(c}GLcuܱaP)l,Ӳ<;MWc` '0!Gld%"-nOސ_rb~ౝ˅mAqe!*,^\wZ{ҷz~o"[,Pٌ>C/9=Omдz$-K|O!crs-ȉ+'Uʈg|LpKx}}FBS܍TrI[o6񍱙vA[ Zilk/ܸ`F`30ғT0E1N@?X[ٌ6BQr8< kA".=X$ }WΣ[c̬h㎿W'z'J)؊}'9G{HWܾ6ae5D,펅&l5 c{$6Mq~TRDG|+wѻC]?^A^֍8;߮Xє͉fNcDC~|cþe|"Ĥ=q&vM=Iț$e0rxW`'҄e7 =^Pb/tr(=Nb0 z}Y;q Otv31fΆlc_n*"CKvq ^9F`98׷ô$:uNr& 2]ʇ-YaOhQJ {Pa,3]ǂ=2ðn,MIֳeVM13>Q\V:XУ7x;puw\n3H0؎|86_ 7#〾ݔ>~Ae~ξZ1v_ /Teۡ@=93G_ 1@Fy<^ЊoKˊ݄w%VT??Z \šx|}zt=g0 ҕ\7 zf$]OnmAy.ƞhw+zޱ٨ s!q'ʹCJ `^(5vq2YSKiO_KJ5+}v@EҪDCtme41lO2Fx^iӻ]JrD ((W};Nu'jPpCؙ}O2?8!MJ1~&z&Q݅9Gr2a7NmZB ֠>킉|d򿛼4^yXn)ViWp X Lqa&COsro0:45'qr#[BE_ȒzEtkt*,LbUtC_S/z"B/{ F[' xbeR3-H9F8ŔoG%+UOb$Ť+ܻOޔ"SW nLya#$ F-.dUFߴ+ڨkd^<}asc648}(q. ̦8\5Y=*wbOӤ[ $(^җs2M5cÈ~E(G9:g|x}BF&˟t" 7“ Y|fUK@Ԑ@&{G1ZKɻ|ɓy kU1dv"e(hW9/GN^jbIÌv `jð B^]ǣ2R+hek8Rb~fVQ|﫫pNa)dZC(7.W*c ΊVHZ/Tf&_+^*& pNbyM3?YKT0 ؼ5 VD'M&SNkE10¿`Gd[ЊP0MA]BZ,Ec:hD1 nJ훺y(FC*6>=mɆ/Y<{?i']2\Χr0Ќ 9r"Ԛ}7 !s>M3q+?*D.7pC#uHN"!:ǐ|0!L{VX0^LST#%We/ZCuXQAN)L{ĄO΃X,XOe" Ĩ~ H8caUX:=5Xo >v܊?}㕕5UԮICKVLdyA}僨.]Uyk <=4=wms8U\.$MWRܤ7)5PKʛqkz™~4G5 +O/`ކqx/9D+zCI-%RK}3EMZLN16#΋Pk~KϖC-3 Y1F` GzrlNHR1Rn GdW;0Ss\E_-y}*( ϔ(." \Ӕ~n/2 *1p.(1᫺&AA8HB(ܹ3#C> @5J8[˔IEN;;62D_Jqc/.ᥩFD,:1d.v2< !< ǩxyJ?C0LB[3|,f# ̕1Z7c{G<z)\F @zVΞ0: K ERğZ\yPȖgkŐ&[7+֕L_mqjPI/ک$j;4M=fDJe0_~>Yi6{'1h F&ʆ1~XğE=7O+V;Ϛ2's w9byT6& lFcz^q`kWLN]J{}gWƧ*dFMZwHpKWXa$ /sIdl!c-0^dUqrrJ ¿QvVjmAT\m\&ʂ hgλC2Zؠ_\/Π}f/,pewO#G?0@Yj'"/[Oq~ eB:;'Mk^-BYQ@7 e?Z`<%gٿ6~%ae7ڜa˘#XMn&jHfC~ӹg"@>촙<=VkqMDRͽ \9d%⛄x`q|RLy lWE2; _Lp^ b?$". Ĵ]HD2Xl%$v}\IPdG军Bj[B;*dvE`dpꁲ}EXXԷ.BrQ\Ńڦ%rNxJ:2ȟV*\b1y80EaȐ="ǿlu -Y{gKu@qv&S®#-[IΓG3Ѵ?7xVt0*boI${rcz*i!Ыh_(.ļyuDcEX`LH^HcRx6 ,r9 B[+w.,؋SuH4uWCLVKq Zqq$33@vkl(UE9ZIJd5bf1$K]/K2Z x5@r$2W!4^q*.O$ Or+tH\]~Eg׈CUy8_!4_ZsDW{f:}W;^/,N$f?ZI]nb*~(E;Db)ޔMK$,n/ u7@l PͨLlq }g.lrw ?lyX`B#{1#Ź+#ַ]/ xݴE!寖pWX0 Qr˅kU-4OrApU_Bjٝ_]t,iyZ{CCP\78Q5<hK.0(XGlb}Fj?+BKor3R{o:g7Or0؆/1c*F%HI;&DO@Wk 6R5\ٯSSX>ӱyy3 O b@\o(ȉ:ww!zllvL;y!>ox( Co;8m,gN%˻dI&]:غA~+2>^_{_mTLhV2y#'N'U٫፦DFIgGHM5v-.?iSrz]$6͌$y(0{H֐ Ð ш@58 ň]$_hv8*| 4zE3wߤnۿ# Qw%#Hg~[`'9EP\ә{hj/1Y(VV3n2^K 0F"Օr`ᄶ8Պ7֎1.G;5 h)Jʚr<8!Ab2ZE"48!cva$~huv: 6x8_{%" B7$ЩqS򪋏TZ<˦VD$H|P`nx\"Ok8g4)Ff컄űI' 8Q.0꿾(7=aJ''jP?cqv1W '/zT<&%x8* -M6>kk YF.!,Bc ȍ(BJ`b6?Ò+n2y\!Y6Zc8"ΤAbwUw49|V.$WMX<ٞ)<';r_e}Bㄱ4Yj*rC: ;?_KAumcw%4yGZI[mafzMD\ëAc$V!:dSqIfxN}P$q/7Ѷ\[:'1h6;G㞟WvgKY 5&qxDlp"ϲ{f@?Vf(0ȟC"Ѯyв L{AY}8ަsveQzYt#E ®δ'*rV Dpjan;SkFGBG몺r-D%f6jZ%')̐i"ɜv*ͪ S+(/zlX}R*5εIl7PX>VJ5ϯW^5d6.~E(Tpp;2V}>o}vfoL+O[eL[D JT"cs8jB&:utNV 1qM~_| B%a?F {Y/ߧĒcIؑeM^H]G˝t8j܊<"3 Yw\LX#$\'-o]*;%Oۿ;< .2oY' ;$^o]'_05ªu)J6B/ƽPegY1ox6. hkLBu[hٺ. oqXj ] a ø'u؉pRc^.%݅F6Ǩi҉!}Hno_ݯNj}!KʊWqJUG1ޫ5W@ +,y6KV#-ulkd"ڌ (/_c@q`35gISC{*v={U- x #f>uhYe[l .V$pZsh HDX Ɱ= 0RQaR&v;Y9y^rAkեn?g7ZXfàKX] tg:O}V-,BvE.5+&ENQt@x¡F@i Nոi^"^x Ԁ) #eqʷPң XWٖո"+hon(jrardطyKR&*x*tà/tM#V/-sƾOh426 ^0}!Gҁ3 @^>YONn>Xgɠmi Qo۴:r0 lNG\[; _8Մ0pFEL~IDgO iy)}(}3U:*Non.'[eI& 1+R<䝔GffW~&=q{3LFed"-Q\vPP%[%Ho<_,$³/]6ooYƒZq2+|Z8ft'\A2X,l3Gu)e0L^qob=KL ͖(Y͠r,p j홃`{?̬:*ފ%[PW@H6ԮȞ pv`Qx\?lORN$0^qzў_fiWcyv$ ]"Y3vKF3(MX|t5(g-ًʱ8>1pNNqr3ݒb|m.X,@ .(sl/~buԣyTD~-b&yRarބnJ?n|~cGh CcYv@O Qxa%Op˓Of Ǭw!u mHCWr>(|j.3Ը_ݐ?D.}jԻXe!|ӽ;A 8nSm̶A=^lr.@U?z}tA\ 2w%0,ۨҝ dy:Hpr[=C)-4{oޛ`G ےQ~j&a:£E5L*)G f%QH,*g^>ېs ʺWEe:ܜtYAyPD)fʠ͇&kpP\Դ*垩&MSIUnjp`u\ϙ6^"e7-d pFFh$I뗑PXtZO>!_p]JX71Jai~E| Q(|Y-k>40G :$g)*s0mUr?[`GQAnV?Am}r1:c!qI3~ <<Cl*ſ bWP *WG 過N^$Nx>2"'+OW'fjeY PIz~1w)(r=Lɗ [o!0ȂPp^ ZP;E+5`[ ecTwn.VTb V֋2!eG d8Oy~ڮ%TJfD#=oniRp:}AD k\ˁD*K"GF6[:yhM;|nnXeFG8cy`l³űnEktgx~beƅTcgOLG#<.z S9j.rh㡢2gP:lĊZf Jbי6Z)+B+1KV|(Qms4-X ]+| 1fU laި'UD;ʓjy V+AU)>BOlDת5c7#7Z?e9гD!8")Qf Kב40b8mVc`K9bչ+IsCp%%04>"k 7Taq.AmՅz~BSf %\6 %զ*ԗ ꅲK*UGNU;V;K;U󝫧j~'wsΥ;Z::w;o;]S!dG:I`XHS;hޚh#(̖gg"[򭺥ٽ$G%px " C 1 b5H4JN2Kc:Հju_&]FsNgV&6Dv1'LgHm 5}Eٸ[QݭɤI&RHͷWka)fS;I>";bRiZ ,Fsň&uM+Q2٠V00l(Bvc#j+ĔA~R~_xT-saSd.kҋ]hVhV~uun7EUy5A׵2L_"3Zh7O0SN$sy.e] J2r2RKEg/u8h?^[%;dnt3k{5o訟"a* P3m{R/VUd*k6t"l@T-jf`뱺s{6y c,bnJjM15@j=.Ųy{-HaD;R^ "l 1vAPE;/P]9[Q| Nkz,0>jt\NcR-bQA_S(`S/)c;K)ҨkVoiV>p(ш J ƂK Ɛ G_)Z>$mEy,y7?ն{K{֡C'}9@,=x(˄ y-"[Vc-3=]1aWBbV<kdv53Ԓ"BB45$_L,/kg.p d H)kǛ¼eZ;=8 dlCa~V'w ݟ{kTVQ]2, /'FcKcFCLTȭBI -rP{ʚYQft/z:Re#oz(qaiJQ̙KHgt`0~,8Yw{ 7۞$X̉~^A~:8ӸJwq`'%s:H1\FKOL;)_;8k/`(3k4C_(~w60Uyh ȁ``^"tНl;Z>j m?*Ru|qFW4,{a1ư<60;4-}X2Zf@pH(Six+fWB6u|+cɋLdumBx:զާgV\տ~eTԎyكqt'V7Yw*BIAe&&N"@!W#"Dzc7w awbʍ~7/g)sN,7JB>lbfԴߺk~?ﵧ \a<,z<;5)]#8SdBs5W]9Cܲvdܹ{54 )}>t~6j2 B܆udP;üיA 3e0։GY"wZ,;p%uDK uJt~ l|(n5OgSࣸ/3ʢ Dr< `˳!L4oF-<~0x6Uu{MeC;=i}YK[Oca8 yY"IK[\̀Dw\v>1ANɚn%c Og܇pjFyˆmr!xԓ̒k$Mk&y]!,2xm vcc.|Ekٯ*KjJ t}y%C-X-QQE{(f.pS1r 4g];ezyWl30h[߽]j6\y7& p9qx$M 3#=<6h%a/ࣽg!ܓѡc#E>;,œ xww/ $c!fҝ}x#`X\'OxHrp.)*qʗ(݇N+ƺ2gb5ΒG ]yTV}]*)߷Z `"n%c]0$ C4{%]DzE=L;isa=ӿeX@rF54!qzﵽ!,ˍ$+bhg@վ5&>/g7Ӕ7k9kȁJwY2 a;2EpәP`9dvJ,R1L)5ŠA{6N'g aF8P!vX>1#5yDbFg-/()( 嫎Dd^% 3bx>*>84>4SO>UPjW ;w $+1?#u??!}̣It/:>;7++_%$qP!|#;Hu=7/IkmGt, wPU*AX7ȣAzQe*rɬ|_Q\65dȮEbA12+;1Q&Œ<E" 1% c({*}hyEiOD3dTe/i&K"g{H.^MɖhWkV>CBFgC߈/\Q0xa$T;`܊j!FT LӰsو 0b{HgPcZ qHvS[D~ $Z!Z]钵vEfPA1Q.DrH'HQ5s]Vը:WS{y vZ nԣy}wQ'Wfa7q=g(|] ':w3 'riui7So 1f%r`yI NNǻ{@eCK>E~Wd @z D<~R۔IsDlʾՅ%p5 cQ7כ=f*VIS%M\NSdO(<y`|}3:줬)g(7 Gcrln b%8VY;d.d5u g` 禭L*?ȥ3Qo#N0gYU%`yM0 )ge:<8BH,]bO0x"=diHzX2A4VRW\5+ˤh"dirx>̞EZJ{$4@Be}G@9Gcs֭Gws뻥Aހj9 m:.P7w D>abK_I4w[K)oQMʄU-[𼕧yB̑4D\UI t_AWFcg|VR$V1_Y1cǃھSxT&FO*ժ]F C1oɊwiC#]b.:KD1q,&5Sʘم. X@lMP 掹۳1EE"s;}"B#MM|>1dp|7FQ˥ =ft٪!r_8nْraa v΄D=RK zvyZf0?kV a,-4CNcߵXYG *_E}d_fXxcsK6[D1%/`=ҳvu8B`gŞlrp dW}匀j)8gweҹ\GX9wD"'_@^@[r3enyYa1f]m^lۓ(H=}:|9 3=t/*cc-j4WXyF7W=2#y{;ݙI8pz`wI0.~;E`O0%aks?{w"O<iQ#jԊv,&H.*zA 9ǔ5G\%z3bxVFԽkh~3bCSN}˗%H.<謣]ʈpy ::v *@x- R= _2I6U7kv̇ʗU֝i͘ljCUGHyҁ6KoUio<^)#4.s66*϶qx -࣭5CNZ;Vv(щQA,_35k'| Ӟ'Dr.D% -A_q9cwRŧK R>çM`BNZ(3Ҿ|rˍj714ٴ :_ k+Jɧ{m,3xH|iP^Ck%\~&CZv |_"/Ī;k/2LL(AQ2ԡqr+94;s8ony_9[|ss'-:܀BAe'~4hb5{O)F YP;</p墼U+f?h\JN#3F\˚İ~m:ة?2,};ʄy3xk']6}yf?UYyU8A+۸49#hlv`u}Z^T^`x<"weVz2.g7ΕJW\X n219T u+L*GGL[IF #\g$y$Ql5^Ǟ%4 W5k@z  DVQSxJ*(VTDf@6f|S 5~,ݥޠd"`%NN/oyeROs|*hz [C ՙC%II,i(t3ӘKݣ%p|0O.Mb |VUpN7AhC"؈D'ܥ`Է.  NrD6}3I_N*r'Y@&x`smiX~ʌKGA޲8 8i{w.SMUys[ |屔X(HjH'EuxRTzr^EH`h)ޓ\` L%Ġ55caX C=l#2f3jtܝk ։аEcB G(ED0Yuk2]'19RX49#PM`ܮh;"`RVlaT,>f; .uA(c)j5k&pfiM[=BnfJk:-"At h[Wls,#y8%[cݎ4j5|L2OIAJŻ$VRZ/("G9``SFU1}SC0i֠Q0J8ϻjpz}$חM:fwD/D4ޕ}Qp xFM;""=dYZ.t8l!o P9|Yi&d剿~)3w%0ْe>:\AnlD%ﯽ<-']#h4Dh0K3.ğ ͌bo3wN`:[]:ɠq+! ))N_7d~$?ILG5>l)ڙ \:7nm4DdnX OOv?MM^'GD*׾!zdbڄTYv8m̩iSne'A~4hlQoH>}d\jL$3O>A7ABeQi~N]&K1U{Ze!rufJj>WN@K(Սy DߝlpLXy nlL]KVW|LrW^X8u9Vg3w 廇ꮞ7i aGuVw̘WUϗ)ϖVk窅壕 R۫HZ2IkwhIN " r xe*D4Ei#֚B? 4j!.tGMah`/kXJ ɓpy&vx:qG "}{WE4_&o|1C@$wmKIc$Po=&Y+|"=5r,]J+.9G^&Z*S?YdWgF}'Ao/@7HKzJd5'gBԳ!gB ٧2Ѱ ƈ1W<)dS`3됛6΋4LKSHc%x%h=&-dEGHJI f̐PӦ!#he /ff)\3Q=/+-!(0Hxլ6R"XԀGS~.!((;y#OB 'hZ58|KbbQr!aK FMkZ(RM{nWzٷ3>}"_Dxsct:ha-1pNKKK5 HXI恼!uWVOy^Axv^28X¼3m{똬b}W'%979WDP1)ICC%wtZx|#^QN^ aD sџlDT3CBLX|Ex J2Кi!9)Ͽšt$BdXi^6<ȭїnt$%/}d[Z*غ !o@[H#j=6Z^Œ \zIa-h2q64}5pB8-af( igvDe4E>}>zL[ґq&LnMgLέòV4Fe+Q}mS֛i^(i$s"|׬qޒx!Qz94%c(730!^ W1y^8̦s9^{9lgq2!{UOa陓wR3䒥jђ+.F~﹇Ȟ--۵l: 9l=!^#d~we 5%A=:iR)F8WaSzL`-2 {i.xuDS@WȏjۢNVdq$sHοL즈S|^'{BN%p 77W9y3P`\7oٖ7kd8_=?>8&)Ƥ+64f]dQ<;lVn[UF#EǝE#BIN[#ﶕ/tߌ#d 6AiF6FPz)-RR[#0.1و'*!g _0s6W ƳvaǣPM^FJ+S(w(2V&<A8-|}u{cK$܄[0y4̢4 ŃT(]|<,50Ϣm|:2aY4߲詆mh\ͷ0JJޢjD޴3Gu;h`^$WnermH:T䟒/ȑO7}Ǣ1[9/ WLQB~V) 'A#ܻh{}ID'\ܴGk>Ԕfe#y$mW\ri#G{-aH^=ڃȋb3:rںlӺwpB=Lj0P GQwYO`z.sR)t8L,̟TE|w-ڃ%9,a&bw/xȂ8@hh~}]˛ͷȊd#Ol2|]AXDWMX.!O@;҄X|+ҕQJ`%M)C FS{?Uo>R6j8" S1KH-!|fwI؃ `fxK']t>%Ȉ jejwy9C"R&F(WA0?9lY ڠ)\zqBzf$cv+'=yf2#Z07]_."aͅb}x9 ^kKHiϨ̈́ͬx^h-o*_C6g[V1xIPMc}{)*YPyq=]ii<"\iUhG'r _WL5⮒ 2Ak,[#"mO+zU۫@#W ^% ugSҪnjj"J74ΡTXrҥD *4H!W{֣>@{m'MVyR9_ѻ5`" %~ Sq94AѲ1Ȇ'y"cWZI$DLTC*0R%y? +'+h[OjkL8ٔ'%cB4R!(NJ7kfeUѐ 'wEra(#ȳѮKCɬe?h [VŊڛ QJ-Tᷜ՟`1 9|N~ʄI6NV,Kgtq/7k E0,ޢ@٣3DM޵ wOud}e-WoQn%{w'Esd*>#Yh&&:=Jdohf@+6y oINJA]\#N.02pd(.hy.Pg7#5/c8h~q_i#YPAN dsF-iQ}k=ͧ^&U8NsciDr(Q5 Ç㤩ˀgѾ¼OL.$g5@6;8>yK )I-EQ: ,;j JAn Oojgi2sׂh{&Sζ@% dU#pU\dq@U <5jN@r U|#~Hw$l{7פs䢥s()BRSJW(Xke o2%\{8"}]*\Tgf9n&V۪ul hբE(]]r aDr5:])`|%-Yzǚ;a{y. qggg^|ՅaKFh*ꪉxe("DlE0]W#("E]L#R`)"qr3%qdg#uÑѺX|qBr,v(qIbK0RFw S>g" =/+D!Hv55OUj,[h٨^NM7Ei=<*p߉vVWH_;- ۠|53]ydب!#"Ʈ+~ !ܓ#UKM)ݔvgl[ڍV7/,>hVتմmqF{bkʏd;l3=)>>Ěa)Sz1>gAXlثTvUcFV4}^'Gk۰^ՙ ϢOW%\;}3ɬ™GSͭƅ(7zFX x"h`JbTWpu3\q^zo**@?_8&;o&p&}KUNyWk(pv{u R;A{u3٢0FNGKpTg!Dj7rٸę:kݙ-+m K.!ͲVVd]s,`+$i>)ut3|ˇlq Ln 8Z, ކ} }4*{85?fǺ q3~=s iQyJ)ZAٟ #7x&,Qp$5Q~4h)}=OT)ڄ*;@B1iZ_q#?4(O^'?C!Mg&]䔺~k٨-YYM[nf׽i)NAz5A{[O]:(҂!(Q_5qƅSnҨKºttOuo6q^B`W5o/"k9_TU/gpX@k OWXG4N[eˊ5".cZK_Mv% N* QF'7)dA~BK2 Y+e2z$%޸'b5:0Z_vܶ:]bMNe958iYp74ًް<m*:BSFMQ9Gn 9ٔ٥y-"5Jk@aCUVycia2>lZ n Ys9;9B,m$+P#Cǐ1n1w.0-p0 9}+(yd0Bz^Y=xg=_Zij(>Kc!T=iiz&X"8Sw`ث2_'Tebwh)=qh,>pn?eIT5* |qqUb&bTp: T<$brՔlva~:cMhq;3xɲBaX0?#^ϊ==߾/?H=h g.q  .Ѭ'ɗG^}DËsa|J3~G)&{!DDJրYE q=eKV kcNrzE/b@gO_ f+} ͗`U"U:,Oҿ\1GOʹ\EOÞSv\ݷ:b[Ż `EH`aE.Ҵw Jh.1I^]Ȇ5_؏U-JgzCEIGS 2ueeֳhnu"/tФBr|_n%|}(QUt78Wx^h5JΆ`]+`6W\<<DtQI Rw~|L/?;Z?3Y3%7s.".UshJ6RWjQP1J% a'E! < ?DӅQx0T|n TYCz@|x!dCOnowf.U8[:Ι 烴?$T{΀. Yg\lH3=M;c7QEVDWGc,3cȶ 2?]19jqΔ~X x7|˛ip~v=2`9"x0>.*< W?Xzh=%N:|cDSF,}jn*Nr( |_ՒNL1b{'zb B̿.oPkyIg={ZWLS9p{􀧙FNVlE4J;I+ +‹A|tS`K%e ̞;aB 0x|]oXƀ~75=KjC[)ν;|nx mP b V\s瓪>~( rrNV^ ҬғЋxJ\CKVcM2t0`Hs\s%b TwK73;;oҌ~A~Nq@GwQ]{M,F1 t}VZy [͜}I$Y‰l; tDQ{S68iT[뉣#ʼno(7 ren幐 7Y#: y&z=.61qZ+0~je EIUcp@%7ߓQՆ/нGqw1Wg >zj%5I^fujj}4W|%H'D+]KşP2g?K: %x/angSJz/f5 i3lݦ{{.e85TE~Is'k5!V_s."y΅c!ILr)Fvtypw˅Ϙ 1RpB\8Cf9(德p]ip pYYʯ.x Vȼ)3n؎*B`l3|6쇛/%E_`:^^AFQVgڡ~22ZZZ"x /ΛǔևHDwb#QaJE;jOР~d/^Mm i†ʡ~:VjA霣X L&خs(s:̦ư1rf&e'F~ٲb5e_MW -5a`Z';{N{giew$]^b!ߠxNYi9#xmtD#eAR 79k7&xb"A$_nQ%_#ގa_ i~~aN~% BT 73gnB+8P[&+zL/>Pj֛BLV _e2i@IL&{7T {$ѩAM? SvuO=a[7nY+GlUKT4ɵwA4L?P_ { :7:/z8-mtYA5&j >?aുP؀:Z.Rj=;idj`/E' `_mfO$%9^^tf z !!/sO'w"mj=٣5 )N}<:&7fMep}uvr:B2 zAw!mzpt 摧X|@oQ`88A>N_߲ _π#NF4b&[I4Z(DiK>DƂN*{I~WؾrXR$b_?fA?7ы\wr[4ֹ&n?"cOWso3j|;^*qE!li^-ND,H]Gl+)d%Yi;#\| .t?3.me깁OP+7's'N 21: ndx4< ߀ν/]Mt9{N d1\*^+Wbw#sOe_JG<,)A_) kc=4>ܮ{~GSx9CWW;VSo$"Kԧ~["_ B*ܵߛӟia]Ƹ%a0nԎρerB⹇+Ɍ\F٢Ed̃ײqLZAcP$Iî/Mԉ9̵@7-(bXs3%d(O͉\/ FF9EFC.D/-*O&K۝xݽ'9˛VLd(1+U!k(-}(neEa`WQkXy*e%Փ9fBg]3H) #-nPk-5?sZTn!;>'(u`Ś_/".)M5YAý]iAAϝͽ* = 2-ճ|L VR t@S2C=z)U +(%)E`^$&Y/i/Tu?G+fy5!a =w)AjV{xV!]Fݝ^iy(wbO;fg'TϻQ>|΃}1Ŧ%/Ud\Ԧ@k/,b$lrjs"?ګ \6 ] XϭJsapx` xGp0`3€cꯦC9L3YMZ_Sca-pX|<-s6:[lf"W8cs>p t,͏p%BsD/-[c6]ի}O9=+sIh 裱l(`gb^jh`grce Lߨ <4ƽ8QXxSG@c!xtm~>{~-= KP ofsm޹}2z׸]n~CtCeLF>3G"#jbCl-]v397?qYE2e^ýF5@=O\ 9&.ߧ|iu)~G?p.ت`]f~:)q qv&n+=|w ?yԊ `YvE&TBzW]ȱdǕSOԩg ]Vy zXnW<|js mҜ;nr볏|.|+#ZnI 2ȵ yW3F <7c n$O <4n#IZ /TOAWv2JAleKp {y-f8`Y٤()4uP;V%ȝZ='߉Ðu]ܻP"DYOR!A#][3Lɋ~o|Fos|cy,>q ʺC!f!ԃ!}^e~7hw(yb\|Zؙ4iҮ),uAN Q~.Zo7FIQX/i*6iaIY l *L gao>I @JtyCF&OCpZؘE67?M: MߺymO4c]n}iyڱƉ: IۑעDϽzXC{}x%3| uL~^/ gu'ʍ`0~?!O]ӈݟ(=zlOQ,s+䎞vdoYo+R3dXB]rܹ%iBOC6료;ؖuY'$P1Jmw?laυ'%">jq^52֩d#$f)eu}Ӄ #N 5EkxZ"OVYR 2_?7Xk'&zh 'p!tW$g; <{mzǙo.&`)1Ӷ2v+"m5ξmw8P Dف˩T3詆iK2?>EQ2筽1ۇy2h`WIƊ_}K_pO4 g(HL>l+QOe&࢙8O k2JCroxa!+ԇæbikfug\C(wa:6vk ayҚN:`jo\}۹-bt qy[~ōlxR?zz0-& y~Zs,TG)G;3C֗!, &p`Q)؎t9!MBzBP9;̱3\oJxE0^]4܇&px^Cά4C;\!\#qZ2 Z2W{3N8_4s|8듶z:o!Q2SyxysM'(ǁKMs q_bp^Qb̳Af3$ChϢ /?;;v#fŝJxst-&keA<=~i5.6U$iUDȋa?eSSdĉ[IpS;AZh^K\|0J-n(ܪٮ>k)MjXZRL^/)qZ՚~Po Y}Ǜiy$Ri)1AߛN">fkCc05_.Ä*##]3AЙ0$O3}jyuqzgOa#!đ'_YCZ7Zyk\9*|ifQO.\)fhtoO`d UQIr׃o ֛);/"6'up;jQ~ Q0? - ;g^t3A0[\>:-y:蹦}0TBM]x J1 #O¯4*ѭkyhPF\ KaPF-EO NJKo y{M2TQ{16ԅGNOCcxoާt 8 S > lt2?"NB3Зi'a huo`sϋș%a鍡RsNYt`%dy( $h4$g55`Hm[D4vJ> zf䕓J;76!Sɷ+}E'"~[L,&Hyq{+??S=zkr cCG)4`9–H_yI{^Nf`n&0隃|:>GoPy2ШwTOeIɃҼu8/ Q^$@AI`j ([ 2`9UpL4?X>$RN-Kqn]GO`o)\ BuN|gyS);e);ya5p "e7x9i(vsgkXOL`Wy_2:;Ŝ$A؏ ~&pŸrZ>Z?8O]Qm/{קoCҮlz}oJD^=!$sWD'$dl8mo*]a!-KdK_/p'-e؆:Fsoi+ {'@%;nͺY3Uas?^Tt{,lܿ9^ 8Fsi( A!E])<Ͱߙ y'.({ҀΓa^K$/ zx2P$Z2Pht5&ZZ[d WOtq~q!|mpQg7cxnlQY` {rG`C $E%cd{=Cy4]Tj,[ zЖT! !. yGַ?~ LnW,Y:^Ts>\WVcku'bVp{d@ȷPW\.YK[wm$gVh\ÉfiM7> c #E.&^G+l+(Ą zw iϤ[La5cA`a+]L>긆z1( l* iX1@$.˧=_(ˆKyW|'csKwHrȇzUAp`5]q?,WV?ʻIgJΝ)j N(p]wz_^7aKOYlJbT %*+ w&ڏ#rG \w[Aw$?#40 xvԵjRnhXf4(v/,K[8`B(l A̿`rFZHK#y#OPI5z&<[7KW.bOczPwy PpM ;AսP0Md6W#r}/oԢ}z @ 2=[:ɹԼ,gJrʐv<Z=:@Gj5 YqlclT2/a=ϱd-ZDTRAL'1wEi#mzl-=E0nbƠ-c<}Br'<_ʍ2cyI i7aYCf)Ǝx8-*8ںi*L'a-Lٞ{}L8Bh;Kof䅓١ufhmAEl͞U2̰tN ) "S;v i.(MYrQ} %H_nsM_󦨒ptl/ac5#A\G#3C7aKs.9͍@v.%oR9|_ǗNqa,Y>?;N4J;Oh)~xZ&uq(MA|ഝxpYPxگ*/ډD0N̗ѵHٯ/ډx `tQ/S+9V%vw J<7 d~ߵk-))찂 Ԏ7c;nAygNQ@dYn;[΍waNɫ o[wT6ݝ/"ZWh>h$+$bв8WHn:6Mu?iB_SQZ-Gj1hUƸݒvv)YO0 |y~3hUmwmVٲy:lӋgp}[-;+fq]*_ WEџB4׸8{6ɣTR]FgsVZrARO냾`m`‘/d g fANfYoȅwţ2U2"?E|GL.yaHD_/F^_?ճt@Ԉ48w}c63|7Q$D7js4M=3츨n~]l#tʓb"Y V̨J7bk3/8jFd,Gn:s O1glVR3c '帟{FmL{A8hy)Ԙ;3IC1𾥏@d,AYB4g?qO[vJV%wljnޝbx_nދgTB~\UBs3{mh*wOuY%kv"`IiUXK1עN[%4?(j Inoj9Ny-H(s,G6WL+QU;|# 4HUp.k\/7ggWkLͅfP4SАNLh>=x/K=z<'ڃ/ ֳU.,uڲrXưjT?()dsm!/NAG`;qYuI{сyCbt𸪆[uʶu>I[kh~{N6RFjvdw[3.g2Yv̼lN\ً#'V \ ;Q–֫ h? ,[Rqɶ%^C'\Kٚ6Rd ^ ؈ytL3aI3;ԉ~ a:sTmW9lxƽ`1{_3a;ا@c=Z/Őh9'qr)! JxdY}wKT?qLF˸38.$NdFM3L};Ṁ,v}tP/oҥƂ@ P/i 1T}ZiDq]FB>sV1S/p`׏Y,XbC׈z2У#@ ^P;. #U萠f=& og-W,޻ BERZe"ΡNL:+`5~aN:n'tBؕ:)y7ԥ|m5wN"~SQBϑOvñ6+}<1>_;wRs=|UxtkB&NmM6MHBxkdu%>z$b-{-&},@?$UC%N۫565ݸK6OFyu+jX!RR,ұlŢnZ +Kh _DӐB]#Y{aL#}mCA C.:: +dzisYK/]ޏB) 2WnBߙ.ci8+P^;~C~ĀsnI%]akƂbDžv~C9ӥ6܍{x~Aы*~g'X*pa}7+@% =dC38}jʖ>7aԅnA1N΍b/_0Be1(7,<{NzJ(5@ϳ@< Irn[  _תQ}}hogKrS$KE NJpSW EE`~H( ޭzl 8} OAyF~E_RG{IƜ2Kj2o+ldꕝ͇k6&KPrLRy8xnI 'Lef,q=-!P:.O|{nƪ(߂`o~6"ė7ۛnT†&OFE, O&+6Q; bz<#Ր4/-E?C&KZ #Ilhu@`AS·paCT|Tu!FF8_`ʋZwÏ"6jTZS=DJ(fp,_ʼnrR(hX7N.K]ZbG Sa7U_1[h BLnUڤ9me]ͼӣ9 !+J_dU0?3wh|lDӵ+4 ux~(Ep :?y5aw9j~i,ivE[ >ၳI?Eϳ>; t AYř@&ヷ? ~w--6PV]W8lͼ?@Jr?ՈbbҕP%!Qc71nB5ŷ1 8ПzO'_7a^8uG Ag$n\ ީ-2^:#f-~c{o(JN˥L }~J׺ ޏn]M9祒9.yZr K,ނwԝ xPXbY*O\NkNg%t&+D<3gE 5 m|طUҚqN /PcC%|q p\!lQt˝-@؇Vd'?o?~([A ;#bWIcgE.9cMí!a7>=gvAAi?GT-=Hkccݪȶ%i ?GFQ9_&Tyv̫ nv-fʻDnkQSB C-l/I\-dIcAK4t BuljP/kNFu+~~c{ޅF4Yd>^c Fq2T1Q)fWmk^ YI_g|'&4a aMSþ|T=͞Ә:[A]ƲKQ@\^e]kskffȲVBM4W2sek8*ߩ٫!O}7*K'h2}'ʠYUChA |\Hxt ǷtTm5>V}(K\Ė|a(CAx%XBZ~$TtIЇL&.@8DBI3CG)& TxU$x+NZ&'U ~'NB Qas kLwÎϤaZa!vtpHDfqV R?eпQ&#t6D6\5NL g 8$ whO";q# e͍%v2hu6(CAddeRR„,k|8Û$L&qǁL<\_xV G%t31|5oB|G"YxY^GnS4BO5 o`  :;c3]UZZ~ {`;5JaQ]SzZz%5(1y]i$ֹ2/K G~+<;{PBK:ZgN\ޓW գ8 }:lhMSr&![4zNzj6k2Wkj-3f؆W${Ja_+$3]aFո0Ltd¿%5!kXÞTu:J3N_-^rQ]Re"tT1 yXRlN&bƏE4"3_r,ϴ̕=8iذ֭E[E5SiOq:wLpݩHM:88;TS1ڣVE%_2 _Ԣ%..26ۋ%==& d\5e+;0.hv4l+ xH, =K[ b^uXʖ}ՃV>X `nX1$V q_ cO 8]ʓ:\DZ`S`kR<F#uQtN9[4#CiIaW&M gLz4%F;] 6Նn@cfU5`¬_2 +8SaSO 01 c=|VmFiwbWp):{ו &P#zM\֍D [im_%?fGp5cvQ* 5Vr"^aMYZ/' \0qrCؐ SzPJ xxգPMJTsT#(Rl+ l62ZHVW1Biiu >0x 3T1rѣBЕ3j12"W8%)<6޶h$FlGl3A%~Q3_币+t >׃~F8p!sdh7^9TMI(XQ@twY8υPVo..*"(:w`=;Td\wPy V)"x5ڡc!QA;4vNw@;;~gڑ 0vvvvvvw;iL:PDzGQHN=<=upDdA"&Rm&V!뚤 r ۱/Fa+P1k:|#N}E8&C(ƿfQfa缱F͟\fi|ψGʙœZK%_ywpVr_0TqA%Fe(#L_EJvZ?Q Uc& u&A:irD1(8c7 } .Lv֝wj 04w!Z4jb)Hu<7kY!G'Zˏ10dYd-R W=/9̈́_tU*G.*Smr}Uu~͆B Ǟ//ȸ!dQlmx$=[ޘ)6NՊkݹFb6{F˲)ڐbKS^24XV8F"zbTF"X9u&N^{esgqKS=WE҆'J ;aSEe\tjBz/Qn/)nw+(0o]wW^Ih$_FHx~weg0Ezkl z-JȊpͥ#?uwQ{䥤4~o9ǚXpO0m5v+ Mkn`Uh/S8gqQ)9Ntj&>nU:g-aWE73֮h,?rE=_2LRP/Tlfk_b?+\n$oQ!JmӦ-0u'jZn)/aZiQa|j?TcXޟr/axUs`ɩ`zXSF0mε2Ѩ_M**SW>յ!Fz`+ضJynxlbVvO\> 즩II`5϶y98y90  ~Y`Bԙ{63Olgx (0yxiy6Ì(?*߬gM }jcbT"7Nm"oOp`1jM1ptW 6AP+|!SqIߩy~ qg(hasm >0jhOB..VXF0]fAZUԊW*_W1~OCkG^C{"c341'}ݮ"[- tB}qMUszXu,vQTvN5[>Ex }qs9=`-ѬF*j$uF$t--]Vd1]Y W]L_֮: =ЧnzbSf>`c|U@Uf31VW n&}żdZf0+և%6yЊ{jEIVh,E;(~82K@"K`#s;$ɾ+ۥHJYJ)]:)& :l R,;I?h/e(Hn3"NjN%QouayJX=a~ O PJF'q:nϛYc}Hvfb#S:_ZD Na KbNw,R+ Tv+6뇖pԄL)(NjO:l$:9Xi_d4]vBpFW[~USޚM&t]hd˭̊X~lj3i ڗfŝEh̾W3|[-U}[gbS+wC*N7,l[?4q3~xVP5"K-T*P$1;ǟA>;XĊ\Gj2޷`^A<;v@{u,(¶۹f'}b  տj:l'p2Kg"AQ/, m0 V~2vő2yZ6x{myyƑ{WʼnߌR5;5Wyr;Wkuw[.2^wBsk3 zlڜXZIzI,wbLlg": 1 J*$So |eODN&[˰NȞ[&}ǩ7A4R6 w[V G2Kؘwܖ.ZH*_IJw)(g(gބڀ.4FTzLquuq0'Lc7\{__H bm|{hka$Ck4 $?@ɚc@ +,9.i$i~EER(X9gaHz4>Ǣ<ڍ^WO1Ⱦ9f)&πi02p{7p&eܴE"[tu|-K_ 135_t)GgՐMH ˈu3{F.=ʭ Ggmw^\޴6GlUli.;H!Le.mJ;Ga7`Ɠe9/فR^GNdvG[@>Zg"dVmq F-ҁc`Oh[A-{\(3vǙ+:R2\ Qp}^-<|nφ\>@s/qwv )J|w5SV@'AL(v3Ӡ=x?$(,^br1Ԟ!d*\ccLe_X$I8S@N(<#:3 3]>&F'b׎<J1&uڬQHPV\j D6B)s*Ҏ;pa>dcj_uV9PtVrv O >vQJK'9ЦY﫯ުЁoamza>K<)kjضnڴj:4~~>6gmoXsL%~@Xt{b/FvVOA|8,d->LE[!Û/b 5 }ptQDY3' Aɬ@8g~؋VӲ EJBu6!CC HPÀD`4BlzCssl} 0U@hj,ePaKP6nsu۲p@Rl֨ÓS+ uVӒ3(*"D'Q3pRby'P~i/ǃX dA~xOD3Ej*nP0<Ԧַxĝ՜ S¦F#<7ϔn (5p#;zF`4ʾkQbFӃ+8y;X{-?ӎ<02{`n!QrN4S 箜5>bl#2Y p'2 +ƃ[̥rks֞r? g-J䌺CQzYI #0"ʆR̰[34K;\ hDD5@ [wim^.i[WKE4$/@֪t(ՔyV8]H0k,ez@QSX@ cr YHbRGA5L2|1fް#EHy6ޓRPlVFt ^ijbUcx*=SQjARTW 1nPqMᐹYB̊uvPhnBa(G/Y`/ѵQfaI[cO]!oTĿ f`KwrXld*39etlU`2 %}6}>4fI 2Z˦btDL>UrK\[ +JIJBRΥuo4˴WxbJþ/:/op&;,nQ辖W|̾LD:j+0HoGTEa:iCV7LyJ9:*GkvaavaguGX(P ͋B?6xAe~Com ä#_~(r > (V),2|;dUonȍqz^noRq篂$L3& ҢL^w @yJ/պL#/Nx^ >B9u֣[ ( ?6=^y[5Nzcx]>ٷn,ܫO#d~pϓloeϠ2^|@7%x8$L 43%(*:TI>N0;r^Od '&2%ͣT|bD,[ [az٣/SZ=əq`S1_YʥTTBGD,kԔ5"Ndg nSp(V,⍋oYG*w{t'3Wk}?S`X( GP~K Et u}DQ#C/(,; cg} ڞF?2.={Dʘtk"\k^&ylDT8(^&B = RPk B)/T;nvt74b׬.JAOsh+F%ve N:HiaN=`;iML0T83T?_6"W]"XWWYrԁl z~_W; 4^GHH =&*&13ILV@T=Ƚ?(sQJȧ?/W2!{.GkmpQHoPOFŘH.͊ʄJ<]TĴssdieμ/0pl^GXτIg8U4|g* 45ӝF\lEmu6VTCyc0~ xofx3KS 9!4B!4*!!ȩ`*k$f܄UVlJpu\3%^Ζ[ Q됈bE3["B< @*56L#XZRmVIQEI#|ٲSZa\QF/aBEnΘuzJ$ 9C4j=̓lUFUZpx*-U%0z,pػ33"ٮ5(" TB1;nUd۱pK`?+&31'-cTQe3Y^qg51FI 89;rG*d7ݚa {&,Fg;zEk;D0qoޓQSNMMy53"2+\X9KNӽPihSIgFbqfo?k9n>"R8 &0;hչxI/C>:X)q؀wЂ&bȮ%vJQ%0|H$FWߑF6ؑ]cJD ӌoP#S.KG> v=MUv?1WH=\ ʖ[@E !W< "OB{z (0re]֢31Vv0Q&[Gq>M@L+I4pMcӀV}1"7EZ$Hn[͈I׊SOcvOˬO\YMJMF 7C 5enKܑ*R6'`soAadFԖ &mFxގUޯ@uy.n,âM#@jP&Hc#]-ӫ_kIe*AW )xc |2ȏ94h7g0 / \e;Ż5;p"򒺧ۇZLc:9h `/z}I؛[pJ"fk&pDl [E!-. )@'~-ɍn .BtݹQDl )op?t( %` DӨ?(m/ B'o*/E~HGnt[Ww>fkL-ݯ\<-4 9WGP- 䄍gׄq-P ܭqxD DݾCI %uL~_ӃS"Azh S!3)PH)myύy__v.eZI<]q=ΉÄ~A - /B(lv'<9@<&xrò$v}G}l5h)!<[g0@Nc/dzV"_'̧LVlGnV=H'E&7BǛ3Y;Λg/?0vųi%Ji~t ?ǫ ;)a[EI9.17|qYdŻa)&L&)EMm*QzMWk/7  (&y?@J^n?z존+n桾z,Sh^@TjxX5ef1OBՙGד|qϤA^+GL*3QWsw? LoxST,׿ExL.<|˙=+yx(z좙¦m#{/K84奍j w))~mZ˺Ut7cMkef_*&z:^|`ѓ>vE<塾H;F[ka SYʴ&>tRVs#ʷE_9ĺn{0.uv^-%%|XŽQ] wv- 9]`3g)Sf~.M2? 6vͼnٸoGڧշ[QƋw:3g.uq6<[ GhINAzMP}'s*5QXj.7-8^+`؍UOT Kqj;WO;ŧ`!rFՈ9FCU;Xi*p}cS)^wHml"3,-|M9)?cU֓ H{/HoHk=NE6۞9 ݀'&4nZ'T +`*+!{)/FJ r"ew8,C騺7}ytӳ_w8{&o{^ގsTzBO?<*oٕE#]<=fFCqNc_Gpq&;bو7zw_yS^;Jѧy֍16gF.qG!ulھxx7a6}[o@7ʻ6,RD~xGI&om7ޱ;t׃"IT-/$i =w k6m;SUt'0 M)Wtt$P0mƐE&zdX݅=\H(yBPÃ^6%\o M2nvG5KB<1L"'ƪ(ap 0Z% s> a~z^2߰(NW5L09^C~fB"l;⻘"0Fs PBPY031GYϖȓVy5ގGZ*r/''K%BoV V7\fHHqI])y+7M)蟞g܅P lv߶dAZ+b|lo+%|KßW?~9悄#8BGHe@~3]R1BO˗HɗyggtylZf^,M̄+tQFYx֖b_z]Utf uրCE9p/tR"E50L[ 3A{6~c3* 婭=cKU"g\2z:,SmF4::Vg4{iiJ%L:%%'*߶~;UtZm_ن[4`9-<YxoqE.q@шd_;yEp ڐyG.GC&  LK=dd4u: jK,iq/636ô6+.0:/1Z4>$  &X@$>CGip7KjPܪhJ6' =/әC 3aܛ3VednjABR}[ST޹ s0G~nQ"jZ: FD9m3xp!<4fm:Ӵ?ڔ9 ~wH0@B0yAiEq"Dhdd!Yf[4FKkJ~A~x5vL&!^62.d4^fZ*\w5٨"f0cH0/kRֳtL&vqRK^NS ]MľSjEuģQ$ 3cʕDCMb9D2KE뻻&3Z`!JLvۓ6e3,7'&X{5KgEYnlq#LPJ7" t҆!(ґ^'nIv`y1?g^|Z5[F^,V|э e()O/Bt,|3H,2W>#BD41 :IS%bK݈6ɠ$k8[pFk>=9/f9T=iBT idWIFr֙dqD"b6 1%f$uqrrrC_[r+Q~N{xɓ6t3Q2n *yXM!h)Un*ai42e8Z2>Z $3{}J¤̬{b&)7Iᑕ%wXx_h~5iMͨ𐪲GSmҳ/ֵӦ=夢z] +G,&~,[< "$ "jR9Mn*oMsr\^" K7DQ!iDQVk)k\vIJܥ2 -Ivboq !|'"6#+`R6}LJBO{^:JdT9پuR U\fImNO RV9[FAhYCj/ #mUtjFT}ݣTџHJHf'd2 2 C Cև 2{p!@AՖc !CC!}MWL6q֒lFE:"w6-6~/!'Ln&Ϩ$ܚ6l9j"< ) 67mCi[O=76Ph "JbXeU~NuNä8z~VQjWSxj9Rg߫ôWk:uoo#Tz}Ii.;F{V[yZ|+:lU@F&)*ƚτ"o+FIO%2汲Ʒ$o_M4hWU-g'Mv*_I6)T T YwQu[F{uנGn.7@rd}6i-&PNAҰ !Ck{  G=Dթ8 2Ԙa7<ӄGGH7c-a^BGpoq̚Kv݄XUl|v&BwBi/˻,29 \ỊQ"S=7Dmx7u7Rq.>bZi{׊q?PU֯l)*ʶQ^9ej_*?c*m$@l[wWYmmq!om$lJ`ﶯrjTMpT#FV)>z𢽊%z$'J;,A'whfAC 4ǯ̩;S~fiφL4E]OwhOͬ#3_(%Hh:Nvxne}D^vB=Wo%x>M2ַt`G-?tѼxkw8r?:L|?%wz Vq '{~ۙܧ x+%nnIAy?O1tJZxi2Θqþ8. Eʤ_;x L>ЉW̐~p25(h^Btd~3^ e'e-e:]ޅRZ+3˜TDGC'!HFu3'ҶHO3~裂WM@OA _vx_eN'<ԥׄ1`I>篴_EB#IϿZm]v*"4I#5>Ё{d@&]Ly^ڇ,&yOu!'=O;?վťL?u5=Fz)C_cDWRm!Ege?M:"7~bZ:'|n`8gpHߙA٥gq:+_cS8N.wA93͆Yy4YhX*\.6"c{X#äڢv6%">D; D_mb/ZթO Ͽg%` F T݆qA.\w_V=Ev̦l8 I$B: XϿ+NLP/q̤%sI2ܓn>*Qy~/Dk@>ۃֵDuh3m'BBo]X2gV.Vq.=zrЫz]nu*FT|w/r{(8[\ $\G,X=Y'X S#W9߾Hp^Z6,BS y;;T~f} :YI&|EM1W׋WS]fxwMBe'?t D1כ>N}D%xnoV{"+y} P*~ -K] 8`kAf,:!үV00T \Pk2 c˂˂@p . j['Y31r?HfQ̥hrp14}ap1w0FHͮEӭg"]0i] WE!|j[_"`}'h4V l{Vqca 3yZ֎ZH/&gƾ3v٬Zb{-a`3ni JB߂= P` 9&BqҸWB§XWiaQm58@2Ҹ8~` J"{d-{^ֿ%l`ZWpߪ @$:ӊ_4X`fB_?y_ZG7~"2 elwb(>~-ze!:-uGqkFҐ叮 r\dH`tEߑ C{`7z7KBfgkCZxҐBđBb^y+<_0OwmQש?fY% jK;ghKe#i08JSbJ+=Q-NK֗"`:v <ԒC=ARSfG߹۬te'JwêCHR9cz3͊E:JDRa)- LQ`5CJvU@ΨyFD$_#Ɣ b4 '\NwHK J ]y$UJO5X(xet$(v&[s'@@j]:a-BI5-5^Gbx ,6D 82ڌfH`{x^!by@a1?(w6M'alTK;\@fUv&0 =wekOWTpNfȟfY/|if/1 9I#ޭ>&f`n~z9/Ur:w=md'aU2ݑt2!񎸁-~a;a3Zrp9'‘9|t0=J],H$57r̼BhGO+ p Nj|K+D!ȃX]05 )Hu$\_ҁV }MV3Zl:<ʳ' IURͳ?u8iޞ-*gg6v`":y|VKQjMЊ["T4!X M""Jr3x%CGme殖BvM0k\ԹZbӱ`g9C\gyVƆG#D UR㦾c*Ü+f@:]䆍33E!&\ ԟ">dz$mL(-5z~wf!g owH9w=0t`輌Ȥ)c2]!.&Ld2 y<@d 7 `okB-@+W `*Va0}ZgPMw`PYŬBEᇸyFU"joQM9XtxkX^kX Ai+EOc/^ E'!X⮙mM EG-1![sldz;[^3kZ3~@ vk.|{y4jd\կZsKk aVS?<@+L>c)JCʤbB0Ծ2A$imӕ^(k6_]>O>Es1Qy JBQ& ӝ¾ >y-(+ O힮PSMqON':b6Jz7b$9RgCbik% uѪIا<:T4cq~>rH: Da_>|md3R&cNYQ$}'3VOԟɣKȅ~~ty}t" m((wßa\8E '5_ ϳàuOyO}za#ة5z!!Ȑ2dd22X2dd= C C!CC!dȄ>_$(]J!NYXP}QGM}Զo\Zk-^uE8QC!bĸzihL|PWMvOYkM2epU>SRQ'Uv˙8\g:M5]ד5]37+Ni \Y{g( VST8JOE%)Dcln@f>5!Uj,6]J%%N2*p!{ '2-jĞSXL~A%Kf6KԠwAcTZ ubTAgvE580WYЧxJ_Ow^i͒C=R0fXpq$:.RfԠ:jz?P@nU oWFD*G[/]T)WL)O(< #80ý3*X߱XD$D W8pLy`ARʑȗQ%$9So:yչ0 =)|p{*6uk ϧL[-&ve=j(B'\ȃlr@&UVRo@_L%'++SB7*rbYddָad1 X w",HZUΎu$/lԫ\79;YrY-ilO8k92'=Ixwx痼ծףqptW@ہX`ex .DMDdJk~SvN}>}\gAu5i@AH5ե@͠svL M-A*浭$Df1^5 NёVtd07z׋%9 gO.{Q˖^(XZͰA5VxӀ6Ї e2"N 2[l}Gw- \ߊ.bjئ3sC|)ȴ *wsb &hҢ8 9󻝢ҜU 17?20.CJ#M&`PQo N۱>VqIV٤ZB8\MzyÏֳz87⯚S65WB@R?2!܃6+ž#^ER5`*+f"u.<4w1< v l" {ﵭ%gHk8_Rx|S(o@4U!Lf/;~<09H`śKYB51EO ~CK0RKX)e5_{K!9q^pLK,o&j A,*W"wʹPńu>HF7 t}#=@IˈwQh2R<=&Υgs#`k{^9 #9A/"Jcmd륥xҞ^lmdbnLM7d?+,xV ($QlI*p=Hiʮ-y3%IO㨢:* sFg}R6tTTc?TinH6U[7Q UfM1|W?D]5>N$~6N KK!?+-i7DZ4-N$z!70Uʻ,DӌG\x Q&bIF/i0F-`h( J*WlCDrg<'6"g01l E =:d7 b6tk>Yb$9__5GafZf8>VCDeSq֠Z qm&>}iS;^If6v+2;o<TIQ&Ma&Z'QhK zuZ{m]H?*ĵ 6'V(Ǡ6~+Mu>:0t7b(QG1 1\PcXr7]X"ЄءTj4Zsub݆#5'4Q9 m旈F90')kuø5+u4KY!iR:XTj*;]['ưn5'& OW#i2u?P<5$9P-lXqI6g|#Z27~n#6?sY|ǂI1>\^uN[Ŕ|㒪cORA^;p͚o0%䦦CDYBnE2μ =C'.#r1Q(MvGAU"2C*?k w3 m|}!}v2'X?(1>fIHdfMzzIv*y*(.AZ081@3<&eS.12|40A E/sR7wUEh2O}sQi*tJ$`ʦz䡅1 q#t![֞Ps|5|){>*lyh`؜l8h7mL1Vѕ$~$_^\g^qBTt1y~3GZzoUJolcʃds4" 9ip-Zn 7&*0ŌDh"̎xi>Tpoaawu&jʹ־R!llp Z_ܪ eڐK|@A'[} hVA<,,ܷ@xxkНX~'A'1gE U~A*-z۝-7)ZC{ht2?/O'ofʛR `׃,QN]"KANXLP]g]6މGpe/+TZ-QjZ~ۘqءpȣp<`t,0\3s'Sgk9mVWmT(~R9`]-4ZئVw W*q9E@c BsU]j߹~>Gc阔L0Cm[$&'8XyQecg@{ɳn70"p`O j,9J5#'Zq-ݸ{"P,]UÎ:J44sӅͻ,)UV)S:HuԂ&Ǥ+XԺ\.RKƝ^.%t9UHMyPTX^(:_$'7Ϳm( eyr[ꪇ8X1&.l*PMD;M$ IXcs}O19 ,7T[lY_B1PCL| : n_l7yk;Qr.Ɯ]^8!p)nU;Uݲ˸1q9ݘϠG8*W'h/hL7^Sk4OTaa}Ȏ]+o?lLcEsWxN_OapX(91}d!mBڒF1y7:GW]"wAd)#KdUB "՗:Bi%@ |샵*+05)79vyEEc*'٬^<7ܠLBU!;5Y?^1ii+ac%jf`?$T}YkSh)'ݤ:Rcwz'/35kXծ*xF.Kv$VtB=z&@}IQ ?7PIKF% \)f^9[ݯ+q-Ê@="79U#e,& xHֲoK#*d6ֆM.zQb0\f]ӭFŭwUN1Z1r<8] [uJ#tl}ɘLn0UҔ %KH%Wl1À DeVSP3.oRQ$&щY,>:Bc4ώv %^;v|y~Lϵ[s=Z>%[cJg۽AO+ih U^mC@,zǣ4 >\!rC e/t-S+2(.;%a?'ő#DWQu۰ծN \(P\zVV y{J"se6B8_Q5瑑_>W0HF4}Q}Qt<7m C·2/e ݓwQWoxvWǜByT_;n B]?K JMv:XNvO;na1Ȓ0o \G]ޕ<{-64<2cZ$H;4bn;9XhӨ'%Uܛf"(.λ[:HlLg3bc#M,bX Gg/;6>̐, =Tjzp яq6W[BӁ FB_F)v>rDMo&˞@3OԖ&q$tPqq].ej0%4{z4b+pB5r3WXoqZлH]bҊ#wqQt£*!S{^W3O(N=ש %r8uD-b+'m{[W#^0rpOIҕ83IX9-%夑|2<1~_Q}& mW!}&͆*g`[_fQ[] `o lhݟJ'}ޮ{$xLM{w!UGYUb=]S/S {m̪s|J yR]JjMN+||FCq\RR'`LT8ډK1H% hƑ #Aw:/xe%MZcylĦ7Ss\'oa kWsC g|A~q"ɜɱW3b[?ގڱb d( ^ŽyH-0Bh!/a/(܄1刼ANx2egf߼?cv|%\Ď"bsʇüKLO;JE>h{V(w|1$x ;1(^c=Mt;=$sd}xaտKI2 %C^J}Ћ86> (r3UYHK?l,7f|x wh vxhM2bھ-voY:\h횎cƌ G#fr%z(*kӕ5"{~iIøְr4sҌk%ZJ"ޖH2d00aJt}YZv?[2ÍҔvPhv?r:F*DҔ)ɆŸ]aG@Dg!y𘷚![݂[$jl"s^&{'wa1<mvU-@벯 U=\c-a;FAz^]ԞO-KvnX_"^ 80ټ/>xH I> M2xh@LFi"' BPٹc"Rɤ%3-Ee;p](ޜwnh|fAH3ofk#PJ4/P ȆbaρlJsqJ~v Q3_Ļf6oft'qӹ9wȃIx"nht|u ~R* 7!7T[EY Br+S= pN|i.Ct iuž."_$ H]geRHtX 99t(`ɚQ)n_\1~u`5(޳L+=7tF~D4R$Ui,GnؒfeBtTVr:l^ Q{}/+]!BAңA> ޼'N;oJE'ED?֌9 Jkr:ɧkO+]SuJ;f/ !T`%"[?X$ DF%Ϫ~GA쌴KuH%&Fxy(EdgNp`:w"jʴv' x/ dnN8N JSB3B6IC;@'"g1:QsPwFN@@3WNxtO&qoO $X vnLBR@ `{ . mfOk[eBA$5.ȖCtRҖt.a+ʖ$/-]q?wK;)oHbG1D4l16?opm( `$;f^;;YɴKICoi17]Xꨥw?w٦@֏ԐdbX%U=]~QZhsEUi=h' g_'jOY s@< ,xIȨSjPg(xON7w~ ГFS1V:o/ 3asڑKܦgy'dH2 !C-(w?^O IprH LF@ g E.$X6x:p|M4 4FRmDkK`hjY=HFu4rEH$Eo|GS岣7OK9OimVdl|"ze{h-c14[z@)2Ds{݉+^/k~SENS< m6!#-/SD7l :퓵~92v'{FXkG-8h}pKâz8iȐ|oRP洲k$1h'$_s̪-NZc\Ҵ+n$6|zbE=mbKkuҴϺM%'cʯH[ؠ,(r+ < .b9L k0]}]B_srΖʦ;L3CS`B*;'h_y #ʅc[U+l 6ȫ&N)[U wNK{stojZUƟ߃׽"NjXv݊3a058 .̏"pyQߜy u_ Md߅7~_8 ֮ :,% haT stubk&20˘) .];˰ PTQoG# :cp@ܾ(~+sk`mlzS^Jw2sM*o}#C7j\9ܗYΒ-=o y~ G{Mi vkXַSR\a-W08~Yez0$K30Vu|yxmpW\jsfWɺ+k)0(ABU PT% J[ԥ/ 4gkrP~*˟.k &w+VuU srOawqkW ~Butw/;J2'̵2w0V"kG^QʲDsg)B5]TkBVR$S:  mBޱBD ߀Z\[:"֚M&/- KM(#v~N𩢳ٝ,,ih`i_U nY*=mٞblIi5[_Zڟ ]bޙZ 0K.[5ǹjXB:/Tb1yo d `œvAlk:, /^8)F.t@3\&4_rpMS`$ҙiޤBB0;,sm>,xSToe&sqRC鋇ҹkUOK.R }2L0:e,+&~D:䱔.Vt]@:)L#sQnPrs6zi=\d3Y1p,tF-.S#2/<v>~fB?ǘ13ͺIy:jv%jbBBK ^dCj&A̠?h^dR6mxzY6x1l$5,UgOzAu(oyRӽ~Cir.ԓ,Q!b'SU9;b2aZNA]h<+wRDe)r~ ա@ꤗ5hԇ'uGEA94>s5Lg?>{#oF܈- k|H"ǥt71Eq"P40PE連,H] ۛނE>qQh6ɜwCy41J8!H"qC1B?ID#G0X5a|K,NH;!v"HɈ*RFU"w <+T%RI.JZkׅ p-ޗ\{2q.bF͌AdF#m4 ̚m#׆r6T#g8vlJНd:OӞ!Ǐ?|wTxJ @L:V|h9{ t"<H,PA$!0=zaBa%MQD&G(w.@^b L5k\@]CmF"6h:⇾qW|~H㌎BF.b<:#|FQs&WIDM2a&`'8 !w/[$y~K/Z\Fp ,3fӛ:L5Ud!qlw zuρ@'t(ugF(=!鞨}h~~\?8SU c@@@1ev$N0 \hwp`!^!(PVeOH p:0u ~8<"iTWK8AB('NT_j +]/^P3#g 3aH0ao#T?t?;#G<~̹rx=X#QD&%JP,d }Wds&xZY2Uʕ%-5VާpBe|+W4WK/Z^Đ-an^Խo |Iѥk 1!Ə@3gզq 3r7nrAa:QscN;vPĸ$==Tt'>\y}ZlZt` /a΁@6mp` ZW: ,(e 9pMTf:> 0 :v@c|N@fz_`Cq2NjH6܈t&H4lJ\8 [rW_t.0*HՌ02ƚ 3XS5s\_G;Cc9`^!u5nzv$Ukl&M]2F'IL:QL*{}m`r 8d|3tj(h5j , JjK[ s n ) V6|C= }*U[Ŀ,B&fN x4-Z!YiB2.WrtbP5k٘჆TeC>Hp;(wMG"B [!k5\B4m[I2$I`!&M)8s5E%2hTf*ISM `)bq&{ B~t[ڨ]\MIrIZk0Ed}Ɍz.JX/\b-&˜|e1sf/b 7tY#<6Lh4-oC߆s7k 7nTټfIT9 ֧N_9!]YD\OOOFg1b5*:4@`B^ +M( (oA9(p= (2nL  r.7~,B/c_ÀTeWJ^O2kt2t=%sT:USY{{K܄Ǐ@B)p,HLR|<s;W< |'b SXx.d] u'-$ޥޥH&g*ںٴn笖ϮD;+*?L3+(0F-yMT xMs? a_{G;M~_XWƘ?$0}~{XҤG(: jvsv94 RvE{q*ڙ|qɣ[|c|Q_8iB?xtxYfpÓ5G(i/'#/V<ؙBb9yӓ*\iXٵIS:F=X<Ġ~\|>3\Y~'vϖD>IփŨ$7 ^>+̗آwQe|w%?Ue }nJ؇Vl*/ 02E"Ld3/93("@-|?JU(G{OHW|ʔbwEt: . AuZ *,z(]5u#̕oMcT)<T&Zl=#seɗvmKd 1Ydrܔv#*ҩsWU.8byc1me{ۿ^u攞3zS=uxu(*OOL cڭwPfj[yJߥQ>P MmŔgr9+s\y{IVZeOZгX_4\x%M7u{a:9p\4Vz3^"rڮ{ Fչ(_ܺ/Xld35Y)J'^7x+RIѫpbtcYyv.5m ZNYcޤm>'ERNGrEl1T%}_fq:~]ہݦpj͍#UWZrN9汪c[-fW)W\mc% !E+AeKgF6dڌĚʏ-X:o)JaZ!C"TӝI.ߊnz_u=:cH%ommGϖ&\`?nև\+,'/z[-[|6]q𒬠Iwi޸Eg)pۃg8A3.WQ˭WqUS\4 G6**;͍n lk,.˛nMSњݩ&:.@s=C83=AWn#GM9DsYH5;[>%Tt^ 8JM7{YtǚiM -[%piԃ2FWjn a9 \EǶo^³b#pp= \$ Xh[}M >|WO^0\o f_Ű{kݼrO+x: wHd74m?&Zqn]>ЋNՍIx͆Xݦ,cmZʹ/f}hBI.P6s ;c:ml)J9{\|]-1z4i\|͋tl+?I}d $ldzpc q\^ZBH_FU6$幺eWd}[brOwkU\8 x k =d/ r2(\sʨwϷwwzpe0맙wtfRvfTGKz"?2R&Ol4H-vqe)w\s*C;qqRhbwK[/ܵ>i[;֯!:7<-ijd*7s+U0}azI:;MIOUox>3_ZtS^ ŠG:گ+0KݹM%m PwˬS1.G*&,bL\\T͊㽨Mۓx:koE{ ]Ft^â$g6"?45MW|b?\m@&GH 5767y{[okhO R Ie?d?keBowq4s`hQ> yQqaƍM4dToemT4cޜVX2-<.Z[%B 4?I^FdAJ3]9LPk]N]y9wHv.Jf#wY&dSO?RۡѶj*iJy\Kneqa)yo~2Q?[ـ޿ʗu˚-lTOǬ]q0Ջ4;]M7p4YJf1St9VLU.`vW^ bH+=AR}4Tߚ{sRwH%hHEMkwn5WPk؀-43_*+㧐}z2s:bvOC5>}BK܂}·pa]hw}^^'ϟe-M FxuEF ^1 /wmQM9Lzq@+$6`rS[t;9sQH=6HU9)۱`Ϋ#b 4>VHUi1Ei+{UƧ$u]~1FgV,Xbߞ(8g,-Kmy;(lh`k/% ؀׀wb=@0a-'?V=H OU+țRdVGET]'jse5cvJI=vW%29x߭Էz\EYS3 ;Ԧ lz5wΆE (xa?LnnAOFmkzN]XxI P?_6ha-lZG\sr~,%-/1xK -Wwq}&8fKu8fW22 k5<kx.6}ĢA!n&3>>b]Bx ,Ʈ7w05;)AίI_cyuFa2h]jFS Z Dg:\M.1Xq.{r#,݃\ғfl$hi;: +<32J`]8luI|4?hոIpGqɕ Fy=1Z_$=Pa!q贬(4 ?r$cMBjcQ Y,UծY<5ׄ/6 A`?2ޙoTFFŮub^_Y8Io3VTb4R_QShUKe"ˢ22w%O" i8>w7_T|yb @ht"n&lV.*̶]b]r?EƋ.e)x3rP{ *zI1٦m3P6Ӓn\R8 ~?N"xOdO7t>mBs¯:[5Ϥ, H藘4WQl|9ix m× |5Lnts<L|]ٽ-.31 $G Uz| 1ő;ŕ )z-.(fٞ +2a2Qwm⬶%ʯsBcZnX<ʲd2n?(|kmK(uTeL$cHy\9/#7&l^F{ NgB) -mPm%@^}" %h8ݙA`?d5 i{xE BO]Bv?T -Pm|e6dySErVR[t/Ƥ딎y{\S(:! ѝ (Kjy^ᴪdbp5e^b >{aQ=IHdl{>c/>D%Kb4mAP%ƍ%/Vsi 7סka+XPC,D۟}b~%E\QsZOJumX|BfDFlG 2s D\3/aǼ5W~KOg2ګDs>a"%~Z7 )?Wt[?*4k=3𾞈l1WsFItSF4;1hNx8yߑ<ޅn#N#FY1Rb0FFp+~09x圵I& v>)㒒%_5ye^yܿۈ|};-v^0̦6bZ/UA2Χ^VIyF7~c+rg;thf ?nclמ #@zj,1,]t4xdQxĒǯgz/ A7abCՃ:{SՇV0-@iֳۘRz̃P.Z[]i,8|5‹p5e4[d\GߖңijJev@_iLB s[Rp_S9_^MQ~K jsPMRAɞQ&@B(^BT!q&!^ŏ%%1h&T'ۍoS-klxK Ga鿒)>z!dg$a1z@4(A/Wnie~ H5jAEIN\@g ЌrØе@Pg Y)Y*c |R>sDŽo q#OUx_H)*I^Z 0Eki j)P4}>XfH 7skp_+UR”Aw*W?~ʬt QK 䡧됰/o"S|}{Y)ڇnD慽ftԠ酵|0mE PPBM1Mm7ksFk7qۺ]Y!Ad8(Ph#mkP%3q1[#ӣ XAlGGX#);iOjI^R\uU)) $Ե ]. z[]- .=3)D͎2ΘǙr#4慈!B q!1111Q2)QI]XK̝PMMO$&&FT#ѭg0WHqQLU\p0"GEV&N^4.B.`.p.z-[ ` fDjxP5x9L i7Pln7T|DPrC0rdo=~|Hc,&$vχG揹G;Gģb߮tjף(" IE E"M )& IUҖԶĪAĸ.YK%ť#Ӌ)„͔3959)nh^@Z3d DBAx`7a=WB/RH!RR@H!@_) ) |؅c Dcx쌎` tHT ) Hv57g#-Tu[[fplN:5GP#11*B-)gy% 3ɧ15v9U%9Ʊ]%ۛ4]i۲S_](ɴgǴKv'b rZUnȹ ߰i&PUTak,;Ј1ڃ-prUYvԈ:LψA.ƚ[ᖮ:RBH{"v*mCNmj.nm[ 7G?X -eǭ\p\ ®4n t>OS-ϝ*I1r$؅[!Ǝ[,OQi*J}JNb 7%% UJǎ8W^x:5`~r{y2R >-8sg|%j/E(qDy9d7qR3[ (▘/I@b۶64paMí0Q^l GP=_ᶺ9oy-vuƨnXXUl`Z*WJE:ݿlRz3ÙnFMןRy!yR)B Ւ"sMIK6V.z"jҤR,E]TfF ZQI mܝ=H(ch!WFǪNi'c>EґNKf7MeV6A}7ޡOF"NU%:=G5 =dCX+RMMpϮ}љ.wȑr:=HB&&1僦Nl]Mػ&q孯V7f?: qށLgq ܅u֣CYV(ؕLa4(eG7R6' 4 v =@9k!-C)$rڼLhZиhkv<,T,Mw{ra(aa +o|p!N6hY T,Κr!&1i=;5%S{׶1U[R k썟p/+3ܙ'XVŊԢd ǘ2C+j!]eOʝdڟYgwȣ)əmZIT[lqN#ɣ6. DCH'bGOjϕE6G1.r[nW*KUVU*VivnpX:a6z9R3:Qqk!]c2q4 lˮ0Gҟ5ʬB[b7nMTi|+cGEb,<*cyQS!g*ơ#5u]qpC _E #, ){ҝ.Ulc5jc '+/:vw,הQD3*C1#W{`=(z2AQZА!DhjXTY? 4DqN; : $71I&Y< uRFOThe]s;{g*o+Gxa15cgWMP@[OurU{$䮤jW@eSG, ơsdÚ\ʀk,11'ىX<[eorUvk뀾9l(qe`|m\Wgm^ؖMN MI=|z%pJGukFJ4U+mAo yMQ6 ["h%EjE:m=;?4ro(폫sl'kב_Cr~)'\9=yLskUQ0R5N@s1fJ$n0ҩnؔi˦EWku5 {[ZHIb Eظqn_ʈp3Ii`.S:?GZ%nJ]I&A )DTƨ,_ ji-S拺#e݁ S6hbvb hS gͷuES\#nX HP @P ?8,)5Gy,0P{fӰrR\`א/( i@9&1),iTvBP{V)/xS-ͷ5ke֐h\"G#|AČGӷ$#nǣZ-QrqP/+y)tYPگ4yZ=)CxaEgf%Vli7)pg+=kS3OA\k8@rMq^쇶5kP)O<q\_Gl@۶wWujݎքo~ ?x:-*Ir$3g~]?kH?k:=R4ݵ2J듘y隷~FiկL)]]&l'Lj/΁UY"XToY.wT9{e/rӥ~d]QȀ(؟ J@fU5; 4 tX|vCK4'!OpKoʪ3em !SjYCʅ%ɬW`LR MqdQ=k6EDujD|q0dLd/Z܊n=zqOX5ySӚzu$3>|)Qms}INC=Rj0<\2A|fhrjZy4R?[ ` U*D .S(j(EApz1ݱ[ׇ'͜ZD5έ A">F!"`(sk ʿe$3̛hiFn 0qSPWE"c8XI$nI-ƌnviW[^HPLZ,MO& /I1O_\Pȸ\zf lkQIP輿 ؽ5UfZrySP6|Jò)R , Wu~Quˇ9Uz=lGY-5)^`r:ypNMӞW˴,.Ǘ_q[ٝm+LN4(YN~dPj}NKoBm霣R9[,oD_<{$ŠH[@yKSA "ՠ#?|i9=XAM’{5^grk@=>Թ`8 K^6z tEH˼_^W+ ͨ/bhzIք7.rWQ4;ZݘS"0^ZX0g ,bhыWCǀW=N*1ۏm){nV!KƲeYL4i_9@6f۰qA @$ԅ/ `rD(5H`k `r(@4hFPvcDcfsEš2+C֎-Z-@]pQTϱWuWD" @s,0Ă֯:5i<7#z:ԡļoNw?מnY!Ee$ͬZWV=jA:ƝWefQ-cITl޼l2NkPPY:?-A/&Xϼ*Suf^k\3#%ΐii0#KWiA[:F$5HH8*թާ@~4(0>-8GFSėȅhJ k|"G' 'R I5"Tq,ݞsG(1xlՀy b7l4s?z33uj:H \|QwYO8;԰aH#V҂_=vB<> `! ᵥ%1 å?Z6H%:`N/reNwK\́R3m5V:f3Do8ٷm%JcT׭򶹓m8]M5 #BbFغ>[BeVtzQejk3|U7H1U1 5 Aϧ˂TP'Pc8psm^ϧTWkہU|bARicٵ}lc|jfrטTw?mLɄR Q4.~s]H LI e$r9cv?S~g`ɔeuNd+Mk0 :XD}. Gcx3)< 9&s<1UXTbu ADfg^V<) *~H0XwsE>;I$u H[ܻ9#wu#<Bfʲ`w|={(΋OzD&6u0>눫qXeoRV5Hp n*:#AsV`01 0tPOӞ0ց,*04jJRhqK9&I1BIdߨ:󪌴IsX?O:~3WnfNitO1+ /(q0)V1f ]O&8 6DY`#$$n*|7=K*6u#asj#2ڇnܓuA&9gT$/N`j5猛؍:6ph9=i^ID'ґ@-W=VOdXH(O)gKsSKqZE#$ w֕=D:-NINC9{>d5`KW36T5kr gSvm=x nVH=hUN*ay\*73nQ9n튉Qx$։ d.pgp,J':?\+O/Yo%XF|CqS=)obi`aYJPXL[[DǞ"*'Dn+ ku^Y,Mmtu"t3 =' xBu=,u=t<qb3utcn,BYw"zU9g<(ًOȋ"Uݣ#$gtUf犔3AQscN6ȉjmw7Gcf|Z!3X4.RbRղ<*uDZGQ"G-JE-[אtb2cG8bE5?Ft61 /x{Ehi煖dm#"z ʇi-ϛPOKQ[-蒄 c#!2.2^b|2| ψyߦyxA7tHX@"ŸKfm:>Z#fYx5hwzӸ]_ <+W-L[=߻2MtP Zt:+u;Yh"r&+㔉P92x%օ(Ԓ{sk*<؅,U"&Fv qVLDl zkՔO.g S b#3v-.pme/sZ7[ЄUȡmة0UҢ96nNfrr$cL]̬!d>v>Q2ڑ"LVyt-=.Xm۴37BPYfER,q=7vS1|:]"֍Gn,jruz;KVcg7ˣG悈xC.=әݏV!7—G:*=Y;e[mS%ԭcE&8v}է{&zdǛ}sQ'Z.we4Dcߩ`阆FmR%O,{I4E e$`^z+ln30E=M?H_fݓcdbc|:1e8083NRQ/昃%(ja7:@^~^)@!Uq.1LgzksAX$Gr,8қ,RmO4f4$9e &b+UvZ%3TM|D?hnk5cˎ[!Ent]$Dg3^.8XyIM Dr@VQ][Wt1H&$cT\k߶1Z}ha`9EXEe=YXO26>lnZj7z7l#i,v<]E86!;8ys+r^&JX@HW<؅;8g^kLTﶭ@I$C;Uv-v|5)j ]::mjˣcY#koK%n|&XOFG:`m(T:Iot9}Gd 붡_g8~Of@HT !҃DejU"cfW|6z&(4mC Z#8z9sv*Ryt$uP\P2BNJ/XIu ʹ@ Qb+%gƒזGM;&+NwU΋`OX@> 3ڑ$oef~i;뚺fPa}\eW>`𾎡{A2)vz6r JQ 9ԐuMwݾF'R R$WZcD?]O|$˜.Uٱ.g)P/XlɬīsH.|vtYQLD┓€, 3yލ\#*ʼn??@7&ل&A7 -x6ӃwMXOm|Tt d>F<ݝS(\N_Ϊ5F2RfM%Wayx.30I$1t]# I#*ʖ;vqy;SbBF`PP@ǫBS8'n=v1g>]jNN]5u-UZK~FĐA@ WbӊYƕI_۠/N0S"V'д IfB^3*a=^jx#f y\C?:ay uabNδJpk]FfeZ%\p!:.J@tFjN/`!9#Mfɰ|Ѩ!OV?ͥklM[MB&3Dt7a ;ָULhŎ R'~vV8XYS-3(8g͸ThF2ImP*xQ$b?E xtֳw5]]w)boCXh t6[b//<RW24l24X)xM忇 V FÀ4Fzmy,( O/ .Osn3 M# Iظ5gVb'y[>JLa Ć (KJ)OH۩mBRb+mBMI.(/WdDLҎؓ nmҋgRM$Z lW3;|Ly& 8`cњ ;w2/L26c ' uv4K.d+H N:+wE8Cgia)Fbe0ȿy- x惬g;N{ed??9S6O1l!L]h ?E ԩEVN;|p v ]ҩ7][๶\PԄKT]|LgN+>#h*sԑ `@:@gUۓӟYN࿹s鍊E9xKa BY qkAij>Ul<Ů OA68[ik,AΤ "3'h4xdi >6QgVp53*Lt3R&yq߷&qkeXVYP+"ASv?{AֺM;K {dٴcm:bXT'ލoz hh/0rb>(-14vJcS#uPҹ#υFYiz^_n&5ƽ7/ rRܹ92J <$-+m>{߮(`UA&{ 'rc; wh[(CĒτ[F&S6`!w+"c >ROOvCq6aVx lC=Jxο5 >ȹ$T3GuVPv=Ч&pM<\nB\us5^[MxήUt oIDz-p,{Lgb/wDY>SzߞNDt _p!ˠѯW_7@BC=RS6MMql2ׅ)0ӂ@,ar _H.NϢ,[4k')EmL⏢R.+T@ zf#TFuFPYٷU+ͼ.LY#4G7E/jO1Qv%={#0Kn\ lBveM65//*c/Ʒ9Is^ =bא!y37YEˬ pp0`4*RN)*?ڒ}57:ZX_n{T10%E8nk_xQ%D;5G8(1SUSRZAgת1p*i1!u}CC{|SR\fZ%uj(*Vfh&ʹ/}B1GQ=((vdz;-%,-)}+|C/UHI06I񆕡q 0Kdn>}St7_{!?釙] k =~HD2x-M݅ mNwgko~3xm9 )aЪs+Lu%7nRrYǭV(45Iנ_κ4-g,!2.Yî4^R |&o5sg/ҙ&mb~A(Xq#8")|cU;݃׌Loy7oMCkkvmM#a6$9pwJx%#r1F%8R0udP" )P }X|ڞ:kE]/zc|!tġg;cՙT~őB[ߗ.a#E6C)y.G]&gS*c)$B7yCؿx:Al2s)Hf`d ȹp|kwj&oK`⊉"Lh~eN=)]o<;t."+$EEA.v($& :mōC3 ;ZD[@dE_Rc LP!Bb#6P{wױ:rG0,m.`q9j ?Pz- Lҷ]T!2֜=삦{N[&RU`'6-PAY772$Pʹep ̇cUlg2다znTM#-ܶD'Km'QL_{X1MiytKlܺbG#/PseblY^}sldĪn S*!ob ~VGca.#-PMd%C̘s I)!SV yU !NaW .IJ4-6G>QQnorJ]k"q ]=A~FVr&ИˀJe|.%rAm]i]9.jDmIkd Z0Q]iϘ=k> 53>^ smyT΃ad$GWs[UB^=pH+a?y +1Tퟂg zIx?P4`P%>uwN_E;KR!HVZ0^ږcegB콳,3eY Vކd=cóz~KvyLE`A |CNb[R{"Jtwm-n>@ c/ԲCZ: ;)Gj @f{q O{]p3. -KjDۨK ,l<5(ۉ)axpMF] ^I}$ЈY0 gTfcqdxB譆k2`#bCK}BF( ڴ!pP P"LPEP"YP C!p l%͂uz#{˛e s ՀCH 2C>D?b:Ќz>%V \ݺXi ͹h`Ļ\[ٸ;vҸ,hХ]LtɩS3vĤ#QԨ'gDي42%R닅EO<pb(& [T2Cv de?әbq{}ÍS1A8vKx-C!Z)~[6w.IyCvq1 PԱtyxŬ?0,*=jJ{As59Ul+8ڑFmN-WZwgVxh5M :0[o`z+QNIg\T֤kҤH:A3 _ނ!@˴ۤdjRSup\>\'!eV(V~͍bzЁ-8<+|3citHG *d-e-L[N_$ALlc춹 5(uAn6a;Q< 2. %C^:7%^!S"ΐ1=;!0]›a)SR@ҧ*#&<_ b8[z$F_ I%S>H#5!Wvzx5E$dy7at8uCVE1oWIRUNB0wyh>,lTrӤl\~ֹ7$W?eOi(E2X(KI"",.v.5KR~vx'}*}HQYL=2XDZ$ Nf$b\aO/2XshϑcPo ǡojYht×`K(i5d-YٯmcY8!hkY|ٞ3P٥ڳ{ߙpZ}bY`<:y5> `~62U~c`0B|L քI.-f}$Ί(.<"}$BTꞚUF}^Á2rڌy⥗1mpSϔlW! >뫲@cl6z=X{}|IШge9J|4\j&7:"0΁4*g*m< AJ>j| S)HI. q5@ã%a z{R2h- 6`>*(PѣhS|2d-˧V2򠈓$4NP ^Cxl2#@FYc,;kEҰN;EySXw$2wP@'`t`ۅX">8ݠU}w@$-^ *ڂ $ 8ߔ@iojiʝ)5׫֣QLn[6vf֋@ :Rk,G*?ȍ:*"֬}*DN_ҳUo2+p q~ 26d/p垎q&v%*U߈'?VROD¾:]JBSve3LdۦD7|f}ٮY*3'~ʅȪEm໒;eCpX,bmw60Yh,,a31{SFIS\-q@W(.ZC=U0m3js8x4q XQZ¡3 qOUxuKؗTװ@>Og;3j񬵁%VOx(8E 5=*0Be5t 佈O:5<'mFfay7IxCGK[sMpRF (XMb h8y,޶S6tHn&W;"ۥs-BN++%6q<`R"R6Rpl^V9N|lt6ImjEj5zwK3D}]pq.#!

__1w2YWJYp݊2aNWAV%Am`H@#T 8 ,Jm7fhiG Xd嶰1(6[UrwdjmX*G¦aM U9xWtUI±%eAZR#Bo[Mvelgۄ 68%p 1ŏg-nArf¤aZjw.v ZCq^"(j#NC'욱Y۬T+U'mroj7J*:KvLOSgWkQ}Գ!.>oDc@ЍYsݕ+")^-$dh\pp@L AFA0OqW S7DВ:G_Tv >[@G-Yh]o7KJVU ܄4ߥr5$?#c!sXֵ?0Hp 4䊄Nᢱ/o_O}rQ QYqN;hw HA,wzW>rAmv^&R| kYFXpO/*Z4)d*u5Z,l?O^jugoﲺȩaԱͷ cx(S n$u^?bXhZ)P.σh@5^w٣Ç;B;"hiʠBf)Ouvc߬,5cIx/Ѣ"x35#3W.{e g720rqv̸Swͬ#^[U#֣!1r<]i3W*b ,(=7Ag9"ÌhKK`-`"'TX.4 ai*aRcD e6\wcd*tZ[ MX'V-I5npQY(jeA\LZ椸Hʶh~_]yL92&p_"!j̗4B79 M/ڡdxڦo0[|ҊFpF5ML|a_Э(D FwhbhF)/ 6ڥ^T#pAYk)Nק,(^KHA-4MA{Lc8RĨdt(gנO6=`[|*PQ*Z(H* 6C h7,ۘ9;wl}L(Efwz]йGXb! Xthd(7PkaKH004^{JI ,u</Qlt(uaA pp(>pԋĒ625ڇK 3Qy8F#^4'I)Ve!F^2-3J`1~Ƿ )Xd'0F28 L7(CrMPIƸmn 7 ǀA&cOsdC{Zi0x"A׊ K v8:4.擣&K767>YoAу~  nNq8N7Y!І[J~s& L> 01ڤ!z:bB댵ԻE] OqU݃Ȍ8B*l*o 1jo q ]u kzóC)Q 9 [EIDY>KY7O7rtq[p ۸3tx׿ Gz6.N#Ȕ)}vǞ|jFXew%5ղu7ZQtn).Ŝ#^G l_효ȈHU,nң_-(,\0uxchdhOGf=yc'[4G zj#Xy B?m:j@J/<tCxb^s(v!z#RĉL2-_ "еRF%C ;$JQjv5u Rp8}$urz{ ׏tN= fE9N'=ĀY:f}KA".F|YgT+5.6l*8(p0s -@vefBdzodPnw03N/_rZF?7}EӖ "k%cG:{yR-]KLnkM֗'5b r$8B1/q%F6J! Cuܻxȸw- E'ͅu`!jB8=Bi&,v59PyޔRLX@WTe;qm>9f#l+ir,@WEoVt 8M,VBXOTp7OBTQH aՠatއ,ʂ3 T/Yo\;湸'Cr0>B? >/^ƛ!WJ~787W% dij] X7Cxu!O6%Z.wDb_KQw5Z<QxvH|ɎSu3=%!XZsrE@t`}8GOצҿi7]ʲv+<~aLLUڛ{Y|Ćғ|B̀JHr>[E5& 6F%P!(E ƊHS3rA!lU ,cb߆|oB|SY  U3(JZjJ ,lD17_Z/_b -q2ՂᣅPCSc-e"bV0BIb1Mz8!4~2J5Kgniy ;n:݊E<n zK7s}q=  ,}5}#-K2YR@ :S$l5A}A0}0Ůs{^PFQLl4%z.7 +vr=AّUbnHc4K`yDirFz#,ۄ߉YnmcC/1AkQ =-;sK$V5pRBrt^Eaܵ=<9yxN~ס=]`<%8ݛkµk<4L@ T[S)Q';un(Hr'[b{ U !0@Xбsvs{$6CS) =}|ƦeĦK3%:3=؝vZԂ+UaޠٖPE}ʿ(R۸}?U;ҹ"Ĕ]ܳ6I :yo痓C92>C  wps@[B}W:WJ]JZ;w) N*]n)Pj Cl_d!->24OMcoX,@@tQ>Ɋ߃;z8zyT15W*O<}ZұFz~3.yOgݰ o0`Mnk2^GJH J襝Ɲx|c9t<;UJd3RI'QRJ*L8jV~Y% &18<紽8ݸӅ‡eL3hHLu9s*1εŪ&b17≠9`]VjMK҆JgjXcV+eQ--/-@C"yq/)>6JYDkfח8[܏8@6"NwT5_ٞnL?jbڈTC)>Ih 'T0CuT֎asImJelsOo63oi va5(sk5 PU:AfJ̝q'<+$槿)ZM'&*Zs'>ȥNs͈tsL7q GKw\ALHʠN`H#td@8.3 '80ݚG6G> B HN¡^6p`7rQ Gc'?^zNxz= ޭyjP8w+z3np Z2zMjd:fe1~uLR!-o$fg*YF"mJj,3E)6$2= q, e넒 Ğ.ݐI}fm"D*Lb]َnznۮu%?DxGMJmW~~vZAˋ9&PѕּRsG\>qAtW@9y'?ăpu|٨Iv19Gxfoћgl5&mGBWg<=j;$z%rE:aʘ"G,)#& Kaٹl<7ցmp15+`* $V~Pf$nfIZ5vk#L$LY)*DO0#&т#2Hx-dž&9VA o}]5gvx8Ljl$21*'ӆ2RPF L'P HAơOJ` ]-. tfTwB|vʔd' .-ȳc&ٙyWΉý"z9XOb  ~L!7q8\7/OI]םa|u}ѠZP,]K٭*5XzQjqmpbꫭ15Um-  V8ervB;dV ˞} ::w)3J""py2mO`L8KItPаIމ_r0R3a`3 RLN #- Nf(xXnHn?/Ɲ`!hJŪ&>yWi(_ҫ1?}~iDS 4Jcн-Mgw$`\Z7%)츨VUt@YBt:]h BI햚A P!KCm-G!;iLLmh- ' UfOu+{~ ;Zwѭ>U/+M~JPvK,eurjT ~Hu0U˅eƋcqp@G1wun'w\;/Owl2ߢ=TbÏ5r$>`j+J]G0;;Z{EtDG2񭖟}Ozv+òocB>v́]! @݁^G9#5FjHה!P?gʹz%Cga(h$zpA'pDZ !kaOzܗgJ! CQqvawSo;$N$~a:uMŸ Ț@3L"d20zN$^ZUqey4i‘cf3@ܦƦ*8C4>٨m}KOq@wERNd9C5?my*`Q¯wE>\.D~P0aqMxfFuhHX"KvxJ)0bx&GDS/7VVc2ӂey'tGLP-1h~!83’UȫxG^jGͅdW:?}4 1,/j4%HK9Di5t)NڱĜ0ClRviغKK ),ĵZ@%r ʙUE5{y 78e.S)ݾY9C5MLe gCeC5sP^iAeP\eBkϰgҫ۾wׯ'<f(C@Rz7qh(X&hP"@83[@Y 1Pc%nScwm S h?Sy6Y҄F꟏}}?x1n_& 4Q Q*kf)ut ɘGNW`0"rrTX6@1Vo@4B-K'C] >D*n>0qPߣ0uΏ>ӷ͐͹J:%]m2/ʝZ8 "hhX'*kٕiПNm%Zrcv-, d VU· |ukNw51pk<`^4-w}#ゕb' g/Yڊ\kjef3 MȄ]< Fv;7`ԩX9OC[ Uz:1'[k)>ʃj9GՍ9fNwE\Gntc=8v6d2s\ bCJ.n UeH>:$RG60Ph1XNVMRkUr_čXuhKuҐ"HdI^E-E= Xyj gBxtE#f]Z"JK3~Q;IEc#LsrE~5OsDɏSG.Q 62x$fb='!3XoeQd]XЎ0f,$%z@TI}F>?Lm ? W֏K)qJw! ݡ+RO$mw r%ض'C> ^}9".UBסZ$\ui: QV؆ #/ CcՀ5pL9rDֿ9wdqqnoW-DX=; {J$,b5 8d:O4f>n%.YI 2gcv^ŲJ頵7c5@h!~ź?(Nc:b|p\z G <;NSBT]HF] ֒بZ˂\B2PH%M@AdOH<9O'wq.W6aӘԘRx_uUw`Ӟ-1h )JT~1s.aLnDΣ˨qVיmL/_ԭ|{sz[-z$7s@V@Pwl_-:uوt}*Y\z @mȵ˜<8FܰwsgokdrYr*EVhYmdz0IIO 32 2&G'*X9۞bZ5%T{pI:^I'9lqɸwTf ZgץJSBɰ/'`73%ICC/*M6C g=h9@X O gl YSk3c (vpH7.ѮO=BTLhD#ш)ACC6bxJD<C"=8cXS/ʴf.{L  %rӍa n $QȧW.`<9buQ]fyݰX7+6C-߲mD.f'i0zabN<;LUR]7F3@$ ,]_b>k%;\=뱜[]|JV-Ddžh΃ϔ0țDHw׾ţ`~5|qtĤFAH'K":Rf,U' Mn" \aX"2EV<+DZ Q1Xb;<ą4_|v@4{V?nVV-{ζޙ$ 9^ W8/ف[ZEB~;T]Q0( 6C'*@,>ì1>4'N^HJJGN+>kLFR6SYB[ǵkPJngsx!=SX%1׀H?"%iHCRy p1~uE6+ZpilgW+J53U'b 2LPa; #W[=&2@fߜ28e2QFW œ"GR¨b8JS4xQX}9'/:0C0 bQbߢ X[XOH@*vL1?ڋyk|L)_,Lr3$XfS&L!+67qu>Q lZXYQrtz1[@ 9 :ZuqHR9_d@V0`v3Nb`{!OG m˜v@`YVs)v҅MV~`:w dRvο]11WɁF YT ?CMw)7GuvƈeU f qZT9gcퟛp[ފK_FNݔMJA覔#ǁEoO>u^ٰanV%1,* #p`5Yj34`dz eDtDVFdnxmЅGl ,*cOP7|miR ԗu5Nթ{#O` VV)US}vm!1̏hKbHϰjþG5MP'Z> ϋCĪ謹`eUK 0m>#kf/f 1J,e+:P:K8uVуkʉ~_P huP"%!M$|5W+w62'呛c WJ &"D)Dcr^.Fي\ە> 7p;k 8 0a3B[ϩ63+ ׸5{T{ySa6SU8x f2{hRvo#y G,ܦRA_5~Y7|Ծ;!Xܸ$.DPRۏ~E1ѻ{~1kn卪kâi 26iz:zli3b}}'@; gԣ-,u-dlYg>_dߎQ+ qFB6Vqu=M~ť&~xywv&^ $ o#ǫ~kdC12qhC$oe4aAcq sI^&haReaǜV%CKjH^95}#6&K=l5*+x60T B8H90@7PNá6.' 6?|AYDA9QCW):@@Xc3ԗxԱDp gҗq0ePW ;xŸ,z1H̊=f)Ȳ޳aM,il3i7[7m!CVEr0gIxV@;{\W8'X d[g+JޞKC8 lO.pT9~Q9uȴSҕ7{ΩF`HC?J)N>Y(;w"O4ͻ l6ffr'5빵+wX؍7`n^DױʑI2Ӏ?#4~#f02FW|߳`#P|3 ( &G2u$\XentMogfLN % N%ic!]ׁ'h]Gnů| b|DA:y9+K9è")v;8XبVUn.džk)4>PPZ5.3f\>iי@܁1-y4H$Q;桔%H< {; '|vrHE@0G9)pꏮ\Xb~5t[G'DއrԆ%UV FoRԕ*@G1<) 0ᶌU9%9@ZϬV'EnFwX!'N3rAG5 ;*-tAӤ)r C67;bw%S*hWQ`Bi(+'dPyߥ:ٛx%uրE`k9JY+'H2Mkswȥ  XNaCg,?g:B=ar3{goW]PF߄%s2a % opEYO&FO&m.'s oO  ="*ԱR˝PX G+>#ac.鄱OŌ_G1+AGky`K$ѱAq‹OiK_.vU(BA'ncLq$7k`C#O>E)aT]JX>ITIF'Áf+5caj]4i%1(/7@HTc)go^{nU^;4 T W'HCd"j.9 >x<|D%<'56>]x?Ie$(mST5Pظ#V-ϕo]dy/K'E1S„ͥlHh}bfHti%웺RMF#N O1X ;X*ւ. ߍ44q ػ: g1oA齒I 6Bm 5"я ,qL2 d~zp+DPPX/ }X$u驕׿I^ۦcBpJN,l%;T㵾.o,u |Al"xqD!/+NOh3U#Tt~Ji;^L!/Ge]ANOwʣԍ':E9*8=dhRi$T?yRM8`? )qǂ CkJq;6"kϥ:  up_U-Ҙ>S/_ͣ.y>]ɬA._Fbx8z+>P`-Z\ Bd%!㳗j|5mexզSrMCXQ.\+L|RT!(GvSP 6꺤ib̯QQegK]PYY}c-bHsЕ?\ςGH 47L0QS-zq&2~@J8PpvaJo2IF#{,[v|z33 %Ƒ6`׏iƝ"apHA䨣ՆVPc1ICX ŋb=.dC +C?6Kn11kmOkR9a% RU-XT$*FeH5C[mBvj~_ XԒ )%1dzY?z׀~-`%StfhL?0ITn1 ɓ\.5{gLޙ5v) gbFNՃOG-b΋).DGDra4~͂DcSN$.@hN]*~s&HB?V?f4 0{a,[.#@]PYS$@V;+wBFX@򜴍ۛ:H],^/1U]fYwAٱ(A5!xr__ Jv6@#xZN|*WkiKLS#5G-.nZ={zq wBjA;bH$Y!W gN$םx&aQ8݉bMT2"V} 4f|^ck%4M)܏DY;AwrilR6{Ǹ.9$ }+57C +h̵ѮN[UH9r+\dh`tK 92}=<En_/sCo@cp9py>2yH/ ROuE1?dcZ:FGC>Ibsn [ ]n#J]t)B֜6`q\a9M WR_Ʒ~rZ ѿ.k5'c |ISzEf=QJ;Syfdi bИ `$yO<_fCgEOұ<0p2@b]GL8\R&;D,r+-c1HhH O?!}"_@_ KX F ahm·>Eg$ɣk䥡Y}1ZeI+`chL14A !I$:b .p> `U ~1$6 ۚ$-ߑ񣄘_ .wj[I8KHs (nX*04]bM*~ YB1Rs7L~S7׺9"Էr3pD˦Xκ YQ]rt]ݯ("iq5)]mRa}W`m4,\s/pemƔ 44ݡ@X5)6F>[k({y3S"V(XM5(X]Wb q0-{"2d#0p<'.j2ؓ94gG3!!TYcpfubҁrS.E ,64GeP?,GNe Ou[H;CWX.w}G"f5(e,0d*ף-RR!NCNLW/ZXbǴbV 'bXϜR@zuI0] .">K /-#9]JܲEHEjEح] 04-"i8!"6!_u__hcJ%Ê;7m*o.~cr0|Ͷ uCq ږЖ0Q= SJ>>D=(ke/^S Jż ]k2@ A &J lG';4rJ'٬ U2ߟwۃScQ*Č% /-ߒO!qSNo9u?bGZC+zϼ+!e:\E`~ڨ_b>(GSWgk[U> -ǤGdWX O+PgE܎ QzpkWJ:hjv9;l$43QD Pa _{2u =!^3uzـ]&b+8Q.]^o)jYE(8[3lC'Xu)x*>!0h Lh?&\8f2Tr66 ,&B3˃(۞MWȷ/p5 ^_2Y ?N(=zW@6(psNɀlĚJ[m%CR1]qcc@/ )?x)Co62v )C#3r_'4Y`ȏ;ls4cC Q/迂 >@c𠛃Vx"^*߷J`J n>Hf;y9r``$ŏN#􇿗iDkGf Z=N8DM5 ~g*N_k[#ˆKcJj3łJ4f7iήrP?bal :NbPIZP4W;mKSG*Me0!Gn:'6Y/TSjahާrS%OJ|eD§(8S$\Z=U_qcE&W{rı]m`fQ~A`c]ϰ43 țC wBCD%OwN$ǡx]>2 cyLbMG0$'N]QxusB/(&h/pami a=7`>{|H*n)'L&~i^ ǁ( m=Hʜ O;yZ[s){zSryP0}J#+ 0u=ks>`m$n?QOhF2(Ο+`m#G- 3_| YPCwu7k a8ZY@N>y:gbcbD<5d`S?Wls8u?&8[ W2B\ɗf(/ZG>1i@Pp \qGٕ$'zj vu_6g-.񪋎gt_P4*֞Zxʷ5jL`冏UceMPx($sd j 8U<[Y⭑->|DgA )ʉIqPx8&\ L/û x@MB~6;ql[yr.5JkBRHuj}capKY ^S1`^?$ U௚Vx|xXbIv2"n:(!Ɇ&&YfvQQKn|Bf;GtkOwu6 k`M7CWu2N+l~̗#;Qodhs莗 f7\ctAJoR?SPI1}/BT Y5hB<-r DkTSDS YN .EMt]O/1J>"&eyc k@riL7av q/H @Ft["Ȅ~0BHTN"orB5'X }CyP0aT~#S}!w?%lsKZtC Gj 4Ǝލ74q۾% dMAn=y`/_`c-=19p׵: vz w|~ ګ5݆2Q)/ BZغSUȣ˛@TOI@H{N7H@;gq)̚L1V f=\5e[ Q`6{5x{D*)+;J& R5EdhV74SjrZ=nHX|p YSk v~D9f']`V4(+t Vx2ی|T.:u+zW9$DGʼJ-dpJt3-:kK!P;>`JMVLd.x6:{?E`.Ā/D] İ#wxW 76HD+?)W@z#^>_;Yy 2Z哢E:(WK01p-:H}jϺLεjF_SPdh,k6޶9> $dXtU"hŢ>=BYJhYŜy/l2_!ג%p\=<514!^v\,Y uWN&Q?F 9cZLhK]p6Du=Pp+Wl?_c{$6Y_ͰPnh߷Z `s_lJ[4S_k4OPA>5/8nln`ݠfr{0?(P jH|b'qDQȉYXP-Oܢp-']cgK( ilY[̾͑ـlkٝX5¸_(fTAf3gME_5zC|G'J ho;gScAN]N=ECb܁|>t%F in}uJ<bAn$m݈0#OɴX `@\D ,rg+/|P̾tZ.{0u J|@ncb+$~/Ў>6b)P(m\21]?WU ͸d0c'K[w[K h I'fYơ-(hQ"I7'uEuoVw@) <QƢzWsMef=.v&:>aL$bzA>2Qn`31V${V / ւ=TȀC]yR( <)UJ*/!.JgPi~J!j\v]q7>,/w_BR8sr[u>'pܣ#3^+z`u`v;Vs{ZoFдG2Rӹ؇GnjDQ Wh~F-Ha ύk'n߄2ℊir’GRu`Kȯ[BCeŹ;ofgDnm#߈jLÐ#R0p`FrtlW A@T Bb+CZ$2&თ8Ĕ\-HR;)ONgj0{-dz(u\Ca?N!r;vz8U騀ċ| i|\I) Y$rKԉ)u8b0—B)6j^ϐ6Nwut]cG vNZ6VCA^ :Y}?$<)PP|䘼v}ctGOOXqҲs+*zNn3^'[V&dKQoJ', ȹ뱝 CsKDZ\-QזP=Lx srBfY5 2ת`v|hΊq"TcWd)"dʠaY>~&ؑOjw#;OJ5UkkCiߨA"߆%d^lH GH NhG\s'eBŠ1P@](x2uZ1\D0$ ;xBtm e#* 6FEES{ ݭIBTq#8m e>2/p 4FNU3+f4LJԊIp3ܕHˏɯff\\a#"J#i'?+ytvNK "ry~ Dǽ+`>qpN^ߣM]oEj">8<*U6 ns>OQ?LҵBk uxM>@`f2gń>N-gQ$f7=gleecI/?#5+.: 0^?lHi<0n*}TEl\!j^ <,\VXoRbaHoU2}(Cǔ0ʆ~ےJd]#01"֣=NS"Y`wI㸥/a-O !z9'ؚ('t"&1FcJ"x3U*/Ȉ9;%(43u 8pB@ẔK+ @9,=Wn[-V2]"w( r G&QM@?:|@]1J1 ʵ |٬[7DF+4r<\5ʡ(/.=#E0ZC:'>gFZXoj5K6ޚT&MMM 4S+>ͧ q @8M-FLJGճÉif %6Ɲ̶|snvgmX2zFnyOV\d=O8#oI%2{0F{{z%%TL&.ۯ30iV31@c$Ujscj%kX]Cyor_!FBRy8OA7t ˉ- Aq=EFa6FuE{ S KK0]%KW,XXBcō8s"챹0U,1$ne$j G#Q%RB<bo}`ȑ05ݚ|9e C$,Xxcگet &St q O:)]Qm-#ua woKt18{%kDo S|=^%?T<,W Hdj a#Hh Nwg@i5(=L2l&\p<3xsLmXᨠ<츎YT ⻌F9(Yo> rAHlUt ӋE4K q{jb2wm$q=&'$ۺҺ6,B[ꄏ{ϦR;Rfkx͈ 懨!%7{E?u%U(!#Hr}cx8pu lhֻ^STg -ѷxk(F;}׭V-lk 7v'`p C#kY-9A(SSX S1:q*h:b=I $ysw,r0o0 MA:bonR /$p$oDe,,K H-}g^VRO) N[]AJ>K\GWPLLQ;(հMXxrwAP]@edfwn$J Y7οSx-UP%=:>e^C9ii"i)k#吠17NtVI&GR(׏H8Z3["Y5u,K|3'SFM=o<m\bqe@[c-td%C"M,<ҽ1E~Yj[xX*tV^TRO rP"Tgq>3:01w1Y0N&~hJɤ䵗'h]terj +" . KF1 R 4H$Ko}gW.feKLi#jpIcFT8k*)j[eGF\Q;:N/1GaL8@fۋ\lu^|_9n#2Y.^{}1 dNƊɁ V*dٗCBĊoKz3z< zn91J:,1}j;!;QmcPQjв0~g r@/.g{-^&kݣW˩WT,nUbY>=h0۽! SA{^(,̩}[g͆jحus,-御3!}hq/ٙ0v>MXU<.|Dn$;Oo5*Ke9BfJ Ss^=;AW% MA?كqAyKOnS=I^:%d^S{j~-@A 2ſBw[N#G&P:wB qp JVDy(BB/Gܲ<0h`/= hwuk5~ߒ(zl 4ܮFʼnfA̍nqV Q#KҨ0'Z!Ź)͘"o 6MI%,+=}6[$-Oe~2 ᧌2M:]~%3%eMlq0ϊ Yd<9s^w}HK0&ǼG'"=:/rĐ6(W9|5Zr|@D\~^Q0EaGa<ĆFto8p峚Q|[xqײMbhJs-' YZZm-PC&u/9s ;r:M}U, 1G",VʍKn%`ҚDza+MŨ\L@eodqp"1J0t֖?I>*7+ʗ!@@|S"+! CyQERQ .ZN({Xә L`:SwfBIi[d׾bx2SD>Q?Ȋ/hka[y=ӹWv7c.3S%pmA[ahpti`8EL2adHtL|E o; h[&,Đa*-A Ja@>5>ds * XsjCGRMvlvxe.^z(fznrێkε4lep|yDVW&1Bj-ա2C1nT#GC+I, ȔBb՝2옕&G%sIRT20C)hYkے^4雰e#:U2%B3vHښBDcZ@Ur#20;L# Q{lv@ev >| IY#ctq{Th`ٵ!hu'WiPyZ̝Z1HR.ZxIu(Ռ}qn؏ة^rgzYZ[\{jɬ3^-bS^ݱ?|-шٱ7bŘ٭^f-vQƑ!:w|Ԅd9O`g"n8ª2#N)7RvJt7Iu[^J֢Ӣi%2u[nFGxP%L.%.nl{GGj&O|ԼP,؉1=_8~:t& y!_e]j\I FwT7gyQ,/Nm^r]{{c8Z3RM*NVy!DZ5]Ӎ9e!< ]HNX:ES>_HʂI NvtjpRݜ+kXP+콚̤6?6ĔvJnHjIBvj蝃>e%.bB^!?HH61XѺtG oR{rl$,PHTYYl@@ 3aLC-?#^ǩû6J``u@^cF~R} -Yz\N /x86J-ve90,!]aw1,#$#VE>+jD@ylgć0OVIh˛6 {*eBt!\ؾLLL;.*6w]bcחh#gBMή6vx 6K-jaPWwax=NEWYp%WF8t)]ʤkXFZ̷OoOHG ]uW"tH)pNtĉu>rV|v^>H_M2TF2Pm^Ps:g_[%s 1=s]Tm#z'"6͚ͅһr!O̓ч/A8eCS qF/5MN0',n#=ox3RD ﹏.nj]#{<#Nn῜s73YאNr95F v1)S>wjb2?F`KZoZ"e@cCr!wih3͕,Z0 jzh}>XBBfRj%[na7A ӢEʁ`qPb6LZ8&ew^Jg5 ֊``I1QOS/"L1+&\X.VoC zĀ>,?hT[,E'0#Md s\5kגIriޜ=. NɏW)y%6 /I!-JR ~d,o@1RT=> QZa`C=w:Q7ѩE"Uշ/JB>T扑9evdA Jeu^ wx.g! ]lG 0R"%rR?AX8^_dZwCXo[#o"Ԝ~eەƋϣV7ޞcNF13)F,4gGrmX _.1U*bq]8iD;2&'*@(686?oΎOz^Gcñ"O:5ye*Y=4BN_}[DEi2{d5ak22,e7*% ѭ9g&A2s&:>Q \SRi66B!bQw3kHiGwVbp7!,v3+:E' Y10#tq ̧z 7S7JvNJv1()'C+eֈ|_r Bnzh{O 2elřO9!6+5V"s-0K?Q_AyQ=0YÞ>CԳ$X*_4q2L偱`q`KA`a/X lo%5.h:AƓ4]^aVZMhRy {]zOMHTԅZhllIfYǨ}t zcn+v3?}=BcGxcrǷ2[ ꔝ8 ٧IPg+@=|#ɷN^3 Yxs;8ڬȎ#@l>ʭf]W(x}AʴяfsU#~ߴ6TҎQY-o7t A'1{M!U2MY7nE9W,[8c׀ׁ=Ɛe#]܋{SP/*C켝e Tgn4@72(.&^(0O7M{p^}~P٢L%2k,DlA>GCtM)3~ji.\à]f*ݳ%z+1 UD/ Yb=ƃ~ElY5tL{/]S5ԀtWfjznbxH$MkYB+`BX {Q^/'Rc>#%bOIsAotqx,6`-a6dgگօ lߤf$O~WAB r(B܈C9◊NPTCG*bx#J,u>de>DB8iXb4 YHBΫ:.ay@51L#AM CLj:!rv.b2Ux<-3CԹk|\w @f"̈́D7Hr=ઔrNCDOyz@R_&>hNwXFzo>ƶl6G[wOmyKs]R; MDQnb1 4cC!N oۯX2*m;Q:aϣ".ej׻t0MɋUWorSB^X+ll{ E[4|ޕ~ΛmҸc%)Yb'o # Ɂs87e܂i <6Y!ɒ얇!.Z)%L㥑f,j.ISG1ANdR~~K U ߓTmd} 1B6_ȉOZEq>|՚':3[;~Rp` Rx0^m?-{o8w0OT%?"ҟ:uK&Z-4hgv!ѫrwAlB=Eq:eTxUa"|{$Di-QBri+y'P&mI1Xͬ]q w-vPԮNe"{l!T9XWccT/ONN5~١ǠEz>%~ÛWɃ;/(6O&Mc9X_)'~~u˙ s:I_[/ՒaAH<vN$F]q3a1J֙ϿntL8i<g]pcTf9m8,&1wZ')LlvNH%ρhm.dx|17_ff7j4.}0>:dJ:!bLl4鎘M+}Iu>&iCWr6׬t 1RCd@5{dw<\Mhp14Ǡy6OѺ\:cz5\8[~va x JEU {8^r̴BW99>0|Q |) `A;G${^",PsvXVp\BMb'2ϳ9[z?h%83S|'iNJ8MQ3[G(xG5e;جx"¿@}YKXÅlҤ":'q-65y#hG,tMJ /Ml%A@JͲ|zy"td !6A3TGAH3oZ\s9ws6Gh5Z i2ZGQ.dŜپBYqqڅC(Wp-Z 2I@4J4@-GkGW =LBĠKJDB6!ԔE ?LL(G#{eP'ļX:!iNqNi`V,$8_-U0St(t?c*/uҪr{ D3ta3 g=ݯ3! NMOVњlm%l;EsN9lR (- v: hj1APDS0a^)H p@-"FUip\sK??!?!o~K /fOdV LIZŸi(: Q"G/Jߌِ*m})U@GYۍXkE4bﱀ@p\ʿq/Yc.? ;@I 2 |w١]xaPxge>4}yMJgcx4oBI @ ~xg<39pSn6Z[0;BSL% Z1ki[sUjIv-3h7hlPy 2 z^dm@;Bmٿ0Qٲ#ubEEiJbllG(b&G3mvX|Mn!/E`zA^M?詍~>+\ZyIօh4<` Dpp5H(>HTG@ uXfhZ̓΃҃"b@@n t JD@`n R8 ҂7pBHaPPim mEBiP^)T6ѕJsXYY+U+xs`V sřRk1X@QF3{2ѩJ^uPoOJJ}oGtts;o(4@ ho.gxShp= `ѣ;J'w( bM ﳗ6"N(1 y9 (*Pbp5nIHu'S-b':aj6s;'эkU6W kT#$q|yEJ FJGwn'JfTWmY(J14 ~Vuݮ%T M{W ,k'|:97@z2&!߼{^:OrmHXxћ;0L<8y9#;'dx=#u{b#uhArekG[8YQ2m@w^D;03a !MC}I,($Vf/1qKj l (m$K) > ңGgXMOj{Vay+٣S-z{KPHNc:-F7al"}FQ@y6D"(&k/Rl4@ Bzpi&)AIt ` .{~0@ K A@+6AA 4)@ @888DL@`^7P!j @ Xni) -5KaSٴ$3MNөӴ5# ` @ @$pEkma}1ߘJHJB=DL 4xn 5H"W\@%n E5htԣYZ [̓T.tV4 ! a*N[8ZQ&lx[` 0Mjn&n&|հ4f{#6&zD=glMѳz6&D=glM 6&|>glM |6&ل>glM6&~?glM~6&ě?glMd6M@d@6Md6M@d@6M܄MM܄M7xC҇"5$ߒҔ,Ĥ{T3 qd2ZƆH}R! 4N)ۑ\t뇩IJF* 0z%HK$iԁ(I0I % t;``w4O%%ˌJ v!T Q%@ (%ᷩrhLki!VE!EL`uP dO=t$T=L˥P:tBC4?JɋڽNS F|0X,~X06R燔"Ԗ4(*eo=ITؗ-kjΨL{mYXJb*(9Њۤ# oto: xm[)) ithIF;Qr~ o"e?9dI_\I~88 =4)k#[/?8!MP'ŔMmgĪ|Qk̠5'hA-+spSPHK6M#Rt4ĢSջ4Cfg#]K*[|D[  +-݅)(yaf[VnMwZ k(wk+9 wwV-78W {g#ms(q@>$1؋Zkts`Z B[#afp|BH ;f]UU7 ~+ '-4~צZ Yp=0#0,u ^=TTL&n9͖9m Dup@A:v | d084"k}wji$g 4̠2eĄx n Dhk`@v)F6eMv|>]̭, nL3q]ۘs+U5wpzg_|&S7\Dwcbn\)zlqe1㵧N nAn߫kvJ;ǬN ߰{ܺtݾ\_֗%=$ZkgՌ)yd؁sCMe}rԺ0)wK7$y>\^.Z-][fV spfzRN~*eG#nilױWw5% evkNq/;fy88uj s#}Ckj:u7Qr={ʞ׭ F0ו5{dhV`g3\k֫s%-M̾8;.v+No{,W]nmUmqim.36ZZZqk"jů̏XD,~qo&3gBr)S{ n…I|&A}|}EQ)/|f:7wAm] ͲT%,Y3g.Kd%XfAJX99`͒WۂIUc1yXc Md$G#1QX#[+_sT !j2AoWI$P:$'YSсJz& %7][CYzZ%D)SLҥaS=NJ".ҩye(y%WFM,q$GqW@=J'%hHLTu%@RsΒWヱg&vȼS8*a;p$b`@aSk Ɍ,UV36C }XvuV-#0 kf #B~̑l[ 4eef2J Jflc$D-˷4[,¥ɟl/q+-'Fx3s{nFQp|<9iǓJL|-ӳ)=2Q8װ-}f;P|ocvHay_&-K:Ar2,Nk^f,ڭm L2 s=vi\Y//mժ>enuY]7|(ӹm^U`ٱ<7URՉ:(=صWjZ\X>g}SUŦ Ve;WxuzKe㓙m %b[֫5+ݪrnĖexg]YhfjկqmF8Aiv}TX^^xսqcjf~}_i]MGo 9J[haoop8 ?f sd:ftEwqpyc|{_L3_h%O Re$o#gNB֬+]xzZg7SJ1yzr1~;kXZhE{Ҫ,6oi)-Vw/ӭӌf:14qL8b3AƲo3YNJ6Y3y#~e$EيZ,/ԢXy +^U |R1QnwI[AlNU* l5 v;B,%2`[6fFcqW82͌ fM8)&!SvQV]Ŝ \&g[u46PDKAlm9n;_rAMmK֤YАMCC )J  i1CA!l*( PWǶxNy`W/O5O&.DuS\͝ xF zdҝʓ ^F~QKR寙+qs%W)G77?*M˜e\ gǾ#M'>D"~wI'o|#\=21%6oݥ\t_\Lx". Iw"Z!Mž8ȹcgsLdͪIl+uNuCoEg,"gN7q@8N-BҴ?$)CJs k S2F}Ht_N-~Y-orsInJIt Mhɚ?S?­2"3)6P"/&~ ҆ATIJ$L(q_H%l]-&Ƶ)%%U0[{@ka/EL+JZ P%!^ VJA7Ujsw)oV l:, FsA5>[ P >AI~>~qifJ(veOM֭Z]@tP%}q pZD;)'?rRh^#=:A'J>;Njm^XǠե0{B-%J \u"WJev~^ {}!^ku rb*tTDKUY [yy(-@"mq$2p9Beɥ`AH O=?:!ڂҋ3S>ʟ=$j,a{Z vaR0w󬡻Ho0_:F΄'H3 ˈ@& <;7rsFiQX2唃B"8RCHx Q 6b;&zAГӇSrSGF~̋= ʏ CZ٪3f!5JЭd<9hBf/ ĝf`v]wOyVa#@MD5HuZ^!e\마ETVSsҙ=g֑$=t_:x>AKLB j,ҽ;˸Y!u9ܬtyVAec~T :*I▩2eͧ i @D$\y xܠ4FCno \'8|\P{%&?D՞q ٻcEy\D8=?T(vo>f^Q¨gg:=^4) BEr{GPY{WwhR`-ގ uŭ  =FMk=QoQ](VY!O )P?Je$l= 2FVTxQŊy_SP3{E%nXǏlM m:5vj5u$LV'dGvT"X\]v>9yE1!ys0K-QCpbW,,N%^"!LDW:"cۅz{jGt3f9R UiǞ_cyQK8}Z"R~wo=n'ʌ-ݞy)?n]|; sR@ght<9)nM7kNr$iԐsEmRF2L,,ٖp}#˭ 塍bJAD ) A f;DYRzVF(RrYvInkCGL΢?g&I 1a{YsGw5 jй50s=E$Gf7]?t<='$R L{yCwZ:DXO~'Xp'8bwc1j\`w0APX|DnCE *ъ(Zb6L?TXBx2D߸{Kh9 UȪ!BG<܃C$f @gJ$AʠP[I =ڍ [56nS0)R M9 %ox1^ntu$NATLDRiSghԊ`?RlR)-J{pDuƴug=r. i"Itf:/sbd=MJ7Mپl4iE$ƪ,0*xdl ;b$7\>FnK`D ZըԫJۿ*.Zb@g pljUYt4 mR)E˱DS&AU?3BmBg`*F*G:̉QQ]CnZQtG]zQuE`ɑKYIϱkƺC͍-m R^i[[?74uCy^~-n:x<Q'45mq%Miz,7/zO/Hu4E hƶ0kL138h\SA,L^^U957j 8g 2x6i؆L>pܧL{1C"& R%dPcņch0iƘm6@/ݓ1th2/f^fiQSȚKk:&^OlSUI!6Y/k>=SD(|砯qtrfu[}1S()k:cFșֺu^1JW[m4Fjv=D#lАEZ)'fn1&`=ut۠Id?)arW VC6ydmpҕIq$]TR&_&-Np{nqw<=+P:$ `$t L[x%~^Y;"xt?>O=ij=a<~1 oCN04S?eK{M6e`b8BʓdMKFIw\TO &\hH{HD߁ظpkwq8|6XqlFv5 ^n9#::ߛ^ӽc\,kE(w .l&OcT:ӪfQ0sZY?2ezr҂*dw啳,$?莌~0oVu+v]9gf0[f"1X>Mtݿ[׳,5VUu=ϔJUŚ{E%l/n,|A;z;*(tnwM}/Fvod֕DaTc!Z uJ=}S9~rqe~邪 a.-2y/onq!~#Ԩ)/ k[AlZՉ:fmWzOF?=\s3Ǥv'N.O[Vթ˶}@xcЩgs_kj|T= W<6X3*RJT,Oiro'jh찞٬UjJyWG;Ԯ\3ʪ;LseՕ9sOڭ31Eש*.Uj,u֙z4P(/QWҢGYwVGUey>L%R|ַ?蘏Jc:-.ݵlv]cz f ȚO7мq'+E9b[WڹRNnqvԡHb^f9G18SI$U|[,xJM8to.>(QW"'7߄H z"do6w;f3#l$^JyRc729@$ aKH0gF;D8Ng;r j3xV 8Eok< Frz\% #cyָMqY0P o'3)Ѫ߽.ol7o?KhGՠh5Q!SI9W֟FV<*hpY:O7#]"{Z HM)'Q7gCQ'i툤fI#kZzhӏAbf @0DL`eg;>~#S";͹/?#czg"L\%z&]b~ l㠓&^Dz\{! c^H&ZW+sunjl7PkM@a6''Xunbz p mY9dY5.`m~֭nDx̻uV܊BN֢122RJuH&oP=L[Vj)&U}Ԇ!+ǟ  EB8)FDyN(SՄV95D&j&¼;帄*SZ.HBSuST%e+2sT,]1bbe! ;|ol =/nWP! l-**3kP$%&9֒Ps2"ێ*US܆&1EmCʱ(k$ ,@"eIRi#U$ CRmB֨ ]-P7 %$]]+*L*Vs.ԩ`AQ)@S `9%U+L1)ZҎAL:0rȝ@e)UKhJ.ߺXo}oqj,4ws슪QD^vW05R4KpW^/ڿi%IUA^?/͊r"_gYr]$Z](VQea(ߩ3n4FoVԓȺ)ǹ1ulJK r;6HQW֫V7RI"~UKVTv65łNc髖5líWX+&_ Sm]T\‹?Lx﬑ /k Y}7WDxQC1MG& mx_2ukNYaəA_gϯSqGgfGq0qjJlx֭KS4d))6.ҬծvYR7Ru@f$͝T]^:v{}c-5]]+y* j9㯖*v2>-xMugtlvWvTCSm` !,˿w#{_߿ѵZ$<=]<}6& ?J" a[At#G@dz?ɅOJG\8Ax+%忨=đ\!Lk$K4{rȰA%2'WّLS0)Fm&\n*)o0tBh}~wʝ#eOy Cv]B eNK;D ib&2hCꜳ3X23 u._>>qݏYK737 *$ 8;; r9 \e b@!(W h鴰Ӽ'v|a,ks74( rP)p4\¬`aF{pռ-/:p RzWTWH;#\tsVw`^EcC@F #44oW?e'b\4;?K/9š^xP, r .' u5r@D>-h-xQdq(! A{&(8i35  f5-=NPQ0،69$ޚh_iN|sʓ?Z55jTqcDLR|PIMI5iZNT[J64\BEoB_)WO楻.B(4FJ,J\(?,g'&WK/31/O䵌\ ^!Wk&CG CdK ĹSG xgǹb2^HTo@G:X(ϖ j..VRl`&_y"TPSԝ}]PQ(䕐Ә3Ty#7m4f9wX ȑO—-}5 }oGzf7;4aì˥ee2we7U PKoNH;5>1R7h/ȾJ?b<nf&J3͈fxҐX~X?{ڪ ^BD5ؗ#PVÏ:w *+M~OQi.'Bəƨ= 7`9&_"}Dv,-[uB{Zu\BHD_# S=1xHج-qҫh N#>p0yĂ,1H{Rnl CW[4])#`akl(N>!-$qk< ׭]ٱkG pjgycnxQޓtƨChf޼%cnZB ll3"I ?ҍ"$dNșwW#LbvkVFg~:m,걙7/))J,pn1 Pgc z6Coׄ=y+Vez-S`9)9 ܌]|z*Ƌ%%l6s7>By/pOA]o'X*Z(-,y:y2]*Tdhp mor'B9BҟzY=GW<4O)HޔTV1nQtֈ{.WAOCt|={9؈T3gyՀЀ& ?]Oxĩ:!j+{MȻ ?Qr~npZ;cqUƽ{vkjӓ|!p &9<=)1.暈uꥯ = bcWKgB絰Z뉄\E^`n ,9剪RBHlsWdJR*׀e pCDj!qH<@"ޡOCY}t1I *0@({d+O퍨cnM|/dGE #G9g/w1'k5.T]0ߺE=1 zO3@0k,d=B9~PsCAgMTV[N'-YuG%╿L~Si}StJ;XĉhrȅP2kQ{hB={A72`axO='WJdBk 9wh7b*{^#qh1p-#4 _FAHOAiD a' oI_0Y!~.|@ d@!6pK"ȚDúE^ A+^ L_PK.]KۯvhÞ?gB^kc 6)wPEn_.trb60>DN9pjT:{#J1 ZMn׽Hvzmjp9[ 2( ۖpS -WitpC}ƀ@JL]$M`Y1#9d*f/h u  %na ХZ`І/C*'ۙm;^2[DC,v1`vg-B" K}:R+J [UrQ_LS~ +?P…oOQc it2Pޅۿp9؁Cm-kyl!qy9Aß6SSy҉٤)Q.twm4B+ݾQS}  Jjl6a*mKr\>(qi.Vtduloد0}fʗ.8qjLK'c'6 yLJIe`5mAM>3LM@oK% R}GucQl*8's8{tw Ujtf}8|ΘEzDdҸ4gEW2Y+xB Ps'cʧF5Ȱgy%!HNHD%(H)((|(D2@#~"rJA+{o{̷'o_rI<ygDT,~рG7r{_c3H &[BOmD"y g /҉ 'DĈd0|Phcphn|TzdMD:gaZ9ecj.O/q3W'N ' ȇM$l=hlFH{~2AUgBo<±sо?&b@l5r""VP_J}}&hš+e|ǍQ}ȅDҧc8)1P덲Y_bL2$@rL'j#1,(0T&UpEiJGG"VnݖRF&Mi ' : éPouJ뷰hj䂦m+k =xMT6UP=Q[Vtth"0H$PaQ6TEcOC&1os 0Sِ(bSxHMC¶'uz+1|m[, m9c).-4%jYڵFS0 U)Z6i<;uũ|].~0P0l] 1*Y'} ~gX,BЂU`#8׬LTZ֛3+ 2\\=M5,,n= O֤G!ŠrBMhe58$$3&5L^:&J~ǧ`"3FҡV CJ*đ5$v,g?=yGo)ѣI> o݁5i?ʣ_S^3k˘d8jGgi'UWKGdvx1vuiAC9Üq#0GUyj`z*_2er 5C g>RBQjbiJ[T%ۛ49>dY"E3o\Q cԚ|R^8٬X@T옾RA9}'5,xq /k|RD͸~`h)OKJ#䓓#KiHftOF3DWXT4ztryp$|N''S(Ri4Kʑ1}JP9?&w;^ڴK^/fϙr{/WмnWT-sq\7.C]VV4Ë-'&?N>Ei}\%M'Unobn?` /flM+;SYRSDC]z9*8v;y4QꂁXHuUTesC 2Z 6Id̘h{3v+ܘ>|&)ŅW.,Q*P/7"?,x %d-ɇ]^آA}y|?{؏XaB4HkPY PtLbiW:`n:y0öEU8\Eb'eF"bԥmɠȇ"ȺhHNN r lrlu u:X@/:$9qz t$@hJOJjv@Y I1ւQ*U>ufL9䐬&~K ^[c_~N_^ky|' Kا/=?CDz' , 1@lރ]t)ۿՉOGI|LbKZOI^>@I  P_r9k (fT& :/N(䆗R }vZd|#gDA"PSJd#fD A-] \]˷Rtmk1&3/8iNf|JG A)gҝ<6%%5&bMUߟDOPthVzKeЊ|L;E ˴=ІB7?}cʽ<')6&.JG~q2 yM`Cr$a8qw5̝|Jv9Z#_76,),&[S_NRf"ͲbFO׳hmUՙ)p#(Rq6T{\ 6 𚎟`ń %pS"rgkuVek5눕.[旋%p#G+Hq4Pݫ)ZMcmbz`JnyqBMcAX^޳X:M`3+'BWSμI), 9w Ƅ t*/_Yƭqsn^zsnZ눶?Q.!Rp:ĤOS2I/=/ d4]d: ,T̠R_ f5 !0XW!pvs?LY˻DC(.6"bhl{@($uá֝1{q4sPgbJ#сҞ~P=uX}&gغi* . .Q[iz/gqy{a1׮&W8;?!Y( & fA@z}Zɽ"$ ◻BT>#0Z-8 5]Ӟߐ!K3@lЉUqO>{#}g;!.(lr(pBLo`Xs]> [¶#Ԁ+oV{:NCN)`^-jV f!/|pVá! KInY|ASp(稙v?Xn@V޻D7}Y蝂'qN5lK4ﭽB+EuH4o] A2@~.YװzIf`+#h)idu,=l4&;oMoۘG}7?wC48̺YƟY[VPJ:}v@+u LC[yлj:=lC7 SïQqr;tsEj[dz*P74r㞠76n$,=R ş08b;n.l CJb֒ d8^bI8m*fπ"69@4=*@׾/z!'4.?=T% L0搢E [6΁+~DXe(S<9$:\#Mu&(4dĪ Qrr>!l^ȴǛBC!|s܁1x6@NU^& I!&? ‘yn18<u) νLJ5VE/FC`4O *{! b{ A,MaD=L.TME`/+zDDtY7+q/xd}7*N:g!XN.#hgz:ۨ;$O;U2/RX$yzsp6KĄ=(d7E>N^T1xfԣk?{'G‰_ʅ/Ud2y欞Ce%5 % ?B!ȁA(x2 ==hnF{W~+ k?HGʂ&(EƳxX('@LMC ޿Y 'E|nܘLLPlv ~c~}3'd,>p7<5Kv>*!S85ؕ65'Dg7s-_/~?'"d9N ,C47!Y$˧=XUS؄|_z &xuӬC ȅްm oOV GooP!ꠓ%zI9I>$>!^mqԻ]y\7'^Q*+7q9WfU#N^a+R")p9;!way,ER]8R#S"A :5HùmoU~rl҇f9I od[D&Sü\k !M^H@ゐ &ώ;^v7ڵ3z/^W=3&A;LSν z>^aܬTO@}?=iR7B^ZhT㶞ˏN9۬YǏ-WX~qT' ~|tP-]04DzER[:$G}bsenGu6U=ݘ:(ǵs4m//8*^)2qحH7V twσI]ܰiT%ٺ5xVw84$5S`r6nNж t`IkTp[̧Ey>9QCD!"*ABE4t3^kqo4{Wa{uh#GTGGWb:ݼ^wooDIQ /6~V֫W, 5+ОhkYlm:8;J45/&ve;2)W1-KX%EE7 V40_.)t!KIK+37EkuQu]j*>STɹ]'h?;yɖe@,]ilV., c63KJYmÔ. vǍK rVjUt+$[aU IhsW[P}nYY0IβpUdkȎ o3_) n Owެ4ӹ,17KֿXXnpݺnO0%\BL<"kV~%2mqz:0cw1WkPZgE. C">`ͶU3=mjXVYۼqTPB[ܖ(i{}ۼYrsR+H"鋰W)"'lҚt&%{͵B@FC|w"Km,:gtVl./ܵ?EQ5R]q/,X7vvőlݮlOƀ9ܢթ)Bꋫv խR}9P( Zt"=\V,6^VRa^PIėRjr5ڽb fZO@Oϴ6gPSgI߇Kyݙҝ9gP !4;蚅? .T!_gER2[Qæ\R]c zi\_c5ŲCIu9:ÁI9(({?D?TNHS`Ç Fܑ8G\G/n J ,RvTɬɧ&%Ȑ[_Nز.aψ&T;;KL)K!is|Ez$cG# qĜ1d˨1cE83/#b 2 ة.`VX{[Dc\m7$ CD"PH/Ņs`43!gu՗¹DF@؏J!B"DB![D/"DXDH"+?V]@[Jq"BPnPߘCyLAœCVކ 0:uRC"DB! '7L`t?0Ltzhdwua5|b: &^_gk0HaS\+Io'bE `$u)0`$! B.!#@h!G~MٙQH,T?ߝ ^Y`WKaA鵵OvL2V ۶3Xx}{݅$O깇n %4 jfo4` oL 4UdVZ=Ebz0ߥ.ɯ cMW ܈Ahq꒶CTpg p,] \޽cV; H1eICey1nXguƨҭ2zu0+Z "%>2 &;[ޡ-zaKw=nyER.ojZԓTZ^g.ݐ뷵6KCvDn^ ]՞l\݁ܔ~Jc<@%ƴi5 *h#5RT;^m+elmknh9` 8hh֖lz2kAЋeax2u`"F4Eڍc%Dv'saN$R-23IJ>fPl(4*:j3V8[=Z#6jxj=F mc]&w#h!`WE+Tv R#愖V𵐮ޫ%: KK*mߙZ"4;U4 Ii e,+W=τMiUJqˊ.ml}Wjc7$CbW3rjb1o4 n3Tf^J5:?6\T?L TJ5J;V`6ҽ&TMvQ"S^`Wxm  Q@W]߮\chTO|KWޟ=,'p@tAWb Ŏ CK"MΩROM5rFtt.n}B!D"B9rqԿ_R*0].ۋ$Oxq;"7)j7m-rJZA/_#7`/Ars jKeP/>ICexZQ?򳚰tA&x 2Gֆ@mܛ  YqOz͏E2hJiLچc|5_kkDT)L#;@X\90P*ZËJe_/ȑaOXof G JnTQŋУJ@V$$!NjZ" WcMsAq#m'0\<۰{/QRX_h&Ki}€5 kQ 9{b ᖠ_8(ÚK!PٳvQ$L_b%MKw8oE!Qֽ^n+d>u!m bZfrX: ,~,,e[8B݃@]4d'ڰ*뤑$H7\ˊ{p>A:) h?OxI]o)فX;eF˞(tWo^mn$A# gK+0jǀrZFfhD78:`\zm%%dfd?B(Ѯ Ub*/-YY%㩽@εCw& X%3,c@OTϯ}#nRetEY5cQ:HX󭻸i.C7}6fG,R0F+Ee(UN ;Վ<05vNqԇ97ϖ1 H`Yn )hz"SW^*1 #I, kp!Rs%hT,iBJMY=dC `C"d~!m=Et 멲IEw05=Cfex p;ݬ3`^'4c(/TEҬVJDesMShZX+ AkA>Y4l4)faD#SNd8q|┅|,OP~ 鯯k> F@@4I]T*KiեM0`Iq_>$0[y=5kT>:efUgpqA0W giaPA:|XTϊ\ *sx)T.5JO(HB U,2+jtB%>8RX=H*g.KZg &U(.fRa/x{deucUlD.$D]9,nm3e) $ "a.xxPZʏçGf5sA$0 WSh)m=q2KCf@`o򅎙%e* I*!,_ݖRJC(L(N cpc\&ѣd0AH!Lt(XD^\H/ye i-1kh5G@⻳UeseS#XEM"Ia8I JaV7s869-lg?_wDT0FHt7]nPgŧo-? Q۠Fctͤ^g E/L΅8{[HJ @<<3tJ'L'&*FRY$8+)0$)xN}H!AC>?DPc^>CBLA :Y3t nFbȒgR|#)cq:w$I,>dtQ_2Nx9ɕ=1 *f;3\u-v4YGOu[ O܋挎mֹl(%GHKwk'"38aLOuFt nm{p7J'TC9BV2hP/G;\.W sdiF. >2e0PG'i@,J ah=\ckN G+2J!qD8QVp_E$"]FT!w1-˄< X i "$HIx-P+~'/vLrOWCAvA-lhݕwo>=m&i{'hsq<ԺVPOeμ(ÍM)Vtbh`ة&׵'G*8U7=+‹B% BZE?; (d(UvbdqAFv/@J{~h^53.>6mo0VQ349Cv\<`V$-<.i%rPǞj[m|XSO_3V)!1jyxba|K2~NABo,JQFT4B(bP 8PȘ`) ;-I.hс}X wWiJ/ih3/搔#bɏɑN|ư^o1;1y'Du>f#2inTYK)ܓCH`Y@H3 opF/`_\Th*t ?N4rJHR+-pFyLʥ vpF 씙ZC\NP%KHiMc]B$ !qKrY|6f.7ɣc&ǘg+Dvڊ8AQ<'Q? q}&0aӼm-|.5-:!]=^Dd)WD*xGn&HeNH-vSP(]4_~jdK"F㟎KDE+3kN/QJ3D-W@'X(?,_󧆘B5F_}k! ar,q!2-V2C{{5 My4ą1MwifVܝ"M4dfq-7ΥI-''y(<$ {*[m ۶fe*+yN=j^B%6odfjޘӛ=x7bfj|1Z;kB bn\8Lkm8S~YuSgn`U{RL 87F>{Խ=%ko +¬ݝm/Q֫")BBwewmcl-'8x8`ԷO](\舘ձesu>a-o⚹W.EVŨJ7!`U.H>U=e̱SxR /GUsp'7XPxYӕ~yt C '>}NI>zYl״7`#^0o?) k\UQ^բ:Qnpw,0\Wňn6XŽ]˷] vk.qV@q9p5u]V쀵V|HS7<S+9]ZuizuQ>«ȪruN)^n0|j顠m\suߧoKu?|'k:Qى^@7v>B5xm.RejS@f:qX.?>*,*S] Uel~JJ=-[ 7AR_ɀ7i׫_,F  ^ ;hGvG;A."^[mY0_|FZ{SۭsL{O%3 ;;ú<{+`D = 5σ֕u׮n+_NK]?7X4~ʴvсMRUgqqwkieN2o9\\UE_<>~*l Ŵ]節r}ĤYRxySL3Y6t٦S|w$)RlFz5ʖ~(#{][[`cfebR}!; X?9sGl@ R4^lxؚ .yM;}9=3t!.) \Te;eyy{p UNՠ7IUT3CE|أF񞓻S@D01n}{.|Φ|`d"iޑ e&\ׅYJ7X]wי_ y'vo9'۴ uIEoR:bӧB|xه$)p~o~o+X\X,bQA$11ys)~uҵ/;aaϮ`H6mdFAA]5*f4sO m })؂@;w 3xӉ1IaJu{F8V VUeV IRp\)ځpMKz8;faҎdF v޽r`Vg 327tbMͪ.SDz6O\N$Fe8d]ww7wBhh.<0r /;A=GXn߃ouͤ.NXxb"8ҽH;xĵ_wߊ.WњP~$ rA$4l#?Z5({4i㵿GX#*xq6v@~)W W>Ep~Ug<MW?};bUH rsĞ;'Ǝc!I|ޛIGS恶e)"RKJ=ćf`ƻ*!(&j %L^.T]q7Iyoi,|@}<0` h0 o+"+(91Þs˜{Soc̷\nKS.mTBD{!T*D6 1э7o16uK..̹Y a'ȖU촪ڥ ,YjVV뎬7 Ewlw?5a,la\9L;tJb@tW ,P[gҟ~oѡa3 C6uil2k:}jvQuΊe9Ox7(W9P@iˁН}ds*'S£+< /]ؾ+" |ـܙ㼮 TΥ?fd]$<#]P€1\2MiשYYz/SUQ\amujuQzGJN'7n8U~T y_^7*lڈ\ʥ5a`Zfo+Q߾{^5_huOm/:7(aȻjfѾu=JduKh|iû4:TճJRs>@Yt93$mX俻Q(ʼW v]/1ܰndz$a2Y/cկt[0K Q{&x]s҉\:^s׸5s|뎓ֵ1A `:k= -ScZ)x68TSlǚ6ǂN96uEY0YzC6pذ7~grױhK,>Ԝ/ -MrP:o;,0(7T՛A[I)qU_j1 e+#PQ|CGOM3.`pٻO3uk]DѵPY aVf4UEv;n%nye;]c >^M\圼dƗnJiU;ZSlZ|@ҏCk,󶥣΃:2'Yi\l|>5?$~=i2c]s׋i\#&z~Yu~!5YZuM; 8KF3439tڹVE1G\KtkĂy=>ͺjNtȭ̜TϥvfSMO?m$1996j(05ӝzͱk9Vgޤ|h|_r!}o~fvJq҄0uv֣MC-K |Fց`hkͯ_żI|RSl[q;Z#vf)r,Hy?X|TӼ-^]Pvx5;9vcZ)ȈRZr;Fœ,nrHY&Vs.V}^>8rG<{M8V_V8)<rtT >3ܵEeuLzҺYR{̸OވYZPi%M a*k&ήn t'm(Xu!['[g^q4|fwӵ- 0q=Zs!ەhΎۓDgWeg^kV:VJZy=>gՎKNȚZ#;kJRIJ:{"{5H\*)mc~>rJmW|_٦eFV}6ty@a|of=b/>֎~wr%ķTVs=9,UNw9&Ss&wA?GYơD̅wۄs2~8s,^l>hKW]oΕsS7ܫy﹩]zT/|Gfu_~SEO~w){97CVnn,YvEƼ~k*Y\9ʚٰ_q)̽RskOxfW|}^^O+ƝV֑Gٲj疑eĭܥ^?j>{k?M&UMw{Xst\,O#m]5)Ojɂ~Bai}ޓ6m{ lNl]|D b}˜j%Yz+VRG,GK Oatƻ9= oğt~Ka5XVV峿MKU,t;?$=5Xi[䍼,8՗+Oq/Fh&qo~? ՙbUg㥞2_ON[̙׎fGm?3}Bn;?l|,M2k3#w`NfldDU%ͷJ~x1uQ^0S/4q.;e0E_/ <[ |^Ѽh}:IaOr|#Epiמm?O}zF滛3B;lC:iH#ɽKTAPT삝5&#1o6`8'@ (*U`vtv^U'sx6J喨t*t&; ݹ)锵}CAxw.!(dHWWt+p6 #<6 j\(|zIMGԸM3jR{T֥z_Q`z_Q?*:5TAΓUE_ūaߨJU;+j=6DVÀ7dSV_ ]o,\^ޢ +!'7UM'ip4vR=\K2h|R6xW\ٰ ńup {&ОH”"ހH܌m^6T$A*n A?HD> Itv2WgBؤP&H`L-t{"^/Qoo~^$U#y~zJ%N!rn 0En$1$V_.,Kk]WAeAF"8 ?(hq Oۮ67Mk[oB+A:#bh]S".Ӑ#\ Rw#du!6-Tv+_ȴ+(鍄'Y`Wc8e _Qr4j,1!x ~C fuA*>em|wE bO?(tSIU1 5b0"ӦstA8w1@MDlG$m)tͺ1j;'JKX%=aRlxϧnxLb-|Y_@Yfp_F-Df;"dp_"ҿ}c`a숎(,b%ȝ}D; .Ͳ$>&~D{ "W+1d0Of1DvdV2B_Jqh~9 Q aAYr5|Mh!v*$Ф a gj/ˆz˘@)S딦:(chWT**F%q-)͇ݜ1;1m\mCu`)] iN9,Yt1 n`Ѓ׉I[qT[ $BU,\!HYaZ6yB&l`RY55K8_D}DП;]wI h"= ᢟu^v]ͣ?Fњ1ڛ5•ڹrWbDE1l$ -z\@-mö1M'H(?7B`>xGg9Ladp}E\8")ɨ.q @l^Q#߶rkb 11"t6>F0#t@\$ >.'PXxp[!&tǏ7*QZPGD'D=G ]DUg"ރQp Nm@J -*T+Ϧ ։Fw=4sTm/}c DnJ魂ǝɉJk8coI]^-]V[yvyX4vWl'8RZ$kn \R6b4[(!+b\\򉍭BaZ]3ƹr(MblP[[x% $Dư!`"Ss V;9F91H)?oxfbf-;Zr90_" J rڏ!!v",?Z˜Tˌz&m*qbIFmƽNvk! ^60|>"Vz-먯R.}*ѵB B 7*q"n`L08c s54oCU$;UC+4= Du/U}$\: 2]R,gG~ 7(l'\)(DY`xuC Ja%P fUVaNUNTP6j2w^P8 p7, O(hSdw ` F5DTXw^BR=֗LՀO>/̀$6piٌLL7Tj/S[FZ! {@4p;_ښaޥ{ŌaYE1%'Wq25,FɸIL楨 `P4v:fʊxuK(E]IX$@'jvQZ36^E ..BS N~wMITO&*Naj'JBue*" :%qϧJux6"*.LԱ.em ]hʷz ? c-(;&j1;PP/ WXym1v`7li=Fz׫lęret$u;.(6[FG$pwiiBA'Қ4'=xl9>hb~>̨K1y0h^& zokU% % ]RQ0ޜ;(^uA)$s2EplM^%Jc]Ivm.f /LOd+4V 򜝠Qx (#XY_A0}P?Zӷ9 +UnȕbIcsF{n(=XC2b* ¿TE$.t:x< l2bS hcѴPc?Yf1{SQ^LyYQؘ&+3'v;lbtYS*NDȵq~#ꡞ61iAqig}onsfiaN =UimN"l0YJ f0h3KzJ>E/&bgPбbƭj"ט pQ ADzT,Pg`U7 %Tg˷@J~mn7\C4Bý *NO8hWVP n#] Xu^x~ MXh[hJ"0]"3H2-r<5qrWNPzNS:a1Os#ϑ`xcM‚9Aove&+q/vpfm}0,B'۰CM'/AO=.AsL6tڡc}ld2YX7EcPN̞M}`uEWۈ'm7"MX ?}S2KZȝ%{݁ښ( E"onJ!M C .8Vk ZE:N;ЉGIQ5(E@} 'r%UhX%b3C6E:  .'҅a񅴕]@QܣO.$SK}D^i"b=an--\#Z2PkDV۠eu鐎E̍U&؇۔FÂrÁ} F>g,9UDl!# PBZH$ إXld K,kA8&V,B&O4k(-I\PlFF7 yICCDTa s(v8_y7X>.y#a)?"ndq hJhNs753~; pcgM'͌ asg XQd s7F)a؄`-I&5NL{v9pDWʿýkKAAp9ek}(ܠBd Þl^}2I{؄]P3K '1fAK6$4? 'slc mrނ-qH>`b$0Q~<}@b.F*',G^@j<-&L9M|QrUJpS?Copy 9xH>v[x,K'ΎU߀3xE:3qۮŠ=*grw#0?FHnI//DBDf+U2 WԀ6N:zTԺd)_u2v,q"<*~`11ۋ ?L">X:eI`Z)6ήhaJM1gVd4ָMG0Z͟Z'}_f RM3aDL0U5|dJQ ߰ )VSʘFkzEꢜo2 #]B'A"P 5}^sucܷvwoEF $G^_C8FGa}EMlp?~އ͋͜5(<&[{zg@zY;S_Km8of4W*g>-hkY 4 )$ u}hPװSE 19g1pQww󢀃z8Bn;э?M%1Ezg%uhӌ< !S^Dw,r]zc;yADu4vxC L6J.lxΖW\OE1DxZ|Ǟ?ec<`"^i$ &Jb#OӒsB۷eNktc`ĶFǀh@P&L?˜Mg;>shγi arL)铁q0*&C^(NIv*25Eʼ1a9(Z&BIZZ"{oTo2eAC٤Cfd@^#"MY$vZ'6ѠP*?d1WOR3}!fHǐju\朂f\8}([~0b%b΅,gsd["VUDa}$N ?Ta%j2B;;a3N|0 4n J%DZU)0i.0CcIh&hT{H &26gLRd˷`J32woeiWLV&/+Ă R -ڻ` 7@q`[A$yZӭʤ@P/k0V)BJ[(ByB?L@j]CdRgM \b K;9ftXADBSVT%V*9~8J$_ SLNȓS*{1Wd `lŘ9(;P3fDJSQ#퐨3<`5!)ط";mԦ[,æS3u@e82<6ҍogWf :^*+or&ȭJjn-l dxkQl<_Lyq%5zlώ 0hzo)K$kq +P oO4;JRDM7Ɏc6 0|N6 lZTT u(}P7~ůRNuӟK!W6UlWxqe@n]ɫL?ާ7PaU2&šBbf-VLPC],:|:o @K[R"vWNL֩USU2ʞ)b^ZGh4Zzp¨ur_` *R? N. n %}K:NS]~处 zt*ja:ɱ) $Yz<w5Y6y?7mí%47؂ꫨi]H{!s%t1̽I<S[BMP;HkN߉\u>)>3F->KPan6ӵŲQyUA鐓 {#D?YMݿ7_*}Y xrZN– ~3}gRג4ͽtmMĴ,&Sb:P>PEwrv +a,\$:7'$tDH[Haۮ3D{}K0.`()au :MzwMƖk֤=8{JOzV9VQl?/ɎqR%~N}7 ҉$>sD+7'A#E*n;6WQp@M%Q__T>U^ <7P}nf?ZuU 0)UZ+^f$fqmJiɒ@`ג#g,3t5)#Xr.4,LMAzW#ٝ;iLilXHDu-fPP[aIo B DR%pz}]m;stX^51Iܗ;~wQe^iDmH>/W)6 m`] W7A}:}ttu$UTIHCI)#؋Reįމ^UÌ3AviAwDcax1!^5>TT4ro/]7xHK#?)Gm%"hʾ 7E۠AwM7?0vU<FU6^Cb޷P'3X4t%WiɾRs]#W34<7s5$ȠJ!ƠbHo%{115<♍kcr$}Z&`ޠ('UXuj1Us$!qD',7-:ܙ&~.K 𫩭|AM'pR|KH~ ЇHoylSVjJjL37Ц{KHnt=mpIM6ٲ9$Q~4^R|%ZAݖIen ` І;Ƕ TU 5Z_5S,h87qBM^FZ(yY2+@u1q,"BdU4@F"dea٘Um!HNEW'hNʙV9TӦrȶy6' }H@#]l9[5ݢDl-:w9$I!8K '3ޟ`ϥ$/1#}@XȶZ^f#eI4 \]ǵ?AFwuAhEª qDMx.dt౛,^T5xgxcJ >9]g~2/`10LKhxe% wb@L^I)=X&@$C<"ThRR Q.EqJ`#Q~*UǖtbNTDu74$T"-஠& | 2ሩ :*@%u-;ꄳMvc@ڊ-~*<2aLHetRz3K rAQ 4<:Ssر0H>Dx1o|0OEB"rAnz ׾(VD9~m(6E7(-Y GآX | aeGXF5u1ܾۿ]̺%!= AmE]R"]f&؆c0Ua2d؂p/+H`V_s_9i^b}^)H0m.hʥT{$x ,F{VS'6dL}|jVU-{.rK֧Z"dٶtO9ĭ@X݂Fl$D+2&:Wj:<}8,6/V^ńZal[ i1EfVLqOA xF@nTWǁ uH Qŀ\iڃd,݁ l.1M?R 0TFM+b2&"\yC41Jt6ҫQG> 8nxN[ދ.E;$^1)&N~5=ܐ: L3<K7?=MIClg1NJMG(?b0,K"9hW-b;ME↍ 1⻅%n(4P1Lo|vKprI )KDY n4-]jN%p{K?ƣdt"HvV 拖ŏ%Me0Q_/iexK%!ٗm 2ݠ(I gJw,+;~Nݶ/~:DayYŏp$! a>0 2'yשQ1Qw_YEiAa: P@Ưɟh5[c\WGLjz ֵi[+=. > "H|l%DC/;ڃ1,&,}y8&X{hl&8\6S@Ai}leH ?mlRcxӛP7Ě̗)F ,^[U>MĽނ9gRh6^b (vr'xGJQKDr/KI ڟ(L&)uT/jc6\J|$; H\v]56m'bkO\5Q;-mDBRݽaA$2샆1;\yiR"Nh%щU}uraQFv$DiUT܌ݝt""OT Ku*PdE@FH0(= 2K8[V[kj2:tFbBψ]ՙYPl H Ȯ{huU2ZnJ_J$_vaѹ]W碶ZsRuT#Wn[t__a)pGbV@$d<¬@;?@rs0_UQ UQꚿuױKq΄nQKAG V$ Y~K uhqhh(ђ4Cˎ;y|#<0cx}b6DHʚ1KD-K.K2:`& cO LQaH>hP<<Ga!OHfH!\vMG L2JSUB ʡ4bk)aM8SObzJ)ҧʟ)"bma,s-r% #d٨,n(!X׍FKR?IIwRz`%ԆHjsKF^M5ߏCdX폴fwuњf{2c;c1#^:,uN;yv"s!tۧ%1KeXcC!KK sB2Ou?8~ΏI'9 &~&l,H (hkݫ2!/`vc,(\TSjtEGyQEŒڣ3h]"P6gT 78n%L2l]L|QG៖b)q#F(<$5HmD&-If*ɞ4N;VI}ygyfK[0 \.{ieDOӓ''M VkK km NV9j.2FrL0L[ŵk3bͬ:xuAtqpU2V_! QSO&)=ksv`Rr&AxR\D/-\ v⡆P xφFWlфs}ݗ!+OJ-ObdmGC/Q$ GI&gF\y&++S*Qw8HQjuH3&orh(R Wfx'H:imM76n4`!3E' rZ U_O>$}a؟>XxۧϜL(( *fm+>@V,$iU&]Dq$Ʊjeδ 6jh&_0I(R!kzjku&t9oa} 1L{>j4L)COr|M(2BPD {#\6GD#ɧ :H1/Z(y+2&⑈b Dm * UJn@{h+VPYR] ő] B.4*3"~ ;ZR9Rך"szwu|r32y'wcQZxZTk(e^ 7I+*\rP,X-ccT"hX+"7;fĤ$,nݠydCD:AsNѳxsW5QY&^iCڢT]>+•80Rk V(v#8-Qj`JW!T[.\rםx,ؽLydsj:ڛn0onVz RN8v#K)zL->}Z-jGzuMA5;MD>'(-) `6hUo  etȱ#oSLj߬ 7+wbnU㢣F0?"I{JQ-`$TLć⨬Hƞ =C!+>1أX%Vő@N"U?Y1k8ӱ^l=ыb( ֝,!g*Rjw_`ιGQxT#SRF 651#{v4RS'?|j] ^%\$%^ZgjTk*Wv竒{aDz1\MYqc3\R'Un>W-IEPAD&PNܜBj+;PwB&e+ն-C?~wh;XsGFćh4z$OV&M5GbrTT+mWL@R[nvA\?{H񨍝r?62~P]*/l߷R_iۆMz+M6~8UӔNgם9+]J1y':em[X*D)ich~H'%Fd@,&jU]JVVo [V7'RԼ3nD4tlT&.dtH'N8|* R9YYŷ  Vu{SzFCu V+3^3,-9AL80i[M @ư]±H>|yBBqW_8r+C!H?.֟Պ\f+Ҋ$Wi^h M$|6p8#m*͉223 Qk3SMlM.WS867Ume9isx#ŦIAY7Mn1.ա;`iDIv$B='#ydozfxFK!UU6 ;u,ZygG<` JWEdueSUPq/\h-n6s?88r8ġ(>bqjEҋ!&xy!@g8vL*&&].?$ G0ҷYTU٭M)I.sr&]Lt]x)/|[x/X^`VX_zJ 5 :;MTc&J\J3QR#-IW}e.c,N2Oq!}8lܒf0xkd/:\˺8JVj Be ȫ:8 v/ʴ6TU Wsm8>yy$~TߌU5YgbteجlTfK$@d<.1cq?R,nNgn;m8 PR%ܥǥ8Vn#PJkK MSȰԉnu2ՖrnEEDxsƻ939ֿ3տ: &^n+[CUψ+Wn{~x=eȼg4ԲQu\*TDgn wɅ=kk \7.5Խ-k-i¾+4E Qy.3v]q7V Ԍt^#uY3Wy7FyW\U䂗jWx5Sڨ6譋IkwzI|!ft_ghw}V ܖkXpY{ע,g\GJ/.pXwE1,N*+%,urDž>E աQS|F1þ|5:+ה~YA 6pB̾mUCK*t<1zE IŲpP0f_uءnaA6 ' d- $W ﲓ "wSMelOH_[v{++ʝclv'oߜ? @  @z>iԔ4H6v &٥s}ձ|{o9eeEy%%ԘjR&f +*3_[ocUñRAJ׾kO^YQ0(bF0ЛhѾ'Ӧ)=ܺA͑n`iˢsiu_ U9u&< Coh5Fs-/K@evM[ov/P˹lhKy"NOos)Ӗ7H}m`nȲwOnݗ+U#ZkCj波uܖ @=ӾQe~~3`ro۵;υJ?tԟl3h۲Ig5mU ީ֒ ^-|^C\yкrX):, ["\~ Qy}5qScUUv8{Kpe5=zbjUhwXƪj\<=<'G=oD'ԹQ4]|Qӧkqw7"oI]~,晡{N˰O~_TС1Dn`|C:Kx~1'~h-o l?ba$ʃ# cf Ѿ<oC[n{\a#cZee\ծ3Y{Eݺn97!/&ԢA ߹OаK?pؽ4%?4DsTƞ~j2uѪh'M{X:*p _y1RgرMM:Hѩ G|~™>{ 5Z͋҃_F6-0kd^or_L0Bd7??OO_F .??B/t9TCv L mD}6X;e^{Op4`oAk/խYhkeaE{K_cr\',zTh# 4TCY4p w 1Qu,V >>~}㯻wfhJm)Mtc-q\'1-~ svNrܞ4VC*`不/‡7aMAQ s!_/QACU3/clJ[B*Xs lBp&@@v.6jm? ;i#3S{]_HCo3ع)tr9F 8 E,j:t/VS.kpvlWIM3?8O5 %캎KUV{'Spl)ù)>ogfk_q%XR7Uuㄧ1YefgB_vJ0xqUES:8d#NCΛQGSNfc'aTF|p#^SMs˥v"lv(RomPʽ>Ph+4%[]vHjμ$HwuKql@ P ϑq1AIpؠM:>5S(o GU ~ҟ`m{2--8@8CBsrN;(BPᯓH6I`o?[l8y5Yjf*7PR+Zytg c-JR*FItRlA!H9hZ$z)ߖs`C"gH>xH:vHhL?^խޯ{2Õ;o![Ea7ɰzrs~ &)3_%Pääy)޾fl1F4g\;7Q戂8a#4ۥu`Tݲl"MZ-gfh.l0ofu'-ab/D4Ewpr:(G!lWq*o*&s'`rY3aRFX-18%$ꅚ a_)+)Ge3#E?r>#9k#'. /O!8F @*55(lwT)Y*´I"#hpۼՍs% kZ E*^_xa9oeMyc`FY K$E6`ebXJ+L3KYIUdw$s#HQ#E|%ƕ҂MVX!9܄Iti)p0tx-Vo_*~F&1}N-&J۳\#xepx`/k1Aܳ.Kΰi4(t]M1Ǘ^=<rF2"^MǕVVAeÄ́J@K~-u/r.l}G_ sг(JG`]j'q8 Y˵ U87i}SH)!h7Lw c0ģ~d6}g@Zsv\wF+q g|Wۑ*ݠIN3Xבs9(wEG<@9ޞ hAMo6T7%)ϗzTorO=B.8&ቄ_fUSi$8Ct0/RKJL#CqTX"N/5H]ۨ1dN@ /p@)`KK} ZoŪ*İ}{@e}Mr& *~]~=xW\Bä́3'a9.^C%f0`ML[ 2Aɽ`ǟA߸/K8 x G!QX\y nJM`yiE9r4ꤧذq)( ~+(.Jڪoڱhph0IǤh ڮ2Ӵ:;~z[ծgvS"rSBkn6os3!܀@9*j-?kli'܃ u1x9M"XH.r,zRh/ɪpl(:SD\!̹x"^<<"2Kǜ\Ct)=.{ .g~>HeD~,֑/+)}.gWT%'p2 'w>Q bv,)~ .Mt],Wo';kE*Ut s^`('b8{ҖD͇FLnw썕m#(DIKxxJ w~S=l9{u [LFQ 5Sο)ȯժtcNc>ؘ>/wyوmT٥rմJ۷*Z}3ptN$=U}(NqYYU:OE4%nst?!l^ R6?Ա&|趉5ቑS*!`MrB4mmkXGutb5pB6 lC]uɹP_uP˫c]L\˂ =(0ꩢENɸ-)FX9֑Q>RrhI1asb.bHw=r?۲-||^ mN$lC0&-9aÀrHh:,]p(DZ,m+9(Qi[=Vi ~nf^r>(IzurJ X*艅:&"[f-+OQtOu1yee$  ^/ݖyXԡ|l2}yEGrTSV0q4ΜÒ0,Wd*@t$xidΫ ʱDc;K*8ݟ|oh8A¯(?8Ze03 Fw0EZaU-MMU~uZ֝YjjK0t tfІ IVB|)ӞA els vzvήlILrxSZ؉۴bOgbif%sl MԦҺ+WuNiL'Rԋ^w?%JwSG^^H8ޕu~seJ1<jeX=up9Q恇{hVEyYL8t'fONLE#Q`IAgn,+jhXl|ˤg& tϟZFXK)wz =wsIGq@n 3hT^izDSw.+o`G@̈́Y巪WB|l+$™m@ vژf l Lm 'ps|cฤ8 3m?Hr"@<АYdi4f3cJ{vfn=8 KRv,"ϧ}9MuEӕI !jj ngZ/spV 3U%) Vhi`7gu5RfןJ^Oef3ǘY +ȷ(#46HeÍgOYZMrpGIi[ȯخD/tp*^Tt)Q#KN7S(dl̖QEXl5I}2M?7!\.<tZ8{: JQV[F=șqE~:K4lbF6Ɏ!`ZD9e'LOX]tm}[BC5k𷶋@v3>}bw#{ߪۅWmbP5y_NJ齪3DsvDR.I])f8fSl-mD nu{ zŜ"0h h#vHB/6P^Al: q p0P]Oԩ8{ 7Z{@,58Bj~Տ݊0eG=vuS/,Ԗkah>ӖI44oU) {%&qf>NőUBEMS}([UC%B+ߠ $RT%CB@TL[٘+ ?IOPao @<0[c@PF\}  U|ݪzR.1p(9^ݏ6څؿX @g'0}{_XSLY og;Y["x_NEb c肗_"4C0R%U1십pL vZg;I,SoP=w- D_GSD;9M6ેMJdS:TԍW3=XpHthBمݥ_fx]yiZ0W=EIHBї3do]K0ǟ_ng? ۱^$[?x{X +~3K#v;χB JsC;90` p. ~4!ݠ(g; 6hWC [ #_j!a`ahC{]"'jRq+ / 3$_̯ͭ1ѤכJTzL`SuHZa-Ul ~h_!M"k~`#m@YaY5X.`]Z'wɤ@[MT^0Q7w=ZɶsA!č]jX+Khbh-Ce;G}Y c;vǠE@:YA󵯺AZ/:qu#빯%ekHa*v\_AJ*^N,Ug}=e]p Pk5^ٻ;Wt'ᛓKy+'>]^b@`Fap`3zŀZ\޹iӯ7y}R˜gc,~X$MVV حKC3x0U1K2/+VnA 2 I4b,3H (ѳ]q/kew%_ !BYv3Zx{UY:N?xX|qWVԝ8ɠ~\%AOW(6fsizֆ:sLq+%4S~VH$X(Ci}K,?@RlK9i imFmާC^Tq *U pet^>-1[I3.C*7u`JQZA~-ḙ刻%*9Q'7|h8h*o`r-^L<9LFӐb%"|>AioM]Gr2ѢǮ UBoUI&t\B7߃BV2ޗVj 9,oY9&ιg(&QN !D+>ћ)q%@SKڍ|kxIp;\g3NSj,窗/`W$2D?ZЈ2s+a!fo'roKwQo zꖦ_eӼj|h.BBM8+S׼nh5oBfbBc6> Kvu*`+/m aӻkpgnF!WmXEχoA$7U.OMA&iڸm&H֟sy;BS7Q9Ry#%o8 '&M[k_ˉh0'?.zuesin7 F*1qe1ظ_DIs&'Qɋa͉m8RB:{{1A+S1Ŏ;C[PY6k3x8k}8x;+2jhy\M!= s`Q-(hvV^P?EX8 0V=>]#2,f=Gig%@@9{O-]n8Y+d'YTywp_ ǴuVNRӻV.4$}dŽ6eTR+88l9?㿨>S87yR̺c%ߝǮߛ4U%`)ֶzV ic:h oU ۠N-wG@{~*c93HCT033wT-w䰴 Y-dc8A X ApPϖ0Bw7e跣g'zs9(|"mXEWTػ E=WьQOސF'I(u\$HBF@M*+uC]-$'I!rj$CL\M$A $$$T.CywVwu}fu[Ϻ/ {.s4gߒD9u֙W?E$WDuWd| Da WoTl>]VsMyMIqIW $D B{['u-t΅^]S+]2y=޿1jL?i,ȝOrӚ"0Նcn|52TYԲ VV$^ʫPOф._M ^qlJf'r 67r^{q dҐh oDʻ^ ]F lfz#359_/1]! M7 Ϳxp>ZDZ#¥8!Pr;:R#zg;.]j_A瘕mvsЯ]˜^^y]2o`b)`=U_^ sHODz7 ?4{ȝgii񉒉KZߺ4=N>ǠT Nݰ8g &/g%FF xKˇ`PowMFY`Gלx rSkgZMbՆ@ {iz8`FcGDdEԄm&xeXAE)2,D)?zc{ &9}VwMe.M{:)!y;rXh^F~gJr?w&lv.v6Cebd zZ6Hы(Zm-$lh+4ǟ]s$GӷCuM$l=Zp@ Zt< {_zusƳ$3H8OZT*|+x?>Aʭͫjz >^ Gai/ kj#\ EkMIxum_4,`,LA6%O멗{T¨GkjfaN[qմ2jFCJD6aPԗcB1o)jcfzæKuA熗 RCn%f i+=K;G$7s#o/8S'EhZO(OdB0]" aye4bgBVDy 6ۏ[^WFpo²ʛ^ GWAΨ䏞5y]G+v}߰">BK-}4 (t$Y knڭxl=vjxEQ6Av*{F !j`9Ay/C"rFD4m42 pT]/ ώZwUI5 9 sQ+N)әZqbJtb\~kIܡF d:6C4QF7J-hi$ymC-G, C`%EWSl76MxYADRpczhKM+++.$@AD?`CI%]|8bmJ[q(NHI zgc{OSQD<6g.f!3R:Y.ntVGGJI=]d2l'6oXHܴu"\d)vO)CS vOtV*5x«unLgQ-=p@bKhɮ})e/byM\qr=-)ډC%jz _B\{!_vhN~L[PX dMoJvZmEsssO#to|od$a&+I슋j%|;47L;:^>y.(ЅSTE]5ߜq^Ŷ/=p"2 l z~m%/8E!wca.ңXT<O s0qh2u(CaDH1U~x@qɽ>Tn7uQb̩atKV1M{a;z2:X|5&uB<gݟ*r]iq16'83Ғnx\v=y9ݱd0Tw|%9t/=tC^ROOe>=-V5lf#": ]\!>.);v(|zxѰ7׬LHtp+ b~&6?y,{>91Kńbc qva;w꣢Pyd,9sQ"?yZG=P7Rci_DsMPpA"%@|᧟tj"h#s0* 79;Zpk m5IKC):nZ闫"v//m|C= g/:Ǽah{c%ejE9tCkUnkn$̚6Dr܌4^)kP ]YGܦ=86 Q`&nć jh}"mrmo^_T?3ԁ3{՞Uo@ng464{0m FE +k%uX>gd*JwwX{׾mREr{ RTAc/p?aHW(^~17] Bolހ*;H]HoC_Q:9j+)ZE>Ps$zBu T qMWg](*MA"v:ISt0\s&mջ#`վ8?Ȍ;@|ыz|@EG_Goxnwn׆\`h/TM`dav#|sZ*{Wa:H&J1P7iU, L#Tf4aI(ŠQ.x/kK)*D)Q*vR(Nt)m WRjREu=5C},isir}h p{HE݁O %S7 4MG_i}k=IDF~Af+FNpĶtKfCi :i >J7,&D⿴AiX5DQK)^ =u eƭ yIS҂:/jMF*`gT)Rc߼3 VJKf=84Na(2cLɏtGf.|8U[3j!OFQS64DC|hgሡe>:tdܙ82͍G 0w#vPSG aW. !"}^:nVv%6gPѴ9;$өZڑk+8 s>}v폫q'F|N[dgŅ/Fcy5dyF3RK(@)|G>y.[쑋&J ޮLc\mJxnP#zߎSUv~,sTh/HG> Q5܉Vs 8$Wyuj^!G<,1 of\9mwƘHؤTeg_8-zag:}y j{feYHGw;x9@U #![2I_^2qv,R*&77l:;KvIqBrIxMOH ,iFm+ٜ&J/;/UMeA f_ zRDq_z!ۿ1z 7 D8E[MKix$$4|P*FJ0^mdÍZ""Z{&+@nj_JuVe<8I`T6и->-;[h/"FDp=Y lm;D7-[BEqSL{9ɬy9/ ,]-HV3-M=-TVv~Xp[d*ӻe7y]lK?yu#kwcqz #g>fr{m$^/Zp%von܆6|]I4UTSЬ|ށ@!tqiU>&=KS *Gs*v ^񝻂թ9X=CN<Ϡj):v0:`̾(r)ُqjP~=:f Pc&%MO밚jx%|LC,9SOw:MG@._D&G{ݳՋ# 2fDxuqM(HO&z>j 5Hv%GT:o:/wf~ÿmva}3tr ٧y #Ӳ$&/#>86<ǹd|_uYoA3=kyD)lBVy_~2>-ܲ '}iT]|J54Fԍ 7Qv.*(Z*[[ApLf 53MtceX#t*Qו$6c^{_-$8u9N^(FUx UYQU_FT8ۙwx= yAĪr#捇BAJުzy^Iv3*s.84 *N&fVػsF|SԔ5U+'-&}Zx-Op}oߟĄ,uz9YdڶP%եzi!h>Dm!eϔ揓 C5X΃ LCLp V/>hZq"wtYQg&'TEq{x(w[clJ\U#ꊺǹjF,W^+k=J`lA>%SM=s%AπkӗD!ŖV<{'nChb[%,#Pҭ 6{ّK-m#;q]#PRu:j}ݞT&8Ƴ('j#5tmY$(z'n毸# g2d/E)=p)wѝ43>;yUcz|ţ~YYRlG+p),ˬsd#2:h7Ck~=VAheWJiŷ=M7/б*rҨv2O͊_$*B>fvH WIBB!,DI V A󮫶C6wx#R6M}7j;⾔QI*Ȋіj 'Y]g6 |JB " P.q7ܴuGЯĤϬ;̴HK9|{iAd=~ >DMKrPmBM vSJ=4BfbU'3##ijdƒmvªшu}R %`Uԋu#q6YA'rRUڷ+!>){c0+%sOKFi(nZ$Kte^YPkaYt x+->C9h{7Msom-M44ٹ\<"O0TV7*YS.b̭zʩ#=e- P^y٦l I@w^sM^7kĎ'vUXgX>E9^ yt:R6磢/]^JfYhjWkY^x] hF [)9J_ D;x%qb KYb*,tQT=u7niW,cK L (Ӭtw~#MfKW #Ȅ,"LnΧ TU(2eaU`ؗmhġƁn8U{W.-}adK Uer9,${$' Ggm]C#7Y,%k'ѬVZ'Euˇrܣ$ %d+qw2&%IrY|D,U m6wh{zo ϡ='+W*Gj/M4u(T0]!~ v=3p#Xw544yTIɈ1+mkIW_ 1\Ob' Jn'M.1PI^'4"Uh?7tmֲh\nO}Vڵ^ΜِdhqiZ64 qL񂪩`߯gG6ܫvWs+޳ ej#ԈDm_Fa4x,r{ZOĢ&#UL'IQbjgR~K?UyO/==kUG\};VU"\ /ͻѷҳr7:UO_=Z-̷GZ9#Sh z=d7= zظlHsX=CZ}Ȭ` 76⽟=?===~Ӂ_'~Oq,,Aƾ|`ߕR{Ì2^280To<'vEZ>\ـ)* !f9ϋ|U0X;߹#&m}gUnQcg^ɂ5 _鳵Oң/o&c+llj@q8`#ꃡW/1M93$k9W?|yP =! wM= ]XC`)Y5@N\#n 4BHf7V(]Ud8OqP`71V߅-ޙ.G)i4%bȴ:' K5ZIBmбY`q, j}TLkqܞXCשUET.#}r7x~IdV@ Fn_j'o̩)@l%3"#Fz b]:d\cGpU40R'S 9fBU׉9;BZ"$j+K+6eTkM->ovu{Vǻ`Bj]"B˽|&kz_55pц?p6$W@ nBx355X=M^_a`8,oب-# QiFpP?4ʓ%T.KBNx ~КSǎpof͸-<a~mYRA}GɮnIo9='%YζC+D܁i -=]h r80L 2EK1-?*5hM=¾.oGQO/^ehܝqo2Ǹ8}3^%"\ԍj2A2YvܜxKMڊwV͏guXyJ,bqU:S27/c8Y`x*??_nҢwYj6f,2oO} {p;RGd[c6Bv|zTt8{ę]/p|h澘ػ )3̧E}#MeZ;uE֓Zg2&|Sl:*K<N_%ݩښ6:{|c`b80`wrp(^NS;sDr:kA`ڣ2JO;A{? |RnMjl/OY2 66W-&y$i7Zɑu9qWONp c8+< O:1^тfy+jf8-wn *<xk\F@E3/킪lkwOi]e{i|;|Ef-BnVJ싚V0_1#Nn+ Čl ^sZX_CU* unFIoTf6 cW5:B3hXY눾}{fw&c ΃kI6x.G\;Ȕ( ks7=nz;P T5A'MSʱNWZ: =h,d$&5|*GL<0(`2Hu0% ku=r5>gC/Xl$y4&Z‡4T==e%|ֳkڋ탭նNj~t$'^#r"nڏkDžd9{DG]e9$ 8OΦCˎԻsvijtt1(%YV̄c0sMKRbV:ͺA_@vG8as+RMRl [Bi~G;dR}dt+C' h3>O5xXr)Y&-T<ύFA.,p@tUCgAYG7?[΄],?ˡA͂XRTkFkU]&F7yF9F )UCda1~"'@M0Ey;9#g_!坹{k%WSO'٥$ib$k*&b%n`'D0 y0V}F?dGh&Ef\ d7N$p?9 ګ="Joa^e5^5!, +`ᕬP<`&ӓז+#J}(wv!{Pτ30ʃ8>CdX'~ֽ9Gd98O|">C*Jb؂. gNJZDE+}":R mWD HgKiz HOO֚C>EB\"IH\j2p,X;n#5 _`cGm܏]6X.n9Gn&ՁFA7A8?ےP^^jEurspt:Q)9#I|U(T|eH8nU Nmf3ALjh kɬVށTYm7 122l̳V֮h~sʰ;!DI%_?\OP{b4tH`:(_P=Z6MLz;rr * ːPGD8g3C>􊝃P9PpC #%Z6cKF{`K49m=sz~)hh o\Y5OvZ1qjm"CD*U4<1pGKPBs87jq@!]МV삏r؞CN:\6Zr\fkoN*ϫ-") OX2V=ʃahcل·MYjʊLdzlǺv=w(Pw V7}]G* A+*ӱNP4rEq (=[:+UQ),6^YXO+~LY՜And/3H'V%l{ٗtL0%|ʁT𞾾[m6Ӽ5^HcpCE083 qvd-՗2mFu1ҵ|R{kеp,Ib?;B;dOq^M6ߵlTR=TV{JFPtsɎT?p1o}g>Tdʆ̎ۇGr7"bJɪ i9hl#QUE[4HVW/WAlVzgZ\r>G AngPzgEl>Z(Jnbݚ c}\Om?wQ)5R !Tn6vE91^`8s18dGi}yo@%@8<1l,vDpQ<K>)Ɨj9IǕ HDRк41 Fҧ=gq%Igҡ]t{]1acЅ}s!Y-KӄQ5 﫯2:1$tRGKJPƶ [241 5jWyL\:H ]3t[Kp,iI#Y]csK+Ѱ4͟= ]0wկ+kV-}"206$v˒1b7vX=72#7(,4y]=0s_Rۑ#w_ZI5,0+аnigKfYX%w&k +ć|<@y]ޓli㐈EDz*=Jr@dF y%ԙVGڞuACP%Ansdnص=Ps4fv =ݜޞlt1*0X,(/MٻDQigDnDVN'Wh4C=XufHGD`U7 9\) ;^'Ce:@=7\TyB.bv$%+ Se!A\1]bwf*\$0uHƁce'ɋ&]j]Ɵ{ 5zږfSΦ6t֠SzIHHD Iny9E#PEBGOǓF؎䜬^VI8o y(tvǝWYt$?ǥŬIITb!FݒۭY5GAZ¹j. 7D` >O9QN]?(oH;==\ڙ\P-|<9:.eOG8Yt $vۄV&Z2xd;KpDkB'hZXq CCmDZOm1ռIm GαT4ZO"\>=15uw@D+'AyXSB;%JEBA'(#eeN4USK"E;`2 Ԥ. N߫1ѣtCDE-F.: rQoHKM ;Max̹]&+ :Utlž]0Oln\dbH3E - h,)`wׯawtD%~m>:uLt42(bvxMA 2_x{>?J ZB4wQU=nqO$Q??ćg'Iב.#3N5B}tPe;BدaBsj0^.~uw&jp3cB;m1ukJc:39ߧ|Ḭ9O[Mk2a8]].Zq=AIVػo/UIڄ([ X"^h$3./bHXh298 0; ٩< FۥD`%6fSM>0  y@=XXRjc6ӥ[,_t(<`R&3Jr#l{7?-gdKXu*+,TdurxZ<ER3wWuG^R{S3C?:y݌x'z|=sEF:j(D? k 40ЅEnnJFscsDcRp xFxfw!/KrxsS>'vL>^lav-B~Ƭ?/R}?ü8:j¦ܻBNw:vTy|-4m0| ޫ5]&lؼ6d{8vx!EZT?m-gnVQ&3;q9N{!@DC\lfSm.x-]ٶގZO=bik+ K ܨpݰuo2%z:1l7)jxl+2~뚞u"2?o\KeZ-3-d۳]B_ݰ2ܨa f\!\b+Hd;lA^@N.0u'DG`ZV'.+X &Y\\&T';'{B]ƀ #'ea0}Ö9b eBڭlG]/l%&]4 !\uBg=:!,~iJvZI\71 tѿЈ_dlKjjp' CE^ƦN;#dr Ě&PjLh>|яCr&zTW 0q\m՝ckⳳU 2k0Bw/'_%΃u aFZOkm8OM~ˉ3mPq`Eg+`/sdh@)%sWIڪ0gC-V;F)^We[:kq^J45<9?u)paUS/熍 5΍3 $z \)sa{;>la \i,43U!؜8W֟-LT&Jh]l 5-S 3|i$%{[9yg C73$J(^'n./0uh+14 >`w fm֜u|"|G0"ò9tnh~X0 IkG-Ĩ)R@+Kbs6>8ziq0![yIXzw2ѝu:z/ ^QVe2ᾏ)4KO6hRIxz= |"=uFS?Q*GXI6b>u~˽?L ՅcL \ǰt^yWEܰGxu{BYg :<^1SS$5!Y ]qԣr V9IJ؁saɏ AΣzOYwtFA[~6O34x5[< (NMMgY"P2M LTsVQ2QSj_ r<1JΜ$QB+UHzqVFwDJؾ`\N+/l=6]镌$^峼oI)񌑆t<]׉}Iu*ZsaOsсE~9&(4vC$76zl]3x3*cj%-E_l.%@KX_NJnh$&O6<z.p҂"f #wI3QxJV3He;|0̄eԾ>ʍ:P?(eX1}rtӫwEC8Cq R}67 vy~0o(/u9|{#hy=uv|vò1)5XU46 ZoQDKJ 냗"ja3!1 dy\B3Q4|`[((6#ic/^(AJBRu3)?v&:*x2f63!/^MRwI05Oe!ٗwvi-{ eY!X"4kr01(q;=j馛~}wbOUnSss>?.T (6 lKxn1H3d1/~_AYnH["wyȳS.(k^_d aT-FeTIt;r F_&ƞ_gE`־)t ˃(%gNiZFَl*+4R}2jo6c\{=Y!=ƃ>hy wu͑#E ӱ0J5'JhIp_M*޿ T!EU|;bRTWst>W{MG5#:=,0]YS=@)%&t~Cs ?R sk8vfIaխy"3%Xiqi"|њrK^]n|";JWjB29JwEbMԹEFmǥLg"R%R'1"u 3uS^&j,k:F>||J ܨ:5~z(l{,x[!>,MäԖvq9>'K43WAa ˯F+'S ~MDb $yTjkb!OUVmzV4LWoY#^{"[n[9&L9 >Jru2\0` >>j&\2 1)JCLB fS6C|% m U Yx|K5%S +B"̈]~1 0~x>ۖCNI pBfԹ4wX`,Mtb&>h#sͲj͉ J/*Q̊~ -ޭ l!D'+$,́m%v~+V%|peqAU0e'- >88Z CFQ1 >!̾Pey>%u|񖸔WCVrb0I_DEAE( swmƟZ>d]ͩ\•NdEAmKz. rD_ #g$y ZHFW'H W2KB.vz-6aОBrJz? wa: *x,ra)bZƬ'SN(jhGsȱ:m6my(T˭Ƴxݰ\ ǜ 4ؖA 4"^\8M{8g\RU[Bh~B`mL?n+AİB&(?LƐ>'jkx"%u,q@ OE%C{aR]r:@n-%"r&E/qh ^kod&0U1+s&7;~Ys0^O 6HL1/@?۹hQ9#v-t^Gh]m&H=޶H/ʭ۴+4˛L*Na\Sݸ/LLC"&벇nqhZ]Vd qmlg\|Z!ĘSu逫քu,B'pÎb-fwso-z?p@Á|+Xd>r Ǥ<^0ش7zLeSPW!Ob~e,2y v8 c +i-NLlL 3AWTPn@ȶ?,KѤ8}弻M٠w,͘Qj+5Sd8BnFr Cb;o`4S"e R,~B|XtAo׺^wkK\IZ*J1idĴ-"0+o{}qkn nw(ADX2m'`dzvB`` eVXld\"/aox[U=Ke8{n }H)Ui/?50Qe20r CşgV% 5J8cJ/>{fCsuc5pTE}7`tq!zI1СIBB"*~ZSi!moG.>4N)@;`zBMx',>~rRg}D̹Ѱkk0ĥkaoG{c X/ \ΰF &jO=~:T1"aM%_ SKmf \#s秳׻Y ψMFHxduWŕN3;J2\X]dtDk!K&a,O猃}K<:RĀHw(.#T|$==:x2<~꼂uuDد]NfS0iJ=Ǽ+*㪵xZ׬\}8GxI<͑꽺R> ~l(fқ2kå ۦI(db3\]#9/ӈ37~dTO>O]/4S1^4NƸXAĪzט;}Ī;t: l9π뛬LLO8Jm 3gY .2|z5=t,93nq6"lE)P{GgSulWG}`y?"RQ${::zȾ!p1xIm$䫜&k>P%2D~"Z9TR۴q{#~%SCn2fi* wWY.e4¼}^^eV$ /DpYxS!y[=>朗PDet1Dj;LàDd b~ME0 WP= \|G WFʋ=c\/'wp\KyW#^a.j4JYN8HyMA60wЙ&#t1 ?]fgDsti7ǵS+uT GA4pޤ-Xc#GLuq8N')ٱhfdZֺ%Oոh $#o1dwx6Mx$2t?n *bvWv4eQg" $GWh|割 GI&QpO#C>OԄpRPl!r0ܮISQޒfCkmSk>.D= ͤO\APH|;!yYCBrhO›;oUonYx׽XiTa.r$^FʬC,64V^|$e/q9IiV%[DC~ /u3&ۓ*s!DPia \]8= [ \?0L8O,B֋4zS߱0^)<äSbF6@~^%ߪt_zTRzLAR SaFD@f1x'(,]$ r5孭g~sPCB[k=W!-B{ L:)tNp av4$O5Ot(swoqgQ!+y{ K?ZCL–P ] ZZ!5tE R뤁"YmS@QRKO.#Bdsv?a^uk'Bs'據1&L*ot_sވ\`/ `O~7&>РlN[gOPJTڨ̳W{VK# s {iF< DOOZHݳřVTiuhud=bE${(", OCQLg35z~3^?E&˸:'5SF`!ƒRzǎ&_g'ܶb=kRC+pJ} Ѧi`l9Eit邪<߽,WK:rD"E^7d9RTm<ӂ //p6$Qsbrڹoy[(-[pOf()y-; 1|Ho:Yю0WijF)U Bz w tGqgB?t5>{ &?(Ɓ)δ:bebSBZ.^!tu?w2U嘋$ qU.!$8#jp9W i U>D䯳VZfa)'Ze纍[߇=.*ހ pzu{|p23jwJ5g׳E&-kk7G h2hMPwOhb?_MszXBT=+ƅh'Ѭ8XhxrHx }Ac <6;¦fR)r\ÛvYv*&:1e EHNõPmdwHAp6Icj2P RT8[M¹%_à\|*҈ˊ7Z. %iOTۿ2Cx &l2KAJׯ|$'$3?4;e3|(ߔY_ũ%|#wh}n;X́MG}տݑv{[p'}'ѿ]8<o'oE 8?%go:qBZm'70J_F\t8GqԺp~_q/Zqج'Zp'Ek|B<:YC 9˳*YxB$γ=ĶQOd V\|5ͪX0Tx9|]+܀F3@DC^ .2J0$Ã3mW}v,D }d z>QGw4fF+o!^;?ROг ?h#;y ZTZk煜'转ruH!Pw#<,`W8$C$B@5SADdgGr@F@;( YABs9|i%-LT] ѲJt_N'/ (J J Mp7{}Xto0]#.^c~4;AcN܆ƾȌ <7HC;h@ɒ?!CfHŠDAQAȪA/A`[wBF=W+:!ݪa=ҧ!G_}oG Ѣ3LqXQєy+%aS>ZZyu\}@Ab 'Q`6V310+dݒ VnBCT\`j~g{DN@Ҩ/vAC W3b2y?ՏQ̙kh}e?"K-SBѥUEF#3~Ne^cƪca*D(aMIJocOol#ktQAGP@(}`x>`Jt&wT}P }#~:(~ C4XA<=Z!gDOtZ `{$~:?Jx>JؾͳxDk(|@?%( } 7 A+v)Q1hq@Q^g 8<}A|ĀF'\DZ5N+];Gh!3𢬏Hoek#J[C!D;܃xpu-;eh)fgG%uvxp}~}*(#w;&B.?;\üNvLwVA'(wեܗ:>#w>Т|q+@|G>taҝ݁zNVܢحڻgO~QdL vht|O8zpAѥ2H;t n;(^\;[N wp)tWOu ]ͰUz$x'8:q@}_xI_)8V J%>LQ*no'to]:Hd|p8%֧͡Tqok=<&5-!R dm:\'rj;Ae|vr$DKw/ؘJn<ֻlr!1h^>,L{sfud8uj\$0h66{\N)7LfH MCXUS8ڥ̹xvŠ萝ypR?tC ~ ԍ$2J8U@<>F@‡o;/q\RĊx Gu^:Ȟz1 {гˑ}q|(ς@ _h溤+Cy2!G 5Qib4*CP} ^?Q~OO8[hrK+>jd)\~}|o#e=/kN//|>añ[z coqGk=ٕ _oļft,7 c,]d`M{S7t[1fg7!_m_uW̬4-JWN$f'Gl;uۏUP ?mɓ (yL(w*\a򡜺hL]n>q +' ;-xc>D #Fd1#詔Ҹ%2xcm1`OhW庿UWxf,v -7V%7s벮Jy5UFpF V-'&V6Z\ٱMm!tMjo9.`cwQ5B{e`E)->!.Ҵ4- !5KMnQq\6qD V@bDCwKל̳)A>"߅IWX( -ĚNۄV,|ܠ!;1/Q5*ܠgQ*F"!B49(1N<5.vO JBtZ*8.Lֆ颗&iرY[L良-b0WN(bY1̾Q6+Ɠ?poL<ֶ_ؒⅱًv>pv #υLCl 1pMdhCCm[ B[0wͳ>|{!Z!7"``b@p#n &O҃FtrZ|UK"QI/Pvb-Pnaę2VaGN^?m*B]"o.f~a媖!OxGt0*kl} vq%_2$QNofW[n?}z)L,³jEÒӊq$YpOBb'Ȋ.$3#H5seVS!A"5V";p8(8dlCHv; i50EsѰ8.UXr}@yz\?״'VYkdd/,!lջrtviePOt”0_+k 1ZbN|#z uSͱ=L,|H"WuBo H@BR=hdt,!s #ǭȪuR!ˠė?=x FM9WG]/,~B$D6'WN _ kmp/x`'tjQYsmHI ClTiՊ.}Cywob g/W|j}!A>E|f0vlxcźpq=cڜTi'<>c]$(;(ӏIb>r"tzMB,6wFYhFaP)?klGb?%b-ӑl)\}W]GTM3jKH V׍b?-͓~w`{y;ʐ*p =oU>+זL8J4oԲ2/[om!+(ۛmG#ow)Τ&T[Qqs&E/,'PtS'ynl eC 藝`ry3mePm2;(eC#΀ w[Zf4s-Fɱa`+tdG0@bSs7&78yl)s!vk1CMXyhHyb?[T)8_mU2̰ڿra,0ٙ!ǏxձlװE%o5v.<1w:',imM D.eךCvf(مމj9gN].}@6|kD9la[S# /6@R/}%&C|w =g7'>aCn,ԖXĻIQ`hX;O m?)&l!Wdp?ї "*<뿯eg=-ߨ'r wlsb Il{5F8ic KEً hHzHdgdIn!& bBI^*PK#zR__,TR~߳nQ,XΩa@r*l|\b< Dd`YIc.ly<θ֙IE%a߁~b)Z+f2;76BZ "%Py()zv)w'rw5d}+{[F֩OPɓ5#\ +1>+^`'WѸަ5\ )NR"TM%;$G QA thr: N9PȠz3N58r ?ɦTzЩ`2[URo]2N2i&Eq#Bb#h/WiBn'YnM "Efj#DRXV$l _>]7obLzg98 ݐ1FV̵Uyїa VY[\zAm~ؼ֯ۃx g-jg&ٙĴk8lZ_xҁ/Z{0'\bIo/=5D76EuvVFvq.W %$H: DM\ɚAgWH8DȪكF7${2}C#QNE|ζ줎\EY[]f+abnP FvmmG#߼Gd(^d?v.6btjEBh #zY, ~4 'nT.-\?lF|'V专=lIު?>PDhm($ usԖS[q_::xBvv:O@O\Xꕆ0M: NBg9$frQ/Р3c4/Lo^JX.0M>Eڹx3GV%Bs!bY ȶ2:n?7`w$9^ \h-HU&}+R?ɫJk}@%5^<~TBp|Cj=-İZl[!M/rǃzwGJW (y ?xC݇P$f0 Ru\Ab4^weЅ{٨饵Ƿm {C!CJ'&Rg8eʹce]>Kǹ%6ga{rp:趇"MGD`eG'!j!IwWhx{j ȃVt։=+y7ECbuy wy' %)(?:9ľcb4 %ExBtkdR؏}t.\a?6%J$+,kӳ'獲hOU)/Ik:q׋˺6Pi=-ՊBQ9)z?8ֳؙűFK8eͤiL^z,aӟb5"G?V_YOy>Uv'ܧ0{3{hintoڡbk5†lex?7'^1]I #]xGA A\1-G#fWSX&_j&+q(#ncH Ă@<ȫ " T[0 \[( *"*" ULi@15inwìyȿA_}=u5eUU3dU+aB #cV'n'U2}qVڨdf&59.7\b d/C/-> 72VoRo5Vڶ$F I)~/2>'ܾ>{`hѾᆘ-*쀷k% < ^DPj =4zG pns,9Iܓ]C [~caIMӣT0 [n@_5Ӳ|_`աbYV2/ruk./tP_MO %[2<@G^+a~f8pЇ.1гgɁo4VhR}^#[F]^ C*d[߼c@T|~fMz&\OIQTёx1z1=ECAx8t Ryt@gT^@ߗ`;c!@>O$% 9 2+*?K*:׼IcI JF&(Dg[HϣW,i9y#`^PtZRT%~355Z :yDqPO^n^@;[P[td /[@$B2qJG?K~#me`;ͺBܓ!ԙ?F>>,vT o"IVȡ?*c5q(V(D{Nյ{\K'/Xy=Ww#uIm*"Ln'oʂ53;/INrZԤs7لYXgrPf=oT̀c%L0E2=pAE>Ñ+JFrsrŅ' J|8X4M#S`55Ϙ%z2.UgJD*8S(aO~3,= EY4P ܔ(Jo7> e 13?LV2(Mly/Si֠)A1)W"g8/2$`ZVe&ϸ='$iE4ŁKd)>|6eFz%y_x,A!Tϣt-dB-+It"of$:6MnkFe93(v4'R,B7B V!X K'˕&ab:zka.0.ϫ 5J^J$mҟeENNB Z鐪;5VahlIğy{NFLGPm?1FG(!NAGqt0q {ێ3mwV~R$A/B!eS~ݢ gJQWf &'in3,Z)dQ3K* Eef3J`G{)D{4zHYI"E-=zHB[BfĦ+|"]m 47M#DGq0y @5Jtb;hӑT0ڮ+W缽oшmJü(3e!gq?p3p8)Tz>]XǞ| k[?H,wrW]l'ty(`$"gqWhvE smMH%7AñENfMZCP)۝]j> 9avt#!^qƧ'h<ǘc2ș}u\c|t usy\XF> ôMPeYݐpCx@Ua?a’y@:(+>H0])APUC~-֋W;whWf.ӑ#J@e`tݙ7$2|mh#,*ɑc5[ZyI*iE3sEٲĵXD]4R{\mY!}DYkz@C?R(' 8\gOPV[luDÈ .x8H K] 2+_A8>h!Ғ·b<ɫ%" $+ P,_UA؄ ZZؕ7{^]fu޽ GZ P4]'u{ELS1sl.uvzLĊ}cQBPIm j y`-_>"|PaѵCo(2 u]Ҙy'm  e 9&pʮR0F"9r?Ì`Y X9' +_9|$?&d 'ڨ8/;qP!˱̫Y(|:ᶭh{9$ frVwS*um޻ U-"/ _3eRhV+ A4YS["UNǢ2XoJF(4GY*N5OG` kdb; 'ގGx=:> r|3= .OG U_h2A {XZ:7&Fue2@ع~ըNRy=&1&VoҀ: X Gpre>Y *&((6X!#8O @bN|val}95(z FfX(B{&-A';jċ2~A?6i֞DUm!ή[q_`='O-DftxJGpE8%e<ͷRW> bn7R"6x?x|g٩ҘLyO%jI~4n0,P 9uTI>CsMv)M2NWoJTy,sؐ2/\oap= !´Z;]\q*!?ߌyR :sm_[=ёZ. 4X $yr+I) 8bSJ%CDX2fJ4SQfӌ\ޖD48%btDA8yLZ c .bo95&; PYM$[]y%#T9ƙBnfW,Rizo98(gXE5nFlާN }Őп0Os8nSmH+{$y}4dW%wKA&яʹ@aj/A3#Ӱ{5'鹇D:WT~{t-kvD@=}Uj 4@f>U8 i;D6O?z͍L_AhC3|`Dі<0JzD/DaTut?a9{rs(x}کZ&6RkBS8<5UoC3yYn #zdF%KJ-a~`o|\&/24/TŹ$aD6nR\ |EN^T*RLQ7 [NK "QL(/mW©/U$y֭݅K ɮC< @reMuZA^tN;RaW&[rPr,vi=F3(5ۭGL=~JSZD6ͽ&@gInۼFqpEmC و_GZi(Sl=S e3в ㈴!&{UhY0g~W?ғ stI܁1S1q1v~m7eҒ˩(MV~$ UΨBnCF?FsϗOɛ~=uȞ4&_cn;).hF%blk ~&S! S 7p- 6dQQq,G_5KG!>ErЏ !9dJ!n,*XZ3c$CVdәI+,d-'c슚#sd7k22؍ss!ϫs4:laR`V L@;eAyR/bB'f1Dsx{Pѫ/4Xnd2 _ -Fa ErCA^3l.-}n^:ad]}g6LLD Iv?]I#e 8K3u ;a:TW\8 6QvzsokpdV^2rQڛ]kji{87"O`TW|>Blr{ک0i{(O,c8<Н&&asUi$YBCG*dAb+rh8Qykjs0R`}VLۮw)-ɴL)~=劣)nEMo@ѩ@B( ]j (IF1>ɛ}LumJd EIpNM"'u)J&h~:Ma0)ob--[F m$'|p؍[CSF׹g^GҩH8HQ \v˃FGzt5Vau 1W{M 73t1RlHRn@e#s yZMd cV#9 U'(hwz}P#"XcESҬ?L=EoVԤg(bT̙Ȯzu\h+?%US6Hfty`uv&<3Ǫ̳⹛ϩyzh9u GOYXkx1SX4!vCQ/X ױ%`y24,랕Hf\|$1`% W<{l<藠yyq眖>/n7 SFK Yܐ̺|(bi|PEemKXG㕞LtW>ȴS>HkHJF=-2dM튝TaLfx-`X}jodT8##+ FҶ\TA>҆yc@?P3 |€ܦ (hFD$/c&""fbLw.־AQ1}bUݙﳀpjeMjWx0}Rʧ<<0Y1GS鿙hrZRfiz R@R*nN@cb»P $)x\FB$%)nS; k kB/z+v%\GC.I.{eKI$AlqF2!CG;l'UfSv i\4[l\!7[w]~=@Aȏ(Y0q/7Y.~&1,e29E31`@Yx8P'0w΁ pj(v{<3d6)VywP'B hB?=)Kk! d1ݡ&fZΜJWŇk%ڦRʛ>̰zU9xy DI@x'h֠W;eɽ) F Fnp"[:ǭ͗n|P,rfQ3ML,CixBb,n>~UG=O ]B aÓ2Z˾Ww`k'/au}c$ǖG ɺj\7N#^hnzI.wSxp璽--r ;Ē n %'9A[|XAnb]?=aإҪo{NFuQY1uqW`J:a%o`g\(|~E?(~ ']x5w3$S-Nzr־ʖh(^\JgZO oiK5 Bu.i-WYˈ`2@Bz̓ D5+u*uŒJ¶N ĈxU-#^_%f!*Ev "=kb-=Ŧ_#UejA:ׁ\u Ew`[2ÊdM=KF"+{^'#ޱ4t[+~\m/b_GpXU{G&ױSUG)d̔E) 51~34 a2D=5Â&J{{uf8`^pG+P٬@6/7l=>%\ʂd=fֹj7W*F#CK;[V)Cs\ꭈ/*6=2#iޘcM fR4a8Jrn(95S'64`5[l^UlcըߣGFīlF1 n>nY,J1n;ĕ@ vLz4Ƶ߬7ʯVSN u_ =aT.Uc,ٕ[zW@->>HGXf&\E_iaSĺ)8+mY_e27}uG<Z%:gc1zȬ䊅a> a(S7x"g2Ϻ5S;+bm$W@6*=1{BU(I.S}#EtCHd~u~+%ޣ;o̴.r[Tc۟1feMciDDq4g> \^ Jg^8ngRۙ0vk``kӸ#a|E$7գK *zF$y;k!lmGlPAZ 5O8O^+^KJ lgi$#qj. !q,b=Yi7aMM¨*N;dJvnߣuiF˥t7KL`JbS~ϿP걄8IGčy=rdqZo>6M-\YZ/՞[e;nGϟmzfrGMo&U`P>p];=_4&o MQjnbB " s(][ _09;F'|ae^3%XUWЖ_F};.*L?a4%>|w/w$#`0818%8!*(ŴgC`Y+KһƋk^>y}pFC9=ʩ%/OEꚷ`Na9/sdGΔIۧC Y9]žw;z;K;uKvou%{ kLHqd}r,$ϹgwiZZu.EL 2bx7_֡Z2"XoY1^/l܀&l:YenVv2Cl-7b@N]_<9VM i|")X]@۵1iyP[SxX 8 @m TF'i RI뀠|΅H"%nk&>H~ٱrʴWi3|d=~^_~H[) DE7=s,#l/a@U2+BK`굧&47]FhQsDxϠ E +ע} ̝)>,]T$r>kIZTI?c"J,C%be5e٪A# [HQ"7evT~l Ŭ69\XyY3l/Cߵ+k ^!3o쳷% G[ңd$bETE$@CR= D XBڋ|{鎔=wS3ߚU FʀcgD !,:uJDVS!}?Ɵ%jAZ+'TDL@ܴ"Y["̼ۼXuC72mLBQ36a0Z4Btx42_h_․*$$sv-ssIdݼ'1olMpvBsǘZlu{qB!.0!3Z]L wDiGxbr|gjZRV93&So9 `}QH5Ñq2ZJ#LJ|:Wp mɐhVZ|ķ=\Fxe%#mZ:¬YɦJV-%r1kΓߴ/("@" RXB)CyT>W![ʩ/ (ƂS50z,"B ,r+Ɍڅz2ZWqz`F C3U֊ZzyRV:ɹ"* P1=>L9#ksI_zƛkePقˠVpN1uj,I_)fWD.%3B>ﶢ 3ـ_\b4:K4#Lu:' `HôֵqqΑehmՉH> t Dg3fC#2>uNq>\9ߙ̕nþD ȑ/j2[ڂSnDX:;ik+/mAxgK9i$ڷ=]x,G#Kg)l藏 +avzM Xz flTTd(;ˬ ~ fnoDAd s0Asg/ XN.nƳ,"dvC\r~Wd.YEYO9d X`]9h/e}RU{,Z-3*C;VzoZ$QOCVzaj`ݍr]ͅ0zn[ p`ﰙQElξdl+Nܿn^h߷g@Gf*^,s!'q߼ja^&\%ğ }9˖GGj^Zj"goқC7uuuU)_zSmZ>۲ڶ̷Gr]lbglC c_cSۭ1|N 9yXqtF5@ HPT]VG9 eO:bjXmJڑ1JOybD=)cIYBVxG2 }O be/ZKvG…Sե'9E1|`thIgN6?y5x(:[WJ?Xթ nGb7ݲݦ܊npI#fO{A}C 5Ml>Q]E_TA]UڶuƝVѱhyQ/SG[$ ;RDV꯮H[#AMe9ʮZP/^cC%K!r XIxpt~Эn2ɀ&a/tq' ybTӸ~`sY/M H@'c%ǙI7uU>rnjEl7B6>Ԗ@̜}%!d!3 3y)`U p4WZ4DԷW>3gxrKmȯGXN|Q)2Q֊G l76X1r/f}nX> H=L8,(C6mG.,Ya$:Y8HgLp)q ;̓.[suz)ٽ I,7[;1*,m\[iK6vFّlF Ƌ¢S#?YChJ8i܎ N$j|l5>LȬjHXƙ.=I7v:`H`:Y C$iܞg% ˛DTLG*M%C*KH*CAC $ah]oCӷNշEsaon+(Wy )7Xɗ&Au-2 l#Q3. q9J+sҷz?ys*ۇ JT9zDrzPc]љEݜJHg\S#L_".jg;@O_k\w Fj>yޜc;Ezڌ-E*Ku VJȐ[_c &P*%jNAJy^y^0ɍʹ]'sܚo;( 3ԅeY( NҔ%QȒ=R9^%KZ m\n 'ɖ NLfdĨ=Qc9hoXǻl2`?kKaLe0U-Alٗ$9'JG;K kq\bgݿ_ҧz`]=Rh0,)43`<<ץhD{#MrxfR})@IߡLE()b ?kqDj>xU~_xK?$&ƐubTQVH:]*ٻ c,X#җ!V T $!~XQR&CpucN?{y5۶]0X{o'XсHgOqƍpt"Ė]Zs|*Z H`QNw#[qZH]x @L̉[ÌqQ0_ѐ4,0S *bϤ7 $p: t^cG>ee*#̀ck!iʲR.=`[Mhu~GJ#ah~]rWʱ\ L8ؗo۞(X *W 8-iSvW,53/_p@X^ɤȼ=}5/_*@+?2U',Z.Sf[DWױB㞬H(1g[!1jՑqH $6 cJ ֍f0.]bI6+AÍSbˌ@ ZQ!WJtwYWW1 1Wwe;1w΄'>iJfCed:rV~#3zPu.youZƟe ڏH5ܠ-| 9l:!wX:I~F)pPVlr>l4@nVI["Ī.J0x~ w_vpj^gWԿf@jLSJ!Ov_5q!(Է±wKck ַHI> A"rT09s"`+{MA/jUo h19Ag2d3`H*[ˑV,`9\2= P͵Q,Îk#T. 汀nZYvYJVSg1yQT^s;'5zA)qt I ratp$BQ*f4-l0ܴ_m:F0vnaL^vyN2Dm~ X0`>G7 #:2bBW~ S`GW#`# OU>1K(Mʇ{Ga«.T1"n2;u]#,I޺ lwJ #Y*P+EJ 3^StGbE^Rs2bޠLFP3|v|I,Ric| #ujdM}:uAu0o2֮[Ю3+|I\m|AG·݅Tcn9ܔϨq+>lVˉIBK;sCDfs$lO0|@5 HhR:5v" ZYȉ-@>oRHv$qRv!غ~..㨦)YTO {uUn #1V3ޮF̟ ic_)X ُ"6-}| BPů6(mh\KֱUà~2tv:=oBzJJ.^tZu}:;6 QUQ,/Jϸz;Ev@teB]fL1.ݨbýA[oԘB;xBK qRH;rvr= dÚ@ u^{Jc){ qBgᅲQ]glwn#^Dd Sht}3kg oǚ哆X.=_ݎ9M} 7[~{=&m=YOСC[W'BVŴ=rYt5p6{OBfBohnDC`?#[n0f nY xWZ7߲Aۣ9YzE:t`)42KAMϮ00\fA{qn9Xܪ"n0&RgԲYzwMP nƁ7asswؐc網;β]ŽߖnZ)d6ַ>ɫ8B$.|>c>9"DL_(z+F˹9iFc΄CC.{ Qޘw5@;g - b'Dw^0"'&Omfd`M:{&LGT:pp$U[o_CڽL$AA@i-&ӕE{95G?g[nQT2uFT+> :yG_􆝣Ш_ԾG_y\]|ͮiVlkXst}*+WjuW\-kQ,|$ȴU+喛Hn=BoS6ߪRI㨪,g0GK6Ҁ^1"gzHn}zDT?}ŕƞe0unxDd ȮQٵ%ʡOxk=q[؈J:&?lѶ;qǥu3`O7#, 4 V+;\hh 4MtWviA>L WPkJȢWA6R9"P MkQ6/ZDj^o"ArE9 WgRږjhi2B.®)S-ln)}#XȰq!'tA.LYq5~ 1/y.Fl߷S+܈+DZ[`v8d\h0DzHۧ\*זz)\fAMVUJkmt6uo$r\M/,8x0 O;v7-Sڦ*`S@RU ׆̺Sy=d,1nek^:QHX5g.qe\'a|m]e-mKS3+o/ÅM{kj4j`z9W1$oY,)LJ<`(QNu4 ޠYkĭK|+c 2yJ:<,KN:܁$z%6B(Xd $f$zJ$1\`8HvO`i s0fi[RI] YŔ\׮WeX͞#WEm+cusiwD5WU#հC ,nb?F1l4iJu6w#D# R=弌f"оIkMJtX_x7X#ʲD\A/Xfгtw`Oߨz4zh] ј̚y՞.׽r8<k7X a!,kI"liBx 2ke9Ē3IhP߁Vu2R&8rK{ /ϳ[쒛fc`D'Qd\buBr gu-W{~}.|Y~vC:Kc1Mր:a P$p{D51&`Tnc |1XFQ3ωJ8TW#--HWU%ϕA;}5 ׶ЊgJQf*-s$}Ըό@H8ߑaңm A) x򸆯'{D "iD϶%mk7q&t[BФVݥ氎T˩A q+K-8vM&=_1Qٜ?joVLQGڟ >X/qlKC'N#:~0; FY>Vd\ ;OoWpW<ey21V1s#oUlfiաP ܇#H[@vc <DvjqBIXf#ž)ZK-J}޲}`sfBPN`BCB={޸jȵhPG<y͞ L S_<4dvT:Cu&`5hj͖"<=x[ W-CisM쾪yxT &ڠqJjoKJzb8>huE^ 窫[\X:^mg__kj;Bmqus9Uj =l2"A]!1&2A`lbCl<*%w K %@WzN}oQf=Xlm(T5MCMR!Gl ^pBC3jrJ9T k g66٠v){˺;ԓ_Iڼ[q-:=H7F_#>-fR&0;da [94yv?i8Es#~@9f7oVaQV$w:=sC__|>7kfꨛ@H#8[]{nzK(4FVA10O[?-;nʕ7 \i7o~!nLZ V0k(wV lvtA1:võ&ͥ-79NLT*T"195sŽ_my{Zw#cLAi[ W޴n4(SR+1e=Qƶ=h=<0C[@Jn7fMJ<^!, j}xU=xGf]9E7?nM4Y=i 3̞ u:<;n _Rf|\g`~evMwoޙBٽx3I7&zV\njU~fj\03 \|b~:_ ~~cWUԥMg_q9kbI-or_җ {Ţ'AGm_=>liVi6JUu4!7zeNDdc>}oo?u#tͰA}%;r&A9)*9dfBgEgxbLdl'yaJznHB;w 3hxs7SSUe NN}-,fȉbj8wOeꦭC=՝f '8s{B[T~8c;ӷd>}WwScȍCýLY"1 kump48`n;H`ѻ1k&fnzGC~%uA PSkă1$1ĭ$խJ4hT{Hd==QC>SOʃ ۨd>`T1v /r"z+b1 ~G ,}[0Rs;Ad[JtE eRcP%g7afdjNxD7P2~Y_4A';۶.Ѹ噺T3ousQ]u6Ik@39Y\]3 3!]G 7* /uJwܯ~.R6#k>y&Ҙhb}0:]Np8eǔ/o`S?I^}5`r,U?Eh6JQoڠM=+ȊRک&jbob25MURgDj`x!V` {9 Լ+WMP62sץGiw:c&,pIũw:􁪩p13Z0a6a?N+C ED#9\'1vu[ j<=ڢl#=<e* !/s IsiCfA k3(BnU[evf(pIC!Pe CVB^#&}xx[p,e!J0@Md0-g6AO=Xz[ ZK_ClSOAA n4PiئQiDSAOτ/X9@DKQQ <P"# ֮4.\@5vl[!GbN2PKxUwH7Ξ94m:$3K~d$35Sa4L~ Q3/*mz[ ӺpoU+8H7ZoG$KVB,C-;w`"Mra%R%- 5`9|t-em猕$5a?W 4SOS8' ?Biwv4pqvs>\Zh8ܚui~~F6ZmKw)y1_z@FW?;1SkuBaYX膠1 9uR?Z.'R93_R줽.82/gd`~1*/p ?^߆wN$_\=0îrǘlMGuz# Μ&;wqq`;XʞV*(mQ7Y*Â#&ޞ`=6Bm<8ĨVSfyOOf\,H0P!7A:s1mmȻq hZӥ@SB(EYB* i ߋ`g,nC _DYT)) .0}UD4LX$eH0Э\,q݇QL{/MVTVw'PB y̱A9fi?E`n41aV1|Fﱦ`Ҝ!,!VFw{IMZ񆅊I ;Md f&O2.EMCͲUܻW$iok ;DNiGi^XE|RU4_>^\;E hޒh3oT@*e={Ac7DU" 5 Օy@mGGg;90*l 1KuC&L64 g-HƊV|"Y\,tushTc6|/@fodY7V#zh;-h@:- eL!GgЗ2. <591mN+lM%c]mz蟻i)ykP,ӫj3y[u 4!Ն_#=3ZS֫8Ś.^1}o7`cw]-Sd Si0?3љly" v$c5 ׵?Ī>mXOǐ ڄe7RXj7sIS1ep堯6EFw:AqՂskfvus J^,d>ck/w:)P?֨FH9%?z0ѳwTVhڀ6ZTƋ Yս,bNY WX!%K?ͼ'O -FWW.`l〽=: ]g;u}sS1n;A0%pR7~\v>#Ӽ%+wx [޻ͽkIvg\B/>ZL]Fw-9EkP, >{CZtNwYrF4|a_+!!gV0 ƖF䂪=8jL\RGFtN˸{_1xثrM_9L\ ݑg B9+xu+!2is4>ubÁYZZEx]޹;rR;~Mkb2{:;odـwG^m)í~ǻ? Q/ɶi*'ITv]"ƞsPu5;I xvoJ0AeDR h٢AI?wO7?x]fs]{cIBvP/r&8!*CvA 3 1C038J~C^d_wF{c:/k(n7])J/-780]*0b u<0w҃(\nD رkbJ RܜH{j\rnWu:ik i@BCWv.[AaVBITY;4L-apQM.pcB 8n۵E")yˮ3 "QoZBX@8!p|KGb*+.SoZ @)f02'HLbht'FjlZ[Yy;עuUYA'Mh[dV,;qTq Ze2<(Lg}u*O&^+QRW_yXuȞ"삅EaF.V GPEQ5mϐW~bNnһ9gg9mJ-u0YV޻[٧A SV; 'w&` KhGb۟IJI9!ʕT}$w3,'o萾_\G"C8|LPȾ~kwB&ݮ Sub]Mt;-K~MM7T>#]Ual'Ĕi<A 3z\NxW=#u'.Ԇ5L0m"=7#Vf&nDr 4'+]5m@xN* C:CXY MH4}NxfofXŨgYC.%P<ᵲ j?RP]5ƙ/@ѹy w DUPC@gJ5SZPd< Y9Q A?ous@?%;T=ۑp cHb;6Sy/=0^{GY RIVgx#*|J\y0w39Su-܋J,ȂIOM >hkP5._p vx"*A| T"}F¤e HV*ӳ yjv> !慓l< 5X0'c,,w*^N,Ec%xJ|83Z1sƇ[яʮ"YNrS[j7*Y,~5'+.7ǖNJ#jeNgqÂnFOy}5̵a/קz3^XW-5( PAT :XzyvJY}e:s%~+5o٨O_p1m1U`KaU3%):DF(˄`c=#~zW3x~9IX Q3ZR׺޷O :SoT>f+qКdSIn-\K# !X"4GI>C׍L5c1b'R`ε D #xsMNTy=sl/* .O,?濑Ex *8cK'ic`Miuluy@ ͞5S:kwnE+X0_{'>sx|!S;?\>ӅѺ!Pʩ0i.nHL*lW gJNAutq#f(C^v_W h$ >*ZB7#92gS"w'^q c04\б5FRp pD'XT! s:&Nɿt nX5)!G(kS{_X:?q}O?S9.n.I*雫HqG +7$ycDXc,I|Q(6['O_՘<^ _jgY0Ynzd'S\o?kd͉jn-)=u/p7OCq#tҒ˸y kڽT d6jV%7m(DK/W-ql3aCXJXW$XGzv(1 &(B8ĺGDx)_nln[u抯eK}FtZ0&˶oVm秊u\*݂f47S}Ӥa5rUgD# S| Ekѩi* hmxC6y5Ma~WFU& <ΖvS1{K' l\k鳂^yxJ?)W+uY@:ek?yU%H?4O%uzB'CxK.ă\{.8x7,)A@ eHG,dè ANUNxA8k t:~ pAFg\p ͉5JIfbUz5"ZZosENae=5s0qbQBm\&  QPAaǒk=SYFu\nS*BF '9rOd3%l-qz@иbw=~'7p%:SEcC8_*.>< 'S\mS}}gZ%-ab ޕgelG89n[H"k}v%wOpyY ,SF5Ԟ$ݼG(v ^!b2~@|Aa!#*wnL _?O<4KX-inEm7;n2pKx_z)8!5O֦}[k^lDd"爒YaU;NRbu_1ͣF]Nڂ*TL~2 $QNA?z-;S#l&/[5Nt6*޹Z:,nMUbTD2E܊g1pb΋νˊ|l[ZA:Ϛt$n+vzZ r&>qNq>8,Mu[ 4t8G`i o#4w@>rE<]A:I볂i2J9cq'!6e~ui5:ε$ERwdH[0[9 /Z,Fp5ݞV[,^::-ZٖךiBJ i ܰS0Y =͏Y!nvgShEǦ2Q#gH޺9}/QD2㻥~(q8;&!=[JVW`An E_`kd *;c"a oʄ1R o bs13z؜=#v!S4nd Tȴhi<޵r}ޱ3f&9L e vVitței>S }CH^;M-&kב/=du'ϔ "TrJˏtn!e/ uCyE?-zoa᧧SIG%T]l)b&ТQ-o_̭y |\+WJ]]kA)?!},|'K- Q9.}*8VNP|k3܁ >*>EA{­#uufzNxS1't]\-4/_"1\\˗} g*RSfcS[TB>;Y=aiz+] Z |%lAO  @ m!$1ڷ$Yoca1 8fҒ<yqc;ie4P0Go.v-:)ƐD邙 xZ6I" Lb#аҞ bA֔aIqpJw*IBp'9S2k}Yje+.>՘^A:8\f2<^5E%}I߻aJpO~h_2c7H7Ip3o/B=da/&u*>O_2 _wzoQr_ ]vdT~}hU&A QIW|VXջfDpqJ.'d񜐺',Si2Ӌ0C+ 0+h_]L޿~`kc yVAOs9aJ5Q_& Hngɾ e?*[~Nl֫%ФaHOEjEW_$R-UQ{)MU[ [yzq51y 5f *sj/8jrz|p\ȡ>Qk9lA95.֣K:SwZ|lO ؆=pߢX}$jth_RЕ;- O0OxRљg&i,,Z#0(#2 I N~hzM#.7E_\7l:ϭBw?8 _Br;|9W뛝W\ U FD Ovz0eĝ\Lw(-u:jwaƻXY\% 8po=.г&Ft[&+ĨWbNylIA $_K)1ްQtGJk ߞSa_떣evKl&5Z۹‘seSU|mh=`>MCÙNhbO% ꨿CAP7LZ6()>KrK% 3T`ZUR嚰;6V]3p|$5+7#w3-EaNIS@|R[a͟kYN&T&(1IY{ %hl_b[8h[oN)(\Y |Ŝ[g9tt"Y>.縙 PW<OA7 Ԙq]$' &QuP_e1 #,a p{{A&s,2?QHkLmbK5j8qIdg|rp]NVIS/3|oȉ`K:=}%-KN$KGT3KjƒL&zxoxdᅸYp3|13 g F-"O G{xg8-crC )@'/W-[2 +d`\~WIdl* Uג?jLŻ`#m"7g{ ֨R[9|`S6pSnuf֋l^>V$x`{J?LSXgۙZ~3p(b=,ud^S_s}kJc~vKux cő0C_ wJ41KyLJDR62Oxc-{GQ8kn./xl4|3DL:5zZO0m[i˃O@|Uw/XHa$G\η^ j(Ao -OO=EBL+E 0N=u8aU1oB\@Zl_۾*/I/ow8RTuZ ހ:o,e..UJd) K'ܡ()/NmW-hx% ǧ, y'Xg j5\lZ?]$v,ħ9 ,z$F~1$=qz) aLr[x 7Jh5mϩO4ΑDv%Nj8wd>p}/,(ԋJ6z`GU_=]uT9?}d0| ra.#+)1hCXJ5rX90?`TӐ^ A Eh=#)JEǁP2F -_)eACx*E;YukL\w 7[hCg.) ZF <[eYİYEM͋Y@bMKԢ^\6x}SӟtVg\zud[3ʍʐP  h*HE\<>{zlf0O M"D??85yfd"z), {^822sd_hF5h+xٔ!k(> lWMqCtSmEi=C> (Vȉ^rA#`\ ).Vi ;lI(j<ύދ,Wپ϶Gj zXA@K>Z6\瞐=ap;]uKxd/wE6cW1~-ڼ'2L_Axx%>R4Jq͞bqallEn"@lK@]J/7૗+V^ǃ㬌h_-|ZyGU}%*e: ԦyBi+W9ҝ0ێc_'O2`:`m|K>jkS|Ÿ8Rv2lsy)ih8[.G.Fjqj5\LO93P6"uovI|Z˿FHvAu쒚P| i\JeN %qj'D+6Bhh$nW0:V#^:{h܁t5LNE=@V1V%'GO=Ib&Sep1:-Ran2qҏ'>D0[1=xF LY$N6N.1fg}m):tFq.@ʍa@ZF0wkqAԍ[*ٶ.8 OD/6; 9pxqCyeARny?o_BTbFvntC-Q) ߊv2wǺ\S{:[}.0M}q`b0;n,!yyU19<> 8 0[0Z؎ßtJA ~m?2K.|dE9&'+R(]TQAtwc~_C \FdtnJģF 'wp1.M]d_@["xpNS71 7cӈf O>#hztFp]V)n_b.-!QAeBgGBk%1jl]U gP] &?EaTpxn^ufiqM. G" `h!83:iB>@kvG[tnyrYػE1^iSA~f ǛƜBb_~eV ۳&#N(:[E!6{3PQ}QQqZ+8ߜD4]rA5[Y.>pS17{Ah*ABT/Rw ="[H{)g;d'f4U#FϹZp IvDjN̿L/|O&,o{LD{cR9\O5~gpW 3s!!{hb!13>LQD׋-tP 7c9\q*N,=1W27甎r_zx㖟_ ?e٭ҍ,UB[ӶJ?*?-bf' eVx cƿX.VUi*y`Fd(<݈N#*Gtws d]CҞG (vɦ1@/ |peq* \&C͋+}.b @%*B+QF/ζѧlcA2FN\?śvPV:y"LU-Q;c'UXLtNnƨ4ʿּLJWѡBKnv1oraaƧϴrsЁVô7wҀ(WRt};+_XzctfQKn(W [8V9:E||DfO9?b:lܣ ,6ۇ+o[FP1B\F7~w-aw{[Н FAekKHd2^j0÷ % )I~Xcy6 :+Y9E kzt}|c(z0;7kEׂ#N XJlAyW_' d,xr~%2ҩzaG_كB#4#xe$sdyu~][ų*t4ۄ0F<-0(:z vQCǖx(TmZ4;6"J1Je^|7oJۄB ΘP'0#bۈǴzڣ/&CB!w"N A7ho#w"Sa!$oOKn޽ I ִHu]b7׎,f|ey/ %PixAoĉ(t"r)&׉o^~7[ًOb!UYa%F'H^aRsVWE `yHH$Ka͠'?$[BV+U{P1?IC{yPqnqaN!f0۹&X!"0yqFes <[9j#c"GC@T%.1>}_>R/R.zAqN2V8pxObJ㢰Ol8*1V<ɫG! *%915e9юuA 4-uj:sXOV h:!I@72y{ Sp̜.Y!5jFҥZ d#{UZXeɷ~<֫-|W;QB_K~p9q<'*/~J$JQ[Nzah͛né l{gasPqvnZ0H$q0?AMnAKmtm*ɶd ĩ ^vှgAu%sNgkF=)+o\ b;34Oe@~yc[}_tvdx2 B h$Lw4 GnbE5T0+jsNlSKыxT FXj M+eIH-yU7d@e)f䕗R:;?bAs6#M"kb¨!s+hPq62faۃ9`ZDͻSA\Z&,MrsoKYPTr]ʎ HN21ƪ^4A M 5 i޽? $Bt9kPҧ*hiAyoF A_|5Vר{G?#AܯmMͷ9&{f^@@+P~04:K'88pRWvc!\SF>t!~Näj`k[r +*hZ. F.kTH|<51:ށ.DQ9`юګg䎌*p>`N? P*xǴ6打C= }hxiHY5,`ͫ="KبpP h)(s]'D᪆fY,o V1FQ Ϟlr@c~Jc"*UdɻL=~ȴHvAR?[5MF%=]_FAOTλ %[lvҔT]#9sv<_!ylL!G"٠26@Jxr$aD:9FB> |FU"Ï ”>[8&0¯κ\FT/+/Q E Lhk>žT҆KN 1MDBpNDn-z҂gj 0y~|m2YZ'ڏ=th9uN >8MuMTDZ" 4P^e{)̋`WaAOSBS~~Cmv0*i2ɪ O]8;]j$ ¡GKJaSA*%)OtiS~B@9.cjy {x'xtuct,E%eYwxYP'7j_kgP5'q&DBx1(qu̔—F;m<"_nhh[ -x!?|XyjNajȢл`GhHCkReRml@w^JzhBRr2A:T<s:.D] 7W:Fz9uRŀŕQ~BOt:6(Jyv^NMt™Ww;Srp=uY׸Bpm%V A@KyMl"{VU<^Ё2-M%%sP'BVS8* x@q@"-fZ, ,A Ȃ>cjkr {}R c~ŬMa8Jr&Ut8lgO2p8nUńY5ɫá\J\iվj` 0+XU(<:03  f! 153ilV분cnC1}>s>Fz0;klp-շ3H[n>$vPL$Y*\<p9Q>"7CF8>ADİtb` П!r咆P&4_n||א}i蓇}(ҳkSlMNLPҐ4m ق ֗<mxf;,gtϷ#9J`E')U;癑W wFF=jDYz5&DBL7G|!JAa$ӹt'.AQj UD )#!(e qթu,l$:\gp X2iMZ{{>%X@rV=I|?E}&?owaēpX^NP=Rxi>{8Ӻ|۬3`*)I& VY\8w-s?ĖO:H Rai$p ,VUHu?Mߜ=8t%C欒H 3.w?@r/;`Qi6MBv)j`:s~> k8/֎\ë濝d4v/( [ gQ ȹ;Yy]UO@$ӫ֣B8K Ή5nq-e93j~`ESxy' @_$,%Qj>h20CCN68-́y`#mMDՊϗd)A<~1e@RCYg%0}r/1Q:-?p׹P$5{KQf!!R*C)xNwoܚ@ VǦuǕZ`E3ǜM")SMtpA4/Ijk(U_%6!}R3d7ohSqd:l>D"% kӿ߅)Dֽq=oE7Ps)sX},%*@wP{F˿,Lԃ1Z^PHІ%\jV44/j!+Ut;GagӘ,0"gY! By;<@zM6P0[5Ho*,Ǻ h̐CC#R1cpQgv+$>f (iڰ*΃/P@f^+_ HWA9IcuGp/IU1Ԙ ΙjpѨԘ:k~^.%x6tk' NXߧ+<*pأgӱwۮQ}9ȅŔܝ"pR%K|axS$7 _4QBA={fmg Ds1s944/B99ڋtD* aeW's/N x 5IoTjAoGYg. bnRPfXgZdHlϵ:)w%.xc*Hz")P~↹W\ *…aNPW1) E~O%΍3$8\Q^ +}C@=O8Ck <)[SRQSQ߰fщ7ܬ13bJGNv;k㔰ƯK_ A  cR‰{E=Őlmd e=rn*J[k@\ R?8E\ԴP\ Q@-ʘd\>Zgz`L:v;͛n;2P}(y3Se{tm*3Dt z--=:sTa7 !aj+?4bѰOn[n3V?z@*ػ]JņQ-0 Fq ;}T^@%a7HiAZ; D.؍ZkϠ@A@)l8T Wך sQ gPא-WWFDCm@uz4:uuSeov [ԓfءBW?ӜoY7L2|KROXj5X쁖 oE sHB?`y>#JpL\oy{~fU0vD7ӧ7i J&bST(X9Ϟtgw,lEzί JPf,a.ǜf)Dr5dO8v2NmTs[k9w a~V?'|>(F*0IZΰؖ" \W;-Wm[r4@BoޱH\Cϧif}Mz@)oӃУ W,X~3z7W}"qxωWY~(m0$lX5HPhő3c#fMܡ/T۪mעvd29TY?zԀm;M S5~>~22FL}nrX\qqR -֐CZLK&a>WA.a%9SviD!E1Rn- .L-_ 9W #*ۗR4Ig[՟Rŋ2z΀jWKOˊT u')G4WXB@J#`(T!c߮4<텗)XJЖ2@]yq*Y Pڜ0A-* o%x>fG1;zbl}ӟ:|pqO$8yH 2K8_ߖ&s.ڎEt `L f4E6(;eF=yn@srR,y-Ā{Xx4Q5Pw'E?|~p22xp̄-ե]q#s j9cY<ߔ-ĚEs~U(by gt7)j$1hd b cݡjnժZqV2@b7d,hW4MUA9~t!_UFG4;Ηq䁸3'n|{ g>q9/0H,S|Z"q#Ü / '< uҭ3BqNQeߌRz\zcI|(?m-?7ĻG,%f_tK}SڼUa̫N3ە /`: / D 3ޚ3w N"VX9zg,L*D S<֓Ca=Jt"֎ =c!đ%Ǿ#G,z9BgJɜv?ԷXi0 WlΑgGޗsEO r57jh;D+U* ,e@fy4\x]bWIm_.I?,PCK#mcrCCŚ6^w99s N5M&x:<+~7/xX5">i! y!H(Qߨ q&7-}sD;SMz3π' ^8I}u90q9e|Gݢ% ewmg( uZjɴJPhIѻН4IGdIfӺ9gx"A[Lj|)b]ʭ?-%Ė5m>(#GMB' "nGU@EpmpPK%.6bUة0l%T:/tؖF3+e;a ;Y>A56niwa}  COc'M=zrjbUsCY]B,N(Aە!c!AOdg|Ič"Lzo0U̳DcK7ȸ.|32T|*!N^V^weT Nj\+KKJrVNh wR:;i ԥX+OJ! <٣̱psop!džH_&%%₺SpYVޓ!C6A*7C"*Fr k!C}d'@. N4{QrB< #Oz6t%! [.Nt ðhU^H^><2籜HJd _Kyg"DL1[4 }xVYAш;k:,v6*p_}5n8૪@$c.,Uk۟@,DPN)M*?l!'K 8^1㲶X;D#BrOg^-9:S;اZ,8}?軴m 晸8}h9TWeDBQ%7ze8K}.M+cn iq_(Km(?oS^7ue"Haʢ"k=cAf Jnw/D8n4 6=kS-Z~t F/y){BܝTJIHa140*OՀ_hl8:u*8c]9x*vJkZ>E*bAN[9cJ! m0F^BoT?Y!oLq2MjZG )x8 *xDkyO9l ܼNK}'*RbVd{8&\-ޝ$Y=ཏ2zJn y$zHG}aQvAy50 1XH|i\P kF;/ʳPd3=_yN.T~_,7WAҌ| VV0mMϧ} cg_p|,Z o;yyKtm2МEnol}Û7EUd)FDlXlpT> [5vG4 fџZ.Ē,(pEY`0g$\o%|a]Nj!<$@N(x++Z޲Xs_M`U Ɍ+(yfcԍ%mD6p`08W1ji aȴp4%H´2-,B4<'Ab[%1ya#¡xgU/4wNQU `iAG+by9DKRn`m(1[s\ ΤI@q?sl2#--l.]ﯰ?zA [8ŀ P];xmiн8 τ<ə5Z D8ѓA@yO@o(3(YIFt$Btt >h>LgᠯZdSl.|_X=3G !݇t_ s_y@:%p^\aC`W3KջNRpGe/+'_ʯP9F0Q|/Lԋ' I#v q;%!_i/0ߤQvG$O\9m@Yhb󿮞Wߤ^$ar= lG›[A@HKceY_'9%BY ل>bR<Ї!#Hܐ N"},r~NYd#be&e&VEYrRE$\qPX+] \FD3THܡ'o'#WS"k$OD,xV /NHE |5"{ȋ>q /үa\2hψ9vHAg `pyQ3 YbLW_,CGa&v}@`.ie}>H|L!JdԒUcSixGoZd;PJ(0tƵ,>eI|LJuC{Z +7H|j,)Z b? kZGX_HÁb2% WNه*Aʓx20\dX,7^I S眱0KȿCfb3xS{'nFCPB)٦d$k<mMpz_P ]cf72I~D"o8_YC$.m=fm(hߢDkbC!sz"D oɵe.Nպ 2A)@1O?9ejF% ߭ { Yd @WZĔfPTG#J+$vb"M>OK #Tih@(lCT"7:W0п=!2*Cx Azn=+;;E3>n X/uL3Hcz89;& r<葹V=Q&?Z!80zU=I aZ,4rᎳ0[[RSI}mK#yMfNGg-^U$Á}ξFB8Pj@cssO^liRVXWqjAn⦹#U9IwhNr*|8{lmq,m ' ~j7| 6YTARYcxz["Dy:ws?r؛d N4?EfpߦyRF7Fɻ/cVUfsp#uT !ƺA/m?LWA!_/[M0w)~6#Ɉ-v'?7p$wQn Ó);ip# )$t|b1b՘" ] ?]ZWҒh["B%iGG88a)!BGd~KivF?ˈEqĶ >nr}؀.@r5f~c5.is Nk!FD4]Bx6`"XcYC\1a$ߨb4l '~Mu9 ˶GvIqJ_j pSG͋Hvw,$YĂ/C~v@e$my1*O2L7Jypqp %?@`g `~=GS SJ;cFnj/5 FNhk'*@'v糙fz?c?ѻ"!&>&7&leǠ~xNecqϷ;xX"m' Vx8^_|A =Ƞ JyR!Ac3kٹ%ETBHQ{ohXb<@cxx8/Ju~P|ױD>Q9Z#Lp_*Ӓ#`(n>40iHB2Lt.Y5?= a;ЊZ8Ap~tkD5yP ؆a "WZ$78i"jX*1 t Ğ /2^O>Ok&MS5surv^[=Ȟ.@QϘ sfdj4-c婁'@ ?!{Ha13 ;.M; Bjc[WrC)'' s30k CKafd6܂vZ˥q~H7:']'*t=TT)IQTq>)Ʈ^m< @'.Ou1>D;,pf-h Et#3 `lQ''@(GPR,QH2EdxHpQ  = HpeB[,]-~rdBqʘ{ǞMꯓ0->kXvQߢފr_YNC6w_60i;`٢ٽGvϾNúg>F$O$m{MF :=&sGmuT9q>yPm306~΃oȶ/[m~dB?/c{inKfMV\#y_-~Y~ 'SAkQ__F?%Vmlq5=[\e; aOE~4W-5D iz-)3핲SR KgI *!X$ 9^+{缗Yس#mONOR3ꭾW E$S{W*ƊE^O)3ebؤ̤NaSpM.yP#m;vtz#eA^N{鸘oB͍n~ ~H @#PEII PhhilDs#A ZU M ,!]{H_wH@BXhD)R $iR-ɲ Iհ"x"f$fffzk[u2c}9iw0׷&@  3&M=5{$?Ŷ8nr_o,EQ.r:n|I,⌼l_X.{}+i[`Z-IRl} 7ݹw)ʬ,*l @iQ8Kj pTZ  {d3fӖ?OH Ctf鸴ڤi#>EP+i d;D!y \ ˲GrZ{6ʟrfƇNsY/bk|KYi;ۄj^2T~Bair>r@%h )߰p:MB܉Fp!c6D/4So%O9,6Nχ`F7bQe-7Qo7˯glQoq+=HZ_6JAِ֡B?徹RRu+aEJnėN{ڣ-ݽݻ;١e@w[ R+ncڬgIM(~BІنSCY= ,Q饚>n8$xnjC|,A_SNΘ1B 11!#$L-* fCGqdcJ8 H3h}PMP0%eIupyAZD>Uj? K(8׺K ~mM;Q,JWD&2n#b-Y4Sa⪌`m(O[LcJChle.!6գ(Lm̩G  ޱK!P膰ՙo6QoJt}i!CeYDɠE ׉h`6CS /"!}[Z=qIg ̏$yϪd" eH[y9*k$j!1\ycB㞺CaeMme +H  znl-_kSr8<1fA= 9Vg vjV'qK"DB2"Ov¬>s+ U;9)&al(*:p2\dF縵yZc))H,CzdWVhFPQ5_D-4BsG!M5FHO~ۋ )/_Y Ղes]a!cAegs?I&Y=Zvz/Ӝ"CRH9"{%B$h@taHE5YXE/eTuqƅfMt_p` ͞# Du*ͩfo52r0{ɌpG(yUͼOcI-Ϛ#ō6,W%#cefTLm89%Q\Xcp8+QaseنR74V駝"V3pG|+tܒYb1sfh jgvi3[ю.U 0(z@,RXʒn+6>BlߎH)vBe4kuOfVusX3,?[W*+wlt:eh7]'wb1Z}Zs(c`1M הAZ'{QvQ?|2|'m Q.F'eeaIMx̄tB>C" 0w{ s}5YK6,10WN' I ɗ!UM R!l.!3T0pR{j!͉8ԸRjMLB_8+4$NN`@W)Wu_^ =9WWgDؖΪo7vjD+12]Zn%Q06XH{>X$JA~]@DQCL}8dgbT5 x,(CD^@߶U ^D>1wJ"{ Q`| l"oz4ވ; Fm/tAWPf 6M-j5EkgXóNPn(~ vRTzőhDpSj'q1*2h׎D<ČDׅLOm .:h+7)H+@PxWv$Et-WzRu%dogQS:"JK@]؆9ܔiDn*zZ}(w kWiU  =!H8~$`9Rس%)B{&Ǣ'OH[kONm=1Q, K,(RBd4Wo~V«M_'W6 ܞlX4޽屃p kKhYh ^@uBv\e##2'&rb=D[3Ķ+xyx|Pė]CTb (#v5jqS*!&&tRȢn(.ҔܥyfjĪ}!7pc*>hE[Nq&A.RSU}>T!*!9[n+l@#yw9=V&dX#Gܬ"bVKA[:bwI!ZdH6NN(w3KkG2J#?@KW %Kd Q*Zw)=Ce6UBs(X؜|M?NPB Є? ;F+ x:ϵ$,J)1%%=LJ ~,2 )(0Hoh#2ླྀ5P- )f$({wBYiP7w=J@.j}ǐ}حAl[Cz\Lp$^B`0!1Imv3Ci -?q'B&.PWIe[HTKRBIw(LS)41|L-J]cC2xIfRM&!/ %i27K UJ-MZߝ)Oc&{?l^7Pj`G3-M?b1Řb>AwB W,Cn u#h . & b{J 翍l!UTSMi~EL]bG6&7iPA%M6A[nlt IC"SFrmXۨ^ W״lb6*!GŲso)tD?6>%R)fԝg^!l_K|l9T,|qZٜTڥU5Զ v`k./Ow@Q*k:Y9 D2w&yRl# fIadLun}(1S#p0d1nBªi{OB2*1@3#MxjKb}o#Aa쀜q'!|>>9$倉VA PzF0##"##>HdpiRl $r&ɢ#(?a} D"SN^`xG;*T߱Gmz{ѳ' +\An=A[ՙ@(:8>WDJ645UU|?p/N뜢YS扙.4Ȉ *K2c ˗ZghCrG_ `|veNeOʧT74-'6\-1d{9^PKxaHXKH߬]Or~Uւ$?]ܦ;E|VQ[tuHCt<Y H=n*ySBGҒZqO_ubsX"QJ<h 1nxi2 [$neA̍Ņ&L?_"a)Vrpi̷+<~ &$ȓQ 6WVRf Uq/x (=x>[nذdW:kPR4;/ۥҀ:P,ИmKzfR*G>#aN!) tt3[@3w֨晆\O}٩(:IٺzLƷ5Pm_Ľ=J(Uޢmp#~R47b:/5$c<<[ʲ|uC ̙3EPpxpZ/J^N@pѭeGOʤ הg ˆj#eD'k&b4 KjqI q%]+Ztcz0ahrBvty1@ h#f'QN"J%w.+x"Nr,S8]a_^& ]+~U FȈEԬW5mNQF ]71^{RF-yMD@`Pӊ.FIiQ[VDjoX mga-33G2jIbVkHν2,38wlbiV%eoBTtrmNN [%~e&hQحb&x5 '*' 26=yXz4>( =~^2nz JU+ߪa mddDjYjΤ[ 7‘Q#n$og)}w@ErrA/ Vb%H =UM{0/DrGE˘C_+6onX|-%&?{ވځdmwO.M)ˡTcjHrDR/! fMѓ,8Z匲 <m%a饖~V$:~fJwN6T s_zjLJH)=#V `)$*SYRړgEcψCj_^pwmGձ|~tbf0y][SQ)V;Ej8XyV=̎RO9mG 6]6ǣ r)oMDqEqwn4sE'Zo<˾&N_ZAaN;ha[졵 SoNP)3½2©rrB#,$kl?)؛?0FnZI,^|sXѺON֙X jIBLq4(O&# ktD1m<~K5WRRږ# cU"%AnW~b)5f/D//2_6԰ 9нhAXV4JSca8bs:T\' X) dxq?(x6_oF"$ꏪ%$qrQXl5X~>!-NƲ^dԏ~e; Lք/Z踧InUd'1W͞#)1!: h36Rءt3sF d@H1yظO)Ir7Md0U 3Z4 ۤZO}I5&ɭ7ޜ"3|pXZ(5I%=).Jf/~v&nQECfȨж-J<81C4 2"uFWـyGn쥅GsW7 >@'9'o Mgv]\ÂGA%v~Vxy!ouY i{ϯ/t#dVu&+\抚Ѻeb^ <eJ¢jZr -U9#@qOSzD){n!гώ.V$t0&G8_oH"oZ9>Fݖ߄CWvg#cbP9Fk@RRXXC#Z[Q#}G|YzK-Z-7J=}L MiċBX /m'mw~ϜYp;E8d)0myu-p{C[Jz~1ꍳTr(et1#,6;gw_8*rxjD߉E:UOWߣeF2;C[;ʍ*M߄cj!/v:GOR6Xպm e $;&1"\<x(;1yP/R8xmbcp~ؙBvpgRGa)L/qmTٚD`jJ:K{,8uMzZ>'^KBk%.^YsZc#Z{+\hrYljN2M%`EȔ \%fL AT03so ZahD-+o1z=`-D6qB_)l Y],c@M jx9A#̾&*s =k# 8@Foqa cZg(5\FAmtࠦDu e`Z7-cnPT~/M_iXBj^nr8`Mlq{r'qCAm7)m' vъ('/YFӹbe"gOWAUs}-2W +h6һ-^Yt@^_CZEwE "Ը|(q.%lMbX&U9H`;;s<*וbIM+v:iׄq&}֖~BTgV '{bKqp-Կ\v`&w،Ggc^t JrOA!8^my垠ᒝ \9K'O( ו">{biP¥n8:KP!OI%~ PŬ[9yW~$&TINuZ?veysWz*ٳQw54{zvgu<&ml\`$ &էq?=fEC(1D4;hsٛJjnVa. [ H~l/~ +{##J6LVh`/! m(7?B᨝,k AgI z"S# (ԓ8y9ҥ'?g_>|kHwA_0GדSfuhdCºetB)в0 D,'&IڛC7;K{=/vԉ#) L8 djP i,cw([%m*Tr5Ê}ċ^GoxSn&?.Ou]p>0ams )Xˆ)aʂG>"4)QUKx\SzON'pSF"P-"Dp[[|G5@qvv`ۄvgᲝL@$عI"5p -D?) KÔ^!)@uuml@ԴU^5w7Xk3,0ZHL:ɂ=tSn6O>Bq8։隫h9Ul:']4;AE+~n'9kTRfB١d_ qP<~" @"N:u 6CM8Q8 )!r5ML7u[SA-sdAyʁ.}p"1?'qi34NOȨ@O赐:چox@мBB5mLU3F˾̌)pUZ&հK5 ZG^GzkpM_d64pN _6 ݦ-'sNd'ϼ{K^f:颋C6e"aocM\fPBǞ|55?p'~?/jwt۞V>qWrPH9ֻw9{=U֐/!SEpK_[5st/0^~WrF##WZ[Ql^XB (}`D GJv[=qxd ?T~I$NzHڙcHWBdRq8#cHa4u:D_ Zz0Ǝ,lἐ)>YgF<sfGdr3#d KL\cjVxZ!ڢ.TUmGb;\=t=4Ԛ&swTp:[xsjːgs ԕHWYWVAiy5g* "&]wtpw wv>0! h=YʙgDnaˆ MkYlJb0[f& GN^0 ;W7 zC1RB - wc2T71G*^ k5?&%,]+S_ϫL󡧔u!*nW?DV M <.W9M}%DSl%yDJ&;6FK! U8Wr [o[HDrh沼U#pQdEʗejPʚdt?*<߰o>^-_!^>C@qEi]]*JE? %:<)meH #O"~s6%ym#/y+dAED$Iml$ Դ:Ookk%bm[s@ǩ\<޷H f=Na׿%rbvki OH#;H\tUU&QSba0z֨;MYcaOBi ћY0J׮ߞ֎b(/Fz?]F{5ҵߩ Br<*Ǽe" 9 ~κ?p;Wق,JN;x/g̛ffns\Pa,2_"ӟZ@wB!C2 HCΓS+7EFEPЦx[R?}b' Y1A ) 1{ߊppw՜XKrͦ`ԥ?yTdվEqOͶk }u6Z!ِmɞS Z}2_alY=A jG_{nIo{=>#OO"il\aZ*5fl BYD‰T,6tw`mBv/ F=\Xh㡄?BGC߳h͂Z4+~@䪯 i4!CӲ#q}[I> v*w4 B' ^<;fZ'/עmUJ1u(C0=ι5th[Omw“2X5,*oRC)vQK mo3(x>([Z5'LӖZvg{v&Bʠzk2nA.gTtߨ_ZB@Wep&|ZاG:3qP?أ&n:6/K`>O+Uvd8PL^wZ:uqyJtJ{6a}0މ=F)OdO81%,U=!=U.LB UPjkab@vjz;5{k Ӽ{K9q[e+._ i8cd`vu`iƂ@FFqp?.ڃzOv}V[f]%BA%Yj@ -p˙Gp{?7HfaJc={ߴ<(-wNcml ?Tj5'IӛwA%&h1J`V1/ m|IjȱE}NfJ߭:RHV^XdTY>c IKe{ %7xK 3D_fDR=?Uj/߅j5Ns䘶%ތS>]6ʳyὑfD9q=lF[ &zJ(  ~Td1JW|cOyXÖoi:UOTXz a(uXze9wH_{;W#vRtӘЅ&ZE驈c)Rt#e B!)qT;łdxp3~& `]Cҽ'zЦ;-qoހO{g4L,1#-ftRt*N-Hʴe~6S& 6sf;(7WDy@@\d_te#BѮO`X5ލbMV:q #3tnV*~^vv8(qHozۿNGx)O^#t&>;hnu]/E3|&%P̬Zh'G~$) *YLj[{d֜Jl}*3ba^t7c+-ވwW;hm'$x6qfIQCU'yE %Ct -NOVdrЩ>1|?բu㦕_cBɾRЮK2,\Z,ES3pz Ov#5adًtxXs-7{bnRr|5޶)ؿ2Y# a-Z/4xcZA{{m0*CO+SE!K*' M3iLc'UN'0U6DX)RiK& љYL}^Z("c- 0U_u%Eő$m>Z~hxwtЦP^ϕhhEz N/ɩ27kjYO_ r-d@:IF2:Y#x&Y7R mã'Mx##(N^iy(n.N6#U 51q%>8rsvQ#ːQ~f6=^#y?ynĿWݏoaGq>cp*s,%m!jς'VaN{gҌv5Shl~'7 6;VYDdUKQ̭3NqG%֢[;9^[h5pJ8{?bl-͕6fə*re%2}wkDFiaՋ?O4z*kX věx<`i3~*/DIYAftJ/pF~U:nt̀C~D7n65'مIΘʍ0IbU`hZp[s6q+~ڎom`n_m!W# Iix+ Ery$Fױd(W+[{CлÔ0%K H2bR b^XH8](@*&o1ډpd sW@ye휊&XK߸DwFVs7 U#=Qz\ẖ̌%B\0^6pIu>{GI!_~5-o(r؛ݲDC.DeȾ{W6&)3h`4RJQX;h=CHg,S ^U;2(j , 4m\q4rſ1tEј($.l {6f&2}|;ea}8\oXS_j!@f&8qI5B`N0xw Ɔ?TVh2У0=U;k!sG kr-s2eI_YXݽD7~p6 Vߏ t<ǩ?s)&"+-xdgh.ʞaG?Εzx6)/`*J!+,%ضv#:Nyߙ}Y-W][*A{hv. C[j㪣Af3~O4]GMEU{D ";1{ Ak}S aՇO@c>i3p=#uy;)_)2 792V`C!׼jeN!?w2XpRۋFe dA_¸dD$j ޥ;ԝ1DYArɅ3nV cqD#etfGKPt*G-\(׹j0U3@f{_qCYOkb447f'$,K-CԔp@HoϨa#J5 2*QU8J`xS탟 hG~ Vg #D )_'K2'm|]BF~ qŇv$ѳuw3\M9"%N?8Tn,*IZ" >AKy,֓tuO`Ln5kmO )Dk(Rֶ̕bne[j[["e80z܀Ȏ./*è9~RXkP?_4R-Q A):l@&iJ wUwD^p k{A䄖K'):9o<*2#@ö·rȬ`A饵:`{N"'[X8XcZJq"}MSInh?sIR3Ǡ;VstBJWa[O5Iv?19H-'dᑲ>I:P,Y._ {hsCt?QuD=Ѻ'X."hfdS$eL{Ƽ*AvE2!hfw9{w_,泦n;gA򦜯lXj0G*]'r|3Wۭnۖ|>nFqTOZKL*hf閑"p%Eɤ {2h"b+r8uaĨ(KB0C!Mx}`-?5=vP,`H72hZ wj($Ot,HnAtYXg/Tbvidr$S !@^┦jx?*ZT="϶^]5*$J8QY]g|T-jW!kmK"A` w` E-X.!Խ>k(U-Ld!8OΌo[i)R(NΡcEוװ*iL`kjIh|A$NL2jA ?~f7%o}w)n?l e9>v}-+S e@z;#E{ڔ[Z$atOLd`(۹Em鐝SKGA~(=lzVzIpQzܻ^⠻\\=k]?+ϰן"-A ^#<=79,H]]T\6):J^6pAGԅl|-.xB= <^8* L"&v:^D^z##Dae,/#X'Zd3ʌ(L$Yeu!tBVcHe\#m,X;n>*VF+pŌO*Үe1sHpN Ua2-CyM&&/aq֥@{h2}#@0sEѐϼ`&/ k0:ZBQgImI;K鎑 rdM»k 9y)#O]s|Gfz93Ҙ^< $CśQ.ZM ptT69$ҥSɺ8r<2z j?EV} t&nx?+妲/VxYLFzHSCu0[lW,]b17BS.cRA-A"]]ǫȧiWpח@DԂ;ov1:J-#'ً'UA B*6j~"[1!st?*F{y6%i7dYO*`nu9Na)eu=7%hK f~~&#\0[/Ѡkrc4''?F7Q}Hҥ@qVOf8:^n=Z$G#vN!CfzJFۤU5 ·5)>Dt IϤJ 3bqġRaD ߆IjE);}9-t2"1 oЧ?Sm:!@v"٣.:\ ۗPQF~"7p{v 4cNKH ݿ:7g~=4~Pj8{tl:]'DB?ּu_㝭x^0kc곴1T{B3 )@k00n?"k%8](0 haݮMSF*=|.`YQr A{=BivJ-jI\GX:ꫜD=vӳgl”$ֆ6:3\`_wg!-9@F?v9Ɛ<.8{''*vwjSyZΝLJ]&get&Lllfx%^np8u%FHE[42+RT٠u66I@ ?k3Cc=))ϗhU(qR*-T^}k盫^\\ ɮuON/5aD.\ˁǽ;~0\ v2w58c>Mf!Bu7_rV65aGI#kFzVL*wQnn?SQ;$#/(=OE"LLt(.$;M*@yCV wInKk BUEQ`ʠiezr-l9{Lj8I%.Ar\n Y#OC 3'EA9#Ip.! YG.Kh!ex>K8Gd7*IE5)E(&Rze%zIEF"‡diʓsVڄI6+n]U\:pĞT<\RPZB.urϦ[P"ke: i%JE!}};sl>Ϫr}w?qnVdi~`HYXs|!!C!e3iP/EeSB V?rk4"NmNڒ|=: ]e@ V<׬9s+N=`WT8' ;SB$Q}^B@|>NyWU'GY/ ]VW mMNum| 1Exp Z([̉Ĝs 5eKIG˟\d]GePR3@}M_Dўu◑pJ>ҏJfgm?F:**+&u߼PW!%ܦʪn8g`kG82 Cr/2 I_|ٚE:ztr4&ah rJ&TS6,&> * B@!|RFy >F^L6 _ ~Ci^t1M@Xh1S8&6 K$fO)Y;9+/Ftk [sU9nUt$3ÒW^KhPG`s +DGp/P:|)dhύ?1oQ'cN(?by6r{.(tGB c!ۢ`cs#SSʗuUh]卷HױG^ͽӶ̼7=>⾲їpZ!˅)Øi.F>[N裧 Su yK=)BBfkMuBo^| 2s2ѵq4:Y?~w#v=fΔQc7$<'6fuύ' +Eri`BtG# 5t!ΡO';Se(NZAq]o7Cl\y|~4R}[{k@ԣCQvn5sCZaՉGH&$6Rܦs6 nղ@+1A>b?3c M~^*D-V'U’m-OoFp4}Vnф].8[Б&h =e9hu*Ƞ5׳8oseKO'cMVX-#򼬰7m!#_P>gkX5-fx 鶎boZ$8H1mP=kIC`'g}. ̪@02RS3n[}uv9tІhẸ48Pz=Mc%,>P+DLZ#ޏw7'Gˆ\i_SAG7L0!| -?WE# lRˑ}E9}C3V3(hWڭ, d˳nU,GlAZ{_y(gFM?S-\]1BuQcw$ؠg+F.x --zBY B9'g&^#G˭J5;GF doڛ0*}=u?Cn#hzr) Rlπ3'M$zzb/A2⁙͋hyC.2}i2|gPQR8,My[y뷭8Vk@1\wäT夠(\3|d2֚Jjdy$/@T:M ]/Kiq+I恵יܚD0ʽLVOq*UE~G4:[Bo[*MlmVJ0CR1Ax#T#uk GZ n/VSJ70,+ɡ|)5\CpO`aWy3gCf {kw)fb7щa` ``=3'a /[Q"lWm*g%S/&@RhpC>ug=*)76b^fQKj\!,3(H I(-Rgyi鷣d&#qKnIdG %f4g,tzǿȨ{p$$<5C LI1TJuE/"\{_p^[jp`@T"MmT+HF)eaEAr#VO lB=]LC/#ROiP恖!5I"n6Y-7qv dYCRrcyy Sp k() !,8_̱(>~aeuqOȕ>+dinc5M'So3):$u_&*>8m09hD#On۞A„w͙vnHuY&H/jPq( ͗ :L[UaJ$':G  ~xʠaXYκ8el'Vw*'Zr  o%KVc لC^&To0ՔIIE QYL] ϲ} ͼ)WߩQ[,Z6ŕCUT%P)&b4a~8_bK+8h#)81%y t@{IL|GNT@'Y3E9;^hr#! vz8(gP8~3aN2OyxލZ &Bvw#4=aP|E}87Xpt~ c@uZí:3/VmU2D ̜Cgd' ܘ½u}^];Fn34BP23auM] _z ΗAؙjZ)"T3AuI֚?y#\ {5^ 8hc1@fՅCIģY,(Vɠ\_<}ZưKT/Ew0HۡI{"#dfsbl6?2dIAc2wOH0 n18 ǟE>L:i.)6x(Y<曬qd9%9џr̢+$Ġބu^gwS6⶟\)ȕq+–{u7# wDMviY.&i6ELㅍ^9S&0'>úD-a#ZEG9Xtqƫ\0|evFAɖ'XĊ\X: G2pC 5I:\tΠ %mxVIkFIjDꦑr҆#g=Dx$#odFw]#>\F:~,Co ǘ^5 șwJLOzniX YЀIMg@Go Ձ{C #/Lz6=j5p Ґܡۨ8`&tNd#PfGA [T@uһ >uά͊] _5*'*K}[ڞRUR܆SL#=䯆Uպ`\ׇ ݒQ xD6Gq#4-e'HAEl?z:%1+- )e 쐅b7#ҕppBե?" WaPCp]Am9*}>Oq/Ly o*r UlG}'rNqtIЂR& ly緥I0"Qm.k#*@mvkM13f:=1{&BQ OHFkoRaS!_8!HjαjHA6'co; 9?m5D۠ ]t+KCYNB0(E0Q8 Ӫ+ݵ)[kLEUO1&Z+'oMD .FVߦ)溳>&xiz^J3È FO-'!cXNud 5n86r¦@uN.rbU<f}?h 7^[B{/:Boyn=o#h`0!vv[Ay`H9}a@-QGA.jE=%ơ咑KSyvZ#/@39R|[ZM_XeX^ Þ] Է-n0 f#@s#-ykI y>׸e+rkBylT0ݸ׼#jb)%D =A#6 A`yy,λd8+x/o{:FT08!7e SZڰ}ұan`Z-{V]מ8!xBH=? HO;Euw!3& ~H~7D҉r"r[@0dZZB x''p4Ĺ"||lgp@`@kHDN&+R5ِ](hxCqOȑF( .P4fh0=x!c-߷֝bn-_Gx d߁6)l' ;`Vlk1,b9- {ͱ7~nߖ\}h+2Ca/ !k*gi- gSd͸ڄQ xQe~:-˝ 4U7}IW?jK:"ʏ:>P՟k"sOup| = $Gвx({[ *%mX|h N\Nmۅ u1aĎ }!0@ځ6K `Q JULLJs)M](^r%q?ɜS46ʂNe#E~ħq_BI~Eah j4D &(#G!EOcW8(Q O(O6e#pePEM!#! L4ɫ5_[$*Wzj}?D1}te/ P.*x/ມ\ S`־&iX-^902gÌ'$O~c{- ,;$DlK${%g0E5T}{^?t8;Q#P O%o!KP`7r 2W:M )3ڛ]W."/+< ã83lɘnFvc$\6Mnf%[;5N0")$8I*1%耭N_7E/8Kޑ_wǏy;,!MTJ suGXǷ]S,1$f=VU6Ԙ"d jՌx~ollp]\GG'PtyuqG)N$+{H~ 11\;ίbјkv*g#D=2U2)#a%?jRTغ̹%Aw(E]q~* ֻ3&X!"!p߃Uc2{jJ ζXF#%&:\FefHFa{%>sJٌd4WgE~l>,E#i(@K0^| d2W6Z/{ ɋt&"(X&L\ad_2K ƇggEf%}TbǸ/bذWRSsUJT2>.K3ؖӊ ,=MPi&~w 䪝NpKe0ɞ p}GDât^?BjM l}͟U[6U!vC!rGy\}(/m1DJm1~$S2c!x 'T.&Iic:كPLݠ fEA]SH#usr6;8!g)̵ԾjU)Rin7 }uUx(AA#fIωRO5HԬc2sPU*ȖdyI)&mS=؛EgO:gx㚏&p؛SȄ4/j>Pˆ|ÒCIZ5F,9߁.Mr}q"7'*q4ف-i\>y5'.zf0HH ΞH -Pi%'9D# c pX@'ɒfg(3#*f}n6}B=43":pϬ*6v[0%kyU^U4){;;G%pf5kJZltY.攕Z玧5Z)R A"=mrwCZ ԑ-'T-,fud$yxX(f,F$}uu1[=)a7s :>~st0؝ʢq_ VܰkXhLH@>i y~BCR 嵛ۻ~$YZ+K&g3-+GK+$:!̥8mM$.ˊCyfl25z؈ &C(/hHHxmM 6,GsVLiCO[cwq㙝4?y8kt|B_Jw#ZN5ϐǸk g:EcX;=H_v 3 *z)iVw6PZU5z{E_:AB{z*ct#CT͞ƯxR:,Zsg-$硏;1K`! E8 Ň.Bf2hp`tJ Xf&%SܝH'>0FǶ>x |Mx2qHO_3 I E3X)݇eXfjB\&oފDBo]#Mדp%Uqk.֊y hS۔r ;,]zK5Vcjcjl6l,߳KQ_L<;:ͩE0gG}W!(t!52elp⭔KB̕M U/b=KDHMUƓLrCY\mO1aUcҩ,* +pe,#H7cy:1!7WZpƵUh¨6A2l]881̫ wn;qd@-SivVtiu͵Df"l*pj#3R-g|SĠ -e9]R0sG Π\WLP8GbBeP c״qa*"p= +Q.`~@bZyt5 Egsi9\a澾<7)̹Q3?96q%)UN鞹7i]ݒVNmJi wsAk\# AFFgӞysNʈnpC:jvV Sqɍ$?z[N,g"ui>nSvuX*gIhI_Co X{9Q 3)&1z+ϐ<jl*Q/zrWMBmy8b<ѩ4N77Ofy܋Ӡl*øpy$6PY P?a)%v &SQOB* ]$} qfsta@{P&ytЈ֧I I%8s (PuGˈh C789$eϥeJ76{gIʶv+ff@LpAhdl1kŪ lf&!0^b$_9, :YYÒ.vŧ=٬]@s䚟ѽ ,~qܤ?VB4,&!_m3( knxяg(x~c̣2c}kJl Z3 Rң1Iھl#KX yYhǦ ]:}fB>_S,!oCCHl^HazL2 0BIO(\)#DyN![vpB8tK%a|A;̕p tq ư8ӳ@Cs5,ږZU8`4ja&Pyh\e S9kb!* Q}kL.G@#AaNm6D .a .ߜM/:e>!,!.~MеH@M)>rO홰>sҍNfDE4aK_t⋟Ǣ9\yuWJ.Ql"xSPgjmgm+wd_|AN59dfNi:џSX%$2F5n>p<;ݾ;虅 Tpf?1ߢqty.Q.H=S{fCy-lLwHûN;E0nKQИ/'vW8oKQ_ަgW̍×䑖 |93a} x͙ʪ*8@)AϬV(@2g%wQv`5*uX)Gf<=؉uoR}RWotsq3%ga$cEc*fF`i< sW5Vх\mc%xMY\z'lg[lSʢL.>eN <"C CȗX8Y(\g\d~!%KЄU -r5t&ps΢ـB~o |!G<J(HتM3qnOWb Rrt թO1xmRNٵ,g9NWe3,T+0 B .uJDN k~[[,] њb*/v&uM6(YYiOW(2wkN5q=_\{.QfJ).\?{WV9]:othR?8eKHV[V^_FXku0ňh( L =]V&B^/%Dũ,' W!cowhX*oL7\ GhQ eahi]5ź96l/t07K=g{2ЗZhL$0:0Hm1:N:uheY/McZ*kE}Z4S_ s|KطѢk]}KqD3` o_6A/ߡ[$'wc=ᶉ /s9lkN^۷Pl;23v]9U蚃c}5S"DЁɻ23@m $?Μ*f qdʮNGu6~}gΨ0s඼O\Zֱ[<]şkN`ƚT{ az8'=\]Zb("#Ku +UZP#I^NQfU:2x;E3}6LĿu*5S2`oEqGv^cAzCJ1 pȻ,sXH8Yk ~cTh'ZX9>,(йq1~synNegSMy Flw3_6L A2:TC]~S)~CfD4,tCvMCܓ5.)uP|Ɲ KJW7߽$ BBTS$;W³ 8^"Ţba ޲f#tW]t:_omhX,$/UjqhObMU$vd8uU |1|)?yGQy;WuQyu{$12N͞,? 3m`ʹY: O(o.eZ.Em~zc83aL5Bu3>v(l^tN; m5; T!Èt]0LΨf8#&HKH̃6ŵ:X_x}_Ѵ7"[((HiW4/FcP*ggԗuIebkeKh#3Y![]۫x]-nYDM(~Vpek_C$n x.h뢁]9׃;c1dr-ܒ!vgHk/kݜ/V4v/*4b,iQmJpAG%0O(-Gżq*5s`7`5iVq65*Mx`ɞDx}j; ں~<ŝxs%Tڌ ,{x*1+"A8'FFq"~+j!} cbFet:V,*:[h;؁|g+'bd $b?R4(dT+3,f;J֜F~tT#5>lM<,Wx^FLù݉O?g4DmՁf|5xUꘄϫ'1n&8(m haؤĢف*G4nyoZ.R04pG(L% T.eHPg/p32 C( >4hsHz{AkxXzӅ+aAkHj"x).)P@UͰ`Y |VI $DF0`' PBJP9@( S,q9wg9*! A*@`b * ^A0_nZܲneWlJQ%Vڢg wΎnؾbO[:s:Ǿ30 `hꏼkʺkj{Εqa.vG&)]99O(_F|v/cAΦ:?io>yviu/ReY͒|Ɠ&;/n[}m6C6Dt6igPIk㐾'Ӕr*|n2{-h>k@@v?X$l;mm:^b&%<荳@􆚭S곡Uy?G&v~=}S^.ь5ӏ\:{m4vq[_IPcy} Hb(*-"W|~y&qGHK 1ĝ*8נh'0.>~`"byR}C#z1㫾XShk媆]7ܜ@-4pH>dn07|Ϥ1^jZ.@"GӝhZzi\Iy^,LWҘ6H4quO=2+oi >u'k? _ rI5'%>3o' B3i(R[,k&Co]e>pm9|sR놙=Z…1I$d 1R>¶=OwmpMо{ 81ԞzSՔ!C_$'9{S;Ý g MHf*dVƬOh)`k#T'7tQuR{3IY➨#OG".1/濘E6z_L͟{g٭͛港S\k{kF0gCŶY3&:;wtqxw=N #rR-cK)UJ$yʃH>)gμvFqƟ8Ѷ~DE=wtAm!2g2G٧C޹"rCh͑D_()~+Jи9:픳{2$i/J̵uzA(8jiF|PB?;&rQs:^wɕwv*fzk7'=5mN^ ~̏'b.R _Yנ6YM+>i>KG}1m-/:󓲪祥|"hew1e|1lܰ#b-gFΉh6/?=z.z*b'fh'O=s8se^XO̮_6Tv:/zmGϞGk׉j'q6 ߧ͟doutoǼ7ݹk+P{'-7z)3[61n ;Oy3ޤ4h6e!U}Iv5F}UFD a+2so͂rd{#2&sJ=2L|S ='uͩarA%/᛭ERJRba,''6Ozm珯z(?!1$d2*H|2)Pk0o~Lj> =lB&|G8@GiβmM.iD'hd_Oe.΂BsA8m?{<鱛,zdFvPJ9M6Kdz B492 !g膣Plq a7d;ƐS ְۼ7ݡTHsCt|-ϒ!>d C~|yT"%@G5}d"BhP 'L\B!`kCswzt(÷r $zQ/텶0H|#q}]mӞx<PO(N#ppl(hjMZlꘜy[e|T* jEsCSYv _i:MG0] 7=?}J<54Z_jx__kfN2ˤ\V,![a&bNNqIvB?Țp m{󊊑-Y-_\Ne|YWb 1jX:,y!..a ,H!2 vMT+6~VXwCq>it/1 ?xk3긶ԺCBf]]8kAwPWf%s,!z)#lR%咴!$ w C٩aƦRDT6-<%KT˭ `|Et CJ< \!7(ͳuV|?FQmᒳooLBJ@r ԍXG%%&I ![ h$bwADSiq4cTH@_vRyxYry$btvX f QRQ.>>}L?xJW;={wX u]{R6mJ&`R_5yISz|;]~ `ffN4WQxImw.ݛa`è)Y9䯷s!+-'Z>[K^3>5 lLVr#ɊrL3V,0H9AU\ h$,^%ooOF2+UF}Q)^`#>P`*F5& [LV2|3V~]w*E{=ٯHzY4 },O a6%УV>h8B ?23`Rv2Sfib7zQ|Jq_5DSc/ۤёHDɄ@QML1(h4³JԷo`%¿x?|7/)& w" eq쇑ss*`g_1sLb#|;rm%*d" @339F7I-zOo-Syj`%-~@Lc<[``AfiS{_n'5nNG^^!~c\e5V|Ӡ@f47YuC<;' mVe2K^JUnǪ!yWACmhd])ʊǼD5`f{؛p4眭Qܟ~"*L–!)Ƹ/}Lܸ``JӰJژ1AlۂYQߘ[E8{`:m3s#M@YRjE)-ۏw3Ven At hiڴ==4Rvn.y*ӃQl7º\y!bo1„GpW-$X@vLB@V9 >qq?,YcI c+_^}3s~U4kS)Xz%A> (nCe?Tyz_w|r]!sIZD{!wRe,$ZD~c%1«BfSxܸdg¾W3tr Ըk)qeؕY$i~M#vքD?&U]B0ۆ*U#6UUobAuuM[b>Z'gUۈ}fШEϛbBHakKmP -ƐV!֛msc t{uܸ(_!4 DstL1/v}#Ӈ{ATqc ,&;BBSؔBIw t n5v IFŃKhrD1b0V_wyf#4U🎇!]!7dLh|l7Z*L*I#l83bCϓt5hA\֘mwؽ:[vtzQ8ĂPIDVmoki(ޏS )%rdͶ&?5M!=0fv΄DH9!O5GM@GRAZ\\\b:eDԗC.甪i~b,jᤊX4^Bu|8=YeyMTy:t SzuaI^-nyݬ:Ju@%6۽Ԕ|m)N-!5y.Jc;_Hyth(K 4sID1L}JC,2 ofr0NGhӊ!r)!VsӴ#OBt) l#Mym?M-CI|+37*SC  5v s6PIlKVH["쿑oϰ䈛/٘2V|7A=nVy&^A^  28hRw:;wTDw1QʼnwOu_뭹JN1ȯ&e:TݹͶ>5{c./a""óo~ ]I STu]W+PLpVƴ+migq"b9b2NtԀ$'gɓi ,*&ahHC7Z >n7f=X@ItWQCj̤A%U\g /Z )W~VԼYB >1w~8)0x~Qtқ8Dپ /&M h\|QBJ̒$D]X pxl;;$^7G<_p5@hGNˬ`Oa8JL1zJsX>q+j ښM4ġǍF3h]No>/F?th~gEkw.8DR0=?>-أ4"\vϗR jpn:%_@B:r)QB7)&[;640NZ qSDǻvՁC)H_#G!r6ҝ@a!9fFszGX %Ǡ&M7G"\TMJ7 RX~ʏ Jkp^r=%MG1y$O A~Or䔣uk eJ=`jѫi^bZW.>=~?rP8s8CQ']Γ3Jms:b qG/i | nhH -:Cf9uԕj:,DM. 'L>8i3qg⫈ w&&XD$ϛuiml G6ү̿,0ubĊ/ܔ LrYp2% DV MQ(<]gr51W9E~`= UB+D !)V V"VpTݖݩsTBo|K #4X]!NNM$w2 ab嘒xzcH˹{( "F&⥼}O)jK#oEOߓpP%zu6 K p(5Gy'+85H.@)X{"=7 u LV&swCˤ6HX3HG4Ô GDʂ)ؚ"1y8FS8%Ĝp0gc>(tXE@IJ]Qǹi,DX%,4z5B[iQhK;3[ %uDCO:)_܊O%r''&LF+AȬ Pô";BxnBI@*[E@g4@3]9mfP =h M8s4~_iuVK߾Q(эWZi] j,ۖ_DHю '0 r1GZ!- ϗ9.Zh+$ɏ\<)#֍J/.6M?zp,iՔ=rF\I*#Qˬ betϜোW%Y:Ҏ?ɦd+=Nޕ\yÉȧK8LD>;j-|P3S,$fzibe˩7hBq0|fҲ'aopreY6mαP 3IU&k9aaT/6WS.ǽK̓F\kC};JYoz ?4is9M&mЦL4 - vƍlCnh=dy}17fu\֤8s#'0} dKåi(mGJI"s{HmIFۧH~}-nb=O?j=-UU06?mN}'mt[ S@]:T.;NWMGtx6Gom.$ӗ_ *'ព1| 3H8͂ A04ItX[gNLtj vΊ*vELx `y" #XaMh d8GIהD;w+"7<ٻ_Y4w ehHG]0Lhe|{L'#].3fU #{M+J], s ~.Fuk7Du׍ś\ΛrmɉjHpaB&( ә(TQޜ8M!\1/Vݞ-GQ3ɧlKsA_&=< Np+w+;Ju V.T)f8@։_GQe(n`-^'x0w/6հ|;b~A+iH!#NSTGTto6!}L107X0^}\9_ָ&`'$i>ٗ <oϗA{c1YY23-BmX{Ȩw_D5;5"Q\u )+%!u H'OI5ЇPjhZ:I/|T2t6"aij>Hd7RZF1QT`{6 D[k1O"^#ztꬦ$6}_&YiՅuM]q bƿO=K,x5D_Jg~yf 8[ yqKG*Pnp`ʝ3rʪNc(ΤvNjoM+0d :⤖:YHtGdz!!t9nt_aKiV#&ʖñd_bz>щ_w_V.ˤj#'ì\e+\}rQE8KNh4$i%J)-,gIJLkVѐ -lh&Hj;@t-`!Mkv(E BJZ˧NXG%Fjwbڰ5".pjoR:ozW6kGJ!j,%D2JUVRK߫'gK C5q# nCJi{=ϩ"G0Y2h}/@?ɺ,N/<ʄ5U =guA&mM+1cOKԶ^ӿo,p%Rj$㯏K4JW,]Ŧ8plqy ᩫ_%mhmA$li5΢,v[2h'zE4bP #M+o=BOݬd x[kU-IG`]%qKPSHI{nTqX]æj3&k:9ӝ Ԛݚ;,M{9ӂc>&{uf&iCvߜ-o!Y$EI!<͕aWd]CYh~N$-ǒg?(zn1yQ9(A{&Rjr*#8ak5&{)r'k IER&Q+;Dܚrw j?E &<2wpr+,Zk$ѭDI:" S̬7"lS¸@*~ %8 4NJxA\JBz9%C‚r֏8|TqxBfb*c,;98Q+l LJ?[m"j~˹5<{])r k B ]v__X4 #{^LW;ڧqeʔ YŹe4hvyxWfO:7DpB/l7W#!ȈT2%mԟ D3,-oO$aщMXm,H uҸqO.9 \!$u0#6ߦucxTfsDOR _,2"kq1IէhȀ C 6%X٪޶1MѰZjȱ/&I `vU^#,:rDHyIj+[N8]alA#Ź:+kt6C̰ԉKN#4c/}o#Own]"`)Eɜ}Xf$OvJ:GlKBT$%0HŒPKɇNiS4_{>s16497~}՗, n}M_[X"~*8"GNjyZ 9 d_ IeZ mw|>+Q(QJ)19^, 5JkV  ӌYT1sm"Dou~~\yTܢÉg';j~QީVJvϱ؄fw\4Ek_c2mMdzdtUcxDeYg ʂJ#f$0'yxn)9\뽈/6-8%LT7 nCޤ(sr 0þ"^N:H}P0\s2xtP'Mfcd7B+&򰐓NL =laccgsgRIckGj[;tgj1W D,{n6j:<Xn|V \h]L$d.0iZȵ8UhoÅY6 A4CrsB} n8q \m$M3][Ւ/!~weV!\k uqrYbxDR^2oVą*hyB-{ĺ =M<{g?W^$]B|%N|Q#A~FKSeU<-Ӗw8.&hO?'M aO3yRX’p"d]nKٕ=wMn/xJOB靗gq2'|uk.wXc!tzߐi%#V6s+h>P^R2v?oE#IdaK/0o ?}&,›TAvt@/-ӡNt6p9xrefz?DXyPJO$pˌN;/U1ܣqv#훤;I=՜2M%MQ֪đ0ȱ$_'5svN {!Yjb~^eiWv ׁTwۆx)X uj1L}T83IQA87³FNqV4vۭ`*SfNP"%ZSפ\z] cj@dWe؂ɪSgAQ1faz?&y 2feB·VhUfND/wdR^ E|l^ d0Mg.=jwwWш{D^X9q27e%i)[x .N]Ov[Kt -sfLEfITxfool57;b&jIs42iu*hQww3^!تb };\QߨZwdJNTmb&ƿ7wD۪/D[?(dwkt׽ 1ƽEwi(̖w7s JrS~!;D4V奛|ѹ_g'F;|@/xaVڱP?_s{;{*ܨ_gϰ+Ā$٬0:?KB~ 5or :3*ʽ$Z˹ǜZ on@_hD3 aU%"|n6Ne_"?FZ%)۶LS~tlnqu{vkNX:bFEQ-'@OW#HdY*SͲҎߞ1̎?S+Γ@0[&9hpFTEfŋZM"Uᒋ(+lST E|H4T[y$!%2 LjH!t.kH$''Q A80Fl&|mϔ/#Xaz(iW-^|C|ʇa@GgY^)W[sNg({7ƷeYݑY r-Qv݉ib(hFPۭuZMt6KCN私op_cG<7M+CVwO*J:&'_㇘*I7`,({ =xh!+z-(ABHOcbVL#Ag`P=TM9P^f n*& LJG .y'K|H*%ǃxÍ9) .g3*5WSNb,x4Iͨܢ) *UИ>ئ+Ψ٘(&d'`'WN.4@ BvKavf*lTxh !O-}+Xǟ>ģFHwe!)XT§57ƎA!nf^b@qCP A7υ098(@s[RvUXXQX)`y@r+H s*P{͓{46$& =eyzMOgtpR90( 홅(yGжxc.&cЉsS]%29HWb>#? "Y\@jZuk67 [}gw :7vX1<Dv[Wb   ۣ#cYʈocs|m6]~ $7TtL\d6"10>Sc$,O$vF9$α  )!dwCI=3GNh z?[qD< 瓜iL AG .t-#bVz&>L3'=h0ޡ}{to?*`Ά1fZ8|m3߸!FS mRM1S#Yk)ā.}-4+X$P4yO /%1ֻ~ZǡF'0vӬF8wKż? OKSV!)3o0œ)Qd4pɡ@?^g/st\49Y_B$V9!KpNiBva0=}.Ju` 6&̺ysNͭNj0v[ьx-[1EbNL 59Fh&uoR^|*5IQ k&mz κG@>LHܛHxЌ*Βro073goM.ۏC_B˦$Jue0K];F fN^Q$_;`w-#ֽ~}g|SՔywGah엮:oX> n򜾙0fKu!@Z1GMddYaMVur5!+R&ɨ*9os3rz&'DU@YDG|^VeohkFA7f08bh9#fvi~1Pb)Bg͚`ѝQ\E9d|e:hx)`E/r$3#tdĜrg>3E꒏%f XhV;8PFPYyE sL{2ڴ~DE_ٕ槩?ZN2,pC`X|9ZnTfb8Uss6k'HG"gzT9oWօo$4Anbj iFD \*fRL{ؙL4o* >P^tL%F+;Ö<~^=il&s zQ& SN>BDv Bbf3S qlPНK WՍXTOY W/ʉ$`uWk^B$-]B>< &N҃ð+R ~;T\!'W޶Tƀoĭ/񽹒*ckZd Fimg 9EVdy\}c; C1_)g@-&?#'c΢~N R &k\!2FqI.09F>IϪyH&'pO߲'33e< W&apФ['SoA&cY)]W7*J `2+/khQ[̢+1Y,J+$m#J.4jVY?v^BPSJ5[k c{]&g'i .G[ģ6*VK't(>EY mX?QW_mLs/e,ΏK 3M^X81A"+kU9&.Z/NaPJ.`W (x8yb"3Cc\*R,.k7N8J%dgG<= @o&s|j^`L6~f sPge*{nFxE9-7f-1 66J]`n^{%{|l<( w{Z;+4?<0JR 3%b$GIY7G,lˑK |HYSN/DӹwcX+m 7<3@x9+t_#ԝdLF-#>qr~Juv{ )aTrEs* nieS+ C(W8gڇ'=- UjR cW |Ti9 rJÁp!v +{X ĬZduεĸ-7YDlkoCQLr5%21aХO{o ,y,$4>KCUAvwL"Cḷ͑y_Π7>]"ɰf1 ш*E41W-0R&ceJ4 d!Jh[Ivmpj`ځ)@G#>Fi^ҦHPɉQ'ާG&ǹu|ҩFp0w_*LШ[z+ F5N,GcՉ} ol!C q @2 |T+M?qʴs3l=/g2^ڠyĻjԇ__+k^k؏=c" D bE hFlĒ}i"vɦ]x8|&_V^5UF um7't"9?2oݣ%?<'bLv8^D%kEN?$=fVk{_@E*n"=hYiB9ڌ gpN-wp$61 h^U[ȩ̈́5&7Cq ڟwùe´Ax&ب鑐m J* H7/5,3?\8JAb\ɤ3ru?+˜69J0ߐ(==pNN]At3cea7[1{ Ϩep{W-R=tkL&A*lMqw\{QճEX a[;roݤn=IbY[p?DA,h8PNeiQ3 ;) &+u֏P R@=]B";XJo( ^DR|Q%Hg&;, T$#Aq}uEݤJ(Zh.X _^~dC*ezźkdw [,N-^sKNWaĝt>7WE|W?4ܔG}9}q (LE%5Y")TЯWQNc N`雞w(':p*IS"bosCei\L1 Xݘ\+dYdw((N/[Y*tUZAf4bRmϸ.e6MOih)sëqJڬd]EntBgУzې05J.Z&(mRukt3O$AhA&4&]md)䍹ܮZ7ZGT_ *x8Ru۝ $JQ{C^$8L8vb^E?vmҊ`y"7/.υ<ČQ#~ZڴpŊd4'ВkD5n3@! m4#]C#I9Dk_ݰ}KWT"g,(.rچ^džײ>odt!AD*Ӛ=El[6g<1+2T 2_JڴW?D†o=cF)~ֺ:pmG{zW~ /Е{Gc= wlן<gs"'nbf~iaQ_S6=2SZR=ZAD,ɔge wr߳5BИVTw ls{=K3?1,l d[Fe܎T)SӊSlR0mW5@Cj7RESΡ[y1IMMZfŵ5zL&b(qet [ak21DnAM#j褱)zhi kUWq<s-[K|CVp:{F%h^H.; ǒC]5 g7_7](t5h1RǣpYv`֝B*\+bX|ـkaٲ} Xc^h +|;Hk&L"JNN~G8Q͜<4K; {IZ˝D՝!&0M[JRf7P?O-3$Ĥ( BwmM4Gޤq,*Sd41 J/6[y6µ335:pGɸIO_qtj8,5ZΰnE{@rT҂^׿ w4)d;}#Xmls-dC\%bRM1~˙ĿY_y`T! M4OnB@' !yC2Xe7,fnwiY,V]")pO&bAJAh).'_ZA&6}夫y=d~f\5QF̷oGWEpAqM圴a ŗ -~Opmb978Vv  3:A4qts.FI~bMGW~tE95XcbsZxQ!9Љqt0ȌO/C6o/k[=%ZC~kS#N Wk&|XtCX߶8͜`1J9mEsZO8"ZEj1=]=nw=apLz#ƎBtH^$ͥr dYfnA;#A? 7:Nh{z٦X׮wpA^qKZ|qL?3##H$.uW.*hl=g=&!ܕAMR#Nawɜ9T#O"J==AD {,كd&{ΜQ09L{Z|(w;_Y ꦢ@v=Sg*lځ+kf*Z)8>yDgn6= &ޕ'fbؚq.F#}5VD4+U B١ `z®PQj^,D:'*B-wB> "0OnYzgrSVoW)A-goj+/ lc`I:'!52Hq}d;Uё.FC(C?rkuMGSW }GZ%еnCJ=3 X!./'ywy0eU^u5G /cj3_l B# ct*#Ql^`RnIY0}lƙ^ ϣ-7#wśQ6b s:A Άb2W!3SrhRHKeJ,#ŏ =`ڳR!/GhT?`q[efl{҇ХZ_| =ĠPֻk5VaL04S&%Hi`1g c[p,V޶݃oMIȃtH34~ BӢm/r(n" gBiFOVDH<`6"g&b`14;P4a>u'? wȟ3 (L6?awpgZ/i3$*o?ȝd™[;٥ aFݷ2~4~KOL҈ (SЌ@Q$O굩# y a'VA8)824gВȠl ǔaƏ}ˆnʲ_]bfG5#hfGi|o`Vo[YutyҙŁiԂd}`27RɉB`SDfE^ [v_0ٙ'g:%Z,LdiL!ANu#RPQbQC )(6LLl3Go%Tyj'ugő]ˉF.禍ZԉKL0R+qy,O͓ VҰJh${3ykCW {nuFhw.:d#v5a4|>$Q( Ku +`_;ߏf01:y`,ڌ?u;pڌؼ-pod37a#ʹ%O Qb2(ɹRz& 4[HI(uIhA˃$6#}񧂇@*.%ͧ?i{6]7&XDiTCuARAw iW6̈́3N%ZvFK:ug^ )q1‘dϼl?j9X6޾}ՋkokڢKLX{{œsGk1a;<1o"xJYhXDJTo)@e[TL剑hI*!͙iAkCtK;>F_\Bf5ÖzqHʴe|[ *G,WHN 2/t_6o1k|抳Ǫ'˲/R-[jtx'=coeMJ I$ vyI+YPNӔuͺL3d⒈C`"<#󨝃񲚌 XGew&޵2,ضr}|Ui̦׏Sgc[#X̍lfMV4֡}N{% ^*iDAt*fqH+l#qs5]r4-0^Cxx]Mn`L!m"NnO<8J*ys9KJl. &rpf '1D֧8AF[ky{3Lo ?J+b0lb[LP:G 33=lT*9% ŕM7/CL;2u K!o&"Y-Mrլcz>-^5`/NS\?{Kh/~F7_6i9GrJZGRIVpQo7°2wq-:q-X'a?g+(FT/m9Ph ѼC*bw笨~()' bHC|bMUX[F3b[/m\E4'GEIԇG@L~ ~AП!ol! ʝRKbK$orBiIZXJ \ptA7H 9Z*HUkhceÄREU+PGIڗ䒚ˆO^Bp/ *+QTxF,cO`ZDF xK>/S/h#i}FRFYkIn, 4{ e]H5T{ lw*k)#r7k!WCL0ۂ|š [Ôed$N*9(/1*,rl(w@IwcyFM!1F$}l[_Mg|as%V`)KvK_f# vcAtB$ YLHAG@zt1:>Z!kY0_y@@1bAO#\w \C'e`Kyo=M T;c\&椋KIFTT<#Y -[M ꊷU3fݱa2)rDhvʠ֯IfлdD387It1÷XȶzLeEDL&O}&&hCN&[[ 0_G\5'kB_ܧA yL?f>DȄV&kA[7'2.yf`E/1Ofc r5b`1nOHP44pAk5% fʋ&"VT~V5>b%D*#1Mގ$*f ?*9 "e&o&epIb)A ݩroHcb w_L(Yb^˓2`u~Zӵ̄LB;^Fw'Qՙ(vw7mv Cqځƶ=89+$tC+|c ;*08=d!yZyc#nS`h,rNr;-L$Kwm]C| 9< N;~+J+ /xV?łՃ&l9_):SWWXU&׈vZbN+-}IcI1E@M|ymp8pK(OY9 JsF\-~Ku\[|E{8O4\P,aEY#yUMQ@i2_"23{,0[}_@CTKݱ GI0S9āNS%HfZ F.})*?]I]m9*%Y/ xIu@`goBQ-A2\ k ^v&9Gl).}i΀_ZQ:3cq]~XC_C\rVR[Mj߻x' !wa#/ ? ʶ~7q}=;?s$ckt x9?鯛mҢ:\; fUr5ơ}Ew7} 8N37@9xF3(^g^u hbTE4=2s<̛D˫#XvE S 2K]ȸa߃70]4vRtIEf29*rF9_5A9 =y@1x؞>(Q© Cp*s+1:< pS|֭N$Nl\lwCfF(x)PuOM<kx>)R)yQaBW)ǃ^O3DRkAќ늃:sxnۻ> LBb(=E& b$uFLtO9z7Ʃ %r)YPLP*e/x}PM#O$i 3)ĭťz?7 l6Ƒwhz6rn戭m0y$rȘ<T,JGUׇ4P2'dK!9<PX~!w.O8l$&Kzt36#vqv3lE0 R%!!NI B5Uh>K^/ y7f^W%~ssSxfSTeV~n _r6T)Dwe_(@2X5XwQ`XXk 7)? nz >\i tsQ:W[EǗ>=rAI:00$%MBS7wo_\n;IpUy'm;K>oOǀ}t僗fL g >: T ˈЬT@oAu1R'(LB`!H3dS'Wۂ^TbKgZo?ǥ%mP»%I@jΑYWr|uf/o*CI[q!FX?; }ƒň=y2;/TT$g;7" !=CwX2tg(g2!eKT:IAc̳߮CB8 /~?]F0}1,p(b;R>`! :nd_Y{.KwL_ojC#  dw`y_'{/ӠY^hx:zOŚsR ^__ *1XC;r51 `y /hAGf Jx/pKOЌc ήT6*,IUF !`,x`fg-%[R m'00Oy{04/w" noG;J8^=r2I?!kUaB978 (F" SQj 3BuJ)< 2QX L mu0KJf ED#,"?*:%p@ƜV՘,cbƊ BRG"+?TKG&{S9l2[@NFa]>xU[P*'[V;II>y -+}Ϛt[SHDQ:Xfb"9#ڱb2k󺍞1~/ɗ7@[H0}hJ;7t')'i Rzdr׉K | CYu<ߓ1>0.3trM[ζ%7 9 `g몦v,~J}9f;n:2nh5:dΌG]>f\qDr~.Ag@'&sWŸu#FqARca4 !mtla_i[xrks@C^G]F Z{L *82}ӑk1ET,C$7㼊iqA 3fYJ=8UM/cd%(_ɾK:^Q҄ڔ61]C6Yu Q4ǚͤw >%kdN,@wTKtEt K7G#8iiEGEſOߘ4#UFYaIWNvgeS}vѺTpt Wt.jyr'CueE4m9 a8`yUXhnBW.Y-YdTrqg@HX3jY0@-G^[a-0UZ7/\fl`بh L:BW<;ɔ{&%a:Yb F:T $X$H҅N2雐RRJtΨ;=.S-Y#F!:J*.pϿsAfZ=b^DU92KBO fѻ[wgP 7%Քo{P܃: Yh8eR' / )<(XT8xb^Y݆)H+ê]7,0a TfZ?8_2<˃>-^^5^i` \d3?w[9PAAX7>z< |fիD!qgo3 g奓%gf,]V =հM  9\P l0A he.ԩ]+塻V0刽°Qk۠Diԥw{ yŃ!t·p2#T\|?2JܪeM|Ihp7p3c9woژ7xM LK<6 rQ/4 AoVC?E WY .T:#JDXzT}@ޱ!.MCF'P/eZ6b90z]jXz<9Gwf|nzi"yq-}Ws0 vstdwrndYt̮E%؄۔`"ǦF:%x.QK`jYtgl;n*}).~BT-Zq AO.!"mK_rGu3bP7'% } T _\ᅰX0u8i:]W Bj9+ '@6FPz9cg핀G)Z;EAֳgcj1˓X̱O 9xy,{u|2(8P~#s|:gt斁Vf_U\~qHχ%wY:u0 2d#k<$A{HKSo^\Sd9,KY2Ǎ!5]$I0=*>/8m%$1u@>K{SMv2C*;Ro` SD19X1)i<"s)%r*_"3w6xH"RP\o;R3JɘA?"XjGQT}JetNld)%V-HD5,=U{O*lSlti|e*6>( 3$PtiJi_%dɰ}YDKn~IM5WH*jif8Z?L ċ$FФ(k!+U|=K]^lTuGC&&1out^mL^qs&{׳GxW9m} ({Cs?Z<]we)9s7_ZuJŒekG#ҒwhwhER^n@?/NTݧZS?8ܣs.*u #"RfAh/Y?Y  1۠ ] CڒO_Jn'iCUA dIO|Q!6RZb7_=AN,ju5wNʨrءk#Nգ+&G+FJTq|㛚0 <eT%K9P{BZD_@r@+hCr p$VKMa]@9!  CCEL Оg;ǩ1Xz5|2_`qk7IC@@SS9/d ;٩jx惡 !-P{)Brl +=Qy6ׁjESS9>~Ю#a z{Z6C6ս4c l6RԀsO|zxMy*.IM`:dbj>ڦl_ٶbp=2h-gXE\ 0%l!}8{g Is-P߷-JqY#UZ7YWɴU÷2uR1/< xTDʷ@XG f =  #'Κ>d<=Xw} ZTUD,؅S"鬻eLk _Vd6gS,en @%9VRJ =i,Q־`q;'s:-,b(\ !Xf,:.-V뒌Q*n3yV5d`ϕ7k80 U%yZpޭNsh.Vݎ8?`񊻈zF z tAF<ȡu7% Ӂ{]Nz6&/o["Ö>!{q6;`2y˼dSaN[8zsSG ɼx:ok EةHv#Zvc_ޫ_7` CN#%>: (3w;w;q#4] sy~lAfZ:Ǝ~+$aa^"N!w( E\TG(Dx7g(!v,XC GBoHK ;{b1/0 P+'T|ñaM$eW2rjXh1ȑ99O9- |d F3JkEe`E|(CLWCrZ*1tR7;C؉PPݑu4D'*y^W}z7\A0УJ?"[^38u,Ch@ۃV5㙠ap?h)UBk!Ehs[7!_@F;bm :fw];:iYٓwi,&q^S~/k jS C1::v+r`Q)ξL,V6Ahly A\i W̋\1B50;ߑX6.E\35#zP"\P(>h p i\Ww6wu~vЗ:!d׎p=ܗjpEцϝ@{JorXa6h]j\ /nM-n8mRO#<7k_u:j'1\ݩwKR5i#ԕp]Tg$AX{\Q;Cf2dIeβuaFW :LCIr)\[ܠj8Ȫ3V" ~I_MVCC),;FVZbhHoOi3^rrL`[>&K ,UV԰ |mze*!"& _۠M.c Y a h5Q43="L{*7RiL3 `t"{,ZˑUB OZmB$We!հ;L5[)G,=Fr Gˍ娼R,6bUEU:;;)=r'zn[H߻~DqHĎ u?يrMKE6/7.oڅAW(CrOC7tXr=s%Pã -haX%|HY; t#drElqM˔pנ8P}@]] K(AA旮 Vh\r̴0;03uZ7E-SNC^5`N;\KZh0EpG@l=evKܺn ߅DdH!|*Wla* bx;czt%J:rs E :hV8?|h9/Ej7ǟ w'|@#^~9Yzo Riu_3))F -.#:~C ;0cA,h,Z x7ORNf**^s6-<)}k߼&'!/1 b;vիexCdঐ+W}/!t=| XpϤ `/n-2 Sy{7 ƇY2 wԏ91 Fؼ-v;/?^77A RwFMW=|O;R'<>ZfAZN[_@g,Ȧi"e Hc*D Pvap9LOrR zw0~aXH63 Ӵ*:F-P<ȇeÂ#/x]:@ff,fȥoXUCXa!rXa6ϣYAG\^j uXҊY:@ ,؅k'O5983d:K݉F!jap7 XRKC9=:#Qá n@DUC`TNkCNz 6°Y>Vh`-@ i<Բ X!K4zG2fxA S rvɓL𡥠H|p+XP zq_Z2:U9r,DVU` toYk % ŵvgp6=w ;5KV|Zºۙn&b $+"k9h:eT@+Iࠛ>53/H; >N E!￞ g2_)&Iy =ț7| tO".`8A\6nopHf㰴S,,3ҔB zOКmI, xbT}^S|qR_vARxj9I !`&\Ԃ6Ɗe.bgU!pT9p%//箎ZviZ} w|-Iw\t7_5d(>*#@MnLJ" $K_@Q F}z_gDBe; ~revQx Q*M _Q#d!>/Ϩ'q:ZxqU!%f`a~!: ]`(C0_vP/d.G?'Aa 0SCUgH ]RUD>> KHH5\C}(?:)-Es$~<K'z2J ׆ySw8,!5L8-ȗrxGh\*2a#@&7~6xa6T| uHw٘0AD? ~(104ܑC_ӄ  \AsXe& F҉ Ud !T*n0A͡JÖH2} `VDzj;P5t|5=Ba:nxñM)yW(wv; #>[躾ݒJ׼Vˉ q,]5r̺NmyH:3&@(UE|K^ tBC \Atv/2τ\q\@+!iB\NQ߀Lq(1$ H&NLl!L$< 1'Ήdy *уxKKN ?'Zi`d'(XɂAĪD@VqoF %nÐř 13@j J;F|(Dו|Y s>}Hs[ t"qM¤!uA0C}#Zg0xLZP^Zug92tLblcMpSu0ak\ `>6? Sl>X#Y,0l6PDsRQDA^Ǘrnj3ڭ'\֎o5]3@ɴJb;FޙQaDE:Z>ĀS:JWᴗ*QIT'G2"@hKO%d_m]-qx9a" *'o-hd l ڐb#}|f^1]N U9.<ފ;רEZz7vץ^e^. NE@j}[|iу[,2n1n .EF5o5x}e7##}s }6[g9 JyP8Py2"|׿N٦DTN^O6-t,4/7겙jx2fnpB}W>P",F&Gӣ/{,Ζ5&zE>b@~bМ~U%p ОARyڏG[QD*Gg kIblq$Crc,z7E-M!F%s"*޽[I pU㫂Unʸ wCՑ abg$_&吺K a)D$S1smMI^wkI\A 01&ޏڕ۔Щ؇'dHߌ0(a{緢d gyU& q7226 A% zf`}fh%O;$UpǶ$@=v%gwK5ˑ 5 nPI"潞UBXoi-:;:3̀&BSz@*2esIE! `o]ͨ烯n_8RH.e9k@ [J@c8MLQRJ"@1D61]= HT 3ƉT! OyY|.}P(1˻ESv`Ѧt%Qз(Rvfe[9?ӪL@.^zae-Tr^ɪE%ΒJ0 3X28й`HG}x@{flrAa\)S.uA9X6)HlB=󥿉FWE0 յU tzmYD( @ޥ`/|{q"CU!̆ՠu pbaU3A ?0t.UQpB9Ëo!dUДnt0Ҩ.f>nUdbLY//h &M _79rExsRg謎i 6# #?FyRIZGIOi4BjIos'o"J-Gޠ ]k !.*x [dOvC.S`<"tC0d:v$}H]@Y~@GbӁL.:TA/ H,A:)ЪG.v6 FMˈ]9YՃMkPq05ʺj^ą.i6YxʒjL۱7yЃ]NX7t1Mċu!(Q"}Y5R3Fц.X áRyl):sPH1|qi8Hj!s)wHہ,`%3t.?XV'@ct/2<$x+.Vs3|lSe(åX0(!8XV󍱃 =ba*2ƫ + 3n^{'쮄a;T VaS(@jC/_=Kj<> ma^G2- K:Q" N%$CmF*NTn^ѿ\~ݍx +XUOds2}F|J7$I+k/k_/hme<5Ozˆoܜ~<w6~HgM٘wmv-A ,AvSy4/yZqT86Î$Zb(v(Wau]Ҕ}Mr-өe{+9`APbo_wW}}_DbY}/RK F6ߘ=:-܍Bzwt Gu+o6Wۈr'rkqGR: ;9pueB_  K0sB 1OenyNWsG&2ɋM J_P7\:h(@XG-s@Gxn )&Nŀ]k _6ݽ=蓪ѡKNce' UH;Z0}1pFB,II(x$/49|L%JhJf[P%EJmcSB>T}Nqm݌xK׶OdC7Pƙ,~'[Cd >62h`N> c85(#T} NXW0vNح嵇9v><^~LU2U8v|!ZS83φܣeϺ,~򽟘U2ͼK nY]U_!P$ ^OF*]~, ƦY!oN}I+Cʀј ܫ|Oj Kv xTZm%ioh#.7"`OX28UyKap#̤/a: 2BKJ>/#(Xys+ fhD J.O' +{;@HxvJL-ZdI[뼝S)7!2+^K( tDI\N8i޴l;bcHN !5Q] ~9'*:̧2\ 0E5z n<c'=yuWUSPRECB~?&ٺ0,__]cXN/ eZ 8k  E"t N{u,i ύ9%^.1b7 1@z~j+xv_{R/i5PkapP-" Б2=舷MBk4`L.+R=@&OHnkoeWP<wŹ {|:v\ l= gqSxC_p/pzT)! E},C]k 8>sl5?0F٬z ZV$zW`(dK{Ȅ0g2&$Ic|"p=T"T:e rd.R!X$HL=j1 4JdX>&Sld[_&KJ.tF? oFCU)&52tDdSr=#Qh)Htށ1{"{_T1P|4wa@]8Q"@A+wHa}2~p[C{p@'CTW,WC6h{BI tDZx_"X;>wOG| oX:,?ނ+ݬ}3 (9@JmM(e (&+#WCU_^ wWUH^ ڊ dZ۬n\_0L=d^lty-/lQ% X\&tWPSy/a*T¡ 0ָU˾aNpp7#@)Ԕͮ_ͮ.,!i2c~4Ę90Aňţz/&pZ^ `!pa.V1{N^ k{ 7?}-< ^# !$8BA'AJWw(0"NŜ{y85Ti^ܩFbW]{b]'w╮R$[⇎n%fSKL ,7܋A)m{R' ҏ#P &:01Z/ /8`_y̨*Ms\-t\Y1s?xת+r-{hqr7"BՖmVx8kP +6e,Wn$r Wm"P俟䷶$&sdY|18IɒҷkCB;OyTl/UAgbyǶS]b;-B焘fɳ|Jt S1R o$N}X(.ivuE?/䣤6`m,.~t7۫WJK+i)~Uq,|CE3R$~!;eC74lQ2d1ɽ8wvmhrSxvKGI^K U~dah|Ïrznӕۉm"{d{J+,XiNG*׍!YW$d)76Fr_y u[m`y;l:atU R|J2dg}CY&Fi-Lo[߱`8 [2O=R*f^^b1mjm_ 0' B)>5߉'C$ĊuVM*4(P+>)(/S ^NW^9;`JӢ q+_ ̓MɡuFp-wF/M()ǹQˆ-YzȨD],L e1~</?I9ze2{m?'^H ;p1Ydf/W=jn2R2վ\g@Oec#>5zeC[)ߐ^y(du~)V&D(FOlU( 8ۭX#2\wI։lBcIȲ{2>|`=ea4$$sF2DN$,{u5d9'/UKlIJ)2'Ű RFVUX˪!h1ٱG|Y${U̷{IG%gwu/g4pNXRLNLR=&A#`V|NqTYRxP4zvoj ]¼Z(3O1qQ_7b"7%F;zJ3gʸ[YuK3UBy?Lb&bU}Be /@sU gN L}vW_=YN.'dʞ`Tw9EJ 9G5z2ћzpԼT2hlG xs' OSyL^71ۑZ9B|_Bk\ /{b..v0'+[Jb%HS綽Ǥwvؘ=^#ŏ.QI[m nQsfiIsk JIhdN|̏t|aRG>`=L3YmrydƧ6*Tjqk|T c USO'f񘎀2?Žd.t#LKwY)OufW~ ҷ=r1ج0"\/(ztr3bH\sfObȢ{-9. tV!ӡ8Q2M}_iHHqMHf10-tf^+h*zAmy)M7kkA?OyaHmS)5`s2ݼxoEkĶNQJ:9(щrb$ˀLe!3.Jv4ɺyՃ<ڸ4' Xģ]R槅Ӽ&*A5ŀXiRݲquk<>npcQT:`lt%2_]O?6MusnZDoZU LrT9"9uUdϚ&6p4 9VS}OFmƙ6f &#xuYp# ^CVoDtb%䣅9i1էj-'}'p̻q1`{8?[[2ΊCyŹrie RHNne!;;{#x!4|{1-|\G^)r7`t /?݃z?!N1˷l.ΣVxZr"* 4W둍S1uA?UisM$3^dٴeN"?x+WѦq,2Ր>^ g2^!a?m U d< ]2{ABe~,Ҵhmy3;y!D-mSC]sXYr D^c҇8Q"]PF5}QH*p .s+QE{:\Q'PŌh dNE%Ug9M*X"wq]tN/ƇýGiek4*sUes1syE^:=ؔ"a'jN:\kAkYe(73 t&VEFsjȈ U k5l6hY w 18f"M |C`[Pnr1Agx6V\`IS03CC3⧶A3`gO&'`S fFl%%~5Um+/&\KNzhY͆HI_Sp25#mG؀]Y0W+-䙞SSZoU8ifg)Zߞo-KH6*Cf܋;TwT٩EěH); ͷkYD"/H w@ \c+lZ0DRCr*lv;#GDr$ i4#o\uY έ#Qq|KO4z&3Z,V7bZRoZBn:'kZx(~]F8V:VSl'WL.6X@I&yx)"g>UR*#cWȜ+?eGP$(8I('}vKxq~ev*fdq-&'X=}pY.M2#GX0쉫WYt?NoΡ usWVAq?K\+ba Lة!!}g+et@rRȐo2s+IIJ8!!SdvwZ.t=(r}qx'5ݲ*i*bQTCF5|E04Q>)gd V"qmK>5dFl}LJwnOw ΟdSX9q/?U@]o.̖O\\կ8ёkX|7)CGW|90RYhq- "Yr?Cٲl ͉tn{Ko`G`q^j7O<7&D?ӆH*>R_|5h Di"H^)6 C5)d k/T?ε Ba{U;h1Kh!pf)T:BY(ɓ'2_I#6!mVy.P*jEKYW:,WQ6X!$_I˚?cfu>ϐ\nB)`ptψ*ߟU|J9I^3ӟNY}D3 D7 [ؖͱhd=Pk3NKPLi( ~gi^ն^OK[ ts{)_f;s*7~aط4e25GJ9e)tJ$7䥇Hp6lĺPb$!k)Y-KiLEp-+y[wC@!$Xh'eͷ"lBBۃP z/.釬:ԗ)Vo @kμֹ@LA8o. Dυ-j{&UO3{nыєH}W&Z;ܒFVGZES֋R /T{px}Aq3¬q~؎>PZ| h {8]V4VYeu`ͧƔj Z~lw.PK ~4U1yy>(-M@cN{{j0T)7^25tYF6cw+jO/K/yoډ؀?L`.+eJ 69)QmEW""K>{B(*7_޹yY& -'o3K>gEh&Y@dI*1m+B:7wؚ"$W;v"ZĽGXV1M^'ACg}) ";vb QMR)iF+>kF[?$R5G m/¿uAгa-!kv(R?ZQ:lYeQHq%)-öjXu*'DWtuE*SWD%KPKY\p~lKk=8 \;%nOr;,LBʏQ&伤xm{藡Q"LT%TQO(zva}=$P >=fmk?fXeoS7CX͟N̐I)ܞi CxvlY5.R,7 [`">U5[XdUSmQ=hGYv&%3MnE"'^" >z @)ڿ5ƙ'= hr-Hiy!!E*Ս>?˪ZG*}`#JQ%#7J#UHw$g*1,lb&(Js(U!Z95l8VkH+Yǥ5\CyAڳU/oC78z(DIE棵oc~|"ry̼rƥOf҈%dSӻo\@sص%*ϤD?MN\Y#RQ~~h&amPoqbmFMBCh*On҇`]-σpع߆vA.DkgqϠrP.#/?I=8f[Sݍ.=)! e#i<"AmRtqR]Y$DʌCf Ѹ OmdpP/7;^_<]~rԖن~]iuGFMUʦhķv FֳuO΀;D#c5pM>-4pakW.n)^H JiޯN4L8龮@Fʦ+d8DAsotrmjW)tY|L^,{R@"zB^ٯYAj?GeRP`7N`" Q!Ut 5T9VĸS ewǎ]$8R&AHJ(bIG݊6 Q"]9Y 's_&ۉElup3,r妕~pvc=[>4 Ll4hР-Uh 'iWt͗sK4/lN5{!'L[ V~xr;KFR1:n ݉Z B[C0[}Һ5~Ҷ_M*|lϳ>I@{H_&ZW)rЭξ8,Op4WN@kF;\ N?LɊKo35b EK_ s&NAS"]F: +ۗ2O |4@]Ʀi0g꺎*=,+aeY{) 9sTIaި)_; ,6p(-0T݉aRqi\un˨`Y1u}?j&ȯ}_p5:$׉c+JDC$գH|\n|PjrnpنilZru7>grd=G.I| 9 nlcn~Z}_du'G<ӞhO]Lմ)H uMDO8Q gslZmڹ3/m_X#*?ar3fPw7L%Lp>Ri$8} UNd $O[=hI;S_ <'Xn_VbD݀N9v>&E&U@Nii*[I@}4)+k]/rðBD +fF7~^`ؾs~ׁXfbCz0~:&8bkkh!|\[B.4,HH`pcKPwbJvd@R]3^DGڱ~ݷ8icۋ77g JD4Ҽnގܮ(2{Xg#F S?ܯy o>DKnUICxW'%7O%\_/%i_J+"GT0$?ٖ8U+,_p*"u@.J?ezIg߀G_'v0HEtG{Ruơg7Tjэ_/_Aܣ:.K϶_]Bsѻ#v~U"W,Lj&bVN'؊ȂeEHX," XAK?bJĪ ݊KTy?'9sͥ!X)+&1,,` DjG Tu,%5B/}XtrIzVªO[[Eڢ6k\w*>!_ouf_ʤ;_11|ë`N%˒Ҙ| @%N \ZuV6SpNAW|,(KMy:$->>hG<|Ğ~ IHҷrxaTY'@'y~KR퐷{>]SRa^}ȳbp{!l5p]IoJDp휏րz 4dkNddv^ssF-{5>'dKv.t&4~4+*1dNXcIc̢CqBlXY4}!K>c8JPk۳!W ^A'eޏn(W-_qq>{*o{'uúyW0?:a>M-;u \)8!Ǜ R[y84+?piK)D=h\m\4~5om:*+rPZ (í׎9(nS|eekk(WZ}?򔦭r#Ӑrs`Msf`M_گ`Q\Пr3LH*(CAG\xéJ^Y+_Hmݸ4z[w=k~S/yS3I2VG03SYKwE ,FݼZL 6)6_,?>q$kҚ57H)V1[G'B\9R, {J^tQ[i!o暍"wyky߁KyttC g?t7n>6&$@ޕw/W(zkl@!) C!d87%@}{ `_]>)NqlGbEV'R; ѶAW|vv=Q_zz+%"ȽͮyD-nvE Wc%%q77HKvn" |̖Ip<}CmL-du.$ ~.Iڋc2iMSB$d~؝vUڹuA;.P:jZ> .lp$&A?XQs~r4KChngNua״^;xD.dǡx )T YNd`_C_GOFtT^&!tsś~^!LY!BE|Ď_8qvcR.*wtY1YwVg?V%Tj;Q뙵k۹1L> 2HoF^La#n\h9礼0~Jvz%Ҿ^ih1?vo80"|LgNEQ>Y6/yhxljkbH\<9IEk2Nc^!1DϦt>ՒT {{10ŸhjQv1y&.d4F ~b?#L[Lz"%T h/Ѭt y.6BZQ4J2\RU}bpP>waU&]">mA*GiMPT0޽|(z|F"I7z (2 C LǪϩ/w=_-v?mZIؠ4c'mQm~+`7@𤠎:<.Vbq;ǻ7BI8Z@NO`N]POC0g@`G0ǰ6g3@jr+I ~Gh@*.h,FB{dק1b%=S%%߷AI. ן%zsx#:x%s:^ xi ,ÿ NrNp'}U;?.08n:q{uP.m?d{ow;:ԓkzO2V0+_m#mdh09J+Y`+9DPxݕ06VpOp!1Ѐwl$~(RAzP 3^F+&.M#kK|bdY{򹃈x>AJO *b*jCmѫsT1sV }cya;/Ϊs`ETJ_1X*3߈`x#u7VJ`YrכzH ~m%Tmҟ ה9qI<~M>)%t$=RI(b*3ҋʍ"}E؟S)ɓ 2ޯx~ٛIB^3|mpTkAbYN2RIj$pCV{DJ]~ҜȀ.ĵL wqCnFMINOκ\@!4OIUǵ%[eie2) eM;!MgVQ7? rz&w`aϫ+!5.)JY{Ʉ@tfOY Ӗg@Ź^| U3FQ{-S2ߢppms[3hSN㪉RVw$ 9܈O I W>8-zą=c0RcPخ*Ż_}[@`q GX:.MQk1MUOBD.v׵E~P-sm_W~-X.}qnd,K! a0o9c#TyNeZIhP.y^ch|h}˲>xwMWQ+%ߴvWܾm`Z .3~G8SW„bw͆t.Nb݇^vN > ƚM36Bz-2uϩbYS&HoQP ڢ';6JO&#,]PZ;ޏ_n48҅T6"f٪gDlMyZ$$&RGz,4Lz~kLҽ7ɏߑ4bח@XG}r6-HKc lwyn6aooGOaڲWQPKt/ڑ xJROB\ƅ$?#XJPm!@1?~4Z{VVz0,jte#;1ꉅ f&~<EfrD&wJ걛"1,1t`fwJV1 5XﷄI=fEh7#M[zxeȌɰYmѻɑ< &e!= C6.N0\3}q[:3m+Y XB!9U^֥ Sa)C.Ԗ~ixۼcFsv>*T rp3 tԍmK95a(AAbMmT$+y-nOte)'c8ўOHI(Q So_{׈ןv ]IC12"2`Ywrl'tGLlQ0@ɧ }F#Ki:"4*uz6y=oqI -Uv{?yGh#ӣBdUDF1^乪+V;_Z6*z-0])/!N[Eʦ<Ⱡ됝~(˩jlcGu|oqR3ora]8Ȃ0Ui;U:Ӑ*&{?wD3(5.e;6dmH#ŰwͿs/&pbO7++׽qMW wչ NGz-:-QEp.P|=EOǂJ@T-쑤1/pYwz)BF@[`©4 X?SsTL@ M ̩Sɩ}=С{Yhe% >3jȊN}L GВxM}vH yl Hl26 `j"@(۞!O g T>Fi3L")cThnG`qtbCwʯa}! gDh{оcum{Uuٹ4cC욏,-@y=AdJ^?jY0J26!|q/?X:>6>JŹLӶ15|A%_"G_Jr* ;Ss-Aã~7]vF@ I#ë!Vv簗SNui5bo-H/*7h+4QF[]6%概KNW>8;R̚A ոɜN31V-Ɨ@ELVQT# N*&8i7zjDRf$`h9FfSK@LiH F> xs AIȗ5 5x V)l0){QRA#1u%N^̅'yS'TtfWSTUW8^:|c3E^^?EZaĎ5ePhq?=9dgPwb</[QC?_&tjK1bC+#~㻵E?C^Xfif06| sN]w},v*4eOZKNZ \{zn*8CTvH̱MʒP N2v;_z UeouYrGɟzLfƋs({nmOKr4dF XSI'$IG4ѯ2YS .]ZڞacvMe2#\ #JL'Պ铛%m QIxQmϗ^/Wtn0XW5fIA@;}Y*l 7@ܐ^Lu‹&bY>'kz[]^@Bb}RqoRҤ͐q+ }m>޻sW[_3W&G'QFEEXmY벋f$M˄e$6"B$Ca$~Cy*8j)4WuX~ֶ>!\t L %캾Q[(\AQ C B$_̝&ևdOxo'7F9㨟f@!$$!c˟tTӟV NQ)z[OmS5g\Q1IVjJE:Ys9z? bY)A/n}PgNAA3qTɓ[zVX08 JgkuCBiSQj}E ):'}~J:oǜZwX%΋ȗ7vR CÏSp䌯*z0$E;.'I)-Ԓ2\8 ,=1gO_#"{(2Af|I ׉x[-#ޤ XSd:T?+x)G%&Aq5 V_1 \Ycfg}v!JdEAGD0e7 QmAD y϶"ꪳ 6?+J,XwTkl(Tߐ},{neN/\ ) KCB#(u!m0qͪ1:3\ "D ,Нo@~6UlgG$}=iY\,MES~c}+;Ornr1,Xqi)~y;j:!D7taMTny 59.pwQ}jBX^eۢ[ 0!ǶGLgNrm7)#ii/>z풠*.O3ȚcfQ{Al=V~(}ɓ~t.jRq6f@uWc3`7P}&k]N;$̨'J5KBȊQo?)& әS Xήԓpb r߾-H#X4cq=D@ɴS|7B<>ƧzKT_މ!̗4\b">~(潍̦>=GQ)o ™u@V0bȢ ?jg8~m)y-\pĽʢu]dݛq쬡+i9Y_HmQ 9YØU>߬i]lQ?Odo5 &t#/O^.uX³e0hrDy_(g3.ƷїܪY7zǎ8\(i8iZ7VH.U27+׆PlLuBc:'U1)Պ?zo 7'k:6j=hL(/`=߱ v1%,JLkGENu<1:xcSd}ZDdwr'2:$KĨ K]"Qz$9Y s`heFa=: U;`n8ƾ.Q9ARֳEJk'ou4jl97Xyj8@l?Ð6'B1Л[DI&f oEj8@QSL кi 69ZU+V|wtEH"&.h%9 9ȏ`(ؾ>}j.w.ga;'(tj9Ii[s>HY|l.P5$MmD@)4*N9O}ޮ7ZN&NEY^Te;cv{yfIڛ:S2()nd{/@Cqfx>@{ib}UQ򺪨΂ :>n^5R|GUG׆9K; j"*;}nq]RDEsDAy-o:+X4kޒ7'1;B—BbB׃2gܦiJ* Veϗ\smtbαߗuʥ}Pό5&I #<}%[v>RcgŞLgRMQ]iN1/W]hlVeP[^ v?/IR׌=He=)ܜ/ )I%6쑟e|U*tE!&ؚ}ONnhTH#{`9sIHPk>usWG!VQs V[X N`{X) 6Zt%*0P' իɘnV}Q/$K 71mfgʒ|度iP[AĎB,IL"4xMCD7_iIPQoTGE~m$؋m6WB*0>GY3LJ/eHu/ChzNÂ#\Uѻ)BW$pu;Vr4Ts%)7IF! piLͿ!yw'.qZDife;_R 7>w@&'#:H:~6:O_`K:f.qŵ4Av(H|tmkWoR o_" mZy(%^"Iq$PShJOҤkv.}7}k*`ؖZkX}JQRm O(c4$:7OWF$h=+y@$e$\ZT{nVJ~[i?rjE T_Bt2@X30w:Bb:sKU#'|z JQXl{4/ a. QqYQյSY#KtJ'" EP(c@mus.J Gx/CeHi~$N$;D 0PS4+S$$qs =$C{#鹵Len$ҋg/_m .?W 8zaDe'mEo8i$DG`/p.mLde)ݝ|= #"17k E pir=*pj.dܚ\RFBS:LxE$yQSxn ftV]" &@nni>q#dDU|M< 5;s>\p&.5&3?wX-g981(#i+V 35<8D7S\3C<2G2ŋiju#g̊G@0FIDa ה!,{boM<˳ƻ4]xkO|ڿ$a_ҮēDQ^% Mc5kޒCVG( ܷN:LC#n{NROO0 cwyG:CU6vv+y5 |#^o/^S" ,NU)Mo!&y;i  OcsԵ)woB]髓&6{s07{#a%hbpkbWnAX缈.:IQ7:73gu؛qM䩲uKH 'k}y:J$O>.ћ;`Z*%ߐ^k)9%5tG4Jz,Js >QYVg;5{@]0a#ےRVtaojq T곘t<ƔKZYXB!G Pjz̒2wIDyInS7Mk܆Lڧɲm v]ün_W&'̋v̸N^ߵ_5I*Z9“ۭauwt7u=WP,fikV &j9u^b],h"/ NL<]W; ZIGATvX,+j4AFZu; ABtN1ZRԏ Igg߱!g_cK1Ӄ7ufcbO/^~a'WFYN) 9[ܕWȵ?}1\Q(cܭX/g{(0ti~x+ [5:@FF[a*;?,F&#!U)5 ;%O2N J  ՕJhw܎K_W`<@O2y? Y+y/^O 1 M#q :ʖ(4|o#cccd%dEdobOUIddaɶ1%Nl soމEƳ.AJm0ʊ4LfH"ыF O.XX)KFOhuvLiL KxŌ~hֲ(5i~--8?#L1K=Tu{ovjN/ȸzuu8= /˘`56x e&N㪅fH܄Pp[d{O;@+B|Ĉ|CJy1I%Bf"T .]+a뉻DAAן(ZM/|ozN&"e] }ДxVB mt^B(7 ٵ*l%6f{!xβ8ij/Ɓ Wkl!{/'EbF "AM$DYLMlz=M.50ٿʾJ.pRkf %CWѿXj) H `A3|g;h RtзFV-f/Fv/ |#,'eh'vB1~M≇PC11OCVsjpԤ!^-}p5aVBL:&qX1}G5/kв"'Jc{VdJ3D,/T'4OzqIb+xkUMua1MBnsk)24O@4""Z*f z)a/DqQfH5OJO>Uh`kzd!Z1\ FATh,O+[/n"T#/i#=7^&tTΙ +VS񸋜Y%)ϓJ8X <Ma?築)UFs2oI8Hȟ̀I>"( 8TH0d,H,HH"D!# <] $' u/}0gHW oxH]:"Gp4<(qyҌ_]#th%Cox({Qj`f0 ?t3'e"\r^E(^r#\ :_#,_2|P/җ\{d L/MEuP(Er/I2P/,~A|;{o2MyƆ3B"@0x`3b 2^C àY) ce37'PG;eK6FSrEY0Ůs.fӹ^Bw.]K΋h`re߶i3౿]6@VzKzjmx8? 7QfWT ]`jD&O(Q\'eƁuHiYN^*8o8gܼ hTyfD3ƼJKb@yXƤzE-X2/+Z2/}Qu^3<;dV;11f֎t>х"@0.5Vx5\-2\/ky<Ì9ܰ\wS""+[Pq7d6ÃM@o6.O@4֚g}4]v΋ATc4ǡL ]ڳcf3]4fVOhBf΋js}z^?S- tW[X.Ywx0g3}G\\xpsxg`~3!^x˿Mg,J~70L>ŃӏGI yaܛxW3:/5fͼ 6*\/x_rFiV;2?El 4"s^NTl/F^ns: _Ov7P(Ҕ+e {[czN3J?|j<]'zS9/x9<ӔfŅHVj-XfG{9/" C@)odŷ"Na<:/6V-0a༢ЋJaݟ28墅m'-<ߔĝ%^>-A Ol[V=/8xt"4.¹&BhBF\#7*Rӳ&WJK(G[kfEj S VK ˙.=5[0-"̘ㅒe,$13G*0 HK@"K!΂`#Fg Bv HePB&S^+#M-fGe^h-,ecngnzU82#<^C2-,Te%dw*4K\#qds.>wu\`\$.xKTXۢY"z,/j g6/Cyuh.O_^P3.hѭ cDyS$ nODtu#<Ǡ,9ޗ1p߿p/N&Sviťu\|Ṷ l^c6۶ aLu^P" X^*`Vָx| x J xx<#0p]&*J \TϠqX6.&GDg-*U|d:UƬD9- X/Jf!佰ԟgY6y# C=w專HD:z$kR/Hz;5,1{3q3q!g$¡ GK8HxBO$ZO$tMIԞ"BmN5 &L@H[hd>DŽ~D 4$"O&&&&'R뉕 لķ 6DĽ 6LO"&P8HVig=޸(4gCV5//zTV,%Pd}(y%=+Ha;tp ]js؛sg't9xܧ;'muKᱵ桼b܍{"zgTz72gF=98V4M{}{О?ӓ36{R;w%tP,z?fJ& c4'%1]$41XY=O= c"4y )Yޟ؟'A'w~1{«g'ԌQrDC޽PoC)_H74IaQk~ 6׬lcl4 H2>O<-3y<'|>/8(L{_sfЖ {$LM!DT"۲&tJ;`9{(S㏟2Hf0r¥X+b@͠U_|`Y`{e9{yf#%3 <9{^\jW]LٖF,E2-m?tXk ֮!v?{ 4I@x! `/`q-FJROqS(ޗЭsWrY!zL¹7v~ldYT6Ǩȝ*Qs55ϛU*ЃϊU3 L4@E!W*;6Ye=omij"4-[^H7ا$iXު_dc98Նmɨ<8\|ž5KWW.cp7Z-{jswZx@6 UC5 RBij5mM7N:`vwmh=YpsUcN=*~'r(Y+mKnuZV|R.F/5V3߆%g uNQ HIF\lãthaٶs_:%5C-OdLD ̍jI#i xٷ 8hW84kYuKhtg#J{b1hE}q0?aFK&/L3{QkծmZӺяgffZMUƋ?irQ[p9c' s%RGny]Xn_8bkYދmC5WR\QѸzneaX^[Ʒ.{Qzo㸴V5a  bS2ؿt}P{0 f3v 0 f3` ؘ3`r0`3`f0 ̀f0 3 vf0 3`؁ 3`0r3``0 f0 f3v 0 f3` ؘ3`r0`3`f0 ̀n0M4`3```6U`4Uꛔ͚so7ߌnͪ^?Tvtt7Weܫtyy4[]( ;~L<n6#C<ֶa3*Swc翇U_aC>V_cǝ*E2U6#3!jyn>շ6oڇX*,}6YZўt}6UY%'`yPZvʼ~%Ac`쉔v3(ҬHjzUaLZ5_I]Yi՛7KtW ^J݃J^meJ܃kW+mWUՄՁlPpp|VBσ^}NVʕ,V-YYe?;nTrflUǫWj3Uvl09|hڡ(rB@!A?x0Br!@A8v(ΐȁ9P=@(ȁ9P}P@H(ȁ5}*8Br!@JW+_( {N5U?ph@0-m53L3Q5o86Uk>gٚY>nͳ}ܬ FlouBU¿o>/Ysۛ>vnpV}J~+^k3}=ػl[.eoTaWʾ`϶<Ó_7x@fJuq0B~h?r=ƺC Zg?v3O~!7cjfr V:'ǮJi,xZ@̾] =q"U-!{C2wxhCjNtb|b{Kf9UΣCY|53-Ije~1~;Y,=TU fkxa4qd2hy9ݝE{LTs*::JnM<^X^g ߯-FUzr=_8RCiۥ~XLgҫKN㦯 oLEfV+p5GS+ z4MR#qp͙;; qVҵNCbY{R9k#W,بcvלRr=.5fIk6WPEcӛ$Se|3f#̋RaS`zt?SٙzӲ9eC٪9xCnCcwٛUy˯ V~5}ToP]eŪ=7ͨ[|?ńA+Pf0 ?[P**Uv!@F[|CP܌X!mŢ'#سrZl'* p,QrNRM(hЬf~Rd=3"t.9ؒcoC!'9 q62(H H *^ `SCqu.EzTqFlO[Wz3{[^ȗ7>> گ[9r;N3wV7WPTs?b,& $k?!5 ikoi_:^FGR@-AH'D@;I @NIGd-/c='a.[H"6ܓK=c7okNٺ7 }Օ)j%+aˡ1eIj:^@q{u‹N>'LJXUR= 9=O$ɯJxz,I㹕x2doTEV:M.jm+()wMt])W t%Wv/^#& `kk"陸˥M`jݹ7pKs%$Wګ)D*(PЕR\j\/oxD1̄EKU_T&jZay[aJX|c$LUԀqHW޿k\m,E|J= ~V{^)(uhk~VӤ2"\~7OOOF5M`u5S(pBʑS(5_n2lm% ),e礬.okQejyAܔJ>m[miv{^ѷ݊f1^ m;&ѪߥzMVj(LyBķ1ܳ](mQڦWJs*;x$x~ϵʜyq]M`(rRjWB ,\M–{.JrZM_ØqE7x]ԓ)$!8B2^sk%Sm%\or3.Q&ѐ訪_"E.9*F5ڭƓ_׈gn5jHENOEùdc_Gdhy&7Y\A[TƘ jՠJm3TZkx+q5+/][$Z£,+zNF#9d~t9_j+m$ )`Cxҭ)x|̊zFЍF-)e>#ʱF( +Vp&r#rE4)׭sFzޫoi6~""X\fTE{(0`z) 5-RDG(w}ցۗHZ ^D_'Lc,K`  {RWPrj m;r.pM?h0WMiGs2a.Jy5g#eVوkQAlv˃f~'!bP#5?sX|U'P L%KNqc_/Ys*d?%+F P#SX8ED=Q#/%y.+T/L$e~OmWeR~l``73dNnƟs,֦yĤ oN~p`$?H7B(4CjsSC͔hHϲC:aD5>=KJ3y)'SLln{dwax^>%Pdh[Ith];_/"k&:fkWO4mjn9^DYj 6W}=3˙nGmwmW[];ʳ,ngqk.\I>u-ѯeml̽9kD=wnř?Δ0Y'e1I }g*+&9/u];(|h^]+=L H?M+Y(]tQf5#zo׎j]^mg8EX8,79dd ~ȳ> hf_-'O}gé@~8'K Ȳ_D>FJHgbWi ɪC_6ճ 1O'*KJ*&&K WC5y.xKt'Q+6dO1l}Ξzmo*N2^?[ [bEܳ{[nK:.pd̦b43^.caa\KS YG)ցPJhn|1wЛ2XtrU\JɼAYVa.s j8|OrNbЄV쥍IwU @EDlhAIKTrmgKI_ ed-^Wjx0 P'~ʂS_/ӷZW|zqksuaolWC˧hlʼ<,>2(FG$֜$ҡ[c'2˺pO7^#NթVE7{bVuxFwIJjnҍ CHb1kp-#u(:ԁwI:zI8r9iyWZSĺUKQ:$XRnǓC(CkFYAGV*S.)v&t,m%z6J|fKqDyvhmWݕF;]d6o-fWܸYSQdϓ1 ZZ`{CBz_R9.Zje;`jTj?ͮrO⦔"jc56_o[?†,,*Jtxꬵ&2OV)ȕRo<ש8*%Ŝ)+H'\.Og0=Z87ւ.h9_;ѡhb%v&'l wLkG)(()_SԔUR;c0=\p[*+ЀFx^)-f \1?:W0l=\X`tOJ *U*%-I%!ݷ{OU>IS;)*͒1_3$QBn|$Z SFUcj5E*rm+͛~L1W>֬n #;?]$y8K!L5ZOt"g>!o#ֈ>:E"?ꯕ“Eou)1fHQ}9ƣ*v|x&S~anZ%/X )ζ9!N|7gB._z)V܆0:N@Ɣ"|RsN#(rTBgM!Sq9K(}fprs?JԮq=} ,jxάg=gօNذF4TtMIa+S+FsTmhsCԮ$ "rd7.&< 9`s|Q}C[Et9/9vs#=V \.07QpA,>0̭c˙sYޏ]1;fsOJ-Av0YwF>g,#.۰Z <sQ6 )Ѡdo"rY Oqqڪ8SW;!kˍZ,H͍ R}4RY$0Yrr`J^K}{}(NB&~ &g q@~d'V8=uL+iFĨ}/ ъ+=\#!S%3ZY*l@JZJJ9`܃+XK6&$)_ڣ-IN{T!> +=7ԫjpLbiO1J[+8a@Z@0_m͞YT"'_2JPcFǧ+a:0X 3Wisy$pQvUR&~Ի_\{q+m. rT(cmSzR~CipV [X-ߠ5+蘼`7RϠ0hSL9kkTwҳ6+~A3,⼶^ 4By^KZ՛qFVj. .NvȚm?x <lwp5&πRLwI_i\Tgn͠IUφ *!|oB7a^)]É6܀w0d`JAٍoBi۱N,JI 8瓒.o|bTlY}_Pyx伏N@T++񉎅~ѠJ#d x=5ؔ¶1p&jĀ;,\LLlDb?m:D,6=>K'L'&S 9?ы:& Ni}&ݐs :'o=' !N|dsb 8t(NHBMP+:D1yr؉$s$4uld l:A-9+Q :?Ku|?:[֗p.ޜm }9v4b/q|HxĿM]2Ao`o\W*[|ZclR`IrKT|#pE.rpW6u YX`2SrQn  (lb FIKu1pއ@ kL^9u+?Z|;kzزv7*p@E}&"hΟnH1ǁHPb ,vwPX6O#~1a Bdg s֮Avs}Q]y6c11X6z=x`-nڊ['d\YHT3Mq/1B6Xyuc♁hw7ǃɄ_})/)B|I;{ֱΛ;LCAsΰ9tRx 3iևRV}Vm,&P]qr4xx62p-mY`@ł.OA1[lNby c4t $%3"I `(:DQ-NY7O1 TBu\r8u/eX~YW=0'}`B혌cP/:PH;U;25p32H}C@L/d5 &c\h0/8JFIG Fx 2|× 춂s(Mq`QP篥j e24D4JR@1PpVF[0m.82"qѠ'Br31"Z|4RQ_מzh0Z A݉q$1A$!ڶ9d5uäXn aqnj#N3JYbg0cWCiњՃ8el ^p^A5Bgv 疲-f\ wiR)eC3m@`G65qrY -^vO}Ӫ}HQʂ7=JV<}a&ڊjC2lo ՃN4-b5re?z*L`@9 Ya!tү4Y* q p&m׷lIf[Y :%+)qq'fT\CF.E1Ah|[;,!JT< mg, }'M`53Md5rly_hŦ4 fSGsYgElqҕ&`%L06`fP껐79P Ò4_m>k` Wp~Z ;w=yg|adpC*zHX|[8qzP dM}l+ЮD៬FQ'[P )Zuw^Nۑ1wX9gcLNfhn0kjY~ $ʼ zdء<3KƒRv0M3_N0@:ܴu)e|</*Gh|ң1s=Lƒs)/tM6ooMal1qi3aM'X6b0al7WIu]j/}Q|@&zms6l{~(1Dp98ј ,:gX$8~zerF MMtݒY;9&өsJ9PܒL>2ttzu'{JÅi 44# |D}`%Bfl{;c;@P>Q%l6NS@`39|;6)Z;LX{=zS*3RdC:PGr0MC81Įc1X@WɃʰ_!y!A6"iC8K xin~NS3Ji ߒU8YqĨjzg`AfZ`ͨ &q?J<*6Len5!Vŗ-t/Ol'sGVczl:4Ft{o8_;Qv>k{!Pp0̆ HCǍO׶: u7|{s2 1{p?SYAQgleoÿ́Xw`Mѻ`r& { [[k5oAO|,%߾}qbyCdu\alB'rzMd{'X2FwތˉColXHzB/vx׏iUXr#(HWZlIr4K8 ̪L0Gq0)xm$CLVtTs`mf{uWM~Əm;6N gW8ǬPHq6>d,#VG|G7Ƌ_fYߎ"Nhgig|_q U7_dcZ]pnǒz,";d:pWF:y5V.?gYqNY8>xN̿t7H#6椬Xށnv`.- 94CӚ+Mga6!VF ,o7HM; ϢQDy¾7C0}!Âp[#:7b#fbߍ{u Ww [Fh(,#U}I蕽umC Es>qPx}8EhP h /mqn?yԆ&X(;NcPu`46iͩ!h fj_xY4MwH{1M:^0ޥl޻%W6!-oYzD-y Du kβ8u0m<㖶,ұ^xz~kedEev gj=_: 6bmL岆M`o%a!͸bȈҏ (Gg_tm K`O`O#>a ; ,z]5 ܫECa=2>s {.G~feӧð^;ouH4iy87.M,β535"9k[7{Ow8 =ճ.H#'3T⭳8WDQt V8-ϸA g6!kSq5g 3ogQ>ҳ*d7nkS<5DfN'/JZ'9TR2?ʮ=qЭg,[J~k'MwV/9i5ޏ/|XR;865麳׽CW× ^lEH[:ǵ*)6W&yB:?3SKx"P6;v2QQ pT{*EL\ކo DwQ]*zzܓUOyʊ*jxclI8+t=u=7#d`2N~ROfQޕW bHޝ>b.4(Ԯ.E ש!Jyh[UFK#)UJ5^6 U,_S>RwbʤNxZz|և.beq|+u(3_|Ծ+ S%8TRM^1(*9"yƇN/cl,tbfNۂ^L,w %+ДUҦL+u;s[l)bv4e ~.1-$'fFRDj;`W(HuoI F?{Yε?W\h8J,:gi_/|~fedf?w=훞'ce_P= # !G-6LF븒ҖU7>KY|/ "Np(=~Џ- {n=4v떠72{7-KNeC3w7,,rg<-j&2g6Mc6]?vnlh)_5P7 (t]cZ8(hGwJ{{G)َUE^h =! 22&@캰?>7 u JvHȽxOo|"~O(N7NX)$2K;9O]?<1B?QWN /5'O'-tL' Ay_v/K | ^?kE_ch6` 󅗿9&|BB-xz/ =":|_vwoO'C ,'7Vkz~qgW[D>'D uO} e&6^{GUG^ #:0  ńP-y C0"d"Dh[py߱X+:{JL,DY (xQPt U)iaC1lx-^13͎*p >B»ׯ<x0g *H X0T1 0 +0h +7Z0X03 +70% <<<Obsolete>>>0!0 +_j_z7-Gu$bӠ10`0L .P\0 +0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority0 070822223102Z 120825070000Z0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Code Signing PCA0"0  *H 0 y}]E941%5IwEqFԌkLRbMIl/$>e# HuEP%+ #A$bEJͳ/"J-|o;99ݽ)f;-2'Hlc\򸔣8P'N0==l9.4. }bxfs Oc,2EJ;PSfQyV>Pn5{$Rf=N+~3nGўJnS00U% 0 +0U0[pir#Q~Mˡr0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority<<>c@0U00Uvp[NQD.Dc0 U0 +{~J&μNtX't*uLxMi|CʇSŸVocDDȚ  )}s9=j8m҈#i 4|.)Bk(q8 ]hͽAkf4|zB{ p֒O8|-=4 b7j#\cZ9`U3; _,˫ 0  *RA^0(ip΀Brv0z0b a'0  *H 0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Code Signing PCA0 081022212455Z 100122213455Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1 0 U MOPR10UMicrosoft Corporation0"0  *H 0 rt`\6=z)F"SF:[ WLwGpgt'g׊D0ɺ:VDO h$WN!7,/B!(Wz)6͞U̻"# )Z>c=,I {yqCZ㣳 U% ^3-(WUj 2Dflo8ݘ<iyNF์um-BQZxE.|+]a(C jB2)"00U% 0 +0U#s*L!qĦ0U0U#0vp[NQD.Dc0DU=0;09753http://crl.microsoft.com/pki/crl/products/CSPCA.crl0H+<0:08+0,http://www.microsoft.com/pki/certs/CSPCA.crt0  *H C)clsmÙm ;Hsz%,7{4#ξ\ykQ cr}Q*(* q)V /e-mME)VrO?jAby\w(.ǜ+* z^S`Owq`[9ӫEQt#'5—`'+ˎς רMC@uw\kdgT!EJhT^\gx\$ prpŸ00j O%EXzg0  *H 0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority0 060916010447Z 190915070000Z0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA0"0  *H 0 7nBJqH>S,2ORȃ>3I1(dPKuǨծipfx'f趷 Y")/@VvmdmJT޿ǀL7VhGv\/}%V[jc|<%M9wt]\؆7,u9 |vlnz>q_*Ob`2҃N+"\hE/Pl%ׅvs6ƕz`3[AXn,HoCj&k(0$0U% 0 +0U0[pir#Q~Mˡr0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority<<>c@0 +70UoN?4K;AC0 +7  SubCA0 U0U00  *H M1|PapEsT? -QS9V ތ;ɷQ!oi~k"Flm|"Fӄ6~p]Eݎ*|ɮ2Շc6!v;s!شTeJ(&`;exHϭ:ObX099!dcC/{FeJtn ̝(a|H!8Ŗ2@S=f7"̰wTQ:rD#00 a00  *H 0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA0 080725190115Z 130725191115Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1 0 U MOPR1'0%U nCipher DSE ESN:85D3-305C-5BCF1%0#UMicrosoft Time-Stamp Service0"0  *H 0 -g%&bK08e46$h{b,FKQ4lZ;G=.5kE<fiJ',gbT'9هN`G#{'@ 15 ӋxaŵA>6X':ڽ]L<User-Mode Driver Framework 1.9http://www.microsoft.com0  *H >G ͢{-s5,@GOv YyE!=?WˎZ.BE#[2uU~-QyJ$Nb(N"B\PgOٴ\kS'WT(U'AN1,H刘 \ĠX+KUY=67ܾ4L;W;G $j)h)H *8q7?B/Tz ۘSwn%N̡yKE晘D7!AGl0 *H  1 000y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA a00+]0 *H  1  *H 0 *H  1 090714131810Z0# *H  1o|Hb疩0E} 0  *H mލ#y-a$. -{{ǩ)9 Esb۾NRuCX)i1 9[D(衴p~3MGൾpVr Z5!O68TC)O;@FP( EڴU}NyL[ s6PbĂ{{jLFͷӣ~ N/Mޢf 8XVBuyI84VS_VERSION_INFO@@?StringFileInfor040904B0LCompanyNameMicrosoft CorporationJFileDescriptionWindows Driver Foundation - User-mode Platform Device Update Co-Installerl&FileVersion6.1.7600.16385 (win7_rtm.090713-1255)RInternalNameWUDF_UPDATE_PACKAGE_NAME.LegalCopyright Microsoft Corporation. All rights reserved.bOriginalFilenameWUDF_UPDATE_PACKAGE_NAME.dllj%ProductNameMicrosoft Windows Operating SystemBProductVersion6.1.7600.16385DVarFileInfo$Translation PADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGX1111109::P22^3q3|3333v44444444445@5q55555556 6#6:6A7Z7`7i777&8B8V8\89"9q9999:(:b:q:::::;-;;;<>>&>7>@>F>S>d>m>s>~>>>>>>'?:?H?R?m?????????`0 00$030Q0o000000011N1111H2V2e2222223K3u33334F4Z4p44485B5R5^5p5~55556"6W66666667747B7U7c7|77777777 8+898Q8_8m88889R9b99::':::: ;?;T;Z;`;e;;;;;;;;8<><<<<<>>>p`I0001a1122.2423=3C3L3S3z334444<4O4_4d4i4n4~44444444445)5.595>5\555 666(6>6C6N6Y6`6666666666777!7.747?7K7Y7_7k7q777777777788S8`8f8l8888899999D:T:Z:f:l:|:::::::::::::::; ;;;";);.;3;9;=;C;H;N;S;^;p;{;;;;;;;;;;;;2B>c>i>>>>?(?P?i????@0F0o0000041=1B1H1111 41494?4D4J44455'535@5G5~5556+6666666777 737=7I7R7Z7d7j7p777777777788288l9t9999:::;;;;;;;<===124A4g4Z6888888888X9d99999+:=:::::;T;f;;;;;;;;;;;;;;;;; <<<<)<2<=2>L>[>h>t>>>>>>>>>??;?h?|?????00 00011=1G1P1Y11111 2(2Q2{2222222231373E3X3|3464J44 5m55555555626y6~6666666O7X7^7788)898k8q8~888888099:o::;W;;;;<<==>>>>>>>?V?a?k?????00000\11122&2A2I2Q2h2222222223/3`3i3u3333333333376E6K6e6j6y6666666666677777%747;7O7V7\7j7q7v77777777>88 9=9c999;;;>D>H>L>P>>>>>>>>?;?m?t?x?|???????????TQ0]0i1112!2_22H33`44\5553788 9#9d99 :T::;w;;4>>5?]0~000000111 2[2222223 333,3S3b3k3z33333464444/5:5]5!6.6999::?:Q:c:u::::::::;;;;;;;; <(>5>A>K>S>^>>>???00}1322J3333333334!4(4,4044484<4@4D44444455,53585<5@5a55555555555*6064686<6 8q8}8899O9e9z999:a:}:::;%;9;G;O;\;z;;;;;;;;;w<<<=>>~?0,0T00011182E2*393344<4A4L4W4^444!5>55555555#6-6K6s666 ::<=$=q======;>F>O>>??9?>?G?U?g?|????0 00'0@0V0^0h0v0000014181@1D1L1P1X1\1d1h1p1t1|11111112202P2l2p2222222 3303L3P3p33333404<4T4X4`4d4l4p44444x000 000 0(0,000<0@0D0L0X0\0`0h0t0x0|00(1\1`122\5d5l5t5|555555555555555556 6074787<7@7D7H7L7P7T7X777778$8084888<8@8H8L8x<==============================>>> >>>>> >$>(>,>0>4>8>H>L>P>T>X>\>`>d>h>l>p>t>x>|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>??? ????? ?$?0?4?8?>>0!0 +}f]d#\ǢJcm00 aI|0  *H 0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA0 060916015522Z 110916020522Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1'0%U nCipher DSE ESN:10D8-5847-CBF81'0%UMicrosoft Timestamping Service0"0  *H 0 cyD>L$9v 2JXx+٥=&|}~2=97;4Ԓ4hrLฅ3 vs5L]J}xBFq'WуO;?aK0U#0oN?4K;AC0DU=0;09753http://crl.microsoft.com/pki/crl/products/tspca.crl0H+<0:08+0,http://www.microsoft.com/pki/certs/tspca.crt0U% 0 +0U0  *H iz F.4z'(A*!_S^)TJ} Mn(E,92o7Z#RT?d86C:> q(f1\]RR\듐i LvL4 j|D+[TE$%ĊF%i)",F^+w>#odb ->IZt9ΣּȭV<*D?}fͲ c @=e2|=&HN"n000j O%EXzg0  *H 0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority0 060916010447Z 190915070000Z0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA0"0  *H 0 7nBJqH>S,2ORȃ>3I1(dPKuǨծipfx'f趷 Y")/@VvmdmJT޿ǀL7VhGv\/}%V[jc|<%M9wt]\؆7,u9 |vlnz>q_*Ob`2҃N+"\hE/Pl%ׅvs6ƕz`3[AXn,HoCj&k(0$0U% 0 +0U0[pir#Q~Mˡr0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority<<>c@0 +70UoN?4K;AC0 +7  SubCA0 U0U00  *H M1|PapEsT? -QS9V ތ;ɷQ!oi~k"Flm|"Fӄ6~p]Eݎ*|ɮ2Շc6!v;s!شTeJ(&`;exHϭ:ObX099!dcC/{FeJtn ̝(a|H!8Ŗ2@S=f7"̰wTQ:rD#00j O:0 +0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority0 051011215520Z 100426070000Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1806U/Microsoft Windows Verification Intermediate PCA0"0  *H 0 DwIրu,W,a/EDsuQf79y5Vy52v;dqec_%mC+o |J^ GJOղ36m1CSs[Y3F\G>Vk^ӸRe,&{3LS8.ed bsܯ0(?! O{BfӦWlr']i25L':_QJuU}G4000U%0+ +7 0U0[pir#Q~Mˡr0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority<<>c@0 +70U[3A BrvWo%Sz0 +7  SubCA0 U0U00 +[hQͻN ' 9\}Gkj5mHB p2 j͠(ÒEIEHuk^92\zc@sk5 j6egz\Yw s_O(Zg7#TТY7ttVbss=VAz&D.f\ )S-c1qʝƹ`갓6Rγ} ;J^+v2&&cX"J/п٦(o=l#NX*Z!8I00p a 0  *H 01 0 UUS10U Washington10URedmond10U Microsoft Corporation1806U/Microsoft Windows Verification Intermediate PCA0 090411055819Z 100426070000Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1 0 U MOPR1.0,U%Microsoft Windows Component Publisher0"0  *H 0 EvM4_יV 1g=;D禽u@6orH*BFEʠ{ȡ @U}@sB˰Z*#*P,;ԈxQ[ñ޷9gwу߮q'HTLAe7giE6 yo!x3nVY" uiғ+KoZ{1e5|Fzfthy<źeF%>f!jc(FjTm 00U%0+ +7 0U=yCFe]+^y0U0U#0[3A BrvWo%Sz0HUA0?0=;97http://crl.microsoft.com/pki/crl/products/WinIntPCA.crl0U+I0G0E+09http://www.microsoft.com/pki/certs/MicrosoftWinIntPCA.crt0U 00 +7/00@+4https://www.microsoft.com/pki/ssl/cps/WindowsPCA.htm0f+0ZXCopyright 1999-2005 Microsoft Corporation.0  *H CYN:?BnyEΊY wYTR+(2G*c"%Nv{رT BMMݜRǢ91ݔ" "` B%ym楮0-(&Ma<User-Mode Driver Framework 1.9http://www.microsoft.com0  *H X;M&LV\9f r즆$(qT>džDD`JzȀi%h!ZOB aRr&NL,uY2"$}[GسK*n~4'\uf\a0w|`I  Г&C]'SWR;X^ME ^饍s?6g&H )\~IM<4Ma^5z*P6Вc) аm(^ 0 *H  1 000y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA aI|0+]0 *H  1  *H 0 *H  1 090714132601Z0# *H  1,7"]Uo0  *H O[ Zdg0k} lrf &!֡84W1 ͓w@2 f# ;_8M+{w" &K%Zt)oF Cѡi&SXC80omjn؝#~$e-HMOkrN@:.Yanb&:Col፡kI+jR&^bF;@׫TPhLsNMUBro+*^MZ@ !L!This program cannot be run in DOS mode. $tv%%%m+%%m:%%% %m-%%m=%%m,%%m7%%%%m*%%m/%%Rich%PEd[J"  0@`pl!`,,.textL `.dataJ@.pdata,`@@.rsrcl!p"@@.reloc*@BFV 0xh0~dP6"~nbRD,p`N>(lV6jN6" (r`xl^TJ>6."D[J0w0EEE00P('8PW700PP (```hhhxppwppGetVersionToBeInstalled: ConvertUlongToDotFormat returned %s GetVersionToBeInstalledBase36: ConvertUlongToVersionStringBase36 returned %s DIF_INSTALLDEVICEFILES DIF_REMOVE DIF_SELECTDEVICE DIF_ASSIGNRESOURCES DIF_PROPERTIES DIF_FIRSTTIMESETUP DIF_FOUNDDEVICE DIF_SELECTCLASSDRIVERS DIF_VALIDATECLASSDRIVERS DIF_INSTALLCLASSDRIVERS DIF_CALCDISKSPACEDIF_DESTROYPRIVATEDATA DIF_VALIDATEDRIVER DIF_MOVEDEVICE DIF_DETECT DIF_INSTALLWIZARD DIF_DESTROYWIZARDDATA DIF_PROPERTYCHANGE DIF_ENABLECLASS DIF_DETECTVERIFY DIF_ALLOW_INSTALL DIF_SELECTBESTCOMPATDRV DIF_REGISTERDEVICEDIF_NEWDEVICEWIZARD_PRESELECT DIF_NEWDEVICEWIZARD_SELECT DIF_NEWDEVICEWIZARD_PREANALYZE DIF_NEWDEVICEWIZARD_POSTANALYZE DIF_NEWDEVICEWIZARD_FINISHINSTALL DIF_INSTALLINTERFACES DIF_DETECTCANCEL DIF_REGISTER_COINSTALLERS DIF_ADDPROPERTYPAGE_ADVANCED DIF_ADDPROPERTYPAGE_BASIC DIF_TROUBLESHOOTER DIF_POWERMESSAGEWAKE Unrecognized DIF_ value %d (0x%X) GetDriverDetailsData: SetupDiGetSelectedDriver: %s GetDriverDetailsData: SetupDiGetDriverInfoDetail: %s WdfGetPathToInfFiles: path %s too long, %s Path to INF files required %d characters, buffer is only %d characters long, error %s Path to INF files: %s Could not extract the path to the INF files Invalid value for SectionName Error getting size of name of install section - %s Error getting name of install section, partial section %s, error %s .WdfError creating complete section name (%s%s) - %s ReadWdfSection: Checking WdfSection [%s] error Section [%s] not found in inf %s. error locating section [%s] in inf %s - %s error Section [%s] is empty. KmdfServiceReadComponents: Error Non-existent wdf section, error %s Please refer to the Kmdf samples/documentation to add the Wdf Section ReadComponents error: SetupGetStringField failed: %s ReadComponents error: KmdfLibraryVersion string too long, max is %d: %s KmdfLibraryVersionReadComponents error: SetupGetStringField for KMDF version failed: %s ReadComponents error: SetupFindFirstLine([%s] %s) failed: %s ReadComponents error: ill-formed KmdfLibraryVersion string %s: too short ReadComponents error: Couldn't parse the KmdfLibraryVersion string. ReadComponents This version only supports 1 component. Neglecting other components ReadComponents: ConvertDotFormatComponentsToUlong returned %s ReadComponents: WdfSection for Driver Service %s using KMDF lib version Major 0x%x, minor 0x%x ReadComponents: Malformed or non-existent Wdf section, zero services found Please refer to the Kmdf samples/documentation for the correct format Read WDF section, section %s is too long, must be %d max Read WDF section, section %s + <arch> + %s is too long, overflow WdfSectionRead Wdf Section From Inf: Could not copy section %s to buffer,too long, error %s Read Wdf Section From Inf: Could not open INF %s Exception(%X) @ %p -- .exr %p; .cxr %p; kb GetCoInstallerName, file path %s is longer than MAX_PATH Get coinstaller name: could not allocate memory for file name Get coinstaller name: Could not copy file name %s to buffer GenerateDriverServiceMarker: GetDriverImageNameFromServiceName failed: %sfor service %s InstallComponents: failed: %s DIF_INSTALLDEVICE: Coinstaller version: %d.%d.%d DIF_INSTALLDEVICE: KMDF in-memory version: %d.%d.%d DIF_INSTALLDEVICE: KMDF on-disk version: %d.%d.%d DIF_INSTALLDEVICE: Reboot is required, because the in-memory KMDF version is older than the coinstaller's version. DIF_INSTALLDEVICE: No need for reboot DIF_INSTALLDEVICE: Update is not required. The on-disk KMDF version is newer than or same as the version of the coinstaller DIF_INSTALLDEVICE: Update is required, because the on-disk KMDF version is older than the coinstaller DIF_INSTALLDEVICE: No need for reboot, because KMDF was not found in the system %s\WDF.cab Could not create buffer %s\wdf.cab, string too small Could not determine current coinstaller's name Extracting WDFCAB_RESOURCE from %s to %s WDFCAB_RESOURCEFailed to extract WDFCAB_RESOURCE for %s to %s Check %s for trusted signature ExtractFiles failed: %s (0x%x) %s has been extracted to %s InstallComponents: ConvertUlongToVersionStringBase36 returned %s InstallComponents: ConstructKMDFFileName returned %s %s\%s.inf component [%d] : %s FAILED: component [%d] : %s\%s.inf too long InstallComponents: KMDF installed successfully InstallComponents: Reboot needed by windows update Final status: %s DIF_INSTALLDEVICE: Pre-Processing DIF_INSTALLDEVICE: Reboot required For the Detected OS (lower than Win 2k ) coinstaller will not install binaries DIF_INSTALLDEVICE: No action taken for NULL driver DIF_INSTALLDEVICE: Post-Processing WdfCoInstaller: EXCEPTION: Invalid Access Buffer too small for fileName, error %s LocalAlloc failed \Microsoft Kernel-Mode Driver Framework Install-v1.9-Win2k-WinXP-Win2k3.exe\Microsoft Kernel-Mode Driver Framework Install-v1.9-Vista.msu\Temp\WdfTemp%s%s%sCreate temp directory, local too small to fit %s, error %s WdfPreDeviceInstallEx: entry For the Detected OS (Win 2k or lower) coinstaller will not install binaries WdfPreDeviceInstall: EXCEPTION: Invalid Access WdfPreDeviceInstall: exit: %s WdfPreDeviceInstall: Reboot required WdfPreDeviceInstall: Installation completed but reboot required (ERROR_SUCCESS_REBOOT_REQUIRED) WdfPreDeviceInstall: entry WdfPostDeviceInstall: entry For the Detected OS (Win 2k or lower) coinstaller will not do a post device install WdfPostDeviceInstall: exit: %s For the Detected OS (Win 2k or lower) coinstaller will not do a pre device remove WdfPreDeviceRemove: entry WdfPreDeviceRemove: exit: %s For the Detected OS (Win 2k or lower) coinstaller will not do a post device remove WdfPostDeviceRemove: entry WdfPostDeviceRemove: exit: %s J\u"F9N`4R 2̯7 `@À,00r+=(׼QZQC1BVerifyMSRoot: exit: %s Error: %s when verifying trust for %s Digital Signatures on file %s are not trusted: Error %s CheckWinTrust(%s) returns S_OK VerifyFileTrust: exit: %s, %s error: ERROR_BUFFER_OVERFLOW on line %d CABINET.DLLDllGetVersionExtractURLMON.DLLWdfCoInstaller: [%02d/%02d/%04d %02d:%02d.%02d.%03d] <no error text>status(%X) %serror(%d) %sStringCchPrint failedfile: %s, time-stamp: [%02d/%02d/%04d %02d:%02d.%02d.%03d], size: %u bytes *%s\%sCreate temp directory, local too small to fit %s%s, error %s Could not create tmp directory %s, error %s Extract resources: could not get module handle, error %s Extract resources: could not find resources %s, error %s Extract resources: could not load resources %s, error %s Extract resources: could not lock resources %s, error %s Extract resources: could not create file %s, error %s Extract resources: could not write file %s, 0x%x bytes in length, 0x%x written, error %s System\CurrentControlSet\ServicesGetServiceKeyHandle: RegOpenKeyEx(HKEY_LOCAL_MACHINE\%s) GetServiceKeyHandle failed: %s GetServiceKeyHandle: RegOpenKeyEx(HKEY_LOCAL_MACHINE\%s\%s) SetupOpenInfFile failed: InfFileName %s, error: %s WdfCloseInfFile: invalid handle %p /quiet /norestart /o /ER%windir%\system32\wusa.exeCould not expland %s /quiet /norestart"%s"%sBuffer too small for applicationParameters, %s %s %sBuffer too small for lpCommandLine, %s Invoking "%s". InvokeExe Create process failed : %s The package was already installed in the system The update process returned error code :%s. For additional information please look at the log file %%windir%%\Wdf01009Inst.log The "Windows Update" service is disabled. It has to be enabled for the installation to succeed. For additional information please look at the log files %%windir%%\windowsupdate.log and %%windir%%\Logs\CBS\CBS.log The package was installed successfully: %s. System\CurrentControlSet\Services\wdfldrDoNotDeleteServiceDeleteWdfLdrService: Could not open handle to the SCM wdfldrDeleteWdfLdrService: WdfLdr service could not be opened DeleteWdfLdrService: WdfLdr Service deletion failed DeleteWdfLdrService: WdfLdr Service deletion succeeded CheckServiceInUse: Invalid argument CheckServiceInUse: Could not open handle to the SCM CheckServiceInUse: %s service could not be opened CheckServiceInUse: %s service could not be queried Service %s is running srclient.dllSystem restore is not supported. No system restore point will be set SRSetRestorePointWSRSetRestorePointW was not found. No system restore point will be set KMDFSetFakeSystemRestorePoint: Error setting restore point description SetFakeSystemRestorePoint: Problem initializing restore point SetFakeSystemRestorePoint: Problem finalizing restore point %s.%s%s0%s00%sConvertUlongToVersionString: Failed %s GetLatestInstalledVersion could not construct KMDF file name, error %s GetLatestInstalledVersion: KMDF was not previously installed in the system KMDF_VERSION_RC error %s GetLatestInstalledVersion: Error finding %S resource Parameters%s\%s\%sGetInMemoryVersionUlong: Cannot create string(HKEY_LOCAL_MACHINE\%s\%s\%s) GetInMemoryVersionUlong: No information about in-memory KMDF version MajorVersionGetInMemoryVersionUlong: Problem reading Major Version. Returning 0.0.0 MinorVersionGetInMemoryVersionUlong: Problem reading Minor Version. Returning 0.0.0 BuildNumberGetInMemoryVersionUlong: Problem reading Build Number. Returning 0.0.0 GetInMemoryVersionUlong: Invalid argumentsGetInMemoryVersionUlong: GetMajorVersionFromVersionStringBase36 returned %s 000wdfSystem\CurrentControlSet\ControlGetControlKey: RegOpenKeyEx(HKEY_LOCAL_MACHINE\%s) GetControlKey failed: %s Wdf\Kmdf\KmdfLibrary\VersionsGetControlKey: RegOpenKeyEx(HKEY_LOCAL_MACHINE\%s\%s) failed: %s GetWdfMajorVersionControlKey: GetVersionToBeInstalled returned %s GetWdfMajorVersionControlKey installVersion %s majorVersion %s RegCreateKeyEx failed: %s Parameter MajorVersion was NULL Could not get major version from string %s (too long), error %s Could not get major version from string (empty), error %s Could not find a dot or found an invalid character in version string %s, error %s Major string %s too long to fit in buffer (max size is %d), error %s GetDriverImageNameFromServiceName : failed error: %s GetDriverImageNameFromServiceName : GetServiceKeyHandle failed error: %s serviceName %s ImagePathGetDriverImageNameFromServiceName : RegQueryValueEx failed error: %s serviceName %s length %x SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Wdf%s%sArpEntryPresent: RegOpenKeyEx(HKEY_LOCAL_MACHINE\%s) wasn't found so we will assume the package was removed: %s ServiceNotPresent: Could not open handle to the SCM ServiceNotPresent: %s service could not be opened GetWindowsDirectory: returned error %s \system32\drivers\Could not construct path to drivers folder, path too long KMDF control key was not found Invalid value for ServiceNameLength ServiceCould not find service name value Wdf01000Using default name for KMDF service: %s .sysSetDriverServicesCoinstallerVersionValue: GetVersionToBeInstalled returned %s DriverServicesSetDriverServicesCoinstallerVersionValue installVersion %s RegCreateKeyEx: %s SetDriverServicesCoinstallerVersionValue: RegSetValueEx(%s) value %s SetDriverServicesCoinstallerVersionValue failed: %s SetDriverServicesCoinstallerVersionValue: RegFlushKey failed: %s SetCoinstallerVersion: GetServiceKeyHandle failed: for service %s Parameters\WdfSetCoinstallerVersion: RegCreateKeyEx failed: %s for key %s SetCoinstallerVersion: GetVersionToBeInstalled returned %s SetCoinstallerVersion: RegSetValueEx(%s) failed %s value %s BootApplication: GetStartType error %s Driver Service name %s BootApplication: startType %x driver service name %s BootApplication: SetServiceVersionBootType returned %s WdfLoadGroupDoBootStuff: ConfigureServiceSettings returned %s DoBootStuff: DecideLoadOrderDisposition returned %s DoBootStuff: CheckInsertIntoGroupOrderList returned %s System\CurrentControlSet\Control\GroupOrderListCheckInsertIntoGroupOrderList: RegSetValueEx(%s) value[0] %x value[1] %x CheckInsertIntoGroupOrderList failed: %s SetServiceValue: RegFlushKey failed: %s System\CurrentControlSet\Control\ServiceGroupOrderlistBootApplication: could not open service control manager, error %s BootApplication: could not open service %s, error %s GetStartType: could not allocate memory QueryServiceConfig for GetStartType failed, error %s ConfigureServiceSettingsInRegistry: Invalid Parameter ConfigureServiceSettingsInRegistry: RegOpenKeyEx(HKEY_LOCAL_MACHINE\%s) ConfigureServiceSettingsInRegistry failed: %s ConfigureServiceSettingsInRegistry: RegOpenKeyEx(HKEY_LOCAL_MACHINE\%s\%s) StartConfigureServiceSettingsInRegistry: RegSetValueEx(%s) value %d GroupConfigureServiceSettingsInRegistry: RegQueryValueEx(%s) value %s ConfigureServiceSettings: OpenService Servicename %s, error %s ConfigureServiceSettings: LocalAlloc failed, error %s ConfigureServiceSettings: QueryServiceConfig failed, error %s ConfigureServiceSettings: QueryServiceConfig returned invalid information QueryServiceConfig failed CreateMarkerFile: GetVersionToBeInstalledBase36 returned error %s CreateMarkerFile: GenerateKmdfMarkerFileName returned error %s CreateMarkerFile: Error - BinaryName was NULL CreateMarkerFile: GenerateDriverMarkerFileName returned error %s CreateMarkerFile: Unknown Marker file type WdfKernelMsft%s_%s_%s_%s.%sCriticalCoinstallerMsftWdf%s_%s_%s_%s_%s.%sRSDSs0[HJ>dWdfCoInstaller01009.pdbE3EI;t HvAWE;|HEI;t2AL+L+II;tAfA;t fHHuI;u HAzfDAH\$H|$L3ILٺWDL;t IvDD;|*IDL;tf99t HHuH;tML+DLD;|RIK CDI+t6HI+H+NL;t f;tHfIHH;uH;u HAzf9H\$H|$ALD$LL$ SUVWH(3HH;t HvW;|,HzLL$hH;| HH;wu zf,~H(_^][H\$Hl$WH`HH3HD$P3HH;tff) DE HT$@ ԎDE HT$0L\$0LL$@LUHL\$ ;}*]oH "SbZ(H G(o;tc(H H((HL$PH3IeL\$`I[Ik I_̸;uH H(уH6 +t|+I+td+tT+tD+t4+t$+t;H \H H H H H H DH H 4 ty+td+tT+tD+t4+t$+t;7H FH vH ֐jH ^H RH RFH :H .H "tz+tetT+tD+t4+t$+t;H H ԑH H TH H H H H tste+tS+tF+t9+t,t;tH ϓD%KH =H U4H +H ˒"H H YH H ϑ6%H(H\$Ht$ WH`HcH3H$PLD$0HH3D$0 u+ȋ6%H cOH!\$(0L LD$0HHωD$ u'؃zu3$H H$H$PH3aL$`I[ Is(I_LI[IkIs WH03AHHH;Z;RfICI[HE3E3IC;u#8ȋC$H 0H$HD$HH׏DLHH\$(HD$ ^;u*ȋ#HH ML#LɕHHz;}*z#LH HLu#H H-#HHu<b=uLHH 0qP#LH v;u'H H#WH ӓW"Hl$PHt$XH\$@H0_H\$UVWATAUAVAWH H΅H3H$LL$8L3!?HLE3(u)!ȋ"H pHX"H5PHEEHL$8AMiM|HD$4MHD$ APHD$4LD$pAQHL$8HD$ u|$4LL$PLӗHT$pIUHd$ LHL$PA,H3H=]fHHHHT$0H >HHL$0~H !D$0H H IT33D$0u|Ft_;t+3u'DNDH yI AHD%`LD$8HHL$8!@H u W H HGH }`ȋk LPH LH& X6ȋA H N8 , H yLȋ H HHt Hƃ=guH . H$H3\H$pH A_A^A]A\_^]H\$Hl$VWATH 3H-5LL$@DBHHHu,LYH HL-H3HfE3HHɁv!H H LHAL%nHcA;HLMf9\t HA;wvxr% H $ALt=HYHH<HL3_HfD$HH AL9%uH A;H3HHAzfHHA;vH ii;rJչ@HāHI;t"DHH2A;u HHI;t#H|LH rI;t HH 3THl$PH\$HH A\_^@SHPHHH3H$@E3L ˙HD$0I;HHL$0LEʺEL+HI;tA fA;t fHHuI;u HAzE;fD}oH uH\3LL$ HDBՀHu5H ;HL`H ٙHQ HT$0HqH$@H3]YHP[H\$Hl$Ht$WH@HH3H$0H 3HT$ AHfl$ q~H3H|$ HfHHHrHT$ H 3Hc;HDD f8\tf8:t H;wj3HtL HHfHHyH H@KHH;uH 7.HWLH;}H kHH~HHH$0H3$XL$@I[IkIs I_H\$Hl$Ht$ WATAUAVAWHH}H3H$E3LEI;uAWH H{"D DH +VHL$01DL$8DD$4T$0H w2HL$@H/A;\$Ht$Dl$@H DDƋH$ @A;u_H$ (A;tML$0=;t+L$4;t+L$8;t+AA;}-AH H }=;t+;t+ ;t+AA;|&uH na=A;t >A;u H !H zEe&H 0H$A; @|HI;tmHfD8|A;+ȃLVHfA;}doLtH LHbHI|H$H3rUL$I[8Ik@IsHIA_A^A]A\_3H{A;uY#|=u!H3HfHHH;w5H!+{H HLH{II;VLH$L˺;A;} HH oYHI;uH Ɲa tL$H H L$HIH}A;t%L$H SH HzHzH$H$H xH$E33 ȋH$H )LmA;}H$E3E3HD|$(L|$ A;Nj} ȋH >DHSkH$H _LD9=0AMcAHT$xH A])A; HT$PHL$xA-/A;HD$PL6H$L˺HD$ dA;L$H iAEȋx uAA;uCM;uAE;tH jAEQE9}t H ?;57}R E}>y?LD$PH ƞH.H H KHHxH\$Hl$Ht$WHpHwH3H$`H \<3957H 3ۋH!\$PSHiHHL$hrt{H H@3/HHHD$dHlE3HD$@HD$PE3HD$8Hd$0HD$(?d$ ;vHL$PHtxHD$hAE3HD$(HD$ ut,LD$hH HH -H[HL$Put.H vHT$hH LFHL$PHtuHt HuH$AdH21t3H ВLHH$iGHd$XHd$PHT$XHH\$XuHH UHD$`HE3HD$@HD$PE3HD$8Hd$0HD$(?d$ tH|$PtyPHL$hitrH HHL$PHD$hHAAE3D$(HD$ UttA.LL$hHH ?L LH HHt HtHL$PHtt;5R3H$`H3NL$pI[IkIs I_HHXHpWATAUH`IML3x!xT9>fH $tH _ E3II( AE3ҍzruH D;IIiD$0t=uH 3D$0 *D$0AD3ҋuDD3ҍKu &H$wt1=&t*3ɉL$4; sHiH $ˉL$4܋9HH ۚ|$0u3uD&|$0w$t'DIIH nD$0H  |$0L\$`I[(Is0IA]A\_@SUVWHXHrH3H$@AHL$ 3AA&PDƺ3D$ \$$|$(NsDźH=sHL$ LsH$@H3LHX_^][HHXHpL@WATAUH`ILH3xx H Po~DD$4AE3ҍO;uH lwD"H;uW\$0H;>u{IH ؉D$0;AA3ҍJ;uAE3ҍJ;u3H$#؉D$0;t=&D߉\$0=3[B/W\$0$H O \$03H$Dd$4 HH X 9$uD;t1H r 9~tE333r H מR L\$`I[ Is(IA]A\_H\$WH HH `H E3LD$@D\$@D\$DHHD$@D$D H\$0H _@SH H C 3AJE6uH c D$# H HA H [H(3AJEuH @ D$H 3R H H 3H(H(3AJE|uH D$H N 3 H sH 3H(@SHPHnH3HD$@D$ Hu W3LL$ LD$(PHD$(HD$0D$8mu@Y|$  uM3HcH H&HHL$(LL;uL@L;AuD@D;Au3t ƒr3ۋ H +H HL$@H3HHP[LI[WHHmH3H$D3HfACܸIKDBPACkŪACfACACACACACOACACAC9K HL$ 3L%KHL$0d$\HD$ LD$@H$3ɉ\$ H|$(HD$hD$@PD$XD$`D$pDŽ$J؁N؅y H 0LH FHL$x JHt2E3E33HJHtP HJHt HHLD$@H$3D$p]Jyr H HL4 H kHH$H3AFH$Hİ_HHXHhHpHx ATH H3HHtlHtgI3HIHHHtO8tEuA3IHHHH;uHH n3҅…u3HIHHـ;u3H\$0Hl$8Ht$@H|$HH A\@SH E3MDM!B=A< t< t<:u I3A8tIHD8uLcIL;MA< t< t<:tIȋIL;wAB;D…tzIwqE3HI+L+JHtAt HIuMu HAzDEx.Ht$D8tA9:uAH9uAAH ў 3H [H\$Hl$Ht$WATAUAVAWH@@IHLH|HsH ˞}jLHtJHΞHjHt,HL$ D$ D\$,HI|jLHu>I;jH jLHH{HBjLHA@8AjHHHH 3H+HHt t HHuHuHɿzyH HuIHFAՋHsiA΍X}iLHLŋH!FIHAՋ3H^UH I2u=HCHuHFH jHjHGH jHjH_ HH[HuHFHt"u!n !nfIHH0AՋ@IhHnHHmH jHjHuH!nHZh@I5hxDWL\$@I[0Ik8Is@IA_A^A]A\_H\$Hl$Ht$WH@HH@HuH! 3oH3HfHHHHQH;vH!L@gHHt5Hd$8Hd$0DLź3ɉ|$(HD$ kgH vgH#H\$PHl$XHt$`H@_HHXHpWHP3HHP@HXHXHX;|MHT$@H;|H\$0E3E3@HD$(D$ ]HHu#^ȋH tHLY]IH]LL$`IHDH\$ ];u2>^ȋIDL$`H DHHD$ WHt H]Hl$pHt$xH\$hH@A]A\_LI[IsWH0Ic IcHIC HHݗAE3HIC[؅uSHL$XHtIHD$PAE3HHD$ [؅uHL$PHtHFH{H L,HcH HfHL$hVHL$pxVE;HT$X3'L$PA;LˉL$PLI[IsWH0IcICH0A?E3HIC333@UHL$@HH!\$(H!\$ HAE3E3%U33ATHHuH 6iHAHTHHu H H q|HϋaTuOV=0t H ٙH @HL$@Ht^THt H`THt HRTH\$HHt$PH0_H\$Hl$Ht$ WH`33HHuH 933ASHHuH `{kAHHSHHu H @HD$pLD$0A$3HHD$ Su H |$4uH >HHt HhSHt HZSL\$`I[Ik Is(I_H\$Ht$ WHHSH3H$pHAHHL$$3ADD$ Hu1tOE3AQEATLD$ HHTt \$$LD$ HHTH$pH3_-L$I[ Is(I_H\$Hl$VWATH@HSH3H$0H xtA>"t9H 6&HFHL$ HHD$(D$ g;uH CI{RH$0H3+L$@I[ Ik0IA\_^H\$Ht$WH AHH@t 3f;.t)H;s$  St SuH3HH\$0Ht$8H _LI[IkVWATHPHPH3HD$@LE3ICHIKL+AHI;tAfA;t fHHuI;u HzA;fD!}H 4wjoH3H|$ fHHtjH|L HL$ AHHI;tMf8.uGHHH;s;E3HHI;t(>HL$ fD&eRHˉEf>VRE3 HL$@H3)L\$PI[ Ik0IA\_^H\$VWATH`HOH3HD$P3HLH;Of DC$HT$0f\$ f\$0f\$@QH3H|$0LL$0fSHHHHuL;}$GL;} RAL$HT$ A$AQH3H|$ fHHHt`Ht4HtXWLL$ L#HL$@P;}SvnLL$ L HL$@*;}-kHLL$ LHL$@;}`"LD$@H;}34H oCH HHL$PH3)(H$H`A\_^H\$Hl$Ht$ WHHMH3H$3HHT$ DEH Pf$pfl$`fl$ ;tH gQHoJHT$`HL$ D;u-LHL$`H;|4H$p;t;t=LD$`H$pH;} o$H їH3H$pDBLHH;uH /MALD$@HAQUoN;tHL$@H;t}HA H*MH;u.wMȋLWHpH L9=HHLH;tH]LLH;tACFACFHLH$H3&L$I[Ik Is(I_H\$Ht$H|$ ATHHKH3H$p!Hd$8Hy'HqHك&HL$@|HD$@L%L LHL$pLd$(HD$ y LD$@HjH M%HD$8HT$pAE3HHD$ QJHL$8HD`HD$0HۘHD$(E3E3H\$ Dd$0(JtH ՘#HL$8HD$0HOHD$(E3E3H|$ Dd$0ItH Q\#'SHL$8HD$0H˙HD$(E3E3Ht$ Dd$0It#H #'& H HL$8HtIIH$pH3$L$I[Is I{(IA\H\$UVWH@HIH3HD$83AHLH;uH EWf*HT$0fl$0HD$0L+DHQH;tEfD;tfDHHH;uH;u HAzD;f(}H }o;t2H HIHL LuHD$(HD$0HHHD$ n;}H {}oHL$8H3"H\$`H@_^]LSH0IcIcICHAE3HICG؅u\HL$@HtRHD$HHeA?E3HD$ GuH|$HuO:L7H@H iL)H(H qH ƙHHL$@HtGHD$HH0[LI[WHHGH3H$3IKȍ_I{fA{ȋf|$`};tH SHKHT$`H$D;t3HH;tHD$XHT$`E3HD$@HD$PE3HD$8H|$0HD$(?|$ 0F;uH9|$Pu#LD$`H$H JLHFHD$PH$H3 H$Hİ_H\$UVWHPHFH3HD$@3HHH;0HD$ Lf*fl$ UHL$ L+HH;tAf;t fHHuH;u Hz;f)}#oH HLH3H|$ fHHu!H H H HTL HL$ A&H;tIf8.uCLD$ Hf(ַ;}&oDGHT$ H LF?3=3eHT$ H ݚL%vW@H ]HHL$@H3&H$HP_^]H\$VWATHpHDH3H$`E3HHLd$8I;~fD"HT$8A;u#A\$WH LHv4HL$8HD$0LL$@HD$(HD$PHiE3D$0HD$ CA;tYH V룋L$0v WA;̋HcHDDPf8.Df8\tHA;;~ +LcIvfD&TLcAdEKHH+H|PM;tfA;tIfIHM;uM;u HAzE;fD!}H x+oJ HcI+fD$FL9d$8t(HL$8BWIH HH$`H3,H$HpA\_^H\$Hl$Ht$WATAUAVAWH E3IMLAEE8M;tE9H\$pI;tD;I;t^fD9:tLHIDA;uA;u E. I;tH3IfAHM$LfE9<$uI;tD+3H\$PHl$XHt$`H A_A^A]A\_LI[IkIs ECWATAUAVAWH@H$H$3HICMKMCH LICHDLH\$8;t9$u |$0u9IHL;t!fA9tH3HfHHHJf9uH3H=fHLd)K $C3HH;uB0HAu8HuH9\$0uLHT$`H L HL$0HtT>H$0H3H@[@SHPH>H3H$@HHL$ 3Ad$(A3D$ D$$?AHȺ?HL$ L?tHxH$@H3lHP[H\$Ht$WHPH6>H3HD$H3HL$ St3s33A=HHuH 8HT$ AH==HHuHT$ H yHu"P>ȋ[H hH -LHyH z3H [H\$UVWATAVH0HE3fD!3D$pL5֙HI;u H ߘHŹHH;D$`HD$`LL$pHD$(HA;t1L$`H xH ,IHMH>I;t H;H\$hH0A^A\_^]@SHPH;H3HD$HHL$ LHL$ A3 ؅tH LH 3&H\$WH H$Hd$0H2-+H;t HH$vHL$0#H\$0#DI3#DI3#HL$8DI3w#L\$8L3HL#H3-+L;LDL#IL#H\$@H _HL$HH )'#L(L\$XE3HT$`HL$XHD$PH|$PtAHD$8HD$HHD$0HD$@HD$(H&HD$ LL$PLD$XHT$`3"H$H'H$HH-'H'H%H$H&% %H"HD$hH"HD$p3!H E%!! H"HĈ%F$%2$%!%!%#%#%#%#@UH HHHHUPEP=csmuHMPnE0E0E0H ]@UH HHHHUpEp=csmuHMpE8E8E8H ]@UH HH0HHU`E`=csmuHM`EHEHEHH ]@UH HH HH=csmuHEE$E$E$H ]@UH HHHHU(E(=csmuHM(E4E4E4H ]@UH HHHHU@E@=csmuHM@ELELELH ]@UH HH(HHUXEX=csmuHMX.EhEhEhH ]@UH HH8HHUxEx=csmuHMx DžH ]@UH HH ]@UH HH3Ɂ8H ]@UH0HHMPHM@HE8HEHHE@HHM8HE@HHHMHHEHHD$ LM8LE8M@HE8H 9H0] T 4 2 p `2P(p`0 55Nh|h< 5O\Oy Bs;  4 2p   d T 4 2pd42 p$dU4TP ppBp ` P 0d T 4 rp t dT42 +p`P0@ 4  pPd 4 r p  t4+ T4 p `pB0@B) dLTK4JHp0d T 4Rp$d4 pP"T4 pxdT42pR020 d T 4 rp 4 p`P@R0 4 rp`P8 4 p`P"T4 p `@' TN4LH p `0dT4pd 4 R p1 djTi4hbpd 4R p dT4 rp 4 pd4p dT4rp!4pT4 pP!4pjp`P@ Lp`P0P) dUTT4SPpp tdT4) dT4p` (00"4TN p``!4p) dT4p Hp0d 4  p) 4.$ p`P4 R p`Pd 4  pH *0@* tUdT4SPp1 dT4p J0@T 4 2 p `0HRP d4psb1 dXTW4VPpp  4 2p) d2T140.p` d4 p4b4H ""TpX(88TxFV 0xh0~dP6"~nbRD,p`N>(lV6jN6" (r`xl^TJ>6."DX_vsnwprintf_stricmpy_wcsicmp_wtoi:free_wcsnicmptmalloc)_ultowR_XcptFilterl_initterm_amsg_exitS__C_specific_handlermsvcrt.dllmemcpymemsetSetupFindNextMatchLineWvSetupDiGetDriverInfoDetailWSetupGetLineCountWSetupFindFirstLineWSetupPromptRebootSetupGetStringFieldWSetupDiGetSelectedDriverWKSetupDiGetActualSectionToInstallW SetupOpenLogSetupDiSetDeviceInstallParamsW SetupCloseLog SetupOpenInfFileW SetupCloseInfFileCM_Set_DevNode_Problem_ExiSetupDiGetDeviceInstallParamsWSetupLogErrorWSETUPAPI.dllVerSetConditionMaskGetModuleHandleWGetModuleFileNameWVerifyVersionInfoWGetLastErrorLGetProcAddressGlobalFreeFLocalAllocGetWindowsDirectoryWJLocalFree`lstrlenAhFreeLibrary WideCharToMultiByteALoadLibraryW?FindFirstFileWTFindResourceWCLoadResourceCreateProcessWCreateDirectoryWWaitForSingleObjectOutputDebugStringW4WriteFileSizeofResourcedFormatMessageWGetExitCodeProcessTerminateProcess+FileTimeToSystemTimeCreateFileWSetLastError4FindClose GetLocalTimeVLockResourceRemoveDirectoryWKFindNextFileWRCloseHandleDeleteFileWGetFileInformationByHandle#ExpandEnvironmentStringsW@LoadLibraryExWSleep&RtlVirtualUnwindRtlLookupFunctionEntryRtlCaptureContextQueryPerformanceCounterGetTickCountGetCurrentThreadIdGetCurrentProcessIdGetSystemTimeAsFileTimeGetCurrentProcessUnhandledExceptionFilterSetUnhandledExceptionFilterKERNEL32.dllWCloseServiceHandleDeleteServiceOpenSCManagerWOpenServiceWnRegQueryValueExW)QueryServiceStatusExaRegOpenKeyExW0RegCloseKey9RegCreateKeyExW~RegSetValueExWSRegFlushKeyPChangeServiceConfigW$QueryServiceConfigWADVAPI32.dllFCertGetCertificateContextPropertyCRYPT32.dllsWinVerifyTrustYWTHelperGetProvSignerFromChainWWTHelperGetProvCertFromChain\WTHelperProvDataFromStateDataWINTRUST.dllCommandLineToArgvWSHELL32.dllLoadStringWIsCharAlphaNumericWIsCharAlphaWUSER32.dlllCoTaskMemFreeole32.dll[Jxء|#9WDFCOINSTALLER.dllWdfCoInstallerWdfPostDeviceInstallWdfPostDeviceRemoveWdfPreDeviceInstallWdfPreDeviceInstallExWdfPreDeviceRemove2-+] fu5 @ @@@@ @P@$@@ @4@N@ p+ŝi@]%O@qוC)@D@<զIx@oGAkU'9p|Bݎ~QCv)/&D(DJzEeǑF e uuvHMXB䧓9;5SM]=];Z] T7aZ%]g']݀nLɛ R`%u?q= ףp= ף?Zd;On?,eX?#GGŧ?@il7?3=BzՔ?aw̫?/L[Mľ?S;uD?g9Eϔ?$#⼺;1az?aUY~S|_?/D?$?9'*?}d|FU>c{#Tw=:zc%C1[I\^VOm G9=j{vI%!)qmmUH ZsBjm[#[mbdנd"Q}u. S$@D@͒]O*>JA"~8  )x_Qt)S;yPؽhʊdew]Z{w|ZBvPWnaNJ_%jrl {u=*=mQ` 騱Y%oԚUޒcsUGiA%Vm[@ tjCc(D;)@vghQ@lmm R:͂c^4> ;y6̖xXT䬠6ػmmo.ˬ`}6_)ʗ Ov\Iz Ɂ肐 l=wA? @X@{Q@[6L:~p8r7/Vu= (|8ݘj6PU_` ? =@/(vdV #"ɵ;6>W@=> 4`A+7mU$' QNMqa@0eA]@\ڂTm@ ک m >UOݢ_> $WǍaNdyy^T}ݺ(V5:m/ acYٰwwj'"oOAeRK%|Ewy%`رYŔSԠ)o;B` 2 %z•{NN6l &Veo_Z,;V /Jp6IVo>Nb h0YI0۹\VûTŖlKM/wɾUAAK)ude]>oW?bQlY-*k=c(c\ԩHj fjݺֱW째PhE}7;~{$/B?SvBti]&9TR-ki4Z/;1޺1 :ĀeHd;] ^UZ Kie7ޡ/cj_AZUH`$ߙ`L6y^Z5a;&GR?U|K&.oE;U6ᩎ2o @J[ă"َC:"K v !O~k%+~k2T﫭_,`GPQPRQRM=QMUQT wV;"VyF*,+/Py lJ 8^f>B} `@lA /P? |)L XOb (s&iMU<'#RS<ҥ}ٮǹ%yw=*]`}J'!JQ[R gRK=X*j3B9>d6-  ofQ5&y8(O[r6M%v^ A)祍#m^i73=w=΁(02-.ˆwoŹb.3)%bRSn G ;Y2eڥi]]rxԵT2:ޔCy(:5M\Sl⒉iiρ !Ō W?GPvnpߡL[.4AL_\gJpƍcJ;Tei2 &B1gK0| VRCi /zXZ|H27uu ,>p]ߍϕsԃ?4' ;8lC&0G!OIR`^9 mE:r:aL^z`9wn.Hl[&+UG-` -Mg,4Mi+ov:G=م92P $ wdWO .4 Ɔ?abV'b2ibo׬fSSPyxR=S'" sŤkѡfu#v)9l᭕CE38 t)# .|]*Z4 I,|eUb=8` Av#b# y]r3b50޽7?orEgω$cJHrNj#6 .1!C0:ʼBmHA12ѡC^AԼ_|Wrr!RF3!mKUݔ 2Wĭ!pW 'HP SG x‹b|- ߲a.QgRg_J*m+cM^*-B_z.C1G t͠\_y]*8Y÷ReXNs+#Fvbeq=&3STF>EӯJ(Ar ET"y}sQB0S1:q AۄbI/2$N16Hg%Z /!ZY -B:*[ϣq cxuFM ^h4Jp_$Y؃ (uP.}H~ Yc׳8歰$c/ b"S}"V>M"$1xt5Bq#cTbdF׉atȇ=D!4-^ׄB7^yO꿅HW]o5i1~)}>ЀUQ (޼z[ "# +KqWW[q5;ʍ1F|c8YI_dRJW&`"lg{if \%,B _/"9έyoΥ6U6wPw W]${R=<9*WcO8wKV23xxoAo͆o.!>6!#.+C̓OR& aR/G3Z0\:y[/Eʚ-,TL;ΎB&BLeO #[~2\d;nD%ֈ- { ,cĔzEP3W4ȝD`^8r&QYsRmGȨqN.jt8y4 B7sc4dh]`FfquCj#cJa>Ő|8W^%.-^>pW ce/q(<1@uWZ nRtN {v//x_&FF5ij^;^>M4/yU?ح)D2Q)R:(cy;7k\F {iC~^uW?TPm6zӥ,ʸg~d 3'ixucUhzꂎ/ #EzJ=w~l>9x[!j])fzq  -ϖ,_CEa \ẋ5"_HOؚٚ$J_at^tҏJby5;F{S ge~$}z,﫵~ٗu'8pCz<:Y::"k[3G.SMXVQ\pEG3W)IR4)Y=;BʻB&)Dn<-c/ƃZ39FPyprGu=7,DSbXR 5 ПX ˫cg| T^Y1z1**5sG Ne`otwUYOD~<9R P&~$[ǵȼX.n&O0lkpv..c_8 kEza!׮tǸ&5lQ̐гd}1D +K}geHmp2;|7I_}QGzh!3oMFDU0tWD $H%w0~|;Ы'pU4:3 ql-Pc< ZJ>Oe]+tXG35@֛ 0MlB>0@UKRO h~VR߾ ^I&ُ9y|`IrfniȒǢyFDi-Nˉ>>tQ! /wp.+BKqtR=jsH+k˒!wҌA݊Qj ]2ua̤+u0ahq6i^=[OI]2[?NӺH-Z,t{[y[`C8/ s(kx@Щ1c.JtH޹aD {Hm1{b_4 Dn(ָƻݙ@~zAatޅ}(}H?p"_,5GʥGVԱ$GRXk%QʲT2&act' r,`@XwG:$ _HDvb+3;-M Rb N \t+ܲV3T4p}=P1)b>mԣ91/Cu+Ix|>ݗy#Lh@A31ؤ)u(P6x<HBdѝ=lyu:[czyKōIh&K/M bHwGI`)E<"]8D5%Nu]O@3l .I#;%ߟ9e9 }h~տ"?]xasOWiȼ|XUl_V;Υ¥(= 3E4v J`А4> zb{{R}bs{n9bxT GXgb7H5U:nD`4F{jxv }3YCyDž(&ޡ_-,_iz^~a ݚƓ^HiKQK?O_i0%̙_)ѬV[{zopLIg_3C2VQsx ت0:zZmz q!hmbc`yE@B͜q`GNӻtq:`kB;ZiNelw |ڟ-KPCY[x1nfP4Tk04 q4P] 8sT:D"KF\Ɲx }xN#CVe|5'@cϽg+&)Fy1prͯ ff%@2q#,؋zqڀ(J9\9էojn=mlqVī缠Al24Y&CJwՉ2ײDǏzيgb$srlV voRwG\>s:{aȟzG5["r z&S\me!|'K mAKL p?/3`p¥ ZFfk 8>(bqJ7bb X,_{zQR&T.#`WTmvn($=s#tkR39RWZ*\:چ^+[;`j5D:Ct:FVwKVT[o򯯾sR'pah}BoxZ7qUGɲۻT;\/ PoSJ) ze(eGO!Q,%g7ս8o(Q?Mui噉4ɰ6M+rO?Gss\ "V.J'|W\[&:3\nf\Ec Q'@ aL z s\]fHJ~p}W(v,@ ,B1E5m&L K7VliME]scz,x8M(#]imˆ+rW@wi&vK=Ε"1z5B~t),@iNnSk.Z,XS-$N P'z6t;ދPsDt⵲O ^HpVڽgw VRlU4B%^iiK/5 I_*~}WA066̸F9%e2L;e}FV{ձJ6( Lk&Ε,bq* ߥDmݛٶ̂Q]_ Qbe}?0`o gKaA9:_W:YH<oY[e>\]pxZ[7O;Zٸ=tӯ?$tڂC Ԏ x"U](ϻպ 1> ;i:tQa)#Ŋ"UU-{ ʼn[~0bh- -7/IMZ*>a J}وH>";,\Fmѧ=NݨPM[AV5VOmu~+FZ=~aD6'N@c-&*쾺Q5{tXS]OWm.ҒPy]>lߙMNczK$ n`[ɠt{) y5| .#0_4wWMO<5\CEAb^9r K6 ĮL9@+dE'| E7 Ӂi$q+G.HL6}z%;~VnW.#> /<IMJzJwcW9=m(ow>n[/({ kHgaj&Q6 ۣAN iyqOON+{LI8ì1\* >pzsuk s¥?ف9403ih~I.G.}4{ 9rǨG^cġF@\*R^(/*xEէR*G,AKfjuExKm10xiihvM{@t),w㔁>6 p44V7ϵ,"Ȩ}BITc5ǑӃ"kZdM٫4"/̩pb9z$,Ⱥ@%hn?)Tϗ,$w+ԧ4ԔԦ8(!*x[>R:Z"iP4q4Y!VVKoіR!p321B! !@Wa T(H:Q[E4ݟYzwn. Wc,*C(̢wf[{(-)a_Saxd0E=fb~N&WD& C(ȋ%0f 3Mw,>N&<,휿 sPFsj7JKZ#˾ 9/H{*IL&pv%[Ӌ()U n2@dw&ie_-#wT0 e*Kr9Xܽ쁙\J䶳F/kתtm솷. R M}Od ~R;3n;$(75(R]NF!ˀPȐ.0ytc%cٶZd"ɋ@Z@׈REh²gvR`g ttPEh3Pr^.ZWCPV7OڈT&BhAy; ,r0.O%|h5P y ~8\"Z`mG<"GY|Y5PT29Kv,U0 nA+]?FݴGLV*HO[ZW>At2ЃZHvkmw{z-`JH"{z^.B'6_zufV<lj لq~?_k8X=g"gҏkS=Tv~˜dJE9KNХڅD{&[d9 ud {Z! 5,\Mm Ii~-ƸM_৮ 5Q>֚?ebc@WEe1#!rD y"ϳmN?uq+AR&T0$q;]=4-:;*sTZcl K;b2!eRPe4,d-ؔ~CE)LJPSa rEN ){\Lٮ]'8:=|Of* űAQIlǮ&o-q e*qiu (:kUU}:`"sd>--.[$[I9\Mn@zʇbY)]J'-NMm! %ƕ_,:CluwxRG]vO-o ͡n\&4l RGrq,%2sW3Ϣ b[Lۭ`oWcS7Vvq&wwʣGHe(EfUX˛ydSМ+ ygq>&V)7UӵÄɪkR*ю\˙?uP"ۣXjy4ixf>l5* %'J[Wd<4O2S7}xm_Ӯ쌧[=0|#(OJC='j"\YuFTi{>t1T{#1sV<xEᏦ,+]ꆮ`|I*#>rJ[Msf3KR]s呅$2q,1J/*@?tMᤨ4GSWGv%(XG#@F>!6vQoəJ>)\uhfK&.uwʰvzSuJӇ#5\"*P0yI~ ̇GT)8@Pq:>$9ccP(9+̟U+lKPL =Bai&K:HYf$D.'/> ˸ma$RV峳%'KZ!x8CH*J壛iP ȣ a\frz: _+AҌgQ>A6v֞u+4, }i(E5-}ㅎIKKaځ  a.)8 qmg}׾\l&-C14* pOUARUv/?3; PkaBjRz`L+;d2a rK<'jAKhV }*"{ NmA*++Q$i ⋺7Yb!^Xj4iiq,m8ӑ^$˴Q}հ8!G߰r2Xc=?q,Py 'qѽ~jɒwn<wW'o 8w9*`ߕ zH$ůW r;sļ[;~IZ,k'ax3yU:+qf=X-.}QT?ۙq)P?9ӣp zM#υC"WVVLn,&,ݣ61샜یMA/ Ap‹ ] p뵳=0fi?zj^M]:HͦtL}%Xb3C(^>kb(0!>׊q[.3SR=ƍ&pfg*>pظFe̟ 5.Y=+AgG8D]IABbonCP8L#Uj26q"-tTpFR-GԯFwڈf$+÷Vg ॻcC#ņYؚ[("'\* k,kʗ@/9\>P'5~Rgmxi$ MC]@|dѯ怈K3kxn`hOk w$Ҧr[y k$Uۘ'j؀1u*1Ob^1BlD*jDmݥx\uڑn/@kgI~KFo-3Tw<}'%] Q$z1'@h>Z>HFQ*mYUR]9K25#iC͔ޱ-GXj$7z;V4I ΫS!Du$K[He~m~D1Fz@ uԿP[g#6We6fDa5p**ϛzSLXH5IU|阡Y/ w0M| cձ)XUq^ O N]*":]7YJ9QfaC's4x-uF/Գz))GV'4g~o:#dM )t*,iXm$¤Y@c:tϵ:Rh9K0#;z4Hx5y.HB4ز( EޚK }HI7>(ٕ P0V=d 7h2 7*n2Tf$4SҍCOpl[IB4dP7W7:_ΤT{] 60IRxDmރrmVr}<^r!A^Qfsc]]L&5z5HkH7 2#scjyg'j@ a.;[{%H[򜮁I*#aYey@qSk+cPPb-`hg%HG`C܏f4-yg71NGYwjKACNLM/4lݓ| 9K=F%yfQvFNgŠ ˱yDPsP>w:|ԛ4fߛ{Q.9psuGݒ˙ө#>lF>ę>mB ?'.K"|諜&н"B’Pa,-i'iz.*ƄN@:Xy.nE!o}onyfLښ7HiA2 7LlQbz\AM߫~rٿ.{z4kZPV#ԫUF j뛢 |&f|Զ ];SuU'Rf !Y])wF7jbd08D4)E8O{f@䟲?w4w7\§!d[hd>AᎲ9Ie Dw$u {&}3Vّ`h >9B2oȈ,V6A$geuGyx <vpI֫8JJg2G"A'ԩ)H#=~]=!scBtoFp[WsrwO[Bd6C kB)Gm+gW@kA8)f6<-? {R~ĩ|%Ȋr8-H2k<<1UGyFs_%sMܨ= *[G2]k&)\ovsbg7ֺfûDBUP~%S{z"?P$ 4L_h=8kV2˳9XXW,TL.U%:q"]5=zeˏlD7g-[}w*q|JúZPOx3ufg5@t壖O0G}o7"l9Ln4& os%;001PwK1[?~͐6F2# p` x%h/Կ`Y۔v/!VF9FH+!'-BwMV/K ,6_=nWJsĭRx=ZKs3 'u)OHWft܇148ޱZ : ˩Rr0[%Ѳ%û>rbjo-tLu{$B{2s/INlMb /rʋXs{1АC{\OR V~Ũ p*}!.%!}`L$FT_̫n"&3NqWWSUoJ,,*sN"P:&҈Vh5 ӱHƮdoLuPZŤD/HhU@'JvIvvWXܽ#8{ۙRԿ(%VjV)K{گZԠV꿴^O3*D"K0 )00kUtte4VNa HP "D"(_ c`F:;7to<%tU9ժkUZEe3`D+YGپv`bO{Gt?u~͹@Kso[Y0@7ݯ1RP' j;Ae?ּмK,y!?"7H~ÈKo&׿XN~2trKkhL7)s=WU#5?ۛ*a%UfFҿ_7_tVc9yſi ~șZ1dqo8ň4Ȟh/ITja?@2)\~={0,G??tt?@?zXMm Gx(~X@^\]__T?7`&fb? 濧/ ~ c)" eѾZ{C߰ h?GLɟܒ;]G$tPMGzwG0U_mVfEoͅ]?_[pE?Ł+{dՐM!~?e?Oǚ3Q+ si327ق܇P!O$ӰW;pOOf۷gxC]sY5 }kDk~Y$u3~֥`R&OA[aO_?mM=?`Oen~G2z/"FՠU׀8 ?6?UW>XaF s|ΐǟ*08)'\1 ~ G,׻\'&~i%q)(*@K$'d~ ?|cbkK~2p׹W9Os?u,굧Mpt @Rpp_2[o~ ί\qJ'+8?\_? GoOuojN7"Ѩ!W F]%P3?BD0_ϣ?o8?Gb߭G~?Ks'APJNHAP9iMX*/I_ _ͤK_/~qHN[gO;/|_6%??D<x ǐ[_~IZԿODJ{_H~Yο_[~-{3UPBM@._ yOA0\3Q~OdA]?Ay κ߼MGCkoEo}!{ _`NO/cRе ;/Bf_IF W'/ {|?bP?7i]dibAw\le}0#3@XӉCo 'ynBC1⟠r; n|?/GCY)Oǿ)4 4,1]/3~?Fo0 q6TJed?HSϽH1#̟$UO?RFC@w0$~O/(&~G?;ԞO1/rE׋cΟdwS)44Ofb뗷58i Z?@VXw? MWrY $8'ﺨL TA/W_2,&OM CPJv ۺ?{c1?yw_˟tŔ݌:?OY>A~?zc_[U?z?x_}'S?<$W_?{+ݏ.',!߮M E?og4?tK\y"1m?~©CcF?C;iE5b#~fo\1?7A/g!e&_'ǟwt o:phFKP~p;>``vvT8#ɿS4@oS~{S175G`~*|Tc!_ ?3yMxq謆F?V~?,\xsZkc x ,?ɳkoSd$bCyC ˋ޴ v u>:?&K?ZG?VYlYGLuV7K4(c?+CxH81#-UY?_KMSCM?-aVU/W38y^ky7GQ?P\h Fd+üa'N5W j(@rEl@Va@RA6T4կ1xQfmn _dPL]ok)lj~xl^$ :qO`ZCp_+!p2 7f>@қ&W+R+k& 6cI22C"!6#񓔳r2˷ŤimF, =A? ve ->gj#;~U((Zғp LC [=FHIJ34/ck.D"S"%oݔ073#dbВtK7+pkL{*=Q$x쉁j k ~}؂Ȃu5d4躌,rӚ'E#[3&%enWY04[-.W_9R6;:I8MV6JCtkpx 9 ,.m/QHW4E$!CX Spqs|v3#\M2q9pu~c:5|&͹m/SVg!1뚡Și(]++/4bel2 n.o{1Uw!F6i ө#xNx}1Mlk,]T V> T7GxPaIJR%yͅ}ĩ '~:uCnQ_U)@`P192%dHH\ͧl4od^Kʂ%dZИ$]cd^fĢ7c?Y`nϥԩ8faAzcgY ,Щ%yw7STS3-HǞytS4yRzO4+KYGAʕ >EBQXl86a=k: D!ga5!| _X:AByG 3]mn@A6<hOl1zj~g}y޶v&UϽ~a-pmقKOoصq`ݏ2ߥN}|nE9WiN_-BΖNNMMHEKn)ni+j|垳{p,eXKʘ/Fmv1T|@јh;ӪӢӚ:V !2uB7E7?m>/pQc_I.IgU\ ASR;S^Ӻ2+Γet-ڨ ;buy;<е, }z36HV,ryֹҗ j(u;qcO&ES@ q-nм}T9@,w]1j{kk RЇ8ԯ%C+yߙ$UO\5Эg5&_Q`ߵO,H݌&dc~DBd,iП9,c̰fzx ]#53>8Qi|(;&" BjС6sX &]54p]9VϋraysdZٸ누(x>yF/d-X8{~`\qXkC4Y_չsɣIO\E5<$0Y#D&mb܏VM+i3~OB#v͔9F 7X >/]kjdB*MIiSfKZ<@ś=j B0b>T:)⢞Sn#~>.Imy{ׁ<6EhJKsEu-= 3y<̐ZSX7e~\#}b* cL"2FBLBNϋU(H |F i:t5ܽp00=&`D׶{prv]zDIMPprRCMCQƀaO8k]:r)aK'KZtb.Z &@h+vTB1l5 \W e/+R$=QQ; > N_9FmH p [c|:g ϶'?7( ?p8cɀ`EPz1So \S8|pSG$$yξuJ$s=bcN d͇@}wf^sI5WSeF*i,(R>Ontө;n?I69o.5PDzS pHk7}G'5U>cJ-zFyhx5 ';*1(\(B͎&2i{Ir2} !?L(Q|VW1 ME 9rx]265vF#ȈY^I6{=HR85]p0/=me,`|! ί&X1eّ͌c] Q|tBùr{ihBAµRi~ XbEoğƾ'8['ڊr [E5XawVIi1P<-yvz݈fǘ E揄p)B81O Qryb`ZTObKUVQkA $WA^eI֕>ʏ--({6=:جu$ eI\cv1ՙ%6:S_g}VPa77f_07i PwD a = Z!lGo309Nɵ1g'#֖wp*5)P$q3N(z;,C2.% ҂FkK>/P8M>@KE#|%%Xԗ I #qhr ‡kp'7v{\h0m?|M}xNkf?Ϥ2b j{DqCVMO0qI&_ `%5.K'1{+u:_̷u_Uo?J03fDq+fN$rv \OUwA4;mmݪ/֬!LnE%:XkX嵘P{h+t7)3W^!Jb<',Cv̼[wrlTMw yBɅjMwм׮89 K4\>J<]\"&i88zsIQUme^蚓 ֭~&p5mTVjz~`Db͡IB}jK_aT`[,0 - Ùk>j|B%Rq]YsCxڰdϩ"Tm[S~n&KAҞOʈ\r֯K?DΕ ~J{11ҵv 9;)'م42t'߁#%4Pri q$3d9Ym˵1B\N "d}gΩ+7^Fo2P-w/83~`8 ?No6`|96*R#a|s<+ٕ) pt&xd1MDN_]%85#~$.y^V瘾;wTF9ag>_'"@r.c{:S)̘RcoJtDs0U@X+]1&U5A>Ǖnsbptmh*Qv6a.ZUыޔ:O͛u[m.p -G5ǭb8.j/,g%IyK mq4Dx۬>Hו4PϿ7$;gc%IvϨ7% ՞b ( &gQgHуqAyB6h>{;1bRDҧVj_5m$`2 J%2Mc]}rz.*[3Sc@nmɁ(&r(TYAloB_q(FҕI"|;x*w$"$` N~j RWҰq^& aq7Rn ][V5sSnaooOaHDbHS <_6JdWKO v.2s*^-ַҧ@m j/hBPD9mn߱A_z,ࣃ hh g :w#t4s{\10%&꾧+ BEC2z~f`y8 h2ԉu޾~ 'Yg@gJmw!)GJss,B$"+0*Ug+yWG+"') F071BC :{]$D(~QV\p$bՈkѪcσ/%D$K| ]\{y ^<=j\'Ayd? uh3BNhdjxi8pOUYYjeeMgZhljԐn G ;4Y D:!2SLUGFZR*gT4 hφ20\ ѺG{7hi@[ yӲAMallfr^(z]Pz׊ռ#봖@>ZHV.H}v궨 k1i%J#G L1Gt޻{82ztKY<?iRm54QN  Gy/тLܑk:yBpگ(֌?F/ /w‚0Ne"%^ھp2^-.Œal<:)Bm]8#릱*d#,9.ĒbDXLW&,D ;K hvKW]c! 6cc*ew5phG9’e_]7$5:%,:u'C [t/۔|uu$.KGvs`;gp J2FðOU.X&Ё#Zeo=;*ovP_~Y Jwڅ ACbJIrI.yd5Oq4낲~RHjNME)B_puy;:S ;}3-$멻z?m hj@tw EJ>G孧mOj./ SJD7o0z8#'ODPD/A 6h!ϪHl6E R5{RO(%u-Q~ nIY:IzV eKL:~~3nyG(P~>FL㴷v*K'`"yNy %'i̫RIlEg,~)M,w9dzzR T91's!¾,yhM9i_A6=A wD HU_Nsy&d28Z8.m๲уl|n{^Oka#SyTv{2M:AOلͼ2*j|BH}B0uuV=`\qx9tEy T4'PxzI!aK+=Y)V9dx.a)ƉU U +0a>yJ t&p:m~%:=ƽ  *d.AHv,n$YMMۙR|EDQwOhI_JAdwʹ'7YU]a}v͹_;rZUNC:2wnɁIs)-Rbr@PU!tpi31-M?T@/v/Ag'aQָ0nC̉=alL pB]ۮdMd>2.\{gjоi8HRаzXre=Y(ccrDC1b}OtƨApE K֊ES$|(\ЍP4g[IFupȢċZqHg$oSR Y-4L_]#WyG*!gl3 ^7ͱ2$Il{[1S&v5p%*W єݢrI*:]Jjjc;YΥ84 FG4r2࠲Ox$犦N>dU{598u{Njx]+2:$6!\;8@E%["0+FOf]E4T-n#:|Xb[^"AcK'~#o{ޕ5 ZFjB'8%sbENk[rc|_a["̅u;ϕtVExNU#Ծ>u&Vޗ&%&vDރQkQg> vh/m%<;:xϲ7ʟ"BuC % eOv!O(:w|l]P8!XE-C]EUar-9!6hbZΠ}tqH{ mk"T+06'&vF+T]=$ eC$zw&P6/M ?TSvVAxG[=KyoXޥQ6@443vn\*Ĉ/OSi?^5Q"K+˖+Hj#%V 3pPJ1 JN21~L$HԞ>~b?sȔ뇊9$9G>zuhdu#^}!Wtx, g1Vi-ˌŠ8G ",0 ry+ۆ_D|P).TF3Xzy xm]I25DM𺜅~~vJ2}08i!1oZ@FcCY;CĻwft:Eaźt@\:ok'S<O01_v2nZD/2'Ws,c7ऽccB>oa# ]T/KnXy7 `Һ>vw<HZu2bya+d,Wo8ۙ78ڇ )8;?ㅴ_'juSޟ d-eC=VkryI{ξB7ݲ@'ZP:*JRN F3A[wڽ@z5tؤ,*UŊUzgȨaY ɟq ?lm4ݖXql, Bhlysا 'r->D,źͺse3Cv܀;k,),zM +͐eQVȺO=@OMX yGe2`5GEQBf~̮}a@%MݤF DC=Qf;eAǬQaI#ڀ d^z VϧNDG`?,x q~%Vk46n0s@2 <лHU9OYoty ?oѷ&'l[m5_WޗSn6b&Ԭӷ}C!_/HI҆#:Qjh/椇>~N8%W gO55hjs^dvS#m;g1EQ-4k9).j{bϛj$s/ #%]B/YE(x]9 qJp|Ļc(cC7Y7n- @Vp~5CvUAef/!(g w aHN[S(B }K5u"4~57IgG1M} /"f0v[&#ІXkKd82.\jDwjYYWJ3[fLYΔ\IhŌ 1]7`E) k\2kbRp WwÇ4J!g^orjhHٮt ZQ^/_ęCr[(1aͪ(Э/Ţty\۟/HjK\*wNVA\3⡌̿AN}V[8=S,uQA{˔ – ~ sڕu^_I|' 5'¡`g<ʓ)NKiIU ɽ=KumkbOk2v;BɽCFFlTrn@ANn`*poNڢXt0 @IXip{ XP11>@<7N IxrHWkcX'nh,l3jq AQ$9KPVa>-S,cARG ;LfR}!*-3aOZrJXT0B!8Zr8[p'&<CP&KaK, {8x5<`}@9oba֜H^@LZ0IGxb7rtnGΏkn3q IнNN :'ۅ-LTˈōcXvp,T?j;z䬑3KX}TGy̟ꭊ];f %p!“qny4ވ.Lvߖ "[T"c}(Z`Ⱥ={t6L~ԃ8TgTZj%9ĘO|('*_6̕(6rtjqV@N߀tzASI$ږu_L!_P l :#/Iw o꫒~ FRl _cᎄ*OlۚD}Ɛ@gؽb"%{z[~,[.c$ 7L<[lHy'jSpeW}i-҇JOFɸ j>“8|!!u{N!e%A`겅 [UH)Q? z]rNį{Gi;œ`5`/kÅ 6Zl*O0̷`1-xSKQ'$yo1w߶MSd&僵O-3r4! Y\șjH 0P?X??A; PKRD<4|\xp\>(>]?jB0 t[>+|5y<z<z<yR Y\/0}U}+}  6ʯfg"EڑA#F2F[7[]g<6DI\K:h$JL9Ф]<ۅa%yv:Vgْ*XTJ{ϓXEqLLhܞሺ0ƉtO:DbO+;;2w%MwOǼ'#eQNᖟ vkcLk~~X_l5ԔiL:SJg +͑h*MpZd8جᗱ yw@%Rr<91ENqZcjZQvY>y#?-.ஒ~*{HGAvm3!˼B`@H!?+FbSCAyTte"ҪJ%O%Ir% U gᕛ䳒0GL?;M92Y]mnz(7 6ږ2oS&&I]%KgRe+|DȏR֪~UQ>4mTԣ-*ɻ] HuYS>U;bs? : .>Xl2n޼2?գ_m-G_Ǩ18ڷI%D"T(CFiK( =/gUB/@"[l؍@x(~@OcҰ|[eCh<6Dk, V/ڒ>wh-xzӐB\YeM&wg֠/n|LGbhRz]h,bZ}Pyz|D֗k^D:^us^=g Nw̰ ]ĺ{N{p~Bz*nN^1 4cgELa:{|b%!me1I礗,Z!׷W|<%Yk@B =$Io4܍yᇡfԤ%ѬQ{ZʺDU~Uy!H3;[k 5]>@F?8gHA70T߮0C sfbAGF&T4#,eMe\:?ś%M1ϴo|OI4z2})2D\򁳚Zc\l7el7ls|vb@eF &`^xlY$fnF޺s\ff255`'I=籭tq!fMd%c]GܹS^sx$5R);ǧU zCF3^9RC:CT7JO !jI $"7X6'pS`!NCoE2$+/egQ+aYgI5$_$n)57ԯ)P:|73" ToKPcс}*WzDpKKвj5 NPpnRSwȢ$RۓIH[*ZmKr?zچc`Àdъ Ut'҈"  $C I{cGF1<AWGmn1\H ބE'dE F }7u PKL6:v wxd>OFB},*aNYKrf(*Ll7]CV38V^0 ctvF%3,p[ zN.Zz"_gpH#OBRӨٖF;4uE(DwnQj:6v~h.QyMe0AiDs_5{-~dEG4GlFX"pl(/0;Kjϰ[}QzLjrX۬|-)ap-W͂ qB !9_fޒڕ{ɮzqIA83D4T{idKuT&,?R.w9ښWϣ[S[>| 4x0 t0$aDͱl{G ˶֦>Us^:9d_exm>=7a?tgG7e48F9kŻj !\ԇ9k&PqȨxp=kyjKwk f`yLS[X!|A'{ "8En + VĥG: 5P=Ǧ;c;]2ƒH[j4~ v׳:*L;pZyK: yʨ´L.lx,eĺb1R qRY U_UVQ :@.d#h*_> qGRz eMZB1 `PcYޟ]V#xɠrjkP ^87nLqmڏvsl[i?-2/y{_gb{lK/ PfUWMD=Fb OIT(ߡI0w''%3G rq~OnpNJvwd@8g. V[! Rn3WWczD^([:©fyVw{X xۗPZzLU3QhB )._E|=$8N:?+Iή_p>0z zgԨqQ?r,wgq[ Z׭q[ij=E.\f Jkִzo N iZ[@+`i N;YДSOo_.}F<՘XYoPO_#t S7mL8|!ZBq&,jW{-"y^;ǹMvqxìr)WmRsgJ-.!=:x㲮>в~ [ nȔg13s6'4$dI'JG.5on6q5|n95Vl@ڮ&Qs0e \\GgP1 @*$1> opvuQwd [?Y& !78(;(%} ƃOvӿ 0>e4؂E'0D*ikEh\&hV_$DK=$IUELMqzp]LgUfe1diN#`nuU#iAv"# ~nTvU/ %eKT+HBwN0q}‰uw5kn&?f5]q| ņ)$ upϬ!4_f4z.~1%O AKZ a%/GJLLC8lN) GŰOQ8@Kgyᷪ HJЇsa6U2l떿 ZdAdŽdD J 0GR[n1"54 /c?C xǩjvShw;{d_P(?O7߷UKsSt}BPЀnv`04tcڃ4"4%'.5T !bN%) 45K1%#UrXX!OQ}T쩔V=}Jt WY:W´cWW,\/Ye~0V&A"$)ce:* "%Ki' R_NԠA`w2K^~ߔ-3~ݐ&JMA_|`qH'l!^TFxB;踂vowv;K%NuUԸ ߻0m.j۽DIY2?#T*uqMkUӫ. C ]w8ּ Dy*qgD! n!ޚN\2w/g x j,jC\oh>|Oq97^QJXdbF@V\ffR(N{8ڕ$F3v'bN$s9#I5O7׾r3v sɡ_Ȋt;1rOBi9D.U4 ʼn3"y usOhfdv'2tTake?#<Lyt=9XU c$JzUn_GOQɔ9x8[pVW>P5%kIHuv_DvVxVۢgM#AU0U]@9M{)Vs`Y6AyJT.|)"9SK->:JQE,+#6®[J{^q[`8s3ki[6sKP?276oU6W a"o=2o[ǼW)'$T*]7"&;AGU":l{fWMʉKIk "1>eU/A6 #[X_4ZU&Bs}*̲E 3}=yto2X0Ň ܍^(2ҵ9Br_O $g$[&ˇb99 ?8͗\ r ۞ ٥bt=Q 9ĄeF JGO5?u;Kj!} Gh:G~:s]n-zs65x^طri9NHL]f{# 90ɑt]>jU(E<:,RR++aE opYg'n8\|ϒEsvAJmөE?ˣԨѳ%rxmﳩ{ H,&bs i8%7 )tҁxc)S0ٯh鷑 7I}<ƒ>][AnAVUK5SX$}Ϗx\$FY2,6w;eRTC !Պ3iwB0 \9>w_͹JlʒOr2mqs٣=mjGVmFT\(2ѾMR7dn;n\jբĵ,p:Z} Ct~KrcGpE"cN⸋2 04`T{Jӊcc}R+7j`xY\ F8H†B]F~J˛ԐIO8̮&+f~@sT=d#Ex6~un2* 8DUs$cON  O.)E)h]{PA^hE+A%[vC607±X5'YW2c Gm萓E[UH<*}Flo\CgB6֭0b~% [jv(TjWIq<);YΓgl{׌1hCo;R2GJ<>Bfd}t?hdM7Au˃f+>uaa,}mDa7 о"_(}~<tfٶὀsV[IkŒx"x,tmnH 2,>BJR")SK, _+`[1Nf]R|ksœGM'3X(aDe*g},9-="WVHd:4ׁ)HTV[T?4ה6^+Ѻ(:6 .}ʏD  < ppW)|7顉TVP6m[},3+Q `5LN+W2'@V5MJc/9[lc^\ _z+\a e¹ْUL+1/Jĉҝ\Pb${2m'޻އ3Lv:!?>]3ۉl,0A>FH+#I53Uu ɢcc¼t:%:ӷyԚ'}witY =] i*|n]5j U24-xfJVP U9YURt&.ԉ;iJS* 3/2-Aú'=x0_ɂ?翻ltߒÍx(biVS+)_X"q}N%I~i3]b'@3Sn#UȚ3z,fI s5֐zRZ! Ĺ&ied*pL)0hLFAJ+WBP¨B[SLAoLj}%}) uZ4'ff8t>w-xZ0]=-}3GaF}F#')_۷hKF#2?)%κSoT^,H᥈qϓ|^K_Wmf&\4ϫp*<| (t7M8"!zP;^l_03j2hX$NSYM{* sH^ZsI~O]4 =sg{d\Q1}ǂTsBEcjOn/wj-r~Ӟ,ɛ6i=1*:}d5Uj~hV&–3/9ekHZ_/mtj`޿ėuɃף}qs_"%|\d%t{3OA;g!ޖ !R3)-t}Gk{`ȻR`/,*(ћT>=.{>qCa.K_ftcLjW;`zlFX=OXoq,2kLN _eْ+n&nJKؖ{<_kŘML`J&h 7!I0/tS^6IEwfCUFnH+9GhAϟ(T4YFFOh7RPÏ]u e3qN ۣ|)z(9@j^>If;(n 7⭏)dm=~5a%SkmA|ivn)&!yoYq}Pʃ75yC*G,dK'`F><-=g,|$'=Ha y+Of;^lceQUՈu G@ƒ\B_5-d<bCG(?^ & V}  &_WO&,ѿVsV ~/,<_oƿkOjWagz<)&'Mċ?):.RZ|'qW}fs*N1^ُWбЀku)19yE] rMu$(NE== z/gν"yܿ);=VGɓԶffgqpjZ K?*r݀Z!QH{2f{{vbQ/GuDDSd(=\5O"5C!Qe L'JZk?)/\)abuK^^9_M?EUBDZP5@p aXy+Μ y;RBAU8Ip"֬/ .| Ue} }&!J=a${9A,y-@aC`IhAo @A@~ Q.9Ԭ?~&?ЕI>e픗Yl}e >Rsz A/bc=bFr<~ N(l6{xT<3ehlbܚ1--i ]1(1=4D{D&{Q yxE9X|@ >WMN!ytAL cR=> &35; Y !\rMjm(vy"Իs<` L["ELN\Z5ǁ֏V~5k $54n" =x }̄t&PT.`J=/Gm%<0H ZV<܄slwOZ-%wU(4/&zrE64i) *zSp,\V\MvFbvkaB!ÃsAm<^>-:v6+FH(.>|hh\hg woICC;` aH)PJhpRdr$SrYb%Ł; ɪG4+2?l!&XS-Bqc-&HOshɜYA8۟AoFve\S]Na@cZk3LƙeZXYmlgYl 9IwcjPGV^CsMG*HE {[݇.oDU@ c\,VUUDzz_n|GT{i=~vwSܗ*Bf~zPW tEw?wza"R203J/#i~76d; D`m!.%~K9uோ"Wo=F;;H ;6Wnmp}¬6,m~ *@5e7*dr=āhe?%w ֡~HS9 piRmgX>&Q{9 oH0[S1_o>"1}z )˩$WĎF.DɃKVLVp_՛6$tK<_Q9uցwCOF»k_Ԛ r"RP9d%f{"Ǎn2=E9wNXヘ Ȏ57 L?5q?.勿v %,{R#_3CZ⎼uv{|M]|hHحhtEMe}3-ԭ)sF,@)|-МOR% !mאָ`V櫻ݸvw ժdcV-cvڹ1"ZhwB^7Q6 afִ Vl d@ȣ ZMk~ʒj9˸WBnݥƫXהۈuiM4iΊbl_qg.λ 2jnh/7߃MpS]y`Vtq\77F&}ې%KNM .ٿ?k؇<)1NDBOC86xpP<3֠s#ԚR_lCw0N'70# /+0  EP J0`9w&Q}NE\!ZTUkẀhe8u wAY=Sw g۪Xw{^;pweRC9 ;jbCu>qK/S y[: pNo}ջoPE}rM{zW6I ;e)nm"ӑg}WźB aպӻSgZ~5#`T75yΤ(I6ýznf?L#ʺ\ݤ|U](NPzd1ɰ+(S__nEJaBPP]! ,F#@ W#(M H%*dA΢d)21P6 .cCHIUt%Fi?qtL=q~n.8*quA/עy2:[_}LPmDnw߅qZK$fЋ)L\HV=LvnDqȿ9!D]'PC"C:,QQۮNTvR\%a5-:k\ ~PrsZ{՚p 0=pQY|Ąs*{Und#N zmkS!`IIL+2+Ԝ Os߰,sddܿ<:QyN*鮂l<5CWT~H.٨Xi*eTiS U޺EWɋ-$V0D3|̎$J ?Rv T&}:2q+6L,@H73;ީ顲Z q(xhHdu+' %i1Mj8&z@N%[UiByKʍ$92QT3J0iBuRejCG=%d Y8(m%sy%i4Uc[ /-`@;ޓ54j(q|jg>)`7x='xn?L^なW a>)ZKk>$K3wL*W ; A0=k4.:~g:CK}㐶YǢ,=8YUk 4U߱Z z?k66~9­VO($Z'xc ~cm[ͺU6 m)N?n'"lTA@ ku# XY)i4f<4Vm+Yi_5 %"cGYXHU m_-ᝇ<Ԑ;)*M CJh\'Kl~Eh ί`Fɺ y4-мΜi{$r,wo> 0ײڨ{-Q qza x[8ʹ#h-,eYU8+ecm+k#Vn<%#D [aNl6VV2߿o=rpZ@~Jbl;z*2X#:HW԰m2giA(gbPy0HTH inNb9Ho J|(vXG~W * ylBc#YɗGG 6qLÒ9@:"';hZ87hSI8>N(,|Sݬj1w|O?TQry#b"-gG2-0cUR=%j^g GF0(Ō_DbkWMR(1\ $wc͖nif/x:1ɔF  7  K õS& r2}.G#9 Nv>nwߍ&i!X 4x`Lߺe>bʖdaJR. >GC_G/ a%uI"0E^aǼu с#XT>rr ߓw9-N Q|ooS#Eq ;=B,)O^͊IYv_N?\(c)3j^ [4A'7 alm|O"n'fF~,l&RQ3~2D.'"4mIRŒ^ sOҷGUlmk ׆'_|\=~.rV:1C 7#v֯-lkt[p%7%!hpJ\]ڼQʂ69]sigHDsi>ͷCC\r۱8|2L{b\Bώg_KɍxoJ&%>0.د\U0>Y"Dcۼ6+|a#`LSsGc]1!UjxgÏC6=%o.鵇OgJ,YQqcMLۏQEkW]E?HFHEK㓚KheSe$j+="3sB9܃P}dyQ<:tXDVN6>'m!MBCl:-^W 0Ɋz|F\yLˏT68Ui=Z֘ԢJ OCv6N:tgh-- ؊d ސ0$Xߺ2H+}u6YٽB.'50Y*dl="J<D3ሗLh d. hmo44&0DԿ쏔W"pdߢ{fʪc<?@HR BC`ӊ*#?kr)OqJ#,\LLSM|W7#˨ou}#Ɛ7AuUhq: %bFަ `/S¥|2Nߍ~pcgHEnp΋Nsz52hהD{~c_F!pP|g&O`'n|4=+9a3ci2 ,4`j7%FXҸK( X{@S?BPkwrg'aIZ*LNZ;*LPEAU.A_sBϕhnvi ꮰ2{yuT#0>1//fyge/i[}jWEw)Ow|1Cd9")0ZL ̓|=e^jaw1s#9O$ýbip\.+{յ%,PVHĄmx=}B)tD5ݮ'fX`fY&TszQ|$g*5Qo&aM,ퟠ F[(J'X72~`TlؖOpXTZ-% ЁR5%y|r&52$@L!=+h*9K2f|"wJDЂ>A 416#)f`eVq-*iֽ\/ rTm֦ʞ:R( *8*,!!t|B6{! iS_o3\Bɥ(2 a? vO5ߤWUwXacEk86Eh^?=G0~ F1閬{ }.אI~zsB@'W ήU\׵#-FIDV ƛQ ٠-/!%MYl_wƤ̠lV/rbmxĈMiVX{ɥ}U%Z>Uǎ>N.[:c2#. 7CVa\=$e{?O_tn3<I2 LH8+ 8w\& :'~XIul??hE[";zBc.Ǐ͇,qoo~q*^Աo%|MJufX: p'R*Y0MC|O]]a}H@˿N`N-d>ՠ  wQίK2d1ox2$o}m3c]_n'-I! >7r|#O-1"&XR.*J>##Cl76A6\>E2em].O~e+&Z &ȺkԔ߇lU|85‰ ~զWkAYpD2o?@XΈP~GpLK= [j4[׳roB]j'UT.>" Dq;EP܊s*6; HJaSa/?M:h]p7 A A>RyI_U ٿѱ=mNh.hrk,$bhS[GTgÜabZxc6,! -Y\0SP#ڊ(^wOF4rWn05?m {a'c[ZؙbL}7:KXḏ+i5f >[^}pTeql4JTx=LD$' ;#Y&ϱaur; Kk۹nir*/JRu1Guq\8s9?՘qheooe̍,ϳC%V POaWQn2*A VXܻ rzd_W 檔Rk-0kMbݤnxdٝ[yaiӦSӤH {z!'I6m{zLj)hLj/1 W.g, nu$~u#Ǧ| 2JZzO[b,ẅ́,aW' )[߬ιRX7ERͻD_0f{>Jtk2=֦PESq};ɷ3GV?^)"鴚뗣?ݤ<4ȽzkҧIKm^2C4aqaW}ZIG݈ k~2NlDU#˨On {f̴ꑓG!OJ3"l\<6_ hk4(1}x,,wf!stA UsW3r@hk䓓M;ydQپZC!KStG>Lz^:"8륦C&CCl qnZ v `~QϨ_# ~7|QB3#H'gn\Md`g݉s_{:Lwthj5 =<ã9R $0E[%c_cN9ӰAx NƆ2L/pPLlg)ρ<~㨺y U&Y n7|pB1±:,"Lp-[(o5puuZVI% Mb!2mrRL̂>'4Y2"X>$?y{1@J&GnEpX#SIH"I\B~nDm ]_:IfTb.AYōفojo}$]~(A;bY1T]\1@[$uKq~Nyu$w6${jyq<;|*nPIV^ޥ!fӈ!5Kf.>EPD׀pORۢˈ%frSalnfjy+m}=*cFȂ?}}r#B>|(?=kx䎼~p;O2V[8No7Y4_[B rOĂߞF_V{-~IFE^H?`>b2HVqf?7IJ"{dd(2RleWB:%; Q2-! tM;Nm1 :qUD 9Ή夊 5M]PY4LiT8WCapvU|X$;V/^#fo?p-K(>a? @||ɚ<Í=b(NiӲ_,ZJ8?uu9h ^pm$Cē|&ˑEk=lq 8 at:Ѡû+8H~K|75O, nT|VIlKGCUJhP0Tfyb JvQA @'z2b$?Ӹf@}YG.e{Q7q*@~o X06 |e4gD701S7ys46-fk #8(C ZrH)v K_Z١#l8UR'n{_6GŞz&O%wyfQx)YBcpP.^W% ʵIYG[Y`4C"j?8Mُt)3X'J [0BY$|Z? v^*j 4q+dS$+} ?ŋJ]*TB#+3 S+49>po\*ujKEĩcՍMibbOU[m 4T]_IDas[A`Ά;|&Fv !Rֻ~kj!]^O1( {? d2 y`.Xb|Ѹ'>,T*6  rH;-~rpklua;>OBLCn)ar$o`ёk !KͶ?V+ B-Aڑ/ʿ5`*+evVːs$kJ\ dL,Ғ||C vo8eqR8+%" v/ ct%->v*!ps)y0a`ݒ4>ٴ㛧U3NH&.QV"o!dY#TPC6g'ANҶ|޶Y;_JZo; mjB.9??2[伱>W@9;)6׉Ċd&ЈYJ_ ~(+"TenQuĢ;ck-J8r( vBSVn_[}]j]y מdW \υ̽-7ٙ쉃'8Yk)/b -闚GŇȆPvGG*ԿHҗýi /VuDR zg˟QL"MsZ!i+(Uwś7vBrL㯝&e.VRϐ86'eW$ +;qJp{tYp`"(3>؈B+M 4 L*0؈/l*l:ݮQB:'Y0vG[<[ aaN?E?(gou_JK7F.$.z+*vPS0_Z^T}7ȿT[Z qfZ n#.P*}kN6èLE%`έ3uSn@y*s&Ѱ4zuoMߩݠ;V 6{amLQMs<.: t/wpBYl'.$]ݭpi,"y𷕗GrBѥwz+tըwGO{^DO,@Gꠄs0Lt04"?U틨0"ӑypwg "W% <+.5K?{~j2L!}KX82"җ9zra[(y; 1?^wH(ݾr|5/* 9Hj"0思z[}qm+6~޾GTLmiLM KSRD_S D$Z}/Ĵ|i0)"8ؑ1B(+[}c3/q.Å^Rb |0oskLH%p7(*d>ə~+9TՉYOjJmgn){Q+9;- /tgG ꔣ xE@C3"fdzFA?@AY@H=yQ凸4@m->pmXVzV@R @j(Cx!|'Mc01?Mξf0nv}Pru]?^oP9*J! O\>Ou4\yH ÊdC>L׬qѻK.,ҁۿm:vGwh'"HX昞Na''{ij]"t, ';jDn#n*cЛI#̚ cN?S'4*䉶bP(eMXN'BwHM+j2ѝS`A(X䎺=-I,rrw2KD B+kXrҤe}gb'yqv.j+xkEƬ ec1Wcgxo؇.JcDG[:d(MGt[6~~Yt l=^C"!*s!=JGn7Jjs .qlhǣv_4ti)[ ?J(-j.ODf7T'}p?XTtvJ'[E ,hHyW`@}S.q#\/Jk7YHȷ{\nke?%S0ݖ̤cxٔS.\bZgB%⤏G*{se'CfiM`$Jwr ETvpK lUϥa?x~1Լ1Mѫ/A+NĊ.8j'GJ9}5\b0rxzkE *O`sֹ9p^:m,k~~Sr!"fyդ;.-/+:h@ueؾsY:H`N(~#ba"^툺G z AfS5|K Qur${2̺"h 698bhL5 gNbOAN4-}G5>O} j*{颧I} H RoAEWIUzlk|a2aJMIfr':Kgp$:$I(zfS1~o Pm> @Zg Y: ƵmhMd\4wSFt~.'~%GWw-@6%k]忳elZ=oa,kDbBg{A~cvAȅ4Ӂa-E@s\"A^8#P+L6 SZiJˬPOGkn^d6}E:@`UMP\2x5[3{T2l A.ʹcYlL F!ZHiA0[  ΄/=޸aypd=ӛ\/9MTFP]ڝ&m<0#Nleir ޅUe t5IRXZ&5"g[B{w4'6zDZ8~ h`J;u gjuw%󀧾~ڻ]梄kb,{ToLzQw*=$ACgm0d6?)}Jz#W7׍y楁sao{6[ЁD 3(gsѢA DKW/Ze"u_P fF-s!gk+ET8 f1qf1pb}hPį727/Òn=Cg)*FM b9Osл9!n\uI*]#(U h wT?^S{wmwƱqDR i ]AkT%ZN7U&6 b%{L)i/kPΌ<%H#;5A, =ӝ~ۧtbxuvY3t\jc4WXV9"kqa?X@0(lftgR L.ܩh<(;A}L9 [<0\̀yn^\{>nCAYG孺V첼ɛQZ<*۲]ײ<S[骜c- g&)n s5VXYsKd؈N?juRF ~Geo ,PnѐlEQOX+rHIG"wi:7-E?z?PL f:k\l&1(LRUA[#%CcFYz3/8Bꪯq.]}X_yP /nEr\]MMG$ 0.hvTelS GQ׋u>6MbC|Y+]qM^zCY?B~~9Mܙ^\rc~&ᱧqlE4[3J5J3% tƪ-U`*2C|L6ϖ<1ʗFQ6Upͻ?ז3ujJnЗ"qU.Y$sE3!C !RـSRxbd~jhu ˬ7^k"fh-ICEH. =Momr<^bք=ɴ-ޯ{#UyUZOBqWy۬u{._saԉM =T-}b}  NcOϭ6O˥ @Wm6Zc!`IYwVA%.xdrC~wtϯnx+F!zѸnVhֽ&J`=uACgH%hq:XB{.0Q]0>z!;CK^6Cc`40B[BEp4R:@ěR"ЬRYH22>}ܭEgI078QςOmmYnbrʄ~?^܋ Át> Tt;IsAȕ\]v5-X2kqV:Ui?k*߅$%RIR@%"ԕ_yI 2TQF *v'K|̅ e]U=^)]58OIRP*Y|XӘ/eBoM^+^?4SX&\E(S*\%ڻ*_h a ˆ{US'B֡Z\Gu"ͦTEH.!݉]ė`$ň=En:mY]R̍0 pa,XyM>6$x)G Z+*RѦ>y͖S{Eqض>w:X%SԞ1S;U,<L]EwzK=t;tA{WIZN$,qL?N8 9}OHmT(pw/*[5P]?cˮv˧>ۚ…Xȓ(JXO;n}{x$>w9lXXAD\i8@4jSͫeIR{ ^~ . 6Z؍UPub]T+|I]w&#H~!b_}T҉IS>}>)DWdg$b5FRZxen,1IN)QS81`E_R4; 8z6&8̔܈9N8ժTw=ť4jXhK%S}$u^2$l#6EUHJLoh0 +;rmm|!߻`@R*lj KpП6>vh G~~+&U,ܣv :{$1k1,̖B'=TPЯ 4#'O&ew,Bà8MO0R0R6Ȫ iQ+J+pf"ywTNZ(V\im@L 3RubX$Q*g #^8JBsC3ͨ;äCscO5ks}$\m fAF]ԸAgX')P[gyaKŜ`@~|{ؼ*|G'F8"lwl; `'!S}+ );]gMt]>uTEd7~4jZrZp v:k i'HT˚ Y/VoX/-m)ۦs6_ۺ}XG"{<k#AAJ91:X@s+Ԕ*`1`Dq߭0enqc.њUzIj9 ؞Aυni$ %XG[mhFFTn2V賟H""E (qjYC!؉CtE19( >TѼ<4Q!0kR,W'Ԇr @dz )vM-f=$ck9a){ Pi<}~sM AfOmmWHPILA+o8&3*Aůczbs_g)plnی,ua (k\f`mZ D"bGd.j8:.O`v*-lxMLm ^}HTJTaWAf?aQ|k6NuyۍW+PE`#:!W"8e;u}; .8T{_)ųaP8兲N$fw |!b:;Dxa UE<^>nړ\S qS_& T>JfStJ`; ȤaY.I.o/3+_C& 8R~`Չ۔7h]n--~>yV:VG<0/;s*4;r?ʅnm]ӖE-z֒8jco}& 5ϴB HBPI ұJ[%40?1Ru*TYfu1N@i *pfrw je Fl {> :Vv9xĀْ i"JEmZe܉@ȆlB0KZ&/|+} c2L*LQ7A{B^RF7*%.-u@ͽC̘$T(;Ͻу <9.Z0([lj>#//Zca2`DC譄ŹD@ZftjOEp]APmh[ 2ލk Y'ZFwM~zv:j@%*FV]f0 >xbXm-a/XgEU'y97ؾCF=oLU-ܛ5q p;lK%TNLV2HNgfCM]9}/|ů"E8n]CՓ{XH&YFnk3h&MĎpvs^w(2J4ùd{UJHm{]\A7jiʄhW]n5zt6ZrhK] NBuH8Qu/DJ}"ޖR,|^B,_x'\R1B)Eb>7bm'nSug,R?rHЗ{WH6T_O ]w4 b'4V}^X)zDh$5QVrIc;g'O)|ٜa\9滱Bk{V3@˾p3Yq?BԙRyJ@?gAKJχ&"u(_Х:Õ}Jj} v'S>k U79fE׋cGP>u%Z}'&<+֔tO[МgJ9&)Od S{T/NNd>Pz*['UA|q$&j/hɕ#\P\_ 590@ p&` Tt,RhNNUO' ׃{gK I|t=_6q*rQn kp%}[m MW^ZR1[D5)n0{F oճ5+C8L0G2ּtC֑*Rէc)WG}XNG4{7s6 S!\cp\;/Nz:E?==tcn;>~wypd8d3FEXS7,#'6|]^Tj{@SR%gͷIdm^Y>?Uhi7k 0g0C 48i+MTy'ٓ9!,Fc2H'Xix[8g.4)%ɦCɈhbu_<=#jPJѺaY^ŝ+hvs}hNI^YM;Iz)%rB17RqىK臅)<"&t12DdJ}M%T& 1\GGItʺ/ *SkXv3~_"S.'gϺẘY `ڊ)w=㝻2E% gC 5g_' M{'6._?i"WTtQW&z@KSEHJam؇D?Ɖ#TF B܅)B'\i㻎wR=ou؆sɧF |Mՠ5BgV#MIE-YX4LvP#}P 5?D݄)$RMΥV(M L7Z8^_ @I&LC5IEf$)~7fdw#4uݝZvHyݩ[W&T\dR&+*Y,ˠ6Kצ^3Kη ۥ/)c`$VEMӢOP\sPJw'PNsETCOEK~eAHT0cX{?jNТɍL z /v TxA魒OAdȀu꣓|)hO̲=2;lb1A<}Ɛ`?Moj\)& a/˯6&1%ɤPaq|%|Baj`KƧcEjؕ,%܎ٖ{wTr;L_z&[$dBe:}i͢QvӔ/O=;2(ecBo83g"t3bze[*A Xok(jGRiLzu$+"V0@4>[p*M%@/&\Og-X-޲3bю.ϖ9bK퇍"A͘Y.N;| ʂHDO:NUtEg$,5& =(e Ӕ]\2U!m#uYnGE08GͭG%3ep[,Rn*=# Uыx]ҝHC6ѮFX".gvnx)pDi8 >gNKg5?$=xo֓ߐ*,MoI˄fK'~D{[)uAL*d@@άݓLOBecMN fƒ RS9iꃯ2$#H7{-dzTDymP SA\ `޻aWy4T {q_a~pE`BKśL|] kIz- &QbiPgg t6.mN,z=՟'4UM[$,*57Ot؆{u7tqd"r:4Sm9k7VE#8N|֨Fwhh!JP2!6ӜÇc?2}9MD4:6gQ^c1? hbԾ\+9&8( rׂQtpP@ Ӝ^pr ժ"/ i {p 7$KolK Ϣ2K珤-9ے̡u_4eT;eI\ cUfVul3CӜy>60Zlf\yWXJ`ʿ;Sj2Hu'ے`2ԱI=l]utYYqQʽoh`Ƨ=7LxktDV,r>lz(Kiv;|iw"{0RN10[[ü=Ћ3vۇ# 2gmMJ_4=qG-tR]An!( `~X)9%_VD?9x1ɆLlrB oo=nwiU B%`Aj@B Ð5 YDiD:cz[`% w ʚcs3!'K vMz |Ybf+k^!^Uly1sŶ~^aΧye0dě=6q:Ev6J?“E{}BP"記?3;&%Q%H[oksgÿ^U)$% H;;0et_FG^W/D9lwF!^̳Ы?Q__.At`IpɁ1(}Fꗪ>+ VĪYCb;pM;;'lM{`Yc2 R83e(;+ <8bׄ&ɋ RtmXR-h/[ @W:}' e·>7m^: _#w,Xף݇&۠ m_;@%,eٸy3"[]#;wXOЕdesSs4b1=s(d?s]l^yWf,b]OΗ,$uu**CXJ*PL/tL:n4bœ8M[ ՝*‘jPΕbDV}ՁuVkΘq[߭Nuޘ'!9?"MU" v ;l=GfOuRq)*ʚ+QtjO Tao|ZRd{蛦yO[iI߅$>z̜]GK\8o ڼ*\Ŕ#aI:倮03\޸ USK>;(L1^%d?r?Ѕ`EY(J|CBUA@3:Y hA ^V \r#4G}4L[)30OMINZ^{Qx&!mwOqQ::$VI`i 7d,9Xܷ4 ^tK0їF\Ej&Jcfj5'?Q:$#dIm !$U +Xc.9H7 ^@.kY MRL^$FsRUV ~LEZra%,\F4FpaDue&]V^ny6(*cL S4[ݘQPe"0M%qw1R%R`GdNH8ۘ xcG"E or 1٤a]ۋ4+M`٬? =EBё(S:\dp7p$:ZwFCW?П_sM/IZ0dž9.ҐFIfSdU[XQU1G},X#'y<yT< 4+oT+'8ba%p-oPz'#nX zG) _t^E{P[,th ZD/9r ck%T7QHnoYVCJ 8$L`IIC5g޲]JkWv,}j]eX&1f )Q4 "A4* ILq|QX6eM6IPҌ!'6UUd1l5! MM+MxS5 SC~kT52F2j+voi~;pX+89xRIBh8?cIC/w\Q;@j^^=)r)pMFb8(>Ewj) 7IX dFuL: !mѱS!XueC?pZq2a\bUJ!z詎wb.ߍb}eF6 Jܮ:@5 7]GvŇ&RӳO̽r@,PjdԿyՉ"LV Ҥ< +iɷy+b2P-Zg\cp U 5ȱ0 l>ʡr7toE о=Q4˽eQ@f{!12f*} ݊ 'ݞNJ ЫZ`7~8ˌ3)OM~VNI!# aUx EriS?@D\WKGnKct Zp] kpO@N;&q[l=?ո$|'#Ǯc;J'kmL 3V_q&ˍL"F9dyw} 8'T\}}PlĺKc8$?9}]6Y Nw85+YeY,^"t5k# >̮=ԇvR~J*5Gp8T)?󹯛 |%]PpH $[XL.Jrb)n{!9Xgķ, \pN []ms 2֥ՔڊG0ѮB19>]@xK,៙>!QSՁr'fZЦ$Nb+v2#ԑHoPN"ȿpAoA^ٺޚ1qGPY/C{^lbۚ'  X0.njj X۲ŭE-TɆOktj*@בFr2Hh*. ~VFzLu7 P0^e[f0 \*Z,dWvg R&(6Q?fh-1|.$IW?<:an3ܼ$[)jXǀ;kg5,߰xNkBڰʜ۫xt눯*RئpSD'砢opMcvZK}ծ}[vV x&05KCz=Z\.`l946eoƅ'ltIَ!II}ː[jӀF2-|rxum` `銡_zQ|O;!5% 뽫 5Y]M05{2 *vO`LU q={pXc#E SvݍfLh0.i+=荞V L,^ ~gY]v w/#ai,-Od+a*)t'k= HhzgILDv7kG+Cz{ba5a!Q'^ljkӚTGjgEL8Nzrq3G*w/PC' ]g֍̺KG15\sY8 wKyT/!<70VO>\%Ǔ۔&W% $6 :;8;y[H.>\9~^>!+"|['%#-tsDf Z'n"œhJ ^QjK*Z [o\yrF1ѲĹ+5m1\ί|kjfQwG}>K#\I0&Fi~;vv\VuiC2P<>ĖE8 ɷh5$P3"_@5+62 &3IE;$2$nرG-0 ˚7R-h=Rgme4M Ή!@m}pl`Y"3*4s tE[1g*n,KXxΪ&(1|V]G9V0e}iۗ .ZnQbSivh8Li[v+hcb G<;wC4rqW"h<.~L_V_ k),Xf+㺿OOJ;u3JmM|jkݮx܂@A K<~^%D+.T|nPv^zi[g yk>g䬩+H9Fb$y̷CFPh2|o+=]ʔeJ\>^ =5Q~GLH_jC$IM(Y[?+ FX\7q~ j?A<$>[>hV#]-Low!@4 ޻"Os$dcCj@م3?X MN{K϶QlI@("ػ07Z(%g*up*|pMћٕÊJ%K Ko-jD/GuyWN'H-H(= JhvD!f#GW} w>y&L~1{77G &2&}e:#5$e>^>iDOhlm.2JdsN-ps:M+il_= %ڋĻW.ڇe6:R|]cW䨁fVŸah͘ߞh}$D _m2S>G=r$v5frD#$f\#uNU/68齪ZrG|4{zwB$k4K)wݰ(Ъ{" rCyt  )fJZ/ݘGn6˶~Yұ|n_t7-)ਇM@(&P|g#0fMX)%{#Wo&Zr)UH{Gx-)~~(e"284koу~b䞹 uD?I.[8Ep^"v=r!#rL5wqtدH`xLEa}o<7f65|L = !X}cĖb<e!.Ns*@pJPDc|mN'MMR>a1=7`%B:=i m/_2u<3-Ǵ+*He(T8?"96\aA ?H?&* /b|Rܥ*ۆEs'ᎌ:DloYMګGɟ]f @Is&`81xH),*rybE1!9R')hk$Yl= 4=2No&E#Go`AB<13ũ(Kw9AnM` J$}0 _]tu=i)[7s.>-W2o D/4Zy^x#~l „n>#|POYEH='lIxjb.M8= 2 #u"pB7Gy Z6>߬mP>?T8-?Β{Qct ][pjwm)gyNb!~ت+ӘM!ifE3#ЌG ˢhEݮV#TEp-Y+,sT,m@({U9mһ@mݨ%!W`*PMcGZR!K VIY z![C_X4. ydm_2oupDUs_#:}2A/|mP]\4}>;uT"88g\ks&cF84r)r 8CR! 1 {V'5}hLc{utZk1`S[_7N0V@rq 4m39Y0()UBfk[dvtQ5>8ystsF9{Q!JKMi?A1۱Cx@)YhKiD C?[ 5;9E:y-nHm7W.2'<\biŊE`yҾ>:tU;{<Ѣx¿9ِܑC]NVƒU?n޽O7EbFe*ZSlR~jߦ "1Kgetc& V}u 㪀j[)vr oTa2"| eaY#I;kH~nKN8 k;4Pd W;gbsթH s4` $K[os]7zK4{0GX)7XDA>L)|(J6FϺ9iȤ#I О#:@ܷ2 A^ N?'n2g޲*gh6aes)Y[YV]vm]҆2~",@A[S9 okIR'(ж+2<=6,CR ^ !Z.ƒLւG8;1D% 4,j1[6H3ttק;ɊU?۩nܾ쥻rƛ8LLaT+?ZJZL"ϐ rx*ʿ'Vµdjzb5n}Ud[.`M5a$<Sc8N:ElҳFN_9'aHNKZhBq}ZM|OyklLo>;MH=<;NU1|  BC%qb -(p)}0Kzj9yW8Z%^_Q|EWLR{pLlYyi:(BT , ݯւ>$K2+boׄ91/$xݧ8yvR &Tj9$1[<]ng0Tj>Kt8U;U ] G7%et%!`Ym?D-Ab:0e]2 '60dy@]z# SZ!ЃZ~mݢ{"m~Æ7|3$L*J\Qme"t`֖ҫ~ڇb GL*+%>n1מ=M[ר gRO қL1bu {05Tuxg H=RaW o}6?5U2YF::9.euW=+Ԑx : ɰq'cP>uknsӤr+*0nA[25Ɯ}I [eP4JR6:f27M3\DAG/.m`̳Z$x3sL~3v{ɰY.܌'qze ׸&~ | gyKGMOQlaDVScKX5e|HُM6Pu)MHrtQЉ'CO:CGrRaTc;8sW`l:ʍq\StHh/j5|ӯLv!|Q\Q_ȞҢ)chDHrPxxVΎ瞍e|,:+=CJ^qK06:x9#+XEo#rb)qI8k\Uˈ'*? SH~-G΄+$vAl%Sz־jECGY1OKA j,RHN3`1LHgo;>u!x]G;IWfj|8\=Z]I{Ug?K~UK+4#v~ی7b1{y7jwjSu`'quReϭCZZEُ}U!qV7DQֆ@BI@[}(@Dβu*DѼIWH`MA s[^*O}yشDrJ[y=X=׬kt9ÖoH$KPMmXbѢy?zCSt6hY`j6=)m6!¾ )/+emrU ]sq]Mѣ 1 T"`D@r3cޭ0N%VwU/41t4oW0U98Qvo&D=I((&jh{Z*i I Y $HGk9:;]K@4LNq뀓:V[zs4l(`fr~P5U],4N a"+Lq8R ; %k18U>3c+T爁>!kϏ7;F`kY: @X7Vhn;5I.whl UJژZؼ>^K㢕]5% *k+@8'kl4DBÒE*-1Uq(eÈ\m`^T@YT=!!lw;;ڂRݔoAkoO`$T]D& _PN.Nj_s=$<2T\gjCs]Ǧgqk kі u+C*yUѮ؟) حnY%hs3ukj LMUBu=j#TZK7뺡sѬ*M$lB pWa0T鍒1T;4?qe{YAհ"Q~6)InߺWm˖02 [ )#%t_=ؽYZ©l:Y)@y %wR;K˅0lR:Hwŀi""t=.0@eNإRdrVsNswXbb/T>8k4KQShDݐ@2Lk% pfKG7lyA:.h׽7ɯOKz'CahMnʰ_3ǩHzU,iQC:#7[?/4\"6EK08G)%|͕|O=:= kT|nYQ:?dP[Y"`D{8&v7BJϿ3XG5Hڎ*j2=BbK[{%d9(3 IJ=&B{.=GQzw(T~4*nίQ۰E5^R?[e6(RvA]fDʓr`}pDv_o4}\jŐz 1HJ!YZ5/ 8=U5/v IJb1G!L5 hF@ 6~ 5/|Y3mkҰ+Q xTUӵnFX|VL%gE۳X㻞Y1E&J}'Fi.dyMz(g2ě6|5QuHZ#&:MN*B R4w)*F.i:,%j~q% ":6V~|0),7P8,8rg KE"P-! ^YW jncXĢ$4*gtΟfgbr s>@fi2ߴv8}Խ@E)^\֐?7B^p}: "4-_HYs/KzB5Iwl 5ؾd)|hs>˶qZIՕZ:,>FF!w}HlFrenRh쏫 ;#7ʤZ Sɳ>>k>ě8(G,9ң>.1۩_(XٕPf ꟿ{܃UKf 8~{L[v(딃 H4fW-nP:1fjӣkj&?wBuP{hAāpi+JOs pYc(@"1YyAXQ -L&Mzơko`j^e~s 3nxvٰp15u6ϒf89J0)N_;Wy0MlY^`'< ߈ku(崄D"QKͬ%'dڝQQd. |Ewq< + :BIya–&i\ˁ}:CMTtzm˙ NrAΪFCX2xᄙZ6OKNg憂uY~a ]g6dM /+/ڙ-$DYIW{+G?1w,fDW jp:)8QS_eW=iƽj-s&u6׶֮lj\L+ċc5sBm,d)0CԪ+Mk˻Sf h<2kUX͚"Hu w1v;=݉3)xzzuHUMZ G_'W ϙ{}5ޒMOrڨ|,R4b8:!ثUuBT*0yK2y 34x=l!9 Jt)aJ8IVAVX`C{ !$@DsJr1Ǻ;NAe2o^tBsz4H;JCf|9rL}$$*dǓlN1 NEEB̡Dů?rͬoT26FGfdR -8þ#z?$DNaf^2k⡴y ƸhOK %V:)c-zحED0oCF Ij{}?} +#CGguY&"f& t\*"u[V$,NE.ݔ!"̰(^{ s%r̳x;~ՄOR(=uMKg~"N7p_u BQ|[s\-NuP\c!gmXxEbVrcgF2IV Dž>lzA+tLݶZrpӐ̊k6{mak)^vx"Nf ʬCú,^OmORIQQX81,)!]ZxRrC`4GJMhCJѮv!mYv^x\gQrABÄJ}"l[lPؘPB%ݶ4ZxnXnf[%%g*$%ꖽi"bPCڊ=FCJV0MHwTqgDH `sq'UFeCu,r: Z~"bSL^, s ݄)-C0S!N[۾`|K\@= boߞhٛ2 5I| g2H=;vբw;V`IG)/`)@ CDp-pNDhZ`Fs,p[s10S 5}G6C1.9b4b h\؆e &r1VԲǻfM'o+:7 WD+\s%ՑN?8iy| Nŵ =tK&&FGՉ| eV#u8XQL3)mޯAnV݅ "caE] 1'O}i7Ds #fylYb8݉oKfx c* mk&h(6'OMXU(CRl^*Jdٌ6N(dKdxN|_bm_,_sy-xZ H,Ø,,EfTv_qMH4cGWĜEANH B#0͆ -U%h8w.R7{u'eT/FM՟` OE\\yL4TU1I$vsD=Buj ?vr J񍿇?W=p= _'΍1m!Mc~(\,i=vr?M ~!}1@[))+e=z,RzK#+Hwή`ݤRtwHn˂t$B_O3 N7Z(߸2( #gft&IPAlޞ8 &@Vlu!*3;ۺ"ȶuoɤOU"8>t %9Pԯ3UPeѓ\ vFbtsn? *ѸWZ;efi~KC ntiY&CD0D,݋l7`)5 m%վ w9O:8b$vt6j(jxZdk)Vϰn҃rNR˱KJt0c˜nHd,S~X˹|_M!rz Xr\d8)ՉRUOj$W'n=2/^"eкrDcY9#"-Ä'Y{t6Elu*$' dۆVglk](hz]@h+08V(Et6k ?Z\jB!Ӏ!OXs C/4]bgɐu G&sWB_Q3xr=QRՄ{~v.V6ⅦRaY,AmS{UCG;eU( }鞛G /CVQ=dw9ILҷl8iyE$/89ߡsBpz}$q)I1I B@A+eۮ89U}T2IdD]"T\#ٳ*kk~`.CU |KKtPl$/|zaPY6]=HAb"y3& CsynNJvɥ/eo&gnDiT;QRV.LF$ќ2<1־4Gpsf`q(\l.0fDv-v,g"ަ>"v}Xݡxb۩[|Xd~ÿ7Ѡ8X6fo!y^dv ^m|TvAޢ׎cu2'2<á v׈XtS%ɯIe־ely09 1F!ƶN2쳝xDҚEQ%XR_vj֚B4~MO l"֝Z1wiP2=%.]:ͱeL }0P• jt~ VGDn{Օڟ+7&Co;I+?\>:*WM <[$zq"f3պNTB*5*oUt㐀eio'R,r\[VUmYb@uaz1փnlk}Nfg8D9R)8ePsm&d#5[cԤ>n9!IHaZab>2k~@LE] |0Vy# ٦n67.ٯ[g-u'#yש@M 27jPdҫy{aQɽ6Tf%$2.[Vl>Jpxi98tp]4?{t4C(NTOe%Jܗ [F;Xͼ o,06 '$f_,!@Pg#8a_ٺD;](9_Tfpv0!R;`n:(m'kq*NW. ez{KV pGKўsr|Fͅ⹭D~(%;&rmCScPPT\d'CzW KlUb;8r(whQ! s7[#Aüw~["üI+f \%E,2O6ܾt-ZOa%H%hn6mr'(Ŷ(e#S/Yth%D>ZHhm^DSr-u;%Nόr{hUtsLU=h<0.BP.Z*t]汛.e+*kc|U&x[5@G%%I= a2h t͂Q3Bz. ~>^^X^OMLcӠfʖ7G s3Qci? ?Fac"CN 9#ef]i% T(!wMM4L ;sFU8G%nX߳߿^3ٶRau')BY YfA:@YխFBTE&:"ğ7_eu6Q o!ImN 2[vNha;[{):Yb/, ;;]26*4Ȓ0$RJLc=[u;^GhȀd}v1l#np=mr%d{B670haP,fw;]Bgdʟ3;l˄8(>6ٛ6qyR!`uqWSB캄.O z!g` H5"ș/F$<v:Ks X 4)\9Fi@Ykߟ!^ݯiOҮ UNM`X$ɤ/m1S*.Y9]Y`. 6 Vs #k,V7K"_lO%P^=z6v ]y\?H9L$\u -|GO'o@G >*iNȃ%_HI٤]F +g@N.n#P{W3G}JySx8ʕYFpD㳔dPV O|H=?$\F!|Qdv kY^ݪ`jȍx]r.|{W@/eIT6m (K ~lۖ'zz!N[uGPLb8KPl+i PW 1ܲ BU 'h> TB' A= (rV#5"7.ֲ[E ]``ֵ68<)3 i F:`b^V\71{Y]@EkvHdH Wg#31Oد?* #4LjNr<']wwxSKLBm˭mn2h^RIs2cI;N?#{2P6XONc2g7dr ™7VB$D֭Ym'{p@=./_;}[\.$9FŽ˕!ȷoܯhF⣝p)#Id;v\Q%q |c ˭ѦVbd*w:v}HrU10 #"y2E6ځ_\:9sˆ'`za5 ޮuKQE8~ 0+_K-Y{(NuMiv'"VJupOG܈ekWIi;Dڸnȃ4lEE_@{K=F~a4 ܉l|OVK+@`Hr5@eispBPw abkːmn|,-`qm8lz8CGS_\aZ-.KHeqɜg5k3:gLK~x (9+yLː\s& + 6gj7aiB3z|бɦŽhzZnTk >FM3|&Sp= ]5:}8eO ŠA#at ‹j3Lєgm[b.ZWrgP5d8YÔ唓Jȴ yPoC"ä G݊c~3}`pI ցef٨E]Ns&=u7BG9LvȆfd'4xgӍW7 VʣG9S@km*-K}QcZP-! #r8-2׬"GnRsMP'3 !p'JS]^:4V*GNTy) ҉/]o|kذJ pNc"93h,s}E-JFj`dAh8tgsW|2r32Mj΄._{#x WUcu>UD0B Ñ(N9Fo[ѹF+8meޖ^Lx*:@sfcnfp"j}1G2="@%1iHgY%Kfc=EcE 3 IgȿGӔrބM}L8MerAIEx),͛N|LQ >2HB ^nb,/F3Kn!fД8T⩽=VhE+zC +&xhT|[Iirm PTA!NYK68%~*"Jd^Io/]L!TzXxPVHINvLun nwj{ d.ݑ;abG9U?g,*EO)ZKU?&RBvz4ZqBd<U<͸v24CВn2bCOYQިJ4Uݸ^90Y\$ ^}o`4!!_`|FW4!rch 8aJ-!4<B\:ݏUMs#a☴FG5׮L m`NhSNKz>W p$=*ړD 7TdR_SnTlF8vt3:ӌ{#*]wbecNX1 1H`Pİ@ym)..咧KaICS:J~~Њ d`^-vg -qRU\$h:tRXSk 3 {F,X:-4J< : 6ެYb>ICNlAzB$^RzdX 3ccZx<yVc7ƇqmGbѭR42.G~54:<RPJ>u<"#5M(/[KvN4%,Fut`:Xڠ )d<*1Ę45or˕Dꊝ:P֒9Z,Lj!Y64 qmEWdYeP̩R^f7?)<&$_klIK _tD=+k}ʜrXp5('-'z6vXv,oJLD5v J;Uzo]Ǟ)Gg^ ]çWV5DY ӯ~E ͐nXE~!JGN:9,q ww@rlG2/RP啀xQRWA/gw{Nb0L`UfH^$)I~ Xb%!DY-.s;8f8Z#kg ~PŽ'8ܳlM2}3'Z9GH3YbzUEƍ@iIc)M*ʂGk"V8Z f<1T%iPFJbٱRtT^e@2-=8 0G'Ǐ ,PDCXur >CBFmE)^LM % xB mIg B0JF@AV|<#COݜ7t&P 2ʝ%j. \y•*0E}Ph΃laX!T9k2$`4AQ),;`s?/jvNEB| k<)'0w#vS%%EOC9`Ju7ZRS*&j 8$fvUzkP%)<_; t+*'E&,zex]1JuIM뷽N9CHߌ\bt"xnG_eAܬa"nѬY* bʉ g3Zߤ--Ώ-|ډ"CFbw"<;Xଛ)Hzłd! g:<#\zKwLtuQ1&MMm6uu%3j3_]Y$aܼ(#) VK)Ap+x!NV<.;C `^M9D >f娜P^dߕM-Df5(]\3x.P?Zq~k͞1fγfw6<|I!"Jd/_y]V;W9-xK.YT.HF0ḙqٛ ̠_jOTV< =40/4D /;燁h[![7"4B3ŮR9߿2B*q'}UH/GC|vK| ^UX$/=,*\xʧ? [!GW8=le橑[\2t\Det;gXm% ߎ{/f*^F"FШqCIWR%eOzY]:OB`Cw3@A0\H M_D*'w FGnȗ2[&xC;YZ`I0pQ/o%Հ_tn'AHB$Dg0^0NoN:A>Eno]ojZ\;vۜL5#014NMgHhMC Zo vw@'J7)\Q5` 2x]\X?-x4< ySHZ_3^~DbvRhTM4%D,P1%J\K1?{Zf5stYDyn]L4܋Ci![WVȕT hU3dW ;mqWWIU AyB\cxYɕov5s@h~M 2[n0ziR"rYK-t0Q)PbL`C+DTH@P!!6QG5j:R'e ~FAk'?Qd|"PY`#S12?5f]A /֝/˜$U{4by -yUw(3mcs}8ݲY-L.sxH^Ǭ0(מȥuu"drAOc9DF zkû/tp8Xwr9yO;ȳL~eŒ%/g=|dQ>}MH@x"xR*Zm|j%6OjĠ_F*WO#AE< )y85R V@Xܚ@2rΰ þK I-^+ˎޫ4'!I B _d' "~K 9CBg>z73^H"9M$/$i2`Z C8;,{ _f`֓(g0[_7h{^$#u1d^i\VWD4I+Ģebg20?xGIӆۨ]`.ܡTǖz]KT6G6FYN I^l_{VmuU͕Fv@cUljRp<%4VnF:PFi y>`[k@%2Θ3߇UGXF8M&8}-eu 4qA%%1A;$b|3;:S~L >_, 6^A)|_&՝o SM틝R@Bx']VmQu-'#isrшgD:29[M/ jM>e5 4u,gEUibatr&\c td59jR2K;!6ٍaxITw|uc&h*#S AP=GVF0Z],E/o cqJW]ԧ $Ig(5(X!:($*o?ozVy{wv2qu8;NAN lnk¶q݆1%(_~֌yCĭ۞jw$R?+,Z~}#N{oٳ:V[ 6c(BaUٞd "`R^gAM֣`Ea'd.nńPOu0C2_L Gm=NڻSfxse!^~Eˉ"k( 'EcBawevr~sӵ ;`[]\rD.UUaP-sV_ +֓XǴz6nvBv+dxuN~$]Uqw.2Lfr?WD  U2c](PNVZDٞ 36Y&X.)@t"_PG:DYCF"2I3JVK>|牸$3[s_+1~ htcߠV&4 }V*{"p% _zG&vtī/24`̮%Y9)RkQƜK̚o$ȹ) *,LV #Qh(`,: :Uxzo,]z72I" ZxᱰzcӪ&Dw!~ y(Z \,ycuZc~0Kw2ܘi)={Y7SK.Y!LHGջ" -o@v0 M+h$ r0(j;I2 F~`&2TԶX`}p?ץxu >)]%nT71YэLNG_ ARWorK6ɏ+*Ӝ%S=, sro,=#_ҜNtDGkD$m3$Yf(B=" "x&:WZqЋɷm \v<s1y Ŷ*}=_`%8k55vqo7LERsEhyԹK M&uJISHh|VkǪhr ZR-;J#BNq <txWI$]} -$txU\\HP+4=XBAK4)]djVa_% EӰSY(n? Q;2D˷@Bg.cC9Tl@- S.ƊPdbđ6NNԽ~(ՃH׳ /ْ'ɉd}^:9[{ݵ@\AdMcd6_"oŢ )Jmz"a-[JňHԋhyeiG.ٱ0p59"{#Qބqg 2pO{ܼd{WZe{i',pIo U?7[w)Rxf|^RH!'p/XY!k!BcFc篰. y20-'ЋЦ,Ca@1B5df(,e8]9N5!7;W<^_º~ \9,+M9~"&F OK[%Z.*)M ;Ts6wlR9M.{sF u'mGFi6<rS~f~D~ A d ;ΉfW<利#:{DO)H‰!}׌?͔-jbGfٽ&tB?򻹁#AP̀%3X+R*:OEzLs'dL/y8r7{#$vBfeGuhJ܄) u>Z0v-%/nY_+ RW+ѕ `%c^de.!$~p(//%K@ X<']\] + T{8a::%]2PU}:<z.{A8-:Y/=N+?ۭbW6V*W,VBTqbB+'bVۘڗʙ\qqr 1`H\7/>vDnVqWfYW4*=V +(lWLVDW+Y{ We B.(+NIdhM*] Mk6EjyW2D>R] &4@ݱD^L=WZ"j2TqP`tE NJF켋JSoբftIDXYRQaur@(:z(]vV$UhVl4D8̫75U0a(|r!7+B=x;8bkU?Oq1Ӏ;Qmx]um*T/<_6-=\U4}\ 8.ïgiS"'`g]"& CE OAJix oⷠsm&OD>>4bo<.ۦs{ Ӏy7(sǎp3 ^̈4v>GcЌC&u!UYWC~K9%[?P$@=ENj=WȽұŊb:!"'Y0ߘKgQ!1s {_qKӛ!/FX*WYP1}tG{vk@Pe\oa'TwvϨ^Nq_ɕ=+b0/VWeRVo|:#ErȮiLJ zz܉WN[M4\){}v?#.v&(]{߯HF0 .z7Cy{EՁ )f{s;ۢ pZn-[XN݀ǂS!zu :MFt+\_X;SaG#H HI٪3: v UDqN*1ke~PXc`4X:Xs,K d7Fhkw&qHDŽ}r |u~_Y,>s C 6 Ĭ*r2Wx^/H%:lN-K27_I;('~f=kWL+2N\#ԺTU1GaI0T+!rz4izp#i 3 x*ӃBH;gRЈG>K!o> ~$l=2)I, l4G#uJ `NN?u0߽[y!Y` "vzŀ\avv5J .n]sЅlE'Lv~O( bv6rxmYB~%vaϬ9Z sFO]6PS?lM!M C~ONSx5|QR\hUXE6Bfr&G0/4MfET'Ss^^.Aqxh~< ܵ8`~h wS韁srސ޵ISSVҹODŏƃ V(&smD>K@z _*zR 1ԝ,V,7soh'aUWZm,k%r9W0y%ı_Er嵏ű/U MbHAAIYA;56>pGt#vf "YwK|1((V %%CnDZlO7 evONR"6 l#o$;MԆm2߱ !9uF{x_lx,ɱ̋IԐ('K>Zd}cVk޲g5< m NK0||X$'S?ef\`yXZt񫤻\%h!ˊ;xԤg)~ȕaPyF6§`ڏ}ԁ-9d64n6sa.9b%B le{an+%} ;MBrڟsLQ;ku/IOn(d&{ T] {.J{}Gi mVүUSJBvVٟ;e2`A90 =`rQa!{TҶ$6k7|> Iҙ>gݶIh*C*%tc;4~*AY% (2Mo<.pWQmCAWE(ʦeWRu{w\$.hf9Ѐ̳7/bt[Q~cfP2D 1'+iԡӣq`[j>MJ3kK 7ȋ'&L?VWF|LgGF &sͣJ30+g(<6{;{5C.>r` MvɝmkeXjĖ˦ll6":)/]!A8 =jŕccWx|2-IiX˜Ia8.OB8nX[f3tVWѱGú)Uc  QSVe#)Lyqiy1jdؗ(Qy>y*UI[ߒ5/;0Uh$ОFT>; OnY.&U9S<. Brs\ťԎNA#nEPZ.D偢tBJ D #9&Q4PkPd#jy%ED5O xdߒ)X\/9%T:$»PtG D%G"baD͎T:0pNE#yC{f5_nsq z'y*ÝmtckM9.I`p \(svmY~^[6N,jX.gUHсk,O?u$[UZ(̪uw(&̷+ad1WL":wR3M_Iz^~1߿[KF[,TpOcaWeO ; TzZ|8G)ovٯ3 Øw]lyk !B3BEa2 vgE%Ka ƾuDY!\s˯5xt>@d>Ԫ~܂IZ0-`U)TRrO6Ws8WtgP N T؞02e?ڂ;x.z!z*N0 9XSyOoVjjq6Jg'QX.웱}}̎&u 4ta Dg-N 幇" =K&i^KFuK/PKKblrz{Ql@~U<1ٷBt=w/$"W'?ԝ"-%z70{:d jէ%WA8..t=wNϞy jXK3W[obi>toU =GXYʝn͵ܟ$3Ҫ BFѥ䘄Kh1~dc1WyM112rLXR壃 !{mxDEb J^7`',pؠ]ܡ3Q8Q\DLhWzH PJD۞9ӠM7ACICŒG~R-'c=(e2`ʭMEW$̞x R=X1~~yc\nC- γ /uZAsWMu㮊U y෾u[evcRe#6[Ϋ(/}?8х]q1I_9}*aC` /oh7n&U;/),F+qxsޖjNx11Q͎#FdPŰ9Z>`\sm>@cFGf k#[\  PWO_% Bi !! ;ks M.Sŭ fx*qf:I@\T!}4 ;ORgidQrpJHirBt<k(Ć++r_uY3a*2ق{#*d݇Ok#u8 \KHX^Zr", EaqCBCxZ?YjT9ԃw̋ qnG3\֕<φ\zC@y9t5"Ȥ> qгl Y^hƆ]P-Ëh% CU?o1g+d$\IG_.lg QSd5FZͱ`|4xcm ot*}`  R10a:>F/di&Cmwwk{(Yu#ך :,Dڛ%l[݂ ,J̎7h7£.]b ;ICNz_2zB leAWj2eu;&5f睥Xwq \_C$4T:,f'zN4yuX/hB#x[@ #k˂%G_a^Ct |n !T+G݇Ouf_*ihi SһUଘ O$fHjq<2iWE|flqp9A)3o-J$D@M\+ :Ww͂)~ϬlX~}Č @M|&!fp/5- ?_mb桼D(G0xc/2Yhؔ?z.U5xeH1%/I>sQ\w*NM=r.)JmKi~蘫Ee~2\%eQzҕTo9 qCS%-eaarYy rN3zª0[~4SE]߁g0g7X;miFzg&?T1Xd2fb ((b@Sy _QHc{y=^Z$X¶Xِ8leRHϗF3~ag׽SAPRk,jΛ?Bh4'Xk8wo>I]̧._͕ZU mR#Gh=d )T<<F%U9 / O6St֟ W;nwo5Ҷj-).'3P@=E;x &Pem7dw޳A˙F+n82#U/z Ln ~{"1ؾd,6` 46 U  J۟f@ #@^Y/ߘbrq?P Kc'k&:;2n# g3K ccavW& p3ʝR_> ?Ri mmDyJ7Y&c?LǢX<=?9g]nvJLOS{F^.}yA µpʋ*W ]dm\8xoy d(O$MX#?p )1t{P=«-*|gnH Í}TK 6Q:ڞr9{OTbb4\szj?gN"lgS:+jX* ݌.ڔ=9v+z&ovkcܑ>b+”=Z+%쐎.V/ü!M$1ْ [*?RĔ9I+lk12'hF/ ޭ1Vɶ"N-#T$E+{~mkv fw8tw*m)|_!OKo'qKvuѽTMEoB[;yqlP1D>Y;enԀRuЯZhF9RxdWb^B;WO $B'|Ĩ6#%PC Awz>.Ip)S}._)TwlRgc CvIX wnE;3 L ~0Q[VD9]\|TrvuyYRd{&|oA;1+OSs1xE ,g/D,./9팮n+tٸ{GC`>zRm'Kܲ2IjhXSWxcDVN%]D:f"2Ӻ̀lQ{rڱKB1-D!Oeͼl=ݴN,$ nӧ6OyrSmg6ӕ?(1-໹u4WڀLWOèq6OaL'I_%H R|L{O!T4Ȝ拎MPsm!")0W@Bur:1b)2]Hc߁F.1h 3=@?dN px . uHg Bj/VPQoZ~n;:ޒ,OW,TN7j¯Eh"1w-~0]lI?J{j~?uW7$ttКV46BlDW M9A3`D o j!H/uYQ6ihГL[7d /iQ>y):0CQK>m__:{$Sc sq s5jl ۚ% PJ.[@hNn2͝>4'40[/S?@t,( @Z>=ENYPX${?@J4A;1р= 7-yݯoI~/"J;^qMӷ,}#9Db|@oaEԻ^5IQ=ߞ3 {p!nk9OZzn} ϳDOV*>{ J<8{r2o&Ywc ]LԒmC T!_4,Lq.ٔ%>m˔n_BA(OP;k=mDue1a:X򵔆,GmD'VOټz]V_=!&WLa ӄiyYq L6& (#*. rc-=5xPJ0Is);a0U})f⸆0MMXM:Ih+{LWP9=%/92^Pvkj' qX47 ΄#/Z0}7b*.ЋQGMtПOmM%TR* K{-9/{]NjH>6VO;"1SP3c\i>O=i}ҏi}%*Sws(ee)c6?7 sʋz8Pw"\nX[3Dpۥ$m3Myˢfr-9oP(c||~>[5%/"Ƞe XmJwV?чmϠ/ ۺ8=ct.–,(@9^xh&H|iKJ eeI#^~4'bz FizE.~^2J<dujc!yq6n 6e!J3-e?&Ih5Tقl-ۙ͞As#CG綅t"so%aiv)u Ss_B;)ޜ^W~ ZKfeU-ZZ RݯDB~1%γqu߀d8_2QH7l\q$[m|{; j~I)G }uD4oOud2o,1!+3Rϣ;%Ktk>~]w&>t8 0,]!6w/#*;b+6tLϋO31PtiU?_)߮p]"4e0]N2q.E!z/4*v>Z9ip}~Lp &I4ͰO=2AwZ9v(c]NY8`g C 8Kʋ sN=辌&O2 ,V 7#C埄9 cOW?)YĊ #*0apX…!d ?h- W[aTuӦ z5S.Jyd:Q.)Lu虫EJiT c_ dvz@uƎ Q4 )k?a$γb49Gju| zĊ:W#V&었PEzsmJu~Fޚ 1Xz\_ra& B%W&$i(;[$[/;%e ޞv:AnnՒevN"Ɉ]5ĤR~ڨ%w:HO܂qdȘv<^kF#d"63!W /V^+%a6yK/X=\fT\Q.Ч2*h=/.$s,^]'"9DwɁIﱢΛENLAJE:"[(3FSψ}}&hq_hVJ+$fT:HC, 烤[Fx}2Xq8>*,,~K1h$~{L r+!Kn.F 5ȼt3Qx雛K yQG 'ɬe2~~{@A44[(~f43*ZYץ wv_FR=9 ^#⸡g[ݒ)u^Пa|(+B>҇â|KQlʡwtl"`M`(jdm:_~#olr<'mxIpﶨM2F'oYo˫$]$ʁx@_*ͥ ˛PD"aʌ;SHU nWBt!ݗl,h~Aج?ґ0{vҧޫ_Rc-2\AN-'VNwc$pYSbGԺc Ianh|-wT,,euz@9r>Za&4~桔ќ?Ӟ\ΠZGSه]{awrF+EXuw9,F!&Ҟǵ ~t# >Ȫfi#ً]\fj@K.Nh  azkt"̱Ȣ<L09KnF#7U9z@^&xTnOc V)G)ĕxgM9fW 45#<6#R5T+(+77nZA1C%qI#D{@h|ZL+g4eem~Flu5KԒ¾kZZ?Ī]LogL}٢vlT!"f{AZBI2< RiZ0INW44uinK:C`ޛUkt9Сddd=REL89c; {>C+y>PY{8\;ZH2LAMUK)4x<@Fn (,e&-d#gXB?I>;@΋λV^fOwK򍆒qB4˩[(J2;}n',2aLRp' o#Nq~[VrW-B*Is*oqRPj Kt}DSt{9$lT7t|Ym`]X5/9ˇ;ްoE傏ܞ:Omo_XEMS,)z,ʨ>IەNDMX%d [׶L@kϴ|ZhA+&iF  >YqMYo89 SyL-)ZmmvIA 3 FIJhդ# C H-H$2&*_mV˖*kHix=%|u:˯p}}N=Fną;c3I~qs(}!ڜ"Ƹ*oM$KKl-Ya_ B!YC#UuQ?} Y uŮWv E6CP JJΌ6+:n ֥.t ĉs8r$ۋ8GumhT@u ѥl%} C@2U"LrRnL!׷,@RW11Ⱦ_!Yg{Y\i3ᘿsXq%g}=3Z7ML$B,pVVHwW&@C b}U dU+Z^4IPBRkM! j8 /LI+oOR5Eh-H|}!3$E"ч BNR< 9eIHtGG8i:hˠiC| nK,{D{'V#40C a|7~h-:9rˆ"5M0;)h Izܑgm}W%8SL{jVD_';Yɹ`ЪZCЗ^m0홻X~%_j]0^׮zqD DűC!<߶ !*⽴nHyxY_K[9e=3خDzlUlvs!ml[!!dEi,J df] L}}x^y=#VIR u@ ^=NR,|F=~ŷ\9S̏DJqsDy/DŽޕS? 1O"CU`z󾙅l[PwXkӕA?_SD 7)DBu .V*,l#*fWuvbs9Z;Hϵ#sQFTwhLtXʳX)[mab) 1>:Gdۍ˸p#y⮗.]mͱ\9;nyAV}0r$Pk>fxEWk0fy+/*țvO4boŇƧ*$_z>+ʔ]oaK GwQswk\h'Smӯ<ʕ@<#Iy<<>(hOk}jw :-2%hQaoa2!Gl+LT_yP; Hұ_--8:Xvg.D>=BBA$D~ѷl_d^. \4K:9ƨMJ$ȷ>TD $5P$eZݼwHV`UWuԚd;>A#OhjilxɋIܗ#9/Kp?zq>eE;_YNnLYJcE^pQz*Zer|46Yɱ|V&w2jʭCg>]9;SISoK-IG`g+˸#>KlVWU8nX3x"\loW5=.ϱ(^Xx.`.zXoܳoYoNU\ݹy11#&ˊro~ߖCC~av$\|~EE_0(NE<ԢE1F,bJxƳEͲ{*U'ra0Jn`^ l+/_xey`ڮ?ZEHF&6l 29r?u{-q%B*]! sc8#*]hzG{$1?γ -a>0;ҧ;U@چd{y걹UǜL5VC_D'h|AjVRM! Cpe J%Qv94$}ƏϛC#wnF3@ݎ WsS|yHČ2ZfX6'm%27>H[C#s+~ /Ⱥ?ϡ\2evdP[t\; r%!VZTIQ~;]]']0rw)OT[vhXjc=z }A4[$ (~ C=y=E;{[[Ba)\.rFGRgIyBh4'(V]7^9F@N#GmT2m>nq Qyt(*i6WrIm@Z+V}pP>/ #߲ItI>^_畆7c@wfЂ]xdrLU} M?%EWWMAWi3%/y AŶ獼oX\Gw%ʩ#cAŪE PO h H 2mckBBS;؛=$1vBS5EPk2>tP?e$IKqbRVJ"v_l&V:xF|Y~UnʎLIb?l"|YG)Ao>I_m -y6ؒmUgns3]vEltJVV9,ғO2֙Z`xUy# Q$R~sNE&4P$2.T\+FG#?]hOxyqq]O uyUX9T{\ !T߀ q'@Ye/qnZt jޝ9Lk %4MpKŻɻ묣02U,p_˹®x<8@cm _#ldE2|xQ,87A 3S&O&&fnU<~,% ʿׇzTߓBx+ʔEA/zmKjpۘĜ(ߚ(F ^f]A:z88] Pz࿫lE}:qVJ`ѫYۉ& H] cCk"d-JK&er=F7 YD~ _8,᭠5FouCzzU>YFG''֟4:!q=M3kaS-'!tN vSuf pK43,.k'p]GDJ6v"B"1(RuiNkz Dž4`^a=Kkk)r̶X)[C5O|L.H}2+D]Q7k.tvjI'kn#Dm}Y9*21 A"*>r|?P+IYaZ2պ$]ҒyzvȍR>5>K;4gK x!F$Ftl9KNDn>ؾE?aEީ\Ϊ{NXh3 KbݴLhϑѿ׬i/pl*HUV ۵tR|3Bk/fB̆+ܨ$GH~<0#ȱk0;Typ0/ㄧ=7N3(<68{qL%ܫ&Ns CS_c9ySb5Г;kRt7VM.{>n52؈$P7Kݪ8H?b4@F!,@8sq:tj"_3f\lm2鞺KxfR^~v'?Qaz/dXZ3M ہXY}h`Q]vNgHU?ETv+%&İ'1FO.c[ZThJiC1&R TaoV+CSԃSU1鼭]pg4="=֏)?t 48ς\6:?ÒvQ,Y `De:%-y/j)12YR!O\@Q'wGqo,?<;(}m=^^Nιa I 4 vy$Ӈ&kV_ ЀF.^'Ym*"PC:՝l$^oF#4J~vgp{m(E%F#irZI}6rdUߢ۠ %HzV b{ >n0K16 e|ې~=ܚC0iN,8E]a 'Lf 6]X5I3)5hHcVI@ Q6jp~MFGtN[Q&|e/ :KuQuTY!lǠ¡$= B8޷ ctC]<ғl*T!M"00Xe4 ERez3&2u$]Ղ{p;3 ۹Gx"_K'“wsӸwQcB鄡rB^3x+[@xP3moQ\2Z&irHaqOeӄ#qHZȐ1}^&g^mzbRdhQy"$ $b*_~I < _QS:h/M7kBQJ+$_1-h$P~/k)a"]|ԸE+.C_5ѮkŹ9P/y(vǵ3F>[Zs_;칕fSBnppm#rL:T >)XK]`KHY]Ee馲@H YX IAIb5Ws?1*gZB6pqy% NiIdͰwi48Q{$o_kLjƢE A^ӴsO}Ӧ%+t̯! }P.ol\koWrӮjM!kz,vEh|139`ٷܠnOUKhQnW#]9&ޖa|ز܆61W]\P O}|1Ii M,>7 LW-PXk8y[JTurBOF=mÅ %3lB_?#ͯ?^dsbf_gq~?b(:~ V!;rEąm(1kY'Uw|y8<*6+ iidCrolRGզbdcϣa8]PY&) n6a/ޟӴ[I4cʟCtKKrJ|N+SJwr3 5Bx_Ug]θ8B9v n~WxSzwb~.1R(u .>{B7]~ps#WV}Yesqp~+r#8qu+fT`=U 2羄K\cc!xq s U|٘)Ɛ?TwjG 0Ahy(OmiqvV=˱xaᄞ˩8S"LJ0o=~'l[۩BlV=@@LAJ8_m)5J¼/;iVBxZ,\T-OԼO441Č=v:!ݚzef= .RG'0t!ۧ(N 2zWZ.QּB,yb!Ft W.W P<h yQqgV(8O8;W=+<0O% 9B{oÓGK8^| Wա=z N8 SD OoUzig,7V̟{U]JF *|HW0 f $ѻ+9ZU#Dt.AYrg%蛯VUkГWebECm[3 O'36w7̡89{@88Jʷg0FxN^#敦"rЏ x99 遀(OI"oUӶ܏Y5_Z0gaߚ$l]\È{j~G\cpfVW~A/\``\ĜKt jH@+_BB' b{ήeC HyRs'1?n`$ ]j:D*{Ռ?߅14uGILtff_ȮF%,5qʱ ֡1H*bBZctW{D]0bEw}ThcŸ?2mO C(pʖٻ猲GiKj+MXI%̔\2pz+x4}nAXf_WDC*v3pM7x52qXAx`q>j,e=|D  kS,?Bk$GUdRU!,/:qyտd0{k,fHԩ!ZM.}E$i;%YeauڀX5TsxqB@e ڗؖ3}&vb$es{RWwj7/mOtJ9e~t&3 &ҰW'z1+ 1pUr19]~Z)\ yU$F>OIs'*"k=g9\۸t0&vP\w\HPE+[ x$돹?$"#{ {G,d'd '剥⦓oθy/Y8{'!u36^٣#G ?DY 3eU~I_$/I .jmC9bPB4B PM(:DX؍ ^&LYÔ}4 bmsŖ4#+U8J?5FLqa~{Z*"\x$# (Li9yi薹ӲnUI#GX*_)8hB?PO4kjpID66ɕKw\SsSE VxNo>xDI>LV5y=)1@JZŁ`Iո.ѧ&atbj7V.ja=Օ$j .JlW<|!9R߅Mv9i)0A8׶-òJ bn'fL~~BBˉ}|"L Bg^zauYWn` } 0TR_c I%3d:g*(Fcwc;"KLu`qO'"+|wk7]Kt#=[NdD 8橕8HA;%cwώKǍ~-z?p nɆ'_4WWdف4+N-½ۧ}s,ka18vZW<+mM1o`2.Z[.jݘAזNڴ.?W24U!"0H S{)eJ>xpz8*{.| f]4e`G+- Uc҂9c^+z<;Gkֹ -QDjS74 8X^Č4fNqCgaV `5?vz֠:U^ͺBE!KMETeItY5@{J̄ƭ[VZ]-x,"|<j[gx`%1'l "~t0ɥ ;X]AN$jfQMp^mJߩ#LgS`F.%3Hc' fwj~BM{Zfɐ>ngG7` H Ё .-F8i])zd)w֏.Dު/ nDI!K)e nw#1+9 わe#(Hc W %@\+kpRe~AZdK-El8,A VԄY:W@6-Eohp1tnv≰x]bxu d6aVL~hmNT{MH.|-19a({Y [Q}NLKkhr; !ؙZ~VnNqs ''hSAHԊ"߳W o$nyno5tdԽ ,Su'RbGlh$3%pE jIzly$aƮvW:)}R{2sO/?dp''l1뀇<)%\{Kț;p;, KbQ^|WwI\hӈ@{}e[MJQ fR1zl@! a.tv ?xJqzŤxzƿ2{!Y;jkPIU~F3˻PSP)&^~򬝿327&ȫHr@D:3vDGj weyថ1GibQ>j1H V8KTMnDVuӫXdAƚÐ3 + nWFIқ9jH:,j_>Al,gE֓&VW5Pܚ|/}_7t1(Ⱦh@c{Lu1J[b7AnI871l/nPEƝUMn)$dHg0P]?/u2~]?嶥#_mm3pgA[O>],SZRiocbO6l,[)0`cP'ۈOM%k2$9GQȁIidy4s!D.9ӬC}/ :R- ۏrF^АX:ߟj~XLQ -&Rl$7ӯjKF\Wϥvy*-)) <$mClk+ ϥ eVD2)͔{{ eK@DoI N?J珺@ђ!,cklcnvzk }V}==[pōY%S`d\?A .~Ka*9MϬ(# ΙEViD(+>fw EX{C>+~+,DynrVYUeXh,gRMHސ)8}ͫW:f4$qr$]\,6_f r^ K_B3JVfDTW\PMّ; gș_>mAߓ|`.HӏQa.ژ 7&R!gRUŊZW$N~{c3R<w0{2Z,W[2zk1IF~[0V}h04 ̴H[t^c9ZS׋B"dAWC9s " PeuF}' }ӓ&|e u\]1geNSU0c_CAK=cssvTPyt$R=̱p4L!aԒ^* ?B3b@@`FI-*T5H#dm|Ļv" I?;t7fj^kb.oj#r`Y5hDY$V'Wނ}T1NUNwG9m^PA֝z8ɬ(NFPy/$m>){NP'LJ1PsobˣjĬD9߷zoh@)ٳ8/G{i1V/bVKa&Y$68^g Xᛆ2lֺݓ<* _Cʠ?fW%v ڲDB >sxb##-.W_AeCԫY/OVc YiyP 89 ޸4VZ%5GNp=iyX_2ho&U9ЖNÌ~dC4]KvӸ?ARl#mU7+>V`"LȸFUC>h ǐd]+"^٥9 ;\I *R$%$^LQ_ѕSAz!+ҿ2E =H$33of,,WNU«ݶT^{}OkpjSnЋ+7RA݋9Ne9/ZERn\Co']Hxgva@=o@׫]>6oon(BJ3dx^a$kUMM@A3E3EnIo= G,,e\l\0B6b.(2W'V~gLz_Je[Xx P0ya'!Xm .YA49֛sUO}nM ~ je\}z88;vCP.qN[2]Y+O0 4!ŭ"[u%Թײ[~^s3׬̋XWY7)tqbߪ%* =@f;xw?%_DՔyhiOmٟW݁HA*@5ڱK}j-˷is*8Aw0븼LOc9FE"'c5)%n7jpyj~]9 1l}af) >r =GR`3\jxrFA$wA61戈>:DEkAm>&V3yu[F!/ # &:A($'Nd/%3jNyV ^'-UnV6_;;^#Lm[̡ K|ݲDD'YsV9pλycL^=9YUo_&kGOA~!F"YB"*UU0-ShSR _ֿtne6 V29\gu%qPSq5(7͝L^tU.sÎ.DrՕ# 'Y$i7FvaIdSc@d?+߅˅T,oEjωoߴ/lp/pM'KvE= pdG|3W{W xv_8?HGglF$竺O^][^ՇxFIRH=%|t ƎKJQF0AeY'ERQLh̀i{GUt_X|7SØ? *Gs{]YWtVDpUu@CF{3 "7|˛w8JIa.`ltX9de R]C2Kt)pD/@x*#]vG͉ 4o6n3@{}۴q0Zp5#8:no7pvo徕3u$ITYI]ƭL K=1kUgDKm`.^/I) ȭ@jѴgROW&?AC,3#fhC퉯};/7*.D(hy<1W;q1Xk_E\HR.P H-.Vx#?WBHR)>CR ul?[Ryp"I=0=^144R$ϐ ɣ8ʚJ|"iaedBsrZF]C}8;W`BoQ=BAŮyk.: \Tvjqu!# ؠ,Ksbxgŀ5,rw5E9] -r%u^?)$nH˃" ^~e P'뀯0[gxR߶sF_+e3WNE~0gy[t\"NbiQяH?jۢ]}GiIUg*gf PdyO۶:q{v+k5(xm nĶ@@Au`qoKmԱl7=񴼪q[ɴoYZ%xO߰k8eKV3-{zXK00WFnAY[-{ߎqK;?/ \%~ $ G6`wA懕~R[c}+$VhZɢHk0J_PJ ~'ɒ_";ݓ'-ׅGph Cw_%cD&!XExF0V'.!OބVݬK#|߶_RQ| 6AgP[OhADWXG!JҡZW!u߭%#FIP|'|XO^&Yr1XZ6_ `gK),7% dǂr'gxNҜ{eL{@sqw2(`Z*u2ez0E5:=&֍6:U}шN(V6}&s ^5{,V.+]# !Aɧ9_լ&Pُ+s#½Y! ?=Si\ԏD+U^ѤJ&dA4%YbP SE/INqlѓnЊjM"%~+VJk@b# T^D 蕏߰3@>Rl/5>zQ CVx2ZҟY'vxB_+}>M;<%nHXs74ϧg&<+%J.3֍Y :yt 角a8y$cZpJfتV:K-[t:ڴz?US*gh%WP"pibp TaBiehN6ز4zۿ?5e|9QJ7f~z\v^Yn=@oP0\rJpE"9 kg!gJrNwAсs&j%86^2K]({/*z0X,D[ <"Jg5,~R_U| =YXaactىe+{ lz,@$rj.T#̼Z(u"k :G" G]# $o:@o3)HnNd_$fOXXҧיd}c?}) -2+1 ~2#eU`q(MĽ &~Ɖe*8eF-xX1C ^ɮFcs*({9 3e\QC*|Q, QRZ?>cε4j%4@u rbR? 6kC}:xoRw)E'C*o*ͼccɯ^9|jօ6s:/GīisWD$YWxKRU\j,˔`ucEeOٱ3}d6'S(?!KZ&g#|G}s'D$ -唻 z J_CttX56n.;mOYt4 -8%\oU=:kXo l(Sj,rJz7?a郱Ey4!)(f_E/> aW* YK;B~X cN>%?ND;%da+4%ϙ5XY;մA OHX[9ex5^ y%} L+4<'H8@?Om:Da,c>좭r ec(Cdv0ͫsE \XaZN)O3wb[q\SȘpT<4uO~"y?MJ\DOAGjD s\Eo^2kO(abc;`R{x3ƽ3< ǧ#\l)LY[+ce9KSşV1m``}blf=3V- p'pafuȥ@Z--u gƋM\SqcW34Zduan-4<\8Zcu͌|9q_:T(JSQYTxKl+'4ӕva昬IU۴M]KP%J1CV.'Z+DP8$Y-z52c;~egQDPd]mpY7% 򕮘8yl%GVw"|mEx20JBAcgi߿z Uifzz#uH5c+˜nUlM~(uZaWrSi6]Kh16ZyΣ o5>x`ޢ4D^I-wgK hq˓@u'KrYt_۫^.Qr9 D\|Mo(iYp_"ˠḩIupVZdxU,'Ղ*f Dz+:6ajOϯ+9N]ZpGemu5R{3~{X n}kEɻN?cpnI$Юr a촦⻗CURFhxO'd NGR,'9 PC-2!M8b^8U<nAv`!r-ǷT[]H)L"tz,Z.X̟PWr8N濂6\{ՙr2)=-)ɻMJJ'&I.sTǀp8I*T;Rm42`Vdt([ȇ"Cb+񩣨hh )3 X`% [_IN+,msZ 6!_O?lb _f703=S4pZDUd8cigbrB/ =r (p@0kAFZb4F%^g]1ŢxW0]n1ǩ8jPS>x-|-Z!<iKSi7 C~H3ckfT,Fo7+gʷ?.QSؗ!x.h !`6gW:OTA;AR*ZS'z͡VB9s6MGMF$CVg&)UeBV-cڞ:laGg#zeYigJМYSszPh$TwVgG-cxIE^U=R0ٶMDW-$"3gЍrxEFy݆f53z|jG6oάW ܇^@} |Wz[Aj֫)?C=N:4슲p.64>/9HqG/=`pͥVPCR?Uΐj-$|rX{rRY ˨B&%J[G;   ?ƦBKM5?JBG!ჸqp1zPh)mevƆhVe՞i> ݰ*I))Dh<{N((cDf>4ggPѼE2>-ee!jh}>ia9cz9t`W*@ ~(݁j,/Rum ?\H%&}yAB jB?ë@V&ҹVmהZ;N=m6P7O1i\0Iv%1Ĕ DeNh`9tLܱ!ղK1_sg>3P ժje9%fH5NWg<OuQ,tysqmZ>q&6n6{:mkW` hШ^}gLY5#jIӳLDHW.K2=^ :?-}ϘJAYxԭ|R.I4ܺ!t!QPOWH)j%%y 1yn=`of{>s)B#@|?@%,sص\Ui/[*W@֫iw-Kf7f.Yv2r\~NZPNx R!ѡ3((-FZmx-U"rc}ٜM;C&ÅCh=mHkЁsVOʹ"!0a+i}Fu]tzR, 3P@: ~!*贘x Me_]%k333TtʰAz=W[:γ%}O񿛂鵚C*VtìciixJDyy: K=j` 8Xl>OMbQ _U=n6ފʅm8zI;wֵUS<̮[m~$PHc>1kbgjwIDfiuFlۭ8v -1k7Z.xT8Z'$?Y;^ Z-Bf!Fa PAp; IYh$ZhgDbPT/&'慳Zn*JlIi +b4zZ+Hl&#nʙvVD"* dwZ@rBoRc|RdEeB?VmV#wKXSF禡b4Tg)?nM+gjl{ifnB yiTcz+͂ODix3QlZpQTn Vn[.e(*m BuOOq3p=Zt ap%f4:?rF.,}4*QykNAŽy @xG䚌%ժR)m}˿ΒnTl#%l|wIOq-~LZ؝H7*-^'[Ⱥta)orD8ahxA| $0F3<?b-g:wIj o=Y. D[l[ˬo4=~Y VxgqjK6}%+7ur.: A ) 8WQΤU.E: 쿬 ǵFb ^Bh*m܀PBA (]-~desfѹ p0 @ | *(`#}mr0IO*mH_dc`@ۀŨ=3B 0Zp$ ϓQdk;nwIJd}弬 UQ]H (8m `[7 Rlz^t5[v=xnd(03 E'k87EVʦ" @DM HRBhJ͒!Czb5$Sל#~܂Zʎ^HS";s1QBjf'350b لkg`M`O`["IjWmu*:2^:(s1'T-Ta-d6*sFg*Uf;u lIK_>KL7/ _,1^@Gx+8a/gi&->Z1ke@4Bl:[g' 1AU?J#j[zVH@4_1ae87#~:[%G) t_aʀf6@ŰXm6="҉i/@7Z])=jZ^n`HBAdbZ} N B/z[x\Ym&|\l#Td('|iV:6  q1('}~-;Ck|#~ymCZ``!,VVh`{)nw Ki&]tYʶ@[iТEJJ<("ten(L(+MKϕrﰿ™^l;Ff>`*2$)r4n 6#ez~h R/gq\,zQg1TmK8 Dn3LNT:ʁ+Q $`B.0?ggSźe[5R~"_*Z$Ӄy4)lǺk8Y=>K Z{ErͿ=^#dAHR4n1`YW/Ҵvm鶾F e'ҟ6g%H]v {ʢ'B!_7(aZ-a Neb@!aa1iŅSKq~CAVZ=f>,E ޥU pG;o@XBfnx(V@ۃ>EU*njai/bsKAEZg°K.d_:a]bBvvg!ptlكhnVT*80R`g3~4ԧ@( JPfHU]hT46)y%z03У>#t_$*߶ 1&]qIS[:u9\nrL+[ف=KQa5c'W'P +ֺDT\Cq5,St/O@Qz-"Bn{t9ߛcMLX2,ЦA4*M!f@:Ε28&UV/X=}To? @Z (nl銫CrUmy?5ё[zYs&&Ӭ (睄3@b ݣ++D}:sҲk“0 bu1(E21ȯ  ?WCC2e@Gb wGIEX kY#; FNV =a{WghuvLѨ$balmBJw%Fj=FܟǞ ;[6p,[ȯq{+\m)c91~2Xh $?Yk|?Yfs'Hn;؈q9^s~E?ѬԔ+g+IY9}G]{gwnS1ll6帠5N y}: ;{bi-)+8*կ; v{;yuד_PfY'=z4=p̒ bpdE6%)ǚwjd$nDqdF}Hݘm 7xׄe]`逗+3߅S^JZB7攔$4`t*2P z>"@:z$G>q5V89I~O8Czȕ{&FZOX+B8pRhYl|nZF·9[5Zt >VzD#<)Y-NZ"?vqԨ$}favVK'ŤrW-^}=x y :@o¡ά?q|6k\s}XYGMq6*g& Q HAyG#'i Ty䪽G}^$IJw,,U$мj9ԷQ'&o{Wg h nH7ɪ1*g"0JkM?Gd/iVlCO=%)}_jژxD,A'i\aL^ G1> sq< BNo4^w}^dVko4m?3r_u3%ksG$s5K)PS:T٫ͮzCsa?@CC:1wE"7uIS?[Z~:Hlm\bĘ׹؟-D"QtVSޮcj #k "Nm{Zz<]/99Cgݠ'Ax '|s:7#A@D }N o Cw_<Ҩx.kY#A]|RU #IjKH wDAȭa] %JJ|fxyv^y?'J#d*Qehg=U/ѕuyB [8Lql$k4&D[ábZHC+Fw~8?&xr܎r_0H8fȜ#\۬t.jÔ]º޻c\0ss*=$~1iT#cY Gth:nc])oeGu)=FRMvmaHdP|@ڹbGR^/@F)FNS#NAe#ABFXF]IXCFQ?m#6Q/KBEvxNNə>)^甧Q41';ԏ;tͅ&{!fuMriY <|t͇4Euiٺ~#9ˢ +/{iy*H?{Ҫ28#4u }jrQc7x r䥋5~#Uۙpr!:$)ptr3j7y%%V&!GXZ9 NwNWwj5|xQ"i T;$S{{ XĚcᲂć2OIеS^2]U6'v`);{`ҿܫϼ_m0 c?ʦdP?DXϠyl]}jbx$/B]qӪrg6 %gC>Bk58f4a8hJv׿f]IP#geF"#I!s?u<7ֿ!`o0$e;Fr4 8¿6~,ŨG0nq(9nQ1x(R6ݽiIoCߝ - P]$_2!f[@A 8a;Y$a{ǑC?4ȧj*HJU#F(R6? hG| /F. NUBy'ዘ/S;On'/#S-Y6~J~_ /dH6 m;L׎6P-A9sA[2XZ58"Y[!COs>H/~_NojsyR֨ͧ KlMVͶݴ㬢rNi<{RmE^.wOW>EOjwi6ěs4U/P6Y.jacߛN`%X<~I^;3ץexq1Aq-K gHd>c3 $hEW k`T:BvwNS7@9zCS(Ȍ#>Ӹس(+.1h3?4HcP=E?#eMrX'cNi*u-j*Uv.W:WWF+அ%ij%k P)j󷾘@b;*dUΧ^}*T)+LM4L)REW)fWY>|*S>S"3Ńmbzź;hGE(Lp Bq% ʴ{L ѸS]TM}Z#)GT8*f&#q_;<+!d/m*RAES˙ Ix$}dA*rEpb^9%Ycp5ONj֕M xlA =(<*%c2l]9xrpnК=z&JuwnÞ%_^l9#YT5O3OB'6!;:% [(:)8r:aM 4daAK-PRKɱ^VI_ëJA]2+ug\"XS.69|% NMpWԱoK 0ꖈ)7zLaXmj:l^+q$'ز exidEتpJ*`5x|mBeTg;+8 krWٸ.Y$0M8ؔb25`%.6;{ä- grf|2l_[ n@қBSj^bA^YWHw7a%IØO*]lx!"$~m;;`E aa}Et(:ד)b.iT_sbEU 3aֶ@BJ^"'E jpKp[ôbC]rcbpudOG\2jo&(}ߊTmHXZa~!עɲ`Z0Ne)C &a)vʒ6K)F0 eȎvI}tzX`96+j%`)׉oHņ(d<6A+9 .NDJ(X6k{a;iK2XwnW3q(k EF6X܆+`8H%vE^*A"Sp ΠPw0]v,M٫ G -vDүJI|)T+oWZƎ77҄*8+ "A 5B8Nt.w!{ځ*1ᧅ jN/;*z/9uMpQ+ 䔧n e s6$/@&l 1G2m\ʆ ¹u[`_'KJWrr-AUz /ыq#K)g"&d-IDxa[&'*seN͡0I(DPG m "v$qICȖ+ z Zj[ sH%KҙKz*- VYL dtob$O @ bl>E$]VYtЗ%8"S4zA%-QpI[7 7 {7VDkN-pLɲ1te?e cǘZxCNp&@[{MkڑxCo>CsaVSM͎dzA)C:pR]l*^W9=]V]Whkjrl2@ęuD̗QYQWƝtuJ9eT)exj`T]ح=~b$,rJQ1Ti9 P/6^N³؇ 8pY=L186I2!v]9ح8y}O',$epU)uWa pp+(D ւjf+'J3.'q l/㮥ʪ;+jTze@TWS4a. O c2L?>1 Pl\n .:`@p%nZAi,HŦ P!þ8 VI ܜ!G_o؀k 4QL=`~ w^ŋ ZѹC ; e3LY"ސ;,ʪ-W68u/ {˳4Ez7hBLT e`1e6x 6l^0)lbvZ@{&̴#&5bERSM׃-yoT<˰N^l6w lid\FhCJ`Y Ux;/K<g^oKX.5~pb&AnFU ȱ #}*.V #=e68("7}BLܢC$ˌ\2 s6Y\.6EMCQd H.6;&ps"FH6N,eBtɕ)^~`~Czǁ Um .6;&8Gb9JXx4Z ~Ok)2A2/&0`[.T2M%ծWtaoTSo(3ٷjBDئk0Q6EbIGʶX釛 )"Y=q3d ʑ66`0iQp5~[5[m*muI[c,r|iYZ찺04\  \/g|$[~ h`8 !vgfia q:Wk+t؞YxZsNgt9LHj?͑د;hŮ`˧S"DZp2`:&˨:rdYp[;[oPTGYF,Da"I "p`˚jŢE,4!i;Q@sh v>{ZDğ4g '"mG\{₀>sH1l`A惡h0J J{@H ^L1& gOE<}Iّ(Epk۾'>DstKLU4c|e,Gecx1`Dx+ow9G>C'`r]UT"`H=#k#٥=di*_9Xw1cirI}#V|q 6@-#V(ׁUE}8hDivCM3Gk|7lIz }؞~s(u aPÉdjL1 CXI%vTBcREfpR C sO7,;O%%a:f a^z:#Hˊ"$7 qwwAQ49KAt ݈nD7 tA n7D |=ZKn7D=kƳYv]СTDY:ɫuvq30P%Z!2, z.@* Pt/ ` ]@Z /{Q{fEP^\- 7wJx*^%pB$-2FJˈssë'# lfXѤ2}\ᒆ+EhqOrqHl Q1Fj*9ޞhiĠm 5#)!}*4ȕRAυ\IMn]_3/xɁܼ |)*;a<y?WrpV钰6a஦ג.xsuFS&4Q8p$W{Ragrp]]˲>}T@eK%)B+zI :sM6/Ž "F>Ks w_`n%\M[]R26#xV{i61pEFM6JjԚF&]~@PWN%t %wﴂg_{SCMj.3tsWnƈZ3&21~U5@E˹,IP~[?+AsduJ\)C~FK iy/jwGNME/O3TNO}&e%qc(}B :fC El"K"Muū I?NaL"vl Cy3)T i'>prA^68RթR-=w 䠢=a0yy!s=;T⌑F=xL05 F%-SSޟ6}tC5vYf|L:bDՌţ;`HO!"M5WŽnr V`^ݗۆ8i#rc&D\8`1՛I) >"Ԙ[}Ft>/AI#כ!ӛ^2j 91}٘$=W+kt|tԠS. #"gSJ{p7=%>a,޻#t߅ȵatkN9Zſ5U5`VjOָxچDү>zɿФD;MwV^6/ DYs{l@wI{U{FFC]čcGZ);y؞'|?.nYQPM8<dZ+2'2;7zR|C? ^q &騇)H5/%iQ8A~X+.Dir%(\II@jdV'*SY WtnnFV4(o䍇#|d-57Cub%.W?9OrH{f\x4"2x>d*a Ez.y&~A(1M}ԥNM}Y =_N7Ic0+@`|nְ4R]IhZO-BO2jxUpvZ7}u|7~J=pt9SRكP̿^䐃rAyjK SxKNV$% VyJS0:o? QY_fq?hv.}Uih{ejv3"]]*}]I|.M9`doU槍K#RPU#GVE?m߫)6Gh͇xWU8 ؇>f]1}∘\M[ֹX>_&.lb to8L2>%&uGzOٱ\ W}c's'D}cF69 nn|>V:h~.F3?/{i]p ǠyHz\ T TN%DfGId):y'LxgslY}X,fT$ L8$Њf&^m^wBT(ern@fI9CS!$j3-lcp6}Z?*&d1YL|̖ByIJ+6㺽gQ`IbOd\Hgt + (fw3 KsCCN Z#XqMBiq pf ),'/#'4oΠL-pL Gy\ndc/bcAEƛTIx.kcSm_zwyWTA2La0@p>!ېs6 h<8 {0lti)4!Fqθ VF3K 9taaZqS~vOgF`edG;};m..-{(3o&$#3Ee۽o("xgkyUlE6 b|$%D.lg+,ʌBv#}TU4( "mTD6-ZYSY-A"?E@K4a3x=;0rЄG1ܿۺ iTG豈ȚH03)B*l,nCH' [.Nejt4d5G[@6xD-I,Bd:BA Y=Cx]kXXĭkV,dkcX!!9N")?Df͇эq ?88SdDJ)BskQӹ f]rZF@;ꈁDdQ+] :#.V7Ncyl e_&Cb x&PA]^a_횎B+NQu [̆|j<,լ.SH:@urA"DHP%)BBbvevYjMXEyb[#޻_!P,Z EaElG1SSXqlaY}`"Nrbe=.Q1Myp761 k#͚A\":`HF:ڷRB/ 9 IҢlsخkW\Bc)TyGp;^ZvqqQ6m!^XBx{LеDB7-a$k聆I8ӵrbÆַGis h{.h6bplidx1ky&I}p [ k*$a+ץwIaA~a+5QȆ򴄏Tᆛ eFb5(ppaov)=ϝZ_lP( ;W.xy6+ѫ0 H=A!P$4sYcqiEgC5iY4bakJF˶1- ASb܁w g@l Ad nf0r* 4a)Ĉa,Ǽ&n`.aBda?Bm ̃~"aDow*B@W6%Aywd79AsYO)[l0bw6 CbO=u;bE%klz8t=QrQ=Y,;OP' طwi| `@/ lgH+1"gqg񹊃y"^kTJaBN`"#g,2>|U& $Ir =*{Ǭ]#2Sc z.J|&g zUV״~10K{A!z;_Dw3n@)P>a+NP͹hӁ&mfidNjbx7#"ܙS(N]X+M!܀b*@a3}["L1s`j=ZH P@0 "I&E mXGE~b=ىdAMSQ|mQT2?CA׏xȶ~T)bӳ8n:&@oԏٿ~v.WӶT?}NnlALٚ@#'MZUtpE3%3wp=}:a&K0|2˃c-?4)x5'9O 4G$Ƅէ<<vC'}+ãZ<3',I qT|tkUfKz숲_O]楪x ~gAw·;Q]g:uWܞ*UWpfIk8Qi} ѝ}tSm&I΀rO/to~nG.lyҚfx40w7='Nύ2xx F)o&<54E GN O|tsJ=S,).ivOr+8Gf]GhpL+0 >:VHc$(0MH4RNU,0Kak}+DfSK uXp0}J.ф)h'30^b9*eb0^>I/?&W=߯_{^k3eK./(G88 &hXu{vBfʤZ4 md^:2@(<+/tmirL)^>!1kߔ5[mg1G^} =,^#y^>6I2Fɮ۾ay~tCc Q_sg W^Ka8G>FF6̽ZFŀ( K{awvd%Nć> xDt!ih/IAGic/.$2IfUFyMX*7_wmo]aַ&snr_,!jd>l2LbesnR$8 mZ$xw T*pal'(:Wm 6Bj aW!4rtavaÃ9eD|HL!/i `V 1U˸Oc@ !6A=A1f$Q ap 'q04Zl LJl2"NF@:hц$QIb"jz@(:s1ʱvHtjJ3LI+ا${6 D6F0 !ibMD|h4Pdr@f̪-AS\hɁW 0Cyl gvw.xMLc*F[ :;: Fbdj }"Z-ڪ۠O"=3\TD<'vKX%`%˔tևyހa 2Va[cڔP JoHe=+ }@쮶Sa 6;:YPFC ޡ`& n X "m[`iˏӃ`O`` ז:.-뉧z둷TˌykKvy[ɽ-6b넞NkRn[nl1c]tӺק|cI79v`LO^zb>I/ZNS:g>йJi~CX̤gl+ʏÔ 9tDD{v-"8p;M`|0vwW`bmsp_yUSQ@|а)8&"ހ+bs:|0_0bu~rF-xe2uF_ -'g%.oXyif*Ity=Pg#W4˼T r3'N?ѕx/N[1;:oԌDŽv Ʋ-AAU2 S/- umlgLمTL4`AYNV v渾3$G!9Ϳe _?ZWvMP] /4wKf=:Yz$G6t7;&oxM>+]Зq-R6:S/6t a'&_&'f$6Mп%MT2$%T@GnDre/$yuPjBO8k>'M'C; 󡛑$>AMB)DԅQiMbM8%)M@ČҙWBfvLR: fsiq>f2Li+QBLwwހG`7=Ϲ%U$e%$ p@aO8A!Ÿ ҪroD f4TVU3Poc9## =}oFS#qQ"$ĉ"TA:IJ!  PP`qNm\ Ѭ B*c[Y̓d.^n?EQ`1 0tv֥]T=k p$FrYDMH 0UAB?>kI",hSBl`!`"L "hȏsy>)D,<+]Gve 2˟RnXÊ"j$aoId{,3IJz)Y0E*$Q᪍IdjvdɕPQ7f#ATv)!/gp7U}*p!#$@20+c#:((8ei)!.YGR["fGƅ})HYB:u;nXz[<ę3f 0.! 0y~EJW_x'S#vs;!tG^|U?ݑӕB!UqPa*22Bph܃NG.!t/N7(^WB ƅ N"TZakXNemܪKcަxRP䳃Ī t7cW'gѼ90e? 4dJ *"Ҷ8]1z -#f T;=qGDASu-f@2Z ĕw Ͻe[P+,J y: ߣCi7;羣J`콓S<0 ^j 9R`vUOڻU}cx#6m O i JCU$4Ut&Uښz;5ۆ.1CWG=hqt:G;G~i# 6dSzvW:Z ^#*VLNG cxj$5'ט4*1kġm6H,/9IOՖ wjCbNm$oQFFd8:Ag(L,5t/MiK+k;ktVOMp Uy:4Gy6qVKi+071UU& y6{qd=LarcI *U]ADjB2kRj RXϷ'1]+$ ԆXjb0ׅRƸ뭶J&`uS pD[z( hZxS8H<܅ޗ]"J=6Z@^Eigtra4U(POx)8`JF'ߜd` Fo0q9|Z?Z\Xƛq!ÖJ8i.B۩يNW1¬̱LDŽ7.Wn7CDN w9W?OZ WN/P}55ݘwPC<8[H,x8|;d:ŭ75IR̜GHR&ݲoxh/(4Ē]Gd+RB<[^L: !6*a44)LR@HjV ]1ց/{=`ЩۋHMxT}Ƃ0# gssӿ#BDGvu”$<B+H0 F#rMDi=3L3,>"i s֜bLt-X/ua28KZ3Ft` w .>7}xxx#O =WDEI )><Ef̎F9q78xn:,#:<\ bvҾtcnA1lR:_$֫?JMt^vS\Uu_O l02YBF0typ1$Q3 [NhK/j(ݏ*W QnuS07Z PWѳekz fְK-StƋrB'[5Gf^Wa28Al\fAnc%lУ`7^/X(P+3΍S[·BE$}-j|HpKwF_4k9$W3.OCכ48{^&O \SX rGQN:$|pILE~)׹ oH\QG]*Lﻮ5bO d2zD,<ݟm 6'TBĮ۬Dr?h[,I{<*dի/7m?R=;ү4:KԴ( $4V3jJɜV)勤tO<펭')+ckIb7S F^+Nf묍9U W}7e!nRsJRNw}K%m9Y_)bghғֽUnOU.^GUt)Vi#۷Q$GR&.RtO=4СZMS#Zo'.WZTēf>/ ہM;짆$Mt FdVx|F>\S rj =J=X>6S.KU~7jgѾ<&WlIӸS +U+m{J\YyO 2:85D%H)V)5r8P%ON*s̼-.i}snnԝn#+k/QoTgGSA7gMDC\&0 p4 ͎lrXl]&LRU?RFC# D'dtҩBX'~T, )8=Oqp +PTSpZݰ8e P$IBW)}+;U̇@d~dDQRDIId4Z-Y,yԖK%][@Z*.”T4P8|>|=:t`萧a0 8p아"Y[* 7=(84.I%AUXm:?r1a[H;M/aSaaC<Vh@4t5=]B~aq:h{4SN,Ӂj $sQyPr2BuePN_AQ [н:z1斸S{Q'OR~ӆZ=<ƘI}R7|l@ו\ߝTZˤ=~΍Yg&;5YROm{װHgx-S/4蟩crO;:yŜ_E?4"Qiґ{XvvVLx܀O j:Ura!"C-hAZ&?XwH#ʴߢ G\≯%\K ô86?k@yzvde6DIAOlщ5gRC' y5Ab "64j7|(4  e x;hes\mAtu}[zLrh@ԃIfu;M$;g9ooX^`AuKs^]A˙`Y,E!Pe)z%"ͺNM :1 {L 3"gիhLkK RWuQwLϐ ]>ў5 T80^g~F*ݸ||_3̾2rT <}j֤P#7ե6\~^>gĦcWB1>AЧ)zd箱0n_#@1fUχ17^y! | ܽDm>ѽƉVzdǜqp+eQ`gအS72(_ }T:mrVr02/p4p؂I]>*PuuS*!80({is@8f2$eL-fDJGH*w!jh?j$_+8I_kԦh*l_GxsR]';4gnO0ClI~E~'$;dM9S8? Ơs% 蜨G0O*37U3¨2ZYa9(OM~~HE[)ڲ >=*Xc$OcDgC(H6\/Q 8}O;N[Y{:o!0 IjV^TD]'nSYLJnm0D;5a'9ΏVBC#!,H?Ʊ6rLLXܟWG4=yA߰IfȜr]4»feaIf0:_4H[f/{<NqLa (;x \]ݞ+% K2s yzQ+QBQ:5YnQ68 r?Q)vdƇX1JsLQk%}G(7)QrnM=ҽy"wMDCb _(o'N{[ת\my\df r .4E>|]8b2?{XTB[zӪ~=$!D*&|U{n DII)?y]jP>̡ɐ!i8ՅO/T+ż%G@99^'!usCaf2'Xw[L~"e@`hꊛ^㹾磥^7ՐyfaȅU hm `+ Ұ>"?jS=zJ&(ʑK:$Ǖ;?IatWf3+-Wq{@#,[uTCRܾӧ0;*0(]&6 VR m` օMY%Mg'ޜj8˖ehJ]`cL9ziGcObwv Mp΂D ]uAg.Ci2iF2J`f 又UJsg%}ݺnKcOK RQkl< J0 lgA}~ʌ+{UNW%U#Y Z b5 C]eKHjd)%xHr_w/WE嶪RT/Is.i؜?b>]n%$XIܤv2랭(bsgzՕ2Ub+[y^Y.]mxw i`^ߣرgq h#3 ?nkƏ ร(cᅨm2[ڛVh;.OQ}nAXUSw'KI?ndA. H4.A1'B)G߼UEX =[ X8d C{{F&k‘rxqkb3D(і#H3L"FEt,8+k,N mpCkl/' Y1s[t]XU5;rM:,+?΄-PKbSha_Qh⬝j.nFnAA!?Lp~7;R fF RjJ 6v8*l\YX_V^7fStwܙ.XsN_@AIth8-'LfNff3? NޣPWkVs0vpnK)J!rY\ie!P{$Z[Q)XI^ʅҲHB9R"v2[pY} {?^<@O!S >8nXuHG!36lл0:4Wì<7Hrj,-V!OEf,Ѻ#- Dg6JfDl 5Jx5APVUpz? [*q 1 c3YL fv,DӋ/5vL޹{/(3Kk$/aY*b\tAV_\.+Ho5VtFz1+MoP+`lzbۿ}sd[i-0|M[R Xi @}{h Q:x(3_F Xڻuh9LD>yC#&> Mt⇵XJ-"Lt"Nv]bf`ļ3ͪزr&.ZbqP>K̃Ҳ>lk~D}!h>+8Uړ ycH1s( HXyDH4Ũ:)GưFj@>lM .'ZMYFp ׭HB 7Dl>9 B= Ci|#1ED$Ȓl!ȐgS;TT6DFa ߢ1j n:%L!.DS2F JxdtnU:c.RG>*#e,3H?HWUy0nQN\\wm54Ӹ4I=q:}1 adȑm eD'y yiJ L'IJ&!"DۗN!B` M&12I:lvv@t7ARj8uH=ILb=|K| _YFѤdjFz@K Q6dU`j7""x;%e!DI eD8(Q")s"I%* F#"|ӫ<~LBJ<=b]qIi 8P*[9B+2hj?H_p "xZ/ƆB񷕶*Zm]^n9P @p*NX٭ĵx`v;E($6>F_ x IXhV, Wpjp9P9ݹ<W5C6¨ z>!U5+zoԫ}lʊF$y^"k$4WzauwS~lq>@q wރp}g`?~` M|R}š vpiڙJg7{?[& +sZwY呶ȼl۵"n?Ri ,x}94k0_j#.zc?L\w s)[tJs^DCv7]~4cK-7@;{fS6Ģڽ0,Gp|i;'DJjlz SZ<H^m(D͵=f\:ܿ#i.f*Ǘ[IG =3#teѿlnĭoe .;' Mt(fcL^;F IF $oa.3,.!ÙT0-)I15@ .򼟈 ŠƼF O#i_9Q㜱<ӏ=yy28sU.3'MV?ĩubnoisFM4uqqK(8heaP^|gNӉo3s7tYEck?K aRNS;zUKm*-.>{qo3s7z9OI~~&A1Z`<2N;13<C]x mdMY]?@\(~:g#Ke X3;7F\6GYrN=2♠L;G7N6zj7i&PeGOǜ}E3 >%BM>G՗w iYӈkr4"Gݸ](ӔFxh]tq0'_Mzeo <9p9q, [>6 (w]}%ghJ-ANGFʈ6T׆ȜS2Sq;$V&ZٟLDN^:rKaZ->S2AMJ 戍V 옹 frlaLdlbڇ(.mqN~;}mB?c%ls,aG29Vfμ?r jD7g<ɎI/&h"LD/7' 1N$2Sƞ:>ǕE>JZyd(j(ȷK& -!}s[,%gEB1JmJR[@Ԗf W*/ 9(5?o$6SϬo\0*uOLY9[|0aGM|w:HM)Md,[A T1+~[4vkABʲES~s3=l6MC\qWYKϮ{%(HCS~bCJ:XjXtA O_Ljbc_ d&mqͿ%RƳ) ،@6ڲN]{KLax2e]c')XKuF̿/^f^oCdll~#p#8YZo3o)+\*߷PX9e= XD*13L~jC% y)㈟ >z0@JH`ˠ)Y> v7BqYy7maER͛#S(Zdg5դkk=cXMvHTQ{R[=՚dVrE%-DV\0#z\Ch r R5T LajlGpES}Cl Ïaۻ05áuL;` 'q[J-3/bٿI?o`J)4;_2neA'7f p2.Fb >;%S& ){ZAq$g_^O@ۈ-4| Bt,4il/hݬl-nY7`:;b4;cL(`Z긧Hz: )$$VW@S"L Mh!ý=@((cNP,qv%ti^%gZg2ݭ+EAI]cWFYjmh]%U1W;4U%5vyY%/WeW;Zoe"U[%'jJ!pF^!ֶW CÍjΩ~+#Xѡ5JQa9oJ)<)|#apxlfXkϩn=ɅsN^jsoS{* a)fFU稇ᘎ9D˟S)hI$ۢso֩w,Y/b NlB`L=ƨVJmD $hC5emAjD T`XR'1.ʋqKY4F؍QQ{i5!g4ŅF{8twZrXlW70ҟJkHV3޿sHs*kf SK9$%MY)L24q4*C1tO)I0sȟ}aZO -zOGh֒^p:XB؞kFMDhsG9A]ϰ ܋~17c`_7SazT*ĥaqy7\i%ezO<q9FU_!љC #kGucԟ hYDbD[gm';c։v&5ōW8' <$7s+莉/7Ϯt̘!BA$j1pvHZDS;e&wS%?"7)֑/}!gtgc8Wq `.e )@(XhY8o{`1 .O5﨨%O oCG#gH_{[QQ6?6+baУ5hƛacÙ36c}:z= sd^A΃)hSgt*]CTvQt?/7G1\9mv<{uyCH?M D Q@hD\+bmWdg&.h<ȃ,70JJA=sљ Y 37UOGhZ6f659Lcj/JD(L<,+B~j֢iN JIa@dR$ŔP::RV($75XEO3̈́F0%30΀BΚ'L޳_1rd=lb&t:kmYB:,lp(i:B+Yl3,{)j)Hr䀞&Gkf%VrHӋH,S"?$Oj36M^I}j4b-{ zW{䚌g5Ξ'[YyQP] -lĊ*OBY?GxW)'i& ; 3$s T5 gVH|P>."?JFv!s&I A8 #FL k<@ɶɿC!guUWq6 fBnעarld0sie%(iPu$ kȼ(-4{~䯄Å)دG&LXaC'|(MBTNp)Dݾ1Rt 6D(VFcޕK1_;H c 3Gmv7ٖMp%Ư6i!"5p8xB2*2Fa6 -n7ORȜN/?ɞY3o~(Wz*Z4Y8ag~b\Ac2}K) 3޸GB=wf hp_ب)FuIWI5fa&;slv8 ˤ4! b{Iʆ&OQ  LܳXlsrQȞv6R)Q]c\[Beᴭ:h~Li:((͸ശ5j pn+D@yC5*bZO% ^P5>9e~l0%_nXAF$)SH,^{rfj- LTF=3 ơ%ˡJ>2p@|jZ FcJv{GPYJ`P}:}SWVoE q7zeū/~y>rLp5XBux|bO #WY%CeKDK*R! *}PO=Ȟ*ԡ]B{ a ޯXẁUkY1neF%LbMHX%#nAkx`Ժ iM Mm+cMJ55ddHS/Ֆ@ԕs+ :|po(obFwra "oHZHNcqrf5*3d1Ԝs:c󪇔jzkQ!4<Z t| ceX-=qUξwŀ ԯ9堾kPW)Y$͔}~ZzfЖ1ShZL tڥYD[ -ps]eCY5FȧuXUa;"GԸab([XYҕHoژ)n"͝t]pvތp$yBH^/ܝRhFt+DC-]==== ny Pi)Aȸ #k+=4gbȞ@ٚ!έOHD)svoDEZ'_uoq G忆Z3=ƴ'Xؖ~v;_~j!uϧO㬝ded#i\'#m5BHa ys5}W_8rE3u6s&\&:ox[OW`e 9xҽʻ2j-nK%Geٚ>奚 3-Aܞb ݹ=V Yx&cS7է]]宬֛> 7,R;9%ba:NLobv19#u5S#Sr&q|;[O[d6FyCXT0Ё0ip| myeKaS^ivYG>pJWDL dy\eǟ~V'UCOÖGH!{unfod> ?5JC8xrO\E[߹Qݩ8YD u`t P|NV 0EO3 ֺ8: Pg/Lh// lH_&If ~9yDPT 2#&hbDŽw P*ȌZ]:(Me!\@ SI\$4W?tAYxǝ{|::~,cT~R;6Ȗkj[Wq(X!e v{/˂P| 9[vtWdc6Yt|T'3gW+C{oig HP#2ǁfxQ}gXUnTꀓ HsNGz0H`[FvL4.S)՘|%<|#]6Scwl̪0;%S9qt }K>J.F`"G[" %&^ HV(s)p"=47sB(gd~Ea>[61I_P}Fpm5=Xt`:q~(럟k?} %Tq6YN><Y71+6O(Mϊ^Z ~Р,Ov08lg:g? %Аp:Qό{x(L`:5%,rwfw1bZ+&_ e(^D<>U{C5|bj 1̘ b+Sk.8M>aFz3t ^;+uVo\r!V҂_Ka g )냞rSбԦ=K,4$$S$VV`mg4A00$3c6 -#6.{03h)bڄRڑ L-*` ?~{A0"됌H=lb%_8th[uFp ٽSzAȦq}R<3o@Q`7'(!8 '܁U@Sp(ЂB %H W4z4L rd{4VgCZ|E YTKte~4S<x*E?ڝjTl6Je^ A@axn*oJor-\#V E[-H1 Vվt+ $iUIUy0zn% Љfꩣ( q=z:KR`X7Uey=BHm5|'l Ж?09Z_m;ipeCOe~6BԾ(r&ѕWE3gr{z VOCc4ȍ [L#dt28]k<:`|MۋEHےSk8A00䚅;:{% K`G`܁1hrz N,FlS%`[rU#8Pf{zT\.Zu%9U WV>'* @ŏZvW23%^') ?5^o+EA*?i#fI"vmSWڱe?<&)֑L#hҊC .K@ Lt3R Kua6WyZEK?&P}@q"@vzȁwloL 2CKW Hd_1<,fYY0(ѡP< յCW۰AOs"ٷV|r.-44#T,σmɸك~w/-g$Bh3z:G~\)͖}% RctrOd$tͦ'y)dhI}I-4ڽ9*osgyXjA|]Ud-@UN#8vIPc\}6j9 `EMO kj<"m2MY ZW!$>m1V#>= M^GD;Hd<$صot3[jY,߾.߁p䜹wl=-{%rk9?& iֿG0a*}Vw7Fo!iFEO#Ejq@PY;kuwG f?4e,k7zw*$7?ry4D<>X4Rbb_Gs:pMʜc - VgetB渇7֪DaWiBʐ3O՜J׉5M0}9Y9WVưTnVߥv4ɺZJ וuX[8B_*fUƲ.is_jRB5M˱ 2.TH, _lEOiGrA2p-9[&ɿܾ{?tR( kZžZ?٥[fuLIK7x uT4NjCj[h,rlnOċÖn'^s$3qVk~|←DL@T(geԼ쫿 2 pmx7cD/K%~BstW/!c~|)1l(|7ވ{x z$оr`:V*=g|5 aB$ Ry]{1ЕjQD6莅6fY0,V6*vb#"le_ T6>S0NτWQA^~^>d:!n PT)ԉө7.:ms#dY^uͿ\"`M54mFXmrEDزJ[2X 7P:V.ݞ>( [IeKYS0q'PEtOZv K)o3͏+l} P!'') {$Zo(B##Y5Z'qk)T7"[%6̈%C|GoyNI|AVnPke5ճ$E2| 5IrjգbӇd a/d8Eh"zƮl%?.w?LZlIH0EBNCwEDz84J5Fn RVuqmi2nK7عDZd.g6$|[tؼ )Pn{JNƯiAs.h- K4URW6}ѡb?aEhtcB}BmGq(aÃVMhuf\,8od) 9Qp(Ur:a,J!orhm AP9ꪨ*~뷬3ſ E"RO6Pr@F¼!1#vb݇=Sc42OrU8%:lL=smJgz:jDn$esRm2e|;8~%du&^xT2+ZUSlFp }FwYh0퀺!N)mfU\DaxUD}~^_b  @Nm[4_ŔD uIGiE&+g}'206uPG[RRO%3UnNo~f3H\k^VptcX*aG䦛xG=i]i@D,UL*mEkZCyAijF~2fE*+ÁN ;?~p51+pak hKf]̰VS<I{z{|/9"ýGD(ɧ7-F~ƌelGn`J2b65`̵cwAA^&ׄs!$v=mہBSS679g9 JnrUnpbR Phhȷ!}./*]| OoGֹl"z/Z1omF~y@N= R3;IKjB`IuH뚔Jnxa ѳow=|'%=# saAz+tu9pco@:ҭSXoD}FdYHL\id*ts@4hjFbm$CB6R!9X阖d163f5zb1hhܻau&2ϥzqAPVLKmUk9NE]QF=߾ 5נӢ0L{jD1S'x"CPZ'R{$FcKإ1-eBoٵj|H1}EDYt6^>hZ(f xǮ잆Cۤ&W]UZ:Ex^މ8OH@1"H$T J菒ApE|l . l| `#7y*0tA ݹqvH<.-Y}pPSkJ%FeiH? HG]e2xW-)Ge_[їwݰ8GN6=+P*{lw(]<9&괧ۛt`|(ܛO$lE8hbUjJEF>-4 ]h@:-U A'0磉XT@FlcucDょR)u;Qf[X  -3{F+ߍ-& dYK57u]sIT,@Yf k3j0˨b͈g? r\yD7-GQ f KPF2g 4rdА]g[Lo;X\ .u[-K4pג28!:Twcj֍[ '=IQ7 H∠ՌyqLzwA62<K?5E2+I+)]4rl㾲}D58 ޜ5jsZI"4 j[gIO3+_Ge1e>tDʕE;nHx\$j[-҇H8$bhn0ZU 4]2rdF @aࠜҁp8ޭZOJQ3 #(3B(ί3ĥ[ޝBtH;ȋJ|r&&BBi!2euh0O @sMPps3I4^75[.hb,)=s"Wx :`Z< R&pe,*C.GR@#D-2XWkd}'x8itiӎ q.ndK:VGF lב`ucAtʩQ荇V}s DZзv/oPj8  ktB@SB8^B2YdT"sI.lg1et*-Z[ K2Hç3 2zycMd!MmL#q6+(iV.*ƒ?^<@߅*Plr[Q< ]n}ppxd8V6(v{ܣZ^ʁ\B"zvh+x -Tn9RbDY8Y FpcZ-cTaXGK &,jQ)(G[_3ZEH(p"TԤܤ/`CYR\gY[vtOyi=!^dS- .yڪ|KV ?,%._[*v?FCSpq&CErEy N[Mnxϡӵ7< > ϵQ:2䶱|/#{CsַZ UdQ7S_6 T25un?UPի;׊PeT8qޱ.n]57:bb6#N~Wa:>Rat5_Ab BWīܶk[YFZ WYkHE[ľ\2|`0M&-/mɜalٳ؄1ig,BP/iͣtnzi,Yֺ.I.eLҭFRK:\V Mtrp*Z427#dc+A㻨gƷ%VP)iV:ِߔ\x_С`< qsabȺ` ֮P _e!13Rj)7{z Ji#a!nO~-+_W$r楮?P%O\aq`ެ#jv4S@ ߡ5nڋYٙ9Ѻg&^A'YO$C0&/+iu7bT$5WN B*SNجork[FGzd9H uzJ6';Arٹ|WdZgt,iJ\) (nBЄ+HlmRt\H|8k3'"\OE8eIAhwN\qHCsctpF h)0NJ^`N,QLD~y9\s b}c~`)Bb:jF>|5㫘;cS&2jF=y&+@\(WXҦ#׷I. ^ڤi"/Dp :#yޥaع| x Kz0PFRLJC:1dEX tSQ3y{b2aY]~疚=)6! #UI4긙2|.h?$ x 6n?bl˴8%:v +ٴ5|} VĴO>*CM FCCd129>4D0Y]n#A?j0rW –4EM%o7GKCj[E "X)  kakPtc(%øRB;DZmc=|*2ـcYrxtrBFpѲ/Fj*A .ï9(yD4&K8.Gb4Z DӞ cߒ&+t!kc[}aG?) j+(N嘑nxȤ']]y xO[t#̶a6(vBt;vғEVyx^X|Y1zzI=,u+Jv+5bfcf ՀsiDw*!! LҞ"cau@S7<_[Rݨns5]<,=xlr<<$9qc%تZ!gG6q̲`j,5#J&;}"oEYs.HK^6P ukzܖ)>տp\%&^iェ ?mq \D]H8Q tcܩ~*oO!?*d |@jA7u?&P3rMKy41Kp ǬZuk0ڡ0# Y'>voaEWYƬ>75n$y43Vi5ODU͠ 񶇰2GC!dDp^(F$r|=7hҰlU3"uP[HB5]Aߣl~WiWFvS^AGܾo&=P ,`Zj\/=hW/+wOR8r"L4eePoYl~NaK[̕О1EѠojj? @=(YHO9bL9;?3b J6 q@=rdDH|t&F:f ioF%IX^T*M1/IcRhT&_&a<\GqKչ3Q)*I&^Oj}939P4_|߀Z߰0u]q*Gԏu"8. ݊` ȴƣ$Ya"0PdhvؔJ5aס K.zYLYBj> ?_l!|jq=[RqbΫB:̺NL*|3PWN鐟?d'[?,i^yJ`#LNt"^oV vt )aI\|b4{_³o~ [(I…~zF#;t_X?{[Fh\le"!8Py o=譍..Epw4}&v^`y֢ڛU3;Qo>o~gV R? lע,W񪂞b cѓH@sǚF>/ڰZBA&RԵJ%_w<M 9[z( Z⺢{$9]"kmc"dxq( qRB]=OA )n2`^V{Dd!%;lxSN٫3 1C9>kܲ-H qDZwQhEZ3ZAgrp틑jJ4)o,5iܾװbQ|Q ǾŎRm3d]FT/l׭->X~[жH [lCOAJ1֫RM*bN@1." @ڏ,s'5ȚfP:7=ZAυ|wκA"zy`ty6|0۬5o㺟ed6š FGZO@RvqRl]!4+?9d V"zov ~Mikϗ0 zk-*h)$h!c 9Mz۷if/JU!#6*IjZ7P(\U.Zw0ПvA]2O8R g[\"LvH ׭o`Zbfbd0=#هL:e1NP 5;\%M/%E&6j^--㴓" 2"VZEsuRgDU:>< c|>( A[kA8ELjٿj"$,4ȸor|%+ۉ4a.zMWgl9-aUs&C++صeR}מT DOFM|[hs/#z9o;b%M&5#K3)"-jaoFKk25f:+cfv'֗!m:=_,&h䴩s]HkH|P2džDUwY%h T-`XE~ptӜֶύecSJ~а=1,#a@P4Jbqg3$Hi_{XJL&AÍ9=?5ū`gr:tΘVCj` h'hx]@ub,ymȝ2CAZ"rH#$4תK!jѹ[2z.F{z2zk3W/?}#ٝY2{ʗ˺<掩;G]X5P ¢>#/mK3jds-& hX=+[0xiZٷt 7q_r-.GBNYh\J}R-d^< ] VLl 7tl璥{JKNV*4fɥǛqA%X{H(,Cl2taL!KuIcRr th9KEç)f&ߵ?]]:[_o !0u3uXܽ kְyJyNi}ֺAq})U-Yue#E2TGueɍ b`izcJF@5$!OL0o-5%o0uE׬%mim!y`exS.F$z`ccQȢ注cF o>?&Q}O&W mUIw'qC]*YxBjR*Pv%壿~E z38[-!@K c4 ;Lb$)߾}z%[ JEq; \Euzme{!޽_:hE&mu~Խz=VAr1aX@QZ "tNɌn~>oKyQ2N 'S=,QaU&NQQMS4yܩ\UIudH9eveU˟l*7bE. \[F]"U!fqRZcTQտ{|gj% vNy/,8%0)8gf ͋tVPnq,e وXHӌV(rD䳩.C&UJVo,z{H`p EiLJϗH/ʡLw,"RqEl=hhAzX)9 O)uۼ}v\e@!bJ5xKݺm\.k7(N1Z?5|3<7Pbٺ8 ^0[!3P 4~V4XAȑPX;gWpg@|}X[u `dhh@Mͫa-ɦ@?2ą#wo9e0n<*xjKiz"/'4=t<0ǡ=m D ! Y@]=xؽL]\7`)"4 4/6+UKh7uNk#VWw|iGl{ LP=45WSn0oS?!u1 C!ӣjHP5e-%:mpHy Ex^q̗o2k4LdUox b(qfqf64@j.tOƃX.qC#9ѧ^jϔEP@ @݅sCغm2ziPJpgF$Fa!(9?l Ԟ-1j֢ ,D/MIj7Jze-/auL*)PH>5SG_'.?e*[ !VYAF*zl%s S1;>z§"Wن M,M-e΂C~=Wo6cj@=Z(؋F.⇙kٓ7d?EREBƵ7s+T_h3H}Ѯ⋟Isll7\=3W7.Еj0-7MjcE-/ $^)Uz-2;Gr;SNGugm8P~ ' MSAjbX#IhHl>w@RpCe8p#BiN)q#lef1]ϯTT4JƉfh.y⺉Ļ55Pm(17 ! (?-(6Օ+BEpOߛW,qܥ ZWH+GwGlJ#kw&nEpHBy4 P4I1͝ 9&0"Z8:COptfcy%}Рg~͉fu]'Hي&(+-Y";CND\VQx}n* k 1:yi^aԩ8M˦~aer}ۖ%Vq|jP>!k0^٠ɺ)TAr *0"+ל_s{0sFƜ~RR)PMK1jKϙ>ڹ㫪8?:eE]1?d4[$$&dPٰ`=vB@1^A{HB!PiKQTdj-l-Q ]>סnW9e}wWyZ9CÜ?e}3D>= It!=2W hhla|H >SB^Y4-U@wG":yEGXϝw?X>ם b@k4XGڐ qbA4UH uU =>)4!$?͈p.#rEI[ȷ'u_h5 ]WflՉ~*;nb!MWm"lU/Џ:\3!2U!JbԻY>NFHvm{+ QzSs kPlf"j'$ۃp^Ǣ^K46!v\auYm E gH=Z?$ li2ұ۪pA 5MK5B$VX!V^h)i|n-!)ƃN!=^diwBz%'jcDji}[daX& 0  37Ì}X&fx)NǮL0 8jVoVƊz{r|M[{Ap /$aي!D .~fhv=|vß)'^U.TIZe<߁phme' wa/`c (ףЦ5!&u3xC@z}&~Q3^Y^(/kfBB<^yyީ4[UToNQ5'؃#ݚͮt}Ge&3 kh~h"m^ 331nTM9ȼQae Fz㊓^{l{gh[n7D6^!eټk} ,SOQ$Am2 QO6>NX2 i2%N&E)<dȍ =&Ϗn_5JYNW^̚ $ ͧ 1 =&+~ G~]$A mT T2`2KDϣ ~0SBDu3~s$W2AS%/,h3`:\*(.C }}@P7}}gZ^I͏+wLi5jw}龇; ZHwFn\"5ퟤZff$aTO7X: MBND-P" ^GG@,XE ! |i$Y%D )-1mgN n/rɊ:W5;{|ض*ZAQr,lkR**xb*L.?δH+sm[GјAFއ"ݶq tiJyUuA NJnPw{r.(> WnDz,krAy+WyhAf(NOzhRv^P_th˾; AkT0*c?"f&xT.(fe§wJ. F!Lg2UA{Or&#tV:)GFb_.o*J팎 3BTQ:f n{%~,q4U h&LĿƍr1T`C<-+cC:S; 3?iz T y%_Td.Z-T!w;HCmJ.HZ#>*l>fɐt ٥iB*_YJh+02mՑOMUJJc%*]ӣ P령:%3.1)@t䒠S y @rOP}2 g?t*0kŲL̜ ߟ ч٘B~+eE$\ݬ1Ƶ@65u.#CSS(PTB-| ȑ.cYa/~ћnA,7TgCaY,t`_ TCp5qK g3|FV@=#3?@z=g.f4ë_!'3zH6?B?-3 RuM .bǨy:02r4gAP$cw1WOb-:&; P)*2#$DQOz_5*8ODU*"~V@b7R bU|!lA gjՆ~"+!}wwl  #y:9#ȭD#r7.UqDtqYky]^NXx> \>N.sƌWNQ]qQ,*&ֺsQ;V϶KwuJLEZe*#E;X,n Dڂ?]8gDQSR9 1ٓ?ˑficZJif&9O+RVwr?$%~9g :iՍ纬^{+Bq7܄m{K+By})!=M6`VddF"-jˋ/8I=\% v \dA7ٕgi 1OegPn]y$ӜBV=WBi' rMK~r$ |,+EAϷWwQB0o퐭VRTDvwH@$ǽ-\.۔ζ7W9lW*-(; o{Дv.oJ8N, -mfk |*rTq>i>_f mê+(ZNSNQ/pDJWvɎJi_.~NH);w38clCaw˞4N7*M#d8OA`=7DwY+_^o ]?"#@#OH ^'u,mb6-@Ԁd6b7Uݘ:5~*mLr5Y#|"޼|^s@yjgprأiр8c,ߖ`a}Р !p !G#BIXB۵CPtS\r١BDA]t_/>΋n|}Ȼz\)Kf,- lJ*E\x4B SO(;ȡQopE[8v%Z"iخ F7c|A hDR0Nh[95\IZv.,-lϏܖ¸xeX,RP(8K(qRitDQszE]+oXf#"(>Gyؤ]"9ʮh߈NIjA_,p1 =&#y,Pyo뒫oLw&CCPF9'}OAz_Sc-6Lެ~ &2_?5Ͳ \ҕ#91JK҈0$ uO3: gX%6 7}V[;H- <ukvuD5,pfmzFtI@qF3(J!\ TjtV)EiCc &S$|Fh1%7κ{VO- m345v~rAI_% ӁW^=F> ~^ 6{ޏ׼4O g v5bH{'4$^|^ՈN1Vp@_Q[kd 0 p4lX 2NnB nҢ]Y'i!/-|k5Ѐc;vUhTz =RU`Q'Ca:3hgUZ`bJn.z'mvtGƗZP;&^G4t?SJҷ촎*@ހ䔼`19̯ݯ {8agC?-b춭r7*Բo ŒZ1픨ehbf?Kmк0uXU* 2ʋwsfP,IEuZ >Fsh440oH6it2S6.{hPSCܢG1JT4Q Bɔ'v#xkRyvAw EA/u]Qfg?V{t!u9/Dٍ$DžeT,B";𤾥\|}# -s ys)޸z!j1JCs7A֭7Zq L'}|nSe/XPC*9Zs"߽L^ rHI{ZJ&F`lQ:뉰$e[ODc_ C{:]-+jTL[x/*覊xjdIaW\*xȲ?g%BrabI}C~n6%cgcO'"®á? 2C/Arg霈M=QK҆=AZgȵ #@̃|R˺oߧn{Io ?{`ci ,JS dhQwŽg/W4pꤥ ME\aFoSǎumދP)#|r;lSRw?L M # A+Q}|к4q#GI+tA媑“l nF aAZ1] wAϵ3/.p˒J^QޚIUb;.9+#;dF#CɂrvĈ=871(rRhPqfBxeIInr7V j,b3gVwm@Vg֟'vpEPdi\L1Q(ŜVS[zE0(N@Aߣ!'_Oc[->ƛ{ ja,8ps-wjA @Q^K^W)p">0e&VS-Uc7(tcX$_ms&4FsOi\`(USjZ^}8R>G9av.gRoE;P<:0<0ϋ+]Ɓ`Iz5weiN_=2n'OfB}]C)^RywP=%]7B5ul@$O=Z{ڄg;%cx&&O;? g~wF=:` Gř4زd|94ӎh!mc+n6s1!HfAz}F; v8^YZu::wώ_4ӄT6=׭[_ٓ&!f;ݧVds}ac?uI=bm|W_pZG0+,b kD@8LsK~Yy~v3};Y,߳Vj(. ׮%a$+r`\rW G!;Brxu ga8Ҷ~`x_b}2o:(ixH[ N8D"q(}|I\ ]!z橾ь+IcFGӏ<߯Ђ"#oдE7ȉ>~+x>kQyt͝aj;lmO*68.rzA (|$t3f‰h/$?'JoS6f w gT+_~ 4.xuǃ ;ܚ1̖ C3< e\hD| r(9Ɉ$#=G%h xݲW9AR2KV <&+ z6(8nED "_rC)ĕvo}K {G*z` h8\IVW2kd_g9{ĭȨsfJ㦱ϔ$j>G*" oɘ@v ba 3a0V[  }#FYbz|osraC񞕍{s2@tFCbyw!cg/ A ϛ?o2 F fxSW: !1ym.ٯy[? Ob[;jy{QSTv_d%&W(_mk@̳|!mRa7~ Yua[d/senO==+ :L_W. d>5To/yAdlk^yݍ!Q N;ZU].Sl 4yb4Aiծ~5kL($J d̉Ӕ^leDJj\S69fPEp3 >GbP+i$_Yd 0Qb(Fsyt5{htgT0z6_tZyǻ).:s J ";SiS-JUibб fQi^z,s]Fvh0ە^;z2ҌV09u{D}K'\b:QEO}K1x]?Jy5tۨSH0ARB$x8!A4PQJ2nDvM-0ty4Ø& sZFG;y*P!:&,mx\mxXQnz6lXhMh\>8zWjR"18/Sn_M @N6pAz1(ڠȅQP,ŰRbehg] ^/] RN Mj '/y3T ScrX#Vhs:/=)쀥ge3IhZڼE5#V)δq(5A0R;H yyZk6rwExMY)){Q]VG;s?éSՆNhJM`>^+d[Spީ9+|Tvcռ}3!W{i\Ͻ3-#'O!Au주̌ѦTfѤ]+✲14qz֯`P{F]{tn-1Ku{$k[??i M7o`0 FNȶwEҴH賾3 ZotdϹB##ƕ Ρw(IDƄMd*sz.W:c-u#3 uٮYZI&{4b-; )Ӱ=ӲQUP#b/UJ1)dꘗ\ؒ-`8RWY0Qs՜xsivᦥ-O`pWt03JQ%ҡ<9h^)E*OwyUL~udWFC3eě@1cL#{d Ւu)nH/LR՗JDAU" ШƎFү)/|Mc;s. H~~:SYuax/:y5uKQ).le-^!ޔ_hQ Hd;{+U ?Aξ}/clp7gϥ߀`MۭӆfXh-a,=M+6|Jz. IB6fZj';9N9JFVxCYJIW) AĥHJrOQ&gQ,mͥRK< &}ΫݷoaW(<];hLTCS99qv:dBf߷Fd1kqڜ4 B)R)1)5(8RYsXKgb&`a!p~@XqaTp-P9 g?`Lfșj{RFU55\ipBUjce湦Xj ߡ0`Y ^| ^}-߃ęX_NֽWw|eOy_X H$1w\1lξ1A wI?ⷱ? 1)A$bp^BV1>z 'e3}%X6;'3+ߗY&e Y`߼"=d1T9 ZPu;oY/l;5,Yu~+ ]e D(%jujo.xYnD?V's+ؾ'ZNS|tA*M xT9?fBQo?DzR<'NOTtiL43-?iwkԆkyC9ɟ#ñ$.DZcX+Su0L)KwΒn@d!^k# (|ڨ {Dxj"ֿ|RvvdĭI* 7Dq|Vu4Ej9f<+J_7!U¤l'6FPVE0Tz"o8KO|[ 밼0LJs&U 7?ɐ(ط!_8^^q&#gmwhgCgTE(_߇ 6u66ZܚuK d]YKwW uayO1wAS z^pAv]$Fnk!w(Kw΢Ɋ`vVOc i*4KنFEvI\2ddK 1hJk3h7ܘ{&8:zO" J>t|VODU)YPԣ-oL*&UY|ZJ)ɦl JD( -p' iŘxE!rb7ָ3dw4ϱG_3ER(mgiiO3'&õ/>+KxhњR\!ek> $)Ay)23#a)cH}w[zs 9DNgA('Z{Z81yHoM^:IE֜.)@,N7~g< ebL/؟7~}73OAތt|wX T,őIo"Cf@f t;yUM]%i0eӠnK[L ThadgqumKhO"5XdvI.ރϯ\>{0'!GŢYU+̹Dygj])y^B 1 ] Sd ׌ 6'rVf)Wx„Qb+fwHaJVG;-wcXm-A , DHuQ2<1A)Q8F%+O?$f+Vv^@ Fĭz\/VBNգ,WxkAZ[zdA!3 0ߢhx%!‹EչYu\Ó%so; k>g '83ΊhӇh?nd*'G[ jJ };/@ Orzh_؁iJWj$ogz;ߏa9ntBM? T3A$}g·/37ooMjܒ3g ;#F*N'pK4ˇe|A{8x5yp@ZV4jJ3U$ 2eb!=u0gFEy4t*υy H$/@g20SӡRewUz& >U8-kwD V Cߋh2'܀A?xߺ͘Y"iȌ`W{0!z[5ZؗC8@Q}-«e-kP@xKҋ1BtԻ@ܪeA儍Q ')%.lϷ?4EgDXkDGn"1=YT Ń}Z n=+Y4-Dp.wAиAF0mZFG 巯Uh6z*ߗ|x|QW'+͚LuxamO$p yl[0BBQ#HD!vڤ?Q0l~$P.W8͡oQܽ9KS]:S8!%J m;Tnl*SB?dmZM^yN 7:[8= ꗺ% &/M^GǦҲv՛9al1t5N D"WLAvK0[2Fe}DgZH3߲}5B~ F(*q++"x;d t#34"wSC#>+z<q5~֡1ߙxO^}]έdv ӋtH-JL`81# j2-"P&fx}8.Da 9D5(;)OQ@_ߠ}1U[4Ԃ&N#C|rѐ7(rӵ4d@'W5j5K fɒuXsd7".H#۴QHr6LݽLhߖ%[E * ,a}Z S/mƨ@90gUkeǥbk)G+„5u߫.v Bpx$" A2@$J$ZG"t_\B:=l+ݥ3St7+j1.{о烨,i}-*UP7,ad腤J@f'&VkۯˌXCwjnP zRah,Eޑp$6x8VC*aBZlEAVǿ;PdPʊjF+ƦiFiVCqfSa+2TCAӇ[Oߞ Uݷ$ZYG?l {܄ݔu6p5\:!:tӖ($ 1B"* e0Cd 4*9:P@$"iby[A>-d=@(=RM BSݰWm~ yv>h.^c(ҹ8X?ʸnoݻn[۹*DR,q2*qzr&\Xi{;;@Ӊ{GB^Axr'PdN-ݟ2JI,k֑׺6}~I*EO"B@Ч 3D/RO3 =;#jkY2 KGص13ؖ4 2ujO3mk!(2vyÝLSQȨc8Ț K$R!,{<O„kFZM 9xO3 '[4ME4?ot;0 J3 =8epCIճͦDAmஎ򷦗g"KZwD-Z_]|Ϙ^&ӱ &8\ZD?!mM/E4< EҤEIK4Ę_7]ANYXQKAcGbbZ)P&+aUa%0Pk^}>@(Cg *FA ڣ.qmԒk溺w;λk#C`L0s}')u pŨ aG@]<ĘqUZ1GC k p)4\Op=jVEտsiKash:h ҩê^RR!kpY#D0*6!#k5g{SPi0kUeQ}CXuqEnNߤ럊gvD7C,U9ϫeq>N-5X!'euؤmZtaX?j?t3G@ YitJ丏*-D* ^rrXHlռ-md/}1F/fJv1ӟLMr˪9S@jзn^ʚ9×'60hb9ɸr)7}nSsP}BxvpۻD_x6~pgU:_řY@ii`[tZXPs͹NެeGiBmN̷ kv7\誣ˤQP$,@\CQr3Vz .`=p;V]s׈)j{g{MMGjn]a@u rH-6ȼxXGy֟G,;izpGt"͙NSz6 (&)Š)WYì$zoOQD8Jt!U .%?9 ^h7zjim)cA~ձډAxV*~-*GpUӭGTiۮ47- -? +|mO'gkbuGdM+=uZ35RW߹Τ`GH7tZQ#ƱdOdqpMf:99FAAEx||b  co틺QʝTqk xTk hBj3_jaJf*OFgngȀh{I>\C7`HD)\._sgZ^PԿ(.ۿ^$ Re|.?a-~m+z`c6aɼxr4;< H)&OKFH;N݄>!T լ ,]0ZĒRLz %̨4w۰ i%UlLSc"u %df[P3Vڀ >b[|pKt`q$}0:1ϸA/Ab,KNGl(>#4p~S5H&rbh~^!{\ugVuD9eqklWEW, >LONls4oEXeD75|.He,f\YKWG(u,,2 zZ_]D 1P&r֎z %WU &&APi m$GSk0wY~ooˈ.0\|{U$ZѦ.FPƕnRqG;e|P\@N>$>ST܈zplKnynwT8!ħ at%KL3Ue1z%1Lb$݋K+IRipkyF7(vbuCh;9'W4xcV΁r(>VXtR:v֏,`"gP]T4& ;E] G(SrF:gSD+gU6*%"hc} j[ {EJ2 r q#kPHC$lѓM;B-O)G" %ܱ梾a4|c_2<2Gu#AHhDT~A1h; /VWdxʺ5ҍ[ o'2\ݮb]fėsw/~n,%w;z =7@'MZ:*6N:%( )ЗhݽmX|t2^\}0OA0l[Ug{nEƂwZ8NtAplvibX,}U/;g3] CPveg-I>ڰ! !]|z{l`)}Buq~(o(Bk4ju-hNц%Q͜ _eS叶"dWSFɣ<}Z)}koGUorc 2½$ })O=lo1&~l]Q'r+u>c1?a;ihhLk[捥˟o>!d*= kd-!Js.F k0E40:Au] &dh9?b`CH ~L_{" Y(P FaМMzA$o*n+hlh"~gX|ߩ Rp A_0jEDu9 j}UAb**zg XX0"oW9RH\H4 R6uV'ծVE>PW ?_m;oVZ@{^Q9+:WQAQd͠BrAC#hFH8Be{񆍡]p8 *cfPb_^m1-S? X;}r#'d` )J_g;8m.g ŽK}0 \-;08'SV6|){V6٘EX ߮CJ=ԘF{U"awlJIS fURG^ߣ{ϞJ.W݃ON:"1c֒9 A%svd^ k ;B%Z499ھӐ*Rn#VA61F ]b' _.Vq+΢B-G_t|6+M)ROQFu:vڮ.WC|*;h 3j7gxxoK3A ?\dZ$aOl8{$Qײ+gYFL>xw=G-2,`l1>_ǜ8N7 FZ\ͱlvG}wak꽖8P;̀R e7̍#?ЂdB;!3LH2\Ձe=u:r6V[U"[>yLEQZ~^I$V]t샨̹mbrFy3Ȁ76s"qU*UFfs~甍ۧSx٠OoHbHk!%,?8Tl6Z ]ym{QizasZɅun΁z! f ,+ufOD릎!EvՔLP&sX+7 W폶ٕ}#I}UCwk9Wg/ و7;YŞdҡy3L7/C l[^i[,ɻ FR^d)Dr\-[U zr!oߝ#֛g̒LRァ)ҝZi}*1 a5K>o\}m{$z~$Z߅GB6,ZO[|}O4iS=+ͧ&zm6dk@G<8'ə:s I$)c1kDB쭂1`؉uɭi 郸r~_Ӣ(y$C*a# }2(s& o2ëI"4ɩ>|SQPիۼ08i_g^7BC]-RYX|֜]fQӣ TM`TqӰe-w)mQdcT ]Wcޒ9o`kTQ(B;1dW1!8&46=q YWtľN=8+n:6q2-?ī&U-T-b5`56ZKN?!D3\/QΝsu7 g*|9ԻgIT)%IyGfI$@nKU+]xQrnFjMœH#`3b g&J$7 #;={V/b;$g9?AgU\Lt`|$ +^3ݮ|Eeʁs4Gi0'epK! ^/'\D0 0lRQOo>m2 Zcc-#hݐ7`Bn$b=,VFmWnp{PHWFaYn4a$`6`gqa銥i,d;lܡ@h[ >)ho9:wOA 1G=%O\{Cye.'U#)gk)-!7oȆN[pyK,@ yK.. 'ǰ9jz`$$$A-2<xteb8ųm%M-VkA5xGwXy\Nli Xxsw_gٴ/gcʪ f6D{m!K0i` 4~EH=fi/ f@$9}eq 55ahB0M> Z py!z+4J`2! >mSw<څ]ܞ!èo&C 61e6ZTAEN[X"IYV4:E%8 kKI6Y5>?ظ D98;b,..N" )M_քlwi+G~ig]~4&  P0{IwWdlIO0R!9n40t;KN\8*@wP4/\!?kXi#b8Yf];G _'5'e Ϭ[Ws*U82JP qCQTBOWyۡpfqSNC8o3㶨_(C~0: ']8|PĆ!Ij؇02 ~dyH;Tx̍׍qk=<͈|"{O сMXURK΋v 8 fB=^O"T&y66U2W=HN!ڛ\~݀4;3 ;Zu>RJ9B’Tq8#1;M nNW8vQ+H?;WX wUDb<%K j7CM[22Y?FOþh~vi ͫ#tk^P&Nq_ o\,(P-!4Jkezu|(P6n^_:伿^ɆE-)Rҍh<3 "SnY eNjVHo6E-c#0 (% /nY24]0ѾkkToAȰRU5z@H^/mGeYgO =B0Nr`zY_K ́Ʊ.=@oUdCX~7F~%}& 8<;οurYtZfFe ?S٣;AR_ڞeruWf~>/B! s LD-LޤcfԂM@rޅ>]54-zᓫsssnΔ O5;xwjZnO6ܰSBK]I^VGxqR,lPR8}rO2OZ;E(WY"ζXgR7~uawagnգz u=/gt ˊ`(0kC~u;MCDbGJ"ЮN=e0sGNhBVd➼9*МwB?H "Ϝ Jd2tkGF8lj/MVf<*[]}p+I~ˬ%pB&P$PUTm^v6: jx<d"(U oB/jyk-ڹ–T.Eg߀A"8'G5&v V׋$|= 2 p#=y'Hp;L`]7pW~s*=Mv}R+j2fza2exbˤ{I& P]|4HJ&Re;emjA>NB 6 w{9FQrzsE':Nu>TJKx$@Rٍw~ֆyp!]gz͘p)$zz9لM30Qi]ZMϴ+/;{hd;ƽ^E `}b }$L %Qg*%ؒdFou6&M)iDŽ)kU)>6]{ipHc0KݭӀo(ae@_l7 ,$dI_}|e[M UIS1ڛcʟ(ƣl#=ANv,uf,=6_M̫nKWu._|r?vi*#S7t E_E@p/Dl8t8ӡ6}3x HPҎ搡p)XRFZT] χ1nwJn"2SS/Vo mYZd"fcNb`FN6,.ޛ56c-jVNtϋNaS_[3 cȾ5Ov\ <4pt huQXvq- ^[D.A50#M .?a@~ՐYjA!4.YH kG%!.aT^Ue1k4Fa"iE`86.ԀmD֚-J [ԟQqY"-*IBu @K@Ϭ&0[gȆߠ<|> x6ww:`dYGg Z F^꼊8cy0mg!;7 )IyM T-\ ʽ@ Z*7` 37* %#QdұyK6к$vU㢪%Sy ՐV=^d*~X_iP|G%GΆWjc+_uKZ~.*ct蒛Ҋ{UZ;/0/9B 䤄^5Iz;A +X$R}#eGs=a+_)jg}AKseAaϹ%LK;dgQ.#,{uc;N!'G_^s 쉡fT=\kB2 qɺDt47C%-K*6q4$:AGT^)`ٞ@tBUo@{ D҄<1ND̨#*4IȐ8m7M;@.{M6sbŢ$ {,@h+=G]>Z =39!Bӭfe}X9|&Pmc9yF5O46@w4C >D5bjE;6Pȧw{gNj-feoǝۭ&z*L-ɰ]^i^׾ʵRfF7a0|+9,Ge3L hNQflQp/96|<]ǶQ:(OZTSToSFoN-rqr?mAIP;r,$,,*1 ˮ|5yٖ#Ɇ .{m]O]rt3>j{ݿΘL7t!=^ Mf(xgiC K6wr vҀu5VUIbqY.qΰ-]BV,w[ k>=Or\ xIw6%) =WtTs )ՀQ u3֬L9Wpw0@:j*9æ-TFrJa9-v)7E \*2*Hγj-X`0q!tzH0?L#N'PƠ s$ 6ΆuH}qE (|%,rIu ,<X(+%_ql.-75RvIVTRыp@?L{i4zfLwO+ 6s0@r:.\۟Fk=%l~F ^_N{5˄TLtHO l::v'MWqr|Ro4p󻳋9Ze n78m2R ZGCٷ.7qX<K\2nؒEOc6xp?jV~2ƺPǥWj/;l,vZề LH_~I[CO8>Ph6o+{K귯{Ȓ̗~-0[<'8Rpp)+)J ]Xŝl;H}Rqil:iSx[%J\̌7Zljy11dnꅦ'O!Կ2Uk[$dxI;4y0zQup\)sMcnGq,A[]v%x]4)xTΪ+1! p6frxY5H&=[,z㑡aILj{0Kw ȆY1qgSZQ{"*Hòy3@t%x%N9a[ hYRA)knS Zu?pIو5<9+8 +båLuww S$deWC@#S9RX׋T{d %t˅So9_:Xhq.q^;QTb}h48˷OGAw~* 8F 5!u.{ ̵}5oq jJuJ j/!HI;=c8̚åuۓQ.;/ls}|ENLa0${ycy0겗1ޑ3"xfܵȘhtMqp!͘4{?*!z.|SAf2V3]PӜ`ʱ΋_`(bB 9o˛pH7F8/ h X Ǫ m4ΗLуz[c?hLoC~;(1esY0lKU7M# } t/\/m`/ ]4`0\%,^܂ً8_{\Q E&k(BqfdD`5?GR;8Dᛝ. e/| H,y\p)֟|KP\Fe&zĞނn )Bz,$C$ƚ*餙Ȭ+ƕ<+;3Vꕚ= $$[?+CA?K>D[ք8O'Gj 5\~[ ʡWsãѵ~+> UL3_ǝ >02'nhRmuֹQ(/dG{U 9d(3 ٍ掅K[QlW]=}nnu!<. a[h?!ff쎏f3z/IgM0Z#%lp j`B9G;vy$ T3iY aJS?n8Ș9Uϭͨ`s oP:fa1AB pykEd~A :Mľ‹]qW[S;lpQvl祓ڶ1~VQ:Fy,,w}:wG }0Ylv Ln `2/hwZP<[#Y d~Ԥ#~[d߻61s*oherSKe{s0/PKbu$QP (͝Ռc ֢iUJjîKSM2FlW+ B"Pq;SeEXwZl6H'96" 8Hr[IBy$3)0{ 0E)Zr= ӥ#6X8\ |k.ٻK4S`=CޓH'L>k2pکG@XCE,OvBoׄ⺫cQ눳 +.<CI=],Ks溉ӕk]hM6xX^t:I9C(E И.K{(qCfiS}U] @[ B+&O攉 ض"fmJBd*UDFđmXb?^#LMen-lHs:1 5ȝ!P@rrYz;,Mo=}S dSr q> `Gꫲ:aԡ(O0UY ,јZ5 QDW>/=È1,aO4&B1]+Uoӟ!X$pY8|. Uם_ pj ߽֝wYI?ьRKpZ ()%{Dl3)=s1_\v"w~|Л_6dQ1'2Ђ`L{%!1Oh1VP_vP;f!cEDZz0ӥ8- <63'!0_6.]r`U½v"fBl ÁKk@cnh- 4>@G;_vt gUwt*7_zӍKU"פ;xỏ\:3enu|$GDep&鲣N E 52M'dE:eBEod7Pw"LG㔅ףVL-7a^d<["DÞk`[ζd| l^Ȃۍ\&x !.viSߎېz=Y"<cN!w>2Wځb̉ia|d2\ȧ@$DqHF^< vN@D8F[{{BiU P㇔مDqf^3.KK0 ȳn ,:X]ש .g8m]%2!;E9BRm'xڌ~fG a+&w׵- tnV8deb|{"}YSsBM"%PGAg1z3h4~h1B!<Jv' g\[74ɹ$ΎJ)>v5oiiXx9^1N]aqKw,ka'$f)$\.A1,ekkr)tʼn9;Xa?m )_|,(j Qm,_]ɣinKhY򎝴y"@9<+"Q_I= #U~`Dh&M)7dLA` 4RL:HW a!LONl8 6mHr A1xH試w#n\N1{Xϡ :,pI2hK ȍhKɑ٭ҭ,mQ`D熎f=n2;oMpؔiXe+2sZsuq|3 [lP 2$]/̷Hg LD{zS͵YHw,X}-q'-n?aە㺭MgoH+b*{ ڜ^FU~}ݶ#zr`o?h~x&;On]'}Vy`t4f߁jKVT ˯y\ 0]j0T!KI3/(h#DgS2jg^'#mM5_xc8n7g$\įa\lz6nG[ \s‡ 4MlAȜta)CJ/`_O(2ғ90E\3UjS΀3,7[붗2~ |oP~ۜͻc[.XNc&_\|+'5;T4$7OTr?~Lm)l,LP0Rv9s:Xl0Qce(b Ė{?֫b/Q.R+9UPXR!'E ]$ h6 lyDꐜbX%-pH LKtr-3#|(O:, x.R8|<#@p#{^:a٨2n | x?"#I~N9 }7;*PVH9, 5JA'rcsD9}ź}.ѲՓ{7rL( $5#xrv>g3H?7&  ;b6Nhw+3t`+[a'U CG*G-:%z2Ҟ3~ /݊)cณJy9Y5/o!+ܦ.ˮ@/@2X|^o8A2)IpbapN'xwvHA@GϹΒ\ndr.!UG5 "f T@v SS"@#/+/jtM332@gud8u=y%uQ#&Ea@ؖ-dfnMDbg-lBokiq@(]}r eRZJ .xu ^ ][:TZ9un(3G莍Z:^L שE:%GȠ'&n@qo_|XUV+w =sp?;;!cV_5҂\v%HÌ;[g :$uX*AOЈvF W'f*E0ΟKK> 6Xo*lp5;t &€8WOTW('aѼ߃M<(aNYgK}bu<tK!#ea87umBn5vOSnv bzm!gR2=X įڔ0%Y]m\:CtZ)vXHf/^.WGI`Zmd3t %@)tp+*`38XNm0Tg>w|(#[ JR,Ә'ڽAK kAbxߔ@,#~xAOaz*74Ãٚbr|PmBAAq{`(&h&ŋ-r=mȩ. Hy[yWAsOmf&yOHK2(=C? 檚J@Rs߄]H<6pn{!ƒbj}7l-)z2".TRU`9Bm$k_;\\3 uݬ7٠={Ik ]iXbjz}xWZ\5v*Gszp _JI&WhWK3js\[!wJfטq&s2ˈny3]1<;F^ۨp};X$^qRd4pn8$5`|ӈ킖M_٤iJhNH<#^FpJ %P"4^C X i12C["Cd9X='kRPLEa H,^z^^xɝVC~$Ld-8+T-b5$xNُSUݴHhA;5X ]`ߨZ1A6 YhuS{ꛣ-J;ws!uaVBwSh5',.IgBuc22H/P6W{q&Od- yyb-"5f ̟U;\%^{ϊ%C/ Ȍ3w ʀqk~q6'|9t;;onPu7cWJҿ]nkn,ybMps6Y T׏lq0" I[ a*9g{#[kΞ4Q0EkF'$fy)1z94PIBv!nKo+:MP \F"S K@Q}STTv8B& fɐx#|FŦ:]k#VR  t ca+o's3ql ɮXz8:32! 6',V;pmGwq?fyѫ3q}AEc?CvSy]#viOk dH:( $kl#ో&NrJotC#[V -[ veK!2a\*tu`d`9 d{hR[}:^yy4VaraHKcC?tgU$h#90bbe.ߌUoRj/EO]_l7wLwyٜΌV  ,BH;tnǡE!;-Խ݌!ԕ.ψ⍉F%kK&WMRUR)4k{ ׉!jMhZTB>hɵ {ToTl}9G@ BOJbU8VΫtyMፍ|0 ^"-) OSuK3^7:O AWG;*E^Iܑjj2Ҙv#@v 3ok Ǚw,s2sVEafikz݅ɥczr!?BA?\揰rU q𴘄"UW׹:JCro!mz6G{]G?wg^Ȍg.^t;Qls\%yMj9?R.dӯElz.(3'w7 } k'[\d[6_6tQ} )&%BB0j2ʿ蘜zG6ݦ5f`(j''z 3p.BfN/>סx>}hKb>wO:E¯|hbW9j,z^Ñ^o_.?A.#vU14!#۫\SX2J [ΓK {a KEb: svp @&J&]fnq (( İHH\ ]&*"Y$7ɰL5KMeU}ڵd֛s1{鼈,\Su6dmS)BA W sR%4<zz@9}Yrz" ?$wIXf UU 'c\C@c\Ygm;l2GeL6'P1 (pce+I`.~d0(9nWʞK|8+bOJRK%}<;T:%Ls6+lt  k 0`) RQ2ݩLf2e^ꢶu;!*V,N Jlc6 ~^jNOCRoanDFMqici#YJ9a,p2]I%γ l5@G & eTe;HY~ {X /.=jdR)*W@ls5=H%g)>6ҹ`{b[< ETpQ}qG9%Dڜ6p͓.9- hJ}&X3D_>%U<1y~}Z=I- (hd:pN0j? fmDAm &qW _`$ʍgewA VȄa8NiP#[YeY /yY5t$Rql 5W.?_W!=,sSOpC0 *Eљ)6|%{[z ɜNy M?%$ah*xahޯ7 f|􍸰ユF_rE*0a@x M򵦿HRyҿ,O0̵ K<`@܃3@4|`zE 8ςϡ<.>! E:΀无N\o+GT2d̾RްC`Hu #r):{g"Ƽڗ"uxvߓ%Z5)fO+ 7RѰ@k*ʨ/[R/Z+Sw~xHBڴrsK т\e^] T(2cG}'pX)מcvmyj##]y*(84G@r6ju6,miS/dDKuhu,^l}@kw’8>ײT-i)ICgNJ Vw Yhg0vEw<*?^ wlH ) :gz )]ܞf>J!$]ԘeA JD0 rAXWУqGZm& T 4Q^}72&:C.HޟAedȻ jt?oz3L*A~Ɨa $- ¤8 =}H-iPĞ2OD7ǵZlbfElZ&p0&\ҤQ7*N춎/4IÏxE7d@c"\N^Ăٞެ}˜l-Y~Ȍ*b0±}ppӯn-씾#}$?#4+ &r\`xh5τ΢G'`?tkdP?bWtɉǕGL2=3o/lm^l "Tk!I n(&b~%4 Z$I!e6)κK"XO.A"Ej;t%Φ`UpMK 1 jUfS<_1*9x?' ?SS.8ux#gιTMuCIа Tf&Luv0kaH Yg>[4{(TUF Xʼek(Iko/IQ`f5)ػ>@7n*"p?4ыa|?VԳK#J00,(tjz63MH;y9"4R"74NCDlw1ؾ&bN_dC|[T UGԏ2$p%Y(*L6@U.>F4ND?c04z = aGgJْ )kJ%Wi" hrFR~Q~URρO7:1}SK>-2}L11ࣅad̒p%E$f/{* S5`߭׵{|Hg‘r*j8pR&@?Ratw6$lM/Z%$K~dxIѭ@*w[I`-p.Kzl(?O5ZG Dli=fI-rޖKoAg`x+bŠxj37PkqYs|dA;@ Ǯەg->Mէqn`Xv \0[3Id"1Wz_d ^>I b|to_$ג9mc;y y g[co~#5bF'$xV=#+AKrHQDQ'-'5X) Et</!*'aKFWߌ[=E՝ٗ΅ B$F%1}vQZM`$qaNlSgHgE_?f``D5'if }֎7V䐂q's#I.znx8Q7[Cc^o D? ZgiL6.N_֑M !`Lc ǂ?R&>& {4xMCgy.k5="&衼ıni__Q9mZV%ou@܅.U C{_ļx(05oAb3о\w(qc=lz.O56@2JL.Yq =VxQ"P'Q_`t0֟.*p "(H; .(6a6N0{l= r'([VÖTo PT`z0{wͼH7z`)^ PF̻Ȕ'5C3h[qpӴl")t[0yg5&hh@#P6B{KG|})Db7C$% LgqySJ PyK!d+,iHB>u/gR(}>Rzu?#v^uvKW6O @yO*|_ Q\0=*pج9(<DZ:4+~sH8!]p?5Ԥ3 XW=418xG -.2njC:/8S=C駧CiJl].dd(yU[Q.]#L$>"ېCq(qBl[~Yb.XD5>A,5Z|]*@eK7W'(Ko\!grRHn︒KG{},YLgHrhkCĐ#WZP. 2eb>s/Vs4_47p?qo&LnmZ64;Pyz 1ZE@D3)2DKo4+5wm LP[q|C-jV߾]{[@lNA ^j&܋!ŌOPcWy|SZMlP#xt.'),PS 0f-k6!Ӫy--W̾;<֖S (A,KrH@6槩C4tQw-kЇW xyjZ)vYwY^n'z+9FIgH6؟MPvalYQpؓ%6VvBBc7:/69@2XӠ[Ή%8F|\3 KxW ;##-ܵ>H(s8|sTO{S~P024U;Рu]SvߕlCt$@ 3BG n4/wz'80G"aıl*g98\7G(|X'W{vLAAxTJBT7$dne+dI&v@'s>qgQg -5J;i'A;APtyM,@ ]DzѦ& \7:#Iwɴ흪7rq[c*XS;qϙCz}cH(0(G9c0vzؔ}lnlqeHbDr=/'"̻qB)1m&waK'=dmϱ:iTi/b5'6M\N D Ih#E$L\aonW;srlNb9ݘq5ېsYnr 9waӎYCάnxQWy;1`|njPt~ć*{i8^Σcvv=b%!#V1Es<&gH J`.|('Ę iP,?|,͟ʒnru9]K^p =e_bV)f}5<GVVAemo͐?6yZ-OLB][aMpN; L@2 v>%uZOJ ,ri(xxNoP}8W8?!6#sL7Ϝn_ 0U 0bH)iqNy!>tiCKx5#y޷~ KcAT)~guElvv746,"Ƭ%v`xyZ{;if *.OO?Je<޻;YbXb Wh O9,?@ }PXSD厸X i酏2.Y֝؍rMc;᢮2K~(%sȗY;V^4"N$?b9bzW̨j6`ׁ<ԟn]dƹ᭦ʩR^Rr#*yhv#b|K*1b&LQj|#g*? sm?C ʽoW AZb bB cgÎ)?z/`r0"*Za\ޅA]dmv "}*xtMw ^Y;7,ŽuZ往X2gKl@1!F##?#R9tވ!p(U8U1^ޭnc} |@AknEBJ n2N|1 lml¯B /x>bC^Ju2RBz k~s#5`o1 6$UQq,FB;niK;O;N~$e/3~n CQ39MWIb*roq'~YV@^[ )Rf0cDI}b0{ZFvjHI½s7K>gq(9>݄ȡ^o$Y&;֡W|=Jc+ˎ낳O{ȱ\ꋊk f$P%%o @,};ߘO'wWn=:lEƙ=;e6$̟ :ݘ-´Q8츧/-Mc2rlF,;Ap\Iyb!par W#̅Z̅ihy$>a>@qE~&| <A?]JU<1!U?#gCD`9T]+-[!p3&)@:dw;b], ge`n*wbeU+ɘCUdAlT5];h“y`NzlNC:2{E=߁ZZ=FɗF{$i0]]8V\+ePDc^Ol3 y^XzrUSNݰ8J^ޓCE1SCQWJ;+x6'@f@ƖDv,7F)/j~ZZA[RKT-cx -CI1m*#I~aS^̻sשrY,gET}~KJ`o 6"#~tx~fAJeT.OKdؗП㐐wFј*I}dp3S\6::] ] 3m<Hu53p;5˿`a!gT/!GG]̀cm;N@CY_pΨYnѵ>qsA Ivw8;YQ" Y/AlZ`"ΚW oqR0]OLxBX0/l4NkJ|bQǯܱf U^C3Z27qɯԋ/PVUl {8_ȼ aŸf1MފS;sabNRr qSHy͒(ޔs4-jT yqsu"A^w^W.{qxGe ifnSsWa1g a?lJuNWGtY.Hor%KF&zsd7tf:=_%)p]KBqj(.b_oNIv}kAZwNz9ϟ“.da6)|ߘ ˎfx )cqI,Ғ Vy>4Ls5~ D^k^b逸pCk0™<ح߆f0]>#b(@fÃ(KS C%徦v!_ׁR{-֏NO$}v2naBdzͼ+bVtEGo}Y{"XA;p'R r |D6܄R/ *${oJڻ@b2#OB̔\pu3;ޭ,rDz_~fd|{j4~DH[ J_Oxin`? T|;ڵqz  ucl "OQ(1㭞aFw/SF&(ӈEOXhQVJi5,@r](]Y$O3#,>DtvrwD g|&RnsSДŨ(9hA,#ok!}oD77FᄞKhhG$Iۣ$#DBpޟ dQa#ǎ M(+ PLkbL0dhuq8K~ CV&*_Y6G,VX LZX3m)Vd}w'[lAMy`34fٽDkf 9@lنs@XϘqUڛϞ0/ c4vx^>دe>9̓xn`JS5Vr[ؙD:>Ou" E 37MA&FNHNKN`@҄brrq_{Y1 Γ:kM I=iivEjdIHuNC<7enaSzp[wz?(&2*{s5AQhQo/Y  ^`)3| @OͨO}Ck jx( RM6y\O+u<ڪC|aƬ&e9zL>nUk]#=⩸nE3|?7FKHEa-%X,y3ou%r_>&]kHbg?tלR:AYN0Lp@$c\Hnɶx9KJE0%Fmvў ͒0"B=<٫]C#.܆#]xTʈo~aIWV`i(J{=jXk'wf5UcV(_L7J讲R>q-Ә? `RGٚ7^j{5!54(FY ;G[#8/r$W C */]U9E |c]"4O e>EpLOK(G nP5:LaҊ6̽n +h!~~ƾGOܑD}j.p46ٿ{͈d??7aB;P ٪`ƫ¯ϕӎa{ߧ {M#$)aujFoW=A%HSJTocgN;^OhXCes ]eKtQSÁ1f9qb|"&F%O@q! PFHpө7'y w/ċδQ%kX#>%7yc>ߥ>ԷӞF:Q<9oTVX:3s&1= Қ # n2rry|* ]F}w}|G9Uhn,.fk R~E?2m8@}&(01pLN:/4vX;Gycu=NاWyIt .:m ~ R&){y6]Ւd!/V9,Mm *¬1 ' p moC g'S/Z&# jpzr;U)7PW0{DU P){u%=jmH jgQcW# )Kpt#-PnpN X<5G j2*'sӷV1V:ٲ9IKe &2NJi]' LѥgB<kwU;zΰBL -4sirɑ`Τ`O0QнGғ~HR(֠VoI){;|hHE &qFCr̴~v#¤BWPMkk4bݧlUlHzi{EEWZnA$ȁ=\ pS9^c* 1(]  \`5ojn>1~YYz#j:)n}IKűzE Q" 9khl' 4FǧVMB>ޓn'2B-xe8]]-0]<;HdDlԒpDH0d?&@t˿ȃ3M/}j%I WIiK5uD*DgJua%&'a m`0|謄FǷ@Xw;aa?:+Z @7)1:ppW N4S@?&Qk-<4$`tczOR"C !~j`ToxI[=jzd˻~#:1(&(ype*!ue(}hn"o>+h(r~˩WvDBdTؾnxAׇ%xJ!Cf7p2Te*²q/Q-F[zD70:rqaM?64I'} 4[6@ @51H";?Q0Zbr:1̤o]] <ӓhЉ O6M)H>e*aAë>MH2UƿBOc@g,̍db,  O+;]2z<_/N ^)7JںKj.e -҃߈^56EBYjUqS]e2cv.Ϧ^5,7 #mB_ cxV؏(ese]Pcҗ\ s»yxojH8V3>M΃OC4IbXcy PE'\"x} >%1~ܭBg?xq}`y@j!N=?F+6GltYS%Y 7pϤ+ Xc\vJm3e#LwG7UeMM<-%T wĥx~0K,8Х9_g.-R pR0TϏQk𹷯8hf ky8%ERF7^0KLN[6@rF_%0'*IBr⽟- @42LmdъCb LkܶRѐsʑ+(Hk. SjnٽPY TW|5)m.s<yq;K/6wXv@%_SuH9wQ(xg܊81,[ [Si<6w#8MۓZ0Vڭ.R{| 3&6!JG&&7k#,ZmI]iiS8 2HFƟCɈH&&C!^qkl UT= 3>Ahaj@[gdƾ+#&1~\(r+@ e7@g \lJ$faR%穉5`7f Q-`g+_]fgՐ dѾzj[ZuD_8kXPLʱ?,ÐF H;|Qq;b>DiN!iBiJl% _4HtazCêdcK~e)P^Bz81hwVY$^mLݺ})O{ JV0aiͅ'g%+iT73L+?)4ʓKHi 冃PͨVģmuJM[#jX3 9vxezcBG]YzȦEso|1s\zSIZsy_}mMŜ?zxEiqB0heCaOIf`nA ` XCk -Pen z0faQg[#Z|:Q+XlX6Y>J]S+{bd ZYQ]#g(-<~}QQ_U籼"7s Q~ŪbmsK"Dǟz)_4.[|2tb([l VNmܵ}(V6XNt#D Q.OZآm2?~_OcuÌkE'.V4Io}+GP)i8-Cv?p sp~|f\5]j:LJo8ZxtD crK#:z\!#?gcsg3u^MB?Dx'4 Da0`=e"(p(Z׿lH W>0ϰ^wB@u%Tù2%?Xcu@n" ?֦"_o37r7=ӟQNhoeh/g;P_:ce`,)HS{[B1Oce(RR+uD OU7,twW,@<#GAͅXI˚wz,[2m&PNmuoBcRQF .f@*W~;H%qJ M}؝#D^ l ņ) N3QED8: E2o2lS#-%I #Dg߃ PD;`QҬLO-+VsPlԒ'+-y;<8^rr@'1: fQ7I8bOhB- g!rː?HERy 4=5( L`"%-b aJ: +ϝmXyal X6xZJ,} >־`x+9U򕦆u0Y<}lޏx3Ƌv͢q8fWemfVB4pX%~07eοdk%o"z4Y1~3T#V>o'c:ӄȸ;0 "*:Ϳ>g8a|\I"(SI(n.F>`ȳAmF Fe`<bj_Ѳ>$63[?0=_3b>*uagJx9(l ]\XGX9_&7bp!#$~&FTzѱ0Rˤؘtس; ,PDG/rfVVo^=g:z!_YfRIrUFV >&LFQ}4v`Oh_z֞›¶睃9ԃ(>Lu%lnzPA,eMR WiΕ s-σ˕N19A)umN觳aRH5jqho55?JuA'C[A.זY^]Ӝ)vs{)Y%$p:lP$/A 0! ?Q浹*{%ձSA|6{Lg^LʑѤ"#,+Jg^@ F}c(wΤ ~;frkA ~#ga83*Tw4iFAk[MrFxVb#(5=JLfrpd AeЇ 19anjʆ=GuqaqtS bak3 ,|a':[Ǘά/xiR֞ܞ?Kݒr-;_A8tLo4#0y"+>z dĖz_p#BpePbv=Fqr".77}P\aE0;qFd%Bf譔 4S7lýt߫>eH0ΆAjr0sPBpg @5GrVtf_ \^rIDZy-x}K\,DuÅzA_H=<Ǔӆ@bVI!tm\C}BAǩ+yUZ=FIܐ{OGwqzCo =e_)_=8E. H6%ϡt~ JUXM`UW`>qou 9eEt"y Xvg>2~9cՏPig9R SgH7o,[O%U"Њt^E~lU)?#@AdmE7r\l+89pz~\^Xk`X;gir|e7[yk} ;ߚ /"0fr[$D5M\Am_pAm%>j|%XF  ezϛyDKe /nO9՞>֪.d0J(5{պz`;[c"WuԷDKȊ-V$OnfU-l{6‚,"uybAҾYjQC4՜7i_PBovC{&fDpAؤٛ7zXg[4T32dXD'sg# 4o|`hWNo樘{aJG`>%Ò i8?<+dCTW0 v՟a؅!h?on 2k3)Fd,‡,%yWG.VP_A֣gN)3nìC)Ho i~JywZqkf^c % pK$q+\RIvys7?#GBZnDs][Qd+$p#Z3@\| --N`oY=}˹LG9zǙ:wTlKSw.kī+mb=ro]I|8 φLkyyh2X򖕗3Jv ĬS$ض)׼pMb z&q^rW? hBi.Fҥo$T 7[ƯW-Z )s5]&!VsA'.Ivl! VN .{q*8&z_SC .k Rb:)$6~b43w}$kiбu #kzB8>$y},aIP-J[r/b[yNL1lɜ_j:_*JŰËImvWoJF_X5vhX-gcT߸ &ฝ sE鏒iw?;b`}z1# 粶+kgۑbCf܃)RaٲLBYMx/9(戽z6.#HqBKkeTr4y`"ly(k*c復7,{Iz7^]W+V)´xB~Bl6M"'OCfԘ)},voC׏a5``nVVU[<'.>tQo%?7mg.$ԯۀ@- 0gSt,$#m* "¡q 2hk p{ W8}zIO1G]@_yg:Οn|Of9|^),'<ޅo2K^[/Y_iC.[&Ew|-լ|ͅjވxzy s[j49j"M_<:ZqQxvM#0OO,C_)Dg@aAE97Gqdn޲M0r/ U& As]Kxko-oT&HA8v6ѼF~ٺR4q X\]*+揋l ? *tﴙX<;?u|fbُK`h˼d`];^ f } -5e%΢i(^ 4t*P~&l$KO`@Pޫs 2ћ8LK{̇hmO UҊٶ'cT&,l4%E$*Λp¥yИgP{Dx O \0ڻ "薉jG(kyN T?:`5 ;l8r۠6/ФG6sn0N-_cN e6et+Pyhin UMPn<0J]Gb4E?R!jS# &8 D I}\Ӥ<$D/6v>=zҺ&*$#A0dXH#l1[,_0.A0r ?^0}Uk}k< +Uw e4.X|}Kn F Za/6e}>P}Ȅ>65]^Ar/F0sAsױߞyc־z:}h`$:Mk^TN($KO)L3$;]knF29-<Bۧ\sx Ims%,\[[z^bMl$$9|wI%@ŪQ0k2wU5R@5|sHM0%&8)r\ʛy$[.UiTNCb:2pq[V̦QǸƚgXIፔ2/( !SFKlצlDT)ҴtIg4{8RQڱ#!\(+)jNoA"LYi(& Ϩ~[4z0{-bS^B_.\=M&qi̛H3䵐-Ͼb VjR.}~71:Cx.=[oyt8z# 1&~_bɅJ,6XoY^Bxt/ OẂ/Y䐗{ iN-Uu+hwڙu8EB_PuR6{Wz-ZHU^>.;|D#f\9L*5$tIg0Adso͜`>ȿ|ch['z^en(ؑ\uQQヤx oUJ8vh=4هc{o"by'~YY;l OކNw7duL="=Fn8{5K;ܧ,wbtamO8c,|ƣ}9cy \5wծ6&4tܽi1UnQE|j )64E(eCauORn±T80$N5k\[?\޴^ȇlz6 G#NsV^F$6]˹) )t\)Fdj)55],b()2| ͅDE57۔kELC„$Jk,8\֛^z;t, _:4s1g3/bks|::i31k>iv};d+th,6'Nߤ!O>T4@I,݅[a儀?㕋UN4~p4cǜyee*OTFݞ U[%zɃ1jX ȧG^KDQ͝f:Tž𚠜lr?tÛ{%n7**#x|YmW&) X#ʥq6~h/н8ȥvs D[˲Orrv=}gNdJz Ne($yn}06 '輘L(9zoDu7ɽ'l]ixZyCZgax̥8KqB Rl8.5ؓbjXAs!{N1Dž75H={1g;jF#E1,L#q>7 Gy~%#2ߗ%bJ]Q_ji"v&>ǣLH!yȂ/Q .fW'`(Gˡ$b~ ڭ&}n#@B*P)ڠ)y<=>%}ӫDh}M/ɰ )>ދS@ߟ_&y@}vyiKPfyef3NMMt4 R ˜e"qj[a:"5vT>l$P3 -fm1v5wC2E8/+;D䦰GnLsmah'TD>rSLE#ؚtjd@aZ&Sj6`Էв9JXỰjʃz$k}XTUCMLp1 —FDJA|Aero|V0_":Ȥ/M{]WWF5Sep*csW5hq8˘!pS86bŸ!K*z౨ΗغZ}-e[5u-arYg@.g)֭ 5.>i$1ւ%=zC<̙z$yw?*!H/Iǩ\ a2J_aTެ5>[4j $#OYkQ-ɯ)"mNEe<$O>X)6Cd.X.Ĺ pnm,J?/3rFHkfĬo"ᅬ8h8x7A54}{P\ĚQ$i)|B hT&:?ԶQnx[*Nb^|ӽw}7-qG߬8:"+b6c[D5cUd>I.{!h[b$KdR?ґ$3J9V0_ fܣ1[k~m35AJeCP.ij+Ԩ?P=͊-^tKcQ佊W8AF_S \@ ll]AXC  OPMb8Bje_'jic2;{:{@1Il']hQ"ԏDGٲZm2dq^n;y=?I%'#%[!AR~5TJ}!Oӓ78S_cwO01~b*ׯYzL|̣`9QQ :bF|mЏϟ%]C>Ծ X cތޕkV_10Bי3egcPʒ:Nh =yYI~c?΍6+ٴMv_^MY]P87^@{ueȒs^4p8'뱡Fܜ1XK)`S_ǡ0|Vm(E?Jt*2p" &=$v&PXO9,r9B.D[׺u-T%ܪ'Q!3+*chEy#g0bQ8vZ+_f:!4;x~B4zz(5,.9&c5K$wT8l>(^#avclCcYmjvJg{sO Mtoxջ[ɭ xV}ڮlUx+?253eC7-JhؾVLjht4C4F#NRgk9#W]L;)iqwG˟TSdѓϮ@@z4kbK!=p [y^w~쳛TϯoRWhv⛗ K*oF.@ _d5lٲɈ|RLJ 0zmmh#vq8UȨ,ǫg$͐=w6UU<[;dO^c >oOޢU4/O sbxeD\Q@,ncˡה~#I9G^W,:\ +Eug:ΤdV[ywcAn &S?/ dҢ^W;R+z>Xe֗WS>ȩx{ ܑI_o>r[DI%[]>՟:%ճqO/y?l$jFO 3O-PEW`! Ruy.mM'X X*Td]W\7 o+vMjYBNKb@ id6GGP\֭饅gonOCwМVFw_=0ьXgz +L0) t[ya ZtXcp+Fe2uG=^C4]nQ h\*ŴC NKA֘sZ#ww9FӅe2?y3P_֬0?óGGxsqHќ!Qu_d5&ab*q.:a(L,?;Fi Lc_,UۜLq'A (fl"7ܳ9!o B/rs"*xGFPb2E^+Ժ]@c,\E|`g*Gp>ܾQCD~D@>"DpU,: ;ĭ]\r!m|VhiS?#CZtPUT3ͨnG~f؄>g%^^ckgd7o;:FK6̕k+!|]ߗu-]1^)[X>fktZ[MeK=IaI\y]Ej`_yYhB,'<٩Qt``xdFJT  ;%{,S,|^gN KQ5C珗ykR8yU ԯD7znnhHC/ӆz :Wi9+x,^f~36P,I Y@>\AK8eNȯx~ aȫf`=O!#0 \<"]IFNqt_kr{sI|;]F0/y5poЛm?} {0_HQiu`WK# S7 @&G1|/qyhW0 0ŷO4{-qcIWc< u`JpI3xm}*BIsD#)bY4lGti´釮[/Nۦ%ʼp!lkr&#v9&boe֑`a(=ETI-our,R6Z,^6%48:u}Lղ{eEs8LbE2k޿MjF-4&A~2^tMjwSDy;oiw>{WӋF?1SQ  I|ʔf _P>3/ TʘdDꛜCrfrY8TVvmvoL L]j3K"kw5/c^Sx ]2vSa4-m|;rZujlYqMtI?Sǚe77 ?T21>)WJ+y%fmBSBlD9 O`wHa9c5t{LOtrP3RI l-@oCB*E냱NtmD/|`rW>UP&`L.u'3X ĝԓuݑ[HߞιFxDE4uGE*j}3)ǣ{(*^F:0cN Y/̇nS8p $bytM3 n2BG! 1Q7w Zu00=}(AlU+M]U^'#sbL )z538!7.n&ԣt8mZjc5{ }N"w2Xs|!bϫBk]#c$g\ٹM;p3_]5Ӫ9Ęn,o$q't>ƚ-Y| o-ߏ ZTvU <z ;IPq2v?m9"XnY5Y/nIn?Y{Bz^ݟP8swL[ S8./kmt/t,3[R}d fsa_񏊠8Lr@J:V٣o ĊwC+SqՒH*'{yC۾bL{ƺKo +julZ VoGw+},Qm"7ч|M[HQ]孀Rē*z͢<`;|SU|y"yaBud[j l׼^XqL{WV x3[fLKxrƻbJnELmW@`*fcRI%%FQ >SJ5|c $j(Ș !2`nG\V ì{Jَ3UXڶ$e$jj5 0Dmv ^1j( (\9N2 a& `l^7+̡D2^L?2ez` .SOXٱZ<53V|l 6mQY sTmϨi?~↛gȝF݂;g15v%#*|[!7WA?8~#',ۘQo&ypB-g 2_ANvä[r}s3Mhbg|2o¤Iw6ظ֌qvxy7@Jw>VK7Jٌ'G:lS_g}ڏp8j3_̂t?!5ΝpU*IqۚS#'!8h]O/T ֞{匯)ꀁbR$ ϱ"l.> U hIIC#ӥvEyfD$N:ߓSpK"\BeYS'F`C˨b\6 z1cĶ/;ɖi\nJZjfKL e}|%| [o;֟͹WnVjrGqWh&5Rz}a(?b &ObԼ™bM, 9,;B?+Òz<6\Op$?:=L(^.HT\c}SnQ#ˆi״ ġX >y5֏qG$k$ EX#>5u:zq`U=-ȼSu:{@b~2`9qƛl& + lǒ+܎# ebDnߣj2ʨZ\|Hab'%ۧD&%}N ~?pdhLоYV)Z60Op5i*TV]srH9& y>r4[dA52&yFm8glo(T:7qr_=o@nDJ l,z`SY{Cj]߲LobM iڗe8L?E~}!o&xꬴhPIa~u)|غKXm}NQ!=\XdMֺJXeC8 }>~4Iȵj.z$;4! ?:O̷Gk z;fJOjk3s|]tx| NJ=F`#eF+.`*m B8ɧwyTLFPSBάI?]N 9Z ]*\o*}/]~H+s)t#A#"Hdd]KՈ=!ZϜl43UNzՂr/j,ǷxC@#g-Kč-]A$ $E9Mb;mv$mDK3!.KT}O-&*qBʾBV5Z4~,{^JHF[ãAiWO QD+x ^ JKadhnMFgL625ng]ҁx~BTuHs,Oom2`=oj&ĵmՌ@AL&4l"]m=uKU{D RPNv-@`<_͇Īfma9t&ͣ0t*ȧ06%ohk Px up62x&Zj'[ pwXF{w^,ȷ;a a^&Gt~08ĸ8n?U泬PPdjջ]y<ň&TF]ܲ#]/n0?p0* ]?l{ޟ9hpk\]dQWp. :^r uMaΙfѥNؘ?X`|I.; ufwz|%Fgщ/-J6iIWAnfzDi;ۿ I.A+(DB3W m邏BM .1=|R,aQ7QAI Cl5W<琞qXI|>vs==o|9n,:wڿ8#a%Z6%+@s {\R/Dk0/V{݋?kO屇F~4!ygFk+eKU̷S_/Ζun-գ^xd6fxη5di9u?5]`3ab+q'9j1UR&PVSJ_M\[m-"ѺvH w.*VL.;OKp΀p*6ﺠt lV|~Q(Da$$e$$$%LMJMJ*ʜ0&1,CZO!FA$ I7ctQ4Iyc|땴+W:ҥd$=D'jxAd $OA[AC;>>JүAp=dCJ+3DH݃f!X?"DX  Y TQ9l ѓ\FC5_FUA2 G=Xi$ [#F>MqP(Tz587xK蹊ɊC]ӂMQ .Nӓ()_M ڊBJ.eJD;?V1RܹIi~^n^f-hv˾g!V,nsb[ɱD+c8Zm_hcr?'8LH931Bn):R<~ߺE8)L1j?[ CȯRIth3>Ӕ_`0FYD%_Eyg"I? :Z"ɸCIeZ_z}uGH(}dPleJYmu}c4~hIЏtS0hZ[+x 9B G,tEt_hӁϺO]#iR*A??η72)V2_KU4>74u/AL3|bb.UgtkQ 42rRrrrDj:8zMhȀ"U4*(Ei9)92^|p>L?5qxn?<'S>G.iҔ=Һӥ>&=7]2i$?WL­&v $Ξ~FBsœی1ۆAA 䛡1>vu2< wDL]FZEG`EhZ>m?5#N_}oiuo?.9Rr_3?u?y %$ϻy; |3|弍Ko~\_YOR uիORt˙ @O8Q.}wK_9/ #_"fb= jgםX1MKY.$V(uġ./r+xIP1SA-{TNŨcBL3ÁT#|⑍wn4v~~.=f2&Īa*cB*R,/"y+O /nJdeMT=.{;46!IR:~"cZr{EˡiG/#Oi.4ɢ/{-ߝLrҷ:Ճ%V[:tN-2YkУDh:G#w<ǵJO/QSHim`G*%z [m?T᪨+#;mȤwНЛIB[Ό^%=_ F,Ӎ$ùXqnꭂyr133,E{>f?I&ow_ EQF7֮t&]),tf ՙ+S\4*p>nv#G(Ȕ˛6ةݏ$ 1<9XF2 |@IyUY\hDxԈCt4;0KndFj L'\^|;rJT+M);}ö~ˢ3_M'Lt ̙"1up/j)ߑb䡬c}gŬn *YxR0={x3Jc,9"<4FޝdD@JWHa15<>D'm8J}[zU:)xO (T%~{5I]UՉz N>iw.X[?;wDk p[f_rc6z` Iл{wj@E }8s=|cf97e Z2ƲѡGX0q'4rX>1z<&?9CNq^D!Hx'Bkj>BHYP.l==oEc?7~;y*sUIwOwPo#!*SS4vݩ YQ*93v 6zЍdpf5ɤC#[hOe4W$55Ob_?MOO\yyhd9y/R*據 9zDr +78PJ> @|8t'P^WVQZkTL.)oH_nv,)2z0gy~}7 ªe-G}ƣ`0P$H2 o̪޴zld%G+g~\|*(DC1-X$[nKQST[v҆쓲~; PnϷB=Yjc?Tiҡw_;|uEQ+K9lJX/}A'ֻuk& V ԍ8r޽1 =A[D~=̎/;f#ff$P` `AFr5;wgxi%>EP}7zx{Qx}_݁HBKCj`* 3J|{ ,V37v7&)BoGڿMSn{e^=d%M^AQCOO) f /}B}SUl+d}^`c![BXSX":酠B$,~}\>3Yͪ{Dz{E)]ja :1HBh>̃%a.Wi?c-rbxAU&X ygx`~ѽ)5O'ҬZ1 BpqI6#P7"&s9RF䰅"'q<:,qںhIICT](M؜\xxHƥt~GWeeMFy~o߆kM_t!XKaF^~[흂-24./،u֌k?<~Mq # ҳݣȠ+ &xa~tiVmg%&`A9|F f:zs\m+] U1{N Prq `QJGi+ީObzp3kP:9>'"Nu:1GKaPNNpG 0)9)3P|}4@]ꟹ6/?GBIvc&$)f'# q:n.vwkH+*(JxgR8<<Ë99ЏlPE])rLKNpCϥ4M{"QaJ j=_]$AW,$]FJHlto=UFR^z:#uC:ϹΫlɬ>*sG.YXE%Փk9x?\ENlфܙF R~i8*HQP}Hz -6̸-}muLl/370V{q.X=@ ߡE /nH@* ONTww)]o/Qai<\XYxXM忐!03y#gP Ň)UDP߀)*JH|=ny*tB[AKy}H뗁_``!f5F`H) |( zIY%ޔ@+66~ngd5KASV@@lF7c3w3Calf:*ha'UPy'UP^:dck8FCq@dBB*h\@̝ FEPՠΏ+Ʒ Mc"e+\f@2Gl۲&UU Fl]f;ćTU++쯅q!kXKt`GMfEM-W=%eVO q(?x 4W|?6!><+u y2xVZpӞ#_"k/Qt7"Vvtbh`'y%Cu{"]MDRRn'3vt&H-e8=YUVTz£_Esi-|Q"gHCPe-$9[Ϛa9Dhƾ&]sјP ;Y_'B1WZ;JaܚZ1'! )֦ъvmCl;9d${?7Jץes0J MGV͠#YC(*MN up`d|(P"s$v&p,mNUZVhzejE/o+>;ё*T*wV}2GeT8^$u^==ȣGpѕ~ɬU.]?3@ؼ"Hk}Oofۭ- o=LHpc5bh :+JvxX=sh6.12eAXJ>+O2 ԕIOK5Ar~9)VyBUlٌ,xionjaMpvp=Bɺ ^!\ DnC&3kv4sVBT1z5[ev9߂.9u9dwzn4SwHf&<]=f?:^8+/\ 7r(bȕ2ޛ7338S vz8=p,0hH/D~Pr7 "@A>wf?Ľ{)c{瑴{;*Ev%1KV pRӆH:&I7&oW*@Ŧ||f+u{asFziO]Xfl{z mKVQ_]s]I±-+!(.Bc1oG;r}s- o';9bRJI4-sF4ς+͎Z@y\ƥq=QgԂ,*L#ei `=32Rݬ!t,hh(95"M Vȱsv1?R+֋ ź5q2h$ rؕ$J9sI3>jO|ul(lМIuY q/\~O6?m pqFQ:z0\n-qk-XǝqweBD".$]خ4Vk۵\~.k'kecA \ۖigtK{aF@S;_wW_ ܫbh||z/{I} #8(Crc9VۜıasZ88bNK}/Q}!(fEE1 Cb„*Th۝:r=LBc3A>'J6w;0!l1߲~sK %-"lj^~$χ6\ d WbFP7ğ_'ZԤ8K:a4a#,OơMcw%n1P@Ij3OIEX^\jNM1N7 _#aW'≠7Ir;*c9 .@)sϸW~&5?[|DN&AB-`lq{k82JYyTҀ$&=o+gM9H~p5%Wa;yCӃ[bO<]NfI ޚwm|ԕAjb)v?Gd/ ИaolT_7n,2](:5Mt A3|gz);>=<|@`ڋ\%|H @S_xvscޖ70b(vhD}jxl(uXvA 1S`jp܊Ykl3ܮa?ŕH@Utx0~g~l+Ot bEAG"Ǯ}V4yy6JF~M E.בTGrގͩʼnx*J|+CdtH*94WFإks8~) ݓn/ qko"~]3Fw[\bI#v;@Q+#)r%g. OAmWKTvqud!2#4:i`aFz}]Z͉G73 ;\gTdԏ|'|b)PA|(5hs—?r)rQIGe? L.8:_t[FA'\ErؙAՓ,0+ YZCiR#vr/ bTI*&UG"=;*9!ד1GźA!DOni++ d ȜB'9T "@i eʉB#Ybcn@U=">){U9hf9!L {LVW(y[U#$BG''HoHzdG~B Rd $6R *~ WɄYx*Sa* `|G{=5N=Cлqͨ?a=%]0`բ;<q2{ϛfTo({`Nж#:}d9? H7>OH XGKŠZ<!MM_ NpOWcUI~; 埀B_ȼ,]dJ{^p"?ZS$EP#+J %qD:|p@y:TdƠ30LY>EeUuj_hJ#uZ^C2&>ʮݾT"ˇ 鋩|D pmƹg=l\FT]L>8ފ^Z{IDSc|Aͣԏ*}ylTEWӣ䠷w; Ӆ2g.=8”֪Ab&p*(}64l" S_b v~˹Š)X{#4ˤ+YW듺| &i1$H^~I 0s;<Ox^ e_TqʰBwؐ aݹf<$]+^[d:,ԏ$ߙΰG8t&$s \ Ǡ9EA!/CM<+vB': #Z̓~ԇ#*S {KD[H$Z֐i)!!>vA?[Ɔ㲌.զF_R?Vx+0I| Q/O ř#0GL/о 9F\Km ?:pWzxPq@$y\MZ Z{ѮȊܵćB 髕ݜq9CG<U,hv%PݣdvbmuwToP/r4nF9 rZ /Gj s~]Q ' FnNp'Yo2B!1mZIZ-vaqbޝ51M{|^da:S\4_.F}y`d/νjM^wfcL<=Ye\8[d>;-MEqQrxOf[Ƣ7ˋd/#v4 !99BþHyڱNf 3M~HM+rJoޑY;CNMS4ڐ3B]LăftA-UYD9CgEAȉj"Ѐ$ŁNf,zjm+ui]B m57bJ4_TDw yJ376l;Q7V"ьx[dzd*ֵ㈚%hjZi4Q!;#wU)!ӂ[a'cq%I3mc6lLOδ3$wD.UTwL^-rpY9+U/m5JڄP$jJwy*)pb_,XEAu%^k[70q}sE1WLŧ{G˶/}:*$* ?MM 2Jl=YUQ0Q-Ί*ǗM,s(ѩIu;'EFC?y\FvK[׺dH4=)^|q= ܍ $ǀ)t _wa] $LK @wBA &X&Ld* n%D~!?Gq+j^ \߱SG|?Z|(!,{ia*;0kj, %<ęZQ7ogaMJ İ7r)<E{h$ jI̅f:P#y9@'ym%Pj7K_KHls8O؝܏lYtij R?o7f,O,tQs vhЊ+|ʕ+nȬ4 9e/% w +yB5۴ 6ylz) ~tH[9^6s+Us&neUm@ Ĕ}$1H]12b6Y|z[7JWrCw Ti\+kOBZϒw!US`=ؾ W2R,O #cs&3 s|A=\8Vdg]Kh`[GBBLx$Z;.5ڮ6[Q&a \ad @m>:@q;N_}dG5incr\h)1>Z€[?{M+[f[Xۛ6;6:0wMNABsc}|vPro*ߞ⢱A)GF/-/ĉ]MIO+]VUPYNcIC~!JwoԻΐmZ4,xywK3}s(`岯 k%k[[U~ĺh ][ fv$EWow47ʹ}ָԿW z"Ϋ[j1>fA@pYRIR)\d-"pr$q!pϒjg&9'(.:!QCLf|ΌKԕ@}9N GxQwA/-t`f:EoQc2Y1Hc㜈OFqbwlujc!R*bf.AJO$c|.ur\*qQ5)bYT=6n@U!!W[zqI4}}7 ./kι|%XIe(Nm}.-8Fs?o.MEr=#>bk.t@|=!w~<܉)0 wNKgyͤaP>$' Ky 1EwUr1ڝρzP#/Aftɑ.K<6CJ(i}){ELl@5 ׍/U>DeRD3T/3S 8[zz]D/0ߥO$T+gQpM?SJyUxp%t䢋5y!JWu#EuZNyg5eHoo-)0N'*_%8=6  j5h}YO$>.6CF퍴j{\<. gxJgKxw?G Vy o6\|g IoH~k } O[h6VO7~݁9&f)Tx_f'^noGBZB_Sҗ[7vRVK|ј@C@ q߳Qi&E> ~tR%~u#v\W"ttq)ÿ4ԕW&Dnw_EYx7` )O?Qզ{( ;U{G` >'”S; 50Os3l|\-` # "o^a?|5,Hx5 >^_ V=$ P!)sKfOzD:$G&H~XNj<۔+M rY s)':1S3ǢqJ3Ml?zP` ꏛ٩(/ަp`jm`Q 9:uA 'ď& rlĢSn|ܲPnpuf~Gl PKn{ݗkC˞))>'"ee#H66:  ߙYm:6Ì F໣&Ԍ^$B,_}B"k>)r"Os HgdzZʎUajiHAnk}QVe霴(}BɪPPys% 9\TZ\*4_4:P1/j$KxvowWSXƑ WU;RlʀsDY@lϚ?c(wyI"Qgl$K8ؘ/ +D$X0X:*yuy%"3B2HFQC>q1TvɱUՆ<7sHBTY*d2ſSi C&,[[HWF^gvD|b3~Bɻ%TDWjSe@<+ىҁ]#E6:y;MѹUR_Y$Z|vᴛ&?`?wF#فƇ::)G#NE}>IUtǒf}r-UKw9MPwX1.B/_Ķ&4edt<&ce^D FkX.mYNV"fho Cl3c #8-w|plywLJ*'GTMUDRA𺾓VЛN<}5(#3$ cF2 Ey,LQ~mò<ʞeNk˲?_OJ᩵$8ucg>Rg23j`FBugVb\,ゲ_k TΚbd;#+e5G]P38> I8m~ew~Dkjp^I?F$N lȤ1sH7X29DNɣ°WQA0Gt{9>*ۿrO>ܝ>\[uO-R^,o%*8fQwVCCݒ7|j_1getةuPg8Au  U6= SZ,ҩ7+ˌ0"q)F.ąMS4~ݜ~q胦,&V% 4"`K,q"NFC#Tѣ5 m*7a\[am]3ha|@Xʏ''7qLP29Yu? `{++i+: S 4,j85uBA 2RskͿ ,AGQb|)9570=*lɮIܿ,;3%Hٻ:rU^WhLNEwwˀvfB_[y:cv&|؎3NZ%Ko^4‡1r>CYTL!r2Pb={gtvM1iёdB|_)^sSqX} <'v[&%6:l`%_FB(;M.p=#?BTwWeG!twN`&t[Qޡfr38(# H #1hW-g*J٧FH-nܺFEB!4'EuaRG#mťl 1-Ĥl7{^8Q:.W_=YlDѢA7D_'8[;{>?~8~pFn"2釽px1Yv S#'cPN* ; 4"֐Ƅ[`K;7tq*?pgDD qcӭ\窻 lP͌)Ƅ`~7"%E#/j FI+,1bցxl#UEyӵ&図g(0D)(z`~NWy{ KjN.Fy%HRLD/A:!c#A7AU)"M@73wo n78\[uH6K f"umT1zFi݄M-a̘8j$pj NT$GsY͸Cc˃Lck&:WЏI0) /8S0lPVsϸEEj< :I!^ 2?X;F@Y^ UM/.+ePeч+kZUO_a&'$67H6u(5C"SßdX&W-E > 9BDEOwmoJc5#,]3Y&r!Iori[c8 GU\_]XݕنfX[e']€ ((-M%OnZ3:H%+1 GSvJ^ с0G$q$Ei-/z!'_-[}4b^sérIJϿ (EP)?cuvj!u)鰻dmH!ܨrbyWviZ@% EǢv$]kSy^0x>hzbc>70.Lu?˷f|D/Мw^ XO^Qܓ?(iPyt)},IB'?n߁'1ƻuWE6AP~>|~gg&KajFʽX*hZj7Q"-aѥ~ XJhX~ KcXʙ7z8#DcrL;d|SZODg(9eԬ%Lb=]) * 4Wv-_./^n. 2Hau1|Hm0T _LI^\ | MgسTX"xLK6 yv@mRa LQ6 &Nǁd.UcgHQЈ3n6Dv%}Wfyp/} 3Tҝ&yPt.1vQ7,uMmU*o,acIs3ڱE\Yߤ2 bR$']MX: ?ql1D@r)8)eZV,캘V\ts/x7gPE|P[IO MO;P~$(T WF5WƧGkYݹ&*, ,V-0Z;қèmgtG]'J]8 %_T qee'&p7: 7x21zY J{bPBxP".Gpm?[ q_sM `}ۉ{fme2%>Բ-"6]0H& ^N~?8R"l)X/L,3b%M7bDrAK䫑CrP 4,biyASÚd~^%1&,O;>?m k*Ԍ=t.izi$0@6Vmz3BQF̜1KX[c"V!S<7J()EC-5az) ?!HJAc/r4mA;E49,Lb-%+[)t #T:sC{\ rWPP@WpаGQ7,푆uJ҃Ws͋HM=PrV`@99pI8ډ'I,vt&;ϨzKVz^\yK!CH$i4leGbmTaޤMR`rOP5D@!uqEbB< <"vkhzQժBE.Wb &G#t;j? cI(dDp2]P'9V'e4-Y>V\/z7[rVxy8ђWCep flܜLtW'jtVk9z6H+6<]qv5'P&FUW!"&VgHp_OzVMq@.bat>s؍^\Qbf솶126nPP!%Y@ou4|9vE3>f3AG}Cתxa0*Hk8\CPyќ)/wlhHM'7_Y9c }}0]+%P]G +%o0$C&9SeY™[U\R ҃0T ȇq\!ggڑ=b; 5e"I{D[ժF߷2GJVnWڳZZXlxбnti& o 3:y|t><B\5xnYĈw9N=oKreſ5K> U۹Zjv/M*1M|6tmR"tً=ۣ=v^vK#@`r[+y nX30NPu&ڈ̚eI&_gJk%-85X%1SҬ[KAzFtaN/Hh>x8kgo\v2э;ct+pb?}l6| W$'<|% = dI|l(ʝŗ Y lNדz4mrw{I|.L,[?TZpJYE]ܹc:Θ $@9*9{G AUEDgՔ=EE2%R.y ,_ jODDh< >ǂҀ2 F`v7A]˾'.i|v=m5|z9M3_I &f4&h.Xڮ/1mUc,_QA0pL1ƅ4pJ94X3D ԋudnj~wb=Ox[jsс﹀̿܅n ck H ~`s$TG:`̊l3㛩i2*D>^xgUunCY$7*}׸A `@1(OP6q@.JؾDK7 KOa {¾7%ϱȝqP6H0vP14"(i ʤ8?RgrM%լ{ sC#/1QoMQ\5H@qې2ǔ=lԔ wz +mctXn=niWLՑQ!^L=6l0N-[ƤTh̃l7`o37 }{Fr$C6rhgJ$;ct@"QYm r"5Yc˥198( PQce'܆ktn퐰V*۽yuu NUM#?蝝V-JX5;/ibÃAMmRosr]k=_>r=z|Hz{7ͬfO0BE-ʸ@>3z},\EWN#4NB֝(nk[*/M0I*9+H(7Č."\2J.#դ,X(R468S |[i0C,oY~Aǎhna" %FAѠ C]YXY4ա:/bc:Шp2U/ gxTn#"So8SݞaxU=³]"1Q~_WF;Dg kؔ $1'Xd_GC=QjDb,=hxW mez:]cy̬@ERm}~0tDj=1e7gr}&͛!z 5 /.5S5#||Ҷvy"]F'!w:kl|:|Τkعz9~ > gù@_9^t 2\j4_;߄k6 ӧ` 6o4M`º\`[֕&Ax >_4Y1L=<& vq+\K;G/0Ҍk˃Pces2:R԰%n  X^:I'V6 ?|"_y")WuZ?.d* |c#d]V.#$^Q͋J!G>\_VMH\¾!%\?~$8:I/Zq3]5T& FY(]' ~(tL gP@*ʋB_O`~ Ư֙CI_ H2J",9]M tr9c-{T`\`\ܭr:p !H0MX¼_uL$VnYa;Fa{vLI6RlF@|GƩ«JA\O-d|M`lNQs`"5'ØLvG1!Z+ޑnz?EX ^ 18C D:R(e-\~'ɫe#\jӀ͎$3chafXMҾ#YŸeO Nb"$YS[n?c1 yr,z bk-jvI)ϼEj}C\|IwU_zhX\%6Hnm(]#$h7f:~Q[-|#D0[`X'4Y}3cX?H%YZP 51)UYǎhj2Ad_0#9GķGpf$ !) [q="iz joi5YFKm *b$-GvBm)64RZΧ͜?C*vz9 v&3| }aKoWO{;"Gy>(ZAgW7"GZigRk ơD0 iƵFs&adQj ߚ `Ѫy e\7n#˖}ݨOKyo˰#uHK%%(̝ ~/f@͆̊e$_0=ChM*S @$ , :E^R6*;&2Ŀw.WM.ȎD_H}>S`&)>Ip`ٟRzM?Y%7\/jFMh٫lKn YfQY>ɇJ;~!N*B5ʣ ̚z|brSh ߝhȴ"SfϹKbL0a .2r3 PlC`@͹x_nK.@錃Pgyno#8RNq,m5B'|.)1"xo#>2L,=sf\R9AZ'3#"tY@.zH-Hġ"x|dDµeh"P:|ϩvg <,E$Kqv`7H /!@OAEDͥq-3JP&c{C/3ꌐt>g*6k|tDрʫctAjdxhHQ_)SN(?l;toprɽٞZGU|㧗WGNYsvucT&Pe2!KwC|(hU}#>/wИ\=d? *H4C$ሦh[`ە?fJ س+E^a-Va dSƓ8&r]5|,]_ 0".fz7͘)]՘$IT?B9CJYǜKZ(A#ֽ^XOCOcvO>v#qXj$C+pVW2[IS,SE/άƎL(.֍׿f fѷN 9;qdHLxD[= 1G/HqډjcS2][7.w SIgHgXNkV|_79B="nS1D$~@wbʶ,"o)a}[\Q旷yC;qݨ@ǎLXd2l͠Ga~e3B ҴD :ܲ1f:BzI]]JXE(~wNL!á[vʵIuhFJ x(M%k~'j*`1"h5(8 1/ʃVJ72Գ@yq74"A2S) \։`Ⱦ_kd[ [Z'N"߁b?c΀YiF ;gSP=㐱FwJMd%ciAhGprEJRʤv:%9lDUQc?R0[pAopFn|gTH:&1 YI-$嵴Z`lԉ>JxAeOM2HЕ;HR`C%d'rR;ǘ:h^&[rBsOYBv<25x 3D>-[QDZgE 75#pfAhA(K'M`5E,po`  4cխ F)hy.~}.Z&&"Wn[P 1@ ODn S(Qx8!>&8 '**?Q3ꀪE^,<7.À`:+Թ P+bщvYՁ[DNѰq;6Ⱦ\uZ 2͌1v?X<M7N+ǚ07+9"2 xL-ϼtV| 9CYԂQ%* lyLw˼{ ,Ė7Y!CA̐ kg#9yD晡*^ gMA$^SPH*#r;{3"@Q./H"EBM;9\ćMrؑylV!0 p;!uM\AMû5%~*܃[u:K2щ~P4(+za qETęz?{X 0LQo8|ti谓ťA %Ċ])ٞԎ-{H6{e^8/[4M6uN=mlp&=RE#פϢAg%ƾ vA XC^:A2*z%I)|-nԘ zIx~S϶U1e90&#%*ru@F]_X !lt4Ȑ(L1%D^.!6W+^,iXW^m="G g\,vTEŮ"x!fr߸Ln^G)2K8t w$JrPd HЏc71sǠjn^r[>4(Olf}b ,9b[J=y' Wس;"-`DcQӖדs?q&}Gb:pmIir+\0PpxUuw& 0WA]'-)^"-8EBo Iʠa aVK˰0[^UxC_(Sxڿ:9-@i߆G{'jx',h4 tAo{|(?$wV0;n5Ez8igCQBkhHJ$TBUWKSjӰ,}!Rҙ;$ctXt#u .%Tsq P'&Rz1Tb*BPĵ\?+)fLQdJ0#@YVJ4IqmC f؈Be%1@癞~~ <ǏGL qZ6 IO0LC_[ {uh[c}ɇ*UքoFjܖT+nS+?)7Vr/WDM=1ԄĤ"ryir75*A'@Wېߚrme@oG,?]hL m­aR-t2!pݫGSxïx sR'8{沄-y@tbOcNtߟ@; o@K^{FrPɋ\RbԱXkYԎEy"JmN{3a6U/v Kf  CD9"Eڇr>iʵDBeJ'jAQB./vcVhwew"lI37{j'N9JP jė)>)8 q,tHJK|- 4>M`e_CwAe;x=2Iv z3+B6ъ$Q!6quSЁYyJ2 ױ,eV>uj mep[-NMQ^azKoJRffi6,뫎׳[X+n?Xg7J ϮQKwj^/+_Caײ}}uNTCCQ_A#.5q,F"/;v@$W뵖Rۨ S@_1TAKsBԚ.̾qBx73GX75d-@ )b0- )λ1p^)K WW;<3~9l.mӥ/„1ƒ <(H=x(eE4?|6mt@gg5!o2|׹(~5@a)֗K|\?Fqm<@w{k%C(h.@gXA @Sʆh'@rjdub^?؎bMQ% q> |q}홂W];+"G?/l3?i`G{ _-Nc aU\Ƌ=qde ó=/$[:Kd[ܵ W_^ݴazf >I:l,1>אYYM+ Jqq,wuT.ar/v# [nOW,O]Θdc=3ZeBpAkwsS'E(XPxD8bJZ+q wu|Rj55w|Fٸ[aGoGRHҒlDJ;cz;YIvᫌ䲴_O$[!|GץWNøk̮ uqddk~ Af>qr.X?4 -vjTX%[ٟYl[b-9G[{-^tM99$iۑq"৓Ƞgi? @Y¶ !wӉU'M3f"~aUa3oq"(ڐڢ΅Bl$8F:jN+;YRpMm2"eC O=b@@zFY^yCȡ$sXjJ:;:E5'K|$1fi26 f}5HP=%d{ .e_c-ה(g4 mU$?yQ[׺i3 -]k\ F?zȓ}_N kc^gD=mYF6ClCsuuG:(*h9Y^uyBT, ;}ڼ]JNm<3Gp: z 'N2x8!9O`Mŧ)8mmCTU`^LZh/-ԋD$v=kY Xz1恔N*pzCj=[—;WjkL߶1'u2N՚ٚ r K*P[-=<(| h_#҅S.2-C28Z9k'Zum=.${BTu)g3}K9ytƅ۸#|GZetP XOBueG#]h(pvdz ȀQAt}YJN衎 E&%bm !dJm?F@'.@hɝh-Nۋtm#`%mL{ 59V84,*lHa}P xZٰ e[Q 2DMt9$<АPF z0\O \-\x(aEA YD$Eo,Y#]#Gg>FRV PV RS%0P" iw>0~0@e"~mZo;###8)z2F8bx*U/y 퓜JF!#<ც 0e:x Y0ma9LvgYd}gwVEZ/tX'w1,ªT!>j$ 3~@iׂ\F]'ݕ!,OQfkG@BxHW4V30|?Ay7G(4q;U?n4`OW\wagp^FgwgsLJmVF#(-o ¾s \_CoE$|}|`2Cr]< YF$_@_7.zyNuoiO eC0w.8 N#ĘLEF_PtRBj z-&/6z!XUi-eP+g{ `>)cr~5"mOPw/A[6yn8iR*ۣ/%/͹Y>'S#?Dwwv^VH(E#֖OZ+T6)Qg:*KN.i Z~(,_}m'pVeX;'Z~$Z}n%]ӧUxt-B L75 _uppYp/L s~0.@OY*ǐ k. #iFE1'\ph $RL0MB`lUx踮t+vӦu*gŷ,Kք ,Wu-н3[<ڥEBiw`Z~ũ.PV?L_.[T*;Ћ6vZ7B*zTm* G݊gڊ)])6H~@eQޮhEjSݳv5ܿh_'4fڧçjj9m{,Mb=\%4QLTbP9lfKP2p)ƀ ĀzT%RDOu/XKƉOe I=K '">de ֖dqI< Dd''DOOHcI f6kLC5P!'JM}|Y8al_۶ʝ43ȓ5@ D6XwŚH2;>iX?~ΫbuE~u, [Uefw=MDau {f| WNLGwbv #Y-Q uJ\ |x$> ay <9HsCtd%tr=&>'Sfe=\*ztT%lpBx}f\N#%G;9bCCUmS/ѭF]L,&"Z*kD*zyx)*mBzժ4>͌T?l>l!t$@;?B?<4y4D1JB,WD-/w@6]NYm@Nz'm3T1KʁqK7kaG.!m1ZxN.廯4v=K?$y~lI:1n?8WXǠPf}=.^~DRs Aeް-}:uO!Tܖym[ ؜'нL-ɣ|kC]Xmpz䜡Dӷ5[FITm&!'g0h[wőӟp*K]L͈݉t%|o|iU'vwSkO$ ?>k@G{"@t0%Q/jn9d`ջMkát"0l/|-d.N@ͽ,)[Z&hGm6f/U-k/Dꬡ&D9YM$?l&?EYY,4IqD&KF^cMvJ[4("7-f!YA P; Aŝe e d9I42= C ΄ob0_$AC՞ sxِ?SA+3xO&Qz2 򢴔.mC$ğMZ7-)顴[9Xoic8c}v~/[z.BӦs<6B@T,cS,qEs :.$yH&nns=ҍ!.%ľ3C5ha.Yv274x7\OO\/TM39)\IѥlEY{yd:-(C=#fwbka8]Dbr>bqph[i: ~PLq6Ϩ A;x9't3_cKu1޹҇Bx(Ѩs7 nV&cnj"/ Q nj !Y9k?x[rA-<! @L_ (of11 ?ܝA3%"ֽ r/UX}R1ec,EXDaD3'd4zi)yb?fյk,+zwTC`BRMWI9\Xy2 y5mƬ{hw:s88v(=EWR}rCQ3J}ja_|OIJ+e>C&QL%H,%5VRhbƭ&a ρ],3 &iߧg#V"+gKLu4+DZWB&Í'ӀJhfUPi 7 gS!FnU:I`8IUI|bwVD1oLU"M\ O  ͹·tJeR h"xk^ FZO SqJ@ > Gv ; wAY#ښF}d#}5S}^bvj#$dOZJ/BZ 8r[k{hwÖ]}T,fHTCv8hT ʄ[&}2:]z@y kˋCokT`IDqTPɿa$(( (XT"qJ żEmnݦs1d* rGHX$/ڛJ}VG)gWVeF0!߭BP$k*:e@~ƺb)v}"JiɷZ`{c+A_.g %6ϛBR}c+6Ajs dOMSf#`QYRt:ZB$kF)`"f0{/*ߓb,쇰ll;CT)JuhMivYB[&I1]Y> ߉#7F.1/)WP Ov%hf@YS#lx})(ćrU@ȼk&(!e=+#0 whg) 4hu1,◦-MKT֜. l a]Oفn2j#{3&1v{C%h3>3?79 g/&ZFaVF_ԇD 4}˄ .n%ZԾ "B#Bh*ǍN U]^^0oJW۬6n5^*oǫx\_JPnn$T>j|o"1I&V(5ݷ q8U;^3O^;(dOP,{V4T}.+I aъjx/Z x9 R>"أ' xyF(Gt"{܉^/br.D&=@  \~G5 ◄D \ x|tٔ x̝Xʑx.s?!`"1unrç+tб04jl'puԅ"x#kGg&I̟#GH7RWx e~rK^?Dr!a5k*\"gx-VH>$Bg#Q/OnC&./ dwHN}23z=2ty;(B!*\ tɖP@ϐǨ pl qRcz02=\Xc.prA~INu?08C9Kjv@F/H"Lە)g<X NײKSw.CV5pֆj]x5_P=Xأ52㘟u3O@轰 15v$jOtl<# oG_ǴEus5\14iPg!otJ:\Z#?^ B]T,h7At\hfƭY3zR& "Io67Mds ;F~Pe[ $b[F(#`?o^+N% ]@r};%5ZN X㙮z.w͢|qS|z$^OҷlV2C |B?hcR}+m*9JĶB"̄0(e5g !I Bk$}o!s@~v7?|TѰ{fHL+N_@ʕa;pkȓOIR1x˱Fr];,_[eplW\+} c@2=) ĖƢ=SQ<*hh̤ B>W먆vg݌/1}-KͶ :"O륵mO nQo!g8;TI+S ,S\~ BTJx;7U##^{;R:+1Qi)ϙѱtSʱ;|CR $ #xI#ozr7}2 NI&/t]S9voYjXuxF.= lz Oo@Ͷ],?ۍH<(($Ր&#E‰HO%STZdEɐ;/>+,Yre_spHƘ1&(c)?RtO;ؾzƳ@j|)Ze\䱊:P.qM5f2SȢU-e8L ߘ\4fF7$b2ί^ό9"T[M19{d,FGuɳ2&hJ{@dȿܒdIHQ2poVffV,GRߖGum'"A W}"X$؝KHstZ=M90vܮh`#2S0]xI$'-LGIDzaO?i%{q:4) y?EkJN"IճkqEbʁcaSw)R_"*Q N߫򠹉\8-q)_ mjI:mi*p(>~dl'nghH@X}/ g5X.9dƼ1K@QmgPK +PvM}^cctV7Necksƶj LXokHn[sEe[ nņ`c1?izn)tk*ͧɅImDՐ_:̖bJ=m S 5St+A59ozCelʅsh}wa@t*$-CUw IoFl-%@VM@Q )p EqfT<5Wm)kLTH@3 W{K x?ءaKPtvn7y갮ͩ R EM,΀s@d;ٿ"e+vsF2u+%AϱYO,GޫO[7(玔]&IN&)@F顿!P{$gͰr^2xA Dshh97߿kd_ `|iqf_ MFI&P2>eH-FgE烑5lNM^g&Bzk^i$U9 .[kvʏ#z,T:pP*iz£]`590Gr*eRBT*9PYd*\ɑe :cذә7^\:b&;Ԃ=N~}]lv#,եAMpS|s/Ygk4;uڰt%tKbBEKm?pWyׇ']H=h`xNF5d(NW9<7AOx-T%6y@*o-3Npb9c%6E2Vǧ?Â>5ء kE+W'*/q"O qZHVgA/c~ A/Da,7ª3'ΌkV.ʻ` !sDS"*l&BzʩT0 !jrYZ;AV/;M[K~ 9 }AR O* '"ri!N%5HDnd 'Z;kxc+sF8\H[B$zU%nv<Ԑ"7GD=GǼc/ݹ5lG<&3/r1h,%}0-y6GhnQ|F]'z|]* z ?49[o)/A|lǽt=}[4^l''chNN|vi4M[Vr!1VNch45WV5JLsj)ЧY/nWi\0ALր \s F:D*푒ey7MTW7PqȶTfYꝘuǍ*"+I;|GhUff~ 7\-mlB3;/D&vRz:L \sh$-5.;2G p =o QM]Օ*+%)/[ ~E ՞u_xۏ~`OɬusfzW'Tjr  rHvc0/ʻHUݘz3[ޠ :9׾m(K3y+5p-NEĵmnY/љWh<h`8m=S3Bqco~>Kk'n<AĎR"R:3)~,`ISqW?gp!i̵"_xxǪ AORf]eNшExksOJezq->uEG@:\(4͗dASJj|3 $@n<95E M p'Lm b2i ̓ Ỉ`cX忼g i9=Eo+׸EnY6j`uf(D@eji0O3+0%Ϡ3Mt{-Rr31_{[z  ~5D PT& Pn*g4^R.x"ɬjmA˦XCqv J4C(u^ʹ`d9]\j"6tܾfy$A |ʊE9P4[6X=^g _1 ˺^/ I !e% `K"IQH"EQ_'m=Ś{tQ12S0ʁ%ȇ%w`'eA!O+b"wᵘW4v!q6f~gz,=Qw7eՏw{t S0ʎҁR v2;`.wrM57?P"1݅,ڦ箘@bHviiìfgN0P҇s9Ps ?.i|ް`0g{ ex#rExwlh^Q81 2Kr2KB>}mt*/ڨTL@mA/D%81Zfa@_ޔ"<&IdS4sjLC^DAFFG> hPVIńW݈`' n#SS^Z S/ qcJhO9ⱁ;$3ٓgRʰTR,2hHSSRII\7u#%gBDId'VɎTO(95<YY`ESd+RY Fj;)Gqhv֫A.fj(R !k~Xڔ#ƳP*Өs*ĖX*ssP5XՎ( PkBnH(]Zf|OnF+k췔^أ2H^.v%2$HFM=&\֋UʝbMFV!KA?*8c<2-9~/OVb&4x\5oعGĚJ@TvV>6Jw:a RxV 6e>j^>c4D[z}`{܃B2rn4p u,_V憍-Ip^da\N`x5,zlPa yDP'n0yG[ ?c"88;bつ̚'ꯏ~ryٿIrHk,?G9ޛ9Vs9jUFo|\nOK0x Hؖ}]̍xOM{[m<|h(L6R !+atbb[´=~LphHv۪.Rb(Mp^@d$!fp]yV5Y[PhtӎY]D ve@i%^޴3,A.֔|-H).#ZrCX5|/GU' SvlϧJ{4][#FܧrҠLjbY-P̸$`?!lhd_JZ:8iuΒdu_)x4=x]qG˒ިS2!$f **ͼjHLpR.d@5ۊRs^ҮLh% {dT8 }m.%`2;r#07z {gQϺәߙ"[a}AQr-MFj> J"ɂaHoٺdHx-k"?ڢ%fnSLD5ksݮu+4 yigaF<&hr~DodKVBx=bA+m Jc :>_nn"Yxܘ-|V,21=(a7iNp60. p)ƆکWxM6p, l0!ij%jŷbv W߲18={G€5R.0 jAXE;PJ_ '2{tac<̙L'}ߟiW{-yEnU P0gٚT'^gQg`Ed GnǼYۧl,sVkQsl3KV'x` ewS|gW7 MZs;vC!}0MS ޛ?L%'z(}Oes!3VL, \5U>R"2t]9K^,3ʀy^RW6SCrz丫kl? ifN| ?~V$84K.Zj$NwlkAZ/(MY |tqp@6Ӑ?E1 柟~6Upئ%^JW+3%ZP)}euL~zͽ :o6i(Rw(t2 g}݂(~G94:M{&?6΍olx꟢}d1 ]'=uܬrBDpwєNy;o:e@IPhT>A[urKImu=uF@Ѿt$%bbdd]|d%7}Y'/3!յH;J5, MSfѮ 2-Y0 $$'FgV|~+,V';z08rCi%uQ~#֫-̇/Pdo{vph/j{yV [=w H}̫hZHǥA]ZaRDžV܇NkΨvB t5#3SUm. q.a›Mֹ_i=UF##d <0~4cDsizb*ZXهj,z^ɎC'`?e`P1'#W#6"sǵC?X4ri5 0µ5`ޔA >PJjhl%xGC:KuXl#R65JTaz o 5R1uz= REinWS`SKhEВZ (^:*g@ЮM@4 @r6w#GU=xh:BLMΙ3d kej"Z$aamaX^)  1"6[Rdy/s"lPf~?@G^rvtP## -}1/^K1\E̛q@CZ8BFDz-h*zkX_/Mic(kɸ[~|>0_*X<'F;L~5*3w@cA]uf=d@ cK˽I/D@T"5h&4d*8ݜyy"VyйYGO5 NF2~&@UhBY 4, c( A{HI9Y"6_K1mJq|QM Ýp2:-˟_B0}n7pGࠌT) {P0mY`<ձRW0R(ʂ~K}E}~P[H=&,t.]Ph:|=Uh[L=n0w#r/b_oydu/8N>vhzGl.}sܱ#`5wdHXHi9A-CuD'bX [2XFM`qi:Bgit@ԗy{{A<ZH#? uȄ¤j_fɳ-a/h]=XOڻ[@nT/Zd]nO!3;5:78QiΗ|OP/P b)@{6Ғ-W9PykQX6@W?Qȼ bY}7 :'\N5\j^fiĮD92wM)WHmշq|S4!mi𽜄o i ќO'BF`‰&Ң,w84E+v^Pmwc7 ~]1d64h*slCo^n@˸Ɉ%x_׿&vgT]u;5Z/J~c2zTxHȢ /|9BY a\A^9Vpa;UB }0{z "s7BqzϵR7"QwaښMO8p{ƾĤ9jtef e{GfD k. ׁ GŜ%er-DF4_G|F#>sݐ]_+'؊uM*O |9>;6z6C''iXˊΠS"@fG=Q;νo}5uum}\r M+wo`# RzwSlH*AHD*RwYH%]rfT;αpLwXZgnm%p E$![UNȍMs"MQFVN, v} Ŕ +/}XoXubOO09^ٽ\vD9ךjSB5#0A? \CUkl xB+ A\ntEe](c="!$+d91/÷-]DTVÂklXl|_e$\BAwhbdşV:,+$6ObM%\ׇ1s3W[w2z5{b>=- }rXW`mk&#x7:w:w[]^iuJM.:-`G>ʤ5tG9! `QC!x dXNCBA|pގ $nM0S1Km5 [t‹v"[T?9 oGVS=:<[ad?L(z/́O ub^)k(RJnP.}-BkHUѭm4c "ԩ־MNH%% ю\c_+_9d')bR%T$-FuT茡A*"N!oQg v5^xKLn " toYv+TW9'#{j'd6 Me$?!` >5c?{$+nvBt}ljgZ._>O;,\ܱ=o咔,q動C0P.ߙ/`?]jDk!lub̨q]dl^O./MPSgՑ/eWgN9M/=X9ݰvʻTi[2Οף_E,ްǑz_yi`篯;uxfFxQS0^8f҅jd~ZdXru!K?PA1)]T1_&sq6p)TZR7V0 +)"iQ>J >j/4,+o"_ge5S!F|`O-84k1enlrk&д;Ivb^s8tVsKL^A_jb`a*z~h !9'D0DVPnG@a?ʶz">~vciiysM")R%O;r+I+N8dxV0 Z ]p$"I"z;CV{EK sBj>:n&!aa7@ 45ϻg+Ai pVeB˃³[oFԜqYwT$rhrA_^aFK֖fJ{+("r(Ph,Vy^R]ܻRkJh]Wm+RpѰө-DA A !|j4&E}<#fjK+gr/ayO"Ha+mt{=*z BE_"mȥ倾;˗H6݌L:.b.wm,B609(0"tn2|8 3{c9Vg,V'J\AaG?-:y \ɱ*a'rG(yqBݡ!f' ㄂v@4 \r+_֓wE{^i wK$K])M3g&9 hDEC ' ;xh=]۬[!z 4CK4}QSd~Z({E\Hi69&#mCA lLfARXJ5;cKwRľaF?`M7V+C8+ 0ʟLajbVpeNYؠL@NIq!}Sс%F=źPRU8a+]d#_a7m\FueKmb7GLDumFTE5Rn9a%m:rk39A==(dq)/G"ك|SaAޞgҢF4] c[@3;J*l[3Y¤eT֩7'}+m]d@'Y@pX%r%_fm&NEö:~QI&̡ɨᡐHBrߧہ&)1f\7e܋7Tڐ|Xi͸[ʈj[eP`~^<ڂ*um'ZYZN aL1l@~y>LxAlmՁwy4\k{GD}`4Y$[Q|^Hл[B.c2j϶S֩Xa4i9,vb$[OV<9U:_lMĘqP3qAk%og,4}Qao-N+:T#ԔɬΚܑM\P!?[,} e6^ ]|`}}o0в$=CPJUBVb@xOzff[Uh B`N_w#ʟ&!j_%kkh_"zb;b70'XF.8FvLo3~<=6O$#J{P=\/^C ѐ:i-ҧz0rൈ|͵uIkNWŋaUأxkˁ+1ԿyfoZE\+ iLk(˻ryrQj?&v{@u`Oy}]O1'/S'ɵFF:s邨Axq:mTQZ#C"`wO <1h}${o<jz"_v'y~4GMu. X|%q *|T!ۓKoDsJ&Z#Cv@Gv>e)7Ig5+tYgɢNov ^ɚmܬ.T@*-:cx)agaBg`^q[6L.X nS| oUtk1\aJU Lb vXn"[$TC\[ иuw^GʻQjt݂ 1 _RrVHrr>aww x!$=FZciǂsN]i>Hl ?!FTP-!hK蟹[۪A&H~D2jmyUqAiNĜt(mp^n(9vVGMD$ V_\gnf&7By 'ʮK} (A²-aj!L.LC<2!aL ѫ&-`bx;]ɘ]a +M {?z[_O!s}RờxS0֜ Y̍]l5kba߱UGNLt޺a 6.A(@;nr5T22' p|[b9]ΑFQ@(A29ke,Ķynd<V"7(n<ЏZ1(/ })#_Jt1]h#@uvtV6 NA2Ⲷ] -lDnCga uj @)D]\DQzSɌh+fʐ,ԟ%s`Og y=RNÖ s082tnWL(&2{p_XQ>' ia/ŒS)bZ]>ϼ?:D["vGIj7ȑnPu N cvb%?PjocK×荫L5\=+~UhfP2*0Hq~Y S!FS˻Ot_;mbTBϡqugE]){a~G RaDOJ5,8)bӰIuWi9v*(;y(Nk^}{IBBY];j G]~<;k ;CҡX[MfF{R<Wt*֠ʬk!Mc@6ݤhU^'Xyc[\ʛ; ZAsKgᯎK;;,ˎWjvg-'p7yS|kZd|1&/xE(vuLx6eR< qya`٘f3) ˾I!M%r2t)K bmILYi-8X캳qi=#ۗ IL75 c Z & O,g?S+SCYW/|ݤe*Y n>>5?2}Fh|z5#VCrK0dWdxgH.@72u6OsO COku%ɐK#J`x@ ɻREk<.@=dYG FeMAbU-ʃR]S؀c)`FC{')t^a|><G 8yԇ5bܨ.dϢ+wsLb.«?6rKã(5ǔi.@ߞUv>THOH  `-ML H:~4cL0.*9b6Ef谏=lwx!cbS&0#|w^$Cl^ta҈cYd,A`ԈLֽOk"&3+(T((xȭ%ӛ߁"V3$l%y֍%VVA|CE7xLL~b'JiL̅ 6 M.Sb_Ú#N ֊Ŏ)t]h>5ʩM@TO^c,զ4l8L#-̼/}!V XH&>e1em\v^;5z/AX`fUkRI] Y`0/"N;6,ئV |zn#߲Tlb5,E B,$Q1eyu]hW1:] xgד&23^As]7mڗ}C> lTGaff'=;4c?M(B1/OQ۷=::/QYE>g@r\2y{*H᝺)xaikjm+ . 'ON PpQ>fj".Czu#zdP2 ZL%O$ q`?y.z(Jpv=8Ԃ+]Etqrk&E#f`s%A Cb¸D(@@=kr#׺싁ے+E~`/(+i9:!~B.wmL&2Jyʗ}JfV m &uY[V4B\szi;mH/ɺ54+Pܐ 6 uo0~戙 .J-p~A-Vó~Y>p`P{KٌOnm9t6:lCe/GP+| Jm(}Ժw^Ufá Fَ7vx'KMWj֢?++҆V ٯ^_3SJ |>>%6̠TM*S>BX@Uu"VϾ)EZw%\w%}uFҲ lݸf3V`!VhIr蕪gj=ZXfhxx9FK^ղQmvpP3q%I1A5hm|9c!:`X3#"\-j0K۾YuGDD**s^O؎!fBf|z#ϵ!ە{( Y^^t{F*l{v1}[E:_09>xQ}90YȤor8`1~3 >} z@DXA3 џQqxjs =/8Iա?}E&uLeƵ\u J+͚ !ߢs!QvY2j=N-@~/}12j_ijsw 9 =%PnU.;g޺@8ә vOkk6]\6 'd&хNzFZ+"3Td,Yl+ /BLfu;K׌/MW/u^^ʮM9mPow8wa)'/Ul~#{|gg%!98K|T,ٰEP9 p"K/;03hIg<6px\t]ҍ)9t\M;8@7޲~N! W#9w#ƺ@/a6B f|; MEpzv"Oڥ"H t~Q3Ul,N{NUoiU^ 3h')*teNVEm ;U T!uzH8vq|Z8uU,fdx P꾱]X?= Pm/LljZ cWOslfL(v/o"T #i+YY‡/ʼ*:kzFNZnd8' PsE^ ɍ8xWc~R!JLj >ǯ 5fטvոS;XAxFKaq.z$^X(XV.!DM^cAQmŬV hI;=Ɂ`KY>nJW%Uqlr4ҙ"~>K!vy*;*;ﹽURޚj]=ej,=I^l#-}wX\ך&%ހC’<Yo%Y$BT, sǎ~8l2FJQXd W>|rBXT㐕<)wPt}'W /M0޴PzǨdz@t@ jdHܰc\Kd8s<*oib53UcH5P:@梏TԦEּ6/gLj(DIe_Ckq8@h^πEr% =_-ScM8b$GK|KFh vK-TNvǘi3PQI8 L3R:~m,VDĖz ߐy %s|@ێ*-+WڝȾ4\`6cO$dBP'l]Oʏk:1NNSkS˟a0u lzS)Z87{7iB_YP IVFd4  2e'O5nydБ".6vVD|d H1OCL_A85G p)-s~?ݱvZ1^'l _8Eo9H|Cnab~bJn*G~,+#+mN+J' q%NB&&ig$t%o5!LWc~,}x)yӑP\f0GF{|HࣔBnuiIБ+ol>oUHaLn^ w6z`w+G|>0K3^jWώH@%sp˩8t>Kb34t7rq*D a0qXŲ2]]ǥHC>9oV"5FPRbS2e?̖By|ګIx@Ꞷ*9kh >+>UyWm¦w : <#ޕvonT._u<ՏFB8$ yCc?ߟkٌ+6.$Z^,>X| #nEͷ 5IjX8*q;QXT`yzanE+7EH Z TZ+CfVBCXw`CnKkSNEghPpʢR=w\,b'VZcqDͿ'6D㜶/I_y -a´[^se@P(c zCA @<пwc±fk,}hxI|WܕB} T=Q蝚]Qq_A~_@eT45TT+t =&ɂHXnq6 4.#mL> )qt.#ڙ_͑)Bpx4l488{7OJH5'8*. 5[^ێ3]=ΘPEpԅ:Hi}߾8iBe"3BǦS h7u'u#k-激9;N%Q2I 4CZDzTiEթ}D7U&MHFgL:zVP!/2h% sԬFVx执Ι ,"A*Nȧ*} iNscf:)6+`.!aku0'giO&$ABZ #L?%\)Ox{$+hUیM3vd@Ql={o/Bdڸںbkn{ ~̔d9 esH6Z`-PQ'Rbv6V:]0CHj-:5Ac5Ij7!w<_^,VHx,%pWui|_py}82х:N.jsZ"S!ć;F%9$@^FAN+A$hRVFeN/}&0oY4f܌Uc .Xr|` tێ JlwU` Y{uAO1Qf흏v0.wEȶ1}N%wyVIv$1_@lqQ[N7N(^zu)-חvUp!2Aܖ; whmzN)31)$d0&ֲLu&! A͏=v`ͨ]}ވrY 5bw;{/?$&f[:P[Ny? t| ?5O,a"ns#x*b)[/Yp7Rxv:C9Zϕ)%bk/F)vc @4PJ{QNi+VP–L;O Wh &x@DajZ GhÖ %[u140\¿G ۏ\ɽԮhG%@HØ& QoRYgkЌx@#+k,ӸP@].DcKqW1rh,&?Ӓ%"f-O$x|ҊXx@SX/ m:[A.tVs.(#ن1ڞ_i*LHVPVW#Mi_epkbezO8o6׈V֭(ְ{{"etMQLav'[)bž:a|x\-?i5c=\cSF]FQa["EfMNK]"lzއ&nƆdmZ YKacnAI 1$s<(pzߌrx"#%ѕLS(P|S%1uv q{=ӣ,R㚗'RkN .' A4?j#@1w.=kn,}h헅 6fjʓ Дf@И2@nЇ2-FdұӇjw11+֪V^^|l8f9 8gy~sR3m߽+/I"~@}Aގ(3AHvl@fgT./a߻n)d%+ZyX*@PFEzU[|4 }:"M!ǽ*^Z{K^aD$&k|G\m맾/OP"$@Rk>I] MN602,ҀR ݛhl .@ޏo1s2z ˫iN.E[KK .+RL ;`kԿ%9z󢊁m`+'[᫤<ĝdr& /86Za`x(RŇ2H0LQTvSUUA|[OˑJ$ѻۼq.V[DbIR䤧26Mia77l5{2>GC]Xv˹yٖnJ>b~&djn9}qUEeOv[c b}Uel -b)`j].˭轹6v;fC(D?Z@yV~HfͦYK[ aC;UQMiI1Z=׺vt;U*B$|ŷkX'boghpzW!{Pd)2qZؼ@ *FkjMylįXnjg]Ba⋙͂z/o-@([a(QѲ(q{*a[Lz;$D>c^X[ CFʯt٣QӇml'sF-ZyR+ V(v)lfttlc<?1|Oٙ*?׼BIhaWb\ =(ؒXN2RpPs$,ZrE~`s5)l)4=/K K'WaC穼TluؙOH|NJ_#$5O^HߛՂWHNŗfuy:WFNWZ>(E9,6-&HxB=_AI<8}$HKyYE"KEe !kKA̴?$CkBa~U!52s-V+=@)U>7W"cժt-2(eZ%QMw0#:n;84Is2 O.rN a>bYӒhd&eq>wc ߤ|?{/zJӁ t+05F|5f3 WWWDZĠ{~<_ܜ9x]l:%12: oSŀ% N5TZoi1.7\"@=l$9@p'`L"(NzBiz TUxEwXr?yǪ6VE[*9_iT }/YtS=,,T-f!^^vzCAy8ՙ#y+XZ­*!\VcM=Rq V `!Jrn=X #/TXa!upaa:zĆ(SUa֝:f/mKaˆWpFlӆ=KDe`xthU?> )8:ʠ&a6/"S11jwzIlHw&`~FW19p@ laWvIG 0ۨ}=ʏ>݁tdg7^жJq4O6.FIҎ,X NT]}ܝ cXʦLR 9[y~`jLw0|ߙU  5zܥ׍㺂VCG!%L#za<{0qzvwګ M̛4i.V'~iip|Oeyu&ژ2}~.K YH"]] W׹jܹK}Ul*RP h־nW 5?x^wm_})Y\Zdxj`y i OBA}-f[=n B\<^U_d-|Auh[x9[5C`ZNtZЁ7FԮ}CƦ!)XH*ōxcM[D8p 3pnԜ`uW?o{sq5/ .xy:1>u'yS"eXXއ;gTvި6S mX-ǠUE؀|,E ? $Ua[hsYaՍQnbv ,HG`aCJCD9ގ"6@TE\a^?, [kc<טKXn*x^3Xqꏴ3Kmڻ_wF9QH^"0o?SĔ5^kI an!̉_m!1w&0t@E u e[vah++^njcY~REZWή\ ց_*2^Yowy}#y4Wng501J`:}󖞣~RehJ~^T-t&7ĚQ ij+Ȃ`J~f-w4ٔ4r l֪ީ6`"GZ\<|HTi =n\?)MXbJgOH|&GD3eX 3)Fhčku*{{=Kf*&ؘ&Z_$}ˎpL_߬Bar b~!1}[RE'-R=E$`X2?pVu 1[ߖ@ pFќ1RhG&@_og=XJn<ħsma@dK4ph$NO&FNTO#7Uйy$c˩Q&^NIo9 B0O o?tx)|mVޟP8uZ+p=p.˺?ic~JY/$ԩ12~쮍{|gc3dSXN _HK,$D ナ [Kw|)nCͮ_ށ7'4<$Ap"q>W{urt䖌,oK: X26I#L#;JAU"45Yd_8vV BԴ,kj,fOQZDZNC;zN`e`N_8yq+zۗ @s P[tqcL E2# _IhQw~xO1t7]yUo}eC|<.ٖ&oY+oj=h#jkTS@Dp((X\C\_ѺF<Ő4@|6+L Gm֮Wm|oݒG/M_Y"=2WikǨn`\'֖w/,C4rxS]$GEWS Aq%I+[*,A~gA"u Հd}΍;2:?PQ_2g bv? @_lͳl˃A@ 9|f5yj% 2lgC4%i,njJ!K.%-)0nFF(J*' F@$Kd7#Y&sssaЄy\ U#uJu|uN2_9g:%-:wFpg15S"6[T)+D ԡ(kC\+lL>3IT~Ng^/d0 $ 8Ynu۳y\IqIu/v6VVx$e@F5NX骕ZgIo@"K ;D2 UM?5^M7]뛘AT܉=/,mkk %< h(iޕmtq۞fe>wLπm\c 0ϐ[lOؔș5ǦNV,";u>؇νQ1VwO6٥S֯/F%/ϹYճZJl΢+օ?z*עl>Ŷ/zQ d>e=?K2V:C$( mٙ>mH!HA-XJqD4O6.P!8<9 mr hYT8Qp*a"˙B-Ff_|H!@EƂNB V 9~!~rAFL~3KmݧtnSG-~ڬ[P16UvReJ.s3b -Yx + 6`=6HueB+4unm}ѺHnwS6){;g|*}*_njB'Keŋ ld]ymwm m6n ^۴Mr笭Nۯߗt9mDw4,5 M-6}}sZ;h5Ez9W;ȏAņσЮ6^OLmN6/}i0 #HY,O=uu6TY,9_4|!{ӗJe593y햽'u?> n]#dۑ}rgӥʗ$`5T5+(0x' c_k; p&XrSm4#á7NDK黼*5%a^Ğ>!V~e޳w~og̵֕{盯ekE 6ԍ#*ӽ Ia`}C@hQ*C+sU\IW0dFK +AsScQ$h?ƍ8&\!gGYב$Aڪ5\t(:1#0O~wH6U) 7I]2"u!7&~^.|~ /L}$lJ k֊]8 qCmƼOc E_0<@ewt4 1k._ Ř$z,Ϙ.1̷x67vV5m=ȝ(;â !!\(^mxp<&ds̲ @E Oh-9+ʯJ++:GVs}燐<@ڎ0pG"pKV/qOKڲhEy DDc%{ҜbsVf_^~/Hx-:0îA4ʃpIVw~m.uu}#FfcO,n?'Sn -ˊs˥h$^ΔQ`(ѧt@D~ cꭹLD>?[ODI3L ݢ r]*&* X`z"WǙ\q;v[qUFqWG3TzxDzPېП?PW6\|0}"(ov-$[8 *Έ@:++$̀,VNF[,Ȍجvng?,^[Q_B+|]`' ?p#NJDŚhU9WIm+6BvLy=OhhH?+/ʜ;&$:73֜ 鑛U昐xpKfr Z*O9`3j8W ._^.e`g:˨lO1" YO :;z1-gn!5f 0h),%m26DYlہڮHq18fOZ l>IKqKJ&!Dj6`#&?:a%^q <"C {f`o: zR.daB1@ί|RֲGՖD`IZ%M&]ts'My9\i[$@;19D; % ubC6A n' U}-{A|8ɮLuaz67@|#qMբFr6Ss:@5@/ҬZO؝[ v룛ȟ,m`agI0,7κ 7!YߊG.\=h$R(]C13u1Kʹꎡ^GA'|29M>`GO{ =PR8PG7=g z8';#D(>;vz'EH9ZԈN䔳,!y?`x(r2EEey@nn`%Da?M88j r^.i?1.p0d%?R]N˅S>k1!Kjs[Kд.5J~>ItZqLipa?=c0!!b/,Te:G&Y{ddd/U*7xj}UK{CMBG*G9_N/c Tma0?UGfcM"VS=j%%;^1<5xA+b*$Uf', slkT@:w`yBsӝOO.v Dd\ Y4ҙNH˺]LzǣS5y:M&OH|``RL5/Kꌹ 67: P.|}n "E/0Ӥg 0\$KN D (55Ap0lb͵ier/(M5jZp )ϛ;2\x5;;6wMi%"h%%o0q1< 4a|C1p1-)%UsX~'0ؿ\|9~}7,t[tS&*K`?NBs8:L\}!=Vu i~ڀ'[]ȩq[ZadP"Fh/wVTIPă(*R&$+o{8/F{cVl[WG>|l 9-bYǗY e"B}7fm!"5=:Ludcgf tC`זoBKlT\iEm>~?M^B볤j4Lpwv$ɺR#S) )Ucز[ZT̤;-_;;<[]?D͗5֥#Ho]eE*\|^=QMȸl*v@G'u$JoSl[ &y\ʰ_Y/#7f)]~+@ =r͛Dkop@<$NTPc"!mEH-XpEƗʹ@))"i3ΑcT)г^peX>刓s'`̼~I9X_ USG}wg1%@PcimNRDJU u ?pCvѬZs{6j8/qB&6rV8Xb`b@9 03]2sΘS=~p@mwL,C T,LHI $V$*ݳ`{-x&<GU_LO~&@l{"`sFuEbDyF7wvw ǩ+hU5|m,i}wOKFnӟ^ 47ax G|؏'esǮF:ULFaIeIL^>ym+} +0<Tܙ4O*g֝koCaX5rRc @s:Vg͛]alb=%?DnZ08mN@Vy[c1TSdӻ;Y\qsnl?(cv ]W#F>?_i8ϦGpJո\3+ !okS~(3O~e*a׾Y-f>NP.pcZ;e^R /&!7#$7%Nq6$#|S~t_^!}vR<#إ{v31 *;#x1ƙC>k:? ~Ts %*۽79EF>GX Pe(TM˛fHݲM *MB{9O@҆XKtCxa$.=nn0|sĚRh1wȣYLhsUMT Ypk 1nKު$zWZNSP6, ED_/ İOlℽܡ|2X6H,a*}Aθ4X7+k@]iDަK[>ɲUR3Pi~W8=cͷB䜿j xQPXw茌;OIubD63ǿhԙa |2Yxx芨q~/bp] `8XBc'UoMuNKzқ8hɠK ,N,_URFhAb˧KS&2"'YDKzSkЧ5lg:rXvFə(kZRI5ʶߨ"_i.&3!!zďYpbgۻ/h&\QI}N+tk>iT$`/rh¡eQ#-J#ƨhCoET?>MP$k<ɝ~JM髣OS61VdlW[2[A ;@ÒUOF4lu5MQ!N-ųU8J2S&Jh'!vbzG&wISB\_Nj=$ZQ-T!MuaBgVS Dqqn;CLy% k*9__AxmIv> 29"|r0cd!uB yc^2ʒ"FrC|iO2}.8-]1M}x׼G?LR#_S2B}͋?MBPo>rWH愸FxuQfC!cNJFZSNJ:g=HNXF啜r>?5:;SI2޸ֳ~s|)ϟBjN:Sv4CC m+PSݬS|XX7Iq&KW"eSVXn^W@ǟ+$߈] FCF#5|7dY 0ƪŲi*J$Q^ux\t!ӐRONtmo {b^H8Yeʄב{͜B_V9&g-k-’BIJI.lBHgWUT jm.oXSSn-Y&<_'}ML5ܱ=p2+0U##d.yW._W@|1a?fWZQ|tHsDn,ٛX\7hC<7pR±aIQ?IXaXLNsUT !?Pk^!DV~>m9:$WwCB=}JۑBؐ jgw,' νMMRk$#4'&# e@~ĩ N(`W .O+fJܪʁǹˬ+BQ +{;~#'bF})&T8$+^ѽt~ H7,5mSfbIes,ѽ~8JC.hժ9(sA\ n z<˵}fgcqIx RGh"#YK|}J})nWxFG*"ՉORiϊsRo:cSƛ,bCK$?.uBSevIQ|J X?LIy( UпMY}J% JɵL%w29"_/}_4Nwk=/ep_?/tZgƸ V[g?<8oxL1z)|&NS? t[*@X2}[##-tb#BtԄ_N~F,}=dڹїrYmۆbJSl ۰=߯~lYt[޶o Uf(:)"OsɂM5dssPPFi'elo6Sm0VbqAee*+eRURgGwE.u{ᄈ-m{"U%uU4d@p4U2|zx8:CЧ#N sGiB6L MHع$lZ~1]YίXe_jh#cQM.x!P|_&#G۾ꃵ/t;dxW@n=Tx %KFRٜ/d "T @`@ n1F PtL$Jp DR=nw@" ҝ@c p`B:!h`$y` 1<8H <[;2ϓhH.@ l~H@84 +Y U $53xfTE_ h83A*2 XAvҎX@Q|rO icKy}YFFgx^&1c‚]65Q7>'dBCPa{#c=4Sߐ%5C_T_ @ۦ.%nՅ\V⥱- 1UY-33J(.GGQF܉U]+J{po/.yGCeS!:nڿ=y槃*VI6_rH;ŔlؼM+ED/g*qs$&fɰ450aqX6-I_<-ݢÉ5oS#gl+|6N̪";~Ekc][hW&kĔTgqv ;)SPݴ)·U$JNdь$88ws3ve!ħWꯆ[Fsa*V+oV˔=7;Wh - 9TgDž %7wGk˭Wg향r ZJ[ڌ(0K(޲jãh}5>>R-L~J 'Ȇ,oUX޹!nP*hQ5h0UjG1$GX _/3wW}I36e90/\m}eu1_#_/Ln9A~$JcbUl &((|sqzΠ tZ - /0SE؞ym8 Ayᇰ(,'gwU9N|>>Nlx2Mp }cΉdktpnq~h=!t^oF65I :vLک+ȾY< BvlNe]!qL(;%8h;gSLi9hʨL\d]XA/Z3b$}a^*#2^y-M1\260BX:Z9HawmBaC?08=;&LsuL5@?/:сp;X`n8õ`3 +7hǰ4<9}CF .uڣG HVMrT;hl.K5c*6'`Haó\vOSٲzC pa-ߋ)zwLvρqXddx J) yGj.BJ$[b8Oszʊ8ŜMP+yQ 9qV聪ornA# TIq&H9 ށ{ͥ&,4ĂPS0C' HR\f l Ytڒ\8b>S)<iK\f nDI e%-t2sǧgF>o(e§"˃)qyySdG4{ Kp&Z]8II8wI`L<V8є(AF ?JVl3I {>O#q2ќ y՞vu~kQC"3Pa%Km3@`gF\zx^B}|M$};'(lym4:>e״_;QnX.xt2<]6)Tps ez3-l)XR ]ݠIQ3mIm:0 w)c %_7t77]~a-Q9~Xx/eL1z M>kR8<\)hz)h>.tEalH/^ck'(;X-ȀB 6r@GP#Fԡwx`h"'ȣIPoȄфLmPj!W`/FVD7:lCT<}}1eaG" ℃ĴX0D=)5S{%׋*ŒX$b^M>L"C˱DYr.f ākx$:A3)3dIiF?^E`%T4/agT,NEԠJlA#:53Fݪ ga2z) Ӈ2(u?$e [2$d+Nl:XKOYȬ[H|IYgto-,^E D`&MBu- AhNu06#N) p'Gu;*Du02K.XBS %b.VɂnN' 0 Pt.i&8Ķ8🰂rXTpz!d0'!0[O/!ZzӫZ@YME[0,vmf˂ARf|fo݇AtbbE.SUP*j{6KV&AIB2Tpۻ_T^sG nߔC{: F(fNtWAhuI^cǐsQaXmC繘;Ot}=n ɞ 믹 ѷ4HLsH7-ₙ9|DOLgWz6hweY.eTl咻<:?Ξ$ӿ5Lԇ' 6++9#}T`͏XaQatۑAfh(F2#\jݘӏ99zIGՖ:ERE]cթ%J;{D ɨŒ lG >V/׬7,="H0}_vnu`xaFRM'gFk%iL³mM}}w⑹;cڬ^uUy Z&)|}B"֮cmV*oUq~fn0@M^ikg< rژWYi@!)-YXca4i(w)!BckzM&oW@)P2 ^IJ2KtzDL^⚞%uj%mĬQlDtz2=CCNk afjcd#Չ+NJ/R!]N Zej@{uŨ0=zP\y;@tѮs (s A]PoX[$^ W+w^@߇noJZ3ts$o7cP! EۢGkX7t{W.W% id{>s-Wk³PuB̘+ Q҂kE]iU&|f(,N¿jȏJwG\bی0*ҭzcбx~a]p^4<$[Lˊ݌Ŏ7+\pGUf E5lQÔzﯲc;ɿ cAFؚdyب3:S_͐Zu5U` 3CvnNnYx.]$mϬeyp%+o(ݨ9Ķ^2W< " Gtd^a2dv[z`2l20ݔزVyDKdekW9/ݜem h4na&XE Ҹ^(UU=Uf4lkYnS@ 6F+nbIL`j~2L%_eGLq(H\&ZXo[HQL4Io7!>N[mZg?tV]À-̾ܚ6뮟VbhCƃN³1㦴ӻd=-X4Q8sj7o.pThS˜/:Sʿ,J;yH`75*#sVͷm;O9&Uڵ1n< b/[=S?vo%g\j_׊djlƄ%ջZaŽ-ʛs)r t򉧛nۤUb}h'ik:k:n|vo54s1Q- 2 gz1/Tv)fy裫mMMW󧞴`6)F{Q&eBpW)}m`R\xVNsLT@lLks?}fM;G5agvAxBf3u16ſT#"_Es]NUj!_\G5Sj^ZfnxtOeإ.}Ak9WA3i~5HJ.5ZHlUV`UVijڷcT%kuI7RdbrX+*"}>.vόhi 1y{ǻrzW;OK{Ͽ>>&ucbؘڻ7U6I"lj)u$BcIJ*Wm0*ZMR((pdi&MKePXC#UDXe`6n;yDO:g7^B橹MD4D0*E9IJ,$\Rqz5UUT P^݈Ǎ&o>İn1e- ؂ |EFtnyo3hyYπ XQAUڤCObYaӲeR iK,WB@p @_Jnb5wTX7mhř]sgq2׫ h_rG)({ȟ=L}"X|֊dUӪcx~9w8Tڪ93ORS,;߾*T=n忝))>N 7r Hw;-F;s'uXQ-]w!sYYm62>Y$["!Φ[g=CPҽ2ĸ_XY*hUD8VV{ƚ+ú1nB nK}~kF~sjnXW `5 -('V>7oĦ{.IU4MtO*?'hE27t1Efecw[+cߕ?F κsҐJsX48MP~fE8Igӧ ́`IhxX)mC&]nЭ:f1evC3ӡG/#"ͪ^X˳Z#jzMRQ~ձqkCv`l74B8$|cT<:ߍ6|MwoTшhdwK]8?|ԳTLzd}hS%0Gje^*X?J;>?Qw=>h[]&|3.mdcmŽuJcEgk {}κGz-qGk7]-oz坮-  K%̗gw5ѭ"NzEFe݇L)'7zsY)g V/Ϸaگo-p=;OeGZ9A_Ev.{tM?R\Fp.385جA54 PĆ0uhQX mW qH+بd+JlZŃ:syYݖkd1XneeC;hc]V(x5]_wwFh阹vǵB;U 3u,N_dژ!/nQGѦD>'%ӡ[rm?۴l|{ipzQ:\՞-2) b׸ZLԻ{uݺnәZm$Ըbm܎u,֗(>qϯw'^so||w ^k_# Y~ zM=Z*+,&sb:kQtֆs{X4<7o2!fC8F7 ҫX3|AUe{)N~eY9||βZq9=aT0o8Hg˩#h?smm Vu/VXW>SeBYK `ׇ6|3ҧi~ ~ʍ!6?U{=[l(U>[al@훘>I0%_勝C&_#o$$?~9ǨٗՁYۧlԓs gxn)\tϡecz;0q=c^T*Vl0w<ℏ?.!!nX vp=Av?yCXӸ/Ď,/tg7`-y_XK:qwyG?p?/n_+=ssu/||:^rB.U.>g-yB磫9ݵ_\W !ܖ؅t/Fu~&+*RvQ=kB,|nIt+)+1 ^wwҹeOV>v=2(s=.cxFkm% 4Ɲ>.u*?DE H`GޯV.>yCoEog}24~3ԑ<҇/{11qA}%nu+C&kqKKmK$;mt }+w 37>w:9춪=m߉ 9"GN+gMVgei}R織m9).[9q٭^4=RiE2{@4V@^=ʷ[sehֶ$VSLg 2~LbzI7кmVfaπ 4El~j)v>^Yķ өg<<-i;Kw~1zfZyŕ)Z߫'w?X.Z[QI"m0 V5&i32gP 9ha<}KOXʎ=Ύ߲]̄G3zCեcU?r>qVIٵгO_GFh?;xh7; -;ƧGΐ ɄHsFR;ǮչHWs@Ѻ`0e9MGx_̜=e~G{-H kK]@nhW4eA}|FM`i =.6˹i ku$kۺʻzw{w4isWȰw6oׇ5ܐvvMaCWND$Xa;Ȏumfۘ3k`@UB1sPaE3|)!֗wte/j7~K|#;wh^ gp{$D-ncnٶVLǘ} "SAwk֐UZn&u39̻׷p_cͺ=|;]?L}LĀ-?!W ]3SE/aäjՍq崫OGoo@|~. 7$ڢnZY$ X+QL.e!S .0Z_R[tP5edc,@~\bJF*cԦǞY3 P 9Mes4OQg-C^!'v N/ԃ/ZEJ&FVmߗl=`oVf=t1^Ht[X!>+~b!eݡ^V$UcβUY u{P-2 7/NeIs̉~;d f>6|jLQe]ig1vCWԯ^R# !7tLJ3#Kt*=w1Ey"wZG1W^JmW;跿m5xcmCiW1upHU`Īߣ-Fv[xz_\n4x4~\- ȏ7j`8`*8\oC6^6ȫߞ>0Ȓg~Zg10{a-*2JRu`F.:ȑv2ԓrUk5?/jG1(@SQ>N<癎!}j[YKDT⭢@E¶Yp,]PNju2Dege-t%5>7/EIT55,:H7\@ᐚI4qY$MS'weU"#)&ݩ;$(`ML{rPѕh]ɨcV#E{u;X8\v8*p@5 v$iAr)[V!ț`)A?/߅}71k uAfK':oNW  Ng&?Ywe&d?7yHI,NɧwEO*<]L/daB?| jIUd 3 9>MVWh+YB4(oe)SlRu9]|˄fj !%+iN!eNQA,J5ŷRLXSiR(@ڪ4KeeJ$EN9{I%o$8EeJp5Z (#h4^C2ZL ,RW};:})z=!BgTY*zOX*ɂH3My>ʓi2M g!YreyydHSͿ+8 %dEbӒThۅM6ۚF*#+"P@ЎS*p ]baSDM#WC?.,TG3Ly䱀j:!%+*^2])* `HIVI3*h&-+_W\SAhS-!E MzQ[JOgoobJ 8C CO_O69RAc#O4SMʶZ3a)8>*R4J:Be2ڎs̤&/pe5Q=J`ŦkI§ \}>.a%v6[SLYqGk @򰅛% 5U-V:LV 5 zVSsׂ㉙<b&OIPِGd7Ьd:$4+&Y``-+)z i2 ]JDW#p&PTt]RxFkn $:}ʓ/`$W+zLYJMh cb5/MaMhDR&S7i|VꌊUd}S*NxSL*r U%S@*L^lI SfWA0[S@A*WD3C#(Bv3d߳e5[qB "*PgC=ˤr?& MxΗSGHJKLUo[4%44Mp2Si-JH4%l!8Chd*ߕ' u%nM1пMv<+SWag @BDS@y-M E#ԙwIrxrU)sSBuNYX3qלO̶*>x&o{ +!J_& 2dExxEaGD~ rlL%eax%הn,xXٔH3es XlWY X%05 pT ;b쁵8PDiJ4Rl'7v+@R4L2&LGݼy+ 06Ж煹?0Y5 Bhed1XJ|*5P]4 $/ئ쓷T ?MO2+'/4:0ZV/+_mW3>&v]Qʡ䵘iœ)2W{;AX"аT>2k7cYJ<8S_~ӻ8r]VmJt6{'92m`L{^ /wlS>s)LB@<3=XZv 'r]RhRŒ"l=+[RM|09JBʄ:aS#6`sWZ/ 48)astLtR\ڮ;Pȫ43ŶW4PAeq\6ѻT3My&uԔRJ]#EI \:ig'Wv1,hRl+tӖ4H9DGm]`++޲Njփf1Ɉ$iPhHhUWJth2 .dpQxD %!=J U_CN eDS,Y0ᚊ%5 P*kbB=D^G2lYq_vD5OA4ty7f%%fJϤtN%ȺϞa5S@Af9ZC@.EGYaԋ..8s!RܯzK1xSV;ah"$tc%4lL;Uki'Ji3qG9{Kfu=ʛܟjb1Nv,S * qr6mNO |]8Jܑb)ʩ[(%a, U'CVEXpS.$ɯQG"GB}ROPI0rbTRp3h30äeϡMKV#tB12 -IP,'W"x C(!8NͿފpEG?ݛۅNL!SeZDJz6mu'А[i>]ʊ,Ʌ^̮O|#,bR! m 2\N×@|-'#3g!'Ƭ{㴑e)Ĵe&Fn 94f weBLPClC֔nezܐ 3n4gظAuaH:P3,I/Tt,/$Ȑ{1 9+4҄S ,$[<ф: ƒZ!⡜ 6 KmD7sܞP=ɽ8ӥ.i m,wX|ñb\BT)nÑ?ؕn"!.kNJTJTV6w'SRMVPb)ht2RDКJt!MV`UI]jP~|:l,95@v Vv_,pϑ"uMӞRtĆa6 nzG_>S;)F_5xClfP#7q5 lte#HF7בG18Faorh$F$h o gF5 o|f"X#k\ f25n~xp Z荡l|gcx7qزѤmqި]Ga1hpl#7 l͝ lqި]G6gr@G kc8q7ugݸ6ƚq 5:apg3s:siYz8q6oC4HD#oąlwmei? ZrA7j ?r?r8rvoܯc!vyS6ι܍co)~F=hÑTF+;þ[q7g v5 7A o.Rc7|ʃmpޠ7x{O 7A!hpF=vAV`7 pAC k7# m|p7 5:apg3l7jloC7Y g7ཱྀ Cp Au|Cmrް8״Q U Cmrް8ic+l#eHF77QݣGv_˽.6'lԵEr[tA7?F}8w; ڟtX7ⰭݶM lD[um?Qo--T9ZEdžH^V-tk܂_ו4IP4g~C}!j٪E3ojݳe:ժ.-v*b6ಥjմNäB7i Ǭձ=(*YowyOZp HCNj[$|a*f f_=JB t`rض>~K[lIm6=ᢂ4tڲmw-K-pa!g17Jc!tͬӸ/9\nLJ 4<.\[VZN-[ (znSZ^bZ oh2R:-Etq*l1E+s׊.[q?wx>mX& @O _}CwDY8IӒ~B28SY#'T.:T(&F= TѶS:׶ :euJCVTxUNV$koV~g 5{\V4=3'D+-iQ__78`#kf t0n"$[򧸅xG ݒl)i<_8VrrNF`*'We#-@1# /s kD,eb^"gpcOsf3a+R+h6Z9':O-nGzQN,`nWL%; I`xJ|~E[&+mdv\j"N| *'ݡJ]8&y$'hdHmO`25)N=G|UcWjو 6?'Glb":<2lGALBa(Ct2WCThiXB}uC;),f*G+,q{^&Ta[=jY8hHJuȔUbӚiu(Q_+.K$Ǻ{Ѕ&st&T0ENr#"-̭=p=5Ccqb/[)!43Q5?r  MQ,jΗHyM&ƌ VOBfj7U{ΒR>+z\Ni@ǫ/㶜"Zs%v0rxBn}r.8NPίNepb#5RH3q1;*\ՕE ZoS!ߴNL%FI3]].Z p\ἱPezpM%ܘOAWeTʂ,e'mY\';徬`*zԹ';\f&M{VaKlO3뛉޽$1fn ע7OZ0J= >Rq#ќ{vp%e2GZ=ӆh`@q'MG1=Ke7DZ8ɜ+ M!ޤ(s4_RpӼozI֩IBT8͛dɘbuH֕D~4'x%CevLD@f "2Y%<,&b;͒&ԚJEBNb4 "[i2YFh#YqG:(oM(DWM)'`HVsD#P"]sqZDaPTT &i@@peП5Lڄ`$K)IL!C]a!'l/@9eVjDDm[AdbO#`EAIM92=R])  R/3\ %r7 x~R #.2 c#f41|`N#gaTnGa<͗N-@&ܫ 4"˄Zي%-j# z{JVi&,)f@WNj ;PL1 "а,46*H\syU<`ǺX˂b4P.s`?+hh(1 2e R%s&*j kAI =q9Qٖ,ZcTi8MxA/SSV(ֵ))yI\߄So*/PEՄ˵SuLkī S:s+Fj:rvPM `Kaw!(PnƵ1+'d"[ 'H`v;e1L$N;X#AiGDMRȝ4IUMn#T t%~o eYE`8c qZv- )k]>inZ%>Dbr2"3=ޢa:+^\d`hBˈGa7^']7/WKC (Aq)Fw$m!,=?AǗ2J$1g1Sp per1{j!j7X=CɄL2332I:AN7_  MjA;yG[$.i=uCWUrO4M7I(2ˤ\ \Z0N$g&q*AD"^Pl*. czB0UH_vS٩\\e,q"O&џHQFYjR>bRl^%P:3EΛ6pҕgC̐G_l.֌Au뱆q| 9dKbI 4f XgsoYԏNJl^ި|ˑjxu_MKa8"lwĕW& D |ȑ3lAPZo y*WS(!%&3\l`d!ԜJQzk'f1KJĈo2WXݷ4N!RMݿAO0RfZ8# VܛXijSq:&f}MZOA\N~ E dy)]8^]7΄1n"":kqR9fp@lv% |>_YDJe)XCN |ȺM3T g$Qq5,3iw/eז<)2Z%;ݼSu`~0ER&%"40ɳ1pUrBW{ J$shx. p@zh-X(#*NtSXIiq<^jp* r|Qs9g<},s]<W>rd9q-G< 0Ĵ'r3~P{< -Lج?DRa #N@j|4PER-GBSl0\p7,U_H}M΃`Üf7 ECo y/-toxI*&'#2%A_ &n[ii'H# xAY y)%@\Nt 27Qt08Մd:lH GC&&L6P݃&`2eF&_y7Irrsģg%J ,pď vN9h}L],J'ʝOɲU>v'\*V. ^՟a]!'ʓYM r_`|N{2\n %DN*)BrRBr?7(hCfAKv8xL* B^`o N^jY2ZZ. GxI0TBიkXj1}&́٫1s?"R$7/嫋:I6Dr/QZ!# 9zra b ^J0byF¤D(`&2[Y" 4ة*x 2aD> n;T2SPe/37gC x`.)+#yDT'H'̱88uqJ|rῄ=|[. )}ɏׄ."o3Qs(+Ct(ĸHi\V畦er1О%-+,[.7 YilDYHDŠɆ8` SAE0b^ƬI<=1 sq^h> Ǣ3F8iA~NOФiT!,gpcR E#T<OdWAKehƃm;"{A._f [Q] /`ҨbU0k">wl3^B 4&TBƣZ&p zE ^qb4+@#psn7Z#@=mF4WbfU"ã)5bs^2oNAEN"q@՜Cuv-㠠hw8g`8.y=a.ĂBwJ X%fdvfN hØK[| j=*Hx,xY* .=shlk{жRc Y8B0~O='ˌze1l}[&"`䛀ȸ\sL$X` –3 ʽsT^*+An6 vx Ovkb&NdX\}8;qoM{'"l*X&vr2;7m~Q&ԉa|TWŒs/~ \ĕ.*V$[`vHLDٓ1 aD(Ѐ *2T\ 51np0I%wj;`MFD9}Uggrnu6W i)=\kܕrdIw'db2IY ۀn!HzW;ГY" {GaKYjnW 6CXA:3߽ÁLs$ș+/bnOBMWW%!` 2o6mz[-[i+ef5eLo&})KPτ~uhT6pbvs˨C$^hċR. "oG$΄͢7ɔOXsrLJ4 7*QEg/epD. )W@^[`2Y%_hPE,oX{| WzzOeN x|`br2d-[p\=j[mBJO8βgP̄WV (taXtK2fPyPx;qQ& 0Q1/%$%h. e2Q{_mGwV$Wr>2N'<+'W -\Z`c 1s*ӕ[ѢO^Q2=lpKECe Xb_XfU}Mo`ҪC80f(^b/1)p*9IH)#IY[[RWυA\Y]NfcS8o bjY6218u0}&'_C+r@3Zm|ÇVP!22٧A%lH7B.eׂLM2G3* NM2Yhў|DL4X+fGYLh|,Ƃr)Q@UZ a%Z~"VdMM2ؿЖȄ$dܙ:y UN$i5+of9gM;ɟQVeۥP4FuBlHGFr=pysxH[y3!&5v j<2[N?-6"vb"W؄f@ZFi7nAo ٶB;CYth/mx_VC6jaCŠWx;FwgU2}v2Fe1)V#c;|sϪBx'\-,^ƈgŝ_P6L$`T\fO@Ѝ[AZO2 ky\J޼C$۶6  jiL(YAh6m bpMd2!^@)ZR! A7m|8 '}q! !VܛR" [(nAeL}0JWPaZqZᰓEk-Oh7m Dd{*M%L}-i֚2KǁοEZ>.ʼQ7X qA%I@:DG1ā[ВN n ,3L5|=ҝ|b8Ky#ax.YQU֣~e)mlEO n([OT,pB; `[+[ I*@2>,B!cwǰcD9W H&c319!3C@ i<BH ʋÈrȄâ}85(/BL^ԈGctmCF|T8Pm8S|Lu"0糮X}D'\$jqªjdYtZ9c}|O}=u<-ps{KG#&bAy|Rfx9Cbg`~%w]):"wOS5ծJooqv^^(5ZzW0FZ| vM3FxX oO/@ɂBi>Gtɭx+}c|g_jr l`!ZUx5"&!:@v!zE bL?tLjT>W PL+5>yA, v4ZiĞz9u:ԇ8>wX&7j49ӂebd!Kشbh.%3cHeUiFtߌiv"]U ^! =:1}d>X$u]ZHo<!M$nBa1p'$9" xڑ:d[QϨ; A5'Μ" RfGoJUf:&5w0)G4 b-!XYv3ZvMNd$$5iX.J3+g՜Ѵa1'oPrʺkb˶k}hF"WŬNth5^;_[/> 04#8Hxs䙴Q}| @Nϔ/s}faf4YMz%*3eh1^)Ӭ'x_BՅV d' dqS:Td~}A$6\',xj%OPG7 jݐڭnÑ8'\H8K!ܦN6>@o` !M3^Ŗ^3doHϬY:*Mz,!da7H0_^X' !bU[e|$EF[M}=pCZyD_/{|K|3cӮ F9t#Dd+ݶ^G2ݯWݟdB39_߹3sSgMkxy l wM{.ՅR"7T|-)̃Nō0(E-B7ESPVHw!as;&̚(4){/&1qX~#<=[Gr'Z]!m5¥"- ~sh9cXojtmylzޏ*zo%qj,_V65 bx"ZAuhb]R!|b&!1H|1"Ӱ 7Xm x#[A;mfdSBWI0aZhUuݴ%?onc:uJKG/V hs}$jN%=khI~NnGO\^bR%*+)D> K r`Ym98İW>AϟM7މAu\Ҳ`^֣7iH:"Gu!dm!8w44>Wwz*Du;Hi Yp*cd[y,}7r9ʞ+,8͉maco҉ܴ *f-itX2pfd1IB ̈́ʥUY%ӍaD -5d(^MR7(RH0? 7U8[*4mR`'Gߏd4oUA]Lӵ ҈fos͸ﮣ li`ֱc%֐Iʰ^;NTK%Te;֟ON-"e\2(Au"58 &eˢՂ# anFg~7Wm]f}rW݅F2FK7|:ɋOv.hזȐ=C*JYqr!b*cmUp*ҿ8!W6mVhҠ ɴU&- nNTT_'1px/<%.EzCY߹oZ\@nG>:`Ю=kGҗz !:?0?J}Y~;N؏ _?vS3 K?dc#9☛gVuG>(S/KD9)؟Uܩ* %UA1<j^q-kkHu ojgg,_(U,k0+"UG(ŐoNb|vƆyWEOj~rG%U} R^2K%˒UmOLnj;NQyCWfX- 6Y4QPKFE:j[ ~p+ZPNW)P@$]xnzM("ީV t5;gM4N=uM]vW>GŶMRjJ,]/]?i;\"YiP gƾ6LEhP!kE+w n~ uE鄇#$xgwbHWnиgylSz}8sQOΰtK9%}`ncF@qI*St+@ `j @;#>d˔CkwpY-xjF*ɐ^{JbG Xzeč IG/ uR O75.Oú57E(Vf:{AOP (&_(Q)}'W^E嵓-APE6ǭ&PɞvW"n w;DW:jUo/Ԝ*%j:ë|.{UMx#"wТTe AΞX<(]7xej/'Uw'pNaY0'^%qern2hJt@$Q)\gȬm#m'z7wblɜ<)Э`X(=&B@= pMԪ77OwI<aQ0MY"O")8WjBI*/2RoRkM.[^[r$dPyjkRЮNhZ{ FC&f#DPh)/ђg6{+"l=ljY|mJnnp/&}ظDp\YWؕ*x ͣ6hgcJS'Uku͓=2s7s6kCbt8 ndh>k&T̵ynb^,+'Mq#Yu{) KټJc?<{źI?mWsD^;]k&#OpRBGsdz\U8j3Q|KR[imZbV[V |7 BoU qS}pЁ &}4x"}8徰坓GͪK~(o F06PĄ/@h;-~{n4l 7|tc2# 1QI:&t4KDQ]D.3dSE~+td# Dw^k7+7/Ւ͒n|uA{JxO]a &bb bNc)j@ R6{} ĶA0yl^s7{vTvc %29`[m*߹t8F>֌>Lmfr7T;?UX܏as鏧<6}>* ~{z6񜇅m'{#-[^|~Zx{;Є͘źs˟P41{<4 < нI.sYFIAACĝ@}kZ y?:. s[YSy;I$)K2`= Ncv*u U0. e?*w᫟+3&y9Gv4p)(^`)) ,έXAZ,`A o ^ 9\n*[638x01Q69TN.l3 X8Y*č!*O82|% x䥩`-ia+x++AP7<s틩Q#&P9MɈ ĽYW0հO_nW%__x񅶀_B_.hZNZ6t+0wVuNacиwe6ty!\(rg [ON^7cK*AWVUO)}RC_{Մ;P,PW-Ɓ81hD+8"D%4BnNOCQk]&D{0r*D5vm.B%29ͩj#]jl 5Tʧ'&B^g()zU`w*l*98sRrVXwd>r-`$(\M]!9ˬR)P#]U);7U12֜shK4YbsIT)YΩNV l7z[ "3=)ema= Rdy4IWߍV,.=vPPG#tKΈdJ_K6U8p[ڽ$hL:4WoMK9}TLbw7^@-Dj=ٞjnfvoWl(mѶk<TxǶT #"_1 p uڽ SPhgrdJد;w/di2"]*S:?_ 5Ul4#.&3eh#Gg ZDΏ#6F9bmRُduĿШ2یQb rYDO0V1g+aj]qV;B:ϪG)Um6YLtZ0X4↤`Av1pjjHsKueSx8K|Y20?ρDo({24)LZqWEGvsdѥFDbYF{?~p W_wr.O&o9NxDzшMYhPCwLUy4hĈY좗"Wr {$o1i~]3Q.tK?zG찏JxN/ziduٶ^=_*.sAA=ÛibJ0T1ceM>Z{qػX{xi$8ٍO>ekl?%}FmT4h*#'i}&.޽VZms4|b|hU{ƛ'HNg&+sݤ.SةQG?PvLE7.(͵~ZmA%-xq^n¢.dSOq,2e>\9&d#.'zSrz铝i5x]K(CבP? 틐C)(Nk/_gD .xDJӎwi\5EcMxI~Iܫn D'tcݡT';paix}*_~w1`!)[x> Xs[`vkgnh-;Og=|{~KQ7q{u#)J xnYtZ{S&"@[gAꦠh?ݣ,ZsY̌u/w,\Gt|iֹ=ܹgu<S5Rg7|;e#N1@Ub#E16q!?ۡ?Bf5pVwʧz)cFo=ܿP[ԝ(7=G̷ $N@OLw!WpCtۍ;??9@37O`}ׯvzbmJIJ^f;%[/H=|H0{fJL\6G8B,h[y+͸eXpݜIgF5zV'F'vn?".v{`jWB"K<,KW[ ۢ&Pߕ fi m|=EO>gR^]ʓ-ڀ)6sxSlnশe>yyMi3]fZጕFݗupZ/i̸}fU&]`t ylFl /fݹfVKpou'6mUG_EŽ:CO\\[/iy-SrP$jfY--Qieăn7ʮ;"'oՄ3FʟF1h j=X|k}kZ4_ sJ }vx{CwieZV,Yzۿy?"ZfO]ߟͲ!*(ȱ01[B>{^ާ-a8K" nB sP9!oGn&PBt9AҼK-SW(UNK0,—y>!(7#'='w6$c 6"j“/_8XbX,V/UFXAO>azHw3tVzTy>04Xi; {ǻ 7vO Sq$UajN(7nmqI#k 8G_"Ƶh:L~!o״6μ&3M5Neh-Ye`,Յ h~q)Ol%I! `^u o"lQ!T2}ȯ(Ks_}|w$jH'G%He*Px;w1krM䛽6|"E^y9Ǘ'z? kҺ" Z/ ah-I$,CI<$ a Bb&8d &L3;aÎ];"v}PAIeqPA(|| 9TQFTR^%?F{w|w>wW^x =Ë 9XeaXby{,Xd.㲾:\L0$0`dayh 6,cӑͨI $sDC(A'PJ ACɽ@#hbCvD(2:` {'( .A E&xkQ릑 [2dy$C "d '2}t'@f l#=Jz)ڑ700[KBQ#]B$&!sI]$+ߋwR*E "QpSl8)CQA'j{tj? n؆~4D>M>U;6[#f oLaG;E݉҃Aȱ(r\wNKREDEx&#k_6-sT(,7Blt&&œm1doQiC{힎:lEe3;Dd#&;>z,%َD6Iv'Fq`C'"3QD|gM8ט9L3tX&TQ!**%**Y|cbR$7zV/6%+/*+I2~9*Ⱦ~"+aM & ԔыoS0@TmꍊNKLt=0  at=xp3DJӎ``#Q/"gW)y%qe|*)V,!v+ݭ] <>e)t]PyXxo(Sj?| gԭhdž՟?`vI ]85R[|v Y3@nܮy-6p~Ju/+ԸZW0)W2v Ex}9fy5l?٦-L޵һ,81ǘk`9!/cw̪\r>S= *&NZ=u32f$qаVeiriqO'|, /EԵ {9֯jF^%Re_s,T[~Fm2kUZ/ <=Xctf,ksƍwm\|MD]TXqZǂ}՞DYb rLmz;X.HIUǥϽN}mͷRSyk~5"A` ҫUܬdRx2!4JRz!e5+lN>/X|50A˜2,>612c:%nUsI҆Jc~/ssZŅ/YVzx"~bJXRv%bSSZK`ORbߛ:%aagDD¬|0: ]s:LcæcEYnu V2X2w3JA-lW7p:qt٧&ycM$Bb_C\]/Os[ m:ZfZ>n/yPTW\zϞ*,R>y+Kn>h$T/Jg~&GV<8j۴fz8^4id"&^yI3L^43̴+ )ji]߻-Uz"8ʼ )0ƚ;>GzOCm =z'?eg &Qa+ A9{gƬkϤ4xb};kDh ;}_oy2-vCujZ}/iAۂգͭd-'a^Lטi^+;OaÅ-1..G=5#}XY̭l\9&{tsgaɉX`(FQ]#vBAWĔ/L;Xr>)ޢ_^Т?/)[{/JU 5 Ȑ*) *<fB)3GP*BLf2+Y.A]Ozy˄ojεI،Ox7=WhTuI\658ExWչˣhI:6cXH3^ۑRjXТ$Df \w[Sb + 7aOUpw>ȎgJ/6ⴓ<3ߜڲkbј )gf5}=bV0^m=2嗔r;n^+)A3\nm_ѰO#P{??Ff)Z[o#4,f Y%%װ=˳zfQ1ɈF"!~Ho!)Tlkg4EpfN'e]0&啵ťcYOgrW"G

1Ȫ=TCZm^XYƞ>Z=I92l46,H.o/q)e8 U8PRJxE"~rh`EYr,zxԡ//m8p"Tk"h?mh}lڈ TҰX)Z Xk&{H-*-/EPt,_14J̤$Mu >֛5;b"UX*mb煱 `b܈)LŵJ` 'Whk^t vwG]Oޛ9@ yU9wyWr@`rLk$G#4w3Pr)n4n~WS%I*'WP"T<Ɓ 1>>2uz'$-6} HHG\\dD))bDi##GL7f+b2ի1w&dC`h")+WԐLWiMf*68% fdvQ FB}5c*ɓkE4qP3PQg4$if?~ S&QGyUF Vf">~ 'UwM hQJ[E$>H[49JxŃT ~t{liX_"/"9~ C]K87о*U 郞v-Ao}d]5Z9B3GO@VL[Mmj3WV,*`b["\B]R3iM<-mZz_ EI^p'22tT!kɗ0~rW}o\=?USj@Jk .ĠՕjfŴ\$c^CY($ݻ\lq+w0j(Vwo2o " z(o1@7n-z^؞<0>ͧ kg&O&n"Plz-Rﻩp.'+MUÕq^bR,]h",bponDT H52(|=(&k >AIxqyJ~ȄL˺E@S' 傄#i kX}aAE3}|7i7<!yW gO۬iĦցA{z[0Oa֘g+DkȽ1Ԉu6= GCL=\aG\3M4Gw.Y|R6(Ԟ-iuk34q'5svY>R/ ;OguϽtyiiS9W8$1y !aSʹ0H?$V>Q\ݞ15w|pݢҊ(/LiXmLYriUv>ZY)Q $#??v Պw}_Q镧/ gi}F.tsJ^hr :x󌕦֠R>N}l R|pN}7^#ΑRuh mng [4ZUpgy?KWW&^V+ָ?D!zԼ[^:P9aERtɴ7*Y~Wbu_C"_ќXfe61L٧ Ϩ<٧ܥ,?!H1+%^@jD#N1皸ZqE]IDx13P^q= !Vb ?x,}r^?g LN2gʌC=0lyP=M~ruA]Qud3Kum(oOkЍ)*vHY}C=iqHCJ\27+຾Cnw0}cG[)6*IZ4IXΡ|mJ㫷$QI J?%/? wQw-鑢"S205"n֯bڲ T[2w gK*>q1>my%08i %I {BGWҷ,2S!n=FmhXW?MSk2Xzs\v\i<5+ %^juoOHn1JxŮv$M Ob?rOY@J#7lN].O.*̔{mOa#UJࣱVAd=D(&%-cF 5=|{,QmuϺrN$4j9܍#2~j(6y+8HL!ʜ_ _ka-[5hQd&e֮Ⱦ0$L@{$wMPtxzYΦW-v4; q0K v yqzr z7O@%r@ LO. \F(YLNse;.z0N-zaKژf$.Ut\D?zVENjI7{`*u{Q) yF9+bjI'ʎ< (P~%(o [Nȝ+P [~b㗈 eSRUWyj+Cda"}`Y%`17Bgȝ mxI+LJYZj=}. !"}\C\c?oB 9fM_Ie[Oʴ3~GlS؞5BI`WG˘,@wD/vC7SD(K`u PI/;vڄn9C )i/,ۣ^}.f dP|>xn uc~/4lOlՑSn/|f ǃFFq-ĝW`uH'7ZX=OA*VX\!9`T4۶JC˞vG,_زL&5rG7%/WSpG0EZRz1u:]n@86J< :%ɨ'}MŒ2n4咭w=ΏP6 MX,6Z Q[b铹BtT3)n@vCzKn6'$^vH~ 0!C }˚'Kж9:Z1b3cpxCTg_. ]Z`R}φ?>GPw8ڊ"@'A4ro*B3!-Οڶ4 r)*pÙdjN\\?X=_H ~`} r+,QhppuT['ǜS`>GKRJX'6S&O<ۃ vBl1]$)19ى[2t6a#SU0Qfu?OMemZM-*#ñ՞(,5i!}mx+@M5܉yb(A[ H_ݦ 23@8 Fcrƞ~O!3o,۸bwDt&#j| $ے!kIM%9Dfٍ(qǞ>CQm!M&+1F{s ysj:ADH(TƗ4E!23~ђM螝Xm//!3J7$5"'Nk><=_H"ւ+& 1xH^wÚ%n̒dj.8hK>Xr' CH#>TQ渏ysK}oW% M߯C5"/B9rv'h_HIdҷt=0L$ _џ Qf$-M!jHk^)z'B4ѥ8g[:""x|gjg{fف"aFj+R۽^>eS0&XNpPl:%=N2ڕ$?&@mȾDW?Mb莪f.f;/H{1mwȉx FՏWq7G$= 5AƲl,+oG@_qF(Q@\ATk<=W?yOn_ֺ&2 SJyMMKUd*}/_vms|#;i;'|1 ( wx#xj\,p4_Lxת4EѸ74'em bqL.SrKfمlៈxNMٹ#srM!>ڈpGJ9";t1!(:MŖM 6TܥQrLwI:s ""&rRNWMu$(-QRi\nrG2qPxFk(8v'yab6k3l =PA:I( ёTf褦#Qmw1cN%'(O${E}|OUTӶ5Y` rQK\\x#;] ,{RR 55l-law54ݴVby悔ijҝw9&#oFm᫽UтY9g I=Scljx6v!>|MX}OXPiJymYZO>,:w]Per;lhxȇzd=(A%6YR*AATT,֥ pXIμJlz?3=]Shw};mc)j &̗:p_/ywxyjSԫEշY%&+p?2b-ِ:dT#q`"Sdx$IyCXƸp4r^fel[i娺UW_(;L5Nc- ]dgtw@GHjET+[hoT:Wx|9M)w:N+f'#x`1=YYpgF= _Np")e{h C|W2噿.P]g*lLdlm(XIY[kX\}þaJ6F[?#]V3 K.S I۽ZIV[< * Q˹o;4~~a(纣%/uʃꚹTGqm[|DMUo\;;:5O?F|o?\aZmVZ0`?|{ЄPm [<^-ՇA ڃ(A]N0:a*}y $\B]:+D $W([h7JwDAo1> \j|Ih`fl{̫UyY,Ҁ8%7,\[UN$mbK\[Z{ŗcD4. < -<LA<Me}R- 3}^,,}lɝJ** cyO{,жWtCaɿ:t55 -'ϗ˘,?_ :WD:}qR f1;o"ܤi |=bZ^Qw_+btp hlYO_QQ#ɗT3)r@ݝaWk{>^e=-h 3^|nH*`7Y]Uϩ8{0l})v0: UI0`[!>v0pw^gW]90Tvd^o_ܴp@ AWV8Rh@2AYـOK}o`=da/ޑOJ ʆOZXt%0` &L!ý)݄cFd' 1QÌ @뎤"opMj1H&0*Bqvcg)#rl@;Z S_UA^yV$yׁZέzJuCQ&0jF o?.n/g>Kn˻,yed풫B!w%P (%:K$t$8؍LY E0HċgWۡ.{| Lz+8dr IL6VHF]&$G#'&fL%I['~H=c]}9!^I5,8d6%;]VyKoWs1[͗_Y&ȸkE\]hqs%Dn9LQ٧ldjh*~!:~{U~h`7MB*l K>GqFZ"PEm TdXʝd>yF9]e+C;kH_Q!h~&*02>ڜr o %B#)BMFDBHPHخNҠG˳l>ZһJf*oE{CÐE#\ȷPk6dxvQjpG<t$K^<)";υ%ǽ eWMH0}ZʋlS))7nT tԯRR'#~SMYҺtgJOI BOyIK Qo bv!*m;& (]G]{VZ;v,4pp42 כ7=`a6mʏĂxoSt׵)O4#֙G|c~R?+h6]SNhf.64^lzuſtA|~FrOĤ%3F@l7$zz~'mۯWyqVz= W>?PjdTI9 ߽/yVo_c[ u^埚QH_99:wYw56k+'fӧ3K'S+< ?|cʿ3H? y'4p$ZkQHWΡTg ]c9ιvn$Kd.<Ԗr @Ƈ8@k@ C7So#˼NPM{ dn;$hdҏ 8oɥo,x5KQUsZ? 馼IV;RmU]|n:|$Y^u-&<6>V2Son֊]ĭ[/G`>mNal|C:Ou2Oۣm;em8\) j+ZsnJfHmt߭:rqZ{!m4Uj)f[Ym'EZJզlsVavlX:̄7Ncm,SEB.˓ ZPP6eŖ:Nr cAwW|E}Rݽ<%R2q^}K_;\`hH2CKo1Tk*[W4/3p feŌpm_F <٘$Ejª)fpNX0=W&M/;&GK-ȣ` ׽$jf25a’/ăT^ ֫;I!mĩدMp,4Ymڅ#S 0ET nf)Njd'7e۔FUXỂpţY~O-L;oG='^v]~#e­H{wF@2髗^ =!߽!*fcђc0ޫcK'yQ[DfN͚O7rt#uizg󦽴5$d܎bVy&l~.[;D>؁>}z"J=etH}ej-x"s4m|JX,;/tLӾ];K;^=6ڀUõؐ PKE/v$JjLaS;30_]B:XofbGbæV weRvbw(;yiʛUɉ * 9ϱ;@4x@  @!mn&Փ I#Z4s:pp1n;p /)fzķKGR>SmDt'_XW jQ"wRb0&wI3q~Hxƶ,xTZ!öPf]D+I(,+V=lmђ(+Vʹ-b5ʹkjx-Vmgm 49~c[gE٩qdc &©0#s<]2s/4vvFb^FwF"T*&=5w[[QCƉ Q^v3ҥe0*,d&UkC7ܽuT6_S.U4j-v B&LbQWKZWg*b0Eȃ9e{U 8jQ{3veEIL$ KQ.nTokz5 =tvfYY([luUnU 8$A6[a57*Lp3,]_xx`MdԨ(Mv|YʻFVȏRa=rϜI-e2*8-`;qPףH^ ޟJlP30$}A}TiMҤ@p!!2ff C?0|ƬR=E90L1>ꃸZ)`)~0MZ&*Q?imٳ)t0sa߁R,iCp}z_oayiS8,, f80 .`.J`fR}H`=90ODp~7=QHƧe~JV`-2fEJ0[`{֦xp3wx=# XAskTz]mx՝Lps &M}*0Ws)¿ hx麂{QQQ+@AhN.pyk\wnͨ0XVac0hP83ktQء55 !ڦ[uj3(}-GVј>g`70a?˒0eN*1&բ0B "\j]81, ?\uѪZ&}օ XQS J~8gn)1;@ةaVj`xl* ?HP#`sVb!󡗼1_~0TmHwU)g!|/CgvavHa@;Cx4ԫFQ=/ҼCۢ ݍ-7m-zLX0k5108{6}=>Z;_Ȯr0VnfT.]`),AνLiYg5==MQMX18K:{ oP^ݏtH@Py{Kсi=>~\Q{pc>! .佣c)oE~` ׻5|:ψrwsn0bw[SK+t((((((((*****+傥r@ Pqre@ \P(QP u!.DբTB] QXaQ.F%Yg Ḓ`w7O?s&ߋ1;3wkQ{ ofP8Z131'^{q6X .Xw羍&6Q{Q2`ŸOu /iGz{ڴQQ`2f֍@!C tC3 W @< @@ I@2zR$Fx'VayME#q&F.pNVoew JB)Yeތ{/Ge%o̪b}C*yT59X۪*%FH^P XϬ ld |7 $J] F_"G'܏\X]ՏGe c2HDYE2"#;IY|%ٛ.Da+IL'gD4%•nKɒH~E 2$ #8)1K$/p&rd "W&fD4%5J "Di4"I"D&vQ`2g183]Ama#+J"$!C*c7?$bAk|g":+PP%MddK}'/B4r:9I$5V2FdpTB~ 1K$-%mO‰ T"!@IDaоH8O '](.vfIRYtP=L n19~!@[jF`zT`: x We׵B}`Kp5]rrs舍ܟD@Wr- G"JuimLh)̳;{=Z(pfsѹ߫ш ) (0RWu&'@iH$ g+_\d3HBB$|3M͑23Tr,5›6nJm0?Tb f6j6,liP 35i"W%0N\ l h*\,Sf*w(uʍUZ$t;WWUTfZYKHy `'шUY!;$z]{}}I h0&\Q S( P2Q#("Xm>1*42l%vPYS s&wnB]DUM7IMU *A raN.oV9W R:`YѕЃ ^GD퀈֡IeKR4S+$ƣYRyoL(|(QdQP }Υp6 (() ͵;آz/wZM)s7%/-׋ Q|Kv/`gz~x\UҜ>D"XJ>[Sb 56nMfˠ*C/wbz yHG?=MT۹%, -.^[Op<4ƥn=[ ly~seU`Z޴ $%Tޥ?A28yA .l?*mM:ܸ'O@oW^Si@ǝ%o=%lFBqg˳C 4w1^p tִT@0o}N^ORٰwu*:.{x Dy7&+fG+u23A}j Sv )dJMKpv ~ipha$͛RIee o*&9Ag6|$s@z ?z8sMn/SgQa1}!J15xo*Wc.yc8tx^u\$Cpϊ =Y5FL6Ϫ{-9Q㽊/4>9ݚ p5~;ŨcʜGz=}=&Rc?< :&CB` @i.1RKK_TX>SY luCAI2$ҩ{'S邱gKX7ɠI9_ƫтAɪc7 Sg,V|d!(:Ԭpޚ; 0u̱VhԪC2~NdḦTֵp?g[$q2$& 27h><<OB~J[X?ӠNYUP察hH3&6)Pjs *, 8QT^.U#iܱj]ZnLReZ#1Yj&'ߴLXl.P{pٹtWOIGGdV0ɣC9d ن̋&<-[~B)fãx=^>%4f/)]s}Fj_A(ֺ@Di}z9iI4Ix>YNQfqNYLc39ɉ0U^RA xOtE}+=grieϰbdꠅS+d`࢔b4tVt_1\< Ρ^ x5]jhҴVNj= wuָTuIu®@O 9Qg 3 GT1S3UDO2l% ?_z&AirB<'N^OI3*JMxӿ+ь_C5j)cL7 OڏдJDaChajMhzx\EG )y wr|f~_迥V9ςh$m5I.[ZzFt}?&'")! Id7()7( m%s1䖿o?~FG<̏YF Sa/ɠgػes$~9 H>xDkH ?j'i'ӑcrhy!ĒH LR7="q4'5.Z~O'.>u #mI-8 ~vL*%$MN_Z-1ޏpnh>{TS@<~\GnH\pT_4wn U ks$f^$;7fDtdA>0zT >D7QPp|Ov @ANm}Xq VaLo>*i7UӢP <_@vL0m'IeϘ4!F%S%4%UɟKxx,#ÞI, ͨO #k34+,@[ZUv2D:e7.I~w?7<80ыrѲB>|Hovxfd^n~<`q?u#Ex=xm4%`/$7{Q"pɾ3㉟ Z3^zC_q/@JK.K9n+ɏ̣l 7%5GBW<^:&ͥp!2K<L7_3=ϛ_SIx3k;L%xyG#/z/mˊ?T?? MŠBdxO|zPaHj vf^Ѣ:u},|ٯZ!&mD4M aZАlyz:(C A-9 ~ wd#>}-hf3X@GѦD(GD-?oHkGT M)-!`~ ˀ'~K®;ӌ%ceߒT(BƩ|ty:?Y4%,Ӡ7Q<}%N/Ff˅N-6ErGO٦LV@1cKc#[@aNt,DwňZ /QmKˎ떁,0w| mAەq3afsVHPcv;ۤ9mZ+"m+ÂEPަ& E1,r؆E9 G]h;*%e395 n7s z9fM|4้%0L^U~̀A<Ȩ+ v ϺT;[CƷ*^uH4MNf] K?mX{'DrJmK*AaM2:l[yk gdfVMƉ;{"C+']ɒ*ܼ!8+q=XYp)KSp< mz{<eMTtgxi y3|Ev5=JϽϸTÃ@.vI ͮ'7cyඝsxCP=J/.۠ :GӊǸv{zt^9 *\<٥E?pt~$}#C%@^XwY۟O-7qh U9b \iQd86g7M|8 grGIj!>9;}ddIUISh"$U-Q_N`va1؃zNQI2>_¾>[ˏdnJ\8!]s0-7J,}4mw%BTp ^Ve`iԍ4 xd#>3tRY :7j@М"2ӈ6}s[ff@!ghgZ(\k+8H(=n-ɚ P9\z?֘L!ƿHJPF(j:(C։ѕ4_FΘ%`] I„LWnx퍲oΔm;}u6lk?\dЅuvwȏ+/@- \s^UbzՒ̍ѕ.It Spɗ :^s$&/u9^2 َBM Y2}Ml2Jz''Wq@%ׂn~["+JS8gunZ8gTܓcjiWY| jnFp28o[R6높6 ܸ%}9FUșE1z">\2B5*>LS"1@nF E@ ,v0RE7e|zOz8=7L%C+i꣪V^^ܕz_߿t:&+>3M)3whTQ)$xT}w֯M̿$^$llO`7%MgRh?p{s|ǾC]/@j.7R gc!'ŰE_?o4vyYUzzKT8sLζp LU֏Y%PLz[^k;wH|%N-EgOCwA258Ybo+rO':q2SKu"Jx5W~-5jSCSrCp0ClTi'{ej yw4bxF$֙;=:PMQn{_ j. XArhoDĽ@3_M*דi TM21A*^UC+J.py/(= P*Z7p/UR QG IPףV2IҘ駊&oz*/_ V~"9#rTiś m+Bjb .L))mHt vCf}V6^SL^jl^S&3cx>qD /M_Lv W(:1Q`BL0N &":)v'%b9hn檜ma?i3Y>(gC#yN\80KsJ4{ C؝ xZ @J~s?yhO?&(J n:r@Еb@>?2FvC>tKśJp$а :2Ov"#B*s'nK-AE5J믏*=<64%iPqCB&}=sʣ"*ex(CNgK* T,i)x }<9JuەzBGCx#dOety~¥/=/t(y70p Bm2赉s'D8|` _QiDy(mU|<1Zb"^mʏg=J؋J+_txq̞Jxxz:ET+ES1^cj[MԾrGrcSc!^5$ROG>5צNUo𳘖s8~X~yeϨ?їʢuׇ ®Z 槅5UthF-lNY(q~*91~oAn&B.)] nҬa? xINry=q L I̕Kj*&a %4c~_a2AXk\\8K, 1;HK.Wg69(~e1Av+Xnp |gpUQ3ƵJAb.j_zaL>,6h7.39ny FrT\'̩" 8 [H;< |I) htUn񲇫AB}rTZBL$?WSϷr4Piq+λSUv+A; ̍IP4#4okb<@QΘp>BA az6 @/ `wV(,+!7V`y.ߐ &Obinl09 \)2EUj5b:X xgtǚwb-yv<ښPV<@.|ETج{%ɢ բ~5bP}T`!X-X Ja?*ĈS {wߐ!uW r0hd@BȒ E=`}G Y8 ¡E簽}C$'mi;QT_  ^fXF,1=J]Z"XKM&m'w2j$:m½ ž9eN1CsY{r!fuCiCHEA+xɫcE7*v;Pkvy@ _>Fٓ`O'Bu3޺ҟio_Zi4CO_߰f9P4\qSuC>l0֠q {DWRv+jɂ.-%2U T W9 =OJ8ΗJ_,z2&t&"lT+v 8<Ʋ6. sP0EH! ԌD™ C5` .\iZzN~9I^X3H[Mu t}]TrScXA3?|#eK $m~nXvXNq:7c]i-W#?.UBKȜ8+kּ:V2ò_Ȏ "d+]xpRLeȍۅ_Jr%%a1ICxG ttm+q&˩Irt`;3367cPg# ]>ݡq)G"1u]A }QZaMwQV< SWV$m$lYԀmWw(_!Ww%rnИ ?8z?C(h2nɀ ry CT֕R!EH(㜗#lO*T(?f*+Y=MxNS@4ʔUԉU*rOp4b{0(-a3nеtt?F?7kQ:>]x$F\T}%}n蠤 |:u+ۼd0^{Xdj|OU$r}4/ssW .W+ZSu4pg %|WAI`ߓ--UIQIE;sN/'ICMۂ%k~Lst.k_Zɐ8<_HXJU_^Ɉ@ǂh݈)rL!CzzC餻:Dh,A Q7Jr1_Df p_4qIǟI|ro#2n\"Y6eLʦ;ǀ:Fz^uO;Y$r([hE',T!ݔ̓P|GXQة>\2 >gv)g#/80%U~vwXDY߼g|=ÀV+rD~ʷ{it6pdaE~;,D2e6S礗 3U./ȣ_K}SPF`f|bFN9v/>Ad;rtjؽ;Նʝ`n4 C\F1VT ~l.ڋMC[Ew1c)YIZuA DY4q(mE>έ aN m.W|r d^lYy@շ^ڄ2SRuL}S}tP3Scjqh]NXGuxte3QaFPM`:${XO:a ,gAIYDKN#Gr\͸UBZ@C=_R;?83,IW=Wzpu(7y=%I(R)͙zq\iYg])2b`9Lh: U=I~EcVHpŃ,%r~GvᖝKlS5%)͌Bˉ{y/m\؜ƨck>k<ԉ[sAYk8{UUՂ?Xnd(ޯ8 YZ/URyDVi,M0*R,*ЄrY%XQ.0iIvk{%go&a봧Qw+mèjLCIB@rK(t rwke fAR~>"u<fG m8Ô$!Lim.Tw)Erd4ALN/L Hu! ҁ Gc2PwU.ոB"PzUp"T8y7U& xLItUX.8(yR !ٛG@;7'm6-7:I@Z$F̊:afZ-Bwe7ɋ-{传*Ճ:ziaT&L4:t/`vG.MR^VhхK8K{ vBҳIzg!H{=")]Y~Ů\pgm0ua}sJoqa}'hXotA kSHt-LXx ,I% <ûחF3\<끓3;k*EaOo3g}{A'NPM2?MCA`&&nx{j^V1JIyH&G/ C!!Q5LhrԤNШ?yͲd*E>>G+%OoT'9 ̸I~{ wHHIgӣ$6~҆~r-L#M}ՁUբ&Uwn˕xvt\A!HfL}т3Wr 4ygOud+ȸ_?IS"6p xv $j@ "jnEb3L!3AQl8 A8nx?JScaig }~Yppprpp"pؼ<_'(rs F-%_\Ijх26ׁeˋCFj@ ʾU0{<Fu߰9`o* z%ixVK4{a)mZ}K_8|sCuPtlY> t|+gm T_6s5y21nn4ٕ`|ًlCJMedtIFU+ Pv0OX%feoj{H䦛ۂhqSAVXF ɘvemb|\YQ9Ybj,Zl 'YN7`T}_JW}aZ &XdMxO)Zu(oG/9>܌Xre3|uЅ \3x]MY ]7W坐8~$ґo֓/4Wև8qx/]73+TcĚ.ErG+LC/G>:ꬆ5b!oRudg?X}AU,#.Nj8b*5>.Z_ghcz/fw;^ʝ613aM'(cֽXiA#Kr~rv{[nwD -_q0R.@$E`.^HlbK2*BQ='Muy~ƒ5N*R[`\..WVWHӋ9 CFE'&13NssD<סEGJʄB@ z; $@YN29jub#ksdE?@fVO+H#KB/ *٠רW(N⶯MuB\ jz|@RMx_=bqLM">փU`( ҞcգYJBĶER]{+!N\ɷ@_M>Vkdv8FVI-2t[7</ӌNE21zUF5^&ʰejo9,9eyMDu;qm;ͺ%_J-ud,d}!p')d _hDrj$(BʼQ}&uId tg2>*)ͳ}9d@PF9"?-x ʦyk60*¬1%) K%X\rb :o^ 08((O9H<@Y9:+b,eI*u& lq5I-IiOOp)'׉OI\+ ApgvHVL 2 BK>aS45TMAdk= ]Q9ؽ԰?:@i0^vk)fePV= =n~eMyio 3>fo~K {<P}AWhcϱE:m$q!)U:߮=YHrRV!Qyށ\:cKT$_am` OAMč ՙ־M^įǛ6Ǯr`y9GUbp_#(uX+Skㅔ"u5j?巴lPKS`Cu{f4ໟ`c'Ù'GqP.H: okl~A´dDtUj%dV(ؿ˰2ݼ\,>j_SM'/̐x\*rBRe2R|sBҼWx @W!I^(u` .(he}pp5lzP:m*U}PXC?=l;>^ԫ/viR}Igdv)FY rv8Nfu32z@5${EÔ'%†J%8πƮҩb7YzT\yB]砩s&cRd% Cۯǯ[ ?K}1kE  [1.aF&s;mC}:ر,6^j 0KSg'$I|H5NTp\`jNq mWgȡp>(2R=}sLEfg8yb#)kSAhSiNhMvji 8Õ\pP'0j!$R\u6dkzE$@V"O˂6￲z j!h,~Х|eowX|\?7r@)6W ĉ1`im'2{Peby㑼?[}γ<Cʐj1\d5@%H~sI."Ӌ5e./;{bRQڏnSssVz}Wn=*Vw𙚹~/h{&K;!AM,} lm})!vZu,lt9kFVC4B]ȱW:V/\({{z!![W>p=cP"*A;&y,-^5kyD 683-{/_83KTQU|󖲨|1'Lg !-%ŝ:dܤ`0}.1瓌^R1~\ >>[KZ £b뮍jʦ[mq@s?*? o tntU3qS aWӐ5~YK^|%әob*Ty *?Iއ5u6mH)4pW3١J/NFh-},<e>o%ZԼxBFNsiZ(\e},q'K|C/K aoOn%3e`]g`tMyܪX.b< L]tP#\ď3r 3lL//gH<0zdJ|Kkx\i^=zrYS&X⛓g,Lθ&> l_*a/:&=k~/(@VKNM>m5&; X> 0O8 b4O GNsEְ\v\ OV]K',x4Ӛ ZQ3lХmŨ8\og`Hp,gP|CHdl*)@u.$sElږWi.HU|֦XK|/KKTB[.%&TtE ZE΢:<{C Ap,gd$myԔKQ] m 5H1@@ Ea#_OQUc>_OU'6f r|C\ uz|S=Tmǰ۴:eg[#>BAF8vU43LلHؤX~;<^e.L):E*UXJƞ-c%VDGo&\+{le NcPC<:mEA(BD,ɕU=3b Xi4QfW+&"R,T+U#J&mlզ`((( ځ6'iP{I˅?wm1/<~x횥3{6ue ]m )tTz %հ)ޖiep7xۤ';s+H7׏lAS#;uVZ*L4|S0q^:2ԙR*õ,J&qޟW7E񄷦Bv+VuRe6cPkIvyC]ͭyoVC-z eF.gw!c%e,IiKʽ^6& "ѽH`ay6q<͍6B$ڏ3cl-"f6Dmom884MаĿnie53u]pPbdL`DD JջyB,uHU7ݲJ3o5VǼ,~nUV]n~cC Ӫ\N)yOf&a@r&BPB)5[i( c*kpO0`^$t#9:]J `0יּ7%FR^}- vhV?Z l.jDn 5W ˟[5gy0;.sBƕɤD˴f]o޽D^)51yڙItmM|}SJZhS$̆WQVNםs,@Oa4ӯ"Vx2UQS&R!-U*hmf:PCy{Zh-:(Ɨ!j7l&pA(U}~j -v-Kf.&;מ 1(kH dA"\Mzfǹq]\_P%-LC@"{[+o'~5$svw^w#t!*ubxq+ Z6n Vn0i@Vkʻ#ѷI!g~t#z<7V=i#yMuR. Gu9D|ryKYHJ# IXΏɤ*C-ߔ.os>McTױ5{ĠOT<"D'6M`MfD_,QEw+`]>& !Ł/C?GunH`i!ǯd+LBOQLmD:#c3)ᾩ,R|mB FRa8I" 7:}03j6k)P"&=hz պV,0tv8P<,Yx>hY)gZ@qYl/[¢ oa̔UnSsh^Mh0Ё(7esf X!BH]>D(2a8x}2!S[y٧_5 lC =JF9?6Hʄp5-@-!OkW9x@sWĦyE d|XgJxx~&Ut ˁc!:CM{HP\hnygX||';졑WԂ^dd$$?C2΂n5Gpxt󣹢8GgP±$D2׬9|rk>%r/Mi!8hlW4v0e21U*eU_`(rZħ2'P\,E*frm}܃WZ39s[_5pr!1ZCrSo)G@7_m+ǯ=%lޛ#$}y3-ml:%WUQ3}м= dQX2L>$R4>E̱5v)SiNhqܿ%'+^EE{(S[7XA=3zwߦy t 0S6 ujӜ O4ϳ+@hA;KsASmpɹL!V'PbZ,)|)]B,B)ř8tx'ƥ%x;cҁ XYVUF%BoFԳu':rͬ-&ML  E̾,fh$N5"|2:S.`4Շ&(~]_냮3Բ=MYʛqmϣ#8m%h_wЩH-AAtwDQeH*EtDO`e}W}"ԞHD't)E Tj:nrsJIr>I]KD:SgWƨ fHʚF]Gyqm* 򧂤)+-98nzEGwPx'f8DUAmUjCINZw-9%yQlif4 W-ώ|V@gʙX]*aaIGzBA [ v˟A!0~ƕ|5Ϟ.>?dP.ga8 7qї_ >ȳh )SJ]uYZVoEI%N Wߝ<) )wE꿦햩Clp#wGЁ$ :PIq*o LCʢ5 ZY;).:`} \ʹ]{y<)Щ"DL{~J qʰp32M[aDC*=_L^ӿ 4h ^Y0`C0 yeKhͿ*zɧ),>"/PTѤ<~UjS:MC?CbU>oF3c̵wqt^$ön惞-_.wEP-KdPAR Q~CQB!EHuttzܿ^ s(5ǭ5Q"`Axds(LqHѻTμ ͥ{~9hE ;OrmlcBhC;?,Ao&XI:`/? &U5ac N,,Z}~T{}- 7@em"I׭8G0HχjaOm,lS1JFIC)eX J̧Wq'Q"R;Qy 7ГNT4rO Z*oUwWʣÂ'Srn\ՋH)ש|2҂+zK>1t2q?zhՒu?iӑO{E -f +j6!R_M 6c^RS> ' 3Yp$^ptx ƞ\T$josXnY(!{3C:Z/!}6,o"0~-X4#uc]oަ0S 0Lg\Qؓހ7I*0ALh@n"rHV_;2(}`^ָUPW_Fm7>_"&)M]Ϟ$̵2D)}Nspnkf]GYgE}cͼ̗v~LxE/fw*JC YDs6y"iI'N$4:VlH! p5|8 ]-$ol{Y~2s%~j0[ 1|?Jw\e.ѕxd!V82 XjbgGKiOv2(i][M=% l63ԩU{{Wb^~#~J?[uĖt=բ ƫ t_r ȡnõzAu͉+sJ&U>2Ta&>cSNFC)lT|0b#K;d܌.ozhɇbRz$-̭[G|)&8awb=pmnQ A/ȩ9)k#@GhF/ď#JV#$GӗꝀiK1/abBw\h3Ď$"3b-8*R:.jZ\ 6"Z"-w^#GҸ ) CBO_xW~ǤIn˧̅.2,g.B*e"@}_RDE/p{$ϩ_s@׎fȦ[t%0詺F;Hys n=B@WDA\WO0X0eF̃rFd qASet\vJab@b~Bm FItcHy9iDmBdnz;NpOZVH|7^/ W6΃U;v0 8م|BGRmg얳+r \9D+d&xJQGͩk 1S7h)O/jQwpձvv{!McwFc`nCn Ŏ6Es\ ,/&ēV9E.2#II?KY4L+Q$99rnHnGA;܃Yؓ,׍`ߌK:e{f:fzgi9da5xLV9/ ;@5yY6!AΑMkїʡt%cƙ~$RoV,:#Ln @Q;%X/iGarkETZEǭdwM?΁2[wa>. %djm@^CbMerҚRƾ@]MQݲΚp Lb_iIqgc{Ņ>V+Q$hb'Y 4jw 9hK_s7&-xW@ @.Jc Y;`mb4Wc*SʠZ H\̽h\ǖ<41VIzIƎ~I("RSS)~FI6JC <\+R:۹܂kɯt Zn!<怪HQE'7MU—jAڐ;UE-_,>?zK>3'Qՠᇭlw 6Jp֢}܈߼;?NHSUf+fw>AFO8J>M{ (*ٓق)oB_)ΒM.6UKPT @ c7R4A!#H[Slò No9Hh>vh "L?2ur:M'坠Eڲ. Te2- \ 6;d-Gy?pK.IxY NVF?Wmquڮ+AgGv`R71gDlsWm5KC2r#"+mSVsJ%7:ԗ82N^{YoAob8'^$ܮދ٫e@o$LYe^yyd-|E2Z+(u ȋ7٣ЭӲ&tfS%K!|Bw`*A(c bZGw uJ7,wx0 ǰc)+-OSMBn2Gn/C!,ru5x1 h- AwCkr>f+#s) $DLA[9h=Ba6<{ |БKSCʦsQQh 4VJ"a='$ȋP6P7&X@k >97ȀCŅ&sjC(us:rqf=?s 2iٞbSM1U+>SeoD~-R&o;)S3q /*N>a΅8$o5:LGl?&5h?ޓ?OVǟvկ7o_%V*/&69Wx/-.ͅxW=O>|yy~Y*iw.M?2*W"V~ p}+-z M-;ybYx;;Yrꦝ;%ItnHpe :;DCe_![ vs>t u.YYGZ$ꖬvϴ# 35ō5 OXs~A OPVWo(,fq9'4!a#zwVP۞̫)YBC.=)?'QSת`;tdLJcX¢\Fm9¦Cp~q[XW^D p Wf=An-W{-o^ \&H8a Sop5/7lT- 0 v,O]kWG_z?;t5>9`>xB%/s1<۰SAnUD߿ȍJQ;Ojv޶k t2 I&1I9lT-KDL"3&Aoٽ:5 ':7&Voi[[ڳD=Y݋QaWB R[g[=N j;{R?$p"9 im>#o?xuΫ;,ujSA!('ҐrZ | P/%ͧ/߲[+/ƈռXMy‡?&لb`]tPb;%@ZudctI%ڻ(OմF]@LS_M<9*I 뺠RNbq= JfSMqtԞgs?R?]$4 D".7jEFڵ YX~Cy^h AUE>%찧 Ox OL*mp+9%'|,VW+bL^)Mag ;,xANzKՅ M?VcgUB]})x{qT7\R+ҭ+]v+w^?r2٧I-]kAhW7uan{x'"ҳgNP`7nJ{8Dy5zM֣?r,vZđ{-S lbO10:xwW2} K Qۢ\sj4.vUf<LR] tQ{}pMև RQ4F x*5CVhD3fQi~|@~|ʔ8BjqzKp ֥_1[2kVb˯t'l[!7mgʞuK'm{ε‚}h+6fZ*1+~N\t8=-J:%Ծ̨0u>@EJ 2U"!`kW1@,82E[2ױӣm]./q:7Du_ Ѳ&g>L6pp7dV7Vؑ4td16*+.qz5ϪIkV0. 6%:<%3&M7Inp,fRpֿwt*ӃZ$Z5 |Kt"RMBS*W*+hEoB9əkF* [38&ე~;e<[%ǔVY^a/I|l b3h7CH|be z엪^q_#sC\JߐB"2b;Ȭ!Ph r}aisa\Kڎеl=f6B|a2O; 0FXʁ'guY,'&L~LJt.q;@pʒoRh7K'h [hp'?lݕA'=-|v U0SL;aͿH;1e<XD]9cӔ?86GLO KSo" 3 ̭!"|Ӹ,~)(-L<(͎_ES[FnzqX{C)qr^E`p M sfa (zZeE 5iMAVM)n~M^\WQ7rƓ4ɟ=l\H+ I[wvhX]Y~E]Rg ]i&u EbL!mXn"Nks'<`{s8sa`샨~E@#4nILQka5IOd Q[F|xF|}Ӧ_ h?IYAҐxZnRیtxҗkpp6bە?m͆f6s6G\7nG/M#ڤo&"}SZ$i>6(n{(T/mz(2hDtwlRRf#g$v >e FqR6R*WcY%Lқ7CJO,ʓG@p-7KI$b Ԉ ۅ4h?iyX͋d^3QhKq:9'XdgG8rcMשCed}a,F MOc &'F!^xUM Ֆj+xX((BVXNgY饵%N(T¦lfS^3W\W \D*!8p8Zo+igB#<"?>.ay81$/.+06v `ovö8p^pn7dKeRe)BG=zb+B EvlGy/O| `XO*uW,V>w21|EQ N-ż=yH{sݴIPVX0Eu7%xdâj0w @Z+|yjK)z _hoDu%R3?/TG di?݋H?* :"jr{̞ӭ=3C52XROx7M@烣vOHP3KoBfэhqN,U!4HQȁNF:Q#j͵IF^smZ(5%]i 'a{9㰮ޏV De<v`^NEo*.Z;*gTȉ%3)O y {a^'R2jT١p9z9#>/h!wল /Ś4p ^HLqu'6)n!/(Ͼ&F/I+b$Qkh@u.^?GMsQ_v`v>e#ف8U6(.`Aܭ4եfiC`wIdQ&/]%78\Y"|EfD3hWH/wx45VF;*$N(SU&^dH6/iS>"cOT~gN έ{7LkZxOm`}u3MRRI,/T3߅=ȏv=KD/Ge V~uv̹7",$JwjZm& ##Yyn"X,yviB!?EAHK|{[XO gTcZBKY3ApD{}o /22<H1O>3 i3KMXW+I/V:q veiأ}#f_>)XJE;0FE M+紖Ǔ~b)uY 0':գͪ``@VvH1@orVs\|L/s5^VE (EtyD82LVkݴL-Lһ~'W7 m1[/>xܹ5$񥵽Uٳ0QN?e_#?Y]xZ#UzǟAKYR$PK oowO§ c:nF`/Q&·XڵԦ.uJd]/K06ӯEϼ Ș NL9l] Qxщ2i.KQpzb>"pFvu)a ˃|r_ ?'0ך? FV&_QcКg"vQgЈq] I~P]a%vnHNn!~gj֫gL9}nroKyfms~u~$d'CY,ej6>irY&=ԉ'N Zď@$~.3 ʞs9O%P!F|DQ^9\:s賐;uqWJdKRg'ޫt8ԢGQB4"= R*.LCB5/7he]>ܵto-(G_qA7)SM_Sng8G `)VEjǂʶ6l.dXybF_n,Ƿ8Tp`% B~fIm4Õ/Iij&˾կ)I\]<ب#tU^K^0$GpmqZQ5nLVS09\^/znC>I`j]>\h2CL|(=fYl'< odk.?44˸D螑FyLW8?< FVR7}Cg4-oŪY/%kG"՘44XѢa5ܼi_ߴm j)oa S] 5wboeJ¨|}:zKBugg9BoG셪 oR, Rd)l\x-m=VX=A)^{53BMw: F!Zb{HN2!: 貁revRz#wPE:f.qճ~ My1{  +&?':l8`{#,pF?(]J+E=D DLvg^ ~uOC*7W94]x2YJՂ{٢ i;РzOJaLt56ʼuQhjIܾ\!1GZ]Y3ZpF'RGP+]ZJ R9kcv%Y KAKM揷Ί>@Da/j )҄dV{0.K@*luz̔]P3N&̨} uSosξ?s'i'4|/=lKk !@Je:z >U7쪲OcʔLVhү+q\gv O$Da|&%)t^E,7h# R]y.=tIm kvxCvU OnđqߌJ%BNvƣ,]^twz8׳چ^CIx[ӏj}r z2 wN~1%=Zqpu; 1aqωs7@4LDPu=!|d(N?TDjQ5MtCc/;0\4?6A ۃKm e1#O]J][犲ƶJ]i>dެsGN ^Y¥<\zr2B}Y*DQO|,p%Y'ZŦO|eS` יeG2UXƚFq/633bv ~ K/]IN4."HKQ:ȅ|tL]e{{ގF9˔Qr A/V]F^t 9I](1&4GE)?{iS'N+G#A/)F^н;H=Hh$tBL|myi5_es|Q[uWZ4,!{\ㅶN*g&K# T]s"h1¬'jOxCAfE,^?d<<|4qxRыyɢFz\ĭcKLبY>H*fK@2IaR[RnuDP!ͧwdrv?У~O=UOT61fѸ8f3vW j;[ۆ~ݴf W"Ck~Hv`Ai5+>1r%-k&@hpΑe;"@"pAf (4+Vd7"9@jnU߾$/=]i=k3f/^/m, զ͍f/sֵST,F^a?.o=Rhuwhۀb/eMŽolK"ܓ~KN:|E X{~yR%΃R떖wxXYJ;PViհ5>~ynTf0Ɠ+?'T|S`Ji@Ar=I9(sֿR7`X$B݇9ez%-l@jW-Q*Dpo}*j(?0<p#K}I_+ Dsc(z?&v~5n@!/:ֲȒ]A%Cc>-X:)EvQ²X\ +\'fk@(O !7q9{fLG@-wYZ+䳘hKgT6%X:TIg~s|}̘;\ +%Zu5EDtVc QvEg22Ü&PxMՅ^xyO%?k܊{hMR4#bI|P֐^ȝ ͌Ѥn/+G łILSą( ~l hqaE\!\hbKuɂ5t}<i5 Ѫ !yxHk7Nw̬YN<3o[zZCyv-bKE)RYN0V]nȯ2[AnQ..+` Y="` (P{bD 5np¿P,s"$牻A` K%bs+V!*{ xY?8 $xێ) [,km*30r a83,&dw!5n$ߙoqFa_5P^bR053$VH4떌:[Y2O;?Bܜ sAsHzaɨIwk56Zb@O{׊LDiN}"gȀc>h|tjLv> zX^>iYio+9H W3;wBݚg @n}T nLqؼ]*5g+\Wk;wQ90C֕À HX~B1pb~\хR} E:.rO2 mļ TW ibЭU*3OWo_An8C6KXȔrrQ+5?A?|˭^5nO6&>FHy$݄\ JJggn)8?T8fn ѿށ6^IP{ _ MX9H2ئm-$["AT/ Ĉ|Z(H"Jy?'H*LR+:or 1WX^Mj~6j?7 m)q( |D[K2V{Bd,J46~|;|W^Р(l3@G?O7늏&]5G3WN,=9c,ȮZ2b<Ogz<8dE 򩋨6/b b/ T0;-/\Yy$2q6A/^;hF' xLIk--g|y| `dY9У0Ewt,ͭQ&z 1-r>A8D Σ}3l>#DvE:`s)k#[d*SW NxHA?s:#a#o.qcq)ỳÝ,'AIۍtnQOZIɢig"<`9_הɄubO{"ʼdTw|{SDSh7}!(CY 0LrBneZC@~A^^ZmoPi׋C=%B](S`o08<< RSuJ*JJHIɱ\LbW^)3W: EnnOLq%%/Bǖ/2PKҏ KGOTB#q!M ei+ " e2s&tEmafԘsW 8wwnPuWI얶N QɎZG( tU)Yj&Ó) qb j3BM=W3!JhWkDF=kWo9Pq2,NIO4[kLi?$׉Cna~sSÝ&9x>ys h{-:'" Ϲ#Ts1a# G`m6-y5px' k,/p--rq,p jXgiH#N&Ilۜ({Ea]+J9l@z 'EcD \Q^'q 9Q W0H[ 6{ț&5$ ^sq/ Bd:gqf]S.@ՅwLŴaT|8s^PySC*6hazcsPTs,t]۪ T,9;d/ӊ1T?$3@8ppҒ(pE,"ECh=AH?z$=$%$8$%$4$ۍ$-&}mM zZcGoKh""~N~v5wzF}ˆt'~T.1Bu:rqYH4DM8>N*a"T0a B2t(0$l4jwDWO\^5ֱCOqeDvySV])k22~ $( -6k$v3F˓l:|Y@sAQP#gZxe2zHi;]Y- tU#_dWPN#4arC^6*z|ݚyՕMm/K{}"$K;?TXf Z@u8h]^/YwtW1] ߚ̽05VK>z/1Q 8V(vQޜ9d=)ssRVr(Xn,ݨy{.c찝ks#8^8D0ֽa=)+Ng!yR_;⺕.T]9wz酉z\҆$͘A?gk&P|UȨdH9n%Y& 8.9`I^d#N5=?'=z%ڃxĵ$rQ[h4R5?&r3s7b櫵yGuA+$uu x$RH*_7? j2|Nk oI`o2> 4Q?܃%J'NN8 /R,ciٝ,i%i:IgLoǍ{*Q@$-z~Ff?ꏅT0T>t[́< 3lqun.JGƭ`_ixE6_HrIh,9:&&p(|ْW|nR:#P4(Ұl8vx0v57 e>K;lv#}qT3^q߼-uܳ˖׻\aŠ-m~B3q^mix*X@ lEL!a,~ ]k{]rYt7A1Qq_B.-6nhx4Hp&=*ܪE.+M"t柰5\ *q5(itUp5\CPszof BiV4@wF} ?\4)P@,k&.4[(X 2&#Ĥ$T@A0s[9Z46ƍ+lޘ8fTwC順$:j7.pZr8lZ% ߕZKt"@0{$wcݯ%2W< JuTB|rB>- #} ̦C /o# K3XKxBEtq3=sULom!SH .bJiMąt^Ea@Jq{(%ܠEuKuVn5pR>4|L1{)M ws M]=!rRэvœ N.$ 3Ԍb% 4qӌ5N!&C=.o rQP1[@,isYXOMw鑂"H5f8Ij*h9CZB!g+@2nTqի|LE8s(Gػ RBb$e"DdRK힨*7xFv3ʉo^B%bdokZ#5Lί|s 0u\şp:0O$oiK나#5$?N QB$ZKmEq,1_[ ߃j{ vHG@A^GR%=׾S93 F6~-2C~I@4F zŸF?6%pThzgbU{ kxkDB!4fhove5QֱXm6ث~2Fu P8sdQXDWR4Xa-Y& AVzPc)QUSJ S!,IJ cÃs[ݟ}޾b $ ?GiqK1m\Vs<;~ G.~&BIS<4*˴Ze$`KgU\uQmm ltb-j|DǢq}xykxԩCseZ j=DiTb__,0ܚqzj鵺Ck@AH ?F5+}ИE3?Z.1XZ>Xp2iNDiSF*:7PhOp/8XU(lvO1 Į[0Ä超+A2 ,,ח%Ve5V3!qʵwf8 ⭉gm7] Gly+#ʤ[_Q7L{h*B[CoLVNiКly|%$aoqAȾ̨)*nK+ 7`tͥlxTA s.rH5RS^)E)ßz*zRbC~rNgSQy_ r#EyzK܉&mRZ([u.8 ҰpҰ q3N8J%_. HOEp"pppCWT̤<)ie'ׅ8ȏξ:I@wW]Őñ/N)p~W_a o.g3P1?ĀG") ®5?VarN!Q[Qm&CzFnjnۙ3&qB^G(x̪\G1:~o(r$~s2}#㝾쉚Tc##qXYc^;ۖ+8 zby`Q[J99p56xRS_L13fg08kHjMXMϖye1ڎf8_t| z=BjI?6@B(ۨ"F`w/v脋s4(TN{8>TN>SrqCGIMfsBlE>9CgXld~]x4iRcQ4_`=C1_Yu'/ c{ԙf<Ж{_xnrYwO0)\Q'آ`)euKQ<̡}`8Cێ=񡵟 l0j=/Aq簔pg+JbqOuŃ1na0 +;PT"};J@hEeSNxG{7pr_[hFՑ:Hjf]ۗTAvL ,L.s,f/ [yRo Luvf݇$_Oxn(\+#Iq3gEK@ mx=;[o.tr<@:.q9S˲QB_첬̑Vγl)0 `RH,O0͖5f8xduD6aN ApJn`b\#7C;=T Y(4Vc1wۆ} <|eEwuS뭱᳣t : 1*y^\nBgҀ,t ]3ӿ\n4E*NV?Su+ zhƁ`#};\ÚTo&t T=/S=DqV8YS1ޭ ,K/?lF.ءyG,%0 6-\7=\ߩ}1z,VjMj=7潁vIȏQEt`AR{>Fox/S5'=NU%0ϖh1I~FI:Bj,yWM 4c&>דy)~)z3/Qom^sۿB Ȉ7ޒwu5'k硜\-o}#1w^ s8i2M$-8g.UN`P#.wsmQ/U~'G`q[5' +6yKD]W>Z(q.d| & Tx >TL;rP,ږh 6zxRGo(c\*uuoKnȭj1J*:QD&Y"\\ߌ1dyQ7@5@z"YL3 r>b?~FBS4NSW3>;C86(`a fb,D#d|cv.=n\nLkXψotXq >0^V-k9Zdmժ\FjrHI xg-;*Vme R)&k!Wiv-ä ڔEu9tFcs1WjoŁ L,ēXI;rCH._f orXҤU9 `<ґ&yJEb2Bo!$%r23ZZ.`7MXƜTv$G-hGy~ P!S5)"ÈrZO tlĵ~Q5 F{[nqxq1S/*+ еmzd@Г)@uKy0`4g8/0X h @yb\Ƥxu㈳R]x_:) k>͗{~6I(:}5=;sx5Υ|:ÅL=lj<ȫV%@~GòC-ߏo꺭K$GĦ5CHQC;*{P w0Iv^pRjAfb. O7鏙e҉Os-}|]D3VPnҌVCf䑮$1V]Mt~dX3USeWR=]lNmFj?u&Y4R60?6MZ5y{P5 F[Ӕ(wQw-Á54d:ӔŤI8QbV[/BJWL\+] ?Qk]]O2I)lq.c1c.ZiYfv:9X~~6M;_"8{"<b䟔u!ѦB@( 3Y[dlӊ \%)hX|MvnrΖxm0gws'WԒdȖPTK k*2%x>t5Cq7O` (B/y2'c-Ua憒(d+pPƯKuI Y?3>}sn8ƱQkG@R8NC˂y9KF$//0\zÄwG79/f5 \zWb_~w(н^Qkպʋip];f=ϲ5^0%'΂FTݦ"/Fw.lb]y+˄ xD|8ȭO0,LJ}nC%iU`<soV\IlIaغ:R!^2U#K=i2!ʭ" :Fu]lbq=[i)^2wH{YJwSit_ܪ@8.znO(a0NmTeZ7iEpylb:E;=Uh[O 6v' /63w| `j{V |//6ݪ l=n/87`>.Ϩ+5]C2|xE^W7p*j&`Ԃq|m5 &i}*ōqu:g)9+SNˇg.+ r+h>W.:^u4I_[WX7#m [!45W2Ox/ֱ)WOvjo$[UwZ.nEެ.\}~P7Y-a58gΪ$w^ywuy.Qd^ofW)%ĪD^T[5*?ޣ=),6?cvţ+z_J4C5;#gƗiRj2ma/0;`4wuX/. (ChD=Hwrκ"])pnvֶyE(kZ!^-ͦ&}9 fs+|_m]udo)Qvh5 믫(ӌt{">@EU!:Z^n@//ʖF[Υ%y[LDLRgՕ7It| RSabnLނKj eظŃ1F>^oN@lՄy-eXEICUw /G _Fщ: WSSAoeIyE bl/WڧZM有*be!A U7g'WQ?aOJR;[<N& -eb_ZW7˟e<-t̓L%!m44%}mJP}kZkY|iG8l?bSkل w>&UcmPb|B@%M 9^-`uW˼ <.+1Idb?PL^l>i5kN2fy/tg4sRq5\֫60UDvprLQpRJ6I|䌠zOd#^IY㇎7Ez%h;ih Q:˒8F)I&$(\Jc蝎 hcdCO# #\<ߝ /-PRƞ{[pP|[.8-s9.kܕs&Uk=}?v3Oªm ΅[XW %IB՚-ə_ISח2AQ_ {zTvks= utȟr,g83B>i% qxڕNrV )?lY}j~gąOݓN/X.{.Jo8*pk(Σi\nÝBnR߁m`.l 03m8iM@;f+#'P"jh- ` 6r#LǜjE([Hrޭə_Fʰ6kő$ X,$α 4w׎,A;ORizX5=tl `-@LSY8S1|I)wNj1l ZAl<hzuPk\7$Ua'GB_PpqF`#~39"PHA-v׿B@a/F@ P?] 4Gj2P+ezFuPw'k$xvm#迤cѐ}z`XA &+w?WQμUqnC6pl;+.阝Q&[B8v@7UP4}Zɲ( /طff12# :f$r7 GMO&h1_m+`1cGM 弟 s_T8g-ϭcsC4#Ukg7WQ`Ӌ2/L'bAޜVaA-D̀f͒VܗJV} /gHX`@ 0|}ZcMFawZe^Na<}Ezhk5k @GU86?~ ڰiA5SFkֹTBu폼Ԝף`\WOik^+b!XxWGh2l#ȣI>u~kマZxFeiRppqm<j ੃^C<73:Z][<9;}!a݊.6W&qChMݓJSR+Ie3`q*[\{KR>]UqqF@ gh| lM)F3[ 6N1_i6l<4Ɯᜣ < }Z94z5ʤJoCV6|I6)H7x\Qji*߹ƫyh~|-fuZ$wҗ@1h51vGH݁^+(];VKo> {(@SðBh83GT^ipQW<%$4[?:M=PJ=7$Fƿ]qpb`n O2Ui+b/\Drѥ[iLp95;Y׎YƜ#Np /9hloyRCS&6pS0[{k7!L$d]ލ' EɜN&9Sa<cYטR T3q.9;էCH}wN.?T)oLF1NTD\e\#e*o~;ewI tw.T03>Dž  @v&LM2:cG`݄h]$^1N#wߠC9eY9M%=T&N4CvbDw$\yɢ}A}VgTk1j@Hv{. ݕN{{|w2e6tTzxm0I^CK@!|e\pˡ@.B]ÅJ&w[6sh.ʦk،YV)&Σ;ᨿb cm,]&E:8v֨o `>vX/7ңkju @Hv@~J3Jn E1 Q<8~Hi n%ג aMx#*4u n7P|%9p@H/npb $xl4]}!<%}{,vHuNC7K%Q*WG'Ig[m9Q a~ܷBe˯lr59vATPXG#ɱq/t|(kr~.#G@{2(h2:gϹz k J"JL;M#@)]߁\Q`] J cWyR@˸X=D#]݁jMWj $+9' 8:WhP'IqMI9>Jn^\Jz.WuPzP,`j So$MT?z[56pI:eC`:ى"/ryJEkV3{TC>-3$ L;U;E&_މaLhI `@Rd}ZxvFfB]jT릳Նb ]bz h t'/S]Iam/ #iT7 f2ԆV;N"qŲX.^abQF )+HCdq -K~Qbc=:jqd>[>PRٖul]r#I,8|"rOKH}6D]$H)+f$m7p] J]{֠\Cŗ7PK4Ηنn N\!@!;' BwDI?9I;ل@0rkw*ˣ ''s( %KBKyT@} q<z*Ul e%ݵ1jagi pӽ` d[$@zƳF]ݷEeICəGQ\ZŖ vg}j:aO4\UsaBK5xN,CĮ_|7W" }>=޵bH'<< z1MX.jI@C?R(-v\; ^ZK0u&|3*Y:YI*OrPޒ8o GO yL KcEv Kݺ6 B "=~UV׊xJ٬TZqoRPBrBALN9^͜ĄVnS-~4=B(A~6+/0&~Y>em_LaN"R@hk#[7qK|T` [9°UMǑ\ |ߕH8{@ ߫*a{JӖ|--"oѼQ-d$K ٞO Ci06GIGBtd7Ȑ mrBQ(P1:>QvF?)&K!XBT-jLgY9jFH/!H2SGTezOnke[H\CFq@xGLo?Đ%hI|et-b{O6좾o8]ꓖ7dbn !˲ʤ1|>Az*DzS6zHzrםVi*LĖd!K2st.ϟXD?ծ8_ec]HʢYhǻazoE+do !rj˝$$J=sP "FK?U1:3 ׇDWƔxfםs41O=pʻ |Fj euzG1O5/M^6{\6 ܵSWT7z7I~ 8z}S ,O*t ̄c"PLT肿8@(MK!,H'ӂJ~,!? ݸhTIӛ,87ĮP F"Т1Б|(`ї20L)!1”I (ӽ8Qڭ& U2 H.U$<j8Ǘ0"y,9v+L~iR}:m]JP}kI9d|חľc]8PSD?m7Kk]@Ζޣn7r=cFN?L%:OSVHLu|.f(ylTĜ9WjpeGѪNU"CF%_A2< GH9M\rg¿^X?0gDIˠhmZv m0w9]+ƉV6 SnVzOh^T,xҕ n|u8 <oFG׼o¯6sP m|.[UlS^[w*{ke &B3%;c%ߡ|&m,ު.o8g ?(;Uʸ5hbHv&'EH}Ovf:u99f䨼YWu~@NKdr9,݁US?hÀTju2 Fv,I @aJzLVw7-Kjʧzc9=rB"Kc.ҍ?Uſ^!nz}NK9íOm۾Upm:(<<%j+K$3Y@b{{h͇~~yhJAjnlzMlA.ĤJϰ8@֡:5!줊h R-Ghd5el=;zԝU#C"~<$.bG%hr{ %X꿰ֻP\OMf2)M|e;^=2Nz ͉Q*~P?s)XU2-ךvL~Ti@jF 9BA):!{j3y׸TkV%}Wݞ'qA0%6(lvUƮ|1hZxK2wHĺ>=fB8QY> Q `#Idw z)4q5jAa{GJة_9a!(B ʆdB >,rIm X|iwBǬ*K3=%pKg6YweLHqMW5~VY4i ك2Gh!og?pSiL` |A )!& MT.}ZO;y+O\4DU, +b3SK ~v&5|l Ǖ+r귲OB,{R4v+b$V}~2U{H(WDt{޷c+nYIƤv<]O ?8Z e>fLw,]8Y?5m)>d0gQܭjbj A~H esXkb5O #Aorplҩ 휂5)Y_wċT(Ɇ=}2?[%v$I۷ b~َ}[m/i0ƈ81=#d'Tƥ <DӴpHxyj]%\3\Ip?T f $vtl-MeI+oAu7[R|4!?%| @ys;]45E״qvӐaKTt#Ep7VՕ>;{]9=J} ٪V"Pe_K #z4v͓FL$ l$M!pYwq q)-#Xjn Be/ilЫ6[gp@b`MNQtfڴ1:HY(^;VxA nm@+C(àIQU{SN}Jkexʪꬹ&iS7C*VlKW\@Ֆ#WpewB^'09P~HܵbӧYV5P&D)g)mɍ((!N;. ږ[̀tQA5kvsmǨ:g; h׭^m* ;gܾ')(}VF5 GmNHUQ4P@ -0*zs>K:?3Y i/I/Z,#"椻qlW7l,;h1g%tk%ʅ<.q%ϮzM$xtX{bho_Ӵ}1G垾=1aa:cyCgڑw+Ou+sԢޥ^^|l'] 漅\A|Wv"W vqrQ^Vm"+G P½J [p/ :iq7xtɀCHw ]LSơ8\ ^z@^?; ^{V˥56|1[t]YyM%֦Z,!V)yg靽q|.q Wh؞v ̣nǭX8H4fQe0%#ͩce5l>6Z<YLHt]abۻ\Zf ?XiֵڔT۲lcrB5~ov˗]C(Od$4MJԸv &;},hI^RyX# TEO?cd3.~CvfHn?  lW#.@b)X !VYmɛo͓%s>? 9F|,cToKm^o˭ꎝJW9E196Fq߃J]_R!tWzۢB0G,%O<8bDɐ{K@SX 5$8S^_ש),^FSc1דi=s$O#XSn/-$jh&ڊ.ѥ߆뇢dDHQ"RNd3~GoTQL {ז W-IZ%';ǒ7_K=%&xe}KؿHho(ZMN;\f37" =qq]AN&/IET S LԲ%Q]+Ew bvoɪd`^XJ[.LIJ3ѤAK;F6[G'*eG~?-<X;rYƈ#TKdž&c7⍹g/z +]VİyWI: v]G{hh XBhUZM6|F%wb`?[E. r+ȦQ&$:-ߩ|G6\/Ě<yu[ڙ-~ buH%ȳ .=HgF"`+er%/ xĽG玍8z1FYQ ־3C}82iA+iǀ_^` 2R ؾ}ĭgK䶷ofy3Gyl{x :+0g?@~U'(4@U3s9lDzfmȖȽ^LQfSy08}r3Rdj @"%94vmORۤHr ț-PAI^.C8ȉO<[xݢyವ5l#2~PnWŹ> 4M* p}Pj/h c bvrA{؛ ]1Zj&>o=sP17Oʻ;ק so rY{XX76*,6cAMC.x9bϾEd d<dU75H}O ]t-.ϙMEv؄^O㽣=f+=*PC'cjaP|c'63j|0"=3d|0͎lqW%nksXҎ<Ȣ\ؐA0 yZ/ 1 X݊x{fs8F6+|]O$c֬$4$̷ʌat'Z)(a]ø0Mcg-u>.Ks}U]uwc5՜h JZѥf?6ˁl$}x`wC>n$N#"sX_BA$V$`K $Ӊ|rkx16/pC+DT @!̃FPk&@hUSz1.(&ؘ6a`L{[Ie*?zo5al[gYȁmfq_7pAG7p|'% ൳T[Q BrBQxZH/::_6'iΘ>pI垝tI:n2!ÕE@q/Zff{at 1`PUO(/Ƀ( _M_1& >kʉ;¢'<-6K!fu9xq\C;½QjX ZXG,lA3@0nA;Dt6L>X/`vZtzs/Mw`"j/1c|0vTGϔ%>/m̧ij2Iك?BIcjnuL\n/ Iz `Ja L)^IG~J-֝Sb׼1l~4@JO\mY Tof1J4䮗b^sv&߯G\52vWUj&p~3ET)nF{ӝ[ypmFvXn/ik'x q187{o9%k2cҳL-& qFJ;,i: CLe3,kǸݕZ~%1'+H.iV*i0'? SMQәf)n2$[iKO aص?3O Eށ-uخ\XE!I%Dغtr RQ*>0\q~m{IO1^]ݍv!+#(*B]9~}`-렴#P/2[txՊN%n.v1*AKY>^SbEja4LJŎ[N]yrn6/`l< ҙ{$ >K yYw…Z(iKaH˹kemZܠ_&̊c~j˻|TNww<ڽp.+R5Ҳœ)85Q_^"Αe ~'PYr}zc B3QLEF` |h.US )rTO6.UUГƬ0*؝З/I㫫E~5)lV^fSaF'-2[{/n 52_ۈQ+ۨ z?kij)<6cl!S̆(`hCxaDm̉a'Ï\qq$Phxw~,NKi6iڮDUS'TLUHQ>]-ci=΋ ie }zWr>0藒Ԇp:;{XPyuO u|/XӤJ'E{~ !#B^&yc9  QCwTk|6V*ocȍ'~E iuЀsCA^sa*_N4C*\UX/?y= cRFj,fd'6:-=`5nj|#faacCy2loB#G{D^=Ɍ0 N7`ҙN>F#VcM1 Z]<ɔw| Z~KCx;JA#t{tāG5`|3pA)?^ g{ iDJanR%y5Jm8bz[Xi/jt{a@&}a_+?WGd2`2*nj^zN8 >/])C!1uܐ^ fF.F{ ١^8O mg kI9wܕhLǵ%Hz:wUTH/>U OTh=SMRfjsf~'5{9o9g^Qg_[̈́Ydjkzqb}] չH{ݑ,|ЌEnTL^Tii@Nړ'I;f|aOH;z4&G _2g/j"De׮f՛k0A$(RC> Gj(5j培(=,:Rx$)yoM,_%EHT%Ž{cv5;Ƹ} R!vҫ ٿi"$s.kԎ>Wm}p(pjQt!' ?".C YfqKR.&5* 53ߗ6a b#I+^>&)66dTd45@^::.eDVG zStLQq|9 bTnC%r~P@c4sq#BwH J ҏg70g-*i wfĶ7o5@A[OkMqan^؇ф}l37qt3׷pODylM_}C꛸ɟɹݚGH/74W%XSZu*W4ٹ ]r A3SZޚA2WMRG٬OTfgõ7(X=0*8b~mM>X?Jƕ+iqy*:p} %s;=VbDA:ys`<ڗ/ 6]]7^Ik{ kY{jmoWra]谡ZN ֮t'A qvx sC֐N4a$:;5E)})ޟagB &pLܹÐ-Ă²Ouq/MMe shȵ,Nٞ|hh$\Tե3Ng(l--ʛd~1Jb%Ǽ:G [j޵V"$w>k܉ɽ NԘEL"J=/EvDh`?`WOU` ITi Qi}-$]gBD,M>(a?R]ܠAHxXpíBt'ߍ|kwMAsE5Wg {} {l#]Б}[6 lNwh5o쒞d\Fk拏gUjcGkI;mN/GMOf*i-&2挱?q:5x+G8j]GXt&l 7CU/QH䕔uᠳHJ$q~?%Ԯ,7}McKxRtj09 dži#B9͓q33sl^¯N | ;Ǻt.p bsS΋W 3t{bE;z?Rk7Ga&Un T챚IBsőjkY7M޿Hbl+5FcP Tk麚cӶnadvnfy%`F:0#FqWPB͢,>0t[fZ=ՊǸpݸJDed4gu.)VL?^&jslǗ/\X)͓xUEI ,x$ ǜ?$hxwA?d_]#:04ꇭ0ٚGi q?˃/h#"mԸ:nDI+$,nmbQ¡F`4-vl5vZ!qKy9PA!H%E;)n/#en|~`\3U0uzz3Gz0|Kb$j G6C!T(:S.x\-7&^<hɡ2#9(4(O[&-Md6VOr=Y去̀i.Ӣu)9?" P;Bɻ*8d摟E?0:E5E^/Q+uT{]87gymH^1v>&l0+ǯc*o,7DMr$К̈ts l\:2|e=U v}C ƒRh A=цgyXt2k54Һ? |퍨{߭[gHSlB1i;ߙlc[ >_NR8e&LcOV .)H" qj mPW< D:o(sk8/@8 uI:wNORI5kRVy1.Ϥ3<̅X}ν- k/ŎR5XBr+j ՁV?`)dv60aָx5ES.*)ڂ푛_4kZ:VL۔CaxiƋH &_ f6R 9"9ĘVA:4}b5$6İ̑|Lǹ{gk.w A=b_,xtkzꟖMZ.3& nՈ(Cf@}?t. tP^F#;ͥN{lHLjQk2 k0c= 8=`VqmOz8s+IzTtR'u`UoРB7C' _8p;q]Vi:.ÙdXT|7yraʶeܫ;K@WnݱWAv臁h9Нs|qUUgu[,IJcJws/ $ZfzUvuY46A ZN/qcTSj"4Fj}I[XTՍU(a4B=架`G J^_\jӁ#@242SCˤ!@4.B]su ])^WۨڡURğ%P~J/d'nJ&}+ʵBJ0M`Ud aͪ h.b:*[ U=cA:3bp܏'`} l>+n.0b[uAӋT~m \/4ihQ'Q^mi!%2(D>*+WgUv?L7ޮ%DKȡY{*1BטǶq!x.G|L=s p#h^>*_" Jp:#+A( WΑwG'rrb% @@֕R J[:O6[rV )4*{pqW%=2S%K(myJ-R_+e"<1ŋEِ޺F=\qn"|3 B ޚ2l׮dO#: srimnhD}F ȋ׌]#)S5C{J~3 it}Y~pS?Aew5^ uh"Dk\rP2V쉆/&pC dUgbbsC1:hf$%Y%80@Ł]Ey{ߥ9ZrV faUnesp'X=2BO+MİA0kp?Gh/feɭ YMgFt,ϐ Q(y됤nfr8|Ձ0ρ9B1\'WٮOkD Έ=k}Cq--&,ZT EFCvtiǠ붭G%FسB`jK%_<Ĵ&B[fI2Xщ&o >k4Q˰ھk&X7ۄkE9xy?DyCZ'%`Ŵ-VIE hS[R 曪#e$&gǁw@ nr A81Of%+Oclj6 b>#_P.OT0~wv& 碠EͶ{R u"QHYsQ ljq-&G~&YߖTc7\796MVH)΍^n%LUoWٷ`b zsHIB |t#ŁVu2z!9^2*m-9)) AxDq5qVF~(Ҙ'Ѭ 4} Ĕh|۞V#̠Xf"9nOE :s-̀a[9bn,$AU Ir[:zSha/Y E/q xkIV:=-My1*(٫`xi4Or6Вg9[C#H-q!JUr.˟ V<8I9Ɗ1ƨvi?E/듳'F< pVX8 #vu?A~.E/}Wh_֗bA4_~*nţ?\RY4s\4*K0R G:Ne'㢩#w?T m HSeTaYDI,X' w} &1uG5Ӛt H*:49U2QhiP7T-bY2%?3h,e`B eΏ ^ ~L~1YuDE3I0n[=a[s܄qfN  ! 8uZ"wqg4SQt4^}q+cmlt*v+F~!|uL#RrI.fW܄Zz>=&0&iH&8\AoKK~hS7ʆ=B%`59ͷ@ ap)?cPrc4sa^OQR}P}ymaWvK}bk}M=(X@-HS^hMپ9"6mSpN [/ Z_:U.pTc^K%7&BYWbYί)빌%$pɏuJ,*fQq_!l `biYyt/HbאOR^VZAd12FDM1(%O&&[Us&wi1eq&x62VPil]ia<D`:"pI0|W7P8Lo]]Lz!ɥfz%"(fNb5י&Xat|lОu=V~/D6>֯!u-;QC_iL"/x`QKRO|/->fH.N~UHi%;nrI!ۛP)ȀrpYDV%V|xrQPBvOJ5.j{`*8]Zw8z^4b_Fvѕ,Ly.j!Vӻm/CgBElq͵.H\+VA{HlK٫檍L 9y~+\;8LIB;лQf $P²ya?2>lJYQ4;.d:Y~$|_ %&f).ZeL[В8A)]PDU3 f0Iݔ p&(Wܑgr$/ZZKEt?$I 9` ۮj=}#/q!Jp`#֏x#hp~ =_ޖIXp)㒩H_nycunX5a/lz\帩T]'\=˻!U#._ D5a0EL^#|VZVSѽ}QA+-/S]s)dP @p&k:!9Y"J>*Lt$\"j Ixv%),T\ρU,vu+ᒲdEb{# b9:v[K9ICUTOK5ƒyHcoQr7TYliM+v0 |am)em}E8>XD- *Gp)݆S.!{.8]_yS!keXW|^~EMIQ—ҥhkGJǸoY.~('wD4 Z%d 첲}2Z}),)!jU;hX(7!]D-22c1^E tԙZ+D=ϜJPN~"U˼2;) -IG Vppk,Pbɭ_TEGM@ ~dg?a?%C%P k R4jwfU.8W{ -2 uc[y&EC[ZVLV4 ws.0%ud0v}p}!%\i?smWH\^T6ñCԝ>iqrC"I n')^$b-*-]9&rN~gKb!4CVF>,kN$z5`8K>2n?+jD=>M/S_q튖|}iK< H|Q4`MɌEE^)Rd$mi5Q,Gu$i(^D+H r3|Wҩ, pl.V2B2( z~%:X5,OA S? \I 7@tU瑏V7nD}@l-j5e)̳]cruݣim.`gcY*>[YޝAHvC 55@h,9mRb*DTG J$iGP1] W HE]rS:Œ4LuP y"h-ix]{tÓU 0^BwwdGË>0b*ӋEf%/j"{Q!v?p5n CEFӫw R9s$*'l U@&E̵-aDj%>u0Ǖ.=)׉1b}[Qa AP+Em"`/ <ӕ/5Myiurge|[~5FxmqgoYK}0P04AyY!U8 ]qb*GSu ":9?%Mm߄ t.~03 T1 Im~INtsafb[N *EٌtKxGۯ\H#z<9<>IuԃTg็R+0x)w)09&H\;G~S HK4Xډ?GRɂ4uƐGm/'yG燶:qV+h93."O0WP]6z u)r;4":}:L>RzoE.;bbiCuSLBs2#=|T90 6NIJJql$ }2 }Afx=V;JB;Y-蓩d*:I8r ۶B,:N#ԇN.Jy'PLԜU* <$fQ"UɇH5M]rFKyc g'Ky)7R>&BM^&Ǐ*+Gm,]&xK'!m.F"R֒C*cjTZ$0+S<tLU*0@Q):$Qa4LBnnOC3U0Foy@3>N|.4Pipw:N%c Zȅf^X-.һ2n[\bLqJR]+SIne`Fi,TdͭcԬ>T]mlr Ց/dUP,sz${b>vU, 7R~H]m\ 0x5{ǢMQ%.f*(B3[\|KsR/$D CC42Sb q{k.)c4+mmEnqL^ɼw~lЗ&THJUb/DkMQ=;&Iiu.@HM#πXdҒLN?ay#bn1[EG˘!n0oeA;Oxno8*NaNB_bLCX tLXt0J@ /?ubN03/FܗaJ+p* p9hIH*Dܶ†:?\'LP,R\ df:Q*k(ݷz%0Zx#L]l)q4n49 t&;!/>S&e/㴾 VI( 6.H fB7#ؠ0*\9LKyZ-L#墱=*#mW%&#D#^ckv<@P4O$(j9k$5'|T҉ )AJMf=1v% t&gb==I%B}2EHT,6y_omm <6 &v@ju3HA2̺8ߐ7U'_.fn fc(o=(>L]&Vc{H\٘`:{,m׻B%ZD̘!LDDvb!)a ǢDEDXẐ"!mpkq3LZ7ڴwk̏gS C$m}HdVf#3nՃ,pSO+=l3q!~=:}ӕ|勽\.PlW݀fȑjӏoքR x˧ <#ܥJ^ K,2*LJr:PU5^T5T\p Ik}r,)ac q-qϠ8IK轹!g'Iw*(Tp )?Esռ?YpOIw|>Ϙ*ri eg, `J9\Q*w--}Jfs9Ktc0;a]a UގK(f|FUu|MS ߄oGN BTe%4KS#%Ĵ V}Lž&$y2u_;] MCx@DopT}鷎ǂ@@)xTdۢ`#r&pzPTЖ-iJEpQhҕ[=4 0l3QtpX $ E}:cF; ^S(Tq l?PC 5))_=~ډhd7s܁]W6'A=;_XݿlD rggvL+ύc5rZbO,ch~L]*W{YNu=e̞ Ww iщPJȏlvUO~*4߶ uy$ pHȤ#2)''Gi|CzXCEՙ!;FeH<%^Do YHz':OѢ7sm>8 Aq0f@CN>d $Ӝr0| x?m&#wUL9PѾ6r;Y+''N.FBj@_r;_T9m àԈ̩ӥ^Rf {`qYVI:#}=o~vE@_8EI^CFrL~P$k5@EX ΛAR'ChBo.)>I'GOqApR#6%JYQB;):Qtّ> v|_?~ 5яV+nB=!;TzTƣtw5j:J:MBd 05„ut&֛ɏOY[:ĥ9V'}J "Ǔ Z<3ǟ<)xّ2~d+{ +o):X~zM*Y;Q]H.u:sXp Na')Á?Fms 9MKƒt]ntggԱ urep|# s923í{n~#}j ^Œtcn|6ߨ%>4#CnJ7f3ɖG^ L$AwSz1Z~S]2*U`={޶RAxo&`YhyJYsRȁۣ6{Yѣy&Ķj d[Y­䒌>j&mQ;>NIm-jUFTKFǤ%PDp .Fr\~v3y?3ι>}gw.=$By;;B}G='+3I`#HȀhd0c<>l~~d2s>  RD(ŰQwt_B>&v}ȦY~AS].d=&/V{#!IKq1Kkxb%W{ȗ v|U)TLG Y_!ec˨yX-j5rLgز u-`eLJa>!1ٓN@0 = f4Vc6N _*ae ]q>)l ` (BA,N >Vw!$#Jŧ(}цU&85"2V Wi|&Vc=H>o .vO?=\یH}[@ok='?|Y+NXGug޲cq=|AAK8ḃC@9+*B.wa0eS`0}Q?g oҁ̽5+ c2 C5X&ę8}>'C ]э堎ɇT_zg`?G`!Zٖ9l:xgz;k;[]qµqdmB0 h#[0 ~BV!Vn.`v\VO_ NU MMrT4UDӣ1 Uu(J[á,4meLF3[ P#ߎ˦YW01`MaG*R'9qjRxR_0eRN ?ًMO;mǖFuNj5˾u`"b0ˣgZՓ'vW$F{bvf'Z/_)eDIFC5wV9b`=g*m5urzPg6$QpeJ\e_/ b2PԒ/ k>IYXD$h^a/SKqk``-[hM҉4S`bglhzcIK .˶#xb zcٗJ);$塶 n!Hz3l 򰗩Q^t3_>KRB  <M׼8'J+l(*bI%st]L{E쬩f@^#)B{6⃢kcsF-{^lzMhmK ~mSN8_lpZC$`rq\dňǝb.TU0[Ba)˧K?/]JwtXyEtl$`l-]~Q-1 {W [R0|ۥGr%v]Rc!<SYz&潛Wҋ˨!h])-`= 9iߡ#.P1UZʳRsoC0/KW5' gX0Nuj3^*j8l N[.:#:hr}g}.6[>8 -P QY>D fi8 ol^CU _YRvq0UAU8XNl8 ً ˦ 35>)ȫ?O@-#ÉN%0#>=[TC Xdri1*gprj:)N}UtU#gP*3#lޢ,='.װhz(!2&]/oV74⻲!-+-:]5"= ˢ' #fW&# q7r ̜Yq^|c-'Lkx^2EZ` Y?*3)=ږwzma=O `" Ňy q ʃW ?9XH hN(j\ub)VlI r1E["gxڅ6k2Kqk3ONoýam^n!)ⶵnf#L/ j{ Gs|N^n[匉Kl| kfA0>Eać7~?./eFoQyYf1na okLD\`.[{[y߿q6' Nݥ8B5g\˕Ol+Wp[m|`ESfҜmlfnm}4$Cs&-E5/r߫M&;(AtG\kOdĈZ mפlN7^xpe07.kέA`x}א=K A2.˄rTrn=/nuGRqY5a`z6_cYY᪅Xt>a, DW|Uή}_ @; %g۸8x17S !rP !Td5 xMlҫك:N d-tyo`P$O ̎a2cr›̲-lxsWouKS# z8ӄy#VO˚qK홙[6LOAzva?$:co$G򼿛 <3oƛbAVΉ|^{Ñ p]p|+~V q:qϒm7f$D: N2V. Z~ b7E/%z˭|j` H:j1YBdznǚXwH 'J΅p~!r,!$:$FZ+ GwϞJK8*)wp`f/{/̦9ְw`m[[A~2RN`zKIBݺ*Pm]jeB3tNO6=-`ܯ[P>]:ogy2='ǙQ;AP,C*Uќf3m668k>)^"c 0FJ{C2!5nc0Jun,H\8 {]̌n{\ZǕ{!C/v+= vS!Ze-'#]AR}Ԗ lS-i-vzej@ߓ`8 @8՗rgckL_%N /Yrb-P@߷Xac|̍d G3`OD"ZB-IY('΁M>D6Hb%bcw[醍a0Iu=GW >hb! !,] <χi)}{r :=6.k \*t+R^Rur^R> '&zɫyWV1. ‹2(3У5Lt9ܸƞX?y6adQTpi~_K:gWdFj͂ i L*N1>私w^a^R*l1EzJ50w!U?r]fQG`Xbn `V|ufF.[jm[w &b?ϒ8R<~G4ʡҊ9/68=?%M js0Pit\" nCR&Y'/][s9>P`k7QU7f V!X6bEW9v#Jh{WscƔUʽ1Ġm~ŧΦWiSR ',9Ӷr3 ZjLEx~\*P':yZn}?%PJ9ݍPV?@˻߻ ^0[/ܯp$CfEpAޅ%4UO|`b gX ja-٨$b70tѩ8R0B1) Ӥ>=;x||q륈ْw5kNEn)*mK֒ntyѣJ~ \t902k$"%W~v@m˝e T^ ^^|¢/v%qpdMzEVEa_' ++[A uN@= kYa ZWآ=LciOj0\$8]ã.͍aNS^utiAvV *ӣO3P<ԤK~3YgI ُء* Vc[*f*Y& ӯ&k^t> D<= cfs-ؓヲlE")r g`hp'֝x?X~ %xMEMN8{p |5{C5a{RPr[Qg #fQFӈg+`OM` %y-˜jHSc8+#Eםr#OW>÷.X6EkS?-MB^+Da ʋ[ʲP`4ф=kׁR?LHO~b UrO^@1H>s{QATk cu!)~F agKˮ>~i6B^^iUF -}{3^,bg՝DoHY|ۍx9["% ׭fsJK01 d~@%&6T_sLlA[UT`,q=OX2Up5*6-X}OG=G]m zv<'ɁM& kɶp/ѦQ]sJR>K,i*-1㢡MA:Qv:,v !ϔVߣmx\c >)O*|,$XE!5qpm:iRT h#~S |oJvnDGG+>j0`6(Ŭͥ A\e{m y]h51w#Quz`ia^ P%SWaQaTRv} c]Bi)bhqbXߺs>?J@#XQ=X9Z7$|nM9AKh!1Ffϡ]|5 coHkZOZQZRO \vpfl\U 3!њ|^X IAh cu!긑|갳=,ب#y0Hةw 7V@o*`˟Xt"eA@;{!T :4t ԊB#Rg n f)*ߴT%<-ɿ_AQV}1?K'fXmB6XKy"PJM`t-͓2VUK>#:Cw[h<9&Qq4yv bEkn R2v7㔆P 9C&L->?m-~=fd#I$0AJ mءElc ^(qsJ% ̳TOCUt|&2~qRU EϢ`9Ntg9óm>a]3z'UK'y)-ͣe XQxcՇuWNqYէDciAij7-z\I߃{cҕårן!8 s|t"]g]jY([8 Yv({R'BCh%k勑D)Tvʢw^(8=0z ^n vhQ0Ou?}eWs g;`X ‹YU pR௾-6h ~*NR!P`|ok}(|BxA &){S('܄Tx£0gb0 d P fVhDג'w1=t/-亮5$?O0uq;gdqٔ_d7_uR/cq| ʺYC՟%̇\W)gʎMG?2SkHļ/ecnƄjY43X z-[^7kk֐l!I`t Vw ;X͘  cs zs=<a(֏u_ݿbK~AG/ڻ?!3*-[x\rgnl:h₣anKvZq9<,u=.3Znnfr|wbN_{ Syg%2k+Y~maߍ־f&?6a1 eӯg(hn[}ETe|9Ssl8flwEC~GX1ʦf!>pղ=ԕtМ6p 嚬 Cmhڳ'`9uskGd=>LJ9/cv`p61|gY^vsЯFLeiy_m<;x=ӟ 9=y_}|>Ç 4DW9ST@7]kʾG)?m+UMm~S9 g;v5Ĝll{É{ۋW1{r9&lZv!?V{Ǻh"wUDۦ9ٗ;H+8W*5e!%:a Cܧsϋۈ1 wZ<"]LB;|l;k󱍠vNl5jNnT_LǾ/J7{+.!3'Z_^+9mp90w uW7)"ɴ{IǸz^E#Rb۞d/6!fZP'ބϱ9@ܳlSݸ4w\)j;s;eX<{!YKdl R_!p6wAu7֮G9e|^-po7g^v6MM;ۘD w˘vvtZޫdy'>j^om#03A~ۚ/gc|pOţh uũohqsw] zkyz:Ng8r6s,Ψ+uH3\Y?xA^rLOs/N 9Qiwa;}Ό\qfE֩Q9>q l\haf5'3ǡwnv9هbcDXu᯾áC6< :`O Z4XfƂv+'H 'N1#:q2q0I6,vxA'ckpn:vZjl-}2^Ñ? GYTuDR"u6 q%Xޡs_;|/c`*$bA< - p8`҄*fZ0 j6(04!*x۠t(=2a+ hVM6XDFq:PS*6^IГ3!Ȃ !QtNXd$S#N;۔*iܭoM.FMm k7Mƚl;2a2@쾌ΆV7q (6B7Az]&;K=1Sh6wLGpɁ4t9MسpwX:{Қ6GX"솠7x!jK,+9slȽR%DdBDamJ EQ]يK$}L%&چPq5bԄjR(Ӑ??Jd٢dMFMpc&  }( u& +Q:f¢^yh$$$DeZy%UF9G&ٸ6GMI UXS{1 6H@H-J" e]  (T6MB0FBKljMt+ڻ'ч8٭] Wf[As4N el$Ch gLdሢfg#1RnRx7ifYrB/;!$75DnOwM#IN %s9ŧ'ʹR;߹_;[('Y-E.l#@ߐ$-O"&NLO;#٘3`.ȚMCs/ѿ7MGOӆ8C:CbB 5a1LZ[~Sp#Lpa&1H E o(~T41\"ɆRF=dny6GLP굠2"2i&C MMtV@do u=s(wMR hFK*yzo%QWP6پvK2Ψ'M(vSI2۩]Rn_tShKj Bpj_im^8&mH^Q'CdP%h8pTM{t<+x }%_e x,( Cmh..@QVM(wHzxzADD(n7),iۡسosr=TJAEkM6SӲlyj,oGɢ,%qWe͖ : "sK.iv}r0loJNA "4 ,Oz.Ts(6dcǜ lMX*W 8iBaUoh)=Uu@q"!G0oKcj=9wF-%S` a11ԥLѤe 3@P {]B nBj8!k9a( N'na  4\4l t.@ #vw^l %_'AD 3 ޠszN?# Cp'ϡ_od_F gN(B=\܅@*0UP: @jxcx':Ḋ6.%4!.".8.E4 \/:-qѸ\.@e /%E2B=WZD7Y ewCTWh{bfȵ] څ.1SWYKMdFSwFڅcDG+w)#\`1f /L /IoxvhUt/ap٤.'҅պp-OҥպvIZ]E-.iiL/ܻF4j4. 0ۊKc\~.xYSV% ýQqY).tEoGV葼0 vd=_GϽl"cw Tt+Ր7K4DXַx ,sD-~).OYĝw #*#F׍@[U qˢ{R.vp )C4Qn`ɪ槝Wڟ {5r#xo}7hKCcoޙe6+XQMb(=7,//Lvt'(ò}!=lٗ][rNC#ֽժyLMa?SKm;Ov;^^45#/5B>_/SB-}'o w=m0:Ak3Ywk6mX=e%نϲvƺ/c۵h9 ߩv]W7obow(+*X`-ÈT_vv@@6?5?gc"*(`d>=U84 zsd=$tg^EqyL$Fn`3WO-2J_޷{;sq yDa (%q Db Q?c=Y)U7!&) @u Er1>E.}׏{.v{ ~_$g53pGDepg,qT.s)mP(Ae_'ᐅdlxhըDaǰ[JtjM*Vu/t,9,u4eyT} i)`)Ң|޲dR;4mL f ›X Qg%YY@[tQU55ȑYY.jV@x>TQcc聂=L^B^!ޑ.h.jkNoYhYjq@ttl[ VX3 l4]j5F %jR hhzN\GO/_X@n0 oKL< @Xh05b@nb WZaXjCBdW* ns'UiS*]@s84My 蘓iQ$';EϟxE:R Z(z8fRji|W-LHLdڎ(ɼ[<~jpg X t1l3\}Z<^ , Xngeˀ2Ѥ4˦K=&rU8G"|VHzlet'UAň۰2"PcEA;1 a6;! _ |/"@܈A\ @h-0ʀ1 BB-Z @`W,@+^V D@1L@ "xJ(@1 P <'b@@QQ:dL D@x ρ͡NH ā:F @w_ɂe2;H8ܹWfʸ^[)Wv)DZuyiT1׆##'1e %Ya/>%&IG[Ώ).o0/lLf31gH-rme[ - j͜U339ʥ~3 ۅvS #v_wgnrWyWN#͆r=薫F4aܵ1f_m\_+6Η7t41,\I yǤ6vJ|_WNea?}0/{*vΰybl,;,:q lmfhacyvo'q5^VvWD GvyN{Y lֽҪlҸZVz.KzL6li:̚JƊ5.ZxvkxתÒ|9]XKJJ5[W`]Ǹ|9v~s<{]iIJV\Fʿ`;àII IZlV(щI9=ywܓ X9{wK=BkD$68M$wp| 5Jy.,he,ĻZbNdgUNbVFy9{G/ͅW91MY6OߨQo}S(F7fU\obEmyZd؂ v͵Ă Rv-S/cfkb65ns:lZoq`d}[^r]:Ÿl\6bey.rugѭ,;7ϣ@ Z*ccll,zOB̉?6'3%'gr0YdkwN:'囨fHFAokK\lĶڮBQf(;2?RG%SPu0P#Q{{9+Y +.+{B}8˰dA2.:-tf6-,B>?c1.. t,Ĕ$G> )p97{c<;W6 ]B%0_z&ƥ/2gvčn/`Vl%+GhIW<^,fd,ݭY ڣsh ߼]Vlm:ᝧ'jggI$+mXlV [;vQO:с#mb8ѭ[AlQ憌K?z蔔6}4(4+,& AWgGVW!gwvwO@۔.SeZ A(`֖yԈwzr& Ѱ[A}P'_$dJ;^EIYwL:e{_ AMlx IZPH@lv\@T̀LF, goLUiV"rRPKDY&M޽!wІ}<3dk¦'J>4Q)+@V8Г֧;a-\LHuGOs4.ipdzO[ʊLLum@ܯE$5Hzs;D D,qRӧIߧ5dd }S WDxnh{ߓ(r̼TpY?cgYK"T`g5D4i԰tO!]"郢:j׮xףE)V1_g%¸!7(+}3KVש{F=5$_[rH#ӦX8s6Nb}A*1ssG*ژtWQ-&|ƼgSZY=$ Jϝ|||ƶ[M?'i9,iU,BY/pEy@.@)VZt]LA}ҵq+tԳҾP{Ez{\䑏7ׅ8uxj]B\ q&(u0q@W4P c.=$(P+!JV||I/"wylEJ§"Z_iH?ʵ 8Efj859Ҭ. ~7Sk<@.rr#p 'ǎr-6Gc Z#H@#P5l y·<"y3_<`oxغsAV1$GH.Z P˴%]7K}Z|ĢvV. M^&m,.V" o?Ǻ! 3p9gOA]Dٱ;Hܫ- %G9$']  tvD(c2,go>TAj0 A@zE ?Xg#iy &&]nn8/$!tSiScC.G^ -9(hQNР;D[>@0q2ϱ0P"+1/)q49Q~(m~CQ8{! lIHl;NL-$Ŏ >umcr`#.kK%l :FTŃ^lF\(4APn\m? M!cC#PlFrE!EL܅"5VPyCgk r'\7PQК3aȄhE00krpJ[)5-^(b߯ bBFMܬM 6@0(f)z`%G =IӤBNԂ*U66&-bghY0t2C8^QbQT~  nk|B,B]8I#(~hQPnj>d%F5BVrHeZx"qnێRQJTKif7R4iiZc *f6|#;98{3ypVROgt'Qt?P[J2 < lՀ gOIuZ W4m/ƹIj;nymRtf2)W3 O_N[AyhY<"J( d`)Sr*W6nݞu e=b֗j`=t̼ߑ n+Epnr/+V,^Bb`hO J:)Dp+6UeAr#y7558 ЍBF@立H}ֱ;%nׯ K9OsOY[yuYIpK{]"TAQ"CmX;~|,fL^jPh{Pu4 "r;D&  !y(۰l3tSU[GAHx?nVtX,ِhqx( TAq % w%B>F(OPO}g= ע~.1 bG^Dv%L$}Ht8Z qwk){Ӥ%m 2erͳl=FL)лJXݬA>>ZmkmGˌ۠_ռihMyVUT'pͶ,GPAIl_A rP"nHJn7V 3 $X~nA!ܻT>X\x{ kZ{4QPn;NzSȭC!AG[I AD5*jՍiFBikvvw+vx|ઽꦧGP|9EiLz5ϰͧh'QFy&?pݦy2K̸N(#T;.AoHҏsH6꓾pZ4̹™pw3tD[;&dŠc# ?doIPYPRs)l(< u YX[ M 7$YZ*b@qMئ _÷VxT ǀgNT h8(4⪼bGf9cMZN*8Ͼ% ŀ'?n|tg#Ԋ#Jq2&=hXz)% `7CC1N㩌"1 ÈPǓqt8gcY:2SݼFΐmTB0 qw,tuʙ$l'JHjE}PoLCiaO$6m֤%hCV4U}ժa@ŽKU2J`38b( sH("@N@q2(lAvv~."|3袡Ig{HDqr&Pu ۟9sC?Nx`R-dI FE:CCP@HkA1ŀcsV wyEFusȘI_b1|7w"7øΓaʊ<$v.WRRaUS{VGDvܹ.Chwy,Kׅ 95V=۷c"띦mu9WW|ĆϚjwIտXۨQp7Uf}6wܫ5dDzN'v-+{wpDi_rTEٯTvmYd ANfaqbO<y.*z9MI0/0BU\XoƼ룜MuX^Ra\C%O`>̋Q}F=6tB*N_rZqU.5UQNOguR덨V ænz9–Q`,M/(S):b ۗ=&)ɔ|=YqHr\y{D "|1[knTb5YhMOsYĿǵ1zYdq?x.U^o-;bf:Ҋ`ѻ/#.?۶jγs#*$>n[w]roOkrC/snntLIc>bnPTZ}zz!4䟥kuJ,|z[wqƖ|70V𤏟DoND |ҩrxG+P ݈uaz睐\p嚫W^_#WOޫF.N~FL쭛*>c:gzOͬ*5'd =%ǚ~l_?=o6E^>1SOx|ؔh:AX8|֐15 o&/;zλF:>WI&嗣]C`ѕRL/.z+ UEExw*P",$6)8_ ΦMN%yO}tҭ~M[T(ء@uM+O"#! ]6\< ]S3uL*E!.µ'GCN7|݆g0sȪAF;!ݺLǿw8Zj #f<Ce(N8 ᯕ y*]8t Hf@ i>M| 5(nmOs%9A̒h#ՏXأE\hs9>~#;~n&WE* cLgߏ(*!jHa=SLخfQuؘIm0bU>h7>x+\?vT͠gC+/Q8URT26ʤJW6p,6!FórP^xV,]LmdBޚʄ UǸ >и߽m-QY2]lIh#ж後IUN]8tZ.ij˜(2# pK Gt |5xNOLIl.kt=7+V$3[s&i8 fF2͕\Ĉ6V<648CePvJBCH6 .?!`|4N6"Ʀ?i'Œұ.SjƙE4^&5i ;m _3A/]&F#2p^xM32 Q}ƁhBN25_IDŽ<$24&Bڀ~2]37lFf6~4F;+4Aً5K^MFʴ$LjD9lڣip|m~^vj+oӝ"P>@+mf ^  ܯvJ[6\l/`#Kzmڮ/{{j>2!0`kYm^KU"KzɈq4Ka l^{Z}ٶ.mlmpm.k أ-Vʄw/l#:ǻ6ފ$ N^"F`9 /]o%URYM>Fw5BԄG-ͽK((@~Cil\dD-OE)ܫ(X؀i>zIu4ِNsl|Gˠ7uVͣ/ f˲h@2 5k3\)j9/K9ZBa!Bl2@#O`e%fGiLS۶d=▔Iwov%kd=[ -e:%q=S^QrSSH}[r&W\N}"{kZ(%5cą Zҷ@\[X5AxCvcqݱEC*φV6^z V 1^$ ށsڗI`Z6J3[UXk3QjF? NE̟#lR;;bc=' oF{E.x?L{LVK+a?>y])%#Qp~7ȬExȉ2N.ɔSlt@@k1)xKf|LMH;h\hE1[İo?rD)p$.~r'/::kܽ"OӇA[h_wk?۴ D}+>n,/mkgv58!S D'"lcy(w r'Hp)3\u'bcpa"wӵaАp&pv DKx%MՁ:FbGdLW-AnGRc֡cЌ뎲\Z@ӻtk:$@D͌{[-LD.f`5_DDc{CR :yIv oj'[-tm0%ǵdKM+dw%sl}P ~ZwF@yP6_c}Neq7WLLwf^ Pqtz[S*tx|G^)/Xfx&05l߄Ѯ/\ǚ+5#c  0?⋋ꛮsN֚#KTEz(5,-L"hj\:/G]=ڏLMh^V WA֔ G>yaG^,>B65Ӵag> }ߗۏȕVG׈aS .L^v9&a˸ -Cvpr\k_d]$U3?omr]YG֊.8!f \GTPi[ݰǡ flMt,{,a7N?ta`=ٔ!6 6A9qĭ{e{)ms/v @F:bux+MR {9_VOKZDO)YpQ?pE;M IcCf(c:pl|h>91|uFe@[Hm|'1sk{}6ߛGji7}4qc6}pTZ EPZ잿-hlJD,`9`g&GD| eufsMw~0mkC$7I!1=&"I9e6x&M͠ZײK,1}&1`_d#2ZB.n #,ai 7nlFcʾ^'m]fg ض<7A`/^le-= X¤4^'}g!~5MaN HH$H/G"xqZqHrh̕uYiQ&4jUAϝm|g]bGO"Я_ÓObB0ܚEIaz]ᕼIʯ> X'xB(繛oͦ]筙.)|S8mAA}"5ȳ(/Sf;!)!{z~&؛g Q锅IJ'EF5.]J/lO,B؎"&=~d`=~<<W{zJ߯o#&ńg!؎ ,* ޲N(#GJW)b!g9a>:Cb ߅L󊙁0JA(8}t:HA8*kٻԅI'X5 XѯƲRޙ l`)\ i-*UpG  Sߛ sᬖGk^y5́/eB5 ӗ2O'aإ~Ekk|[`5M+ P DP8I'-$3LÄ҂\c כK޵ 3&+؉]dp+vvW0| ,+]6jP S @< BlU)a]^ˏL=<ϣK%0_ЖjWNRfDyg1|g(:IzG4wɚ5yulk]Fv!C/QiEޣ6WHf|f 4]I#e;4vyE LHS%?ɝ .ķ Κd岹#l+ܤFNe׭2'g~U1IIs=L^q^˪ndʸ1^!3||+#Y$f,J跊Z,6h!c‰`k:w{+V(OG6Q? PӽRf5ũs4'[oڞN PctcƩ@c6֔_թZc~n|dF"[|3{OUjbG5G'4+89CfZ!6fVjvMaX3[PhXq.O16_MUVl$vjZκԎt~ywy"yuށUIkVWԊm:bS~V|\rQWy _I\uխL)ỎRVA*.W Yֽsz뻪*Hm^ f)f<U䨷Uŵ><+b]wlc}&qRqN)W}" +Nf])CoܹK\屨{DGEI]'@"Rsrۈyaaz߿z=Xhd`D`<:C 6氋9^MC YJv) 7x|Y] y$6.sԪĠS,:v .X1ux@[,:8?n34 4Q;thVtV:btX^R͠E,=-̛DH3P`dWqm_Q^ⷽx3gaq i"GCn@m igO*ÎoqPkT@]/0^RK8;Ro |b-8`P`]#"P'\DDŽ02\ȪDUhd G"IE&htC<|}ȉ+$/Sy Q+3"\%N} `b$b럑_"/k_QcW/K̳cpQb~8gz8I- Eaa߾8KbUxOsdK½sy;Xo3UO +ZuY@EeKGwv 3UPVZ [on9U6j6]XIO =n^dƜ^%VRcT)*]қ3'NS~U}t&}qnO ZMOU\aH5Ѣ4UJFLs9ULzk6' ew=7_('| UPYz=.͗rB*M|1CAZ}:U]U𤳤rÀ¤NGO?sY*zY azvi6soƻ~.w6ė葬9)a]$ƌrvnQu|؄Ou\Aќ(\0sƦtOsd~MSѩxۛގUJtvNl[@g"$} 07'ʺ^~C볺c&~JArOZ$qm4ڒ;]6JSa![EKnms+n^Fĕ%{,_0 Yb\7+>@,i|̇<-ɾ1͍Pr]N7憩‹8B3vq,ܬң8O8g* zsɕd;b(qr)u)rv4.QDXSA. x!D&=ёCx1D::OgEG Q]0Y\ r+B7LFaR8W}7VC.L,~h_~5J ,\,J g܃w¬. ͉q 1`5δj@Uj` 6F f@ LM^Ӌ"җsv!6\ hNx0Mgܠ15( 2u>\:PZH pr'N Z5SKiեH/%+xxD* gMr~:RL1%MV:z cA^i a#`ܟ@c>n Xn_2fU6k$rtRTk+>T}BP>< =doSgHPA(6o3J # Y). >ew~,5礀M,;J+熇9snI#Ay.@V:[22 9"@\cEH7~tyP$g݂ zf #.^ЩZӧˊ~ 9JB8P%FF@݁S ĴLwW9&ZerW"2.2E?`¤ژ(Y$g2gJoQCGgd "9؍ =GlR@.l28%ūP#Na,}vx ^ @)ŊY^E cYYh- TfReEDA gKed5 ĤAo h4j`םv&Nx]6]P%}MJEޗChp< H?Hɒ6ʊhk.4!}Tv,T=+ljaγһ13{]qjQ?b?c=oPjC36. /$狨f mrg-(2PI)>P^<bV" ٙ>9kCbAM IՌ"Zn ։+g lVn hVn[ L"jBb3\A_I#xq6;sty$i]MP1.J:4 uY4v(y ŋYIb9BFEpxbc)%p^_ü*Eà4и ? ӰV64_Lƹj ~;Ќ]: (Vl.| !M596j73ӇTڙM478mlgSpyMElakC= &շ<^ʵ1D85<(rw5U73,Dénfxs,!׍ۣ[SI6;Y4` bG[_L [z߼l =b-N̩jDe rRGKJ\W;?an"܉Q> <'ȑ - 6&J uuxnǎQN(CbT)A^݃m?uR(}:FNCI{Z[9'R x ,VOF%.sly1q0NΨwvX= ~6&2cmASZtX>P{ roc*65 <aZWz P?1<#ҧk !v.8U|=3cOi``Cٺ\P<4t<č8 fi?X'R;S95W4{?s=JiqpW(0HII`UHg tl ~.uImQIetSnd]Ah|e >V7'3@ϻIwّDO{iEXsF֌8!iIEC{T3U̕V҇@5t}@_~IqҸ<, 4x }7(n?eiFKڏ7V\܋3Dc36Tùgs@scsc:XJZ1ȇ=tvg)`x^ bK+oV;s`Yw94 ]-*fx|&ta䫢]*"qY:6N ;guK&:GaCǽ[:"s"vuDLچ!;wG+%5n4yAPRDVvԙv-u[{o+cdͽ*+fs5 ,s~ :pΆ+ D-o2ڬǰl= ٩34g uEQV#P -S0|_mDD)((@ș sg_niU R0 923zƌ^0zhO3.:u_ꢝ+]WUa I$ IH"'6;GClK|[#0{!uHm:ߩ6ev]ڗ/Dzh_5Mviji(P{PRнX~ (¨viV5x xL{EUk\a$US)ƩԺyQ8 **cY~xzY?u]n.+Jw+MMx*_,ϙ/&Oh^ˋMtnlⅫJBϽR/s:o.:~uOS-gLgkWٯK @Nt5 .PYEokw qaC%=6sd=ߙqv6]pn*iOHu; Q-~9ulnoo+Vl}JwsaqQ*[;.玢-U \; Uk4Jnzf ;efyp^V q3.Wkߙ'r?Wu?AqvLz$ق~b' ZO)rN<'vtߣ1=B?=X[IknS7PV^5֮挹d]F#ZVcnLܾ>۹i3KEa6.2ʶEmݺG?ݞUQ2< [ޱm26ly-iԛv-<HSf#-#ƷjUأ,F .]kהuS̟RDYLv[;(Q޾[RnWyo֠:oGʯ s1J;2tv#͹I$-Ҭ.5eyR:}%eK;%plLm%htgx^VI2:g:Bs-}2 iѡh=('Pg%?ubB}`'<6fQc MlSN as>'~)1uS㥞X{H!D:n**Eے1$qDg{d[ )>Ð`lcV$)@эEWF#5!,+hRbHVˇS,|wO Z\0Мe9r5k޿sNm6 úN ?/osnࢫ ,cgاEхd?e}z?gNl6 aذ6l6 Æa{ۆ ]~D;؁?J8aoc ?wPD#A3VŽ UOWƒ) Su4֛Nذ>l0- a۰ {)`' Naƹ]hF֨iR'}$IN&s9A<Qs) ؼbUs EEaK0jE{`&k{y?u,CFɇPK'6@;H)ϦNwҬjZ5ueֶ23 Zt uzM`Pc;t>a`m<}#'t` A syyj_Ba71k|cb 'zq^ZyYr=Qr HGBbotaɜ\$vW^^<{!g }ׯ t,Ƿ9*)8Uu=U;ZR{"Ǟƙ*Nhy~s2(*HtfF1Y\ &' <,nFs@*"dq]Q'f\Cy =Ăk2XoI/7 * )ӑ+S6HQ/-r`{%'J'XgWDI`.Zทl;L1^bjnHGygWӺ팏 S1a5 [Ш<8μJ%}톤AUν{A>Őd5r$, pZ%Fv{kW3p h. .346Hݷݿؿ"A $[ ZJyQ0jic&BD8zz>j"ɔ[D(i#M=ܽ}RK;FKf38`xӰȜg[s48\1ަ'q@L:]mek|Smd4.矆ˌ}) 9〷nV~UA/ppRH*ǘ͂qi>&j:J-#>)#S|Ԁ4?k3wQxw>+ {Æal6 ifě@ g>cd0V&巋h _Wn4+4nWٴKUwrFC['lp=œÜ\vϺs;K|\:~.a"W$"Tvm˲G9a־)&)9.d0_U7Wꇒ8)e;c.Y}sxp)-H  3$eX1Šdro^BήP"#k7sxm)r;8Ӹ ^rF*UdktsrA]lNX.!^%~n5q0?81,hn g[n%G6i%0 FӖ*hW1&lYT)R|2T=) h^^jԻ5 a=(U~tE1q J"ʞJ~ 4@߇v$3j ,=040htdB2Z>233 1!R*QV,iI,j;ۣ %'>$-_IЌ|7D0Pctu{w!SS. yHT3j2(@K(#˵6``]dB+QKeXC3& Ah - -YO(-<MKFR1`*Ѣz%ʹXHZIA-yWݒ4A7)F핎d"E8b3FEFEJBh8,stF<~|\T "*IA`2rg iYxx,aQ_ȠH 5"%И*1(c` jĠafS0a9 Xa\3U# R50g(" D~m2U<XFsG*LD.m*W[8yG`6i 4zv6S\(q]%eY_qÚ_2 3rccj`!OCOwΨ `UuԣQ{Iq K@~ 2eX#i`3UK@+˗/t HZsق %z~"=Ji:6n;E1ëBߛk$OsK0 9{g g`#^43sF%3ժ>,F.%0SC_5# Ñ!YhP$Šy'}_ #* UMB4:z]p8&[W\t(`lFELNS$ gϱ jSx"`n@wUJY^>Jn'8RP_9) *AR6=LtfdhjǍ(EQl\hz| :% jJ^O35TD~]M7j^vl"NkTalҋfX4]7IldћP_lI]Kh$`9T򺤮ɨ]D)QNF|x(k%l S1}i QEL;=23|$\M?UFܹe xy<+4^/5˫ f4v;ʩf3ш;VY (G's{(FF횞nS:ǪZX;PRdRC'I&?(nB`n>p5F3eS2v,/ - }&NhU܏љ=">w:CgP%~ c4D0ztΡ4,(J:X0|uXѵ$8g=@+GjUsϖz;\ O bq15JXfW<ϴؾ*,t+nPDhrIKOM8fdHIE#JD0uXTOb>;E1ɄxN"9𛁉F:)PdL]8|l0)o84к[6S16[T%nlLÕd 1,`V#UKkG C_;X_9JN xˤAr|6a pxTMP3ܑtBBʱs9U Ȑ T6asmrU ӽUjS!rfGq|05Fh #dy#+x GyHxK (+{ H*7,k"rgG#ay즸lq #k}ٻVgWلF赚3hok;bg T3*B](Er19 U_]9`KH}Ri$k>ψ(>S>c-afr6 >6H$.+-4a| iEbGLB<i0;~f[L!_\"$xQ <Ψl9y[؈Nv幰z]TQi_\9h:ϟC P Ӯq.c잞hCE)ԨPBY#?O?*lʄ'W[vGɵs dGQtP8aܽmMh~˗D5 Q vRa%&] %!+|K(?5 |y2++GDjh:Veb‚|n'vӐ C)oY>͊D&*t0>M^w0F5c= ĥ|SuѦZ [\pnc9 TS L L~=EY ЦR/̓/(+:6* g`#ucb)e{>d˚Ep7սީj):!(sj`pMxyiaȬYZk PzJxA]c#˜ egQАCLJ°ԙ oJ:T6/RW>KU"PٕSZlDy&O>Zain ,TRR[#9 Sg"QϴŦC<(^psH4y^$#ʯk![W$ي-Bbh$)x}q7Ĕ(E( q (8NU~(6RG뛕ND'kmD򒌃nQ/s b{O,$"v?ї>E҆X!]:ӫA_$6 3Iϊ/ߧVIb|{DR|qὥ/"~"b k;qD:+ ::?-Ss#_1j=X"$NuכB)lĢn/gXۭObԓxY5᮶V8:fp]Oz?$xx!o>~؂!C' ?΃F?}XB+NEĈMQi&CyS A|u /ao4gs9Sð bbhnΏ_Kr!"۾Z0 fZlM)p0 G=/:`!vΘ@怓%Vz8a#MƑ|Y҈7i}1d66`_@>( [ a!ns[n-1a˹k tƠ99s`<1o(9jGH86kcFJ 7 .eK5# G7ܾ.\@ ̷gEXȈEpuĔ$^EC*WE 2,n9bH=Z@qhTxWn4Z٠8pqJ :U,"+IKKai :ýu$1zсt~ 還:`A_Ƚ,z[s kWVkbϞv$`wJ⛉;3!4>|fhoY8aLo_MM݆RFlE/VΦwz%5fX2<*)а4gPֆz VbE.2fa5_7xag f}ub3 Sl^8{A-po ^3xVW3wF0g届vb/t )3EM$?oj%+7Z.Z+&@50o?+!J8R0eh-hH5utFeOAp6OqvLv+v_K.vd;"1p.ٵ֓ /~ ]ǶXsIH1ǎWI$JFa1.[>Mm6ÙU iOAp-S%\'eȮA>.?!}<9l%GhI4 VtXd ,Sֱ7Ctc]$CS~K0▙J )I@,fObҢtR3dN3[Mc'f&M:'Q4E IļnW|q/#h#73Z!cBq^,]#I.~hQ%JNu5:Mex$OjȲU'TOn gy^pp O9%g4;UUJ|s܋<BR _H:oy~lI iӏ^r+u2Ř2cL\> }tɲȥVed8Krʼn8 !ky[qS3pTm+4Gb\~+:Ů1cެN'$ GAk;6l}g8,΅gK9&"W(RcYE'ֻ{:-c߬.?SE(eTHNo~kޓf fQv4oTFٍa7*9[;eKQ]IK ep<_tkW2 Mwc篳ћyk)cdz+Xʊ56 ?vvurSl؍SHHTijF fQQpS-ZmiJ@ZInP4}#5ܑ}ppRK-Q#"+DGYO]ǿ3&%08ց]3ڐCJ H߯mӞfO@6C0}/[fDeJ#r$CYSfV^4fF~Fa e3LQ⤋^ \2Tb5g]gl*Ҿ$ךp-ܻagԍ|K_He} f+B:JUZØB ek̽ ''5‰ 4lIk=H7U0ɥT8zMpMɑEoa*peO&;$;U; zɑ֠QNrscDseޕxa3lT{IQ:s96p mueSq]'_*YtB*Rh^ᮩ )4K{Qz~8I䞓olk^5',iI sc062xҩdcgO-x咶7ZG B77%E9}9 ؎ΓEP+R=J-iX!I-_=d${B0/@ Z6qL`ό r3FI8/#|&53vJ܋-oqB.㱺%kdg tN0!GXV7;=J(HgapFx,7c?hױMOΉvxxT5؈ehç'wS93!(#gU9߼X7e Dx$ĄӢ!](JF*'=Z?ۜ|LtAr[dQ:+`ä0z3wH߯ɚUhκT⿾\ߕ>-7ҎW-?ٿ#5}$]~̫xdG1cojBɁO Dj7Aڎ|'m3Nߤl5shũfl$T%x=uIi][}eZp 5.A3f5I+:t471OJIPs.Ih5t~WbeQcZީ֪ F!kb[(#r 8bg**VT}:X'Q9'׻ϢP5Gn]KBz*G F0n_jA:~7P"IS6Hpkm7cmD¯ߊ]~05iR>MgۅեlfWr0QAG 5 uujfدFwU20Y플jhx7n( z#ԇZTu^j|#xT4`WS{aAbt}0*gpFq .+ʴGꟲtA:@R,IiQm?C܆ѯ(D4*wiFʞQ٩ |)Y&6)TЋW4gdaV.31~Nwz?a!$ntq_1Dxmz'x]1+Kj:u6mΒjյPw&VqjWmg͢dEw#vCӗ`S1Sj5)NV+*>EySװD>< #u5uX{/U2grTF{ VN&2&7G*DʋwЎ*]"OUzwUsFuH>Ap:@Z-.R*.վ9^: {C C* v(Unh{"V?㇝-ZBfl 3#5x{+O7ߑ64[)ǯ}$0DOuAƊ ]C\{2jb-M%٥swx?'/)h`F7 xA=>\Tw݀+mD-5.LI@yyaa%%iuØdpm9&/yX? ff`+d;qlM I `Ia>) .'`oNGuM"1N9GJo=HJgA|6ydYqfOuoZ/ww-qsh̪̦1 5-dpyH9L~ D1 xv"qk(;؊"yz`VѠqP fC7hkeFȏ7.)Wt<[J"_H6cQ?1?X6dq^/78Xq 3?8 aѐ=@=Fk|>Ȝ^_ILrdu*o\B[6 JXĎ ^Dt/zL6 tّ.5}w8z[7ol?Nt?d?`߲*KyX'^KfY[=Ӿ Z1dݧ{<9#|,G`pE'hﳔMq]hi֝jA94֏j}9X66WĝGnF"DAk8_/z}Dn6үﲐ<ة92"OҳWHs0NF $45~Ӛ/uV_dIjPqDYS,Q>E@x"{:_}f#!5`Mq[ [_괛q$YUT.$be?$*(vk)"qg!oo +0jVw~֕!M vZ":EDF WHqSޏ?S1ˢ<2kO|2&(zIPw<`hĐ{xyK|S3ךm?àAݚtaM ܄]? tM*;:&`?q/z5aW)iK՜9e܀Ai3Y9ǫ:xNOd]Be1 ._/`T/צj֛ STf鯍_S>hj_h|D<o2S iz ~NG877͝- 7m*j|lu%vT#[W=0i榦DS0jtW)3zlq61E$v3pș&n@x.TCL}K~: N*BoG`=Rv} 7~%-(wvxᣝXJm3R"U3`FZ9сǢS!& ίނ@K\W+%yYvQaV%7d"SCoc LlWKƎ<,O9.v7;ќbMkrlElўwz^Ki7vcJ8:UDY`<@;s|HHCf^ ŏ'ؒJ X;0?USh{_{j?бZR)nšmKF.iy|"iTDo8V/"w,*Qazs'̍K<ٔmQ5ZNm=O8įU'%v3DK jcCC"SJ^(>Ŵ*),ptb9F ]Edf-F0TҐsSH,iIev@!B5H^ k%8篖*q‹L{dO *FFlS=9H h!e/{% N5ꨯnr4VӋB\ڌ;†4*(qTJں,6TFu9 YF"CB"NS.)br*Vkb5:pEc6-'B%7vbBhZ>poNka#1g!>WxfPS+Y]M iГҢ c,$TT[\kq2_:ͭkaGXnc#4pZ4Yzz^"8zq5f7at q3]˺H]3枱]H?yȗQt /%Fq-rucu[O/Wf.Y֒V{J]Bjč0WFp&hyTeimY1ץNR)J9dY%4m|`{/ȕYP1tū& G$^PlU32'4 f*hY9 V,0al=9#y<<@*y  =ʳghB#[77i,<-h.r.8=: 2(t82XL i;4|s U>_DĎhhqMn~Rk-X'XiwБI?^?Px?eĠdq[MUT5tnRs'24BUWp,L;LuS O/^zuh$|\ܫ/$-NǺaً٠U|Vn[7iXEՄH,ȊwAh HZӉx'!ojʘ=iƤjIhQ CL?CCr4Fԏ+SK8ɠe/Rro?o%8 X FwXV,c$D="U'0 ϶Ld=&.X?ߩPݤPɫ7?&kSƠicKخ}՘^Nk]K*zO9_iG%mrܛj (";fTp.Wu>\.?Ӕ@qTJRtEEKF-"aFT8*-)GĮBw",1_vfU$配 |] ".3oep<1~O3r@0h+ ? 9j<0aTaxHDTMEb/EK>M>]K]aXƮE|N7AшsHE6І\9)૨hPs#܃@2[z,*|4 a"&QyY gu+2}gՅrAP@yig"3o}}Xo$:X/\XqZ'dpE"~2H%>7>.IF5GRIg!#6u`Z?J.ja #ޤKCTt!pQK&Յr UMܳ.hC+L ^[GDV_c oi rGB%vVG8OLՍ1X$4?U&r}h{hpፓJѥYWYX*>jG$'},^N@y:}K+* e"Z-28UK!ʐ*G!_`#Te;L0%xL_U#L_޸2ONՃ_oF4T7gM;rB]Lھ[L~P۰9>}I*  P.0A4Lž7T(YT&˴!6͒Oc UsZKbL&< @.L6+nf{[h:H zaE"%Ȟ#K1s g IaCJx N5w1Y G0m8!7pO/q/+eMk$O L ut"CjYboA~=\b'U|*(h HR^ yTUv% A^Ѓ!¯A>RZ#Pq8 )`iLϧiZQīKގ.By'*ٗ⧟ #")It5x2C~<-'N+c|3'TD϶#.႐`$m) ,#)FwKFzr0he=xСޞڛu#0V-oYn-in)c‚ilHĮj6`Z6XK"a a|#hovKeI]N B{,)#ۏؑKˊP1`6+`S]Na'.="be9N8EkXGUdiѳbHz/w[Q.k>`~/Sq0m/W.8WZUFG48Z>0$WƈMFQyX5k`J^deE݁fڡa3%) b,SAk8 >9V_aW&0|k3x*\SrQ9ݐf2)=Pm(S*A=Ȏ}2j 'z*#FV"Y(LN&DM^ȟ}Xamt1) foLY=62G.n:!;Jp~Qd KR~ c'ޑwZ V~T?su?dׁckRo²YVҰ? =-uiuri,̪5u{2oC:<)6 ADh%!2%>pVT)&``u S7%YN{ 2&[*t`WM^zg[qDu@e޴hnyl^, hzvئc]4a;yf4`ӌܵ9[09e\TL#XC3%o/v}fAer?50Ij/32 o8}Ђ  FI-:`n48OU^l% ,i[\?$jnߦdJS)Sܚ3VsL>$xs1ξ"1yqƋk\%{͝p9kVq$@ Ѣ@ՅF97e,YםRX"'pUS8Tݹ~4f?dYSƉavsPDU[<߭(qT#jn,?YH"D2AFKI'[;iqO"7@d>c]Ms zC.UlzH* 'XUC*/{[ۄuydO>YM.AA,glA8L4OP1LFəPCY~ R>D*;(`v38Hr+ZbZ43Zu7d]du@wVukUA;CgTU@5UJM@lܗHx AÕ̏)R-D'aA\uC2Z 3Scx3R?A3"3O~sY1ce{WeZ)d' H5d03Ljzk[&* +3Pe:|5Hmu cKL`&SDžNH, XyENƯ>)tM3LS,bu4/T.e \bSM ؞,,g } c!>Fֈ.Ra.ޜMW iQ-ŏ(2<>;0q 9ρztsC7?gR2U~)S> K#F˔lj ~z ˕rT,/DEl%"014 /U,nƫ$Mp[N.6/z׶(_2obR`UG]&_ v':u߶ӗVmC 7LȰ(.K68h"*\k33JImbvu?LAx5hH*y?)tzhnvPڂ͘"]~H[[o(HBJoOlqa߬ S7GE|]Il/j\ O=|)uS_GFW}zɡ]`]-+I&fb%]뷮 vVd({ rvȢ!&V֙5&UU6Ώ! P۞'#Yٸ ڿKșݖg:m̵aOABEmĶ&a޷rť8֒ΰ fN{7ӎ=+\_?zJ՞V%,dq5me@\on#IeFj03SHQo{ cdr3BbԐF]E5J>݀5pqY6ۍ1ToBž$Gs ~!D󼿔ۧplۻY0RbdNz#n~zQ#p # o`eL(r?d1~ (R@xt΄yI|;TE8t;'.,6$$gYеAa yǾ';mɏv%;~$> KʈII ji9$ٗ~Wq mˣŲl̖OKmJɁkRelm~95b1KR1Kbyϵ={Aޛ~R5`h<<[S#TkMvΎxW?4<,}Yf}p`\%zx eŨ#O8GWKξANY 898%!&萭2WKP^4dfL`ڨ݋F'JQ--+mʯ8nNx9[QQG3^ZdtF qOrVQY[P>;}/_|2.yd ބӬ'ɟ$n,k 8?DZYPҧsA#bI-jbΐ>T/H2ToM&Δc6 V 7N}U8ʏ$a|f?rT]BPDDr{:wou&~M_*c9 HcnjqDžF)9x kw%h)q2j,[=bv ZH-⶷G8*WMzweE=T Zi2dI(Sd( ws~xf*V X7sCW CǺ>FW.N0y쭡g[{Fn hO7]_8 \3.nd)u8ʒeK|&0Y"w"G%ߨ 0gw"~%'e ]0e uQ_K&^]4 @R-r!+Uc: Jܗw @| Mn>Eԭ^õ#w@č۸ 5.O t'QK!๞e]cojcI9ZY#hFRX8kv3L4J?M P1t-1H2͔4W+)9״'N|~ r8M㟦F 6V #Hڮ;c|~2![ gs(2ReUȍvMFRJb%7й?I9 (%\1ɼMSV?^MbۘojI $5y ЬRE)btVڃi6dz  lX2]YW+P9 {kQs49kvu+ytɱ9Oڕΐ%|`Pë]V<زʡ5Ev6ųa arvjj c=wF{/ >|"qPԭk }K>ҁ.l!][]᯲=_GaAmSxǘb򐹁ۙr5xT"y~ T913_n(.g ԑAfqcUjmH"ӒuP˙@Ov&!Ƌ5;k)Q@T$eK;ԍ z#nTФAZ{n+:בֿT?o\6YԂOv+RS`/Z)WI+Wict P# م421{FP@d4`U}]wAgRrcJr 4J[?S7XD$K9(rE(~`Œ=ƯSO7d7w XBY =Nj~gݪ@+3CЂ~V^U,[y=RgTJOq!@3Z7<}6]:Jj8|G~?ϟDK  2芹!] ]5yAC39ܐsUI & 9cEG`KEEѷ]*FrE*t X|]оص):wӌՑޫy LFWwbY6 TZ"!+jrOsB?ag䧈0.C.Y a4loŤN -(6@ԧQ `k"@ozH0aPPGR!lY@+G̦:ciXR==*7A< ?<"[M{sq?uxt>#ƩG鹵SrDf5?@|k,3!׆|B78ox1#bcb62g))qT:aByWy\|-ZsOi4ԙɴ3ot3&~΂W Ӫ^όnNJ= GbD,Q"|6hǺȪgb`-ު0.ߕ~!Ƴ0O9*j0+@`*$ b PEntQTOZ M?oN*j;Ȗ)I+Xk?.?sd! շGWŴkyA_1VVg: 9)JP@fSDգ_ia2b-0GlƯkyD7=_R׵ulGmX /aL3:~h-x.1iohgi&v@3`hE-l_d[d"ֿLuvҊ_jW-ztؽw;ic|uu/Z'gC2ۏ(Y>y3cFҕi(=sqg;'LGnzF֗.6ZYiWLvPwvtO{֌f}|R?m}~{ؑӾL7wS uN;W?'}|֣45^[}ԁgO}Z홛9|:8m5iwzb]̬W}O4Ժ;팫:ߌ}޴?y.?;OѧՑ}KWz&{eIds.7i~tF:k<`T^L=3Z?i\f!}Blj e{mOϯ쥯C]?a6|}eԟ_ JwV5_ ,pΦx(f}jalJ\EG}Gz;aYOM()PjZ__ =>&||ٻL;8w0ƫsJ6x"%L>5D/;!4O0/QBv0;a:dI0GOD6wa*N}] 4_LK Dg<菉 D. D],Vk|S}"(O;u鴋LFq *)qlNe/ gD>bQ'`'aY٩IO4Gl͉9D~xHAKjv|&H#)Avp;;e;!z>ͥ^jtG>OD4AN^'LN&$~ܝԩ^2p?OmvpDӢqv(4'QOpA', i5&$dO Cgw;إihwfw<4:}/j]]Wn.C搷jN' v(mJ,>ۗ=7[0PZ(&y' 4(O"dD=5 v]N zڎhN' لڡ;a:uDd>;'N'|MDy<HvM"fMĘ}읝x#Ji'C"dN_:biav)Pb'bNsRhN'6(v;`xP=~Roz=9Gܳa>|<q˸7=|Q.#_b;A'Ql1PTT{*;+uNtR!;"DZ}&E: ?[(o{ʑG5޹@>5Y]o*;M4}?QUs@ޗ*܈֎^#P[Pt(ȍR4fv%Tu"/:drywlj=7[lߗ k.!^xdrB߶Fڠcw͝5V?}i 瞖3^Z6lشB_Bg ]4 [z,qdOOlOp߂p9U޲>uMO{%ؽΧ^smvu=;fP{RNZA[s˘.\[ HbEOӅ7tn;PjK@Z- .P37zbR\RnyϹa 9|hek'CwLS_.&B9tԯ˻p9t<!6Z[֠6L4X-&P#Z \Ee'f`3iӕXr M2lV< 8fR+UvJCá儕ci nI:8~ܞ 6%a7)J8.pк|`*]lZ⟮x#3Y9]D|UBJܭlMPѼẓhjb҈Xs)h>Ƅ:7c> OIU3#R_dYNwOqڮ'9vJ,Vč~3)lzM*:r92;ctQ{ڇόFa o;O<(=TQ3[O,=UDnEI \ Ifge@lu+lkuw}-BO"z(8^a=o0-]'۽gDA~rR.zdL<ܱ-qi _p}Y&홅2&f{ lx z&؈o6ͽ,[7nGڵ m(sz$Vs7 }۞-?ɷE3ARN[Aqm8WV !n/xQV,}e`0Q(I~|(龄;Q)7fژu`&#yͷ6a;qx e6Nu_܅0Muˌ5j|M߀V.ۡCM QM43zgQMvC6/Ȓ<1iBβk,Na5<'Xm<#01t6 Ll &nn Xfς!Л{o"حW^n`8f;0A-8U`_c6TkrvqqQkZr\aagZݓT$t 6gґf燖M"LĬ绫Mv4{5  {GMF&ew=SQAsX=Gkv =-|0;K_aaLDo N"W݁> A%re ׽,6>_D{&%ϦQ?Xe77u',S/ R$FO?X knY*$s>#"^WOPY7x f_=HչOkIdy!JWQн72´y]iχ~_ 3|Xa=V=ޏPwea{k\I?˒BⅦ^٭RZ~:$P|WQ|h=J6!䇹Zw:8f@!@S =P+[K/tA`%7њLke(GS ~uơ׌X72B0퉺F>T=LMj5t雕ӳ_ iqv`|7BX.R+{|YN'j {>'L3ښ$ddV5`:@}F%.v QYst'8"V`sMiB5(ҁ6!0mC`viԢn,g2~[tuBM@fo`y˰.r]nD!2ᴈeD2-˞z}q}"mflRa< *=i) 5&1)SJ Q(S@==Y l&M]6PR|q2`㴓e `; 'cSA"y~h9N B ZT&cn^|syy8R-w/BfsFkUDzh 4 ~R#4xO ahό 7ƽIFw%̠Hx r7+kҚW1?lR`ǧqd2,j@ kV3Î{CxtMT6jZ7Dq@/ؿS /dQzw>}7LD 1;/?2̌W!-I=;&/-i|ֶl$VBH G䒼RA4q-+Z Dз0z+%^O2>ƭ(L hD)/sZxpܦ̩F3[}ad.V6 L\nF;;iPN1pځt_ ?B.6_OzjSIg0X&Op/hI>ic[N}mXk*90/ذVv1ۉ8݃_•d8suW~#~ew$1TJ4֨!G%Wm MP4bAV5Χww6Z:yѩ,tp?x>=:+l}jMhGecE%Ylɋ*i$d=f9g[?nl$pǗ13Y//U`DQ0A y6wK4B ,*J*?R?F/ $"KA Jlߡ2y 'b!Aax~DYc2jjaJa?0 oWѷ(a䋓^WU L5k& @rV4rB](9uaqeM%nΟ_}W|o8u/Xpm*ҴopuPdVLC%\=e-}jQց9(W07>)?"-Z@ Q2&+nfEe Q=]0/Ýxȁ:\ Y^܃4w lf1;#lϨHRO,r|أ5[&$a]nR =>u/welrC7废kL_ [8SA& Y&/~ 8ajtO^q,Vg vuzLey4ުߪHO`#5Ț7IДZ "JmHtϩ㕪S3;|xF|/H7L"wR2R QJ6b iܽARm¼F_eZ.ANk=~n7䁅Qv>“4^Н\1Z 2-w[hs5)< }Fx9dÂLՋS寚aLi[pnbʦ=G-mF~8^p_ |tp=%1&+5W8q>VPaPdM*()W}E㽥brwnrN`l4O+5׎xGjg"S8±į8xJLavmV &rN.&d5#|dǙ{Jϯtȗ #}&ݶ{ a޾%QfIRrrޔHPAX1A`PC&gϸ&ٶ^:<ψ>**)AGOG\˓^㨩 [ZaKt߫ ])?袁uue,S.q0Lvsfeo Yj~ϘeէcȋW.:7il=69,rUĎoH^\psD@7[;%)M*M3&7L+~F9;nfp;G >&~+^?|+_?uq`Տ^ihJ y@"x:P!Iˌ//DcmuhX]4sFoъ[Ǹ) ?pfRwv]a] K3z9=ݯaޯH]_K}1R]qb==?s=ooA:Я& iE1]bD?d UKj#g _>Pl+% ­˜ε\d#A) ef^Lam6%*UK?B-3QJy+?軉r.gzfXר$Ӈʞb+ƨv iew?2^$<J;qCC֬Pvwx"'"&*- ~?v50#i 4$sUi>xmr[ oAg@_ {S?U7OZ~׭2Z~u43k.4tr)P2~DNV)CH}g$sLb̊MWY/s߅7YfrI-5?փ=1os},֓?u>0`fkKC/ProhE?2SGLHzf]sW佘i4FV6ð<AG`"^;HWU2껸:3 >3I7s(:qLx*gi9#jDv9--c;An_%qWi͔? c"pvQ"0T:O/;ٍ"Kq0ܞhٽJђJ)F/* _пKD[?b>,nDe !V>~<*H9oyp1% @EPw_/$yI ekՎ9Kf I~QR<y{|F}0O>#دj2>Go_'VCŒ( @} MDks E&B"xXl(`F|q8*=}ư6"VQ)kUD$.ڌO;6cDV\Τ< I~qǛ# \)dT'B6ճ ywQ~>ٟcSԑ 2E,2+`e1KLV5r#~龿ez8%3u=g2aZaAkåPAm=4D,S2MuwnH((C4ф3ʍx7C;XяM*F Пќ4A{y`=wfmI;<{1z0lCMu~"Y :t;.E)]'@[,~iPW=|`>ƢFBGo2%v_y?KU4XwS& <J'K+: G:؀'ZgY9OVm ;z[n~u Q ^sj:gEtW)))u2S^V)FkmME\c0|!MI~uF/3 1}>(Ag+@d͚8G%یmw9d|zK06}jk Om$i:tW!\ =vԅd}[9!}Ϡ=M7vsT(wH+i؇[ݥԽqpVnխY )J#ҍ#Q*AIm ýx|#apZ 4i=ȝn/1R[\'Hb%pD,<~r +@HV$Vқa~+՞aIn5%< NP֨߶C{j!ZsL6~>JdR1k Nad>{*6ZR~Z>4C/'~rNoj,\'x?cix~C>RM9i$tO sKkNO_! iZvveOWH)o?==>]~ƒFLvvDPWOkqS5f(9!<'#T=>}&^jnf>yń#ʷ#bI{Ze"]K2Jq+X:Z\̋ݒa+C9еʷ\>:4J($' #X}` `\h#.^M<*L*fn0G7퉍j#l4DxG4$ܟN{/(P@ұ]PgJub`qN<jM5`.xlz+l![:Qpx "5ـwSe;W()\M=ʮ )\M#MR9Ӭk(N8N' 6˟e#&%gHn"SdG5GiTYS'0@)h@@f)əJ@2ubư5 GN?q2O,"{~#Bc*$$KO/#5*|$D+P &#l,K΀=(`z^Zo!r_0"=]W~ûƣ~N#R-kQ N@AC:TeuR**P-oznBG4wBz K(Y#ɦ!xl2Ru  pW*s54ҀD 4s jaBdOE0Vb{WJ2~*f{=$t`<, M6`[gȐ7:N3k"l+/*MO8QږS6DUbN{PG< ( U,2209;;i~Ik@vZ],0/1r!9q+Ipy^ow l=d T8C%UII8\5Jxꑠ #Bcq#ciooFiRW *{XY&Df@l㴬 Βۤpo*VʢZne|enľ 38$GDa43}v;2ek#, P5$HA8Oz;{ͣP`t$$~Vm3F[&\Uv{Irݕml;yvtdnbZݶ45z_ȕJ@8u_$MomrV\[vzMVŚX X}L@ӛ .6ffB&v0#(jGܜ t* cJ'e|X?iE0.۷1YWmZ I:J^ Yxa'pT= CxΎ) O'Jg+"a=.W1<,0v1J\3tzbev*D ꦊ<3*+'<]yY^.cvi V{i 7ma~j\)YVRko?I:>PFXR5=`Rw41ZvpNd f_C28s" g*K0E!YUD Z|2nn?K2p;<81Q Xbۣ(ne4 dvۖ*(g7N_.̀40ҰZAmFҗK Q)TQŅ2_+( V1h:ӛ~(!Α(UDIa H" WҶ(OИ5WI~<'>GpFs?E sYFu $0V$Svꄿ!x+SkBx 8*Xg0g`Q;l~"L>l)hΪ%`([Q3B#<;bJ^.g;B!ׇ֤N~AJp+s WMHd `T)kn\@sxLcos~Q^ꁭԌ>?|W ϗCrٴڇN=k=Zמsx!=Wm=P֣ᝧf h'=j\oIk# yz`;y5)^Yl)h5ԉ=vκ20JDtmga$pڒx+AtBp MVfBG$SVڌ7̉nVN9Y!@yIeX:7 g?kʞ0;{Wt+h2 1Y,rl4v#2wD+n~gU<Y # ߉)O>ps(Kٚ{y_hGȒFp\HP8\ylf7WKD | 0d ojդ9q5rsІ,@Y|Dfiq|bkuO3hini]Owݖ$|V{`ViQd0SgU 햮Q\}0=8J-N`)\m=b WY鍆qtk f qfVӟ>Mi | 4_@បZBZ:FlDEկu\j+覷m!<9"z9ØkO_i1rJ56#cwaI(c0AfDGh?~,Ũ4fQvqRYDrIaM RDn?a՞^}=Hk 4#VeÌZ˧MnH\'3逯fJ!~fYgxdJ$ﭏc̲Νmȵ$&ڋPADdrYJ >G\di\~bwks 3sY׺糧Q3OkP}e Kz4I#t@;R5#bZ_-/u63 ?'.0Gr.y ©4diTsmiх[ S\t OmLkrj(AIi1h5h˩_<,}B\!(!ޥ5]c7], -E=pwa e p4o.a=CV]rqP S1Sk~F\ې߉cuns~sI,\m4n[`攈Yy79G!}m@b-5P+6+Yƞؙ7S%'x.@;Вc`Sp,, ZVo1LY~n m4Rguٌ9Mț^G?0>'f"PA^F̝a `㷽tߊLPbjCBW#@8 aa+Fܲۑ=2b$31 -"Io΄K5˜ٙBf$b4]t9icuĊkߡuW?#VB,Ҕ0gQc Nxe'P6>&jHN #N9:(o@ˍQ٤,4DqHGLb Y-p*'$`R R+9ґkLmI/G~ ?ы.75Wur L*#U+HڵCop : Zܴna|ӡ~GP5!RͱL? dBy 3`2k%V0j`N]`ubRsGn6JĜAroT!Q3+86mTd ^mU9d{|^:.ڙ5$cԂ U#̀vd)Uۦs!YfQ]̬ {6(eo6du,_N;0Q(#qBJyԮ/ZE8mRyR)wXyږlt`Apҝ/yi𬉥!BN?AEc+F56R  +jMKTKQֶc5~.Xfڽ&(kc\/*c_ktA0I҃ietӐz! Lb N'$K&Ȳ"ߨ'+̠Hax^VƷӖxy 5!mcS9",}Z K߁2MR0kb,x24 AU mmTv]h6!Yn$#8 ޖA!9G}CE?=5>R:Ht]KfUYrki[EOywjIsS)BoFÔ}Ms$k,T|PA!1]3u\~Ϲ*s7FMG FGk/'w}w #=4Hm ,Ln*`ȴ`WfnT&}7b"}$"{'b"=W*fɬ]v1+@S`/TAݺ~!o07vPԮ%![-TުUj9y@zp$ɒDMW4G5sR9Wv_H|d=Pz4?sS9 7g'o)\D3$2aM)€˿rh '*$&6^1dy3kIҢ(sxNBMWʚeWL7P֔^8_1D&z΃Yx)~֜A]C9|%'e&Q Pff2gzZ+EO3sS$,-k'nj~N#".>;ˋdV3%z #=,X 2 *m?@a/Op &-xur)3dUdfd*X4 ^/TVTܭ>NOMcuє<`&gObSf<&!{̋G֍JGZp]6YIvfO:LtpeW}ZIaYOuuGK1q+]ea=_Y􊲕psClƹĹx.܇q)(HܽsiboM:箩}ܞfݍryϲ9p"礞nN PlhVBjV._bm1 >Y.H0'PIiM9B6cXV?G!yR09dI%Vv :{<8hZKĆc3!.qrGبMSIR_=Nn~-QwƮC9n1D)ܟ'rlPm\Q:^N8-=T*& =0= teu2S>'̧ gVy6̬L ܋4z#Qѓ<4 s i'9d DDᇯ`nb,gZW;yx$#56qt &/cѦ,a|7oɝ$ OV,L Ar+A7oq(9]xw `Vk{V9$0{؎:QԪ46OkR_<G4O2aQtYlf,m@ž5'|ވ:}7M/Gay+/?Oݰ 9ǥK`t;<' ^k[ⓄafAY:_|uHxw1Z=0oXшW\( Dql<0U]!?jǫcdfn"x<#mXgXiҨBŭ>w?4h4W[ɎZ¬fi+蛾 W$y("ɚ٢K~<'_[?^1; _)(ǛVrl=+QԶs~jʊV3D]H^^sIdmg,z|j$J΁zĨcx5`22Kv{(}JWj9 C(+@5~@fmYN!>谛$G1L$1cAF{{nRnKwhpv;2%%|.tF{TQ,/i1>@㷋Jv*d|HYH,zFuf)7y.Τh3H6ScPȔi6F%a&X R1Q[+~x C,ImE,g}.j( @ۇ0dfeMU[ϡ8Tzo;% I0wsl6F(Y]<3XW?@9j&e/TJ0r&TErqC(3z%9 BN12Hd: 6ҟKp~|6i+yV-v͢ g}!9$0[AmrWWYtSOѡ'u M1tV넴WPZ(_ho +mo5iJe `Ő! ¯o;%Os`.O.@ <^ouN=5KzGeg& W8_8Jladk P.0p=o\u5Kq/ _z#d~р?XEIVp]L"t69ڪO%:"w!&EFjTp/;NA7]QZXCt.?*]N:+Jw!NN>>C'obԃ~v ס*kŜ0(}>j ]'; HvO@O.JLt1Y%@<~:𶷕o`\^5YlZ65*Ӥ^CX `dPPn)y_&ڟ&)1_!tR1Q:ADg=-U!Z ձ|TeX٬FW G_[1*4 Zsh?f݀زu+"Jk eCP'6we0dQFM;W%1h"権 wdZg~̍lE!F6*,[Gݐ!wO}h b ӘW0 a)MkSɇZv:btyL%+Ӡ 1X¯Ss!@?t ZddJA^ 􌳸)9XhLYQ"+2a*7߇{@ASNZјgGЗ4o71;?E(uZ-:G`ht5U|TYhM!TUn=P@jI2$Ow -\v\o ,ٽl;@0 ){eS7开jhG.kKW8%bn Q )62*ǎ9΅c=d:6kHB)Nj,pbaa{b)u3@@aXUFqU뵸YUyru GgpѶf>rkTlE յfGZQe")k0p5j# Yx@m7`֍#5s`[CMTbz.hPXv6k -^́=# ˗7cY]잹K)^$Uhj^Qm39K|gܛ!W{c08mx0 ].>Ct7U|*z=Xa lQj02L{ ?$ĕ8YVⓅHPI&lum8Gl &`,5s όETqq6s'bxxP2H0Yvc|ŋ6$avmܕmzY^yӽ47 g;Djx.q-4 OƒH2 >3޹Sw$џlu1_ijT"Q(M&D:Nok]˥."5<[u.!**=*og S.TAv܁{=qD uv|rJ87kWnejZ9tŪ!5@7K/$ a$ǐX}_,}1Wu0mjp~|cm;k%._Ê!ejC}dR%޿!G^aTovyKO1X,d Q&;@BjUhLhTjKy{//k AmlsHMsG;´Gg!6]x+o~mQO8 6d*LJzs/L9bH`7Eq3cTpv]yTk!#((Q\D,7H RTۉA[/0+xq vd @F >Rw~٠N׽)kN,H̕Xw̃1iyCdCX-^_A_nwfnt-q tsGQl{g bsoߚVo˪mTq!)1 MkfdR=Iw fU.kǓCӴ¡qb5;Zf0A1l+`g٨%Ĉ5T[Ovi-(a;1Nqb6gE~Op8I^uM_}:+O N Kn'DФ6Xsj%%Ej;= j?.5537Nh"[ﮫ roY@E1XBUP=q!igYT¡j й#&` ,mOu݈.;^"i5Rq׌3"yysmSvڙ Q՟{~7]WaBaU}(6v7[wGvɨva}߲YKG$ )ϮXY9Kk|;q7TZQ"׷j0s'nTTi5ǂOAMG:ٖ'̤3!$!1b1h/ k&G@ڀ`_p8^8/.#!][pxSVa`@@Ϡ[WWImnyħaءA \^`\ 1>kǙÍA<_Oc9Àd*w;v]ؕt#~릜PiVlSWw sT79Rw`DǾ/ȗwHmVw19IIeJ|p+2dY4hiQ}FJ0nA1Hp%FRPp3It'8) fA,cURyT }I a_0a4\ mYl\KО.,9Q_0ӹ%ҒCq:i dqۺi!-xL2M񾼌uyȺfvr0i`4Ĥfq#q7ХJS*O?_Bmc'pI@K~8̧=P PT0w<0v2 ]4zz[+!Yˈ?/-6UMecO瘥:iY^e9cGұQy/ÿW^c-B/pC19AVxL :s?MB >aWŋ*ݿm.XPv)}Ÿ{RD1MC@ž]|)f5Ȟb<0+=4u75~l˼/Kc!s|7+?] ǔq6XW\T21Ve)NPKA4g6d: jǺCyQB|&aY֚AIG`jnU>Mg|L Y\;/D :b 6K*4d+v1@ykppمC%߆!Ձyc?>MX>9![@{$yWm挅TL8GfEpsi}z2 |{~;#:rTOýi!DpfHvT=JKU8 > N_!onXˇX϶.R<0 $NW]ɥ.x-6"/[4Z.=*-PAn!QK-,d0?\0񪿖ȨB7kh?WߗNp"+?װ ~.sդ#(TZԎtݦ73j3epQȤ1 3K׉ndh']4דQf|:Z`/}ąGOu٣@ѣ]ۀ ٙu&(nKv! 3bY`ޚ]g{+eBD1c8W߹&`q;^/ZY jD'?1!a o_)$ Cڵg4f;Q*B(BBޝNvRod-RsuJڥH yN|tQוVR !3;yHbYΤ~9ǚ&tGr^S">~%|#zӅZM/%HFa@$v] `nթؗxU0Vm FW=k3 #s]e qn$+3U" mv0@qlqSʑky_oQ?hhfAp!J*5FUqk>ܺ.YrWp߾gA3p4'@s:GoqF8 JWúuio\* yi(& jruz]Z)}"낭!Sэ8uh;"{](8h6.\5u0?֙546k- DWs?pTM`տZKq`<+]Ɠ=At<_=Π8/]NpwnTw%NF'D(tWu11Krz=t>^sŘRhZ9P%{hOW?&TsrߑWGD=Y5LqFTV꣤bj-]^2d9N'TQ^cg%!V UgrI X!-bޢvc=|xdh rs!d\#ȻEkM7Y_mdi-|{=&_ž͂c_T]q0 KH=) }M}`xIq''`'ƉLذW<ɲ`e0gmH?ۚU! $(F>j 0$`'|DLd5FRCN3s00 ~Q0a2д5ǢV{%^tx_`FeQN5yTv)Ŗ9h77EL2[do&~`K_nɂŊV|r3#0a7=qL{5sg6l81:m$J`Όy,hd"m p6mTWS &ǟ;8v %'4 !ʯA?`;T3:I^زX=7SOL*FO|[K|y 5Q<>[M{2]dDpdAȲ-g t,j(+jE57@)@s:+% \~ /Xw^4g]\[q_:_'xYLꦘQHdw:MDWg.]{t ̓/TB>]$J?"뢑F{rHࢧSÙ4.:]Y釮µ!q_;ZЏ^U[|4EFн,Nxh-bS< ig0RR=x훟aA.`8F-}Ϛd[N# SJZ; kO+T2%xؒڎ7Re-^>v{.T%I`()GyB*[}paĆ|(GWٶ>( fZ~AcE%++{@5$-ͷma97Lj\Lv%Ǐ5A"GD5V)E5 YZ^J+6!>z">a*fçtfRYp}u7I铲򓭍tLRC||:0Ups¸&+1*s \hSp|3$}$8i=>S S8)@#I0˧t=գv& k. iT=JY sf/qOZ)ʊ ]*Z!eJ*P?bQAY҄?PlGχ_Fۨ8iHqfG *SOɰqDeNqX.b:)=(72Gu&\5jaI6j/rQ]8cI:wSm%gF]BD6Oqǧ'`'nL۵M &<. yv;|(S<+6#o^N툝\W}¸ΌaT+/*J<][dǰ_/LE 9;_B% vLI XD뛊?G/((|/}Tқ ;Զq&e/*l@TD^oi~u-@c+U lZVEb,, E@ D"6kQv8ʻRh8J=w#dyҬFPwR#*ڛc Aʰ=d&FnMc MFHF< Ύw:bc :v9%/f>a+:QwУШk)LL{^蒯Z!?+ȧ2uVB 2kƝe*煛r߬| I F9{M"N8 ta[GAqVNu ^N543 N~-ޭvLH&ѓ+~z.V88X6s 1O՜fvv 1bEƙ+*Taiy'py{xyGW7 98pI뢻,R=;J$v}aZJ>: Ah9)#3xZG͊숌IL0?RtJ2f+n3,hj&v n}AuaU hNcN) -kOeJWpyG(-;p&0J0B2bM!P䔠8pL݄ =|>ZQoO4l9X!xAhe4+VG`N՞*b κ6AKYF.,ynkK')Nw`S$># 3GԨR{LX "K`1 U=D/D+RFI ~4WK+U~9Kn^cN8YQaǰdϣoCT^lyk`e/ͽ*Q8\9n)]6Ȥd?g1_I%s>'Q, cA۝ph eP;B踙dO8~T0z^w~?C_= eGNwr^ispC:EҍK:S|#TggH_^y!) [\n쏉5Q诵P%|8:\m.h$C=hHYuěʨGgA0g^۫9fqip:iRXO69JĨʈv\R-xh'/< G@jiO6>9ɮŹY?^iZBmQW\>𼭿V-8k&D!|}hάvmݙ?PT:RJx< GQ樂N!5"t'dbp`"Y~)}Yyޣp+O=},dJY(7:4bXk%Ҭ0aw9׎P8}喝g3Ez,Zꇆ!%8ѐ>aZJUPjHqGitҹ7N@FG5&9IZ>1_QF~[9p nʥlf5&.=Q9ۘ|])czz@ ,wyM 9ez2Lbikc76K*L8ع~krL@罣Hjې0*NwOZBBFTQuƐKc./wq42XHf:FNK1 D`QlImXiMMn2z5W0㈆gNgWS=gfOG٫ u Jo[JvŮ;)N f66C+Aa{V8t5۽ZSƹ^vַώэ6ד.2F٭£x r{ #H8g%O4B3d_b8)I?DBg$"xA%%`Wz:yLs`:srSŴ.'Pըe@$Zޚm;mH znجeݼgU+Zn) 2DĶjOC_+e=J01xNf#7FyDm0u2Ih06g7Zl2(?J$yfv br)ʳQ^IqF7C fq:P<\m{* &I4{+e&SfDEyZ_4(n{(|)1F =-,ÝiquGdS} @Ob=>q{bh?jJ4YtrxKR]ᕺNUZu@P`!SI2?CSQ ))_ ̾·2Swa0ph@f &ٯr.F+m>~oS@G5=^W\][Ђc~zPPAGp'ᏉW"Qd6l0w߯,O&9%Nΰ7x-oTG(j()+f ;\;?U0A]'#,U 2EMV0W2 M!cYO,=},y*kTܣ)1#2EzQY[A[}C_}3մ`z`qLa/ 'ؠH3{ֽ4 Efg=%ɬ7WΪ[Ct}`VX{*F$EG(3j`Mٹk6lj}DxS;v!IU[^pVlޠp[OȆ)UUmwi'z =F:.tzj^{RVm5$,cp6lNͲRF0W765P2/"!IXI8F+C3|WТwK L"hJ"4 'y^ቃ6Y+bpd( %iN61V ;*VPY=1DfUyW_!1޷SݲoWmۺLfӪӻO}(Z+`Xzmބųa^)9ڊ?8hein:*r׮̉~I.$o9@EcGhx\:tOׂv/6F^-Y4ʏlqx2یf( B)BcW7hmj٠0_<5.JQvT`a/&ZWe_st*paw&U[)a<X)ːQѲ bK<a4^& TM V]C$>3(VG[PRmcpYN=1$0aEB>6HvߞVW/ˎx9`;_Id9ɝ*"4?d^3}¨(@8Ș &d՛SQٹp'nʽPYc*0)5%7L̞TňQ?o'~ <}Z ۗ!Ku95o4+dխ^cmF k53>A7)pG+āl6?]=Jc$j:iil(G]Wh']tw{r9TV~RJec2,\Q!$٨XbcfcO 0pLؓ|2kPy(YPizAOݱA S)9P2KۑHqvʴǝUCG^Nn2|yq6g UbztWSր j|y#~ib_ Q D UÐWT.wA9ZOjxM ƋZ/JQ6om׌Zq=- 2,;rMc<=\grBfYF(R[UW}Θh>a5,?<\F )G[zlh-"{nGI<͓A4ʷ?D?ʺ; g.(X.*2ϵ`5I9n*k Z.J>NdqPt*.c%P6, 7;|{v*gLٔ?eQMpIad*P'qkpOSžCo#<ʼnQ0]B%b4l=Ey E)=?G㒳#ϐ\TBwɮvhFci#L7eEUev֌&zWi1Fd\5vn*cK%{EZ}_9QJ]S=fBHs}ޠl{;f7Gv^,AXACx;%!+sBCl3laǡ 8u mk 쩼kZlK429,:8C8*mL,d`f7K86%:!o2YR ɏnIMwvg1#HȌS-ivVvRt0<.2&/z68o3gCxŕk|衳9kA'jVt8rOud:Ɓ~!sࣺy%B<4Ib6\Uw)ؕ-Pȭ)%iu &oj&鶰 / YbCx|bu= }\tPӳJenau郫+$ulұ;,mQ@UxJ5!Au;}fyͿrx)t <(!UyJJ&xdq&q'TР vQA2@} `+JCԈc=: 8w1lJ;2/]Z{Hkȱs@tW@Ů ,:,U9b^>RufZ#!S1YNU"Č > @Snڢhz HPޥKY\@XT$1n<])⼧Jݞ !—.Ջ%"/_T>Z{/M7gY7trr>dȏ}|d͉b3uhPԤ/9ng924ï/P7hVzXx*tWSy|7xlz:CU'QMrHXuy}Hzr =0LA:(p]oH^s՘v\FRP5i>_]JO@ S}e1OAE`c.n ћ]shA)J4S5߬q-s 3h`L4TC^m[ҌP΅Z~hjvSv* |RUKUv.0kKhc'53QBώ>@dW+Lx!E&_e@|j[\nk#]Mo 0?Eh/]D^kgeeK;٧S_ ԬkHDz+)lG|rxΘXЅB #CS6{R,pm[?M3ǺxqK.Ztz x!`iИwxQnY!K M{vs/J˛HT+iDbhEӯPnggln5pxpdV͡}<^ņ=? %.C8iLZD( A(/\8B <$ۚ 1ڢſ^ٻ^P]ILY82|4a['x:U dxy[N5P>[x'EjrMdWNO'Hd9sRZ=t}AR#X`T==!#u>n)SxfC&qpvO*$nkv-;V)gK AKLڵhNC8 gƤuXP] D.F:CEr!'u[u =hIEVJw?{(V W}Ǵ!!fG]L|NiL` xJds0pgy*FH5t k\1v+* 7g:%|wRsXc>2NF~ͩh*B 2[٬ӛNm~$$^X¨7ې{䝴N"4L2l(믓E4wYq>G*\+:xjh idx@l@<$aK9Eg`|X @p^֍Q1F@#*gr9.]8oXn0$}ch`+bgMJD%5)9=V|x3!t_dt]r-%:,6;tPRg;7U}1lD3:4U(E2p]EsƤ+ VK'3;j20LCr*=\Qgy r~1_Z2C8$ @ijӄaΚN/wLt mVaR6>Q%6U9K4'Lo6&ވT f;o6;A5,3An8“&e GIMЖANL`#;kқlˏ-2ʲMGb'l5ظw*K1Ҙc%yy>lQUu!P{ z]Z8! dzR:2RT qḦ́YBV; t) !ڹyK՚*s$>SA tILLwMv]?[FM63{\)׳8&I\AvRzG{=YMy*FS-LXf !<}h%şGHe;Q!>Z5p\4ζQʈe'`>PS+RXmҗ [w#.nȕ 6{/ࡧ\]Bޢp42@sxWx8rp?qZ~ZlZ>X+J$l5v*uQlcsgYiQ?"Z>bъޕ8Ƙ/ o?䮚Rv VG&*im}G妒{]N|HjNX{oD4p24(wCks1eMe*7NrЇQ$}\~8,q<)Y.q1؇\[&]aۺŪ+1#$׊pk(fկ&$Tע?.J~6: $DHi|ps8/b/8#ogq 6DJ!e(洩mSë~ej8]>5aH|5Rƞ@ݾj_\yZ*߿fHܭ˥<7&Zn֏b_X& loٸC- "k$68d=w7\3xCuŨ&* ?=Kޫ&l5bQMuHYLk,_'}9ŢVmoLsHՓYƷ1{BǾ_C[F#$Haz&ۿPMw*À)Lc[Uا|jT"ۂc 2HD ?#Kuٮ7>ApMpaB5` #T$keryPF,^0,{m~gkǼB^*0>9I-z0.$!F'>'rKDxm`VeIgH %9XakX %;mCA5;@ 5\x4Wzz4u> {iFըcWCJT]Z:l$eF$t$ -(2kP8 17$IOfOR#HR%a^i1߮~{1 .ͺ=_qrǻ[5[j9n՚v[RlB',eX8j1XϵpZ eGHgovˍZk,4$4^eCv.6K"V.O?Xج7CЊg-犇>(P?j]Gp- U~1?PǷ@ػ2DĬ^'U";L-m_ }ףg28ﴁ nsIP_jjuU-dLai]Gت_V+0RU´O /7<c;]m cL>y{Nlgb(ϹQ'7Kh[%t,R Z)鲫Xp:y'a!?88V(zg]1 {0d* #ob"`Ih.y%SƏfm$Z=рG^z{J%RZ;D.J*8dE/HZ4i3H(PGxO술n٦qaqIFPHw~u1.=+)SΒvS̀k;{͓ˡ^920Q;;VϞA4osIyƗ/A6QsT| z# B՜Y1ƕC0!8)I<i%wog%ώf@+ԗ,2.6 | ]{G!ppcYL#4M5C٣](dMOÃc3JX<@cz̊áF(g{3tWtJ8l5/㝂Jq? ABA(qj(JW#kSOxJ2%D"țgĔ~4/A.#D6b:&mH񰮨n-.9`qfe7$4ޚ.m'#-F M" a[];< !]<;Ҏ͎_%?BeZ#-e'$WzkC b\ _]L؍'6K*:L }ޠ[k3#GWChb$={;> oXM6e|+`$>і~VҼږysۯȜB_aP0%]oVKLk!{pT wmbT4"gB̧R;62VbZLr4Lhqp^e4J>17!WaoO Q suq@:D*ӊe4Fҩ>9]Tx#ꘖ*+dFi3EnO/##OA[Z<kXyOzTH9P8r-[ &۴N;J0u刏4N\߬)kbc<o{yDŽoPއqgX㕡XI Ѷ2|,a6H\'DFY)rDhKj%SB%} <8iL xi FǮ)fبc[VyM,knX@00罡`VOm +ruk^UQCyI#ʺiPZ=p U"OCި*k fp'Wl0Oeh#mN0NE(9蛈?j8)#i%`O5~Gn?)me]B;Kb#I+,9z|3'Xϻĥ{GŐ1*O VGxzTAO0\< :'no&,3q}S;Q ^a([]}7c:fNJZYJ 7D` J`|rJd; @\H}ZDkSѳߴȹHtQ{?S*ɣ  ITuQRcGkQ/U0%+j pWUyɚ]w'iUXبUyjlEy'};nYEu hҎfq]% T G_vbugk\vbrZ*G2  0Wayifh(+0E|}]?f)~tt±uz(ԼTSH s)f05Ʊ30ګQ[tx$!?\_ lV:Npk`;.,=.uجIo'w=xnWf(af֨~۹zHVש+?wosku;}(857+L<@>n M7XX^`_ar]X0vrZLFusSa%NP4dˉԇǔv; [qKB+6t맨Mxh0!3(BWMIY׃cn{Tk+_Ct3)GBTߧ0ml ?*/pxƴ}h,˦GZnw33[KqJxF" Zk_7DoA|O8y~Unkʬ6 yDWx;-^KeNpy;D` K֞zW/X@6]<:d$e_ږq=fA(Ahy 1&mU'NZiGҗ0EzEUcS"\ws-A]-T:c 8gcЙpc*bΑT|i"}H oG5-" /FGp'Q 3Fұ]'횱snBcejZJ/>X=L*EjM)P*Zo ok!t{mn ;fģ>ghpjÞ ZY9FS2c ÌčP,!/IJZ/][{/61+qd/boDz;y"_l l=>6ρL~ANu͒j_Nmk(;i_T^,(h@iEs)DXXn6#:yн9Gd n04"S;0E\ۑ t:Tsl!EQf1{0@L C?nvcH8uR%_!VChʕvlӵ.5zפ_6\JV?-.K+WK9;B~8H8xzWe3KYȥWz]AR;{>ӚA5fkkx3žzmW͎֞jɧ{%;~>֖ΗGW:XuYCO}lȃ>̓Ic8sduB8b!Wb3qze:U|#qvgXuhh.<̣f~Lu9Q}kuGؽߣz WT'j5V&()FCLJ:*rW+kjxZ+w֧;޲prkKwt8mw6ZۀHAX'Yĥ;VaZ9pxTPFvwo/13/){TfBPg?3X'7cO*N sTn;Д5 r~R ZU E"z[(0:eףEY pqV[ϟza%U!ܺ^-R"lZaY8tC7L]i3Ά vE@tY-J]Ƥ*'2ܐI9d =O3)Љ ka3DVa)%W+ԠCګFĉti&n@77SZvS[I-#*Ni#6w^)YV^CUM;"⾣UcBUyE|ÛzIV`p= R1,sHfw ,ӿ%:UG~{YסmF eP) mCaBɋ]8jnE?M8 ̀2E^@& 8J?IkTfxzOx[+!.n51bRw!v5!_79s_ c2a(d룼eV%BGFЂB^qB ü\Vu 렣?I Hṇ^(+z6$ VKFs滼kχYxeM:;b:]/yQE$?٭7k N7$6N@ŗdvψoT6[l8RwO66gե\(=@dMQ mpZOG`bTZA4owLG_wӱ.%AX<ɔ ҄H˗ ڼa) ($!?O:FT_%Lm۟ojӲ*坳 + Q>]SB !V ˶.q>Aдrd+ΰRT>!V-.+$V-1*/N V>E8{=.jO^6LU1Xg5XzUS٨"/[ϲ[ ήXX0G&W&5WpS+_zH/C׈4'3Y%!wcU>pD-p3Q0bSu q%s8DޑL\Gr%W:3!m[gPc)eJDU:z3᥀9ĺWxH<(zUpZ9稱1buN:rB%)HpVx8W3'tzM ϛ4%'Jb<=xХf^z_j*C 퀭J>L9-t H Uj%;P U,93w7B*I{Y Zsv%{0ݽ'ػemY+\XJtE-Hx 6PEfآ`3UR ̕2c(*v-|c tJt7\RDBE &>Z afISqziX`R'MƬyԚQ+HF"Q d% \|h 93r>;X+Op+[`!v'\A9T-ǸDx/ ' ӅIYܵ/1/y}Sh,].*V^1tH  Mދk5p@8Tp>O\,/=8It{Ex V@=ޥ&|ʡ$%{(t֒{x>H]BkƋQ5xUrgY$B13]}dXq2Dx!2r`Xa5h2WS(<nR *V DJ6)"6SnFIWw+x Ky<E;ͦB 7K&f S뿔u~tK3d"sK$Ҧq/r@LwlsE(?0E,D\HX4YYH!Ԑq]]~5E&h1 |4e04f, k-,keP ViVVq]Q1khsVL_ )qM3G|@T|KbUZvl()D@x:vĦXugPTE|U)jrri8EœaQlFt^A PaIyPBIwf\V<х> }[N2A~jM=/L]vg䲲IBYrvpQ8_'^}#Ƥ$88XKi7-ӔDt*U0AWfAf"U2U -(EEmVo:+POgfl.@Dx}ÆvϳdEhXM^Y6n5\%!{]Z#@pE:#2J[׮3^iOB! 1(9HKChR\>x!&Ʈywa#V+BrôJzthgF%A|T t"FXӲhl$yHRTҙܗv*Xxv}Ϸϥb{I XYNЕ?[A2|#m8j;AZ_YETw.yWć`t Hq&kdS{D >W)7 NO9ԿsJ9 KʳeYRYؘ's_Z6ŰQڄ8%5uv ԫIY^_vφ\zgGL r[`bFtw' JSKíaL8Jv!H*W˗^}}_-gu&.W^n=xjoxn'7N>d6kVc^ɤtP ?+u1G 6\})[=PhϺ@:/y&c[8"aճB%6q Z䔗jHn_A镮lµ%& zW~u2(X(^孳MvW7nw7|Bzpy ߣ+!8 (/b"iZ!+ph+3IR`[ گ G.3FCNEӕ:5{-3 mCxd>ZPO+N:JLCצt›cpav1>9 _SQ_M>zO*x>EBzmhg NI[KOOVz݄0@W&kjZ5>?װ|+r´{y tצMj/,%1_;;k5H6/ W1t. a(/˗AK EZu̵&i'_'d <2EiLA:`GmBA6bWk?;WVH.5-$?C㐱g)xDŶB+W5k C k\l7<ѻ5A7 _6-w= }3re$B?ׄ7`;4T6<Fޣa`xl;XQl4aL.\< {X>DXes1Hn"5ٻE磪7jf>p9ٛ3r|P"yZƇ;ً ni{~9h#dKxw:ZٸJǔCԫ!]#ǁ^!zN_oUd•|* etY-3mGii0{ Ӗ+GkbyO{*` 'ҥ4á/b풌lN摕GbqäfL'6WT(sH/JƒLҺ,BSJdw^9LfVZ흉S\bE$YXt1zL4ZpW%P,͕uVɢJ20Ra"+uRB"nB`8 ;̎.NhDD.Fy Qz}LzХ3W!yH0:N2'#;& p*$#=D|6@aj~*9 3 w$sMo?wFz[[,~Y!nId@keng'[MEKe/ s ƉLB %GRVjT-LAnjDza;]B4YtDID!IK3?O =&6x~x;;>O]YϘg[ftN2D'Z  5,X;)$dzQX="oz2쀛TMz@f3B9lN3چ6u:kQ{[@ꗼKj,_<%OxT\I3(&l&]ᚨC+ʞ_ =8P`9Ċ5TjZUnZ:!}^t팳Cxv֞f'x3K?9 ʸ60i78njXrβ=V:o^*<שEFpϨC2On 1.xz7Ng/<&Wl+]h͒6}eUe==yO˧O4~;٘IPT>֤©O"4|yS!X=꽠EgH4$(c d kC%!N|^%s:8~z-v44,qHfvv/8>|NUyn]G,Irj>b(R+<9jbMC /e?!yV=ZsO"i Ы}?mtRӈkѭlDiK*X:G_lKʄ}XJ),lvQC8J$~O_| u% U\:m{>6%c*ELo͎6~ 1Yˀ9Nc佘ܱS40TTjO(:FTWGzX٬Qfw] U6 hrM,oeK1,7sQbc_ọpE)3o۾U'sI0#9+hp E^WnSrzamUa}sU0Im4t@c-Jna ]|Pj 9,H`tEd 9R"9@%4iVԐUï,d&N xGn<RjM}kqBo>.+so財Zuo󸑘tj-٪وi0?7.03¸)EXUөÒ.R3CڍmԐDw='(۶%ڶ-\D#'e ҀM(JbrYx/;@:M̆VM $r]AsRSaR-QQ4zJLk&[zѸSڶ>k-+o$F2o=Y7=xJ{" ?9w_;׽!'eXLׂq ;=Y{^~Hg-O!iz+!OK.F `(y߀FZܬDZ)Z»zf)DrS@&Kr_$*om}kJl:j[?CEYH֟C&P18mj>FYTN0xlUo}K[,%*wս$T(Wџk7!Ck ~ 9S?zHژXZgV N.Eް(s]ЈYX%W@J6&#м7w&UL 2PrlvU0;v flt&ʑm:|ECPwtnӧ%vX}Z,-\@َ.\؅dU2v*QXQ\$TH~< 1ٽ{D|t/Z;eaGY8N]9ik-l |44^^0"#8KI4K_>8uY *4L汎ckV u/o`I0=6Sg*8^2淫AK( OJ(28Wr +\W;-LsBw^v;k.jK$C}vyS"I^,ܯ(&7 A)&iYN~>@K͞)"FZJQf15UT8AKZ#!j:*45ĕv6 ^DR5@Vs]gY)؆ֹ`=S p"YXÌP-&r~rJjo qMJSChnUP/krvB/aU:8X)P=6L:3xumd\bۃq˞ܺk4hj趱T| xGQ ha .qm}B)odH]`eџk9svvV ^x<\[hǺg4ibFO1J?LKov~`yd*.LՅ62|1ن-cpoUfYR'~U2 ğ~+61hEּP[v5X^Xz[X~:Ѐ_[-x!e2/t\@^˝!ǺZFi%/S}|BSzܷKsl21 &408rY& ib }b}*],xV-Bw,P\B[LeOY%OȅëbO[&_j= VE,yuLj] oDn+WQ^BR'Z侩8ߕ|( 7EܢbjC>I0@i%B wYVe޹cHſWq ؇CWlU}6 w:L%ISY7$=57){[ݵ&ܖي_PQnzѭՏ\iFG Pa#sWW車``lvF%qM! 8̥L@<ކ+5&S>*07 ikIuG@zPM"ʍ[acy7B .wSRU -xsmg<Ŷ-Bb+6X,qE{ =G0x<`eb ~s*n⬧*Aœ3Y @ՁS3چdC+|}/L~G-DL(D]ZhGՇ"ko5YvARj R4Y-HPLA>1BZ9C:E.**]%f5Z$S/H 3{y[NGkG~W+IJ)wrQ <35V?vGVL?-vS8FF+f!, XHyɧd *E4K",$y" 1i~^E[)B`4U"HmTQ;Xnp^ʉ3:+EP$ \Ś.|V3x x2`^.AX;7*~|SdOI)jβЉ W2}`%moÏT,;*Au-˨zZm@&kS5imlJyN-j΅ B j_McV lBi}ra1em2ߗZJ؟l.= ֿXJRVCVUspTh1,f֜qOVM^8[DllJQz:b絋 1P1俌s?knDƿdݼ@9`QUބ5(3IPzS'~# tNT!l!Z4BsʈmG Tu|썿8]:LgD q-=AMOޟ?L<5H\.tPI =+du mF Ѹi%>!VN1[f SEIS?5𗥵P ̆c{&p |n UK*a'8'pT/718T ;7guLI=54jDմO S8jA/U#:nѲEH/HAH$Pw?[@P,WvyrX"F T!UlanWUVU :jmTTiHXkҬ]}K+`G# m4S2Mưʲ60=-oh c94$ 8@AiRZQg*UUL]/=PbiAm[AsCĭ]V*ؕd\lbA2j&gg4W`?Yh޾yLE6t%Qï~= 0flRɱ\)+7FhHKr/XlHQ]c1IC#p1*^pY۹6Ƣ >׷+TVKph Oqh.L~-bgKYFDR4Q̄O*g/actfZ?̬jM J/\䃿MTP-m`|p늩_gO˫y#Uۧ/8T}oTWI¿) l, pȬ {}*M­[PB(݉ |oȧzPbU>i/.> N-=& ;-%DVkZj%GiR׷b+cgF(MkZ d_T(b~SqGVܪ;J5T'\)L˻EP#Hڌe[(?1 >c=A%cn\-Ecn*EDjquA;e]AnIg'S׮*iST"w!$Ay7s˙Ƃ6!z.d:?̢({ӯ2D0Z5 a8n?k 5YB0rAaݮأ'CSqcIe["&]}˜kf493g1Z@xqYnrOKpr$#SE"EVmxtqPT ;-Np_0;͓.EȢx{kL0%. m JBzm_|Mgf_F6 1D0crhsM,J'\.)zyljx5Bl+9yeܢ%pC$zk1\hF,l3cܪ7}դm`CӀ2sXRHPV_? sCGɁ>N Om$&#A: BîH+Ux0;RbQW/ϪHlrbη!$IV5CHHGV3,!jw%s,Cb;R7ݞ& zn m;78͊@סص~QȃPQkt~U RqSh dw|I1tzwW9MY]h div0*HDIaCy Mul 撛*rcHпP&L~y{:4:YҽO{pf/N؞m<o}Po a_"5yV~Zo/[o>jbZK߀>,uހNDͱT#'^[>zSSmчek\%@ %'q`V yB(&G M@Ǯ_Vn{(Q| _g7pBLPQDv,LnkR~ ezfe}@ 2 ߨ]hg;z>I>/B9f{ڗZ#=PUsMT P7&Gy͆! / Ɏ_;5lEZ`hIGN̡Qnz?N0 NHX+.g6YB!0`cJW)^A1bv*^Ѿ^>9!7IxSH+IH罣&"ФVh.?eC3іdek4 @̔|vcfxgj%(|#HBE M34Lm؜9LaX[4SAq"&* Ԫ 9GǧF(wsp!y7D^&7|GњOz>qV1BF7MXʮes[)qO7GfG+8R,p)]ѯ/GgR*t»a'ͷRyF}*ۘ SSvUF.9=Cv+DŽaOߕ47AƴL+ g*\J»HvY@-`M<;7kYOM dL/MZwǃx_EJ02l%.WY' 䪙8vk-s\bv{pJD$ixS(⵵8@ܾH$hǥ4G3c0$Rl0X4h<^SF<]:"Pj (X46n'u x?!jFٕ[V*<ջI󐴯:N]T̽`SҺox¹S5;z<*KjIVUBe;0,}yХ>({ AaJTX$Eh`ϱ/@?D:JX>C#)HLD[}5Bqt씧X.sk"<7⨜Y{['`m,#,C9ruʊr?R>G< LCB1S:GS,V"ΐ1Y]]k{EбM4#\|zp' F|.'vJ3$:Wbu兎( mYd3'7$g=` -8CJnLDmA=UEt37Gd7cg*R<8$2q[XX@uLJ^O!/YvNWtݝJ Izv]ިGT(yՒ6_lcE{5hVe#K}usfD:v*fyPTOXsEV1q4lhTrUf#WҺzf4=ub0FxjJB&mU֌ɻ/~F.3|V[/Hp].be{ATY[¥s1j%!)ijN1Z qGH%KFټCA6 ?ܭTGJvbp w̥vaoD4,Bc^Omv7y5`$[:Nd {޸Q|[;skOI_M#֧r6wٝU~,|kY@vy^/jԵNiOVZ|ӉT=ӔsCj"F?{:N!(UWj0Z0T܎YvzkIxx=aGQ&&D xvgfnj+Ghm%QdeN?8ݷ ]Ú!/pG#&(4u6\U!"l%8mzb^VZN=OUOTS5O.I}@ S/8MG1b?E AkQn@=952By`kl236I漓 ͂n*YԤsS&c^ .6),քܜ|@}p3\t*P } $A2:/DŽUp$Ӝ'Di >"=1njɩ`Լ#/A}/,'vBD .bv]fFG+OY(i DK(@笛x $зMJRW2b 3gV* ف_e^cuPJA!v'2W/+ #G Gp%w2`>{ s0c}(D@qA`0aWbZVJvE5X>)=ХT4b=;1Q5ܔE&=.a\Z9hn$67O/\{O*,l+yGЈ!uz2C`lK4ɾFbTv}J55=#wPVBz66?Y~U|dULG6w6MN#)_mI" _7FT _uiDsH2\ǃ^3? FxPK>uUM=lPؠ{d8*1B3e s! R#l{'Jbbuj\׿gp#-[Յ"95)- ermP^Wu^WcOIk |d3/N:A-؅:a2x]dGb˳ʊN~Bq.QMÜZK);g_WJ>mc41.+| lP ,m=ﮬgxuf!M'~4AC(e:`X*Rڶ:Ӓ>n+ o^oV\bЎ*0 .m5RO][\mR2`= WNpWU6xgxưZgjRȸ|+`b`enouHw7% 36֮BB"z°|mɼtkI! e }UJ;?mH@L[]cM!w~G 3DrFqB1̲=D׽Va<椻Tۄ'QS"718^ݝ{F@9kPy\15UJu=[Ȏ5^GBkwLέs^^b 9;e.%cİyahf sMo&Y؀mSpůqDwA絗;+V=D뱡:-qaa/( (W 30ϸk>s}*xq}K;kDF}:sK?UVS&z,Kq2TQllFwBak¤?$DW.ew[jfD]a2M.OLbH'Kkx,[E\1A%NeC da;512Xg;T_S|ўEWd΍%ilF/ ܰekZ֟-D&M֠L,eMM-٣rB .吏?+ܼDU[!3'zFg6Q!Fͱ%5I4"- ٍOw/=L-jȊAZӷO[}!U"Y]?Kw5P \k x=-pab ڇ䜆[[R])f/{'0gn85nXNY!0HhJ.x"e!\́0sSZ ?3!1%w¢ꞽؗz b @ap|0ܕĊGQ' ]:Tnt^y-VѦU;Z&Z8#߬=zO6y!pZ%y{BOCس\ƇG.6 mLdb4q-\Rw)T%9KaDاO֌+md˾=ۜ_ [57eh"`wd[]w"PEG me3D%ƉXB;i͎2Jߗ P̀]B]bfK:q"Z X]L={2\)Fc<į7IZXnZVVbZB̪g^uAbޞ[N>i@kG49w"tF"b>-Mū0_d:rRO}˥) {jKfFwu#Ÿ(Y S9-TIq:Hl+ȑK' 7;뉄>t{dP۳'0БSH1&tGJRaw"Aj~#HU 7Js2F8z cB:VUtF m4`Jj`IJȇKMxuJvuM?|xspv!iUDl۲g rFa;ύk+> z ^ūi|N)l /.[pS'"m!q\8RJ7Hn}s|T-|!L7j5f>Grf 6o8?U=vkݗ^qѦɖЦc2x&DLNl>x @`ˀ6$-P~a;\_:fVPl)M]CPGÛ뎳CpUڙr;'@|a2>=idjY n}-+l ix"`bT!ѹO&$\CYv(n1.֣tVRd:c) X!!ed90L4}'iN\Z] @[E'e%>9NPI[u0i?-Sp ONG#Pa% `Ṇ |#?IloW+Os:W&Z^ЫWˡf2vPLӱFuGA>/`ؿk Hײk6Ոa7mu3% $enCnɛ>+O.?ڼۤGu E;pcj.P64>5vDthʿ99Y!ٻ:H˹ dc& hD\*n gX2zדH~"sёU1ԋ_wAxŇB >;g=oŴo"GlNuKݷz*a 0wBCqLR!>b m- yaf2Inif*qՋo6l~.Vq_O'y'nZ`J@@FWG͠&̲?$2g]vTȺֵ)R elڦ"^Ӻ̖[nO>]es7PhBÜ6MnTCfdmC +!Ŧ ytD +3콭QB6$ZG7uLXLHOQŜ] b,R_$˙o'1(F2zmdGZ-1TvN6 /ہUN$N S0A!F4KB#N{sRU 4F0 N]lNt3]CA(Ϥy21wЍށIl&v4E^ h@h % .4}`gWƷ |IjKCEbER }!o6W!TT u4C&WO;,ȢIg8D;:x0o$\_$ |G9 E*kb I1lM9-.8.|i " KEѮt'ECQK2Q" Fu[ a+5xSP{8 z']l}Jqbț"]@9bMD%@<_vfeW.psM`CLR}emS]nmLa-{tV!u,7v7oiR 9*RoWҐQP%PR:Wt9ft$q8AZ"t)י;e3MfsԸKJJàYKt&5z4j4̎eUPVܙRH++(F&NޣTLcTp (Atv<0&m7֠myh &l=) r6PxPlRNlU M)BolKXy8-AmM˫NB-nEؑǩ7T\LşqsH{ ܃h$K8$a6}9 NQ$ΰyO0,)JDL!Da%IF.:BէǞ <Ǖi#iDXr 3L}L3/UNtBE_[#`^ZU4:ORC2 1L(ga u Ch0g͆ ;#Ι8|BQ$'8ZEO .SB_G`r&nnD)mJLfXqoV@  ݐݧ"J#EgDs&L#G`6WDƽO 4 }7%P>u6ho0^%Ғ3573x~Zs&dCN.&pz%x`~?09z[?YHwWXe8џ_7t/x_RaonM%$gZ>0wiQKh$r ?*xn̠U{3-2YE FK E0(s?3L)1\} L dN %c`µβyx~1b ptRYAy$ e}9t7'Zϣϙ Шr)턶r҃pRO'6/s3oT}]8\=Ep\>ZEGU9k-s(Gvw8῰hC3+Lq;&L+e2TF;BA :YњPcjIZvJ5^6p-Pq¬l!]r[dM=YHp ΠU9'd؉Y =8G t\ώ9s^Yf+WW:Z#<'NJmt~G 9װ NؗBq`g4s| XDoEK3hR 53 (c,Ʈ]yU5*M2zW`ѝb~q獎5A,-f:C16kZbg՗}TwTWnN>aO%76/yLKkt E+5;Βe0z^BW&VU/4u{h$@3qVq"MH27svNRlNt([ Z{(U2] UoâHmx۳:&bn4Toנ%I b-]SٟJ+Ey =O\ ˈIpU-O߬ȡDL&Umdwҥ%6-K.wwiNcױ\X*/]<ڒ݌oud ,(;|\ 0~y$LV;h0u:]|{d>M ة(srq/@jl!$&Ld@4J#ZnPs֜R/?N/'s3!h93f!SOr~]Q'̼̓mΟ~{iRKg>:UeMC$sP(>uJWoBPp%S>Umugyǚ+U֘v5\ 0%ۯR *&o?"6Q|,AqMt0U=2wVfYʿW>Xڑuy3!Ա%>ʻdqI`WeA`Af8DW+ $IT%Wmq/D'U=sDP\"ŅVUБAwdK}#r+qTQGtxJ%֤Yڨ;\ȇʖ1O- ܍:9Bc2{ǻ87vvR"=q3$=7~b4/2mn)y^^27ye}¡&QT::'"% eDŽ*9Wpo8=™ ڱNQQC07_ng1џwhZ> 1^͘>4-?pBDi(;>N kwGO_DJk4?5;2r@!ss;U.3BGpUF!ST%GT0z/t)6}JʭdY }6uգ .g=JKN, [~9B2L#DKR݂ۑS`lSjX]I`Z،no\+(H@wVD7r@;ΉLaY9f%!'<٣^ġ""<E Ɉ[ guv鐁]bfB}g#?i[2|H_k(KC+ .q>' _AQHcK-6(>װ-+$3"97I:bBY.7s>˷*P=gtnj Fm{kc!EjY]V#QMGŽdTor%=0e̮;ɹ]T@^'☟FwQ=ڟ,\AL+B7nl_2m>niRyX5dDZx *8Q $oHY'D?rua|o|2"Nb#;i8dg- r0y,LI$+_gȆ4Ȋ2V2ݘjErj5{ZvݻA%(ń?_[\/11O6M"^^: %d{VA/8oBĉ&'uqD:2{ԼOqWY"_Ovp-gyr>>F~${`c!z Dlva頋Qz!6>K>yG6/@EX.}1|#'u gmvn%af2Uy5B>.ËWݐ|5!!3Xmj\i怉/KO ذcK7(P[>siqhe):.ݼK~̨wiOY8$J 1 pU Lwok<8|Js wUuTm[ߏS x]kt 땍=T<;T/r1iپJcΛ~K ƋčŊz)߈ȍ|w'wcDg7vg}$C2_Mi.(!E, *KWHEIP4(d؂i5K}_܃N⿚ )R}CdZ9NJ`G<7e7MoWE&odB OqBJ*~V m $t\O mSL/'L?Ĵ!v/Ӫe!vſB^VA<+4 O S$:3N%;,٠M X2z FĖqo8Anfp>A 2"Sy хC:V/Ui*/HsURCӗҖlZFIOxnu-CA^ t>'^(;/{4U9l@P/=A =R=P'Y\t O=F[bd@y|!}u9u62֞+G;;-!"|w`Ct v#H򇥹@t>I"ƺ\ŇfwD$?}13E;?F@~zai { \$;H᧙ZLz0`g\q$9!r|{.ɁkyVA śa*:k4q:VlA=L:KH|Ԛ>O.wD.53MnJgZ- j4+!&8n>}i;' B*)$M}!\\{oM;nj-thũ?w1Un~y bB#t%Ml`vV-h8vCmJPiֲ$"}= rY3mb,A1Ԅ8D%ubTUjGje+`LsmJ*~ %#r%~AǷSBfV?8]+҈Nz 9#}W%ڋCCR$l5ELU;P&lqLU2uRJݫ cMx+эq{HR2뙬_}3_ G{O}@A˟dsqߕ]*Eںa۫2ӄN *)[9\{U\ OAfY/;eoSfBء-H{X*h"q9z@ =N;Oz.v30PA4ȼ☐5)mA' +)GʃGSJGU6c,]V8>ՖM x&UYMZ3ɔPݙN\"%$ eu#Mx34PG0%eU)}> >Ќ8r S/)_r "U 6Zt{Z9Ӳ_bApXGmjGUĮJS--kBHu. S%nq?c(o)Z3:q-e8}>uo,̷㤀Zi7lռR`J]iWR]=AiX7'>kkk+u\oC4pҀ Yhl&t1ƠD GK,.~ !l kTVcWo.Os [DO'uX(gxt`. 칕$PSWx&P͛D X >N7X=lhgש<$$_T~y u7 A.t"i>Y,jX5f iNg}ȭ Ef-{˂g!3u{yc PXxI [||;Hh;ɑr^Y1-X7D҆ǽ cF^n,(݋۱w,3I?;&R%%, ˳@Ƨy6 &] g.$UN2\o2Z4vjlwi1ՊPo~}v:7i[E}-UeF4Tx?EyΚPGз?7 n{7|g 3mWp9, ó!oJS,;i)\3=z&NT1Ѿ }An> y*_e7w"[8 `x0W0;Tc ?hY%&J+uv* .!Kfu~2YYPWC08%9 b͖ٴf:OP'7=y$65JZ1Kߪ ;4aQf{ )JH%S  0pN2.qƮWLa77zh'x9wOY븇& ؟`wӷ1r>//Rϯ$UH굋{OiDF%2*t9w8KX6]ԙf0/d mC)$&x*uT 5rҀeKttvSG j Ws AS64,T?^,",i[%W2X8dή(Inq6T]/7ȇ|)XA`OMJu,!0ꗧ!%fwxՓjDTQv [VF)`"\ SF3%jyp㱇)HfOrcF:!XkhK,n1.@ LM_+{L4SUا!tb9ZEayⅣ@v"wN_IfG byEM0bnW<{-ӼfP. kַ{ޑzPT")4@\Jmk㪽.0]w.5^˳i.r&p+Ewͧ-mFB$=Ō;oUN?̍%O]Ye[*F۽+{7K'74a^T,ռi6EQwX\Ծ•&˘&5o=u zy6,ϗYL!*3~?^]gqi838Dg Hg sT$IoϾWGkG|wVD2Tz9F%.Yrx؇UUeAh#Ge0]?PwJ;KgT kՆCCe!{e]5.h` 7E?eTbS3U(.3|{15fG!47VEy,asT2VGPΟ+  mdKN’9]D8 4٪#7I30]$Op? U`{-]cԡQ6)옮>ϊ$/"d6_˔.s-/3^Iٓ+Kxk=>ۍײb8Qm:wvĢu͖̘f d^T\ѝtE2]x.L/]LZ9gy嬬e̪y[PNB WҖvfG/g!QX2mJg~MΕ4^땆W|]}vL*YΝS"SaB8am☕Jtu lȤ73;,pc*!"kg-w=,`}3fM'5@f ks̕ ]NbhYs!1<(ʛge7-6:ۏaݷR{])cY扁,*dާ.pCS@Y#x6gzJz˄ǹĤ44 !kq1m^S1>b3`vqVғl@6F)sgȗFX Я#Aa\D oUaJQ.ҋ¶,UqEx8~fo{Bd9LhT,oa޹x*֣\'GHY]_w>tfmHGT:|3Z^e1KԋFjTfRZ)ЪEi6ӏNJ($"zcJ+nQ*I$d@w-޻ԘRks0HcJ%IYkOUddy'f{Rt;ҿe FMq_}˟N:^_}2J;̂\^4ߧ\_cPuSw)}G'-ծb'ơ=jZ^y єKD?&0!2(P`Zj % dx&@"| ]\$:R FF5N&Tx Zլz7E|Who9z-=̌T+fakU Q٠; uFWDQJ˥IODR(V_ޢo"2$>g#3rojTlEiE%4?0GÛ[;$'ss4*|H5:Z?HMR&MXlM(x9zZ[_++sk'o# ;LfFMʥk#;J]) PT麬^C\'@T3`^y{ VSJRKȅwC*F],1Kf:;Lc$ ztR-Ψ(Ŧ-# % st+ B?)%A/)uǐ{mߪA7bK_&ZFw<*ta<5 jYI{f?_!Aψl+ʢ.jB߉ݲ{v\8v%#?oΤJgp,*xNѧ;tefX"nn {si\h1ȬL?N+>hg.mCk-=K3q;)2!.#;Swa {Ls 2lqFqYb= S|LE7M;/嘫f]>SMO~$~<̡Ffg"_(׸z9Uh;B,껮c[T=s " Qc/9Y'eü1/RlTnyLQG g5kKKLӳVV*PY?g>,-RwDz?*%l8ۉȍg"shQ$ߦ iFի,[s:$? C$}7ɰ%X:o?"+p'ƍִ[ %5 K9_VR4 }f ~ޜ%YQ)g¼KPhT ֝?S J]ʺJV­A>M[ުE2ml&wKCtC%)(ҲӫZ0?%݊iH,.k~)K}"|1㛋x8$@=_quO[EXNA/UifJgG6ӛ x/4gjY>RL6`E $[| [NscvO,qn,l6SUXc$݄6M\_eYL,Ys/Q#]g-sz&7)q# иe1R 䜸V!ݫʫ`'h]G^a‰t֓tgQ^xTN" Sx Z Is>eжg?0{' 9qqHy@ {!쌚JBjzն%-zƓJV\@0S!As;&+{حCW<)O:?s|wC[1n$eZ ޣXݬ0\J nCV[JRBBkn=0Ǎ=~1NV3D]PchpN80P-.a+;/zRJe~vOo QX6LʪTXii&+u @7*4i1f`^P a4duRf)_o9trR^?L5 VTҪ9(@8@*EWu3M..NyT sšu!D4_| ЦQ-f}FٟE\Oօ/͋, d7ȩtK2r 7i1_޶VJRE"O6xv H[/bʰL,\}4ωMU0{:-ㆆJS+Y,Yܢbi hДd,4FX0eقLC49Ab@]` "ꯤ  iS'#Ȯ`ztp;H |h/%,_+- x_;3}Z)iPzќh`o ͝O|Sz+לvn,ۋ>fB!{D8C2?H>#f@:u)H,A[BG˟/Hk HOD芐lW02Xɰ*b eI[E߆3|,$ϭKCڝD oޮxkOFKXoeP>zk =x ! 95~5Ly;'we67- P/ؘEWщv.`PkI]ؑȣfu#HE)hiE exa.6!羦 e 2,Xh3 vE(V'i 8!䀆غh4 EMCU+" aapP1 - z!\|\BCM}L JFa|.viNc0**$,n4s 6Ѹ7Q4 V ACb!emp2iE2*#SQqP˰f 7J- egᆡXiz93M0$CjwW&tc6Zj@ z.IMC1D7oiBaQqW1V`ĺv'g]_]Km`_dP.F$*=)}PVp$ A(:XG4 2Q8>tĂɢj9HLz%m(a]:jJ Jr =t*BD8[Rߴ@i:PD;XyEUXvӨZ^bk 7R^ )w@vmtUz{.:>Fq'"Js޺gJ%״>X)g@>F5b{|a7ּ=nA͠L2yQt`KtO'&\ ҹ2O?^ZW<^Ǝ&5ؿNd\z[┒*Iݒi|Cx!ePIKL%Ʋ7Y 'BH'\L,|Yt)Z/'̈́O9hyj(6WLi%l Sٿ߼@A>/O7Ѫ^C5jݘ('w}5u!ׯ'bDea)*a'H#՝qӂjˎee,%?u4dB(kJƇ%Ѿ7XW2YyU鴽b¸5T)6M 4f!` Jgh>$^|#n*{.Y>aѦM&Nğ^rvX4jN1hҺ'65u-TW끊#ULh ~ߠj`_WkHiVLHv`uŒsQań(6Vu=IzvRc~lƎmrҿ0iT1a:Ʉig$UoSz4KRGfJ0X_ZWԇwji/" J>x-Z:k2C!|th K0ZVnE?.fm p/^d*O"՜MUi0O'(˵\ Q4*ƶʺejsALiޮSDҧ 8_ob"ێPŊ6^V:>:0ܔ 08CC]>& -0&c56rO!)R 4ha{=~_R۷0() c: ȨŴ 9%gWdU=iSqRzb,L;NtY`ӻLV6(:%BP]fA `KLKᬱ! J 5I=( vֺ"՝!O$0Pȱ"Ӱ ɥ_Y|doZ I'N0ZWjUV{{/ɪd2gʻ d'vZ'QOyj\ kA[n&сRDžLK8*ew-pVP>]/GDGN-qa6)j\@DN_  c~X(5Ƴ9$_J<?:BY?,5J,ngǂ]L04(#N4q^x|J{Y@k~tuMSe~]+ \06atǼ|4?uސw#Pr.'W&XvOJDrK[E(PNѿv07'D8œqM!6˞:0$C/ sY^ϴ'A8zO7a'B K 5,0Uj^\>m*Ԥ$5y ]#exp=Q$uIzJlZ6!,L)ebFZAnB7wZy~{(Cz| eSCd|:^'ɞ4iyzlQr~^Uӌӵr)u⩳$*Ix7~3iYhp˟l`JDs;Ar?O/a7N0iM*,kJCψyDW+O^߉hMM/>KŸM|~K) Hܷš8`z*Ul-kf4KCL*ư=3 ۀWU7!XO(sQCJlTg b\%rCl@wIl?a>ȶzWTE{E6'j.g% XdvO#)1jRl Dg.Ek+3ьMsV:rd˫&Xcܬ7Ix="k#0r.t>ӊ#(8S@\ڝKŠ7iЕh)m$LBeШZ{ 18YxjSp<Fx,4] QWkѠkQ^-Xzt,wL2CkU'W*\}IWX={t[[5Kob-ok8-uol\xe*"⠘v*wOs4]y9`_jE25gHSƾj A_`c}ks_.ŰfNrY19(Pl̫1UBg@)eiOu=jb䩠;?q]ivɴL'rA Q52yGnS#C]RZW,I}@=Qn.Z1_m庫\>$ނݕ.,hPy[il FJؖ/,dwDDŰNH^7/y3gLot,5ŲqH÷)W>gb&R&>HD}~WKFZϰ =5"KTٲCD8F:1DBg,'9x61U,ڈܱU\ .5HRGYZ+mP\zZKɘr#]ަEC~ۜαVVfM?BSi"a/a5mO FhIB\(fH&5rJiS)3! Go,*'o *E xkQfUӦś's OXug+*q8U.XlZt%{.Q̕1u9OD|Cަv@Ayh` IU\h"YUY(.L+/dH&B.ZϗkgNFL]6p ʘwF~DN@2OK֩0q.˞9IEjlrLԧiB N!`x8; ꌼzybDg=:QX49PF֑L%"^z6𡒷* -Bst{1ζh&=,D(hU'x{<>;黌[0N| - s&'*Z: %3/{Y;'O E5TB\e:DCiTs5Vp_ΥP1^ ADt7!s. x6_+4 7GGMq=y'QȰ! EFhHPx\*{5'~oD^N:b{zhAD*f!0|aEž8)XNCVZ^"t*0@24CȊ AB@1*G&)N_9:nzID}X\,HDyjy1"I'bBQuq q͌zt#9Ҹ`Dn=(i>_| fes2P+cx zN8HsfY3T9X7ltkKy-ri G )X$L[Apk")C5 Ƹ a"`s{`-‹bl@up.wś6|o7wӾ}]~0z`fcU֥.;׹z/ BU,#~CO o\N& RVD˨SBEW.cYTښ,dY5Fh\RD?n1SזSQMͻb٩q `݌ }^LpV#.z9Hy.đfzXtș^>v E+H(p`vۚ9x`療e4  CO:vŗ{3( -c_e$%U6d}5 =pke@ebm@HD+2V犭քEqL%;>`0a(bzC^|ˎö'Ep̓@ ߓ95`0_eO=-n$Yp}3T0|E,[Тmmayb%0t72cqDž݄9[Ut霨*,$fRoNqQ u;Cп+viB}`eTiP2'ϻ]o"CD/)ٓLw6)IqM<>|{ =AJ3j=ډiCJl`lHʇG$R|&* w3Cd¸:s s%yW)W-kש%Rqg8:dkc"HB'Dd3 Ab r[^A' /!֭]85g f<9%D9DZn'1q褧$bph I"$^L(@zsM|2i<&rI;6'Q <δ\^~OwǥbGjan X=rTބĈ\2Mv#4$L{|Ҷ%@WDf+Ak}6ޜLB] %hƠEf@l+xrX8o(6(`gTSzЧW]?x5,e˴sIV۞W c^#ۊپx7d͢5 /ǭAI$ D|M ^O}H}B3H]cm* `tZ UZz6Fu"iT\mRs]>svD/*I>d0 q)Ro{\ )3R+m+(\J\J\F=⪆kw[ۺ2Axϼ$sG)Y ~&nUӽ@0΢^C&/!uj\G་t;͍ 1j_]s`% e${\ e>fy5@L!񐰽=)\1ԀBv }'B{/6 ЧX78G1O +)efO5XhB~W5؄ 7׭YPn07Hʯʒlle;dQɣXZ36gn }QW^X.%9Y}lSm,r:%[е^ ͦk e?JSUU@qZq,~Zj#7t6ۯ9֠g1mbԃb8DnтAu43 >@~%8ػ05B> 5mq:ɂGDz]-JG jf!xceṘ uک:F';MgZ"<WSvdy¿*Vb\JM҆]|=%؄'^M *.t);x=L0/l)7iQ,  :wiޞ2};:V0j:;k :[K'"%a,|D<%|&t%FLΦ>hx>0VCHh8]2 |^"3+!-۝)OC~l4_ݤ-33w\M,.^\d ;E/3ݑ.2ޠAm&G7Q;^)DՒ²BU) G:9FI:x;4]Ow Њ+YHpcҍ\+Lׯxo]GEԡ}& c{6~@O׶ 6MQ~*e ~n}C'DW9 MUqk (ȆO/9><:/q-0am<'yxnw^{T2oI۫.N-J#:aޒ}y"~d>b7c9&}C1렑/37ۉK~GvXQe[w>nEv?_K!2UVq}79fd֟n0\UNZQ݊:r&:Azm0Wp_ #Ӿbo_t Jiu=Eƪea5`QxV xo{!x|S' mJUÌ01B,6CZUdn0 aѥ[eEсnhqInjئx@Ny&FiKW1o= u&R~w8ڽ!*>-֖1^ ŁLfhK1n-fI &HA %,Z=%,brX}^"90&JWnnW_u9LE@ bV$dt_/Y LOOA qsu 3Xwѣ {xwYg->R %Uq$ƙb:5{ ~8i4^ZɾuB^cskx]NB-^n"r \մۙ C,^ٔc}k[]'\ӡ7&8DMk<>Q{N3A5oNܵƘvNgDDQzpUݨjnO8.BR'hn-iόI1cEC+JXY*Ă=aVH4N ˆnAUKo ^WRnf n^QC'yTk3 " a۴oqBipZi[dVi#]c,QJX4[Oj.T~Iy?]z@Wa i?nw\|?Mm)[}6*߭NuUJ!?Vᣒ>+Sd0|ۈ)ȏʘ4ѦK>l~ ܛHHmڱwD6@>+X9m*`ˆu#V`+˾9\SlhTTzot?޷%f/TXqs{Y)JKdrW\*+eT0+W\L F,#B@YDxX <H ??[R]e#'SfZyS@WW;l}RWsbT-ġkPj&WUMzy;^YV 6`,L }n Ҷam=@ቘq/*Oi̩ēM%"[OfVzB_Ȭ9[!tPfWNN%3B7*-Zy։']yupwQR*^ޱJĒyv:+$φJ}P'?i'5k 'rÁLKƋUb5 &Ǖ ҰKZ.>²ߴnaXWv= wЍ3KgJ莢Go 9aVKlǵ4c7#T=iDh1:Lfg_tD|Z{sѵ[k'W֙ ~DܼacA/ƊˁubH I BS+! {fXtϗbvF/9WL>܎xb5pφ}~YVwhP8eڢ ?< )MDRN};nb`*Σp/F{0o4R:8G002mC%oS2 ,*Fcf,ѻꑁYK{ўy*4)XC-VAZ fȧmR3sLK4$5">L\TM<&סP^wL:&mLY`tJm.C$( .pk\n1TZl]‘2%S b:4\ĨID;i B8nWڭ܊MÉGkwpeElġ6KDRߨ ]G6*0![_"[}Ơ_jn ]tt,Г_G3HAp;X7q5exۜ>e[ [ߎb+r;_\B-ʽ=Mfy=omkQqP)B0R]ԴiK$=/^f #dN`>?`ٲ. v2/jp.GNt8 `ֺDokù cRdpLȲ!FɜF%9y|/END1rfklټ@3dE3RU 1+ [f]| WR4pEcU\}Ht-_ffe~#䧿)G@?1xځCZͯLRq;،O::28 ՑC}רW6P@\`*[ b椟:{I6IHvG~Q9/608ޒrHU.Tyk}̆J[J=lWTTQJJ w4Qhi<64z"+XghF4lڄ+d"683L#i i 4j# Z[jzJ3J4%#Ԗ?YTaSk H'j޿$Mp 51r:{{R(fQR>?PubGF,XJ( NG!.&E8]w >Y ('tF\3fBShz..04`m!64!10C_mk!-u~#4fW O2!@`f.46Jo"I1Q^626pz61a #jAz'Uxϲ0:ɒB]xDJ'<Ґ+?~$r ||_dn) i]4O&v&o?r|s6O(xfسv`s,|(AHT`y =3i` f2 4j4/_tgںݑKL~c,9y-*Ez5MY^e_Ω[Liv3ʿ'd=Dˍmm,S:%#ۢc RNߛWqR[-NGÚ'tx?L nj^+u;(V$Wg0j!ܾnX;Uvu}Ulwѹ:~ůu&a+[i6`3«tv#1G3|pV6,U H# Ф7G{.A#.,,vWP?׫m&630Ѯ՗?Q'wPחr@,j |OÃb@W$?@@?K2jl.^FhߑݻvKKNO}PFt{[=v2E XJC֭#ql#دe ۃb#oB:즓/C9jLu&E?Cҭʣ">pAͲ\lC6dɠMA]2ݪ0r^v4Ws{gk<4yβ9pib`z"o[jVrk1w̗\Fd_L//`e;%U."X-A*LSO9 T3AֶBtQRI0k#~%EVfܩ\6'6_ݻJDaVKg_o]*]fg~Y'{9=OW`,xzS/,F߂plx5(.s7 w&#b5" n"_qg- ULӷ[u<3?-Y#eK[P ("%i)^gR 2H4ID=$,> { o߭v%AE`O<qM5s1U#mֿ@٫1XU.4I)j%]tZSJz7(Bjs2K6g-ȯ֌d~ p$@=^o!Iޮ~#?mRf8W?Бٳre P}DW jw-j@˂h/($o|jW{HD2X@ ;O&3DEB{NoUJE@9T (}@MBdHy"'D4)wXKd,YSȼF9qίRfoR N%1&|w4p.Og4Dj+lLs"M;1Hˈ65hYN%g!ݳ"tlzajK.==ʅ@ۂFm}u&$9wҌ u0oOwv<>¯Am1P華-Mg\D"y,Y?(v8g:H=XFnwIMLkM;4iG#aa©2aeSW+zBH)N]LfyG܋b@XF'>"|U뿥vC?q{]Z8|Ytk9yܭ1TUL?%Dg'{H1Bq LS٠G'\Cɮj8=ò_E86wSrkQ Hcf<5\-O$jLu&Kְ#E] ϿOa ܷw=陋QQg ysk*& ѳ^詆XngQ22&^JN%>0P@\Tպ_E=}>P#t W[~"_dhc<ԭux[l.4 ֐mVVҔJK[lnʰZ$K Yk[vq;(OܭjizB=Ig_\z,u>ÕwMY8o{|$YnK-F<ဟ/dDD5!^|d|7vsKThNs_X͛rvAU o]>K}˳3 ]ųPF(+Uvz224EX'\s-ݕE6?j} +CiODrw* UcTz]3 IzT;ar"ijOys0ooPb/V=}WC5:&bV+/=ST;mɢb.j^Z T%j2Kn}Hɢͳ&p:99ݐ3Eku6'굗u<.k|\HG)ocfU)Ev,S,S,ηi/zE2sr(1hJWw׾.4h 0F?+*Ieg4tw˴d8 sOasi2 m@m4 ![- mm)eFq!0A1J3If٨  #JOnv 6rhw(g2CB4(dc4\c)='a: n$ݷWx}jJ6qBzW+pʹoIr3?No[J{N}IF$8MS̤L[ 3R/j6CRz|9BϴWX-"-54:T o\vѤLH;uvO!bs\Ʈ?]KaQ̗̹SgUmpl10}7?pL覒=z)1! 2qms:c乧m'S]㣏/;aU[H  B?,ğ'qsZɑH9c VLG~_ !~",g(qܦ'u)kVy培 ]u |-tv}ףhCF>+eYu߫q vKnҴ̡Úb+?wh2` #Oy1mX󑛇 wK^d_T1q= `gI-@'LwW\)!u6 ,h>k䟿t>6+gͫnGz`5MC"A;R0qYfvߍywu*V]8K,.lCqΣ@Qay#*z?P/sx)'zw+H (;ڄvd(d4Vw^Jѵ jxQLe~fCdB=yE.Qr9vS| \=1;i#l\ [3^/7 =-_~`Q"@s.)-03{Cyսb#ata6ZP[L]jwZ4O /JZxۓ[a)$HBrBkRv(}MΫ ϱX`b"Rzw@2}ap01Lr3Xm=!pnD gA#CA ߗ } ,L03E\pT:mߩ̭@){ C(Y9p_kӕe]]ePrG,MYwn^9}+ܺkP5b`(4N:&0k:ek>3]2ќG;YtgmגgC߲ca †mdMY{$(g%Έ&rv UW}=JR C2C pZ@r6^0be,- 0_r+&tfM|a&F^[(Đ3]aWOqn:(ibˁTϲx=•F7Da ݤz`Iaǿ+qoO*k/nz rVO.1H]2aR7 k\X_ds7=Lɟ P>ɿ DzɈ~(GLL&>"BiЏ0>* |@"bxumq ӜmtM`j 0` Cb0`/]F #e_ 5߼3"Tr^WK;qWe]ʫ=| '~%O'RG*qp<ߘK^P!S0+2)^Ti{> 8W 3+?gׂ\%Ns`gLޔ^[~?eY'5rc ,{mVC%yaoJ.%T60Y_H Q5(`21 Z3>?gQͿO~Y{z20͔"= tIBʢy̡>],fl1[ƳeT?~#3|x>,?* Q_TLAk y)p`a'ϙ]TFqcY5f;7v0|!FP90}%#Qu%; ~ =p\Zi` {3_mD~Z<[|ܹXN[L 4.IE,We1'$MIV'֮Us%?W DbcB#_U+Iu(XzcJg'}Yw'\T0w1kw+?۰MیF8[$Q;sφJq̉\I'ҩo|q%kHLqˮQ\M,~/~5]x#u穿r0n7Uer0 SK=+&~=L⪒?S!.1ditWyFkZUW4;f@I<Ub,B; `8: z[; ⷟U[e7DzB`!C$m`rRkY9QnA5;lhcg>6hu} =_ }r@*wLGj1N7QhOۤ`p8!U/ls"eQ/&;Kъ,'>O c >*0\$) 1v-EyKh# 4`6 n}zXas)bJ8mapr/@cF H3fD>$^yEյɤͅ$3q, T0n0#mdQjC`F}1@,b I;%)ߦJr/kINθA0 VnPwS1E'5Hte;QQl2.od4HfAѴ2s{+7ڤ!tzE}0$JTsrVY+.N,=j ~1QF64~\>bЀ8g"~Ս%|Uȕp{Ϲm0ё{J3ux 3KH&.ң= Fs2eKEB4Ξ!m@ J'!v5s~I^ޯ\Fި,u k[Ǔ9tu\D`WRi b wׯ$GFԣAɥcᬷ%ƳH |9C P/WQriT%}6$5{1mLnʉo[,b!?L=6uUCTe^^WőjõY2˞sc6kّsTC֒$gW Me( HBZ;Ǧ{0vyس[}g`\f^P]yropƃKr݁J{y}ʲ * 𕾇awut ,MZP 6~:`̅evErҬI y9WOnđJt%o46\('h<Й :V#&)=>>F6J\y Ƌa*yξ()%׳J@$?HBHS L0 ve$#GӾ}7JP&5Gw.Zٯjȗ 7Bt(1eDI|0pkYy(c-wRCh@@>hz53+٩5/J;OmTKnSi"X6<7D_V'|%u˹5,f.,A:`LH?Ov2GkQĜyst H뵒(CnVe3O$Y^K/)"[q\_3'#_fg="E'U1[*d,E_uTַbJ8+^$Jϒ)b'rjDA$Ci< $IWMUJ2ÒeJ& v rSG;~j!Xq&}d(J$%zFZĴ2Iv E|roBNz:gtdF@kѱOs[anX_Fᄠ7s?].P5A^lء~GҎPU Ru3rt&8U!ߵ1}סɺjFq/JA# Zq,[3G8:uE:N4VAB&om{ `~p[0StTMt/sf@k\j9IsW<&ӡ3G][QR:EׯvڵSC쇉>dJXѥm3͊ 53`z0 χ*Sy0=G'\Yl*>ʵ}wYUR>J#:[]#( _M_ssհBuVe){2 %УR6u1w}(\ڃ[L8^`A"]MT)Dj#J#Jl py$&F:^$Y=גbs5pw>oQ31N%%zuͺ]zlZ|;cwuŒ+&?^r#[uP@I_3E˺c%w8.*0çh"AlGf.. M9A@f&$YаrF}Bm#=,V@ܦV4"ugiiY e_x^¾V_Do} TWѬ6y.,:(w ~gR! MiQE-g AY9]`r):8.LDOńmkE"&C{<԰]s{4 aّp!ވJ)Z^~ Gz"vSoD'͎5w(y曰W&4>Y[7js^s " behVk8CqHRҌWRhD}31i~[nw:VZwϽTc… dr=gȿ;HA9p|6vDKGky^1NuYIv7cx"g_o+Pt݌!d5Y)S&@WL%^I5v@sP@o#IqƐԁ5]yA$e€zqNg&lI~;xt,1RUtjt\O_$upyJKcd:'w]bBG e" ue|ߖ(SY^8D hU$茢̂}q8洽uY?y1 >8 ?r2m_b\w\2?P N2o16JG#8_a1 A.Q 5cSVgջڡd.e5%hh ٶJ6 v_OThWRQ/YOQ֝._\Q:~KdU|@e'0b'/#ǔ"b󎋏ٱ;v;cCq A1$ M2̤7"LAm#Y2ꇢ9+]_9.+*'Rbs<҆FY?!Pgb-Md9/GkKq+7Y˶;LNlt)ΘiQ![0#ul@\;3e.9?.K MVKI>tmn8GigS,7U<\F?wnك2kx{Ay$,besc*E?"0=DWQ!k;N%d:bO;֐?&#tͺPm;a`V>y2d"rcȥ׫bfǴߡǖ\9{A!Y.0p(!"h&V=~CFK5g  Q$1-/߇5J~qZ tZXk{R{`m;c.{O>eKpnWh8X+"t^DHFfhN`sbZ2Т(%L4H{NP*^ 7#%_|].Ky6bOHui.W~"D{oիpR\.t!;J7l~w8{T|bK}& Ⳝa/3Pfm E2D==7U&3yO6qk٪!<MQ{&NP 6Ǵ {ë(NXnJ dG!pqkg)A/%~"hDc fNYC GĀ߄,p֣c4d!@~V 3kw/ >#Y<1Ta$ CCc!=Eۺ Dq{#s5%*>{,4ܽ%=iFjm{‚^-}UFX[).RoVSNM}#-bֳRC8+^ ٰh@I|]hiEğbyPm= .זqEiQC4GAfߝhX@N|=K.U}̃:E%PJaxWbˆ򅼵|ET0M)ncJ28cNMgG8$rgPg̞JuD35ҪڌU \[WvI I9 _eH@"w,c@B 1 PA>#Y\`'"V֢͗\dP@ -!J@}F ~3 ŝ O&FB 3\60\9ǐvoSyTЖM2U  =E;`ix\X[zzY4PJsUnR5'Nuؿ 7DTi( Z>lu? ȇ;@wV"IfRCcn*MΉ1`ʓ@Rf㰐/S*ZE)yfDXILM0 y')>Y`QrS81e %.Y^VJBਸ਼A֬dž,kS1ɇ׽0Q;tJWB/pPduM$Qzٲj鶴]tY? uyfmxA5aBJpd#ʣB?mO*ϥS`x0nwC:uw!,e cIBdGe˖g8>ys"B\=P3Ӄ1 $~j2η`W :}7Ń Q㪭AUNҌ2؉>-cA-ZUvY`'hasjbp&.SS11Ws|T^R"C SY9}.DOjx|OzW‡p\(cGQ==JGG`V]G?T>M3d_Bc">GZǒ e!|{7he".tӋGvMRֿu1d}k7\ PlG' M6;pNY,Fƪ][Y^mR@B=_b2Ԏ_7-r" $N7s߻W}3&|irZDnjP(Zd 6o'X$jbHIΥA&j&/Cކ4z/0=%kf.٘\M_n|A{O/F<"1cTVd\0}ʪ)' 2w>dF 1<=A }l_gt\) D"nrH9A}^V;g0 ^P>$>ee';E^ qK<$PYok[b#"Q!.?q/= zwH>IG"FH;qȀ~!9_1> ߀] ](ߎ ,Z=l9 r]mɮm_$V]U;qIp^6,0&Ok\Ӊݎ0tcְ=W$ۺt`5^LFęGzXPVwz >cc;Ƿw#9733lLT8% ?XבQӷ`m tnj&fe65%?5κnJ+fVd8{Cpc=rxF܈Ġ\|o}ND\Ck|rn68ԛMdqj}|}Ϛ:+6q]ɞic#ĵC͝H}>93l|rQ{$lꭼ #UA! #Ic"QTι;]s ')ˁK0ZϓCLhL>*(JZfM ƏD|R;0(ɀЃ֝5j >T$ l҄M)=(c[`}hϰgIldͳZR]s:Neyo|P^I/dMg{ $7_܆BZFoo`lJ\&E8KUy /[[T'\XAVPH[JHFm\;a?Ss-Kp A^|(g6IfqyF,ue($\n (򄯿J6> }nggҹ?6 q$2g? QKu>IqxH BR:4ė%\č«-6Rj1O 7 m;K/,Şm<8{=ۦ%x٣>,L81<{=}z,'0(L((J08^nl~) @a މe{щPH)ԏq3 ,z\A@Ċ@ 0Vg/ 8Q&3-xVq-" S\jqǽ] PԩXMg(b(ƍʙ$K%6''ӟRܽ3P3!\0+b8n-gUHe_KjVh'1'PN8>3o67b؈&a=?*aÓ)'>|Jd@5˒"~c?MvY,{GoNvx/u%}Axvj!0Z˝hR"%l %%yܓ'U 9}AB$܇T*1ߓ~uŻ22KSժ he"԰QIg݇[ǭ5V7O\vFVi~j:0}]f?rK7-S/E={F)r+dGJ's_U:Yz'IkpW9VQF 5 Я A]}F9-t+'Z?wc+G=xk2mhNO1}0i_aZlXPl;_QOEX66& Ûp;>NpXI]:Z~Cԣ4s^9d:8e#iO`]*Li"OrI*xK`U9 ТkEmTݓYiD8A6>d#/`]癶YApTMY]; Q᠍|T ^D b$CKz,O%1 84 I|fBYaBTdWԐ3O%zd=bnߐNӺ5^&5pr8Nضw}mRt8(]/B(\|<Hjo[x̲wUXjeyq)׃a*>xW=A.2S.rx$_! c"}}qz >.T=(4.X=[.D0Wd ax354$IFСYZF"[,5@ U@= } ~P(O 䅗U}_.GAP0pHж|rh"<؆Cy۫9E^!1V&R*T]zb7 =}g'T'& bq)Wb@XV7Jv>@!] sVs=וQsTG|u|{|aTya 4"gFMWCø>C;T\zcp(ѥXYy}6pOMJe=^)W/nZ!eN;^b)Dy\}0UW7Յ7DEp"Uq6a A`#;Wi U#c+ea^'ki۟y0(_Yپ-,J?G:`}7{b2r1>qLwmQmI!_%n$&ax#='B2A?0i,>pO.km4i GbBf!|4L` G Ebyc5`y!`%Gu*rG/(n"|[Ȥ'2fu4K:M;8e꼁tml"U1%V1gf;[0wWc<8S q 5=٣fZ7Վ"Y;cO/KgTg=8dPcx..E'J]-3h3TL8-maR"b獐3`:ܻ53V`?)A_/8vbϨMtH%Hsf,=_Q9d*J7+n3Ԡt$&?9ީ套;'2PO`T#ҩO6 ])  ڏ%8VAzioY  tzXuukԎ/0#gǓM<ُ?o$sB`&n|.(`1,ȋ7-a~TR\ńeKJi w]#r5HuHz>bϚ{481a }]xܙDlN50FW2nKbA Q@ ,c(b`FLF.Ec_.堿'.e8h*E=5oo,-sWiQ 1ş;/?0Po"^i3̖k(J-\\Eɚ9Ⱦ{BH|:JLn׌S::u2ۅS, >Dc!C74Ȗ xD8=4/ #JR&~$2ÈqJS OZt=8C_>B&g oBuA .ŠOpڷCpXnIvC`_N]KBtrc ƂsYO ǔ7UpE2&:@R-*>Z.0Qz%9~MuI I-D-YO?FF*W qKÓƸHȋۜl %S<q?.̎<^sZ?~8:/ 0MZe pxQbЫ3Br[o^ ZMvۗ`Q@ ԏVIO0-V䚸tP/~3Xrw*>>%r80PxE}jœ`7@w{5W]a٪9Q.Ǹ4`G=t*6sZt~P]Lݼ]|wdPKހ;U.X.AtphYE@jT`n*U_3O^IqQ/LꪨVjn%[M\խ6/j-p}R7zą\T8u06t:¡s!Nd3ʊ +w؟5!ܦIbw裸a!<$ [`IȺJI$%?.*_l &xQSVha4t| _Ku |?zt9eC *}"0kL#wb="dTŚI o|y@񑑢w$%m(p(q*@Sn{gr I^o.ֈ 4®\j՛ǟ<_Cu߬N2P.nxTϚ+_*[09~gT*X\ 7yuߐgj̛a屺a˷n,t%m-phKڹd XW>0G^ąF hV7FȘmBt\t?gW= @vInI=K^[MAp͏,ӹ$*ru91eRK:G{'L.+|Rw *څ!KȝAl3TrmU.Ly)nv1fe ))&HT~"016=]Q$ N-d麊Sdk@BV /3XPwfWZwgJ&wx)SF_? 2Lr_jې6jqƣV3\]%$_6 bT @mf2n gi'"5 6>{TS2AμʹR)o$Qy@((1/f'G$(‡`n4SLOMrƌM+T-!$*ʎI 4aU\RZYdAߴ!LeLd-{kin(;q3*)air-K8o l#eCO"]!Vrj*FKR9yz?bV- 7:}FiDpD{\ c D(Eg';rU5d eߜެ)(WW_ipcЎQsƍ{9;Ǎ]yAP5{/$V)llCr%]JrU3͂ssaV  p 4ٽ-34祏᛬g4g!l1һ6Z~ǯQpw)GOigTzm*4% zrjR˴ǂ-/$I7(.4AL4P+(B}n_v.SUm *Fͼnٌ_i7!ƾb;N&.43t(u и0gH* n| L32/ {4l6Qy!V`3@J.˱otiW,3BmXY3-?i@ǦŶtq2lx?ZHz"[?_3Pq28p<(X~Ѻv,qKxdRԑC(BG6EIjhʚ5HB=bk Z g7jR@՜*xLfNv6A,?x b#SjvU!LZ 1,#;n =*ըH@Ph:RbENlF Nb>\C7yR8'1?Y;܁&*ծRV,j`,0#kǞ';8w^V?"b wq07`!ENf0YcnGiQ$±%hHuty}Rr\ג*(6 >^cL3c]xQJ1j4~dbJ" 3._dKmjHQTDUF *a5Ve(^UT*W])axP RXKE Cx5}5^ZMԉk..ӡ̈`} O -s0mD1˄di_ h}GTH$<6\E\;6EY*OqrƑoLNL9q|%Foq >a,MU jFUC0uaDg5~C+-"CǼ!h Ov\NB6 Puz0,ពnBo#\FMN,z<*\ؼ>BT! -C&78ȡU z%D.C,JsJژzV~w,ٰwGJU. _hJ~a :7%v+tz%'dWSe1وf:&_;8$i+T e=੧$[C!GDVvgiV9vP\:{ӽI2!墈z$CmC dvs]$)l΍ )6z&,A%~|-]b ˅W4 K"vwQ/*)ZO}\ot/1!clr+CZm!7ׇ x=R-}L5]IZNbuVB٬:&"3m^vEùc 63ZV\oD)4cwTQ]ΖɾK)6RN@\"E(o3`X8E!5תRZqH"`xm..yk ܾMvv43(Crs|"#83+'`ΡQ-]vcˏ BB!?us]#TnG jHfz;Kib! zl+fgו&+ݻz;~5yPA_ E <##mPjq•:ü{ppؐWxO ^ c3LmӉJx+zu, H;K\@務ËbHP732D.W=pޥV`"AirA`X0  v"3;Ayhڮ3H| 6+̈ŅO8+f#?^~B@`A  []0iuB;CG 9f 8lq߰!h1tVּ(F8)m!Q!*%>Hաoiv AJ~,&]dv"chK9<.Wnil_Ɣ7 +tmRځˆ=E! .xW҇7ˎXVc9Ȁ,sdYpWZ~=I  v.sr;3K8H0f _JPq3mOQb_CY sBcXcX.~}Ǚ`x_gX:p b B؅fڊoE ÷{Y?ʏ=n%Mb5FAECAtR=l j 0|?x,Y-snPHZj^L~a԰x#:8 l:Hq'\-{< ޿ O3rGF4~CZG鱭0-K}!tH{y~ki_ :KzQleuAK뫄|dfl&i$DhC4d$PJIlB|&Mb~#e}Y2*I=\Gƪnu}C0|$"6n^{l޺U / s[Jd%4DDi$ 1bUB>a8|+8Q(#zl_'3!*隵8RKu9k@WRrsv@OhG1;qULDToC0} U7!U~a(s u f"uB" lWh%vz7<Me~|[d/q˭fX%j,b+K}V.!4D:x S8lӍm|J?FE q Wt@\0"\sGsAK.{u%VES)g9q$lF8[S>o-ɧnfšhdAS`ŏ"Y8t|$1½$ZDE@DŽH9r IޑnNI@nLa`z+ i")u{eQ14C=;UEh"xpX}G9a= O3"Q,rrpBcD7 2Ox\0ψ$I6CINZzϚoO ͸$$%ME=L d1u#jv|jH)"HyR ^%v #>]4{ɧ. T~i!öYhIԏ) )7FB6H f.hӀ q/P"*.Ww}_r0=Y/p,x^ɺ0Jj+:٤shj¿RK^%1[[ VQmO^h2avqdÆ@t7a5(nJY!¿9lu3 -\nF1yt&zB |ʾ-._4jE?iŌӌYV.B0i7(gـ]'҂|'3]C,k.d4$J2/X`.TẌ-*p 4蕽RA;Z"vLzʳjVc9='*0(0kCM0A0=\7# ( eRQ0Nr^>8hi 8&e3 <Ue ݒANK qj۲9K zjtD"/݉dQ \v]"$NҐcy 1,{|ĕ2Sj {ђ̚!6!G@/W(ޫ⠮"iHaZ[PR~]lig*"2OFm zC"_nG^Gm-Jhv"?p+b"$|> ʲֱƮ9EX;c @E!E?D(eџ Ͼa!H0 " ݲ]CfBrASڋ/ۂhGᩃ!?b~\{\]-;;SHl:gk1)GHQ9"՗G@`+5~˙gbrnP5k\ :=P"ae#ʙV[BU Y~vޏ#%~A`3W5w l8+U*1a40S棴O|SJK 51D CWBh4,2vy*g!Y\ق2JCr5pd JӀ /nV P6;s?''ˍGY( 8lm`x_b'/ZkFF-Bv 2# ebrsXȸS3\i){9Ӹ%dĄ6LNuLpދ {5>T MDNNvz}\?v lչpMN훌2\)Dc0+#>N'bǹDC!? ^NJdG6De:]OŖ.2xq[}"0)G6_`9وc8Af,v.7^1'X*" $dA_|y[AQjt3inɅ#$3D_?J7,eV].] 3 2Org1x =(!5{rRu? ;;Nn/\tQCe`;^D86f(l ؃\6jeG{͚|Z2V(}%-4bLs̊~Dd#bqv6M9mF=3΃PW:? 41R,(UFr@y"H> >. kzWu Bg^6GfhY͐IxVGͭd_d LSUW\8;;*ysb+*IRcC j <#Fݲĉr.۲&n5^0ax5^?Z5"zVoޕ'WWoYX=wc !w^)gW4E@ܳ]<.olp..X¥xWFQ0<|=]ڦR)Vzw"jj2,Jyb|جd;P`*CNcrcZA aAq#iH=eQӐ܆SهOj|ZQ h<爾cϺm%DvQKm`be؀.7IÙiXSK27UD!әK>Dsv*N)~eie!kvy$w[~:!^x6x##ՁFpC,.ؕ6"c2{{k9Fx.C.ү˳&~V ~w5ՖZfM;ڄޑ=wѲ]8e-LmjHBodɉ,k TlL S^Fi|8y'PNd#`KY,:Ḛ=5bPODfԟ4;RehiRe8g9_ͼB5!j2Ss mFܬY4jA\;CwwHA^4Ayv"254T;)7Ź 6An&ivA!乙m!z|=jT*nA3٩[ v"ކ'8ha"]$;Y#5kQ/p1~`O܀(:1>8k_ 'ZtGdNczf,pU;e'`딷za·(U]rpeB#E5sNڇh . Ɩ n]X? t*26Dp^]Dh@ -PKp1^ 9po==-s}:M&u_Dҝw#.%ҿ u|L`#viv'8Lsh=#;XtѹUa٫x|0- lr ,X+?)$H۹TadDU'T4 tLV,j.qPJ0gt Io?C܆:C0v7WYF;c!W$kE zyQJpkAU5t׳*c>!躗}FBRu;0#俘  =$"K l}m,0v`s4! ݣ|d]?@c[knQ9iAƾ fCԸ~/'יf936`Zii΁!u.(p14K]|?%RiME2-B A&N»Sr)є,D2,d1)mg\t!eaܼ8bn UIXZ+m84eE7(ns̭]Bn9y\ґJLh(u>oZwHm..{<\vjk=}teS26+r5%/M~uVITⴳ]Sxm\ c b͛{|C'"@./.FmWUu8OV}:KH m DR,su"Zn@ QSOE:/\9Guniik\j~pi%z$Yg8+ > @0)(J*JevBD1SrAquB1;Wdd#]"хDW43a"AsP9-R*G \!:6hnQbABM^2bgH}Qϐ@8K*FNNQ6aE]lD$r %mٛ ~"vKT^ud=P1 Gn-*+k Ñ9Z OfjS*$DhB{X<^b;?2! Bb s'=@ mVH8NwQGNWVE~9HNAErY,T:2J##RG ;jˏn,θ3F2-k*O.0 x'5ǻJJS6馾^ Ov'm@Тn‚ wOA,JJ:t\H;ʓd۵ۭOVhn$w )_,f7@:o@7ýV,`Ѡ@f 2푂ں]"U. j$eu cte6vt{}pDKp=(*gqeXpLOat ! >ӲA`V, e_ү\mMJ[ܪiXm5]$!? =wfrI!UGWZ*MUWb3֏RBC%\o~pWpo.A)r*fUJs:@6|4C2(cl֟LH AĻS}=u[ JeUiˉ2k֫?gi\8mkmn :i y ٚR6pRѪ%-sVR!F>}t"- n84I/0ZQd/Ї-@4!\L Ӗ!c(v!J4 lN +Ik ]@څvIȊ<6 F||(bW Ձԋbά":HX,,QGS *%(χI6qQIȌM~d-]b8DiKu&^I# S´XhS=H0fMVlPaC1P l#|/ŞEG6L!AEfh:ARRah5R )IUXyo;Jғ1)͍=DB9&+ $c!;7U -P!g+A|2x` hϔu-&E͆™A@SZKmi~Іr#fvmhLi:UPk0_}K@q<,J\.! zh#`ճlb4,SCfcG" O#U-I? 0 (rxʏA4K3BF3aWQMuzV+^L[^ g!!1(!t&l.Q I4shjL`C&Zc|Cn:;#`GJ" EWsDRM [D=i&u2MJZGDE SOΤlyɍ >a d1 f;f>혍Ѫ/́Pjksa ˆr^VwIz" ~CNcࡲ rnӤD2ث"mx9-!49ES$1o]Yr G|F~K,!X'#'" ]D3iRqϝ7&Ƥ`i60}X aJr(ّYq7-( L;դq蹣Uc/QxvMtoUϵf˩SN1qOg *ƶ=$XLbP̯'Gμ#Z$\iChé)T<=K !|YҜXr7ˤ1ԩsRZoV ѡ{c0BHf@ *jа3L ( 3a0*+RH)>Aʪ& n)DM,h, TPE h@Im)viVZNJҖZN [Z  ZTR \޶57>cenf\mS8]a^,#-0Mt:n +SBkEhm:DDϪٿ =k"͢rӾPZtQm7i+$bvn3Gb[OX2\Kd-…"?וrK\*UeRՕN!|T}<; x`&w wmuPzѹXm'`g{svX@JQ 5c1#]ܬ,,%'g9U+U+Ы:0pj| D22M+BX ͖mQ%[l8g|y sI02=AWY.^OsiBJr(&f`9WLfT굋$s=x6k9[OG\Uܻ&rLxW?a({\̊'ւ֊S D)$( Dbk Ǖt̝gJ ӪAoc"͇Ȼe?`e8(n*0]Fp w^P%|_K_"i9$gue:'O=`<=w vEN G$Gg/pZ +k- SW.^uUE,] 6썱%`2#bw$D7TH7JFsl.* Yyc%⩸}9EuE=xsP&U+TPxjJu9%a4e}~I Dn.^Pԃpp3(s)7=Prbg ^?[m?څlC\JC>Pjl\nne 8࠱m/Vh4 dJޡ (S)Ɣc%xbJ%9 8J^it.iLidG,B"@ "#0A%{&x &M=r& PS}T#}Gtr[%~ {&P |8$'>1L (,5uI$8PT$. @D5E `J0Y P98vS4@`m@6X OЀg@`%),ŴXbLK1-X,ĴeOrQ֩z,헅=O| < lUs9)DL{}+Z,L+~) ѪZ/4ͺ&ʦUX8NRɯExdi"ϟ/ʾX 9阺v$9 𸈛4<~e *(Ot#˪/ekr 5&c5<"?b$x5#htg<]ޤj.)K2U+@s \}v'SG5(`K|sx:fK"l8,Ch CgG{*Y'} 뛓]U7\XʪDp"I@lGmcCxËx"h L)E =\Z  b}{Bzxgl 󙰰=>S̚(>{UjO44!eJ[ά g^GbY{ՋfΗg`8Z"H:VؠtA*zM¶'|rlN2&Yh8Hu fukj eH"Cb:~v>9M@ J'I%h%Z#7fqdO$ $Fe5Bয~Y=4N>C{@3y zQ?ꡋKxq"eJ{ӥAP8/~b)1Usgd랫yݻb)f\[A  !AqH`0J n7+ Sv7^Syp7~ 7I>61r,<)CT 7b&n{Khx71iM*n:G7 6kG6^c[M4)um'K8#7eL泽dZ~(.^.. =O:s-xdw{Kכ/WRak3?J;Ͻ aC9lPfO"q yRC<F<( nI1p;G\^1Z NۛXj\)XjAmo1VP)Nd<#Vc%%SVvaA0W ou!@r {,&ou5jÊ;?k[9]2<^;;,!ªQ%'k͢I.1x1˜RD ig|9 #r"Įl*  9#ޮx̃M˝+QmS= U DC8+J]B.L l^]t]nmܦ`ʬN! ևq s@L ?⁽h\},hy |:םJ eTXZvѰ:[;Pc޷R'𽱧di;,ö8{ϋO;d8UWPn$S¾u iُa䔪w8!4(QՆ7(|f۫L4l} iX"3d-x[pKh!>*-C 1ԆvvY~fsU 3+|VnxٳMxu[?at]GmUL5 AiN;Z3`4_/̍I-nC4W1d|EZZ T W?1b]oF Rz7쬗);rh=QN(t70INɑԬ z;͆oy9SW <$u3 ϵb Ϗ9|rR.'Fz'}0:v^Ӷɥ,KY\iˡY3LL"RbeFb*=Ϊ];š*ŵ>JYG-L!tP ¬AUJG޳pYW0#5R1k%RDeLq.7-bs<DŃd)7fhN ºLc ^QYiĴdww?Ǥ P,|MQ\j 'G7nqY…]7,&:'.P ڦUɪ -6dEP=[fqPսO~>V+޼ob> rF'M+~:p*s&7ϜЂAޜv[*@FOPsD-9)?`1[Y']g'?{tYY8n6$m=MMnԫ5Z I9jaVmÑ9sMQqWG9@+T:8ALx1TxK-> o*Nnpٕ)ɛ1}<-ޮvZ[+rbp5HV +ak k9L:M 9ώ[7x) t!ك@}+/k 38=URb)D1>䝋wdfetD.[4 L^`#>I&PJIz!8!p?,E5xn@t+'@QN~3jW(  GHOidb"9ȅ@)MHXУo|4uΪ>pJ7,n=]n͹ۿeyeDs!)=̐_V*,@z< !\ȓ5wxܛB߲@gԬcd:% SgŶ)|=P*ۦ{T ?}3!>x=|ܗ2bUpMY'jW ;*Iǀ_: ʪ8y@g"W z)xuz<$7q8%6ɇl@n"PCYbk6QJx6Du4{LGq8HHC3h| g&=9&%S*ίQ25]ynXҲ_]5u Ke),no-!NZ9G&jEH )JՌz+s)'2QyBlAw[8_(7C9?dREBM9 ?D Lt2GB9pUO<8*qMvR?'D uIx7IBHLJи'b%8& A/( JjQ} Jpj#g@ <.f!,.M<[޴3g=lU>xpmhpD lH{f&?Ef_ןrh=,)4r(˲>n@:2Q@8u-b_P/P^^,vϾPl߶fo-sb 4LjWpXCH,)˟Uq;.Ż5MP&S5Wuai(j-n·Ѫ("QܘF$y|_%KdIV8BB:g!MeV=Yvf}&](~cRxb|:[}Q%?_+ n_g}ŏ1y W@CH(mjePZXͦ(edm7l#`hyk"8QV) ,E={$vR:uۤuXp/.9Qu}j%kE$P%qV y.֔ĩ5uѺN 规gODiұ\6f ="S>}o]Ozhd؅E~M"a#ϏMˆH6Яd=ɀ p5ؑf_Vfjƴ")M-.MbcW{w{%>P\0 .Penzj;SN1m--)N-fr&/1oc1b7B=g )0 ٧ԉҕo2jwPt0K5aAY~M Pkv0 A</5 SS!h ?lC"ú2ݥcu96+q0W3'IqLF"-wPKDe8LJ~˃3=ܵiwQɟ'kUIc]S2K#Zؘ1ÚiS۾mUk˨!:}CY/Wx #Y=X,aξeSf+YXaߣWI JMS.ƕc)h 8͏~z$>&4+f})!ԇyL4~~m)R~^[8,T|`x viTI%;CS+ NK̀@A3zO+r((CB 73__au/Y*oHBAF SiܤpKEkIrVZ'y%Km6C_fuң}*J^W:7)f2ԌcAi ɵNd8 ^i~*e,˂@ WE'$=ME~c iyhch,u&{U|\\xDzZ8=iEAKOpSz/=vu0 UBX %]`ȑͲ,xWڍJbm TZ'\)4}pr2_qR*}A-bdh'Y0ն#Vi@$Z 903Mי!N_G zWvA*mhUN%; 5TՅA~MfR]1E 0Y%]19g8IʾN?@ ` YJAc'0f!f1G3,Ҥzs'\ڬg+Hu8!%ӻ|SasCx?^${hﮬgZknA#0K&1؍kwu˼BWk |6fD401\>Pq "Z!ߐN5?O1 O הK!"y"4}L)Q1 ~N᫪SK KG6%14Vrk4]uTe5dTbE5b'!->"s22U.6a 3T,G:bujOgEVTskNTqVpR8]`;i~riM(Mbܾ1TZl9]w{Σ'tfYZK,77LVRJ-dI/O!p8$Futis9uHJ7z0]2^†Znè/hbx1q$V6^'iW3T%>1z#g:N%N\~I[#dJYB,ܲ8=Ĵ.,XXe?գ!+DeJ h\u=W4]BomyڱEXDf L؂.E釦[a!q`;sw.<2~Z -Qo$IV ua6K {9VF%HDጝ$" Ms$| I^-!gu⌔ 8H8yD4粫P<ȟygWW#SH qan4pƃ 9BXl\O VtuWxg>z25HKbhO0}@f솋+>V`q/$H5TJXn1sĮU]Gri-w4*qIz,)G_TŞ|r4Ed E&_L"g4iD=,W f2QJT)gWKS$~kRZn`㭾faf)U4£U쁪|?CRBdշ7=َDdžzy<+d#}>#.Aͯq~$8mKQUPiך1sEp96gV^)`+,5ulD^nJ ZTT]Z9W']#.q]g Q/^}bZG~XIǭ>H`Rn|ӽq7u\ =۟;p,‰N;l;aCkaxa5޴s ,wXwo^ّ ӃKРK6WCe.m>uP 'y"t݄–;p8;VD>X9e_P Gqyg)kjrzeRKKDin;9˞ >jT^bDؾpr-/U8 W>W80֍ P)ˠy ]eD,z#4LqSX2}X,f7o+w?~;x\cz5Ă!U;"$cǢ[ um,33]qzQE,5ѝ)8Cti.SbXZwdm/_nju wT+ĩta3>#13o.cNI3,敽 :(eaApׂSC&x y z^+ܒKIrMN3t,7Ke *X Yǟ0*g:CE~nRsr;՚hk 1T/ m#k"nJ6">eEN~b Q!aB Yq~\Azs. ҹgM/WaYV0b D'\ 8+VrCo)R =;'R!wC &MCGo]XK~#X0si?2YFĦVS@O>bݟy]i\PyY *V#g-4g<`Ea4~! }փˤG}|(< & y!UT]:zաe%L޻'%#B`jW2y|=j44E7f_Vn`|4,Q DzwjitN{VW\~Zh?:E<9f6%ޔl, Q^@ב|^]-w9B0<YÅ|gu/WV\o.)Gpׄ9J(UO0_?MV$q;Y\tv[Or$YM@m`1h~aKSEp0`$A5DM`"nME"B4oiC=# mF}Oe4U6{Xl%2jqءeo( \)-->gTQ UȎ[ԯZ6w@VJS4?3R 8>l#͏UVtU s+5?q,8l]x2E>|9]|G*'Z;dxk< Ed*][$kΦyՐ ԛDxzTsCe䠱Ǝ#$wIMX".3nS@7nO f7Ғ~8#vPY>thxhȂcJD`=u9ZfH0V/kPOF*XCD*J=cXUpQc lO25j.p5akfh!ȾUވyq&n~KkA,su͒ Hg7q-Yc :NI]A:7v5q#0\U,֤hlqJC$vG7sCV W'`/', C ƣKg*ZݞW E=,}8hߋ6Ԁ`VVPN Nsm"GCF39ެ2"x|+O2Jq\?wSN!",}+e-0/IŐjL"*fm!PbTZw^`PN?×+{i&Lr+iм6ӿt`eXRq,?^-Nkh0_*s&zr6>˙OST&N"w ɸ%a}tme ri Uf>U Ҙ(u8K]PW;ԛ>V4EDrO#SbS&rXXmpd6u 8J9h}/5@!Fd{cL?7cevׇqeTFIĎ%VIZ_>=;o1ˏ$+no$ 砋e~W҆.4cw{;F]qi> &@RnʝplSDD«{[vByTjqَHuFlQ UpH Ou,kd%牖K c:\?3|SV&*/]FfB\3,m ^:x{HV(QWYg_7|2id]kYr=(˪()&4nlZuqzX/$ E:σ<0 d\cjtln<_*=Hw: /y"r*h/I?].{ ZfN_uCD=Ldj5P}r uqQuQHkEgIbcl RJ7̔.'莶׉BH(bt 4BƼXݖ%_]gvCbҕkre@ͻd4Kx㛎xZ&{ +Ywz'˧a똟wPwyF0+n0l)Ǖ|meb"gkJF@hB1>t'\])'Ż<**' ƹl_:s ,0kņ䡩=zY[Ysݢe&#9 +מ*c,Z6HH^`󡢦 i* (16d^KH>%6+{Llki+ttX0٤'jX{$m#nvHY˝ヌެt?kIL~LZ#Ij ^VKXAȿ&5.%玉/(v+k fP(MQϲ=ih#->h]ghQJ?rSZo}ʝA6~臛su"? ˇ]w#T/9z·eEd1v0Q!.#r +Y V'H a\|؏yPE  =M΅pBPv9zWj7+r듻8ś<]pgN~bHT ?QL8,,2aƅ󩆎ߋPf42U$/As,~0sGʘq)UbrޙNm\`̤ !kʍV& vuŖaEviD7ɧ]Z:mbb9c$i82Xp`FNg qh'l> p쮴Nyw-b4HX|t⨵XY;VCU][qELoʨ4FqZc}'ܝIa'+01vQؽSQ"F!$FUW#0U`)ΝD3iNс~Gq$csX>{(ʇ'Su?[ P0uզy[VEZ>4px뭕.E a2#9VBNGdtet DA&1Ӱr:gwK |jb:??X޲[De 7]x?Z֙Eh~ E*668k~X- ;~^(2"Ncj<_kVkP\fj2W7XϬ YD*΀Oa"rYLtX%ax[6ΔJ@% ~jVWuN9Vor!3.$R8W90C<{Ҿk`mv{4k5fMl+)n5ob!˄Aq ] |t]H3L)BYH NCR{[r!X}Fwf;&KῬަ;Kb?ժ 3Ԯ+޷?Rc*8Z1Nˬ۴Ĥj3.ݎC\ 0&-$BL9YuYa.XOF%WXW-V„_=ҽژFiY0$߉(IGf,uLcaڵ WϮi* KOѓ@aG~1GIR-QWmOFY>U$~˷ %[![RØt D $9jS~nfEm ,W]H8uVjU ' Cuِ f,uqO蝉P[Ql+C֙{##xGu0 ;ؐ(6YoS7(X Uv+sT?ծO# s6^dj1 Y.pfY/Y91C_~wz6)X\m#c$⠴UUh=ԡ kce<+N be Qn߮֋sg@-idp(Q\ZqT/o=g.KLbvN']ްKXy9VOȆ?p%!_'guJG9q>P&I kH_MTj,S(SS?+)3s7HY%^vSP Lex_{j&h/FF=RU=ga6MIncWE~qZfK^Ri8R# W%/IE,iD柴RT?0&uͳ+m3u"UuKТ: o.2e1By[.znӄz]F `q5)]9-w= U^<[``=sY "|3Ǖ`߹aPpF],B7. tvA>%|{XpɚϪAb2t}&o Dw ֋"Y&?KNY'ikofj |ݑKusOjӫpš XMC<œ9r 15㺺*Fl$+,곞{X!*͉1+$R0^iT59_]d ևG79"r)lΦYM  .ieX FwwN\m$cao+xЇ{- Ν6:Dֺ*g,>? 9±f5MkfnV0ؐt R: dB!dY9\+^}ޣw^,n NϑF> 19Og՝Lg"ۯjƉTR{?2*DOK ~xhY4 vJoqV0p:oa.gWJᛮ>і6dsҀI-j86k ÖV~kjc]ڮ ?Y07[{AryDnF422 T'TYԌe=f*:虋[GqKzEb@L="##<-`*Y|^Z17e/ҶADLhԿ72wR tta1t0S,ppBt2A#y1ŀ}ٰJɇ0>A>r;C`Q_3>_{V4 eܙӘ)W2:q)F}v 3قz; .:32P=y&5Đx=- Sʬ퇈5?iBj0@~*Ji6_C/2&wsEcQ Q 8dH pdTí`2a}Z.J_Bp뛤K)k(2ktﶁn0a𭦖٣ Y1y?&0XBeH:B.WMXwfg5ZٸwV99UQ8Ig%~Y<*oϻi͉a0v컘LڱyoB#*Eǭ.5#U48yl _B[*XpM::"C2B}-q~Az.fw >~ʯb/oh?䆎| ʩMa}fPɸ!/ (ǚoYᑨ,!a7gkċa|/HLal-:ҝQ\e%[߉/Q0d` ۘ3iG1}9 j;ni ǘD)-B{ |qEE__CcOgFqm+o&p_a iy׍ci2O-U+uws|ӯ6x3j -ϫz 'B7?n҃{blqG#d+96kY feۚ[#!~z}x/`<%/`bi|$û)c _ ẇ#ȭT3=&E옑[?ok(d zjHg[ls+==͌V([ĮEJZɗ$t:g@ i$Zzxl<0pz eLzI21r}x}oɔTAdIF8&˞֎01,)X1 .hH'W0QhbjBl-{JūFA}vL479B9Z4ѱgI W]b̾#>wo>a[miTJZf)HjQ%S^S2u̅B☆R?\JÖ9u$ePm*௒~\Sy)QNSzl.mSo!CcJ9XdHo߈%i,Y>$'Dͥ6->Y9dD$dq#!7#lPk/<]r=;i8$,I6!wq#Xϸ(#n:T3Y0Ps-~Oeר|\ ]%Z'YL,?ċ: 9YNS ^v^@ozT3Vn!pVM%s|M|Tz&2Q5pC{YrÆSy+d@øzc1q>%RRYԲ]j%ZK4 sE4t6H5?FD-,Ԭ~@&euCfuy.vtD'j"/Q"䬤ߕF ]eO5T Ϝ P`-!Kԫ )I)٪Pܰ. (ͅeLuJW"wzʭ۳9Oށޚ]!cS-5D j,M:W4+6pٯVԴ;'_L#wNRR_ :adm*Ӳ׶{mM-S?CJ䍗/m6)? .޹\pL|%PEp6ɲR!R 2ҧs_2{ a4:*}6aIr\<=%l5OحgnZYՙs~\-g&w\8e= >_]feP؄djd;{)L$MhYoS="r+4o,j=4x{&$EKU.Z~ԚokxM^OB6İq :dz>?lӒR:B/.~!1? ?t!'}j@HWSN6^αWΉ0pe\W|_w?E 4$ Gaja6hC4(&~a<>%49NIJiT2RhԷ6tsRER >n ʳYĖQQ:])>ߦV !*n}`l6!]|׽⚐hb]#Yq:S(XvRMΉ[;C]B|ԧyaƵ_7dze}t <Na<#*Ԥ+)3iB)%-;VEyG- $ۇZfWۨiC/xju}Po!y ;8yKi7b9_i2yЂCO5E9Fr/񜿺ɸ4)/^H6NWAb;Zd((Cc<5숶s}ll]0+fĕ]ĄlVǗnā5O8IEKDcPά䗤0uAUE1ޔ}VOE[}1Ḥ9%QGkw~/ZAY++H!T@)Y'* zU12p,(B F-DEPC ݎKE;%4X3JZ)y J8a2גZv.<%Ő*e!Ǩ zbDqm:OPy~o{;J<טݢ=7bte|.ڭ[бhB<~LI,hEL-\dۨ-n^YaSFe!G"ﮅZXcKjԙTeAPm瘻hW -Z # 3g1il⌁NSN ɾ@,-u-МO8\_djV0fr@  k%ۍMa7HawitiQF/&1'x'谯5(OѢΆQ *@‰z5<ð-q+j83la[IM6cH3FC^.<4Ϩ~>٫dh@,C௭=\0' z2#܎8 i,M U7Uݟfo^ll蕗lK ( 5z3 񈊟ʉ3T 6 ?FdQgF́*ysbaLWA'S3G!V$-ďa9Lؔs.N<:0Zl)Y*=Vyd(v-tGJcZ5L h?sBFN_ 겗#۵o'd8jG1whjd UzZt"l5 eop0^ũ{*,V_rQb+$~ 8ʊ`|M@C;3|ktEp U-LPVuW(0dު.7Rcr}>ףh[=>d0e/7Nr YuW\[I5[Ul8/V*Aim35-mJAݓ#%J({fϽd=>9pI| Y6g+צO|oO]SԤ&nǡ-̼MFGַ\wk/9vYA3uۍҌqOU< s+PdoYC}΂J k2G^zpߚwesS._]bQ7k$0˞>վmZdZA`a5)2]gӆ5xʬ7c| Sg&,\Ұ#ѹ:7I |XH/Ձ!|6DqaRt~kv>&q[^rAέg׹ Ak ?V5fhx}e'fB2h!k5(gzanѕb$x=6 봟 3mRP wYz=k'N^/=(l5~U7;vkL|u|p|TOSzKd0i=)\x"upɮXp B)ی/O檨/pZn4M4FF&h&ccEj5Zګxc_)%T`NdS㴟9ucW+\"P6'UQ{&-Q7=/Day\k8ژѮg?ѹ.iJi*H!֝deE^JE4aӍStLęCݼ [T`OUxG鱑]YE e4uk^`%~]`n5}^CA_lm?*'0i]oc"l5Okl6'+4$o0u-e`?DžR"DiP/$aJ9zثtM<7@9HnͪACFK\v:nt C!6buv!tU%%色tqهM&9DwDŽP`hҭGѼ!M:+&Q҅]JSuaUTX~]uVkX,H *5ޱb>c"5kx^B`LiZ?#APEaꓫbj2 6,l*TVrOT-"6}f5%ٳ0nGt8\p]?w]P0+GXAzU᤟wn׳jvn \u"fDL tpR,Ln[AYcLXߡPkjm`cWMQ%+Ѩ/PQ@8%y/~wq]U*ºsT0ٽLHe=(tgO"Bxwcm_E!Qs'>k+L9(/+Q'T_[%ڧ` Rt f+U_qUA:h<_TOfXw¥[v3)Ɠrac_*?_qXxɈTXXnktoĪcYN~OΪ0g!'v̬*b:yasj'Vmsj) 1W?<*knT#5{'Y:5GcbXLg)<ހϸjHA*?#R)f4@=%9qž$^WwqTzנQ'֞28a@Hٯ9M;&$NpCssl|؋ٖb vd&Lujq {y^Om4(;?Nqe{5~81^,ܕS;)% L:Lrג"Eo z6,I(R0ս1qĽ25PpfK`{r+H6K܏JvɵV3(8;f:邃1 6 f`t3jډQc5 kɃwr-@(#g u+ߤ5wqďoO[ <35asYs=4FBW'3o_8Z\tg@ lѓF&H:r7ܸCObźSZ ]OrKRykpe>7oKS &m$UOؗWRo-i_ޡMf^`9ywI_/- !p=YW/^,qx%YČ:["(iCU8eτ!8Y_zz(ԗ=>=!<$YdO,KV(Jw}$Zk5O-#ZÂ^M]?oNtK'IWz  rbh]G/PK'!m=%!^C;R2&gV~qGhM'80*FS;z/U( ڈ'HBpv3=}r9aCuR.%:]Öl7J-}[ĉQC&1L(CL&ZԬiuRaiٯEHL$l6uY؇-PvZ=Q$@)8½šR[VE?V]!иJ'qLpj,>4?vR-٩Al'E3\5g/ΨkYEJ!EBD;Te6.5q>أ>ZUJ#RO8ҍ( &::zecBÜy,^B6fҮ"PaS*?Gzt);qS $v+g,8~"njC"-Z:7.j!feGUcStu;UPl*br'ʊ ʳHԝ@ɀdFj]Ʒ6B2HϜ ˵9[9]RE40Q]0ШȇgUß*(t+_ V| gވI~fDek1T:&3+sG1cvyPN]Z\c 0΅$پǣN&SC<֘%eGF!U^` OQ#/8b%Ef.-e Ëch k$>c!Up(hL|NQZ)*@%{#ׁB`NHy$|%<xUMnC}^pX;J<4 t/& 5xՅYXDBA<'e "'.'*߫UV BoU@3ڔCUdvh3 UL:8iti{RoA>~ZU8b{؟2`r!cD8Ѱf✂Zc,C-"˅:9<ԄgZ}aLh6P_3%>{H1B?Lf,*Z`&¼笊dn`RwPSK{rï7B0mfH9w"a.Κn֮Xva#wݪz_ ۾T_l RMǑ᰽[!ώ^%eqĪ3$ﲴ| @4{n˟ 4ApіF +nJw@=rΊ< "0dž+ܑUS_U#dV(ĴL)\Q a%Rd Y1~FĪs߅Yh" $I1畵Nܐ::S(T+9Mw~YNڵd0ŵ4;r;OׇjNyru-]H0P1Ct¥<sQAp a?Y?~6fX17M{y5BV8>۞3fμ`X K_Y6_B4N6TFB>Y.X⻃*hi\!(e P3ag!pݣ򍳴l958 BW??X+VȓsQ`E!^-kJZ)]&M Ё+.RM(`db&uw`VR PJG@m4\57ǞR#30zfzNUhu,3<>N\a􉊥2T҄|)?J !FۺZG/* {<h&RG>fmr%JBMa-?;Rvb"&׮96 HeAj$[E݇sg>|N^X+_th Oml_,{~0{j5{ k&*s䆋ii9kޕ6IQHAkRμ{= wQKtE%-kc]X=-w3fy;|rӦI/BߛbԺEIqT* <}K-sZLcBHXP'' ^ʍYt" ViXdK˵7EDI6'5G,~L s'R6.'TLJW%Uc;YT!_[|ժfF}e~}g>m YӚ3\Օ x]Űt xP/8 |md{Q˚q8PO,|s 4(X z",Fq̖39p=TfA!nfi:LQ}(wJDͶa)cXd?0A/*I&m@fHSCM cRO]N[:dp#NqSMMO 613;sPE* mC8 Wz=O/߃N? Qp#"v4c[,TxQ +}oB,ΡʞğC-CinX9lL6V[/DQ|v"aFkbTLJ=5<:w*Cj.O_<^#}2ԆGKREAlc@iFKكUkv|?( 2N%'[+*Re5X\hD'08~:Ⱥ+l;c.]$9:7[C{HGbG9~O*^ ˰yQʾs tNjנo)o>XNSΒl:~_@yab 46v4|3v,eygl}a}5(K3 OsgɘLqSaaQžȭO!ߎD9t؂WmrM+*y[)ǖ 6Nhcv=mtﱺhIy2.A*?pn6b[|}/XfDžg _ƴV*܌!SQ@$(>vw(;56 ϼW2 Ԝp Gnw+IIT ʑ^w„+-rLB],tX47Z 섕QI^8{,Xs7=fd'2[Qo0IG's VXןEiOSjl+`uJ&rTٍUlI06"Ӏ(n {'msx֡WЩB,/#S!‘2HvF8eو$,>ݚ.U,3`@9zo+tK|u#sڊ?+nȬ"K%`b[2]1A%y;bYip&%{NVGL,`ީ ̅gOr*t 4tWUp mnaL%O1N6B$ {i|KMp<@QD>KEoqa[2@AO-Y1 ŴOϰBz[//@3T : / 5X{AgRk v`O(,w%Pዱeq/ŧ+h&hGkRb?1 OYR:XhS Sm:5b1M}\X * ]ʡ#Gy#hε5nX!#\gp-φ$UQU%gwTy7y Eς fG{WתlHGʿ-! g'F2{zE_Kk`t T7/[r` ۦ/"ה#)AG|"Fg9;RPAמ,౳a=,sg-hjp/7j[EQ 5Oe$![E>)2W ̬/5lMLh'6o`t`J0ؤ '8;U]tǖo6Z3{T>kHloS55ۏY"<ݝgw򆉴0]R =/~E&DZP-[⠧|0gd>FHZw,-sg3)SN\JAf |ɛSqXHX{Cҩ@}|-UIk 699/,Iب ׃CUig|avZ[ O@yvL&oHE﹮qqIOl!hSn6v4U*VYSIATh CS˴I7OKbr8S1YY31SӵAa-YWEJ ׸ĖiLzG+Ovaü8<2D1ЧJj$!;ª|ז1Ye# ?,hA `UyOˉJl_o*y&ppS6-b7$pc[rTTɮEj, tC"j!OT iz0Dǁ@q=8J~@߀D)@J@ՠ8   x*I@vmeEpjlu\8*rLލ)5OϓЦ@?ACṔB%[y_m [yy[-Co.۶y[uPo r.my[,>bZLzCp‡$Eȓ ʏ'4&) DQ,tS&*)&)nOp&iS'KtP^FuS7(HWkE~n7vnXmг f|nKf]UgE]踓~RMGgcJ*Dfy39G#܉O^#!=w$fw8ߑ< |(\6/ȸ٤I!c|t"yD\|+t'j%<2x[zxuzTv}@ y?o-!rW BxGlkn@rMMQO 7Vu悔<4 \Ǧu..3Bc>"TX՗SrLyi'JwFfEM^1{v^=CްpeY$/a4 d7BKn~aQ0Z-wSau &,b8J z?>GG}y`R<`^ch-sO "}GvPDo(E2'zm}Xnst=8y%A0lndW={rTx]A-Ό4 $UHO?݌#|$lLyY9JJc10ԓrʷE< YX]ؚ@1;nO9Ge;sk fsAaׅZ9ӥ|5IrdTrƋO4,w ] ݬt Z92lt<{W/ttu?mW]u+OcեwsIyLYǒ|]'4/U.n2Lʅae.`5ю aB WeA=wk!0i5z٤@=oHW:`e#jMd%PfTbx%-)e?Q>s9YpzKiC[#og( ߻2WylLqH1?!2$ L%hYmz`:[dE$%޿ #ehн/JBy 7vQу/hyG$O}Khݿh+C˼GAec19efU=l:jcTptE-،ݯ v"@g̐dS*ӊ,SWXz_gNSeZ(U㉰l3 ](`LG$lք<1e:P C~xY;^N>qb0CW}Ow|}?ՁZ>Q立#53"Bzgph Y/:ʊTsQC# h?>t ?ޔ=9 2-~$_<:ep!BW-rk{r*8oLkъ R*CcmW?\܆n]wݦ2]6R ТK*ܒ1X.fI8a(>+[`I=}05 H\[Nq9#mk+w^3(a;T5=W!򙴇nUoAz>~`$ϯC KL|Dj 3"饪F7tr>sު-DQ`JKMȿ?!4YB zJݩV=ǩƩPd&qW7ë IKe.^ X|n"rF}qҷ_SV$?j>dix>)PeܪV %ZSMAG(Qy3Α/0fy= =_DlW:f@r: &P+JDڅ%n闎ǎL\q.M:n_Ƶ$8ϐ`/YM>jJ j3|؈Iu&?SV+yʲ^H ԇmm eԯuD#=Wos˖t⸡>0Mz ,,kTx'fGZdlh~j߰zjLSSc#8&^Tn&gUD<&4E!y2(EuS3*5.D.*!n?#*/"$C~ k(L`A˪J1eVP ܅' ;ÿWa<^illδlzM$u+iM s]3F sb[m<*9@Mݎj/,ݤ7' .>uy$βcEaEW$ewCXJUvJ"ڵת2P?v*`V93rM gfH浛 )/MOE@Bv'#nW$MD=tsK*L.ЪDܱhj٦|ܧݘ023o9ľ-Dܢx~6xK[Fw!~.?$~ 'tY "82íb{&&G2/M..w,=8"PMd @&@ @WOǡC|.&yVD<_(Ud]\4BHӚE[G${G_ݸ\AiYsض܁mWO+t&@5K[롞^2lPFAcH3St9k# 'wdH$_`pX&4u8αsr?yōoҺ6cOei"2FVñqa^lW+Yq?(åShBȯEJ 9^6ioC ٔvP_i=v;B3vq{]O#z5^oK.+kAl'NSžOaFȶ!q#9UU C2UѭdD͔ZYhTMOʄ I/x gq)妈.ciiM+g.*k  ;XjxB8(Id|pwyocG6^ yMhJصgq1,n|>l[^PΦ{\) -!eKԄzs4}91y4&SVZJ^HLJ)Vժ}ƷFHl N;e)I9U섔>:cZTu*ñ³6]ҿQ<2־j"O u_E..|%ӴgRM3Ol~PW^+5@5r.w=8tCϛe41'Nh! A^ɮe*7p}&s: cE.K!?0-(8G|B4w-|K%+W;H l99 5$ܤ۪gpH@Eݫ9U8sԳ㤑q0 Xk狑gKå+Z3R< %v#rZ_D*VDsc7s1q߅8lhts%g ںTv]afQ@@V1>"5ɾ];jg]QcX{-ԝ?k5 3듩 ǶjӤdahZ Q˼9loJXvu^Вhn2ъ^2Ԃ[i☧d_;9&9v AyȡBxئs'^+45xw;1~OI9;IPGXeZ%1pϤRg#ŐٙktB[rJI}dmkK_>uAFfy[N(*dIt%DhKCG[;{ok- iNfwJkOdӔ:%5еT:,uVƬD^mw%rģIt/$9Ϗq-"3 <\ E)T=3 fɱ\+r"5f5>3?t HVO#X q{gڐuu,;Ս1opja-Oz!KxnwK{(RΟ"w:PK'rm++L0G]4Ϩ5#o+ݲU6Wp%teAϏ`ͻ"5|Wo93E" ΥFm_Ϟ{6-U0AOn.t6=<7EԬd+]||﮶0d.ه=k^du,ĺj6^OtK"6DӬOnzS;kO_T~;K"~888=[Gu"@~PcŠLI\^&N^ 9^Eޤlj61yw<l, 1X j<`9&n /[]|zFęQœy-̳Cw٬.6D^"PꚮT%9m'H7ԦU8//֘':}B!?8P+ + =2>-ݫyKP -RvwR'.! 5 m ֠RCgW:`Aiх]oh}dkLU:vD&#J L ; s r$oɏxJCۣDpgZ <<'O jA4(.rʉO0Ī}P-TDϡ|ok6/Hd[)40rCUOm!:-',$xX-%c5_n e Ak E)ݫ1;qϬcGsZc0ٽ+l,| Th=~.;w[;(}d(8SԞcݎ&{LX=LfC~~:Z8VVQPKwqMWK3%þt$g *"by@N3j# -6,L*["0oӰMM|BJ !nE7Hnxȿ#5K-|B͕ςl] ںIY1r WkoJp%h7urG +.4|^>;yn F]>E4h0DS0ya9~@_I?Z2JOkoЯrABPק\RC>i<$XimnHj^:1V,Ud͒^pb.hUuu}^ =*kyRэUWQ zI l6DV9Y B^A!tHQ:vܼ:!))WkG`m(3sGHHFH|fsBG%?KR$VW3R剗;1OfX/"J"2lNR]OMs Nݛc}z9IAn7o=@YlFUd=9M4ѯ4Sb5CdO FWRr;dr)Rh*r0c  b'uZ8KHbjoFŘixJHRM)AqPX)?N_G4MlHOr8{}:*֩]RI$߀Z+<6M[?3nKo:onF糑=ۙ`BQu! ʾm!~CfľS^iNua2YB#77VȒ,}5W݉GD8Kq|8;]=^m M@sBTh>haȖr=6Onn}x|(:$MX}ءC% p 6LW$h9ȋ2,ُ4JY8?_0b#_XR`'MдNUocd[N`E<# w?<.r]_aQz:z qowfh_17߸rBPtx/hvZԅ_>r_CJߦ~nrI{.K׵ *Cْw1(m G$J@/8%NpNO?}].@SM==)Z (,mHHVNs?Qr+l- j5-)@tu1KVyV5/aG?S_( !N%mO{yd5XK^$:O^ojy!s6g<^҆ҟM~mGJGK$Z)mRgzw*d\C)6/٪EmoDS tw䜛́zW8&unGeo5rb3"pB}'X!~SMgY^'NfKGl-SKSҎc/U9f7ں l7%a )oB}%}{摀oMo&1aN_ gVw;#IܰrͨFAr]S*p5ʾ)>x'(HŎsXT۔|ϱ#Lln!;>Srz^FSi2<(<70H~'CwdY5ЋNJ`>,i3ʕRZHŞ(V|=p'WrbէQ&6@hQN@tڟ~]vVбψLr8^rG(Rl:8:[q&ϒF 9e /ZA"YiuPdf8sڕ'Rdp8Xq~ `dS x7NDn=.W0NM?qQ++ =f|t9b1ԜDi3N#Dն'"Do\Z~M7O緍0ɟwTim o6HEg< NC}+\iT6ٚC < …Dr"K.{mXgkdx^!ku;:JBG-5 ҳ]z9Ҩ '?Fk+Mrb֭P>W'MKˡH#e X j'tRǒ 5S/A\!g?z5'a]23ZkaU>Q&M(Iﮇnɉ'#l &# ٵfb~0yAӄM᚜ӽΆˀ.8kiCp (4T}}BxEO/靃~ZvܹgXG֑Czh 9sdx 3p@G?U\a_fR~ΈG9R@,)Rq`s*`AQxȌ/\wc>fJܘBǼVYL;?;љɼA;9lI^_eH5Wo0fc_Lp̙ѡ_&$@8Jq-펢&|N>1v$xrrZeZoC,/>&Vc8^T_{8[VZsFAW`-yqYO=hIzKCzGf8a@&yC4IWiI3g7GT[W2ПqOD,{Ձ$iGNNcWў(ˬ,s͊g )j7ks55FNB ]:+InB"$~͝RQY+s4E) u+' yU-_Wd4R|UWmGzyOiZvӥ#QI0u…{Ra>/۵8]#$`x$+eW#Wыݾs*6з*zhd,MllfˀE.2xL F9Ű-MU|D۩*ܼާv*E Nܔ* '8XnEZʃQe*KI|7 I&T[!3+eXCJF]İ%ǡ) $aۆ|"ޗ_LH@t2Vq ETk]ESk!h SSԄ)^ ɴ5@DtdTKN †\uk1DMRMl7k i43KL*f uy>y?# n-6i%ddr"SLmZKUU(uV)He%*BF6y7TӦga]߿~}!&V.69tLw]gJxhhRIjo%\T\L䖗.$"Gprqߎ# ``Z2(5gӣ* ;.8SpDe=}oQZdXO0uImZnF󏆶D.LmX;?)l7J."Ȧ TlMn"agy5uE2yÅ?HdF* Z*MNq4`)w7JeYk{e<,J;"fV%ZA~Qaźax22T[h3.{A C[:, : ؊J5-gDIvGTb)*]ՂQ[aq%~ HZD!?ᤋѺ5- j}j-}s(%lEkY8x4HRGwO:×7ٮ])g PB.Qcj;U-D;rQ]-Z9) S`' Ff7t mɺ r+[G|Gh93$1 <9h5E5E]f0jvTx܃z!gաƂ$zywC_jd= "EC"c!(7R97&5M =$Z9٫8x.il悠ɥFw5[{7=Q’8 8Tw*Ge`tNj (M7tƺqWU#_ЃˣM$sEz8![!'ourc/=-hLh1=9>oK>Nj~(N}F 8̭&wHl$j)=J4BC.cy BD ^!yaebC;lઝtS}{W<2"yt-B~_A|`\_{ HS*aWDH 8WAȆ >Y!QJ͒+l6lH.୐ڡo*oA-ɍL!)J%\bo2_zJ8^Cy'F.eړjਜ yg٣ocG-%Z9˞&IɥAt'\NB9 X1;QbmEC"wm[5!C '#xI& @Rh&dHO JmFRg5̈*wK~S-RXhVD1 ;`'e4v'Lbu;lq47DmMyh@! NBlcCbO^p+;7I{7>8tIz ʡ<Ï3 Fߒ"?=^EJ]5z!iBw[}>}rm'ZGǸo@!pa`NM]:Pcˮ7~=]gjl#(뙪Wry{"/oz!9,ȮbX"w bHʢt<ǛL;[9PlS$1]8sDQƞ9(](YO!:f??0c{P=b0*Z8]rE#*LV,fиH_^S8G>#(O,qy ?.ѥ@U`"Nت@u*Df*&V`c:/^홯wWG+Oё^ڙ?c)JvqQLH~~ь >V1 RTϬK;8)^_m1!3}l=.RK[r;],Ҳ De]"Q Cٰvg3K.e;6ԿSxs]lMbzj)ixo/CءGGob9vD*}duxI(u,S/ymXxa4| ϩ|8=m cͅQXy%tKH @D$AR!^b8I{ P2C"%qxݭh/չ&FQеy=U~YԵp峃ՉM-ޛ8WRY6RȌ)M:g5Т}x_9L嶄i)$ %c H8_%'2 cU-$ezMREbMH !1 r*سC7bYB-[ qH>̕06r&H$6>QpѸd!81Wo: 0c{N4E-)r9!!LJԹل״AP,@>4DoA"M5.5ё\|[ RahP*f86RmE)m0}t{o?IF=J*L\{߻5y!!dせl@@;\1;P7RF;V2:B*ң̔fT5DJ#LܠK %*MK/~GJ_^=NϠDiɛԆȐ\wIx/=+1F -Gh!b4#m-HA'u@ct.h/A Xlۤ(( , ZDN!FdƭAfM$z_Diۑjx0^ ꔣe>WNcxOo:7:SKYLL\U hLxuv6M%BJ/X/Ӌś'K..ݣl.;.IV@tew;Π!LoHo #Am5=$a?abo(Lfz+A݃ &uBm=^;p+\ڒn\ ڄdW3Nka^..Z*nSxG,;vIc9})^@^ bPyֶXt}a@#?5w{)F3)PVo`Q[/ ="OMn9GC^^_` 6J( o۴/FZ@*[d@_'[w5in5Lux{"PPfK¡"1xcq Ѫx=sESe Du:\0ƗP彌Ys~w"a0𒇸ԄZx|{slȋk7M~}:wowGɷۯkfS)<ث ئyTeDf!x}N}Z3M&H{XZˌ`,4ROX1+'&"s&;Ae7Д'tw;bFT[.}o!~<쬷،nW6- 'Yv ]_?wْMd\ɇU[ \/潞F/2=m3,o8 }[\ A^|N8KkR:YixX PSg%(7qL`{&`=2mE5"]ar{PvߔCn,ǫLP ZFd+noP9zD7Aǵh!_11m<זF,on3>~Di]~.] %u{lG_ \uA}}s UODmmD| W#O!Ss`깍M㍶!ݸbnk|w (v&aAp?]qG7zy! <[䓳z{)֏NøhNG#`ZAh[˜sS17֒1 `s( [8ڢɆG㣐LY.6nHY%ECw[a$af3Inb@dž^dIGN ͺ[ n$r) =WA$JRkD"ظb kṈޑK ԆMӨk5Orff3RU8D:[G '+K~x'GGY qG$Xz(w;9ZvґJ#V=xM- tQv+S%M\Hрa\SŜC+A7.ɪQ=OF=d,#lͪ1;$fYեcgCzFdb^f6#,rdž ݁M61a =VLUl/Mw0!N<۞$JE`(B!C) =ոZ{pqLۼ$|'l9^f@90"X8nB˘TF;H|-nJ<02@5ݺ@LW8E=W6,XHQ?ȤFfCHpWn (^ZČU a[_7ݷG XYzHf'M[s*CYJ,E&f"NRܛu qM~\HtN@ɪ^6o^e乔L9>9ʸrD qu8cɺB$\r(s0hȝ!$9nqiIt mGb-ކ1K,tp.]A)9tQ~(V/⭇GE{eq>D-H;a$`)[ lq;A` }MҷJ*w(~ߋBUOK⍆5S۬re8Ly<ǯWSŮ9N',幅pr5 UVs4..md(}='sK~ Q3@^ֻm*Os;,TC Xj&Rp@~N?S\seUP˨K@L|[Ԣ'2д۷Io/W Aѵ07:>>=t>X 9%sp{#G1 a[(Y~Z1kԉ 6(쎪k#of-_%]MMw"ީ= A$OoMUO R{xpS^#.BIߓ C֊ # 6vܺgCʌ~ųO*է1>!}gvpJMjI=5cZT"'v> g?NF}1$p Hp0p1xuP$엔&TǷX(px) A @Uy geC]쌎4cWp;3ЃtϋGTƁk}ts N]NݽRG=lMlWιEVRq ߞ.\D 8!+A!!1*ȐBbϋ-%िYT,BؿH ~~ ?v-^]fDz6hykZZ?ԫc@i×;Z8ज़r`2N 5Ǵ /[_pg8{\ްwY VM `AtߦD6~Sc/OuE}\KJ^som|#v-ce.rkJ}O炋X۪!yp/DףּnbȐ64 >t#v_'tGED D<y5R$X.zMpUX|S6I0Zʎ)ضy˻@ԆxB[y#8 n^s 8*-kԡ{ND`L*ci%LUY|S& mr@M"𕊥}7w!lMQ=eg`nDN'rkPb|>cHP9}nNkЋ|u=T.H\n_f;Y9$%#/(`0ơl׮~Nq'ȹ-ؗD;_Ud9uπ`aA:xJ/;m YƥK;| ^Y*M= ,ҠDܠu16/uFffgf2d)ɃC2f%LAdcC22|sr(CqS1b5{5IA/^s2\`nG\iLLS2MPh.Ye`BZr2b51Ӥ̣Vtlscwޠs L(]պ`ybpٍ 2@[̚њ kgfHLfKd4QJ֋7j5nՊ8PS4k ]gpޙyaSDMc6 1&DFr aX,y{^epZ\tV|dhDTyȱqzј2ܱY.a:54RTL| B2bSn#5T,BPWYWde3s3.ddD1f\T 4żj+.5^e 8qJGG[?#9~I\}Vc}1}I?q;Lxv A]q<}O'ˇA^p%W ?=AVZ`u9-QG wϳq#yB+_]wN 4S}b6濰d}:z"@U ]] s3,1 ={\Wsh['̅K%jb&Lz@]o 4Zlg?Pq'*R#cpewOl'}=z69)dj Yqs(^/_IYGo4W&+ 3ui͙/{jA?[>{d+>;p!#PԒuS<_}ې#V٠3{=ΧGoNa6w8Mˇ6[Lc]fB=` ;}O`[,^/jEeW"×єD?ĥP*>aO׼ӂ(tvVOctTyń5e*?C\Sn_"8g.Ӟ~~oI&?doGP9)?>5ɷA}$~ o^2Tn$MrHX&-;Tn9ux=;AʂQbe/ⷻޙ=!i*O=1i?~ #0,}oSE;#ro_iHJE+^u}gک[:?G[:,KrKG*@x[8M'x[ AZyżryilǨk-n<,' @zَlZij o}Ucn5$Y$u8p.4] YQG d xjRhԓȣu2͏7Ƣ^yIQp[&}L wy9?;8O#SR]ᰵ{>DĥxZiUGܣ')T94]]Y\8A~F qB_c"Ahu lI3cc*o!#rsv)@ȅgq, e3ZQsI 4Hjbl7Q>"686HkQͭ!N6}k/GlO[pn̓p(]Y8Ԭ$Uc!h#dhD%.1#'ő-RH}C~K(qEwlu0d?+*j-r@Q0m8> D48e˶>͆bNp/Zxiڄ;t^9 jZ:Mn0f8 K23V/Tn Slg4|i0903 @Ea<6>AjTǶ o2D/DF ȓa8hR (`M?2H4$`i8*i*>*|0T b53.!kk[腴<[)Gѫ J@9jtx' CrwW(tm!:9l JX^?p80s0|*?(Y7cu]J%iy )->=G_ I>`gih %SD"% /aPujКzxnk ۴BԾٺjP ";S|yj;jЄxRuaٶEz4k/V5Q:zWVnžnB=ز|F܎'{ƕlc ^!Ag8O[>:ƻ$˩lz)]DY=;H&*x\wRq` >jj~ Zt.,t) csyP~5U|#L}S9iE4U "]%Lbd$4kwV#./U3 ' k?+Q^-5:֟t 7ߞCq]r[w7Q ٜu׃2rXKivz›p U%^JP6^pO*6La< U֪™R\)n(K?eplZoO!@.7D?.m)0[9,ex:\A$LQwZB:~xfs{FX7k/-|Oֻ[^f0+0&)ƐUW>gU0:a*} $St Şn^N, {/kپ;Q-_>" 59;EcHob#i+22U9;Dyt J_/.a/_<d@ߥ: NTO:Qxgcsyd'cʼs.% OUp;黨Id}1y,J HN&U[=pJ Hu+̨r6kK ǻ08R9s9MtYCR]8p^)~[D%|jba;GƮ͋T/p;_hu)DN.ۡ/r`xvmz;B`t躥Ǘu|s gZ&`_ZP2 uӈC5gltm=V'ֱ7͛Wاx,Tcӌ'#i۽M7 ka{7'^,&tM .6i1dN)@QQSO#Љ ``h# }bDgBHgC\*#dDN>נi@|~ci.@o,]'zY+A'S~A%i^)0)E(]OܑR}M(QHrd@So4  mG J8GF_LxD>zp"G2 dA ՞%Ӡ~&A7'R7aM %ZJֶkCp};! - J =7D8ѽ쬮IΗy>D̰oOlSls?UE;PE~"~M ڸr X; BdHzY?Yɮ8"-ZȟCWuՂ:j ` ٸS)ѺC27^FG{!_EW7Λ<9KiqbXD.k"07;襃S۽ߩi1rbZ+RݿX&^W 1~DY+^=h#ZWﲵ\ơUX,0jA8 ({s~: X=# qc;whW!]IK)#Pн #ko\S]8=/5h2a͎8NRö1sۡ_.8 ,Ut/ _tQs 2ID%}LuLmݻVxe& Yw%ޞ5sU?O@&8g\5Һ!Ħ]62 8+p"6d'(_\U8p(2ٺ"evԋl̟iݫ٦Emu16i'(R9KsH.hTb8SФѻa9tsl&5gΪxKlD' M9cqYuAxCXAǴy[Ǐ+IJ~–ё"d~v5#)mPde!sq\g&N5eD9l,M1,hDG 'l{ L`ԍ&);SfZeEd";+yi xh9agDnРPU,6/¡i ,  Ӑ?ZwrH9 '4־]f~]w"G-?c>I{ߍ8L *)xMy7/]ʹ燢KE[$憺s*o"Q+#e4hsDcdDIPB B"C^k".=qNFu_Z|CkQR-"BHNPiN:yAb}yhRyUWI[y { :x{.LucjDd@RlrAiQ3kau M0j/ |Mg\j(98k5XX`wd ck4y)׷<} %'tQ>39U_#+^C"XNEcXфgu¨|DdBru 0ڵܲ,@E9L4/'R+o$5~$ъGbJDt'G"o0-mѦ%.բ?N"aoQ۪Hwϓ:2~7JHS91X!ny?z ĭ=d]+ ֭&<))TpQzƗb)!lm;o=<-RCl7AmJjg@Nއ 褙&gG)BA:0liY4-!N5[cg^i;7r{L<-R>*t at'yRsp*80٭$lEu9ZLC@Z>@F8fEi_st7PH0e(:02䧽>l/ .()^7 2rU 󡙫\t{IRpdYdItdSdhdϚ.A\pkĪ6sH{}eUUe4)Zכ |1.C`<_H[UODkyAIuۛ#[}xxj??xy^5]de<~TyzwIaȡƔP7M7686YH1ⓊF8MGc3 f"H!I>(o!%uOSDsmE#EBoZ[ tP v1jn9f:(EN(i֢ϔ; DŽ5+z Q6Qƣ$"iGԹj'ڜX|"\8Ž&/t|N]CD ]>5_ZRb$ƚ@L{`|mkh@a/7"v[2},,Ntnb+Mr Xh{ĵxIIg@0%Bē.ڍtY]K5e7{nIkfW#`l__?D*}m: _fPisJ@U,D8HkĩY6iE#k tčκb#sGh|gg$UYIQbdH5 CqEY!@zT-Z^ g6B)nrttxkyLC6q%]<vOی~F̬*Dq"vFpk;ѵZ-W5d"J Qqfdظ)nmTD5]0\!brm.%MwDph)8m9T!M,$R1jvl:'+731j4j4&tcOU(&C@MWƆj=>PjD_X ]ƃ[cwME(5ZUܘ/כ2ߟ8,K⛬s= ť;+&Nz%Cp{ SC,'FhPoYHRy iʱSj|E*p mt+*03w|ՕB ŊG-|j`8[7@.k@C Hf,*! CQyݦv;Hwbrpv<^xAޱGzJ9W>CVNf 9˅  w~r"(&əQÈ C9 BVm6 htpbbjOyc - K3+LF%KHckFN;9\,>dzQЁWy.=B Sx{,95') )smD \lQlJ)_ jw,6y1}> ˺ YG$,1hTLxVb2ǁ o!WC^[tqRCqGvafLUyxQ>h_yc -# e$"Lі=Ǯwg)GۤshYqP=We̠x HMp/rxJ {{+~4;:Jv_!7 &1CS<7ŀgPZid1 Ӥc>qdVJGb䢃}dJo^:@2ImḎğqQ`~rxWR@EtGn|8CDɉ_&W6 qexlD/YGhA?QŐ}; /Iv 2;pc @cKdm<\\N?- Cgr\mxk qM0r@ 5琅B3>b-GM/FBlOYvl[EL@`4hҽ ;2o@N0c$1GLIC[؇1ԐU*ɉ)d`& e(ykj(uੀќӠwr8#;)*WurLq3@n]E3rSȧq]!RKD"D"vDY)Ah9PL%DՖ:LCNSc/l~]1JD568aBٟ ε}aB))vpD'C M>8 jiB hFoɏ` _תjQL$M&.Ƨĵ _d_x|4KC^͕a>Y]R9):W\?_$.v?0M ̈́_Ǔa?]P&d}^^A9OA~kwGc2R#7ϙirj?TVTT_WVc% !ug2Z9- z1VF`[q &B׾U Í( Bx}T_/r%[Z?s(»隦s\?A0V-dc)`e&q$X`/#g0jɾZ Ykxܪ`2 &E{}]GYUombƋ*rD˻ӻn4{:LNy¿7wxxƻ^Lk]Xߡܱ|A1_l>JnO(`/-Aq+l7@&݉]ԍkn"w%?Qq.(Rd)wɠ6bZj'T*f$Ѱ4:N> '7J{b7J1)TX-z26XfQ9,VR5mg[U#[?zΕSM]x3Ag=p MLhdO*sY Ī58>+8F}ky0^2Y4w(o@ Qʴк(}Ay C˕X`'O쮥~<#1SW+ԑiv4̮xf ؊}Lv\$k .P S}b םSID0+VJd fgj`YKne]3ȟ9!)ic+k^TIi.i%n(y'ZoQ9fR,O)?(4˓F4qxo f6D. 5fBG|6&rgh%7hx.A4}> Y,wfpEv WGV dfHKnMkηL>Kݤm.ZW ri ԱG[Y8L} 4i8{{.8=APx61CIH iC®D 3ߌORS5׿}#v]"ɛO !7NJ:?6ދ+=.ڻwYqįXg|_BgNϊ8_H}gkaC1u@-ӻBWrY}yHS+"gbߪ:?1e{Ul:wQLLc6i!۾;kGm"yTqndJ$uwiPɃ9"ٞFI5y==-d'(KUdt6SF=_CWuH{FTWFg䋸*ˣwЙVNP7C /pI+8v YPȦ9 D8xMUdI "33xHɢަ]Byy#PFrNBCQY>C>u?Mwj +q[ۧK"%&H vDeX}Jl1JYQ+PEݨN5АXp w)lz De흸:($F8`Duӱ`B7l6uQ(lсeJwSUJ# Ā4l5?̔Ź 2>< O3n X +}5ڣgzјl[{ܮ9_Nm?ErUV_1yp6]v72b@d^ϖUJR龜ىUЙsu2"[53VO\nwNF^ˁ4߫ J髫m % WZ+̼Z0f$w'řDo+#A\3 K|̬l~Y7?ZVv2 G[FO&Tt hJ躸ß2U[2(ջɆ48hbZ7`nJ/hne!B8³+ ,ֻ#&͎)A42DYG""d!2r7AM%f99:gn)˰; VKpY̼(z)/)!2i$~ *>_$N GSLfhS5ܝ u K:ްkgN7_Bzb; kµ>)au %XB~noYb 2Xl/^f\nZWMc-j}3myWM8C'?,~N%pN!sj%r= uz݆Noo_&E>} 19g|kz 'gr Ķ~jrl៧Bb~fZKM[89.{қ$*eL_Nx%uzȳ(_dƀ=ms[9 Nܿ њųw(n9NIZ ŬODfC`:RL:?8TlO3"Zs8L&ӳȡ'6%->6MԝK `حX˘S,=>\4-˪U75zŻp&Y73 n8a=3m]B&1ː[b2 @Y8JxOn5hޗ|7#Qơ9cƃQ`wg8O h!k(cONEH%=9ykV17ŕ=V@nVE,Nʜi[6(m2'т)Dkr4ǵ9n6,TyζIjz ^a"hװu6c. =i$ٙv%n=A R~¤ꌃ}`WݠJG&8#Od D O=1]iເK8:Q9Q,#ΎDkW/qT.0)nd &r;͐,T3|3預|\8Z ZvJpcAODl 8]F{;(rۮ&"Sy,WF_4H ^ͅ#Dِ 9g; w0ue*CEz$#4gV5pVn 5\IꇰV˝)=O(]ђv4=LSW4y3G< )lѩ&TkKf4!lIGxGƎv_5(` M2oBҪΘYx8,fفҙԥ6bm۰2-[0xaF3hMe6J{*6Xj2WҁXl Dž:3j$߿{=88>T;»wE; hLx\SeQZ*ʖU-Rh!T?=m~|~~o]!ޜw7xގ j6Fպzzfl&mMT*h,1ə Agb:z:lr`q8ߎ+qa]Uȹƿb'rs|G n30#=D= /ƍCHʚ|G坷Ø\YG]55q2jv0rxhp597n)]v ?<{ [n7 _E n&G$0+p6a+ޥ|*rW>r`dCJ;KG ȫ |I/nt?lW`qW§ߣ|`[CˏP%H݀ Yr?b$$(F =!VR!Jai(uo cEmC9 ϕfNJ*L]4P':0Wħ7x4;3ϯ܂(#IJq~J0ANg!_iC/0 گ ?;&TfITQ_:͏ӰVn'Iv0a0/Ql#ަܐ؃q6toz BvJ:%ju"|MhK~:a,E6B֐#I(  Ӊ( BJqsS~]0F2F6F8F@FJFNFPS7|Ϻ7R'TKF#0d9 xF#4R' M61sq+hǘ= .FX ."z>+3)%b($Rž{wkCr wЎ40&CϜѝcvoލV )i~svgJԎ٧IG~ML$$մ[g8pJA X#_;-pE]B)'w[Nk|G_DbRÕ|g-v "b >ǰP:ގH ZSi"¾?WcG`o|3bgf Mi$ +شe ZG=vs;H晅}_6EeKY_og&:~&0ZN6MCD ¾R&Ľw*29$=aw#\f,uK1rv63fy75Guɋ=M:(pGr톱"&?9Δʕ3:jV"fV*5% 3cgه"dV_gINtZ ? (D!,Ý[$ea49zAm! )_ΠAOx̔fp7%M,JX|h*c(io8xWnidYUPq*Ա|eu<#.5vh"8Ua)Vk9h,J_;WѳJ6nJ?9`x8v&:aw .@E=~RuK"Oj)P91YwX|J{i12g4PbuQÏпҶcŏYȔTAmMIBhرx&I̅u) S={)iRVAb xl;? uX>7AOOeE"  g>f|*UmD;_f¦:|uȲٟAcd[0Mpca<#!8BRO]P|#mB aelaw@Ae(ɋ) iRòZU&߮=LNG$2;-ӊV07dgtkޢE~!+ņ$+wu%Ďs|;NO{OV?P)Y YvPI37=G!h 8)ώ!Ҹ μtr<9v[8G ]Z3:??BgLvpᵁ5v %O;ج Oܬ VW.LlFĂZ'!ayEr6uHXȲC`H`O_yɜQ4!gS Gl+u|#bD~[@Wfe,hX d=!,QmY`8A;?qFRME"; FtK Y"{B_8utMV>I'jC6ddS8PM0& EXos̱rAʈJU$&`V So~gʴ/t^y*iSҤ/ׅ*Gyw/,%½Aͳ$cΟ>f!J|-r~,RGdhͯƤ>rd"ˁARh&?d\C=*& cqB+xp#;^%ѧSGEx${6siF2yLW ;>.iy>ǻ` ^ݨl(ܭ?Y9&(.<~ll$*L뎟$iJ*Tl$֨}lTt0R`x=$FJ? [X fH.zNd<=Yctn{,$5Fw/q䦬lӨ[Eu]5h~h{c=ܫ.}4%1CCZ.D  "Qon.d!yZT,}_Ϝ㣪**=GJ΍ܣ?,ILt| V0xq:2F0i}d=ɀ!e@eQ)ee3-C8XjXT"dEpsضZ*; ?qr6lT Y""%JF^e<T;6ك5yAæENoB_׃MA{LI;ǂPōkSɟP*bv<~w I?.d!ΑzPldpo~Eu*M$JCB&8H$`q@Il Ld@aU!#HYG!|q`AyX+QvX>Xb K)O1%GS^Қ>KMM̧R_LO+_ |$:΋)wjɱY晣? @Twٱ@O<_lfUBb%.F[:}Ãzgl%N F@SQ"bdg`*-s}1BK2b+C.@P㎞6yۤᶲ%E(' "ə^:6rAr-f9YL$ڼQP E]KF(p؏gSu )g}=$PhYP0 >x`h %LYK,q' 柧ժl]^Ty7cͪ͆֗yn2(˓nS6xU{6!iFME,%s+Q!g+,XᅞW8V^u7Fo؞k7|j%y80t ߥ_^Ҳo`1XnR3Vد@A+5xod&Z#ZJk ZJ(@ 6\YDa‚9VHIBp5 Gibe Bl4 VLO\m+//f5?,j8N"0mۻ zMvI'gBn Ch`az zu+,"5AזG9_YJߖ˵bو{΅ iWtA41'+z7`J"sej 9fJ*= ^w+N*Y>B@&LNa̬2 /Y()FT$Ĕ m = ݕɂ% qF#3Ձ6ixٱpmUk2@;G1´SU(Rs\Hpf8kTצVKB-U(ɍe^'ت}, Dkvr%soƖ:ЯVk2fsctSJl*Җ⾼};<+so9E,a#K8FULε+';Zc31I7/i]ZWSuԨ#8 d[+I x~DhEe~~'35*PSCx'Zeq˾q\+_;qO8U#Z^1޻nӸѹt#]pP:SMA$AINpٳrlO{ޅON挰AFrGAv' 'j)7ɢN&ӈ)2ō4d_` :s8["3`wnGړ\jύ#)$[>r,Gꧨ42DZ"a(x].^]=@s#ΜC Nd G;e<<>#@8jbB''ky{̣- >|(>,ٽZ-_fj()e.^ /T8Ĥ g8oe _Kta Z0ά=1 >Oa{> 9_fǁ2luhioz:17r?&Q;+^|hI)0VǗWOȌ'ry-Bߓ:/}c|$R4BM([`oxO&8gH!V%fADs'9}˲mA,j,1VD֡؂}M`יgy?it+'ZDԺrsakX5R<\V-x))@6/7bB$a[hƇOK$Lf3w_0j^g @bjHj2|"L7=HHrr#sMO)nM1Ȇe1&Ýg n]?ї/ W bMWNwt4f&?(xd@W $pnHe^׹ vBxl1~b^[yo4XMc$a! ~"X%O4FM@jR~9)]P.Y-jNsm)‚(xT/ /KLWblJ xDB'@NbH\2q`!F`{IAwa̻a|ϧ-v̦͹C`YnlX lc\ʪ7"]FLnUϙ)r}C2R<?!߁ ^8[<>q{ [ !#>o JߌXM Q'wj nk. ]W0 r~ Pe0>8!/<~wH#&8<ضa mřI`]ֽH2z> !f-mj~Q+9jH֊&r= Ozs׊n{aQl EnXȼŪ\}s^g:7 uI]:Iv{ |G(t-_TBGPN6¯#9os ?o͐Dd1s%<2<\ҞYϠ#}l \`R* 56"q[ l)7[? $VbA nJ|!|XpJB~*Upjye2Y*o&/a;~O!>*[^1Jki;cLoq!vW/EOH=1Kz0IƣQe,ЇG9p/o۳ieGM񶣸!7dCSS 5:.NZǓ;3R8̧ant7J0 +t:!fWfK8Z5ۣ܄Qz+gn:EΥn}uʩMTp=Oln$ڙSH5%Уe(s|0b y5ҷ'bm2 sH /.чҨhkrN>sY"vLO%ʎc,]ɖO C%Xf75$c+,g%Sbc45r*u8ex1_WR٘kidՠVcEd3# $s㑑a,Eә}9<2~EsPi!a,le*T!MZPjtJ_f%up,7)j"?{n]L ty\ZK&`;9xV\r*®!NFOdV}&J.]QlGA= =/EGD|)Ě5l4ҁW\lTR`lL52Z/R zlNך`-q NoFɐ #3F7=bd3,%V`W(<4J<z$G͵43xޖ贚,{aֆجY)pgKv9EP[4J1(CJq2l@Yy BeP)l)q( (D,0Tz^f3kW9E pL I2[ -~ƪΒDCv,(`̳oM6gŔi )=sitQOw.cga5{inJ >1񾇡 WٺAܥKm,DCL\2"-4pbH!ųYz!2\d^x%P}>(93(d<{{K֕'qۭHCZ{I Md ߴS.{^ʠLķc.Dᜳ.1MJj-Nq`la $c>-(|Z2ĢI DqcA,G*Cr,=샡^PI썍MB[~#zeB6g Af"G\2=\-mThܶ℩}F}H(O{hjAe7_&S1,3qn.Vv"\`"y;-ЙŹvub/'K"4G&ůL(Ge#oYZX`NEcMn)4ؚe*z>6!.&E\b ോ%5>:O+A, AC0x6InQD?m5 ճ@>VD;?V! ·fe#g/UԄQ\vBX-z7+e_kQFגѪFhQ1^{?Op2P9M2)G],WK_Ӂ 4HcV,ҷa;{,ظIx1EupI0jf3 [Əooݒ% L.ԪľDk`z;"`dM u?| 8T.؇ ?Q.q]jNJQ4AkF܎VۈirtlF5u{S=(!6v@`}x:3F5G#)ir*q gh FUh 98q=@Dφ$".S֐K$FpNErku9AHjvx(=hbS2O;aa}Bo+/b:˷(XGEH Ďn b-7 <[ iS>qʨ;Է5)W T-فE^r;g4Dr&>d,8.#L s}U/3: k|sxzW)B5YeyiT%3Z  @&VRP//"z;jixoA~" i4%!Ox\PdH>3r@n6}h1(DOWhcU~Z•ek ۦ)p"^EM4UݜJ't#V 1ԳR2|A-X/˛`muJy/%7vj`Sҟ!XA=i0(ώd+\*}Z~Dr}a쑕;kMppy_8Dq%3z~h970~ʀDGxj4.% _]78*4 rtT窪rysG2leW36*c'Y(WUB[h 򦪟.:CĢp4"K^{v&>Z+\ dNM>[qyN g`??h$Cjf_K$G$֟[-A]i}P-$-vmt+oSYK18 t؉3Ww0N4*\?JJgcKTR*wBOJN2z!}q=ue;y mR 7>뷨-s6\5e%.~MXކw3OGXƞixWw"BXR*F%nBK}{7#cCgv';VN󑞩\iCJ2Ef0k;D`l:G~OŇ=\GFI"Fus%}zv 'b͹ǐU-ZNmHh .f*&:̴H@*vmbɳ0'n,z,Y/7U-uzoL?kM/ڞ]:yd:P#{p$N8U]90QO?r'a ~-m#4voG=o0`N_uf3t/g!u\[x"\m.zTg-R1ٵ+Bgù&6l@]"k=OQnJk{]Y7OÁ_9,roD\S\[l9vnO 2wf?sly_˂k^Nlj),O¯ݲ󦾅2ٓ}eܦwhP:N5;&J`7^ ?'Cs3b^|32Q~".WuH_D}sv·nygLj6HO&pd桅:ݳ|^;/!XU )0TuR+&R.;-|4Ol3R"b(/axgKe?%qc4H'3PǒHEx@G++N8ж~9J*7HSjAZb JvD-l,$sQ=<C{*E \ C_ wlj0''UkG`#xkX yTOΜ~I ivD~U-tw2]pЖm`;@xW*uB)^aԖحhiwODlhhN@p L桶(@V5uuBᘡ_e(k1"[~_l. l GťePDHHI:U;:Q!$MT}\M~:Zn``tjy XR`Q&&5FB5^ U *]b RmIz=efV(yAb`RS0 $$s~Vc@DdxƀlF>&+[9No2Ȼ = rQG&q4 ZuenUu5ؑR!߹vxVid@^7l-6I6f[/|.x3^KslS:`}%%*"~wMٿHs@bƑ^ }>,Z/sO t1a iTp]ωi k|k$A{#slV!zBCH&CJ)ߪ8C+5HlFX=,.=+H(IHе=?=4!~>X*IsAeյiWXy,{}77m0\2Z7Mᱸ􏝻շdnT'hݶ8j}~&TQ^ f!Fn<_14 eed(Zhj}*>˼ o-,G*Ӎlh5\.c|rW*NvZ lo㹏jnrd,Cp?CK>[k xUy ` ;3A@h3ӏer:h64TdѶ.>snd5O*z[;(٠W ~%m|\$e(g1; `[LF|[Krv'&ZC\CN:Μ8Ϳahƫ̬b7Ex[^y9DaSwhsmٱ|Z k0 ru8Catd|3H3,{,ْ/ʌQv^y/em,44'>T6 =چz/ټ($lat J^z!z]_vY/9sGqpǐ =~_OĆUvhWi21OCn b"eᬂ"~aQz1ɥxu._ iپ":_P'L2t )˭N'cN?ə?( ­̌+,,>_1>799 :p% >>s tjچb;hb9/rD4az(d Gzz3k/+@Û} |d6$SU(|ܡ5NE+[@w'57yT&h6s?lp% [@(/޽x|꙱!FӺN*x懑|n寓VfXgLj^RPL])AIj?"h+/[MYi/ t^tP#O\ŖÖAp噄U?[9/@S!Lt_t+9uFR*61 C^4ޫe1}:\ȪC`Ĕpn6~/B̜vR$G H%~Lؼ<M`qa.57Dov\?$uQ;tShM3Gxnݟy=_ʢ^f(nņ.l2Djpg˒3_–!h@[V_`a$s-#:whO"q-~$Ks*#dMUprݶ,yW/\gCK &}#\[e-Ais\K+D@Zܵ75P'hm5f_1+'Vo$yv\J^Q,`e  5Z҆3\udܜScihYnknz9l:L=GkgVaf^˄[IPsR1w$&RաK,q&%=n+em[|֕$I&UՏ BUqQ:Py8{}nΉHyE4IG-$^銣j݇ur`R x\bLhMw~[eN'M̉h& 5RxKE5կs^RDl'!Y&[j3OR|Gix븷sE͇kT&nH9rz/܎͘>rR!wo t,Iu ە~-%|Idj&v umpV7y5Y1eZ2WXSw\ Է2VFS$ZĭsA,1:Fҭ%a+LoohC^ |arNxp1Y܌4 %3‡htP8Qk xFuWk3'ֈUZwt%ŋRyd\ d]LEv.*7]PÀp3s$kΙ}eΟ}TDC-\Mq)ȑ@t]rmehJup5^wbgX ^9|ĖAu,M?z鞸Ypol͢XpLVq1tv㕌Ŵ٤ݱ\)VW;セ/pijφv\Jz%2nnEIԥDo>l{'r* o,N_SD2`^C.e1. ?Y *OӇ#z*z2rcL$?ȿ^INeUe`;Rt\`({nї$+Q;}oGM ~Ӧ>kp-`O`,L )AAuwG3l(VHSw@ksp[GI0<׷+(,~-rQn/vgJ+5wh?/x#pϚ Xfor!JB1$dڋm~L: IYꂹz񖑶g=,HYEuXYT~W[]ǵtJ[Jt,BNTup͋8:7s\: xm\mZ%/,23|PaZ75A@MZm_n CJh ;8s!1r/ %1WHuضѻAxL#_ci:uf;w>S=ɬn620{9TѲ#PHˉ4ƫXWoHCX!2'GXqhfM^Ey)rs%h{a Xmn]?kU"5ȋ?tmHvs_Ǫ)Ϩe矢єz ^+dWPxYwQ_{,ǭGABƶ$ ի ܓ.Ѧ<Ok{xG_%W-Y˵Hڲgqܷ@<<<PG}d `4ab~zJM(ƤudK77dw/KZJ"/H-L#N`o N:@1>wAB^^5t{3·m3A/#㠒Vi~ IlS,P%h5SWB2[ŶC`?#([6LڞOl%WNK99˽\# X=c`8 xi B6S\ax2 OyF,]#φɮ Fm'g `IcXIͿ5`ɬQΔ+(P%ЯuF[I}pşUZlʓ8sTl%!urI<BY1yh-%`ڻ<͹N t(#2jv2/|[bviV SZM=*`\[ڐiq WGg;&.dQ"j\Q,c ^<}WnZj FL0ȚŴa+ϔͻ=o\9CM4[]ledݲ"ƚs1|F́AmQaI6_ϊ;ƣtv]Ld9mâ@Xn7W'Ϙf3C!F̃;yya8J[f d )>|9K* ,BU%&p  xqf|O:dd<r4Qّ\FzyYA헎Iu c4ʹ[,+td:q};9dk +؍r4l/ek42]cd|l{< mtNǰW `J:wπjػ0?++HKSαiPL7_jV-r/œėsѽN)1͟s ?>88V;eagxRs.0.B M{N|s20~;Y2\;Pz_ZVQ9^Lc D}L3?ӷ\.B{N>hE5b,\H"a{ w"oȔN iM _oɐd7J)KUlZ`_rؙ($KA)+? Fn[K8EH% ݞgs})+xw'_"sz E'-lb;xy|6;9a [ ֢ >*|pvqlX!2􏛗\ZFRE\EYUl)SCdXsaviS[  -Gj7521O[QQǣo !ُ^{Ś$ܐ6A,DaG7_[| C6$jk+6cOLեB]" n!8X鐗zBWe~"‘/D'vHӉ QVA;uH/V=5 < j-"R\)X2QX/ޟCc[ "O᧞}5olOT $'Yޡc>Fn`'aL S EvVHOzЉKIJ}BrG6qI|q;S@bovЙ}Ip;S6׿-P)=@=/ԉȣ 32?Zb[ޣ4*'҉'סqh1չ;lS/P_ZYM,R|;̖{ꅬuYĿn DV395sK*+_Nu22/O$Hf Ӑ uR68EIeLzBύ_[jY0YCmw5# +MW{?r#BKG}6Z~!^>2Wm1wng+ @Y"Y̑2W' 1 Xl=]O{W:]4ZȐ,A;pO/鬝.%yIᥓC\k7 j{~=(FVrF 鿭 N?3c{tʧC#AlA $T N"h ^Q_zB !(>tAĚדi{0- .Dcej;4}Yne2uoS-WL{K2}YqՔZ(/Tgxh&Ѕy y&]~)@UCw`QbT/8R珢e^;4d ;cٚ_[q ]% 9v&AJC [Ոf\>K0ih.aX|gk;,& qC92BtSQn\ vS("/!Dqʝ:vxmv](1hU%]kj⅒.3Y[NU^j iG^SD./&ҥG]gh#f?ӌ>iTzǹhDg(2Ŷ+ҷ9ktJ m Ԑw#+#%)E1?)Mń{' t> LS-J6~У-qM`l6?h\r($oE؟7ĦƟd 4|dmwx9QA>QnV,dB7Yw"]I]@:RWne-02V|EVFL=:SYF[SDT;vh(}qYs5.L"qGm5Y39Ɓ!ZCewJ(iɗO3;U f3sZU0˞8}_NE2Nv]\3ekB)99Q)B@لn,٥hI@O-khfYBmE;Fmd1[qi 0yv8W/]/;N,&pFJ+vf4hRb*W&Q!m$PS۬U0lu+",|#3OLslO*l. U^6l x7|*K˲iㆲ+ObGTW/&|1!\wحݤ!̠tvX3c PŨ7Vĉ-sTkދ_1Xr*в:4.@._k{b.۳p ,n{5ͫA|կĺ,de6'E'@0oʀ tѷ{}^awoJarzPꢷi1;AG9w#L0/@ $bAKov/]TgYr&.l|0c1(OWsa1bCX\&aGi`F& /ssJ\ BX_A6+Vsy's^z07@$a;B+Wjj6r1ieE0\ yӿ*KvytR,AװeM3fd,k1د LwÙ(}»B۟"/&L(EY{ E=/ImjAJ`Pj^`_c0Hu#GK!x1G:V^:' )Q67W{YUvFU|,=9e' u5\C l+K:j?>6 õ^֌&GCu08 }%SH]KJ7)\Юpj/#5I kSU%~xJɑ_Hu$yۮ LΤtlnzhECMI(M@څ-z6r .B D(E x &烊;#G֠%bys Aʹe-& ^)K!e *l} NAEkY5fҢ ]VMuU2 QYk$CXmy*LGcHZrFAMm乾JFthh>Dl|N)&"s!bQ"\ؖ }KɲR3bn`6!MH*n-n9j"1N''m[-BTw/-3IY\`9.KEf^>hBhǚp 9wyXniVwF)yuaMD' dRM_|Jwퟄ|ɢ.C9tBra 99T/J6zAR|~Dl w-VLjUC’I|&<1cuË:2=JLȄ_V%2ke"o.FPNco懚S%yG&jL ubNI%;\R?tyM2cbG:% Uy5wkKyZTg7^ۣ5ZEU-˜bXX"MY!U>ZEBLJ*a]Bi# -CzU@%%Rv7GEi5Pf$~P.[8 YXs}:wDnk|ͽV%vb@Jv%OÌ\ͺHLSdy%Ź `uO`2Z<>8`sIӆ.SpyӰM6M a0;u_JVbp"Y^&*=lF i;AF:+f!ǩ%5Jc I>'mLrLN#,[뫄kiǩh#tss(I>)2bt 2m?}#Ex+6ZWR" УS§ls{Ay{om. Gq\Z)Uh-1oq6@(^^*(A~2:5C0|´[K dcȚ˧PT,Q4OX׮⊸a|ngZU m:T" s/&Z{aFL޶Nů]Ͼ㆐ .H^\҅ゟ? rތUPxjpj ,XAJiW!SaN&?*o[4l37i pʜ0{= u1NzғXˀaatxQwɪHkD)u>UF3^^%Đ9qk[și t5o1 (8[(>!TOQl B4B.Hƕ _'#["禴 K'epPlu(A4/w-߉(]eUZa@FPQ(\eRa;VVieMc%SR#lPw<0D 8V4cIxmX!=߬7]~י&b2@@~(d+w=dT($^'L&{d.+Ϫ dGopLRql޴ efıqepnuLGxtiACm/E`>Y| BD> ,t7r%NO2mf)XÎ(h)X6)s0ύIKp%\2PC5\B\ ۼ BQ$奊5Y ؏k >qO&tkߝ7;+- %\ǵA Hӂ!KH]@a6|)V9^4x,8 *NkECpt'E`MU$soZJ^>ԙadfe$oC- xƣCńAG2cB`PVj=ڀ'.d Z܃ N.H~jJr")F T  4˾D Br 8O*.(3fXPqU,OJ`U$$wX&5c92Bfr!{2M֞(1 F֗NQTLz)u.[n(]\o IShXbħ# Dކ.ts?)/0rzZf~o]wx S|gBmiPޖjoGOwi`hXv 5n"Yy >O{oS5M&CkPTGIRٞ{/x0U3NS]vor<Xdtg7Ib9mAer6jQ}SQoK'$v7fE>r=lCӝ&9x,.%+MG7Db{_A.+i" "G-=_di9k y]ς/`ZΣwq8r/6 |C0X:yk~ (q- ~>fe`MͽyP7ݜb|\pJ{(VO-r`B"&҃ZL 1Wͅpc2ǬuAبty<0-sE.v/y)n+zSR|TK:OOQkm.ȏ ~K,. ,[ݸMgYWp#RXèFEm,*eAz8yW8]Oz".('7HEdm:fd̴x 2L'PrSI¼"6P:\OIƸ-#4m;%F K`):%́;Dƒ ; fГ1kq&VgT=\ݷܭOpet(%t_b MWHV6AzxfHC؇QzbFOnzM4iKeK>+2 3 Ezei5[a2Иv(T|)(=c6RwظAƧk)]8|Uwy:<6{ԨVh* 4}wQ5Hܿ\[ERf'UX:=dw0&!?Wn60q&K;$ה . Fztf IJa9>օ}\c%b/\-/3α%>@4yolKJi  A9@f˰d3bj\& `v3MgWjK WY`p8+po)LAl0A& Z){2?`L޳ooWJHg%}*9!EH%[.;$8l9k(-ZгR_i/0H B%lFbY.w#$nDYM8CXna`0ҩy:NVYCMYҳ]=5qʋZgQp;{t? {Eyg΄ۄPULYc(_5,kEɺdr}Rۈɵ$*T tȢOyp֯}.#3yf2>?L#2I514"u/xQ^s6/n-cȂ" vڷ|r#҉5ӻ0*OHHXPŮ v.,|g6(EsshCrFI$>]1g'{uO{#!\Հ%kw@l2p56jfcc2f:Ry4 8V9ږ+T{%F.B-aB[$DTJ ˣ֤*뾾&AJm0vcOLyDD RsVo;_ap{ xADzo^#Snػ,mo|+pqt[Z TTn+Wmiϕ‚Wƙ*h'()0@RPI?;l@CfA!``P !(@ * #O=83 ;/Iu XH*y{H^4r#"+2 (hmqť(VP|o*I\;>\NMQN;+{҃1 ǍX Yu\4=[ͼ׉-V*ik z(FԯeRGu*Y%un?27N=5<(դk򑙁oG .ANqL~TG-Οa~U $Ls[oSTA%Y8&a.i1`ڣhcsS95*U-ņwacM8ThܶWI=beO->ҵ8+<۫𶞸>e7T>(8{EȻ8,g%w`QT*/ӗ>3G~`[\O.^+*y"y`ICvxE7CmO,QHoVEy_rRzaT{D;J*rv4Rem+"Jobc].Y=E"ud-ӷ-uհZ;Gw! *KXLnmYh.h.&8V~]+RYg;4ẠC8<㣌Hq qqҵ*5\1Ṁ:/<_yLݖ-OMƳ ƗM#̞\.яӋ>,.얯f)N-%8&aL]B$#ҕ=nG"! JgXmDihBotꖁ-pז%Idj/ jcrP`O^N-_λpݙqLzw/7OqfSC lZ YފnGC^9u(%¢aA_1e@A Fo\V궣:&CS-A=+#~[v֦X=n%4bۗ[)++ϑ?igKir'+5LHYqn1TɮEFa+O83sDuG=Bzy@6 5%E]u/V2މKir-+PɢʐnD|LWOj^n.TE}TgT?_ZVoqD q5.*rf|wD$rc%J:QJI;iǎ+ ?B)[Y\;lݗT-Y2|]$3f{0J)ERz>+?vfѯ\-{q|!H%h}dOY~b/ZJVmvZd$;օB[ʤ@cv$h0 Rdivm{/J.ʍ< y[(.fߑöȱQ&}70o(Cѣe S7 'ڡ]f~|dV; MZfk!vN5`=qĢqA6`B|iRiEdUܲ[9x?)h^ m3iO~F.,2,'׍*B!Qӛ?[ $ɀ͛i3Y -qEm/#t!<榙NX6:,<@C3 usfK=|EyӍnpTPMIC>h!/Wg 8eB[?6OJ{a DW{tVlf*R]E.rza¾2]e _=q&.[? LNsܝulG&nKTj?ԍ"^pv7$i((nʗ:n0OP|Kno횧SE.3NW䈪r̽{~45;a`=QnR??M{1;ʣAu"ë"d7 *F-PخRںUoq¿bys~<vd$Rm1)YŐx;MM4޲pT+NsvxM%=]NRc^I0BC8RchR#4 (gHז$nʖ_0 iYz].BnW;TYd^#@p`[$T]633ėnJ yj )=<v}a7JfUq3K-kz5fZa-X耟bR"`nbR4|" GR7Rg680sGф?oh AzqI?<L X gLoҰlW~t#B1VzfuV/'gȶ)zy>kJH~|YhQ-߀g [* B=z8`,2v(8lSIнmdE~U;UBKdJrj-Az 3K>Qiev(Yơ| lZ,5ANwbJpiQeYh 9PJMR(BRA{+,2SnULhmݺ {O~+(BJ@qmAɮOS~K08aB"r3:x͚KbR.]Q7h?fLPilȧy\s$#kFJʵ]r9K6{U{XCLr90o|ЪA\l}x67؋b.kKv>2lh%0)RJ`xZb~R OMv)9m1so~v9ELd1 sƝr;9(Dʡ#Lze wy6רRF[%9'j  IeͲٯBMҵVz+|Bܸnbu?Z pn1" A=*v+Keg<1;aG%ɇ˚ 2s"PSRҝTMHg¢m)`by7Knzۇxް> L6QD U8SVj7r_oC,a9{]),C~jn 7Ps w0]BqP}"o0G?<,\#?m[uW"PrK*bCrSR{QVRO?yaIЉ/}VT׮J|˕RaAOu~?2ih p>VIql{"(["WޮԠơL>^p(.+ -u.!&SC&վmÃvYEt퍴0jr skg#,xI',LCXf *4 #~R%/_G1TI| =96uB@Ʌ&Yoֳ}LEͿ:VdP8@@-yjM Yх}vB 5vgv/SETn lg/'Qtv j :CJ{h;g'BP '*m-I1WE)-N{+\K}e&ͬ}T/BH~d י8;3Ira%fwYg"w ( C*-)PAՒ}t)Z~蘐ȄB#f`sBoh6DT`Kђؕ0qlR9w%S2)YWל^9QB{*Z6>.-@E{Qk U`ZKds6ʖpq,kuKӛhS7\^XS$.aB΂]{HLsɣة˱HaVUa(^K|VF*H~0=a +9zhBiO{)uMg8F?l|jv Ӄ`%{zaWG0 ,a1W=j#o9L \Aߚfh} ?ٺ0y6pp/<-؆HOëd?oBS ,Y9:rJ/{\k18Wy ूӰĭ'BUx7UxUuZ_J4\_'̛'7p%\+Jf33x_bB.R[0W[MKnUjIӬO)dORQKẌu0zC=䬝ҰK RzdHwT4.T&Røeþag)o*6:.Zԧn%sª~x3.HSz4Uq-?@\x+S`R7{@8Tpр};p-#(5}]?RaD?̫xe Ԡ8a26 *,PZ[C/xAvunX6\+qcRш9pa-~cf&֛Mf]uZ/^}G|ş2SP6Aidp_\䎹lbXr *ӔCHPr"w9`!/1W]6o\o^lzL2w%ޠMڴ1J#͒R[$6zx=; y7!7pmIۏ#5¨Q264oVudP>Pq n}3۸vd5ZU^l87㴫;ƒTb)MPw.0;y=0*}6,0ճ/Z/\RbmݸЬV{yWNLv8\5_U&R %h o ,xȚ{i-lw w іU{U*h0 uE‹6ƅSZo@x\ى'c &­H4j(l-N*~vHnlF0+A 53$7bK (5tr5,]:K`飸yrW|/2 4%YQDŽ!+ZlAq9Nĭڃ9`'4s΁< 橸E oX[V(rsOx &BFid%G"G(n( A(Ӹ01GŌϫwR=RiM 4A `ym*n|h$o 9rl Ubd#\"$G;hB]!i,}-\23+ ծ4z{8Ga\5f)5[3T5"ϼfWI$xsn Hr)UKҌ|7\fkcdl[Khptq/`XLP :@CF/͏*sm{[юʆ/G.g܏?#zx#g53j6:'.;E?8Ė.d}$qm)jMP*T7_5bR7a3bі-mȹAmj! &3bףC Z4ICFT^O΂<+U8r2m'hPͣ򐹽*^Koxqx5DQTJTaGMEҿIJy[5$tm+OFw/wqsR9DPZ洴EҡΟFKsۓSf b7Nœ(i ;'؛2U;"F9i']_^*BEUk{MsO}2Џߖ;Km8Gc&T}x =564¯P{W,i<Ob-sF@̤yfGF6jnAlDXRVmr1 ,7BLKݪiѳLl,UQoRU8(Qm1p Q"ߤFDw&Z#A5=zUc<=W84{Jx=Mj!mi~69wR4AG@vt F5pVualZR jB0͊=&C o%Vi6,gQ4'Q~Oazد1x \~b2KqK xDcƸuoψo ^^̟\1etz.b734ɮ +&dHHn~uw+W@{+6ٳۜ0SKxT[o:8mj !ϰ-:9kb_ HXhn6@J)E:zV 1Q/)vh1#}dL`a|m? 5E!< V~323]|ME@{z'f 8 ,(&.N])afF 8AG73A*XjIaw1#1&ɵD& qEẖG^( @NʲMEhwRn?F?$w8x ifTҒTT_ ȟhi, itEdUfkY$Sx3% {YuW u!MBVco#׫IFޑzP#AKbf'JwA`#eT#W=GA-(Lc 0]6]ͩERчP$1TJ#S/ޝ LrI 9Uظ5qݪLx|vWE퍙c ( H 2,N8(NDNFօj!r8sztNYӧ9T!FޯV\"T:R.Lp5rȹ$np\ngYp7+WN*&lLQ\m0Ry(P̕ -z!oW,+O .{X&~h^b\Ir*UK;$_hlu6كt_ߦs4IG܌(,t+$c 2)Fs!Ѵ0q~ȂahN3!lއ,f]C*/IUtBfp Smx*3x8!IBc 9m<}@bp$f2HBH{A~IOr&ʟ\&c?/^YBh dUit<k-#ZLT]Aj h393:݈%p<]4Kˡrv 6ShN7oHL3W%D)3q%Kh=lc=WXml5b#]bu2.c-䞊GgXz !aoIF>8%Ĺ=jPZz 3&@U={Sʾ ;UbSWp=T܈l.`0FhaŘlV,\./!Fl2VYޥmi:H-[B9cĻdǪlr5%}Tc)6k@K<1ivdZH{'~$ݭvrEw c;$FXfGER,b[< UMmdYF`d^ HCr.wW;Bk [\JVS _Pmqdxe'=qsDH{Qi-!O|PՐ{+4id-D'>ފ+o|*RedKRҔn.pwc38SI]6g`j4i-7@EbK4LS;8*2b$""LqCY8ڷ#. 4ZH 8n%&KU%ЀA.Tl^l4yW:/&#[T]" #`X՚Uܒ^3wLhho5C6L!nLqXن5=Uu{(JbLl.lk2Ne/NѢz7fc-L!EEJwWmDѽ;las/& a0.\AdF' + n#G̑xq3i7{ P3P_ra)N qtjq:)1qM[ |&3,F:\#F$uWÖq)5pPbѲw,\~ز=،N3ohPj}t/#nQ ڞSqIW)#?mu_%A% HEKN *,a%j؄UXBƇ F:]D "pF QT8Pl3m,i]b G"' \/8P3=)H1Xʥ8DƀKlFzޒ@x̚#_Ԯ^#XHzKy n^),% -ڍFr їß_s75U꠨;;nfV?k\&x&Q3v 9sSz_+Կ~og%MA%3V-d j ]z#~_*|^Ӓk=YŦ%TXp:#b\6,24,ih|S첼h-Od&X3‹{ q1a5ΚKpD;DS FʛQcs:{[6l(dj|l)#*4u}!2#gP9>[(%zqښY+S(3 U%`g^3۬08UX(7?eVQi$n<.3ȫ%pjUm-:?0qDN20D.ޤ3%d<2"\܄H{)@#رB:}V;e]d# %s{v}">,r6jhg &hr7rD6NѩVd#:"S^&x2faDZl& )dy`X}`dk*͉ Vw_Yɏax(ZBR  ǘtN)DQ,0c£!92hWb*6vK_M|LDqذ 0 |9J~'-+}ak,p66L7I( 㓕ұIT٭6 +2`3?Mqڍpo?*JhLUfFD (B)RE4qIzʠޭ!zpt=ݢ?-\uM!vSޔ-%^LH\mԩKw`Q׊%TJ~o OGcZM10BK`g!q.3]9־ tHs pIԋ{/DvJ`w/&g.DN  {wGUJ@ۓ(eGGȯG,RU5TtU`[>Z: 2/ Rxu-\[ՅAصkg)?Aa5| o^Hij"q_%E]8SѪW\{d %'P$0CN#;^aE\{ٸpݎuKVRC7eŶrQUWh*kBsd:'jiSv%RZ_\ KH-vCN]|P̓C|<*=>P%jnk%=Tumm[wrC qk>@r} Z2SjKJ{R k}%:[6Dߪ\ߞ.mo>y_.? jr*+S3V|ȫ=v\aXM4hwpu/U Tsoev57@, z%>Pwo9/E;2uy w/|aUPlEbK?!sZuzmɾ79+1Xiz3e`+_J>2__{_EvDO@^I;m˩:٩|<H"ThT[/~ .R,TB\oSwrOd%Oy&AdާiskD"!rvl߯ .;AO$?H CTr N'\S]h~vžpT^*SmX,g&[R ?lv:j@c.\(\"1Q[ۻ5w.(> {VesuXUN6hpe]7R)~ )IC@s?op(RTCi˺D9԰ rU_H_?4W>E-Ґd5v /_&_9DDWBCnOP˺E(Y}aE\9X`nE?pFೕn eoCPy4Z-^U2vVKr֐l50s,Ys;ׂm5.& iCnۢ{\.ja9HcC@K زau/Uhkw:owD%`<=[xVbB>;oYh!/0!#8FG\@ddPϤ!CC!PE z- }DCHiDUj[-. 5YXjQHBog"- ]}CETAEF(RqG##VY/0C@P8%N]U԰@R# YjeǯA4Ԛ1_1/# U,x>_qUե67b ˿XGmJ`bbdߍDC^8!t䄫\&}WaJ €4tcCX-G];U#T*P0܂8< R; s+%_e`[zWl]d{mp@| .5x )#N&׹0qb) -ohmѹ8 C=_ d6YI=OJ]ٹ4l@&G,+Yd}R 66Gl!n:T>\ 5W?1BE \ F@yjw_Tp ]e@L1+_,YiPěG?+!!)ƵINwPyb}{u]mPD")Fe>Aې;2ڐG-K4}Tk@_<mBH+9$k];ut05Zhj U5lՠ.cN'VH欯5}4jxS9GVwr %y!+[;&):y(vI@`%oX%dMCZ}W.Sp &ra EH^>&GO?ƶ$XIRnH&1;I,)Z215y(ѾdƹI6JPUtk,)=G2ԅnB2"Gd! W%f[9SGvF"\ K3ѩ^) Aj `'#4,5zUuQbp"{ /oww`SnxՕ艏0|R% 'ZzL\FHm3Dp$'IN&Xc6@[%Q@o<2hg6mb$gň-KelX[>yrV Tꕧޜa $F'./a*zꔯ3HUQV4" >.BZ[rh(U/n#5;$Wb3Y!npI%R)nꭲӹEޑgKmGk UCYlN@ *}082FQWЮ`P-cR!hh2(W=5"Ŏ.|$G a1pyJaۺ-Gܲ4悓ݨbN9سY+,L;Alٵ9$W^Qɔ{5?Ji;Q^W -֘e# 1=. دPgG+^:JIg:EݥFъi?r4;RQՍ . S1]ްUɶ^)9<=S\m2bb}ԝ+ MQr\9GW8-q|V?L  !2$#,S!9zF? C<)r՚W x 9mSCb:mQp5|Z**ՒS/BяbZN>UJ@CcW c urfV~*^L4'~ ؍ |EܝTAXiLT^_~#>o#۵I|}޲>ekh` )plqH޺٠ǕTꨒR3,rn6?U>bTqH譠^R ʞl~[lV0zۖ\ɬK^eO@eklƼ$`=8g@qJpʕTmf>9VyBbnI25  @FtEEjq]:\Kn2нl핃tgGV<;&h}=wxkvP#؁ W5xVܯ`-GۼxݱNĦXMT֏V}u6O- R[%NP`<#ɫNۘ-^I9z_,I|P)aHj/Sd@E{;X ,Ђeh\!/&}+ZOh\E{oktI\ۯ!U6EmDnEmcED!Hhhȫd\z%)"**Z-E"u,thkѶ[.0De!;ELEuDiEW"PQg:M-bEcDCZE'"Hltj\l/kC[E/"}sm%~ʦ!+**I-^r.kfކd dcs+yMflh2ǶM";3*,%^fj-0"CWEVFZ aC(*reYu<ԯ4ȑ9AOlP>BoC >0 5="LpY pD v?nLpmHF 9Q1Gc|Ukb;kLI5 UX-.QltY #66dB Qܕ3*I[asKkK9)gE`=OpwuR;s\:7,ܤ׈Igg9;r^(h9s{.XξrNArb{L=fœo~8{Lq3?A")?*42?W;#\ڐzԏ&lq_3gi:w +YUxQ.S c'rUM>Nx фŜLR.9Gk6crqNM1ҏ[3T] } 6/frvl{o'3cl(GtMkx-3"2^J >iNaO#x3>zc8b R"2p%ݟsi%Dج|K QJoP_~bCr_Ɩ',/7v^ >Ω+Is_R!ogv}9PIOby{2vT`==Y(u'0l"oǞЭfW9q=S{Tr? D5Oy?jP4+޻¨ӹLY5+ V*'=Yu; RC9ܡ)N^"Y4<v,oq^ OQONjrǐ|gÂiouWTL*w{'9QzզД,,`'%7KU6-\6@;ĐORMbʸCpمcL?mQD:)Zɰ}.cvbzmŠ1K@.0=ZP (Oc}x顇\HL4BHݪKq5q)uNJ$th;-4fF+a:- []i4<qmt+AM_A}ݓq#4˭Lm9#YmN{Pyj:b sbO>XaSFYn3 dH?\1$iy[HbҤjГt:Y*6)n1ix4{o: R x rR'ȘRG6pn}8-lE>o>a-x,HBJ0i蝴SYN\}e9uܥMIYf?uڍrqKxnDu*Zֵ'[ P!1P#; Q ˞8)?j&Z9JaF*oy1x4ރgwGصD537,nOMoًms|CjiΨo ڜ\]@+VWSPܩؽK}"?}|F:7 ,F=oo.;)> >k2?!k,h#y/XH}@F`TZCVc屠`Y/AAAڑӫBE`,mƻD`<7(vW'¹&AK)'5^$wWeٺG`1>PR18;[3 ܈n!Ywy/M3јtNަu;o.jIycWlxv#4۹ RrZu WEZ{ԞM1ThQHQ!IC"bTSɑJE'dGt#O1x*]Oڇ(٣/q(sh$[>8[^qrrfpEҦbk|# SsnoZhWouY;^wۨ_W0/Vz,Dkh{A],;<.gTa7 }GH?D.J]pz&tnOlF3[8n~&D*ʻUV*v+9\#U&3ez'Tr]9 5`;@Lf=-n5ݚ,([w!k]Qn5`ӻċVh_12Z$(QWუ37 r7)k=3gu٧jN N.jwz9DDu\4|:ia@OYwpQSٚ8=`>S)!."twz^2;D />T.$}6Jsy`AWTPdξlߞ %/C~&[92C!lqj 1?qD~j?Q5օO͜N~KE0͡OYY 3iMZ֬W ڔkQK*,wQʱo7qy "͍)^m= v,# @ñ?ENEVL"t|xιyjMչDr3,PɊԤW{ޅ̴ր"y0!e{Pxq8m JYGa&n n.xM˔'&HU4k*h`UYY j6i4WȖfMԌx 5^r$c#䰊`ի>(3;rN&MVv/hh;4 E-ZM\,%rcs7ҤW!o&ˋ(P\Wd0\_W 3cˠ=- q R ^lDRH, 3nXٜ9%ltކ?t ;?>p\ZRi5F'3r"7m( 2i1F>,Ž剥,D×->Q \t@Zt)hzJ&tA6WpD|,HHBц^?j~ΡOf*+@W>Bs~N##h#6n6Cxp">۹LurCv0x D!:巇"p7-U*,!G>b ]A2mOa&(a]1_o}O=Bg F!o~ԙj)7=iS :@!ꄠx6꽚:)q2"B ~l "GvxS'- ZABt zr`38DV= =R^ x ޥ_5H#\)X:jt,4K<4ҟ|];DȐ* ]&JE} bh$LT^bvn: LZܨ4~Xȓ7l @ l. Dܰ+H6!C ͖ye_fX/._՟[Y>ċw?$qn`3 iYb=TqNa鰧~F@ lmcN/~[hW,zdA믧кg g͜y I.r*@cwƶV`wը!` X 2] D ѯ+{غhY:[NWX#ۆ::Q%Dh /KI2DOeG HA$p)0H^?ӝ;1Kڮ/(*@0EvX/%Dh9f0fK'@Tu,qW'qZ|ըO\r$%b H@ܥ{T*fzm5 {|}IժspGh5NFV\F,dM~9ZWX_d ~}+ȣ͢D7CmGB4,g9]YX ""F.pdݴnr'j^p+"#+i1GHPm,ފUj7<" ey? Vo[ln9;| N EHA$ ~>G6`8y od4oB!.PeC=zjT #*4"GԷ4d!;17!68y t8[mAb7,To txEHM$4r̚;i~%(~+hJ[xD솻!65q9~3槳^c}uLt?čܔl`}kC5iyW֕|-´UupAjI̛ɕ͖LӞmJW@bHbu33%<$|]ZCB2#b$kEdkA2q+kc(= 5=TO")OzP.c( XoTӶD H`EYtCO;d`q{% o&-05.',;J-g~I!R} F@ J`|y-:esp";6Qb$9"`T k}T,=MK4DP6 ŊZC Z-&3'Bv솠7@h|+(1b6g<`E4daW>K2Sk%^(WfS+I5F@mrUKakAfr²,L.zXp pp9+T5:vgXYKM8Fh=>:F0i( }R aLݸ-H7@u`ÝGćm5c#D9ܽjP/ 뿴YNVDвOd6픎A`-ȴE~sNAd=?Dظ@~^AIѰ@*50r y'lƽ$*(ߗ[|0f-y̶>q{H¾f28Im8-Gw5 jͅch?qW [,;fI+i Y~1G6/j7YR>*l@%KwhD*. WCI-eMinzʮ_QDt_H@ғ' ‏sآ Qyjuyg!yo9aiPK(4gmF ˠI4T"n>$\υn"-,x${ůO&ZG8n5DH,wr8bV|O9 }.*ɳ 8[V vj[tպn!e>ipOvO?1LtDD鏈>n?oʃۘۗi$q&NFFՌACT\pJ`a{ ##{v$pv,rZ7e3 7l1C0?^ޅg>O;np(F=:0 y\Kܨ&Yu5ҷX%8jHn!#F/X7z_r"Ph_[I$Df=iN?(0?`?B~nbFvAY8=~w=ٻ1 lAhyiT.Jz7CdT@+Eή"YD9As}Ĭ.>8QQ@`'g=҆A)1"-[CӇct0?,OW.cnttZ7jNؘȸjV>wI'2Yz]fnifp^C֒(-h"BBg>OIDs`Ѭ`|a>մ)*#$_P3#V}\FEǔQt8NEor&;B#(!@JU܏T_'! X1|DYCup4@im3X)\HRLn˽y4[B<ߐ;rSK1;Dhȃ"B$IoȳѳV+vu8na96j#AG$[J֫RmrD9eR[$(sQm?MWR.A9LjVQ(b:1!t6/[4̓Ӓs=,MY7%)rDKTVޮ!|p\A_?5[D}YZOG/I&'E?t ]X``i@_NV$i2)F&:cZ^r">s S+%Qy(G vdMaprW9C3agV0*W w \V.hKkeEUR In.[ s[<3n1}:v'*`3ao2#ܦU(r/:U:+#`iUr=3.{wKEK!Vȶg zKJcp(QUM rX*0{`y*^x\hkUPɲB˵P |X8C~vZAE}boKL%+4-r0 0h"Ħ:B7D%P "bӀ@e6kp6:C"[!lx56 ?U8`=6o66f δ&pbf0a֚1M:X5a܂!;怙4}5] WFUstV٬7IJCq-ד+8VDySEnl*2q}z-z@U\ͭ抢 } α.V}C2Á|MF*Z߇V[Z(BY"V`t m+&T@?.A~a-Ÿ%IҹC?#gQD/' ҎC"ň:A&T^40+xc"xk\NJeRu@c$6&bW>ENqz15:dcLGܾV;7x dU3`#{:AkWMZ45!3`tS{oMɏ &$[?x &s2GKԋ"1Nz(<##GNBf%t[yޫ":c}s q"O+n;lW<Pr00@ bk&!~0F6dNWNmњح@kٰd`yʰcq\Ԩ`clZؔa.l\a{DkQ?|$-§,hH!ח 3HlV/x柌~ł\cˣ'g@꓏ ڄ1Y# $VɈ3`5Ps%d\vS~Kar5Q|xe\ִe!s mPN ȉP_W(<}%CW0XTeF›ZbK!rAwoGs:dye/K]+A'3/vhі#՛5-%T@ SU夥pՈھUZk}8tuړ5Pj FF;={( L=]%a̺Rmш&#|$:=ӬC\zƽ`3C SX3T+QMCmMX+PVMCҌ!Ivbr"1^/WPZ#^( $8Z4Td|Tnd<1>߱D%륖 NXRքZd<)~7tF^z?髜O(4BtЪm&yDF#s|zց.=é=< "̊2|;v">"4?Ƌ&&h:ʲ[#2CGD }직2NIVk+ }Mt\ԮzfnLoOX<,:SYRھiMvW`j􆥙K/FlRC> xp;^A!q:`S+{z.[(C#V#HQ!1>/N>Aa"(c򾦛bB+c9N5 T͚UR+Oghg̪Bh(w [@#DI .u5a_qb(w !zQ'uz% b_ŪsHm^ЋD (So8|̡gzA v˩#-m2#+E/$(5bH葢 ChxcLs!Ho($H:{/ i誫hV{׉L"\6{rK.pC_k\6aFgBcBR̳`RDf|Gte+8\:.Ku]j >gT;O!L 6%*>MS&}ah$ 옡r^'* 8B f8n'5$&N_'JEuUsJ8$.}eB\R#mv/Ͳ'8?D3jEvdl9l:<1κTEGcGQ3p $.4gPcGCGjg t6_h$.X{9K&ETEC E". Q\!a";H)˥d0`"nEvlOG_3KSVbbKx*\-*F_#vPӄ5,3\JVႳS1ENމH!],ЋAxRQd|tJ@ڈ#0C᨝JSSnpq4,h(.o6ғr )CZf o1\" mX=zIB̺q"uoOeeB jQ,/Vk"۩7 {a{v@ nlq (#LSJa@5`p{It \FW.*r : /k A1foSl!䣠zS;7`wW;+q8ad 50[s4 BSoeCҍOr[T@\pyO__&'+^xV8b:[(]9ngDC0Q堭pf ֽ[4jnV,h }5o_@V:J>]#DZe8-2)DPh_&j&hOp@CDw/cE*!i` u 3B%чap+.쨻6"R-H<%W u 'pm])ǑotPǫq"!34I77EcHQ!U C)[-`P83QpXW,}Id2Q<%TvXugoci%߻nѹmɡ&iow+ ؔ`IIƣ[~VK.@pL>A\nI䋠K_ g.};J X0ԩ gfovJ|^)hWq;:" o;\̃w== )1+Z q6\T 4")?q)2:d2#tRk Y.A؝T|ADB8o n|= ՍvV_{B9+( Z\%!WEmOݾF9cĵ E;o`\ѓ)i^ȱh;~S.\*囝ψVU#uO>4!q$\^"0N+G2H(~ʳ1[5#~mA;r:b-GboEw)6V[2B%\$'KQDy-I6R_+-bpj*KD4?N,ao?)DT-]@9P8@Q>_ ɯC2lPo"XyA%:CZ'3qn8FgLpKgptyc$]r]#bJso4Nݴfa?)qRP?(!ڼ ,p;RUIsR!@zQ˸  3"lJ/uJ?P< FX ygŞB="Nb[Dj>IIQ^ UW~v5~|T7y,@~DV(EgU@Sn3%MH2(hm]L\ TZz2[.$LZ:QLK+!U`-CЀSH{)Hb2+ HW"10 KX-;bg]hP "%vz2.uvIE_{|?Rష!mImnY2ϵWOpq쀙0f^R'A0 [ORl[ Rn>mVs#hZM@3jAI3{Q}zsU;ۙ^(/b핧gg_kN\G?Jγ  <Cgx9tۖ #& mW8$u) IK|ob`O`N֍CToC?}Gnc& DkS D-0tH#틓O[<EMrNҝP*e \8 4+I~ lY6Jݍ$zw[SPu(nE^$- w5'Z32J&*!&/\XizQMesWe3WKQ3jsiVDB_Ei؇^99ii饄doR9U!̟缃KkU>W/Ē_YѶ١}2p%X!>}`4GVIfL#TbP|l=Jǽ>zƤ5(Vw A4I _d\9u>VpA}Fcnvg w$i\iSoQZlQ"4b8ͮ6}\%Nvc4 &nxEVo{U#UŒ Tu D-M*j {&)q ƵC9:nb]̮?%BCJQ}T>c6 ݼ+@~Prb箶 1< h́[fѻ^! ȁm$=.s9ZcI+rt8p]]$Rf_F {3ΛlR p"SR)U*&xL}+(͝,ooY 7X--k1wç%t(a &M`ٸIK`h2&|ʧ*hc4Whf x-q (V!1 o=2r{8,H~pL]VoUo7f E:.gyzB%ٸYISGW?.')# #@I0E*ښx򑌻u{uwc]cڄ-|F0(ğ٬BMn?#0y)ޤlbQoSiw)+G%'wOLFFJ7XmZ'A,Per'ꥃx?wa-uCyJl$77_|^~/^B) `3!s/VGPwEaǺPFҮH6Q q,5.hF^BNSi^F!ulK 3(1R OU&5& wG 0HNؔ~俜NI2Xw,~v 3ӼW #֯+1x*仧։ѬWNC]׾bjX+NnV/N`_ۇbDڗ+h5گr_ѽg|I|WYtl /VL6|4܏A("F[/يwV!UI,5vcuz߷[J2/Alڦ'B3?҃c7  m`*.US&8 ыxSWm8?lNahYu}ЮI dٚ^l.N#e4XXBCetHۭ'&mjr&gV>`I;5p9ѝyhM4DɈb-yX{5L8F14s웎ٯr97hÌ!?VRI-]7aI#%crE!cIZܼ";j+uMB̷H I$T  n'm#9` 0r{iDn4+& 0:c0k`Et}[s|KG}1|Qh{L qy 7a#U0.+L$d6tEM&0XfDz7/c6K^[mk*K6y|Rem9]^)>| 'kqxñ=(Zدra>t]U%F= *y|Z Vyg~?!}o$P&8^nد;yI1_ ۂFe)SGE\6vI;+nݭ6c|^c`ڴ96R|HaD2k>bɀ&)GdjsOO0O4Ggj$g:s]]Ìo"]CV\Ni秈0Xp~<|1/ Ex뇹b큵sTm3k>Y +{r\="2I_޹7]=6o{dbӃ߈]a[@$q4Y1u3mV Wdj㴀P; .kLb2팸gkн t M ZwZo'`_3?KK>spNq#jQܤyW>?qj?GL욣>]g^sw}֛KngGi ^@N¹WɅ3,\_r Fg~4<>7|Xͼľ_ΩNVZdlr~P|{ĖMZOO- Cߗ>iO1^2l%ήHJ6̾HScά^9zN 9ɳaΩxܟ?_xxE0_<7_µwh^(nbyVI`h9L;\gtfvV׷$v-+?m"Jq13c>C82iS fd{`XJ%]s_i54 Ƭ{ vNnQ(L:ȳǣ(YcȦأ|B(ì>ɣIGy߹n'=e(4O<)HDl}m_l+}Lk>>tc&O9~aqy/?^UGn'H%FkY ~  jq9>:x*`\mh5;g>==ut9~9{/,Y;gf?ﱛ̎O/_ Qϱ͠A;ޣ]؁/rT4WcmȹODWgѸuʧY_4#c+u8}qCy?,7' lˇ9^O]#3r.v鍃oY λ+ Vc&;ngM.FJ561ԝҬ6Ki+vo#'ǐwa"w_-8ep叹cS&$1Y_abAS-aG?{_$..+Y<ǔv9O$0pqSތAWE&m)3IH~n.7gDkwY0HxS{ߧ`rߏ/SM"bwȱa/Q fÆ?*ۿvj81“dܴnjSu2gV:ܦ8.z#/E &oeLZzu/[}_AduyXUpd}t|*#G_;SSPw#[C'lWֿkEn_G۟_0OÌ]'Q(Č4 q0AdfZ8nIo6tI'TAOm-lM g.(ZImt~T](K?TbbBjb0lJ2_2]cGvEo-SE"2eiV{E*3Wz"cwR;B%e8As,wR0x>F1,&Pʊ\ÿ]AVDWFs0{kGv:X w+0RJU.枳ׂ 9=1a3مSV2! *trOSaZf=u1(o5ذ9>Mi)_ǭu opRJqL۠+z-m }Ƴeك B*: ;S-qKRT30 4a/<oOQа%.s3$$䞒NB{Xo?v쀶Gƀ=AnϞ&/SY[_kaev>b96ϐP# >REBE=/Ǩ$NƿQR;Gߋ҇+AKv3cdev۝y@3wIJmYbl-%l9u;K; C[©]u* Q40F1&zZmWrEMvX|nIjqM%EF cRH+%e߲w??T&Gà,A~5I_1WE4 &gDYu&1 kծUw\x1/t.+ady-f@Y:.T>.AIOTj%s/YU{. |kwf WKK4T`D鷸Y) r&ƞ^Qj8E1KLr&u1l;ϒb=reK cX/D7XN׃K&(^|JY7Q:혺[w9 ?eFA]%zKE6t2n~(ν1LN1ې]\f)'hWAyCz`K),P jTQ/`kVBx*?4_H'HRg!`fƔ!p%P;/?ks fNv$.fkl' {~C#G̍W_Ri,.ݑ٨G>Ε׍.krJibJjK)5&,+*aK F_ ,Nٌ#3Ҷ#/`TF\2r#"`NZ ܌?;ݓ" 1\9d # _Sۘ"+ Ӊ }K "rw[Tiq{z5!"@#DW2''_`nPCBulC"|q ~xʰxaͥ{4Pk l5ħM >gZ`+ y*j6@8:zMJT? K*G@u ۀG5jL.kP ll^ ֑3Gg;[ N쳻PIJg5Qhirfk2'Tk%  G7PsK}dFoHl'%S%ʲ{Ȣɷ[h-eQ(JEQ^?̱\6Fy!K l'!^'C]@ =R"sVzRӿ_{HPQ 2JO@qvU=Brdtcb{ }eH/?wq 9F=BDEs[ {Qe@_.`Tk|Si5f=j 5ڹ&M ;m&+ۯ6JLMqgB78g劤V=| M @]rO6k[4\ oOR\fe8اRdy_`Zѩr g.*W==ԂttiDB8y(,;6J}-1ʬ.mvtҙ (6kbYs%fݶ%4wyXÙ'AzI:`"yE2Bjbe#$W>#nŮ)v_\zYRox)9ڑ밽2WMںE;k<@3a5_\]w=o#Ļ}]410J$0|%zk W'WBDFc! ܖ%A>B Oř?I^vB } 5fb^ފtIY\,^{xŁ"dWêyݎk eC (_D>ͷM _517?f'CEc@/!_Rq]:-@u9q3`iI.h EK_1 bVN4jr;e}9a`Lsa)K9n p2i1g-kb/׆/_Xcx]V|&KQKXBnJ׮NQm;u&f?i@sI*ȩ8 yc_n#A.i*/: |47d0mE@D"HE%uhblv[T][TtZF:yU\F#*i AiWmXXtl{vė*|Oٓ;#nTIYrU<zU: qJ]Il9B^Tm<}i`2(OWh"kOkR*Ar,g.05eN؇!xVR ˅@CSƫhR߶ ȻU|/⁞zLqPa5a\=m*v!ߥO@&23j^ Tl^k}-8?^ͼЈdDPXd*uRBĺ.P'3u[pET!,HތKJ6h20AC ˀ;%MO^%~c#dX\5 -H ~iTϒ oZ>UeM>tWp ͽll3:W7χI.D)_*-Už b;Ց_Ԉ a?V=I,6p 87|.9Dr/Y,{2EgfdZ"3i\w$CLsuB0(<Tu{P@-k/ RY2n4齊$NIey]Ac[<&C[b"-!/^dN *Hߊ'/i(%eܫ#`"(Xo(?f0_B,e M#:[lC?ԉ)ޠ.u^3%cQjR cHN:6U"eH@F 6q_ tr\US:S7?M Uow/[8Y*X>SPd˺yIu=J+H#>2pwqjmycG]H?O^SYw' 1O~(4ú7RƖ+v1cBBG Pi9)г׆O\8@p6X?+,Z $3 /CF3ڲWm2ABd/Ƽş&\؏;TFcB#PtFi-{+|!8U$ډhM~ !r6yЊph@ŠEI 惏8[j*.j >Wŭ)W6*j{ۦo^ȫ p{Zz߷XC?o<}u=@.r?I#/Nۉ0y!Ze92yH J[}3vd2.'@@CK&;#tܥɧ{[6쓱 uzII8L$_Re[yCՏ՗ӯ"VjיK Թr\R ֹf͝s;v85)FI)ddMm+V P/ >N^s֘e>MաHxCʦ(ԯ@#l蕜Ր';wǯ_@%tA ->9e[IЎ>+%>4*`pOCGudVq&S,aK?ٯJ"4.`W}ld$^\ -/GيfY?lp=J3Žxga[._ i]LQg<ڇC6[K7'q*ӑjzB aP N/>X"E-vRt[!gdrS%Km8R(&-F~(*; r "/dlC?ȪَҭQZ_ykD !@! H0v1`f$Ǡu\@![DPXP^0Ptx"E m5ܝk}|BF~-]FJX^j("}-}r\܇TUDFI;TyyM-F' /~rmErZA&<.FֲfO md_J^16h)0xUԉ1s(72a9&[$f`r#vDOr"4 M_ƞn\`XٛD9l-FϫT7/Y 򄨧T, d{E dHO#zFXS>^ 0fI:P'h/p`֧e,ȧ59;cJ<^hj5?3fyMӹ̰d+QN-KhP{sZ&JETf`fC{8$;GlAEAb'fUQC&A.h5N&))6Qa@*FWǙkRyˋDpoӖi;4`t R4zv7.nrs3g/Mfr1'1Ei$281P4+h| u%EW:>25BjLqN5pi!Me+7OSj.xc/K0cIbeV>Oʑra|=|E(=eT%rG"5Dby@}%2 Ƀ—YTl݆̘fޑk\8Ȱ8nNÌ0wa ^Mo C`$,h*= (ET+"T7sR¨(9F>A3 o@E C7{oLvD^G~F #-6dn`&1 %.&/VdB] M(@ʩMv;]!#f1QZQ|&OZ2LjRs-vj*9séHz4]ZtR5l3b.#Ø.AX$yot`2 A,HD4p/ߜ\o_{*-~TdxH{8dpb5UM@L7G*(ߌ=-qZ,al0!"iX62okbdHݺ\F L}R ]Q { \'CQ<>3\KL]3PEcC˰`Xm29MܧRRnQ]I@Ll 8243zxxp?:v\EzsN$WlhASx,AHgְcB2dn& .6YNd_zc*G@"$ טq]+ōs~!%BLRW"SQa#J]c+¡s?E]x0wF6jk׆gZg/0l#2vޭO8*

69Yf4>fA!Q)24չt[*_3>Rk @_ț~k]8O0$O)uC ^+M`V:i'-WPFQ$XsҊz~c.l{@La<;\[םB@f <X+26@N BE5}ZDXOidu@d2L PP8l;½Y6:;j:?Aɬ5dzDU O51vrN1MY,3Bo^b`B7(́N8s ! K'jnlsk [~ʄgy h!\Ng+G {TpP+Ŀ  @"}+50p*1-%o2/$ L6宨XhH=GQR9QB N3&i kHょD5$*yZy~gwh]-0Cʟv6/~eo\Tb뮆㮎 i\>5W/"dęPQ#V+Qex tV٤J>16#=Uz1=d-/oGɓ?){rK,PbFO-| "݌ά,ۨ~B`3t ”- ʼm`Lz?|ק!ԉ$OpJ-ظy NJ (YSz$W*l;~H;x1A"ŠH޾ }?Z?_T4rܺRLP{@sv]_Vs`WKhDZ˞ ]djngLBP䔾:n&2^5Rw x`Яw(qq~?%ʜv 3$ݿ jCaf{p̭]݃5~$xQhSCP]d~:=Yı g f8JJbr?,ː0^l\BFJ td,h‹)I#>JvTV)3?)2xAd}MFr eBAS<$Kqմ)W[X/Qkl JB&XvID55c%0 JY#tZBFg1>bחrJe1Q-fTS6t2ĪEC.&\ڴg%mgY9I R*P8{F^^DQYehݍ Nl1.J~hm;!Va7GNC~ԫۈfr#Ĝ5cX!.PhVաe]]Ƹ>A(!>^ w ~ d+~*Zg1aRS­(`^XUk0@{}HfCKOQfK\HKz_SI[> (lh!آMp7lTlD# Q@ebfꀥGMk$EFGJ<\fLfhn"~z|4ȹ,V>' ɵqF;}=Pr5:Zŧ[ES )n5~hT3DԠRmhW|dxi.a%xDll-S F\M8guLa"Bur 7u:tDYbG]n)؄ӰVy9SEZDRZ,1smGh m حsX٥/gsUf$Y;OSrc!ei \jZ-ﯲ>W7iaGjބ1yH~'%~XQ:UVmzא<,xt\O032 TdS,fN 80g4 .\ U 6h>c}!Y<@'0Z~{jՁ,zN8$ Ea<w`'[0.<毛 f:̥ľ(Z}mڤbi96E1cZ8!jR,ktPsPnt.ޒ9W#QD!_C IRa2*˾UM\.E|O-Z(2-tVh"8t ^(W9N`9j4=?2+Ͷ5l+mW(U }<)dͳ}-g "NXu>pZtvɽU^"Vxu*3Pn xU)q&MNdGgʜ&_buT3!Yb̖fm IJZCxjV%S6؝)]rQ8kip'UT+${}g  gRtr QnJ&SMzN˪SVF?,)fMoQ4o ",w5[?}}Es{LʿUxϤ9Óf?KQpmj$݇q4wQ]s6kIDyM<ٴ˵6ᤲ-Φ\a<5j%(2(.EsSZm(|*^ݺ6Yފ^&5j/;7QB,M7!hN<^n}2\z24HR8;pw|>N<ģs͑O^\fCi'[6`y~yi::x\,!50m{3$`?L_^KɆf\iU)7t$\ebZjSf v֐ V1M@kM4|dznuByn6.WcS詾7~q>?erK3ǟcV)nJS ͕MS)6Gy\z_Mw NA ;V4S6~Ř,U{C*) Ѽ'1.iB$POϮ8zؠEYR+wrѨĄ1 E20KF#ߪ^Vzm |v˒{F)U_vV;k"/ n^̾ZsqBOϸo@Ossz:HO42wr!9 ѿ̼v:Upc^x6SNR_,GhoQw2VIyF_v&p%ubzyb‚4Ke2TRcU!*5pK|I[N[r!xs8Z͸øLFbc%4^v(`E-hHENt+|Wu-g3`H{2+ׄ36eh6:jqܵ{3. W0P `8OJ_wiD5꡶vB,8cFc2xXtw)Fp ERl؟|vk5[4xݿk{oܝznF.]u[0ݖ@mext񊙿gnz*;.Al/n^ <TZay6JM1:tmt3ner&^|Y? C\X5js>_5`]B偻*_}F>˼zjMd^U_^e|ֶ7.{e>Ța(Z~V6ݭl56~vˠi`A@zVuG{i ^FپÝw#SI2k&u'.5ݤsy8={r|Ia8~1(8M2bbξ¼*QeYRTcbfYSW^[ePPc;#l3냕fC-xS&֐}ֽ_Ҿ/U Q@\[mCZ'C~sȨhoQ$. (F Z T~AA`@ տV' ]~:&0#-"'yy Nfcl9`$\z ?8]X A9Z-ye9Y %_WD4r߇C@߯x!qq!3qkiC_b|ƲY͉ɅGeRo"B(y?9?4 c> W^X1\΋3ǫ,|hrʋ.UsiA-7ΡGE^=etUBid0g :^m8 jCةD̤KLqݘ*3NkX˶Ǎ!8̈́"XA$^K!Q6,[fIޗD Aj-̏x԰N YbdHr]kT4ȫODO{y`:k^Ǘc:7̿K 31(.>yU kuI}Ll s }:TJ"H3*qH%>9\l 6|Ԕ=GOM[azm>/I՚x,f|nLFr]P|eݝ'Z /E]f}QJ&ގj*X :VoԚ0 #5sCEP:Q7Oᤐ%ރ+: 8m1AH+YBGzӘ%>O+͆yٝnM*?LJ^F;#k;),?ѹ:c_E]O|&3?9Pָō/N/EV=R1wI!M4U5N@Bn쩡8~bbqWckW 'Ń,~ S?3!/x:3\(G>N8OpfTs~~N5[WOw(b&NK"ڀ¬Lq9>´UTDiTK>.LCܺ&Ou$ݸ 8C/;O_vΓ @¦\7H?9,Ľ륒E"(MhmE ?ߵ꟤h+ۿqS8OԟH_=)R9+*ŀEShQeǷs/sfU>jR<*!Dq5!oM)U]eQp8g9٠VGk,rSJuHw AP ^]QYi&h.MG;XuԢjMa캵)oO1QF) 0YW?u?ә-:CŌV: $4aύUW , Q,.Hs)?WA:|aBT_R[ޱb G O|uBl_0p6) wx\sL L?%@s,yꮤH hV$e_/lj"g7h`{YXJ0pG*wx)'kwMW"6/9wqM`Sa.*D$DI\W1pdԏhr6}ʅ=~|B:sXmn^MgDFH-U{[Tir>Fn]! ,6URSbؓ6VG^iz\nGD"2ϭ#l%ݱK\l:._RZB6X$U|'Tg}1(^==M1Ftl: (O8@d,CJ&("Z >i bRi_>uG`IN!TNXol *{{YȡQP4RiT3}Pna"8a8]ȿ˼ \k*Mĥ900Br7>9в0"~|ه 0QфS+dRbAdKn͖ ũUg/}vC|+TQ/D3HY&a9/#iAÝ/덖QkJ&tSwi {4N'WH=!4z4lk/ވ%`[QO48ʺdUqu҂;vUl |W9u/J߻{1ұ̖<\0Z|#YIYNȻİOgz>S$]b%.HOAƮZJ/{a`|*)*z.=TP2PƞBy ~4osj~W yf@蘯YWsXr?wY;GPEne.o;H5kp[oGs 6Tᤱݲ{; :#Jm_FWt5Gt&73e?=̘psԊ ZOy=*õ8 -a_ՠZ:(:EqJj%,ªE)4P;dRgNG*EXI\j5_ uc5V߾~ҽ)arGn$Ӛ 'uic޽ UG %FPǕFo8q%C;.ժDBM1f4/ Y%Hr!9 u اd^@<I~&#| R `wG2'wwrn MQ%` :cu4p^pYaOm%L^m-9yɼdqc (vkhXI_;.ةn'$37)-·'?6BUtWSIrB[eorV!e/xÊGptB h7mb[/?eVæ[aHT8-<|>8(`}V[M 5J7~ *Z|__U rȚ~tA4 e_b,񜇞.Zw-GYf6fSkZ}5tT5&* q 5 t=Ţ ql#zv\Y f<ȓV7fʤ?S@MZQݜ2$~BzY7[>̓ ͧ.!zHy hia")w ' QǪl202^=jJ* TvT UXE{b}&.$R+Kbr[?jƒNOpĹp9]*!]gH/KV>O\%2o'8;I/ " ǯJ&K\%;ĝ{guQcc"wsq`,-,sG\UdfA&CVvV,]`O^gif9,9_AKY<{o)^sX?^$ü0BN|-H5NnJ.9N\0N )?W"Z`):jSž@(D|>x|ko3ǭM77OgLe@X]9C]yX.DRTbWiOѿ&>!7_@W{8jN@qnfJ4]{ I x>;lwo04~!lkđtӻN_ #mV%l-hTw8(?_@DP:c {E 7֮ z>=Z|Nj X{AN|0R9I.6wZȋТ5%U ?tYK PQ9ݯxJYR,WZ/X0d j[M C",OHaZw,Γj^Dbx"n/*_7wKӭ?o_ ;BmA?B nT&@9EFp"8PFmw:XSBA,)Ba$h{ U t\RAJ!IjzNjUvadAj;\b>N b#h\7K]c]=~~?2Y3 Kw>~K˄ Jה!rn6mod-ĸnji_R]Ը8>!Vf13 f fvR;փ.+0fpB^ϰ?{8dF[6mI"?΅0YOڵPV&s`%dY{>ך%8V>MN6/B?|13ۿ-mcוRWO7W ࡀn/W] 71f9Sׯ2t/no{'»yS\ʖ>_%>V`#7^ iA%]A`!m|o=@M Zbr j*w dzrI4wMo?x,Z7.~'3jFrԻR(bCL |p#mqz\63dkNJRM+G|W/*ƨH@x>e\@n#1wpL+CvvK;EV>kXY1kbE>n4Xg -#4G-r{?6t T/-G6~A.WmE0|~+$tX!2rǏdN h2(QZӒ:%>o\jR=*@nA*Xvr uD6A ?L)YD]`G Ân;;z+"#OЭW.[s7ޥI]c yK se=<VsjT,r}"ך ChepMǫ6ߺky,OQ(ʙG%Zh \YX=;`Jˇ},w4Cb:LWHgcҷpb+\ Ht 'jO@@f iPL5mY^=D9ۉXR]95pU+mGx^4f ߠԾĴx[.2/Q]OI}Ow4`%ˍI}J_=}Nⳋ[-Jx/<]LY,;4($5jltCdDmN4zV2Lm0`Ȗ8^_D7973}}P19~|f\+S"cEe.1vHȊƛ_"kd _Gc%Rr{dy ~$2s^pENE윭O]⿩ۈFiQ~)1M ,,@${ \Bwa,E-;t.Y ʜv1KXz~ffko!,Z88a‡nTd %n&_#9ԷvM٫cJ{6I3r x<|'.;w$Ϋ_4|✙dD%F̹VzidMU ?u^MUnyaʾ 6J~d~d_JgDW+{zAH)'VhBJN|Zbz.Y^|cLXoS ߒ1u*|*okErJkRdمshOv˼V ")7N\ 7`0*#cPdˊIHf|Q ;+9*b{.ىԳ7bBU(^ypS]B酓9S[Ȅa1Ż'.6Ӡ=ö8'H߹g.k2$B\/lMΨ6[s]] e^Ǘm &Ȫ׵ݾQ 2BvhZQuKW utkrDw (uW\t;@+G{kܦq N[{a:F|Gz3s! =B82< !1G<f8TʈiʺJ9q$PE ^5/ۚonv}TW_k %Y+~U^Xp+oww }8~wHqCA1鸈KI&h78+P E4H.m=1|Zk cLH[Mơ3ڶX``S2ZM GLEZo!Ⱥg+Cމ^Iugga%]@- pzm`vPSƣt9s/~|mV8hT jl5V = 9npEJ3zyjC׵\ä&vc PrNbڳBU{ҋj*J/|iEy;J( 9w!M簪ʰ3`nF$bb@L˞cuY7=S|LȪT1qj$Luo* 02r3w l)AT!.ȘU!BΰWTZ.74j)Zէ(YqNZ]pGPɎK ǡ+Ҽ 2j-ζ/)+8&1"ܤcU~}O 0r>RE7+?11cGt<ųwi]/EVZJrtN8jQBYaM!5G\@ +SboZN颪2˧xqe:}4<[+_ς+ΉUH?5rx %0;A1DZHsGw0O3ՙ̐z߳+0L0$?Y-u!CFO b0 .f5>_YP#@@:Vx7m-x ieO(Bv4p8%bj@8jT]9c"33Ϗ>Z 9fZp3%r?hVJ) ) حTcrm[у0ruU$/Qkm]CqS<\g0NssU8 F׏0:4U0( *Y$34fS}|j m!`*K6RRP-nAtmк*\J̏$4V q U9S͚ڌYaݲ9뙻փ%'q}[Ź-0aϻqXq+-yz{t% q`n3q;GL!Yjr֙R 9t5Mnn,bI I Mu/%>O}rti=]5I QlЙĿeO"/q1nCHdURoiPh0@BTZPe'4ID͔ r(Zvqvى[Dĵc}khp.`0~#PC쐆 O)G('o:U1FB~ xīfL Bk^f)N!~޼|D`HZ3ogͱ6O d [ndQ}M݋RǶen/A*\Q6`X=![\c}\b^IRL:|jpFCAd{nT43ԓvҴUp ih~"zB,C kƧS-*ב"4iNGL:<խowԏNcasfZ Ìw<"ŴOVCR9:Q1ft'=xm o }GEJo"LP2Ӵo?㭒4o1.9qy: C߶-3u.v,EOJ3J/l%O=|dk/ M+2/_FB *J'5>FV}h|9>RN^Ʌ5 6roX}aۄعl֖3.""8:*x}n7 tA1%Ɛ *rY I vP;r V*pva9gv%IIw=fFWZj4A%ws˦^CLʲ6f}2_偢3ح;nTF4?]W8w\ &'\;5i[u cHhK<54(Ap^g^*^þL 3x;!z’GdPul/d IPAf)6: q]4ExGyS֠ϸ]Ūw\zs QQ--{ 5ǾH3@9]So.uez+8a_2mIɵ(4S kAʖ!J9GH`@hp; g1Q(p*>jlT6HMw`&tdI^Ie=udz(K{8 'KQso])ⲭ57asV Eݪs %ro$"*m&)aƘڌ| u(6]aQ 2{ G1baB9e.,4@p\NT{KZ7pcܙ~pH[&^K(/Tñś)}dX mf)Uz&ba-YB|,Vi ӧ+='wú-OA _Ԏg z]|1u]}_+uŴeyU;Ǐ'zS<((ֱVE&ǀ|ڽ[yeͣAp($4e<52 7X4eK ՒJ#?Ѳ+܌,'jV֗SCCf߰¬1:b5g[KbeXbl+5\1ݟ*ܭ-Ɓ` }z'MVac𨕮ݙht t ]ȗE8mmqV&Apl;$:ϲJ+#C>"" , 0fis⍻*tAiaШU'(XU8!2BӰcw=$N/2)mYV/xg, ᗟ!jbLi]Sk6XVI\,n7˒ +Ѩ}dY:x h-DrCG9Z;Ռ}`ލ\0`Bnp)فxn xPm+lpip &&rQhYǹ,0[fG"\ |ZBӪt#&176AL N /C8Β꫕B&[X{v3'vXlYuO>Pb-ap`ϝؼ#εg4\m$dTh Mdeb5 :c CC6!^y[a$5ռ VaSU-<6Kw4R? nDLly9[Cևx,**HTT'ξ%#͹3>a,LZBtg] ~qi4Ǿ)e=oUO]C X8z{xÆP]rV*Fjk/].?_),ɅJ8hP1% d0B 2&*D]M6:aǢR4k}u)6CfԪ:oe-NLvq9}=Xs@=րAr_g5&7{=Grl{㜞5ʬ >2f&"CH'xdL0`{>z ,.PLs0X+O篇TJ5ZJ66 J?l*?eMRМAEst:GVyJ: %rKuLǛ+ZTx<[hLţzg.Q ADe-\_ }#YmN Xy=aU/ԋĘ8^aj9/)?vx[DW9wq djSHj±͸(K|`>ޱ`Q&MBJ [r> Mc%LfY'lfmGME#^0H.=i DJ3xys[X:")^jlឮvn?&?bnB抰\P tS^] C6p6[BͱwH,XIP856j|G!q/FpΫwzdAfw*C'}-k+PXƋB kA-3Z$P*%T-G9RORօ;V}TFU<[";_I;-WU~ ťp(&51ƊZ؀)bT[yk &]}0n38B2$5Wܚwj_󄔏H]{5D8y^t ԢKO?B9hˊ7*Lt*K ԍpQޞov լ_`/t+/s v&O-!,k(ys#P[6csjL{+aS+LB; ~B1%=hWIͅ53ԍ8| )r]C+vCYQ l]5HM̸Cxz⺐J$M1Mwd4M;@ ơ &1ycy)l[liטA(y: {/ϵo2y#r%˹lҒ+Ln{;~"ֺg]zrA#kϋ% UѥDŽBU!"s|Ft|[ nWDi-Y^m$<@d+zi\+B~a3sJ#Wpbf4A!]BgYBZՙ9 :XkT`"NG+E̎f9Ov)hB,Y,Zw~]m${Q;v+nR e{U;]cDVRUwH!x% TrHcTC1ͻLFN+*? ܴJ-ֆ\A4fI:MҭB 9B|p0A8A$_{ð$d3FoO8Ao]RH5Lm[bU!T|5z~gC@lHΈ?2cxh-GE/| $d(`G,/߈eȔDžIsBtQ#gAЮA0tƘ8 ?"a.*4Kp(DϦLaBRÝg+ƁULԩ݂~փKOnք"1*S]R<tiV[Bv ӏT=Q ]K\zɺ37$C=}ýXEπpb`?ѣȪ|<,6qnΰ<TGqvWȖ ûYfl`P\)'$9`ƐܝYeԑ0Slq i65mBć~_sK~D5N|+d)v:GƱ.d[PW oKȰLgi#{yф!ik_=#S;?_QT1/,Kr=z9JRBkSwBM=+\ 5jN= %u;fnkr(Qr{,i*ofeBēsǽ˅E+gX>J,q{5i@_vurqpGF Pjהp8Ġ <`cToIsaHRahLI.K`b ;r@&w3gj jj>Gl_ɸ"Qs95z)otjPbZPp Zc[~Ka&؏݋ rI5^/,A'^ųuWz)D*4ݫt%<, "fVt= zds?5Uڔ7;6GԃۥX B"ކ0#OqHc܏|%nqZU \]@Po}sQkʾ18!Y1 e))^(*/oUsn\VLѿIzKwOZ\![HkUkzW^{~He7Ϭga Y!< 05"+LhFg:6dt1H@\ucX٫4OdW69I̛*Fmou r3X96-.^5N#15 d,.>:O};.ݔN O"s} _V{dI@U%7F:1hǕIJUvgٗL?`{;CrmP~zH~XMLQX(5A+ mbK.t" h>H,4HXN%a4+id|\0fQClˑԵ,N$k>)}`79؊'h<.2|1ำt&zQ&{櫳9u!]X_^lQVlw љ{3?wd08#b^ӫT:|9" u!NҕAzLwٛ^ 89.^O AJP\!Gd>NZxrXwReM)4fSW׃:'Kn#\RvNJ-~r!Xy$T@`6*b쯺?/ ih8O/ۀU3.65 aOTw+:*Cem~ E`Dl*O|kԙ]JHZ'x-C^LOL;|G6JA\|כY#_k.lW?8 MQGggWSz =Mdc!~\B^xn5v:ReL0 ` X'*Cͭc5U+#έsəԌW}(q |++l֭.C/~tDkAD^$0踐G ӼB4uJ[HhY kE12"o {j)5o(K@圯b0r!Ud<1X2.pRdQ?Tux#ܵRw9 jNRa,P( %݅^&O~"3bL!=pwLGW<y"!ylHʘFyaY3ΣroUx 1Ӱ)T.p"ߪ~O瓗מ]H?%9eQ;/sOݲU*͔ڮRdfpS1JiF.~5DSglp[?4{D0((.x_p,11N_d%'EwT$ ,}ZAF܉i- G,%ɟ*|&LD8]1xm>gTfJr7Ӂ!I#xg`q*CmGպJrI'tE83vH4K\r &lA^ "V9!3vX8󤧐̭ օY$n},M4蓶*vcq [E".{Bꎊtň!JnzmLKB@0*zwONƄ1 #\2C'0$y`Oʑy˨-7C\\'e[t\ƫؠ0?6'P;o5Dfw,*~Dc-8>GZ9~+^v<7u@t=s^1ma0 Aˣ1m!=K=$%9-b^(fD |t;1|n|}'ML [ EFenqՕ/r =/hkMmi \RH ZyGh\# ]f ¯>vڻBW&fg6nIYi?ŞԕiK 7-!zr맩OVKl8EwʲJUT,N!Sf]44H6(r&':ZE-htH3 11 x3 ?LΈQ⎕"T:QL7Sxd&0shH4vk)aQ$xD=S y @x!1:^xH*IIOmrV&C*د ?=(Y)3,\اR6JK oIVr_(QlΥG :^&S)|3Dsl#PS[_kd>z >G( N-H =1js1" ·u qO)>z:{|y]V6-`%Wbս@0,$.n 3@y buCEښ&ӏ)ږtHq[}vZD^ydhK "Bq*JF,K5WBb^-IӃ˘ǁ[fxՖsܵg_Pt[`vSmJ>^e׿D(>K9NSJN/C<]fEyI}>ADC|QJpάȝUYekIFFmJXTk܆T DY"3r8j7UhVFrY涢o#.w!)n9MSWx-Cc(9;%^F34k4dx6ˆ/;#'\&Eҭʯ~l<ă>Ói }K:Nt{A7.K) .k;^mpw˼8uݭ1n1x&f8nc+-jZae tzJ8~DĄTK.X6P_ڙϨԃLNފ4vŭ>=Z +dIW x%9U‰d)뺨CULHG hشUowW κ%}qӣ66]VV-y9v*ToRT PL"=[<4Ykʚ{ ReJo.v*j RXTHm)][4cfz^Skbf؂t{_>@­ׅkhғ_v3'N7kFjHSxl0>1eH8@t I S}UM dȏ: +D \@,AO&+B8Rywc8АžӰr:Gj* ʀY9⥑AgϡaH #X.Wr\ӯHMZ߁z@[A l{NbM4fLمhoJam JJZ<&q,ANu^`[z#X蜮`s#;)|IJAz+6̥~r]cS\7"jاbF obp>$Bkb4_y:yBlh쩮b(',h d\S%HJ!M ΐNVl\KzϠ.ueSܖm[!$]rl6xEMOo4ۺ 43+a_ $'i_*C߼Q i?ԚŹBO#ش[٠5z:Lb5bC&6z.7k]h_rsq )2T2mKZDodνfy"TAU0݆D&8U?e<&DEƀǃὕ,fF^"<%v vhxLj)c r>Q]Aw1loUfcHIOOgy{Ϙj5I3J>lv^yCJ m=?Jڑr}>F/*O m$lYʎ 8j6Vuh`Jog*إzثrhC>p捉.3 3=U6dc$P;kWa@%Uɐ?ayz!p/-HDEJSZl(79m+Xk"8FјDolp$&\9Ot`[+2#2 _",(gVi~Ix:&؄HCWF^7 7WRfmppY̰ߵХ_<rֻʋu O.l|;6: [0$az7ɷ ˹:҂K>ŧ}Y;+ ۆNAAl5&uODkɵ*WUlPݷ4๮Ѻ?/BeW.bSLS#/G7 qIzrsD*QhP̂ O}0V| +.Eʩ$ VG:of)6hyhj7K,2B׆NY`/H"N'V4pbi>fRq*~nLMSV.=a;/F},l<<,EU2>B}R!ĔMMrP'Ԋ<ܫ\7+j]C*JbR:Юjs. d1/}(<#(Oj0 I&:~~TOTsSPV;tLşhOOtJcnm%;DXY8.Ɠ Sfy#;fݠ{ә^^Pt1"pG,Jk0cwH+`<"]!v#C[?PQgĵ'@ lnp6",q+SPOH?\= ጃ!rjn[iV֚1|:#p;ɕf.B g0 c3'diA ^R+4G.d%iӊ:!GC0tN/ Cl#@rrM,67N'Iy]KLyCNQ2 s+gţƤ0*A)Wc0Èo[*({˗v!}D4]v[ >"V(XPz|v)Cq ZR=9h*iC9P Dad zz\(Ϙ$288eb2ވ*I;je_aY{PxX3U#t6RKqkxF/G}+hZqMkKm*6C F)`T*  bfI/Dp&>26&[3Gz,R\Ep,IG|ނsPM~)K:Kɳ6Pd iEup'@-SSᡨtFK󑖸Y4P[\"a8g?+ ,>F;];0_y-գ&iRgz"~ 'N7Iծ#@4/,񍫅TOoqKV~.=;Nl gFJ`)H˼'*F^ PBڪʧ^=:3ɏ?| ^xĝ4|6/$WqmA,!h-J;%^p`ܤ#ZV#1^.+j]yI:a:KMKxm˚3vVܷah58B(uo[40qU՟ŃϳOݭG/=>`89c`FHIW6(Hffr,yRd_Z_hAϧ)\܊6Iڼ.ddʰl4P")bM ϼ* !*msGŒ_۔!N<@YxE7w=Ͽ,݃8b $(#<|fф4nuC ѹ;T8srr IPRn WL2kZr= ؤ\ E [*M {;]a.iљG]Ý^NǕdM(4^ }Je7S͕z#r\]!I}8pDJM݊ vUEiUpDDuч3G6ppn}'.~fU_S]Gq,U6LZetM2b6M6e w5z+?n¾rd|B3 kNm@sUs:mCb7|MpEi^%0 u{9nپ)DGĚ,E4Ji.{Uj/ΊҴo@_m#SeԞ 5\\TQ>C֐S-,_0 8B}A2G,gN3t멟o]J,j N0,٫Bp9vN1o#؀ ˞ {m#׈b2| ΋NmHc!n÷z͍n쵂mӍo}xFӵ̼H׷\RIjD%9nΉ4qiٕsʞXn{%3Da9# ^^]+c@O%/!z/IχRg@o(' / &z=tbEa @IR PGwFTW"ⷹ%fK,_Q'۾6Mke?0%{uYș+8ң%?Rzp/*h:PkHG3^Z0l~wQI2n`TNʬ f;3@;4Tqk煥*j`IבWhK\uŃ߬DH5~6I~J*ٔ:UW&5-j,aͯAeY. })Xx&BȠϲK#,Lid#J~G_.RI/|kUJL*XE&`˹"q i `PݫRϷAU3Tnl˕S*C,NyIpj8k Jp'Kk%G!U _ ic+oB' (C-c[а{m fPS0]G0#hܡ‡3R $%\wli!]M 3bJCCSE>՝xU5q^MEa DwYCN`P'Ap*`.,k--/O2fh|ԍy ^@kv(;dH9kB`qd"vlj>)1yy =d 3wZ)@gd#(Uj{<ɽihb<Խݯ/Ա$ۤt}{q";۸M`O췾Q 9̱"GjةJX9З'0:Z㮇sѧP  $ASzkK4/jC+,DB)_ ϡ[j 6H{maE@?`+5DYk\~3 QaY@x ]yg_I4!dȦ{' bi9亝'Q=)-ޒ*ȝc}.CLKۻsGvgG[~؏=RJYARYj?e~SE.GK8kmo3x4w9W]\ض..SLئ_=_y]l4nGso-r={SАƹۄLk64"]Ehjь0(xc">橏U#or}YSS1H%kهxuFj?kHYG[_ɝC+ 7 &*/-HB1DsT]wbCugkǒFlN /K؁q $ 4Uo('.p'AN7hꅸ͝g3K5_:(|4FJ x 3) {IN7Vqْ րe60ثQ;؇j\ Ù8RsTn0hV&"j]Kh1^84^`}x@n~X.ұNj IӕB ci051SkrE4l|? ئLcw ޭF+; fUN}uE&/>FpfZF5osC-y9ŀ ߚ&QPt9 +.tzݷe>6ߧk){4/wpjkcn[{É})욷ƙ!ȍBh Vwe`kLN}"IiOSP4H_V8 G?^(flP3IÍt"9K| P{x3-Q( ߬<ؠQ:8g8 9Y ]T bϞJ}6,/QXL=Y{z"<'0\yk)EfƥLz[5,H?/"7͎yUH̕/LÁLעP磭APdej%hH񯜮z@YckeȲFLSPηa7Լ<-|7Cw@Q Jʙj``ٮsswjMUs `8-"/I|HgYG,D<(bL{'_?cqu2eE)Yr[51\9o;Y(\ {{}. lOJ@mBam@r\2ǎ q $ZmRǰw +-m/|<:Qv\䱶>%+3B)s71W@?ꙵtT6+08sןMr:KfL_7T%+O,'5P5@Af!f@[%˿t5A껤dXjzVψPb{5yKË_d Zz柢%<'gƏDޕd"Ӧ!T nvQݽwcwI_K#H&paTk&$*:TD,-ʨ"~`=,"؂p Rf 4f'~RS%/S (#6Z.(jfǠ۶MKI ; }ƳgQ!9JP FThz7i}-,(6'OWU}G #AIaX /]f+( _ ;~86R@I[q쒞J͙<#MA>) D]W(sZn#b5ܞŰ Ad$ofRn6Jz€LYbA v`/-ۘx؁3Z3 O[^QxH VQ8q7<|8Ȕ[ַ CAЏ@-^)np[FT*v6eLT?/B$%u4c:*8lme)@mnXf_iQyŽb#sס/C+N13O+B'kp>wV8ڲ$3Twk0rY2dlsbS~ijvu!?AB;ˇvr2ѷ5)C#)?q!F 8Wv]W}!}ݑA(Ccz7A_U\c&L MҝbG;uR$ܼX{qx'$Z->*Zw{7O܇ɃIgCTf lʵu_id8S ج${m"+p+ fQg`>bˁ/qhnE22QȰ _ z~z<;`9fA-mu趈z֪C!CUKⰼ!U s9i`]ts[(Q RY&KRԏhJ|Ρ"Yn 7I;~s "l@V>W{Ŗ눧O׻KkwW~d0|x2Nc[ou<;1zc'r%=~AoE7k6>a1m#*dR*L ;5{Ck&c#b:[(3-_^ql;~iWXB:{Plh"Vrz\ړ$Ǟ}VV_ &zz,1c)!6^wG ?+_i7]w.JCH77=}(9m:kr1bL l3]+ QjU٣0?I2/׉#O-]Ӻ+4\.9k=usIjR.ke"vw]>DJ1;|b&{[q'yЮOKŴ)7eIxXjŁ1A?_ kE|)\wsL0jҷQ^}`*^GUzξ{+xgoKթW7K{P7K *s4IsZĶ_y uÓjwKؠYX߳C)Y١PF-?W篈;7a۶f:v>#H)ʠn=)7kcFcwe@SD=΋K?yeX?o0yW[-Wȶ)k N"^<5uR<5􌹇y4)5)$H z5H)WѪOo>ڳMlU#nt:g@٭ɖ X8LUYrڑӋXEJwԛp{} wI梫}S' |S4]x):,VF-Ҿl\ >}@XʕO974zL'>ߜ,A͙鑋;RG ol<-*rI]?FTcMdXG}m% xgkoHͼ, 's%Z-{J.^%^fX}hjnջNFGɫoX%Ҧ0=BmWgW)Wҩ;)k@_t"+.+q a~gRhi ?v2z_n )qDs\&iڊc[ɵ#_:׸iTV8|phz5`G1_wa?9cn?NsXg~;59B[.8*\68DJCDhnVpF7|s'19Dwl?Æ ?4m3h|j򁆝Mסiv/Z^|yoonb넧1gŀĭ,Ґ? 3+^iOx;G_JOԌjZpG~P?e=)Xޮ. m_`SGyzzW>]CGZ!ifKP]|߈ƾGb1B'ۿ8N*]=I%hMuFS?_뭌=gT.7xʛ}xmϕŒ< MχGC}xoGi 6L<<[X7sMi^w¾ O v]W>V\{kEfb;?|''5}vDZt3m39y}K!rlcgϵ>T_X8ly\svk30wp8lp>9˒-eZnfOŞ25@M֌o&ATRHrW12)C'=~qT}wwY*.ëҾJy ^=}i*Ox"q;Gpe$>Mߎ$nkX\kI5̦/׺ K `(ݝU6g>KtJ*8ABhn72ޡ=ϛ*Kw ;1Z>鲿hߥIhD׷ӰyoՅ:sSmP"Ck7ܖK1O_ml̩6'Rwx |-ȁ<zZlv?Ѕ.qˡZO:K#AU ${9٬2KM| c-ƚ56bSwD{1{WDMw,<4]a%kH+."#xwE,-;?n_7ih\Rabk;lsK7DBt'%n묏)H$T5$ >oz&\U/on*y:rWB5HOyuwvDufP.["MՖ';:vhLecYdڐ?ѕ>\{ԝ}߿?j|([p0Ӿ J[B<ߥ' *h{lT&zoo mOv+ľmtXql5Vbj½K==MKhIǓ zh~=)+"`M_DgKuF?1d:zC0csa{B8mSci T逅o>v)6-?dV\DװZw](%(o+ՔxD٨LPys22Keq&)KKMenrm%#ͬTxCWjE8ف_!f `,Yr?l~s#Rym`-þ| jzq[/_ˀizL'Uj?LB<'JF+g:+T%5m/ks_LTncI3^ňN6?V5-)gtV9u??ϝCKv#! $vfp)9a0I>q#4JHzb6.QL&I'ՆT.yȨ 11]$tFhl󥺙{ґb^Ήd@r|U䶲r|iWC+7]Bc)7FaCȐ*id8g%ݨYΪma epBҁ:-8+ClިKέdv)Lp5JTҜAb Yl[RNWoqɼ+LӮO-Œ@TY@XiD&cAT~+]zX~(rsADUKdU<{@Cŷho+>HR*4lKY4Cf/GK&9f9!<˔85wT'eR}Jy Msj>} :MEG OP{΁6VfՆns!uS&P&"xߛ=\ q^//ɀ7HF۬)Uy6AfdF\'Y4 qg#,(Ÿ#`VYզ:mKD^jG/:ғ#N6+"ޏ=lTSO5z䗧3{iiB)BƺLz7یBR+O̫Y,~S@k@q$)PWӱ~1N1'/ &':{I&1 P=GX)dL/d1|J;Y\Q IebN:g{'kLQ=m ۇtJ$q'}m1i Ne njN}FE\dR6PKf)+OOaPN!$^6(\]U5ɣOLqUJ|F @Fzy`\_̖lꮌLaS wz(~`YB@gcR4ilXβTP.rxhTX)V8S1pѭ+@cƐ}UjzDos?Jd οy Mr_*W2DT5VrG咬'/?;V(s=ꮎyp늊 P7C#=tR'O?9>PN I&(ӕ|M)Q%Bi:q)g~xt$IXАF35\trBoq C a(/>uCvr &_(NRа3_YlwXOzV~G>P>甦:f Ҙ/csa_P'Wj\@I)@WYr]ߩssMd`y\J<:1*I}—IRDTB[RC(Ͱd=q4:BW=x.;pծCT0D"午O:7 y~Ӱnjݚ<Ԝea1rFQ{UFXg*ʼV}mQ NL&ӹT޸뎶p8A-yBZ 2 De[׵􂼨M~e%}z)3''r5jVWiCW_n~52|!+pOV;Uwx:Cyz3vxpvFfb'd',8Ltm]X}Y.?kQ`xlbsE#Z9ә)i{˲ z);̪t "q!wآ`('4ݑB9·ԍlNnρ9Yʏn529DEk6f߷Q٧ێzh3*{O4D#^Xȱ`)"Xrvy;usľh\͍ /ϮmGNuz3nTRe[A\?D@jK\ D~sBBQaa{`7$%$Ν4KR Lͬb>Z5~Gu6[[h>|qlvlZ džşm)sEr]VGEr(a;޶h=n!kdPҒj dFYBŶ}T-in]d1;43;A?RymVvqgT螔UL.._Divjie]N;TjJ #MXsfIM},jχJZ !;ivd@⹮QW|k:> wƖlB_'O@ۈz,Ӛ矼 Cbymq;|Mc!:欎>β(މnSN"JvW+H9]Ϳj/X2A 8Cq?trFWJ#w:b<;*lTKCk@6h̢5tT{??]nfs[|v#25ox\VO86dȘj VSL*AsΨy{d+c Iy_?$I3jM;dhwȯlxƷ0)lJ1Lsdܠh=u- 9OOKF> sOzG Ȝu꽊l|.#$ v}y6NW7A{>Ί#7n|sH̻q鑟^we93?k # \8(m탣W҆M|rRZ ^u(1W#jo0w%Qy0W?(#5"[7ѯQD)8[S6qTcx~+,WP1H'ϔ–`)_a^Z-%v.s̕r-6|sxern3^\uV?/RfП9yr;[yEn]Bo>-Yw)].JVE=D#QlSVVׁCq$YznvSϭ9J&yWআ=nz^}Gf; Dp9=SGln<_tܩuc bPV9ܳs1 %k 'T% SljrD=߿B6=g<;d>#q=&C\w72osֳc `Ǥ}y=_/x=eoDkdv|@@~r$/9~OyDoᑭwvZ.1J%:3\,)F?g!T1rʭ~1T9SnS2δN&)oGa +g =gr)qqHGrjiZ/4Leea Q90$޹5m,Yk߰T搱$p=)|t-+W G754l+,X^uLr1;!>nB"};~/h`V"OU(gk0dAyoPMw֮%í ˕vZƩZ$;)1V0n|  I؜K/QF~M(cu]I=OussK2u\̭MfSilšz'BrٖAt&ʰl,{~NÎRaxGr% a^Hm]j~%OBOv(֋n(1-;awzҴ4p,FE}kb=MHĘ u[BFCrWwG|'eYF*&BNꄦ[K`\7II#/Ws[GjP2e5]BR)<Ë&(Y$^}ʚ/+?Ai;,”=&_z)nfnշ?,锧;gG*1l`V-a5ű%eZ(oʺTu48穵2f&˚&"+KMli7$6\>.g(OӑhP)<3 CJCay|nvqN_Su¯onGIF{RaZQKatS kan^UG@T*ӦY`YTzjHWnl1+GUXga5faklfxg5ރ)jѰy},{rʑ|USRĺrWsd?+nkhLǧCUgB&p*EE3_y:ռǢ^cߏ#r s,9D]ϯ6i]CQmaoKQڜNq9CSA2k3ZyNsO*n) y7.ɈXgynM'\WuN7i Qt8n{] Rfw~N_Gz,Jƻ|i;'>옓j7D*.)2v)4Qtniܠ$%#mzhW;]̻T=N8y5\FJ&Xt},6'0l@R[N E G˓aߕ1r6Y" \$ޠD>oK%hA4Zm@O%ږc4c;N=e ,Cn(غc=¹VVH!SJw}W G1ĈɠX:-}kڣ>W΄2ǛCqsCnBg~mPILmXnY}^AZnj0gSkCEלmv{擪 IN*VY% TͅL#ӁkDI*){Y%Nd]u36͛U&jl4;ѪԴ5o5JK&Eӹc,KKnn=qieː9[GdۦW]ԛ1'',n'խH~7K=)='s=P`2 n<ݲ1z~ؾh< 6go3i4)3y"dmԴs0irǪwg+G!h~!![ZL7Z汞w<_ZzdqUwwʿg#!MxR;ȤY2Bs6\g_\{Y0sS6C?\6Le;LϷgg6,]tw @,?b M54k!$;lJ EB=tWLTUڶ@04QX4lre;Dn]ŋSK5̺dz[*~;72Ұ(Ή90E:St<%'ס"Y#khV]-Aui#׋2<'1(2: {=GMBj`f!sr[-2g< z\q'_KҘN#Q=Ea.;1 modsy)f X-$}b/ȳu5 ecك͉$̚ ?!1>;qP.t48_ǩ!%oZFi4/EcgH.*#8ǛY,9cHJөr| D;cQ }BiHU\1\TVMΟGZ1_jp-eH)= b!8PMgRůWGfJƽ$f&-u'2AUœy3ƱIx!]\>Vu\rGNF@y7OѪmVzk [][_@~~ۀ5T{3xY-6T;ԣ$xGo`kJN dmr lN:֐KfY}5ZHdX@o8;T<{a;}BPko38 .WC̰?,IŲl!rSx]bqqD;{P[]b>ךuMFRʒUSAOv^TIbԱm*W/EեݓlIY*-isұ80VGΙ{#sϔ(QFyD+9_r[NnS6gD*2nZ[?L݋2U% " ((g<,n݆s*Ӕs٘eY=AO[Bv1«jX:Mڱ\V㷖 wU;Urf#u&\@7ד'gKB ĝH<8e*34Z B.1֟A32 :Y١Pwߘ BPjC挎UdbP£%7/Rq-GVRd"5ߙ_MB˥vӍpFY" :$_ꌛJGk1RQdYԅ'&3a!ѐ0 IDyxe>c7Xuu2W-`fٷKQIau wsCY5Mt-_bP& ajOrH*;Jm ol+0&{ Ҷc+Kdsn$&I赻Kq{ƥF>弞0gގj:Ejo>n 7e$B-U< 7=yЭ_h\J ڙMxSܚWKבk̾ayyPkvJNb$Y oPkXB"0T!BaT2c:Uk>݆FsaywsW.M)GYqX˲v%8D/\Id2|v+FxO_DN˧LvN;,.{`pCw. AdLT̍8K[;ێK&K5$Z $^, EP ܑH/z+GG\C2W8Yi"f5o U3)Su 0!=Be!W˷ѦUpvNyYGqҶ+_cW%jZ8qS5=[. :)ytށgg#I"I:ۉJzŮ3eRۯ}[K6>^?Nuv1(u35g>-Jʺ JF0H %9>쭊yZEm[=J,Ba,+)։bCCE_+$DqpblZŝ!Ek-,ȇj[mCB|6(ZzFVCJ].7sEsXRD&,*)OGLjzp'=AC͙nf:QA?d9WqsOy|bN鬬e*4'eLz?Ge\OI\Λ-l3;e5X\q~Ž3"svp WyJ'lEt2+:>EJiƍVC=9jLjKq;vo| 5a&έ+r+XٽfknK}Ɯo6NZP%]&9v"5.ƻOy8|7-}I\]lo㘳->=]U0YKzikgD!KY[\qVeQuÌTWԀV ,˓f^I(vngXaAj;-}ף* VEoԎ-h1S e vÏbT[n:l)acptKˏ%pP~./9@t$=/Apm!]^xcU5Hn9&յ5RZJ*f=ZfaZ2"\6 ~gHV%_/—˷R7?c̷Տ{%֕5ۃXNsADւGYU%^@\wO7p[N[S6h&s{)J_6no%V` /og-RtY)-F6EoSZTv4sovIwn)Ţtnך8hV"kuJ"ܦ#uTϽņ,GX(ba]Pi{Myʭw(+WLgTGL=MTV:{ "ͲYy~Vdí"%63› ue2{Ef|Ugkr8ql:*$bgsi;fnJueV{OGq1c!\0ZqSt-*c&p䘤pYzu%"ty ly6 =q7\FjHdJ0Vof:jhItw8z甔K6ևQvkv{^uN݆V":L̤nPݶxԍKҾ6d~[/RU:yTNO]bv8udɎߎ%y&J-.Ns@?:=RaK: 'nemrʡҷ;*"OהkFntzptqޞiAۦ L/ѓ8 ܽN=f}ZJK*+ʻ{ whKB&s,Z!>+碖~p2Hj}uFrU7}r%!NlM Ğ+֌LڅYb&Mձ<͊ IOؤ_;NSk8#򃏿?_dt=VB*#2D5EJN{qE" 9 :.vNu):U[r:hNأ%?nt2؅ dОnN\SqrFDʄ xJe LKEs܏*vjt"ky vzQ5aL &\sCn4gSB^=֓VMyOݤm.KZeo7ewZ֦R cWyݫM  apxX5A=seIHws:D$dvɤy6mCΔ#oeW&ݎ۠)h4rPV|c]]1aJn% `p=bv6NѾu) ^Wfl.q^n?Jiz rivQ\q6 A-*Iv]s5eOV=dӒO]R͒u*N>64x@hͯ/Vfc`P15eUnbhO1ir1 ł)-ϕ4^gӦ;rJjs_*Eqe`MLbӋ8B9>wRȣb::>ȵcW/q%UPSjgWKlxs^LʫvJ#Rfy†QOʙ[\.eU.ϲ be F ߩbrMÜs纴#gʪ"R8_M#&㸙L}b±pfeFjܯZ>4K[zvgik6zs~蛬5tf3+Ѭȴv*XJ3NLWg-F%k4̑h> 1i iWClѰnMB:"lr-0)^ŵz6,0'D C& VZbuӺ+sHYᎇڅg=%69G>.ִ`6kߩ͞7gVA;IXU^՘ƛ&.!x3ĥrMS::pWc+s\z>Um):7V[NnI'Hq2z=g^AufIyx:ㅌulʢ\uB֡dsTDҜ]bC٨!`{EN:#YL3΁-(7*-oDT&SѼ+!﩮\(Tr Eu֔N};i)3,M7:Y+nڋx6bsu+Vժ ~u[Ky84F.֩-USb᥍iVՈ$ϕp2,[ HhUʆ~c )pxe|MAé6q/*MMS*/ ժ*v/W|SZJy$VeephiZrc@uA7g$[.oh%Gs.ԭ!g52m>-Pg4|/`/E3;2r[qo̖](Or^9QUz,n:]UE7q@t/49\[,*SZjcH7둯(XT:QlUccTT/5ݪItn!SVk|=?{z  w~f0۬ĸ6-l1UiB'mib}}s̞e,멮iwɉq0ǸU3^fH=nQL=H(\BדwO+;ZN~Seƞ0`Hm/*.wMy#TFǿR6 s1  /?/F{[u5.<XȿKGK,[sVgOP!.p!BSf>&L}}<`y̜{ϩ .ht[CE>?/ivag yyČMJїB2V!'767w)uH  8ծ`{|:.<i9nш1ϩtB̠ݝU1j`F̵<֎]Ϯ6P2 S VZE2C٭qvxSy%KjdjR֨O<Ū m|S,ZQbs6ZɄY98|6-8+JJG Y6]nd }m7-D?•a='gIij̨z9g__z&klYS#^ [z\wۙl\gi)Zr5ܱ ;b?T&j]=Ɯ`#xPiIyO]sm.1xiAXu \9BQ99~ˠPдHqQRZխ-TNk `]2gS&.*O&!5f_H@]rršzMQ1ZSlr, ]3V ~QXtztdNi)%>i!jrvfoFq,oFYLG΂iu/X?9`ᠡ+8AiU*ʖvfRڠDʴe6KǪ i-.i،qh~7p2k \FW}-kǪIVZ6 ~i-;gm6sJ˽#jM%d4gQIgs:\;ԓp]m0wN!BEcA{Ϯ2U~]@#fr+ZIM9YL'^%̒tĻ(lUeYq߇ԛ? `y^Xzny|vˋS[&cE2n6sEch%+#)^s;BNǿdlL3N7sKSY*ޫ{6-~.am+X^yY頞Be7M߻;ɱeWj yR&s3 `RəJ't3-D56[=N8j~r y+HLicKTbzjeO l͘i"7WTbh4*^ GKNfRbX6]݂J`R*LSbqhIi7ܯ=,TG+ʭes얟 F4~aMd$xrjڊU ӹR^T2,7u!l@~q{VJl{\ wX"[\*Ldf}+ 82-qW$ٟbbzgƏ)?B_=N]LRRUPv@S8(e}A:QINxr?eqOejtft[O_*) [,SRTzbCR9E vqH~RI`Tza{R~0AW :yApIa'L I Q~ ![,2ҘV%E&WST^KlqE~M{jN֭tyDZ< wʛs$,SЭ!Tj oƨ4Oo5ɈD4qn.1v[DSZ]#IqFtW^b _,;"7M/oQG[p`^:eѥ|x,RRl Awqɂ7󇓃TlKXItU ÑE~Cɋ$]g^[HxCl`PNI/:OHm;:oғɦv֣{ Be\$7][Cy1ae镔P <-"H\R635̴61/n&Ցw.QEt|#.qW܎rJS{r6nf  $f~}P>;Kq8ͦB].^c+5Vtn<':V;~vU7n{wv<*UOX ,\ck,ŵYp27۔lE)3;c,"o=6AAD-VoIYYlXOqrmM#Fkn7G9#iOQ[5JUksRjo"iBR % fyu?3 GƧ?Myvu\W &AۛLIAZg,ݥ1-Vle;ҭ:G~Y?Ӳn8YJM}*=͑ r[ظӺn% 8ߌ&OuT˰輩It&$3>X@OTgPjqv?|cbL<_a /*6CL"LC˞;B'̦sPK6Cn7Ĵ]̶[6:9Sm-n*f=rIʈƐcy*;i!\ěn[Oʝ2b\keyk4Jݶgp5 xʴ@8Rb( SJ7Nl=T R4lFIrnYWՀGuHuå6N{U%ZKΑaAnwzk?s.4x3HWpNtDGnoչG]w[nIbk]z,G-ٶ@,*8u5KfYײO`t3gUSW̻gחS.. ^f%m9WQlK0etTcz}b(ڗ'M. K\U##]ubYbLj .~cSju|SHdݤQtF8nYWSnAr-I5ufmyĞVNCys$f#_kgɴeVkƼIwou_kl-2+AP)Vs/WUVdr5=)7׹_X0A5M8Yr~:K9~~HNonDw]]=ċml:f ʲk8qҋՀyZ!>}֝t>VUNm)1ncWTPknYx*oiLIk:>nc Nv#$93ERdRdSg"X!C5ٔ1sPS s  h,*9eu˺FJ晒9+u<-:q8u~$qUeǟGs*M'%i%j%o=h7zB>AJݨ٭4fs+>F\rGVk{+K5]*u^z(L.%DNjRϦc2O1;IZc1`o؅ڇ g̃R3dY'r3R1(PUe *ǚapSAg5H[5(2jTv+m7,3r=d6MWQzҾ ȣsRMܯ~ ðf #ZwVogCT`B 񒣨.C)/0V)>] knu2V}1( ~XGs|Smuc 3 T){)eC?#i{s\R-?ǻ96:zr/]Mߺ>R(&:Y;I&33VpC޲6 UE6?\Сd}7JTwPw[u-w0_\jYMȖs9xu4=w;U7η#\Yr =eK-K]bRYGX&גHN;Pls]sq>ZHk$,׳L RR񜖇%Crԍ#ڽ1YejV X/:b|غԚkWT\ufꈣK%nR<K-i#"u2$PԦT^z#COG:lܱv!R6p2*cNP|dg 4W?.̶xF;n%+wTOZvn8;Ij:o覹Y}Ͷjm;o{w˽GGf W|}jm|{'ϕ"K0RK.ˆ}lZG싐1>=RНruNm֥(83ktmdڇV)Ys-yl&PIk,\!0hN]Z3Dꔝ.=E~a #KF+7,SOβ )eJ&Okt:*oA]bZQ]42fZ]@#i@0Z@ԮjZAu'v2mo]NLF|Bg(J.ްyEtFv#27RD$ bE k-NXukAJSh˫@>tnUؼyNLVa/-i1_4/oA'zo'i+ֻ].go;(5B2e$K n7|o6: H'jXLdKtҭm]iȅ,s߬JpRڻnCd u@/N ͚A?޽&?OWmp{I!#zm\t*g e^5H|2q Aі_zS bGqzSfeK}[%纲I^ -GֱVv>'"FxyUW6).ѨJܜw׾%VG9&ZH\^C+1N7彽L*ٹa815NUGJOou 5 m=29Wޣ3Gۙ04pr=]/Of[k;t"r6m~#FhNH W?6V絻3B=>̯&78b:+l$UILʰs~-̥䦋u$,x.=ъLMv)<2WTgV$Y*N  csZѢMc:K, \BeOUDABۊYa9BG?/ĥi\Kg8FmܞF?̜usABY4FϝzI?å|Tu`ܥ'+&kk NZd5pU4F[*\GMnT1O$T>9"$ Ivlj!.GV9Ѱ,Ym=n%mɰf_мnWr<$=wBLWa~1J*CYkxοnBrL+|ӣn[KNJ襵Ru(2D꘽{J kNQ0s5lm&;gDiө8 iSÎY&RUOV-Vce✔xR׳L] QvIMؔMW"3qRu9w$>(-ہv4UTg+44{r3 >DZ/fxs̶׭ >ǧ=ᮣyh:INM >Tu)O+lHnЛC erBqɃ@Boy.b濞]WnLIBDӮL23}=oz=%=ѸOW4`ÊT3亠h҉ڱ"FbX[[C}x 2Ȅrzaoa/ {Bˢ=6%DP\;Dy9-.yAƚ ~Ivf͚r&ZZvP2\M9u",biײ)JH?)׬+3{kIg>>y=8̹T,OtQ5=Q=}fm5+tΠD.ɧttT8~+mbOP|}}ĕuzPtK]A^au"QjZf`+:B qNӽ~fQC3-E+bk,BA1ss衳N˪M*hij T&'N>@Hu3gW%lhu7蛘cGZ_T4oQ|`.o,åç>ҮAS7-vƌ><,ˇUḙ f a<|j0s)KJt٥LؖGm["Owws36.؁*2SXo"1q.f5KZ֨S)O*2fdcȇ=~M8OyɄ|ٓ~j~pFZ8r䋶ŗ$I®w~JOx uwM6sfsoyϴ NJbCanQ8SCE7v UYNU:HnmM49S71Xc{†ƀꎁ/2w3"y_8#m*n=<>A(xp~΍Rޫc;~keP9My]RjS*twe} )|賈ڧÊ9NQ[pɠ5M24즃,c<yBCC;q `RNw k̕-5[+]ןiN=U7(JSt-j}E|jbI ̜2|idd50qh59H)~ĭJdj2d $2#%#>Z3Q즧q p9|YøE{ղ7_ϪtT>4]Ҍ^?7]&[Kyݖ Wvd'ǹ9@k$iKU.k*͹D_ rEqmf V!M}J>ZAO3Hu;`L_۫R.6D3CQs?5ЮVMu0'ޘy%4oZ3x'S,L#MAQ.<.2hޱyR#JŁ"KQMo[e6ojC+ -& ]OUdE}R";w2nxUGmS`^`Qa7Sߦqz]ą*񵬆4E1M,j/"Ga$tfv4lM:椦I{PcS2RI(p3YL'?͂9猌H(z'^a9 0zeZl½%pk CYV:u !NK\ZsEblqΙD SeG =${~(.1Pm/Q54s /lien"jlҎ {%cnl߲OLb$XU:#y.nKOK)->V2k无7${힆S蠠f2j1[t#dǕ7U}yUP[余C 4:t"1*}Fn\v]dmJ%UhǬNQNlS]Uhs"Z4wkU]3']QYw%'gI+͝u3=4[6wGj&"{ޑuҌ@Nu$#VG31@S)J\s$޴ڙ+wž#O,a dwYv.`Q̵(1H8=da笹-{+ɱ+69>H&*m}-܈Ɋٸt}^ԙpm=zqX&#Өci$;Xm7[3fY}mܲK;qӦǛlu /ʧ Meys[fo;گx"3/ y2U]Y0$'gDRf+/5niGE?*i+/8/1-6ׂa=}R{qM95;_st.0dkn:ToݷGt!."x:GXc4[Nu8!S*-ImCj$Ӭ^.rOl64愷=,Yb G^s,[VcIbmNo(,E]/i׸%[bA[QNtLtc:~hT"boH2upipv  a\1'f_4KnejÓl[dK?c\\ҩ2{V|v43iB!}J>/YN>[$ZEGUh:4.1LdW.]Q[>SN/RM3seWdN Q~!HÐ$yN gy5gjN|}7MXXU&h2/E̾2OڇK'1B *&F%kwʳu"J졘Q,W:2;:K;_-qm1lÅ1GUb2Bݮ? %sq lRȽwG#|]-{~I12Nk&sw*+vMKIzP{gakؼ6.‡%8Q)$)/;%-iKW-%ܨ)(gzF$5U+ePw'xa؝l tLgGk),Vnqg+m1պ:DJ‰f|kq5,r N隸 q"-fU=: xFIq45tM^*(m (jҬjTK4í;kD4/]SGׇA0;/g-wWRz'{/EXjfЋЪZUR~ޖ&C_YQN&< !% %^CK yo*O#i7ݝ5 T[+Zx2ٌy-#ORȠϙt`T^)sLz$|jCYttwQ#5-,:Gehu }|q!6ʲhfߦ!e+Ԉ<^TCWi{'ɾyK*W"^f|VƖ2)OKqdS\Rw¡3_.K1oniԴ醉yL9x(`-S(_n9oC?Lj:;DL3):cT쒼J׍̛خQ!XjP|$Y9_:hT.5{a̻5g_*JsOfV`0H)Lxl{Q ͍iu0>|ZR6M}-f'y֥d͝Tܶ ȏq;+c ֳ̑cS+w6lQ(ՓZqy];V,˭OOn6ih]ƙi =#jW]\W+44iԷgf.1q' )>mQ}ؾxF01 $s4JE$lUmK_'V[:mONg4,"ֹ8#I8>WC,l1댒<ՊQwN+l{'kѽqޚI#{[ZI&OByMT o nPRF mu,ZW9Qe~<,6Kȸ$`6iE_y<_ЬSaEg}w}7Ϣdb8k3"kjnc Ұ2c1ٝdw+x\w1vܬ׌ѲNI/y&U:VEvWES6 :]YI+x^E=0z 9$vYz &P9̤0N3n3=綏wrh*k}2}FeCuP'5}籥:nuQ30uY[7]Rа;Y2ʮQ%Їl6V3銅ͺlKժq/*EbC&2ޒ~k8CC!ef7pM/hd|!k+TɴSRdrWM BVZ221*yNMā5;9q0z-nol*GM>#ϧ]=0mR`Y8NERﴺ֒I= &ls\+z/}Y=^gzgT`/WWƋsxؼ8aN [$pph[%.*6͘\Zʉsڴt-܂?ss"gݨ|Q%j1\GM$7±==^2'כUE%y *\\9XM,lsM;>A4)a(xf L3hIVurSV:FFU~w[Awaw:h0 O_rMŻ7&Bj6T7>txY~ >u/CNMpÑ͙[JG33Bq. LYf@Pot;wOMu[C]M_"MN;:Bo|ŏi0^\Y2 \ȘĘRiQ2*[G~<=٧)i2t,d_Eu;.5g"i<˥.`rgͧ \wM+yil} W Ǵ 5JmIft+f˜?ՠE׫[p,ڽCE18ir=l'<\ lK.B]-|vJU`>o6[7z J6RDv8\N3gVjɝ(#zٔc\>3|~'Qop*.[oąYsOsnjSoWԁ.f=zZMZlRQV]&]v9{\ڷMdɭ嘯s~? _ѶVϋbQpObl1.Xw%_a~~=[sy5gIt|zQ"U_m6rW2-ό.J7[_숱ruعsd3)}f[YqʘzˋP: :R2֣|V v`5EaWl6̘WI\rgf52AOpk8-(̣tEgN,q87C'y0t8\ g+pɑϴ#QZY'9c-=|L~S,[X'Ow[GY[7Yşv=S;:Q`"O!n'(peN6;ͷQ~ٶ IRבN75k" &v9|.ޗIZh5akyO,Qcv.y'Cc!lh3^ jdٳZhv;vZ x +!m,2t94津UH&:s%4G9G[>D9S+/&lRb}\M=Mŧ g]9}iI"Vsಹ+cbQT#t OR%U׻}aީe.?$Zlv۷猎"k'׍wu.9vrZrX8lHm)V̯s7OBcZI"@5l5Zb~CcwLɑɲS۔)"v8r7 "NN1Yse_"'\rBjzc!c7cB0'o0ܺ<6 V~cJV˦ FiuCqB VϹN:՞e2g1MD m{,o w{۸ v Wq_P1 1L?/ ۬QjC7ʩsTkMbS)*Y:J623/Aԡ@wU;~ f=ETg nRiCMݬB&$3o 5f5r[>O(CfAY ugE1˼IKg15k,ݮ\VV-nƣ H\b"-&"mR;SmeI5YAGUǰMDΆMå[~/e*a$TIlY\փb.7jEUmF5 b9LϨXȊyFa=xNf 1˦aftVa(CH(2_4d8a]Δh(GDA4bS4\̿T=T]+fǦkT9d>4(NNȓg+

xM`LZgY6Ա&D騰hƯٮh~Ǔgz򲾶w ddtPsV2UrBЕ&+H}ҝ[M@P;f&i`zvxOYQq7=q) qQcdtܢަcԿDnjb P5އ6R:*R\,sxljJ(:6uqP" ɻTc8GNqƋ36p&}K~|g˂`$iW$5Z)&2_+&c$&6gd:dݬ;pGjϒ3,[$sxA"\Clt9HϏx{2K$D9+B\9{wй77dX;Gr o'PzP'i7EDM&nHMyzΖES^M2#[kgXwG!RՌ#DYEAl%P#r mmM*Lz S)͎`A*fXd k<c蒨ڍ5{)^.~;Gζjnz 'k5"9PX\9bK^ykqJ` SE]EzOioLdgJY:AWֳ/eZ! w_pVm c6pUr Xq{5Er+%Mn0Y_<?H^Cs*Yzd5=;tdyZ@M4- H `d dD| X6e@;9gO2²X1WH3}EY3q@9 6m,mc6?HvL)/Z1`iڣrZvi R?d  kqHwT!/G@A!)V=z6C cR?bl<=sZU&l0B몏 s xGmP#~QZ"CՍXBg¿*6M=tfpZ;:L!"5Ce+%U_c+jW?v,x6M,O[=\V* ǵ`Ző4 iu $Y4_V`Ӗ6;yO.ȸ$X $ é4VT|tیeE]($by3MӀø( n -ߔ_r]FPIH%krڎ@t~J86S!N1^ra2Y3UlÆ.p",y58^XKbW Q #G/faJB^fr`DV)P8%u$[j{O޻rXPo9սv@xL8r}%phwn<ë3 ݎq8(b tBN_$b(;XXq`at3VKq`t1=8ˁ -A5&ʕ{!? 8d6) :*DD<ݳ̾i봿mϲxUyE f;)}~f;;LRI}#i.Tqr NdK\3cgKpYShH%5) f/h=nRmFkD VFc{7n,SZf\ /^P6sͯ럲kᰔؗ5u8^=15ץ49,i|d;Sk)o*%N*L$/ /Wdxc2EukMdn2L:35׾5$wwAȸ4k3#߉Zy 3uNI ARA-s-fi_]HHgMaQTR$֥hQqXܽng w577 %þR~do>W_j3^9JXUT1Pp0u$DIS'CTJŃ=LLk:Bku`'_Le!{y,M98Q-C"%~_J3ڑL {b_w@'"5 >/o!#z&% ^rn;vB3/)+߳, ^f(-Ø\\ |t>颸83ρ48w#YLg%j0fb9mW)tЉDؖ7`gߗx8GuF GIXca5"nXRze!.D)UϞT̛A 4PDB&NZ&JH\ oDĠN_H1fX:<M  ф]hA/dzjEFWI|\ <pޕ]Xk_;t~$O>aN;R4䌘NhTgYҋCse mO UFxl3mD:@tヿHEonFx"D \1k~Ea.v nsGRThDvIǘwª k2KVj֙k4BƴEs?sV|IZN(>}-O%@"w Gm,Wmv]8QaǙ&U#b~IKx\@w-XF^ET8ɬzh:Zq#lAK<ǫ XeRE{ez{~4<UUO^__(0`^-~,S!"Bc%U Jk1|^=JH;j,.tm!hFf{.2"_E6`$)G%xT*G!+BnHf_-1_>ɨ*Gv3 85Z ^L ,Ζ*-{C]xr)(hچhG$Nܟ?uaڵ(GoIeyi)+$4ԧܯD$Ǩl p͠rnd?Rq>z1,ʻIkd \Z;1[lap3c&wXE#@ٱAs%O%[wi&ukfz+%I~?t*a_&Zy ip߬(<v%s\1NƿDj &/c.|@ae}QZq ψmc 7hB;Tft?kWE3ֽƸ9O##3>l;"k߈"ZfN,Ƿ(CM 9/k/R@Y6 *=!ʹGh4FH5­jeUxec6քr͹Kw4e'UلW2^Sh= twi#Nz_y90z.\+V ]z$DžJf:d?_O/o͇c؍d~1Y|^sgG'W8]+1h%jBNK8xIpOΈx+9@j=}wF5_ޥ]^3ĕ!Uh-QJN5*Ld Y1R>^Ŵ9 xKC5bz*u[Z73$ʙ\"a?!KlGKHxlCȐ7LqĝJ#FݣC|popL֔# F!H Xdp':_jcSeu{?-m*}tO\EV7څZ,z*b˽ a?&LߨKjbR'&7+[d:c͆l=6l*bXYyF-[B61PBѝ  gMyXE՚# \ U/y\SV5 YװfZ.)k "v`%eů*H0EE >:-1+nA\zKK#3B@r/F~Lƞ|oO,H`1_lHs1Ͻeȸ&i1ymu]./@"#~CBқV MK23]U;<]fP R\hRtVc/-)9!:ߪPlˮiֻ^P:f@G溔A1q~6^l騋)v{i6Fc,tb3p5I &ԜiqysBkDU0D~595t*htN91Lja DCp|=oT&P]Dەdv\f25_+\f2ݛMfc15SيE;R [l= ]ܭ{lw91hڎ}z)La5Bt쏯c6\qa=wdf6xF03=~isSUo(h+  34!UhguX"+z|NI*+Vo62;re: dps/lP=]Qih9sp K'Ѷ i0GHf!q >_a`ʥ$@J`tJ4tȫ/} YitjQC:֤i`۵xaIvoGh,gB'VfѠV߸˫xi\[g $]6z]s*J/Gk)XϘOc4PN5ܚU@7ɿy@׾V fT31Lz#z-}X~H')y,)cvO߮qaWtzG )Ayel܈(IЦJV!4F`}Ҕw4 LH؜7*hPv$F.4W- F 0$؜I?A\1nM~HK2p%~|47|g֑:>WKS.3R'ox_T?6Oˁ2/2̅ `Zr d 8hiA[d,JO]40eJMBNj.QۊO `jcm(hu`hpaxEӛo(Nɠ-[7{pPkOț:L?W?%[*Z(k\d\lG$< [5ň"u<0 8: :MXamEa`oɫmiC)ꦩ3]s_,A>!sIZ6? >v+4"Bəa 'o#X4^WӶpB+RRwﶭ$FIO,GҶDF$֠f0Ӑ=6݁VO)aXՎ`M tP^]&R)`np7 ._T+ɼy}`"P~)dE(:dЍH7g(^hMfp]^ Gu-uyTȶO2pN_2R,*UoK#:s6}wF iڝ&==CTN29 9J #d(Jbq՞mGdVxo0O?1fn3n=ZAAKQnH_H/V%A;ү{+}H7( #?[U[ 0?]'\v kNjYy""j^\6͜H%Z 4gu;l[.P'ߋR9wr{}gv}c ]I lKE1!u0 YabCMԏBUz} bzt范Ьm3_ vi+l_[heN%T& &QOZv7,we!K& 9h,2e y*S1M|vD hWi\lOI%M:X<%}`nrq9[O_ *рҟF~> t|N0H#%H+c]xW3b*/OiFvrBدSNpoڿ?Ce)gtٸ6Q0n$)-wi ִ~p`5Wo5U?MY^/d$xVf $ӡۓl/A򦺘(pzj v˚Ъ8MIWӞ'[`)!N/H="Y_B00ŨNۓn_ʩC}1 \'Kpܥ $ai$iȰҐ٣MVNFA{+^oeI*4%f.}oiTAK࿁ff_lIXl^m{֙&5z~'@j5#tBV /}@N0z)B.Ixj^pk?YDA0 n? w_}i;8 jc*2K2 V}X>>k @D)[=%k}#57a"^;`=eNR]ItN$Z;aɖf7OR$'-,>YW& -ѐYYRoatâʂ}V+rG'O Xt*alO †bEdPjH 7,cPQ5$﫪15hxR]CZ l*[ =ƀm@sO/gdX-֬"\(<0`-2cA+(pD,P0hqnۍTS[ꜻF@!t_ 4*!DP -"m{(,^nKEN,iiXnX@$2?PaKzG2ʸc߯&~?VLe1ՍeDJ@- J'tZ~c08#t*u> gÛ|nK!% 6yI4g w0@߮'>"$j0-?N9,ʀ]himC,>-6kw8g;kh7'dSDOCP}rہ-tpܭėW^>pnuo#Fdu_RUaU_Pl(wmwbo47!u\f궣S*]2ۙh&ALb?w= hQsxdɛayOn>vPg[yBrit@: K tr"8Qr>;@i-]T~kMBV3LNmz/4L8M'⅂яn,`D%t+q?6)dSZG^y1l4 [?;+~$d{D V7}]"^ps0 mK[2R~wi߷U VZfK bOKm1!2q.;: K/UV2eԺnԚ0vcz >}:SH-&ro;6_@`+[YFEz؀ F=*hYq4͙ȅ\JWw(Ykjό:.6_!ko= ']G"g5R*#z{3!f:xOH̅i{ z`&[AxG"Mi^_W=J6{QYRe|ː@iWF(9@O:y(YՁ.8K{k7l %dʹv;=\/ANk^!ӰG q=~ɴ0d0\U`gK<ۼs<s@@4ۊؿׄpr&U4'鴴s$WskV+L?!|X쭖NHձrInR`_"ԨÃ-cY'q Bk' ^TȻAٰ+ `3B&[Z'[?CX^(ӸdoCX| HLi*"4Qi<`rU}S”cBzcEة-&;'b*rqRO8>ShiF:nd0UQhi3BTOn° F`oت3X{m||De UKOU_Y!ERs I"QrxOs+}KT뛡W+ ͷ>ˤ]IZ>WdT'^Wz} %- hxAp_U]Vu#}DT!5A!Y!q %5)]" }]2@>29K5A2_DGohhnA,w·Qi`lI!TXz!axC9C<_jbǡv.': ZPq;߀9jO5hF3x߰Vq C-|a\bt6 k6MfSҺl,&ӷ C7̒A~?ǻYg>W떡`=x8=Fz&@o?{^zeJd$Dڏ˭|KKY s~%}6/$rgpo!y:8cŒowoPnB<@U's"3h b3~$H|1<jRNBGJrHxNX'%QGiֹK$̞sG?#BCzcr KMnev^Zv!hs2:oleZN[Τ; ;gEa4hfn2j\r|Rݒ/rmssӲ=%\&re^Msϼmg[?^٦ւ^UJ ־3ѕrOGoQ(# lz[6dIJ%:;LkvFկ* $^lD3b dĮ2"cY  ȹJ|I7ҭEQFZo00CF?~M^^NstqnI*m˯1uVW_vja&4Tp,<.MVI;c`aeYYȦp$¥=ƸҽE2;(5*wgWBΪFe, hi]^h%Ӓؗk;*Ū*$sըStŸ-P?Nm9<K Ә?(g7Mly"Q*5u{lz(35 c1+)NSZ-"ܲ3yR aqn]t럲ab &i ׍]73 t]!#Q΋Ui[5<{[j-jd ÊAܗ<A1Js#1w7J=#.5uzO9D6]*;F \l:HZmQ;/V8=TYוBOkYA,-UBҁ'o|eGϔ?}fuױqmdxoٔ߯b :=3J'%=9{FzJW(8s%JN OLo_ľ|ҝK^\b[vzbȿJm|= r#1Z~W/0c斧`Գ/[!fx7tm]X,A^wv2]l45܉9++" -v !*'WBj*bȟomQbSWf>|0u"U{Q e-2>xL%|M˖m?Fxc=HLް}(>+-|Yn~tօNS>:A+'*Zm, :J"^kKq^Lf==e~_lRi&[ˍURoPǪk>D.V/GE3Yc. yjqx Y(D6h~9_hwL>ͦV'Ewo]ie*-cόOpAgkYcL3CHc2M*7aUA{IEa,ʟozmPDP(l7ch(<2F^v3B Z[z# ^3vT%"prQ >g/* dON=c9wq2N/M,P-KQ׌&S)jf(^0OBdxr p7u0v2dsdif$#[7.j"+FMK89VFWK_Q8ؗ_')S~= _WwTGgߏ<OVM23wRlO~jkΩM?gtDm?MG#Neǧw$[B&7 cfAx nlx `.) @ҁxHFNo;A a"b FFEK{Zsd +FHxRZ`En;6gsQJ&*_c7CVv\_}Lhfoe99A۔p?==6GͲS q&ИAJ5eѵ5, !56aVn7~.e(d䍀$̈ oxgS3wIQ kÛeMcnkXN0Y)f4;x^.% xnGڢGiDBRuא9yMBMdkd̞i 5nA6f*^ۀ!/EQI53j+OؓvntéYu v%м|T:+ۡhmb.vLgA= OTO6 ݌()h0`&Ս l_ﭤѾW񏡱|`eԛtLE 2}$wx_jI] ף[3vSdWRb(_RtjSx =!RSX2޶ތ<зx=L )u=AW0N`¶Ov]m~3>~= YćHv`c=2[^õ;N9҅'r~':p-S4q5&WUQmJYe [ƫM'Ϡztɠǃ`.&^ƂjT,ȶPetޱo=]XfzCmj/GK'ie&lRךt=Ҧ E2L'9Xe9<_|axA2*ʊS8Ӧ5P?o쥦a^}pIJ@ܩA)=&aANbC(ҀolƣdXL^d>Sn]@ A8ZVPh\?qЩtU5E]I&,8B!pykـeCR*-zE*ND0H:AM·Նtͯ1N~>?} OOx)0$Q e5 tA!f '(LjJ]'JіSu,4TxԸ>ϰ|ձM%8Җ]`5wkiW[J ÷NfhYH>/q6<8M$9_k<k2zJ>.MX^1a>DQ -&*W)'cEGch@ǁ7;uaXoZÎv 9ڐ* D '8u\x ѕhٛ1 ZrP{$*.ǺX+W tBw> Q4]ȧsGkjQ@gYZY-@@@ TUh"}N'jѹ1Ӛ/G0 ֺ{xJTg]"Re}iPa"yn_`EnpdӨe+nM42ovM:+/|W9}IUo۩5^(맟p9ԮpClN"?ƙutI=j=k~ "ōA?E,H昇,dJ -.AZ~4Oc_"#e6jjFKB"TgJѼeQ#hG vY?(RS+F !]{-ZPa%_JMGă8%т#CYnsImaƺURKLTپas(EKaN͌9sԡ&F[_#mymRBs@hjC?Uȧcͮr3DE\ׇف5bEAiީ|B K,7G\G461N"[D5cC8de~w\RJ }L=V1ލe@2Mu#%ʈ\s,6a ] H {xU^I?nN00;L.|bHd R=бmpU)D" м,oUS ޤ^7@ Θ>:{M&6U&;_6QN~nTBEK4y Geo:Z0}*~gq NȽ$,tp.:WE[GW'ojMaT=N !" U#E 652 h$Ȃqi|{}o#w<#%uĉ3%!Db꾱85Q[yBPj8DL/kY|_U]`88Q5u`vG.T2'X=UK_Ej&W}(>Y_|7zdj{ރ7$)b/djϢvcY ~ W?q[n3P"4!nNHT,]7ʮ/jrIz/}IBg[J0_I §ǻs:ZU+;w; MHf3 ErgVR3o-ml$Pue9yZbV7c=FCuZC=.`/DULyD>7|botQe=(j|^"0I0E$&V['slUm:J)gmϗÕ;!$\HU[#;dlF" <XtBԌW6x| ܴ)nz-!8EC> e훇M2+rҺbJzu.̹Mvbw̵=s :| u&~VL!7|C&ӰLK޲*jvHk( k^8`3sj4?ԉ:ajzepMҦTeNe#_?3s^qjzE9G??zљ7\y}umz$sEl2 'nBL҄=VLͦ$9JאG eGJ&wE@ז|P59_Ή^l9f[,VL)!.1'"9Qߢ@~+ $JE2 0(Za̍gUϽeFGx˃|}y_r֧HeEKvMغ'EL %SMP-gr? ^,>^pK_I̹nψ:p&9 _ TM&įSO#.bΈb@ѦXħp9H&9lu~)k44CbH3EfӖ<+g_ "cMCM^mߋz&0 s~buq厜uxS::Yi~zReF@Ӡ D"#8&ƕ ֿނڃޠ&萦+呤%7IWW7;uME܉k2[j2[RBEaf!@%Ig# "+:/E_pH.HLlT눪E{͚ZK<}w}UWHDJO%ܝeLEW>&vca†š;V<%/YN />oq>d/yĴq=d[J2]5!?7Ⱦ9O;Φ?/u0Σ~geoH#I8yԞoW̍LY4D#[YoWN*LO8k"fi5}ez5` @HBfA'<"ړy:+22I }%ʂɚs̎ ^Ή:d4jRY^8J\աTؐ8qq[mF,کfPcXHZ 226Ud݁ះ ~ۊ<2>6,pIr|NCUm2'l=],۠ T;X -s&Dn ǺI#_phQy&|#g NȺY_ 6^sPf=" ]cTKf~׆s<8ý} >"DW2<&Q`G_T( ]\0;_¶T1dLM[׉toefGYzEZFtzsDŎb`:х EEup2g*waC ٴ1܃w4$Mg&we roez=h P?go޴`svZ#I>{!۝ [oc~dK>?K&0*`ߧ* tJ=3> azأ-$_yppz Fv@/ ȘFHYDz᙮UFlG]qIza7EMxmi %Hҧ?+viIArǟ02#;*X 1WV3's,qط|>b9#_8#k7}U)Or{7{y$RWP/#jWonc `**v"_g|_Nm*>Ȏdց};ʿw_ QA€{hB'^#{°P$hq0XpӐo]Op7B X,L%3` 6Iuߎo\`$]3/ˉK;IpHn%e{LӲ-G?|'\:a//hv>x +탲1LDKN HoC ! њQq\K!d%^@ :[(ZF(uCOWgg_4nRMtL_hNǽK ޯriB/+BLJԜsvFt^f %"@6붍w.|OBB:P'gАVc)7 D~&R[W2ܥF")a܎zCd}`/ş~8ˋtnp:xkOƸb ?ۖFjk kbaXjU-6cp>&^ZI$1Cl1/ِKȴeׄɅKQX4P{jKҏ/)?3&5&j8+-1<}!>yP>nUy&ZqI)* bC.ޡ ؛k6/wsbѭJkٸ>P:B"$Y6GoY,^FF Wgh'0qtXa8MvsV{{SYݾBCe@)eڱXf!u#ruP%o6匡A ~eZ3&Ur ]OjeR|w3gۆ_J|_V{=tCI>T gpwV |ίE E=jKx' HWc':9%35EbO `{0IܶlK }Lf2sfaq$ޣ4SP%̋콬RvbIilerè&E]]Gl~LzM!g;\QǖBh#}"µaP7uPk3#lcYgc/lR]DHJQ|ؔ;6l1V3ne9Mh6dsN]y uDhǞO%4cKd8xuK,ɵ),Yr䔾2NZ# 9LNiC\:nMwOjt2ɡC =LuST.`i<Ȋ-PVӲ 0"F f.4/e458,jAbn?Zl0)9W.E~Ps6KLj:u,b^ Rh*>g?Xƛ-Q-g+ ў|za?V@ U&n,~O֊mʅ*th; >8\<}ES^C@2\tLY//'fQ{'c!0o?wyHZ u( N(ӧW+؆+g-c?Qr@Dy{֋$KnJK\ )ݟ{nENƭųXWȧ O`Yp?N%Ym)Pp /Vܥ;h!( ӟ J~3߉Nr PP["s"9;7>0"ϩ-J ?N#i܄P/Zu?3Vn\5(W^sHiw "OI L2۞ cG;sɳ7܋MQ?Eߪw]x ugKdGkfD_ ;wo:srtk }wcB_ ;eӰNUK'f&F-6p!UǍ گii@K?? Hlh'mSpc-B`9;F^D5A|TJ+35QV+0IvX-xnu5 (ʭoBK>~;}M?܅iy@znU19wVwVZBzq;{q@0ğQ ._;;zB*~`hP8 P+Bo[ܨ<}_hlkͺ-Q*$.A[O^ <_ oO®·\.eAd=|, ⱈ|g9 KFJwA2ޱxKhg2v bkxx-bp2|^zf; 'nICC֚<`Xm\F{p\x,gށ휊qo.7O؝Գn 綧LgkG_Gx`J Sdscm үwx+WA*y^RgQӰ/.vIjc?6^PB=m!_ksFa6JkGK q~ie1P-VԢr>PKvhn uܤ] ㇪kj(Vl G:Grn_7keGȈ{ޒeҀfP/g꫄kc73`5)D?Vj_x/Gz4\sNNC[f>zDwߌ;*g.X`zԴ$C$?'-u&!sy &j'rU dVՒkksf4x8|SM_]zSlR3|tX!bk|KD.jw5D 9- IO#zgey`=@P5gvb|ȅ' {ڔO6M殧 z)ˇH"C3v92] ԲZ F0\Аpnv7ܻ f#EG*~pKGl5?0[CmBi9}=7^zB/oxysM[y6M+HeƸZ.f\ IͫL&XhLdʑ_%zV7evV\dŘ&Bz\FXieĽg'Vw\ AʧGA8/nKGn:k,әe܈:_eNͮ) o5Y_=lgݲhn^֥ M]ԋ60zV% ]u4OFJ_ k5/)W N f8xT"N  t|{|j-a>F1OxLrL TEr/q` `p~X޻x3TxxaOnX{xRUukieL^0~o=N3Icy|'HB?H +k,(жI̴qr΃ś7*xڂYwn"_Y'EגveآMee? Mu3$ ie>tO8wu'墴u~&aGa]EW鲰K+^Q}W̥ 7vA˛֫͹'t^D,J\ *18۹۪I](Z٭61m8Doi,uo) ;U}<g:TEvS<gD駧s侪wѹZ4"-/] )c=x^>CHiޭs!;~ӟlkttͤ;wb (ӈaCKr?Yx "(NyG,v "{W)*Z+{x5+>Ν;JϰN̙ I<=u9}E:|F{n( 6T~ϔ\+)M:u[Q r᳧^+ A ?\^=\_|ohb5#{]lv^gMⵣy>ә=aOƠCbEy V@glAr+!!1 \;ѝ`A*>OGi_0j)ڮPV庸tMrwǓ:PS8tDu{%lfxslU \a1}SN= 7A~31'S;5XZv8Ͻ^R>\1pKw? 5Pe7uE#yK;SQ1qG'I|hTÉNeGP%F&1q9FA%X,lEi 5~=$}\(/^sws?t^ JY,o!\9ffSĮ w.6Dv&/gnkߗR@kjћzzk[%);iބtZj8ƈՄFxx]Rxs)>Y 1}H1ݲj Eba; {3ö6ҕ׼6f>hySoUznJgHvET%%uXO$VD.oC-ǟ?ӥt{4gy>p-켢$a;;uBZ%tf_̼URZ{.b"jY`B_fnL.0FO=IHK KǨC^~J<è|Lr`îWQt6x쎝˳dKt/yш7N\s9rqKCurfL9~KVw:UwLG L(a]6x].]VvQ7kg#Ubt<:^ v"hqf_ęg Fz W}#[n:O꫍Ҽ96[n  ElcƩox#/%Qɍ Yo0T+qzPyUk<\ [ΨGݜnۈ.Il,^JޘW2}pm~-ɑosHX7F>8:Ļ+h8YuizGSqvR9=v*0IW~g\#^+VհX SOQtcΩ. E` >~Xlh*PMg |" qk?N_rMs#bnf6e=C|2t)RĞp&[Q5eGefjIO3#FMˤ-j ~Qo/"xs\"]8qADw=7\1Q;h4_˶;WaTQICo˧8UEgu4-ouQɵ\Wq~0n/~e*F\Q9|uE^W}a4+rΨۊ]:+=e~V|K.5p`̶|;l늹X|4_c$]7`CVfNIF4o欰jsM]T7lBtt0Ɣwj\$t~p4S^ܾ|临ث"d<,cʌ`M<ڤ"d}QFrzI:,<%{m{Qt 6_tlo2 u>8qxփtq6U`z aJҾңZ_^o@؎6Dj~LO5=ϳHNnA[q?/.Ӧꤿٚ}EÒԍ`W?nΘp!W%Yv0.״4cqfd`%t0GM3&ҬP=Ty-*Jsjt㶺h4:zNr(w<_Ѻ_ۘ|cSVyH:ڥ'OM ?~7ݟy:v7`夹rguysM|vdvEոtd|(zbT~^t 'k9L|Qp& e8RPTZIZumAP;R7s.-{ 'O.~̎p/vݽ)o orVec];Bg2JҠx5("lsiAj*"gYCJm䭤*i ȇ/ILG%NSJtKeq&΀US3/oLcfrOǯl&C. b(>ɿ51!L Y.w3%ޤm Nm>T|[Y?& _3f2EHǔc\KŖje-ՈUQ^OpqJ,JGȆdOUsTɬ?{jC /MΊ+L_ocQoJiOrF7F:Mj~}'Ajx[Cuv~Oʱ#EEܟ8ڢ,>o6@6+J} ˢ>M!X!q3߻ehv%&y l 4nO5> s^|<)Xل1v 'l*ty 2{]JL85q @=$01,ܖcşI8B/LKX:s"֌c@USK-ӱuS 幬gO5ϛ̔j%Ꝟ۷.g܉).vEȳQV{9`wQ{ 5[1)2,N yNR51<|*4wouV+9!m* f",cLݦW|aB=iuDfwD=ۺokbm73 9^lꡣ?}"} !c7s΀3Z\޷ Sf}>;o & IGMI}S St~xtgEm0w |AQv'׉vA8'o($=[]<>'n0i(*樹~ЂOc_.&m)X &/?JDyhIJl>x{0 xAz|$ q6*T:]}4@( "3 y<k8Q\4o?DUe@Tfv$[t9!z썜4^2`y"5 x<-μc`JvϫNOUF5w: u7Xl7'yw.sw;HKE' (VH\.p. '^uah{c3S3`<&yw|:N7CO[lT ݽ{stNJǼ<ڗPU4YL_Uv0y.o<3X b~?O,O36MAяnQdɋ؆a3Cz4y4Ym'RokroSߓLEꇃkod!ٗpmKcn ?LĖrKN*bpg?"j0_ CػE5U8'aqRy>`~lrgʧYqKH]JesWUӷ6g'WP\qDeL|tz$_ĵ ?ؐA-F zܯ80g\d􁍍gx$ggf(% 2)P,:\.]Y73x4 ]L'J&z)f¶|<,Rq[rM/xN3]Tjѥgv9BM9_X媭 ]ϲBόQWb6.i{Ց}'E;ъuu8yJْh1gAɾby&Xiۡ5"4 2ng+)UhP ]YRS΀(uTao6$Zz/HWL星foT&|z{ \{(QjbPb>TJ$5W4\,צ 45S7QRwn .D8˳k.vsiovښ(&e|+k/OEe+"H5\ :l kBf}&_<:w 0B\j=-މ6RH4eCgooo,2;8O?yI]Uc琇q2K g+Sp.B/ǛIm?sMo/}C*p[! @eq4[82)U6qV/czϗIbOHV7+ (% IKg\o:SVbWUgw@7_,}ͯwbAWo<2MgGGYץE ϣsM2Yai45(t-o⳵R4qCZ֥awgUVl(x|17M[>0aj\ ~p񄧈]4w9&2"-f:\\!Tƃ?<17v7DzOǖ0f.*\䗊2XS|peX˃<ɄDdziP$O)r mW3XTE[yWWp]0Apqp?jBUy2S׺R9w e{Tl=neK _xpj[?2]psưQ]lOѹ͋{TLQUFwmM3x.K3q}$s ?3w9*Gp4֘=Ty"b.E58? MuWu[Y\uВGb[knk||:IF 7HGVN+V#wO|QP΍T_<ļ[:`7 ^6Œ6sq-n"K˨rW ϋEq'G'}ވ7wl*QXm!$\ݴ;ȸRrFUK; `xA+wL≌$+,\y;ЪJ(0mh{r>nv+*R,\5|<a4 1SNe1HpqC8}4{攊(HUal_^}М(j4{6l8T:q` Szexiϗءœu͂ة''ǦO(U0yeG Ѥ-1&6Cjs{Q|uX{ \閭=Yd4)C ႙ʐ8lu 4udq6}ʯ~G.Uʸrz7>оNVZɎjb@۞Z0Z7c:p AT \{֪'~vkA/lOQU F&ՠ>hlkiWY3I*sF#M6_3Ʈ_IcOuC_Ca յqQ]p|Bpj_][(G 6¢Y؞c+nv0ǜnv7 JEvZZ/,?~ Yr\{ n$_l/aL>7,ҘMx[dz<2b !{d.dX?3oE e`/B}}X!zރX҃E&.͍G9X&o9P>9<K~Wv#[U;Op~: &7$NnH<=_LQ?i@)u05}^ơD_4ɚ4?Cj,ٛ)oW^&@ܺy\=# oF^7D[i#}QrOXٟ3Z&Ix^7] dn؀f?c'j_(5wCy6,ʛ?/OLހ7U]!cM־PZY{ל/6ڝ9Ge*e=ͱ!AۀU94FAIF!pheo`&pKgݲײ^jzyr ؐLOOӷNnϽ\%%=ڄ]>yn4/6"X5qϺ '5&d݃7Hp4M4W]e|Z8㫄3ʊ,okn tSvdՐTt6̋q۰sUIPgqD{ESNtރy5ꗎ -mȍ'Hmn5{TQ'Jkjm a4{Y$ћUDEE1Ͽ=e#o!>uSjt(]OLKK_Jr׬l] ܔes\oj^g]]vS|M5]c0'gC2᤻yu0ӰIn.rm4VW[5pkE~4Wu }J[!V< ^̄3znU5-W/X 'Uu[25QT h'&GviyfjN8)fѲ&z,֙o,|Cd^$GGȾlʖ WRN=ld:7ӱזM|F[F_o R'}Ș`v* 8.9tPczdQȳ~^kyLsz$ܠf5\s_c(m%T }Sڍȕԍk:SGH4ԑ+aVoWTd6qn[b2? :ҡ9Ǎ.oŒd}o%fv. }>A̬*م7ۼC2I}.K> ɀ(o(|hD;ÖqYLz@l0R4w ȯ(vONd:BQ . "vdFǹfgi[s3$`YʉO(Jߏ5v ).+h]-/ɀCڐNk J VOtأ9t~Mf:r=C/ 2^wzN.s=c_LiK-hOH>dANC6VFH @hOe.@AI+&f VND/+v{9> 5~]Р>]'{w(٦Ay '7,a}뉅rf$UHd޳g~5qeWc:dy&:btii QW.+ԔxtKuqW^clϺ:*Ttթq[P'2k;h _~J@6G5N*,>)x~@4qIR%֨\@Ef#=ܤD%dJ5ʮha$#_:!Ƹ(TdAcOǓ1`ZOO `'rfM3ξ6}JMhuŲVDޱ2qMQWq/pz;xkYz{m "ތ6XˏKQgih::, r4yOs0Jmh&^y A? Nl>>r%i=&pZ~?ҺCI<u}qdaR`o1u.x3}.>~39>Ԅ%*U8::P_SYI9"Qmu7835"%-F@ 8ڧ]MfȹdB0n2,?ۓ\}rׯ`R9,ɲ}!\|(NN1,e"tkgqsu7_]v&Zq;srgM1:c3J7ygGE'9Kկ4Ŝq^1穤ݾ7U#97ҒʪQ$?1\􁾆 H#M4YTmkWNt)@85Sw.*/:Ǧ̩iOPi]ZG~g{}v9K\M ?S,:(1R|hz(3o_\ֹy\6ylMNwZIly cf%)[:d<[R6E:Lwy/a>>:/EGf y @%Y. iNS[,>vPs%6 h k;6=X\gWvW9a^ő`/7'o7Zd5i@We(#ԴzT Q8t4ߣ7cI}!~6.?]wEߋσi(w3PF1e )8ׄ1>+Y73_TH 7s fҺ閵q_xiBk\bLcpQa)YQ&<%+h2f^^(@XdoZV\eNu/w^nDvk{pU' Fx[f0|ș>84oUa[?S۲Ϥ0tNr@z`V0'gd&(:ouIi䍉>?c d qc[Ʒ=R5tN{[^iO npe"ih- K@&zb!#L/`\l;EX(Yn]yNY.h4Zu}h*8#korg$YSok.Vhmm ^=|<|sɬ?GiMlUmwF~u5^d\=lS5ȾruZ.:l;j4K+vσTCDW7 =͹w|Z*)#!xDPML+7Lܐ ݡI=HUBj율IAnAM>֢wVw9'r_5?Z$'<>JEI'x_R O"C ݹ~P1oZڀ!Mђlf@lprhWnݮM. x gHAzc:$}UzLK]SٔVgۅO;vAD֌4 8WJnv6aj9V2>r9T|*c n]ڷN.Q"8fr9~ӑ{uƇ=Dn}Q)u1t r6v Rd;^Ž6 :j "n[Ȟ* ="e"iX8|ݰ]qi'PD~;N c(CŬߖ7uMXwoVU9ty;=3jldʘ㺹d_ 8,k)4!eR;6/5&V,F[?vGoId L_| M<+ε5v~3+il;t).|Uk[za}*Gֽߔ wD1}L6e+8v:Iц7kk [^'iT}1d#LS3W\/?AِU‹KkIȂ|.oIU۞kq5bάEFV {rgbn'^Z Rp\Ѳ+ȟ!`'fFéKVg=3cbaqde+mً;nb  ꚝ1Q3J*%@tSoesUH.WLʓ-A[}7H 0 ttýu7.pm,tӅ0\9hR3||jF \3W[n:|rl|ctb麍 "*4 1y{lB3< b撢ِ, s66bX~*ϲБC^L pO3өI^2 SouK#n=XyjTW7CAOQ\+ wCt4.~c8^~q[t\8F:3`@݌A~;we֟82X؆EHrp.8@*\ybŴ8[Es)%IL/AM[ĘE.rx$:3$)w*kʋ@@.:uM 7FR|K&>7.5nfOTya7@oJ^^HyÍn?HkZe8^v{g׿aΛ)zM]^YёL O2,;&ߦNP~o'nM2ܾ_GM0%q '<%0>l0ԪhXcԪ}2Di&zs:މBٍ-å\5~ .]Owث(>du=RV@>,h*d|sWcqƷ|-d_Gjr _d$7D3<))G*0K@bfKmCE=u̇ &ggߩAϫ6/(߯嵵4hŘ@T2ӢpZ\ =-ܤBr& i _*뱹6QS66/>P{JWQ ?p^m\n,y*\X֪UջA\W>k|H0${j JwY3|sѳPCPA߷~`gȷ/g'_6ʧ soWb lEWQcLI^'Sꏛ.CZjI׺]a5 f]3E|* ]ʗ/ _Olќ]-hww 6#sNݛ+S[פ[gmxhu#'`wa]nCKo6ZqW+"z~7acOmf"6lƔ%}f; ~٤&2'ޓ1ydCt0D  #(jjanL/wYsĕ]Kt0]<>Ò̹1j#`1wMipTpitSmngj;|G6񅀘tp>;'d Vdz$lLhKI>&c0>2<Ǖ+gְzdW TJ |$ V 8L˕yS`'TLOL K< LJG_s;pҡ֓#ZBeQ罈ɯoLj5TTD qIiUޖRCFư ї Xf\2n zx}{ﻳ%(Xe}';+EOj93ϷP G'WKթ'Շ~`[V3n\W]hR[ueqqM`>FB!sug6s%Yoᒢc]^4i,B4WuުUhu«hGOk]FO?סԲpׄ6/FE斓ܱd]Ec} ӲXL ]$+xbO5ED*߼F243|ϵ}k%|5V2kG<μ6۔:S|)+̼武{~}=/.d2o0=8].}\&qKlx R>?ݯm&l~ O{l#tVKS4܄,)ޅ-6C6-i=ߐͻH֟ CSKe-.TE7 ٬z0ꔛN'O|juȰ w/ qd6fW8:n2tou9^c\Wq6jEWcTŢޝ g$2h߀)C({GQ}xjx5RrPd @Q/?n{zx:ܘ5T6rn1qF in# >Q(~a?z/o[w@j+î _lL`WG>yjJSc| ,2֎Bisd~q}!,Fy}mZFOi@?G EʝާS{Oҽo[YK"uOIޣ}/̃Iqyf,\?sH[Kdd#<&V|k"(Y} 1-?CY{%O*:̎O*=,6$E ==2 >I;o4Gs+ Lqe[g]X/Vn8ë<UI̶זgȱئU"΀ z'=nW#/2fHZ]5'nSe״i߰Dz*EH`ʡOлM,3އٟkxS5מϰثnj'p\ʓ6}'- ̀[gZ^>Kv7‰nUvE\*%;TzGGV'T'EU'(LϽsEpƂKEߺ^r){{J?~ ] Kcb42K}(\P责7uLR|:[S)ud1LsE6{i & Q5O^v锣n g;nI>^<7֐\<>_8hO~ʼӨ=eNދ/kҵi]BfwyS9+K])']em,"/hW1?  30ܻIȇIgaX^3Vמm@@t2ɳ?2O Ɣ aAF)$Ϋ}NIm 7/p|&ֶmHh~2&=VSs9v+kXRkg7]4?O]~zffn ]^z~UE6*7WK{@Eɇ"T2…ۀIVḬgOizwt&]Ʌz-^j4Y{'OE ʼun;ϮwEokW>Hn`f_*h_ѾN: @d|Ғȧu{V﹠U)gǖLOBNLTŪaiտ{HnvN,NݘPJ&)uGLI)ha[Oڠ µcǶdBda~g=3EJᱷ]0;1xqm$LbAhjuP )Ao9 [QsA]2jr9UwRYh!%fXI*)Iw8¸Rڴ>NjC=B鐎ZܜL|0j-mΕ *H="nU/\<Υ>)\ |n,5-5 f3nApNJKN9?m>wx' wðՒSRWU줚> v UwX̓7#*@kib_)j6lN *y¦:\@ܶ(l(j+`Q:qڬd G:U;c,a40ګ=8n$2kְ/,>~W vq63n]%<;~ \ǻ4TSn(+ZlU\Rt=tTΰkL}XDu)DNWL]'3M}+rM۠$zwgj64W67Diw%afۘ'8 xoT;tk.IiF*cXya0wJGq.n\]*>9aЖtBC")U<%`3/3Y\:Vk?>͗?mW_p\f$&G폰Ě:rg41^|]9+y(=ˤMA Uu Tl{CwIM#<nmI[:fI{m $a/= Vg^;nX=̡,3n>+٭WW{;_?S|FS ] v{]Z{棏 pv1zR'vXuBwB4J=uSM&~ H{!Lt'f3ΔkϓvO=\;OhECꕱEYeWS`0wX~P,ʮh^{kǣy `oGj{(;!u*S7u&~lt0ѩ*( eڐEfڷw@i#'=ǂfυ1LXl6&_&QɁqb˦aaʦ4:@-9ah;|;wA{-϶4+Q [5&'fU6~7cz&y}uܳ2g Nٿ`*.H34cxۢ1s;,!/׫BD2+ou?Pڢ@:N(ji7/S̃x\|:)㗌3C@Onlg9,Jlu v\z2l\sXgz"69(4=>Ue*C|Qn)hFk>i3,>YK}k}k8g{] =hX*Bc6{A[,MtUZN|rNۮ6QRG.x.mC 5Jm3pޕn-!!RMZ!5_b%nr yE&]G6#[!*>ԽSg|YZ|:`=RTh~\}>Rf)- NnV~-g/`}z*psE &!%Q5\gfzML3(J\utJɠ0d>T?F˗-ՐV9mgbDItMv ΐu{O7s\sAYS.]ӹ冪pyْYP,Wa@qU"XBY?p@r&aTNo-6P%iSOj" ܤt(;|~ius7d׸x1zt]a=,ԝ1}q*Ntp{gSsH0E:S7{x{OݬaķJm=עGĢiਲ਼I+y*s%(v Yu#EuQ$02HzX[&8,jrٷgjiMs:5Mqt=F6lԆi| /v=rJ|uZ-.SE 8^uD #zV1}&`U0ԧf}8ٓ\rtѨPXV\Ux"{dε Jz] t&Yf]>:< =y\ɪC=9u>"o,ƿKa".Zj3B}Y '%↕3Ce0y̹Y!։s7&>&_ބ֭$}|h!./3 8r3jVz!D7P$V(9m7($5Gnx Wi Y.;N}1?/:( 3-ާlS YXeS?KY~c2DȭU`R|JҴA;e^/jP݌)ir'W3_k2,S{ 4RMB`ZO>Rx:f-t{t̶p m#K(߄I$( ˣ#!=?egyV 8^| WN+)=yi K&q<k/E7e=0ϟCʣ11HH< n|Vyc ]|)d[pbU!;Y712my1F/3\Mf Kzq~1cNF.ԪQm|4ô} O΍F*sAu y."r3Q{!orz*zϵ?BǬf1K٤[x &DF_6+ZMVw\Ip(\s琧w~ HeXI6>QNϻMzh H70B ΛX%็%do3# yAWW};xe{'އ59}׫S˘ùv7\48N==}uz^|5w] u^tCj1ͫ$\,o]Kа kt+2/x Ʊ/ItE!A,zVa ϛi6 /U5}mpe>"^۵A2޹Ã{/$jҎΖ u/9 >V=7kIb{hF-5H|T={;o}Y2vqөc[ng>27u=S5;x*>[OwEPlD&||Sl;rŌI:S+>vFJ@A:ZK-=sawM,3YdI!<҇>5~^d9K 8 r~y?{d,w 17Z^uXN4"Vb;ՁLq#Q};^l/\ kmj,,K|C2 SėFj&v`gJp |CBeh5u IelsS~{9{\ZS:g8:d(=Kll&aleϥ,ןx:Gg!co $$Ayk*+zvݧ2*Kc2PS;nYȰ(SN[[K^ͅ aB6Z{90M*랿L!B|$ܠ 㑸>.*SB ]1n(_APQ66S 䣯ﭫDL{o1X$`ȇI~2r$cǼ 1P]n^\UPt[;B*^Z M>'ݸGЩ - {H1z(]kQc}1oN<&m#DuCM6(f3a6N;ڜAVE#sWRx 8˸FjBhKi+ǻ$H'Ȇ?Rcp EL(TM hkD1%FGY%e~2M)\wd@=k@x|twj6zu :~=U|(XjlwD:;YЧ+&7})SrN~ Pe&ݤ广K߶R>"jzg)ꁭ;Gг0Dכh`CZ̺Jr[9j`q m5o!VSB>zƂPHÜb0jm,&Cwb2:C`cvJKk#^Tޚ".F˽n>j>/4^B)5 H-&7 &ҕZI V|3$ΕDqV~-<Xj(\rU3#q֙Eo 饑㚗J"oi9/OTvw{ho1/!3^Pb]S^UBD?X& nc;NR|ch-]қ73 jKM߽R,t Ug2a{@^Ǥ3+'ӝSWvtIa<QRзi ڑӪ^3 8N!@)b^"mLw K&/0,\82rĞ/{ȦIMfPZHtJYѲU&fr=g" MNƸ=Q)3 /"ggla7rzGظtZބ(]@[Bm7|>'_fN~Y1I6ZX4ìdt)9uB/xSTwY*ӌ(qYvB5NcTZjaJ fGlJ +@8y@FRZZ>yyS},8}bTP^oK-)[SS/-8z'ħG:fKlF} nVM& Zmȍ˽z 7=;){AFrQENa6#'F-(.@z>] II$hAQ&> m\XMWS6宊IJ[J6)@Z燈XKv0}?*4]́rq o'Kr(rǚz_,Wܼtn /p6093L!NX(u 9]<0ӟ,; KmT*o>2Ck/w/7̀1!:kT K(kiwԼOU|w?FgxoL>kp9/2zWG7e[~BS)jԨ#=x >kӷrce/xX Mj@G!uL g  fZ,J1qx}{`~B+j}Z|UC Rº`lO1F?ЈNH8N}ATBVG 69:a?‘gj{VTwui9Ji#4K/)/z >2g"b2^`+ZVP-8 Bxj0"J0+#]dj95>_e;kԚfEESE)A $\}/ImK>t`8zqOJPc,+HK9!&*vӏgEEJE_W \JSM&v5a5F6Κh8astG? 9{~2J"݆;? K7yH(w6TI"OV)q- C}R+5/C1_H*`(j yWyB|-d4, oI\L2?"*UFj00B7ݔJk:Z٭i<9 ztL|glKkyQt+w*aNzc5/;vCZZ"r3AUQHEz@BD<Κز}@`wIz&hjX{=B&^4ƿiE N [̿:K7\ޝD"GP9*Ҝ!z6w?q!7:AQ}"d0^Et>鯟zT_s3~5R 6 : e~ QZ{bﰨ~إ/z˹ p~ٟNE舭$}eB7;,f's 9L,K&+*r4t#IRT9< ׅL!ɠHOSY'E(ڼl]L}Mav 0žeUv1QT[xF1(KALtjU;@T|l5aTLRebɄ\C+YiW@7(`P2]x S:x0\O`R2Z S1`Bd6y?;ؽӨqT?xVK Q椨a?e_ !'hz:Lٍ8)αz]ԤiDU*CڗCFckA|O_dAi "!OT=YnYpRʹ&fWUO:ݟa UBM\֊!^60 ilizCx4@K+8jl3a/;e˿c3"}ˤsnx? ?Q &ڝZJ_!UIW-7!W^ΰ cdf"84]_]~;V7g+3:S@<~z#(M\kdZEZLnQq 7ёpLY}a{ĝ·17 0Xȥ&fҎ>.%|OU2{D77;+F-j֮~U"Tzj`bx3`_8f?1l?kbS9 @Jؐl$SO _y (kb.(!(ҪNKp!< ǠV `5$2ͽYNDTrPE)8'` 9A@T_7 rA1Q!XRy܍:o09UU-7(0p}44jUMaXTkid{ǻ2ޢ?C6غjε4T /?c1AR z"53%r naUuoE$>vݶHՀMZk@Ģf'_x1!&B 1q`!Tc)T꼶\2=[P#gLd}{o_L1[z{&\X)}Ə&վ}`\S+ҏL^}*aCASp{Gr2J+qMJĹJ_j7`VuҌjFnoy`ħu{ ׷mQmPxwEnq=PLru`۱pBN&(g:_?jYsjb:7d5'6?yЂʥSs=V `,L,#̈@edHDXWX T2sDJJPʐql^ I($mL\f4P UX%:cMS+g*zT4/Bzc0(s|"3W ߦ͞jt|Z= hr/9lm\LڽE}(q;+R3oX@ac":kE 5՗㭟r} `w|h''R6ZyJ:RcSDRjzx&nJ!yf=v G՜Bd'y?Jh g9@CtMw+;8L3MsJ1X `vl?x]bvvE b8Pkg;7|agMOc\(?PQm:E]J6rXw`q&Mzsww5uدbeo@i'ՙ;6ع<佭)Q("$mAnn9VƩZS0}Oel'`lDdA{Yu\ͺ~$Z 9 7\t:M8jتާmm. }^qM j|fJ!:6wwstkr3qYI#<)I|?ʾھv;h@R7sݲx)?IJ9l ~ Tzoh& )Yqsnp7 02PrFJ8.ᖝa7r*G`~pxF1 ́ѓG$QTyo@vC\S|!KpbdniN~C]ee\t<\2ʒUvN#^.#fop]"#\ٞ%A~(GQ;a#DS"߫f.5cl?R"g!{&yŎbO^Tϧ1;Q*#ķrNUvHV˪헖21Pd+_͂8o;RXֱ/jPMBëwvݮ9@ln="g]vrʲ YK }=:SަTq FrkD]e}ux׼ʏ6#EjgD lD|v_2gĪaDNٙjn/rʭpvd,Cn' xt>mƍB @0w.UĘ1 )hgi?e^d.ڿUW 5@34ya-Hܟ\m)m !c4T8b4,%$Uc@aE4ԅa=ly>ZePxkF8E㏐ީpj}lGN8{9<9Ǔk*-[aDN%QlpDEt{d!B\c=J6/ݡz[Hbk=vL/tT~FdvFm=PA%3O*wLSm_ƻ*!W,e'U);Â]5rtpv&镆AwS*p>um nZ-)#VNդW'rٺol-J7tME]^FjD1rӨO1Ɠpl.+q9VM>9~1> I)Auz4)aM^9 6-X m6Zb9aTd("mk^i~,J.mT jjgBwu(yOT~ԖU~{i3G(ZOcӘMиR]/ JI${ar@-⛹@,E9q ?>xWiDV8pL+Z~Kr:ilx9z 1@K&fk1\̡$G/tMDa(}J,,8D3ซ?"+?6-DouSֹiø9 d4ձ80GGفϋsɑ2ʒ!j9nsğǩqm?*=ǶżN@*i3o7ILBJ`tTP%CtuݑΦ^}EILҒmZ,e?4jw4ŋ/f>ٛ nUR9BhYn>z36戚y`ʹ "QNt玔.uno0$vkh x_D!al/]8Ȣ#!}]:Q AG31$#IeFǮ((^+<[~{|ZdCHz$H\(e |A,B>us8;OÉ)/_Ν"X>'h΁NHR€Pj%σaLg i% TeKFni)j pQ9+!BnwV`½v:~;>pKup^S8=*IX3++j ;gu&FUac2[&r oA+kQgOwHk'oWz5oh=JRdXC%=:%߳r4DCp/=\ 4Tz?g/!řG,)riabJXO*c;eF6xyfX]Pc 1)8^lqJTX Lg`'a w?t-U=I/XDaC5 Taf,K%dWzخpYE loh܇ uUe`X̒}:5][\C,I6]@]gDN Du|25dvx45.>\xp:8q-])l{_JrB{)Q3P@/ΕLMcG 5Ļ[3 dcs];6ʝsc,5LDз#߮3k]lŇӄ(4Kg ɪB0ky39BDc{Gj<ʠWHR\,u)8jh̄n3ǗBT9J' [ĻQ]mGۛI]B Smu-rSz(i;yczfwvM烞?I=qE־B U-v]2zSɌ"~)tetUh߃ .PS($x,TGY>/l!:hؙ/Iy28uj_b1|ʇ יx`"mZq=*BE纑xj{^(|HXHNn4εҢֈGH Q{Jm 31PFkpU "[9[E& Oŋtuㅬ 8-&P-~e!USOyuޠ] N#O+S+6=&\=|bx{@5'>C ilF~/#ǸE8NjmLBʆ[1 7(8>pTSȓ)m}+v)FV}?ѹIe -D'9ahߢk!E<'xXFziF8dQP^s3o`K7NvOro|QqBu7oQJI *3%U] !rvr`~ NgIP;H5 Ilrh](@â""b 9j } 6}zI^!BWWd)?>$ N ٘]_< Fbϼ+2Ay䙊q J?}Vk1mb^M-t<9]pyMĢ9&ℌF dD M2#G@%I __Xɽv ';n-s1! zQE 5>J^#C>g'b"sȱUrGhv]F33 9A(@3n4k $F4\Qt )bJw5o1|=}tg6MYfŕ˺.  "ljr0Qv^9 ɷi"C{2}5}ZC ?vM<<,q V:!<)w0L8@Jbst'rkvƃ s緕} @WuTd-D2{1x Ќ~j`H*fi@\1Uv?ign41 s4ǙQ/ ifgNڰӂyAbQdmҗ_Lm+[BSЇ7ûoe3DHLO|y& %SX΂X&n0B*9P ltB T)>)HhգJÉ$Br(Tp`h^83|i^HTї7u <_O92kokYoFKB`?zc^Qoc-ڬ)׶r^2ai$ Hq6j\J'5S!- ̣DWGH_>-d } LRqD_kC>3$/ ʵn3ΎE#+.^v8 !SҮcd9U*m^m<}Tg&ד{rKGŨ;H#tK9M"3)=3nj $Xsx$ #0kEo].iiF:11zF>RIG~O  aڍgpEj *B&^h cx}q@~o !(o7#:ʈf 1)|#)c/0KM(1@8&XlOH9VDX {,cܹ-mZ_cArDyI#@'ߤ` 5ˣyD~fhPs^coE8kgT$E`lJ yϱMȍOC{آU-+CcLvҺϜ7cíS%ED:ҟ[P*})5>RU$"GmT CϺ]FE1ߗU*K2ieibd'w6: 47qL B"rr,fds䵚Z"2K f=w;jqal,mU]x>h4d@ea0jHPl$<:x;QP:Ǥ,}= G~>h]f,-E=dBߜۢJVv6n@p[EZr m &Rխ=Y7zZmOJ;0 j} xV 0Ri4[:eJ4j݆JY'e34Onk+j|%~)qQ9z<]P:);,%_vdd˟Q'Ւ#6Jn h_}'_H -f? 0REH-LvPMUa/W!/Gyԩ.< 2{1n;+MاNԹ_>N0OշO}VgZc:nCcNZ85,8Uŗu-sn>L߷JPJݡȭ'GJ`ZO'%];i겊=stl|*0Ny/2@5iT^+Y &3݅|sDu*hZQ ļJY֬G}~qz9{q9=eUSM1v;̞A [8}K8sYxkt#ɱͪ*(haY3i?/z1O8ia rzY5+6)E?Eh݉i'*0.ḻ-5Olȧv}.ׅQ0?],|2ⱸJ[]R9v[Man:\DGD0sm&$(K6v~~+\C.n}R .F>OFR gTyzL_U(YJ5rg#v=/ckJ=xJҾЏ(۬>*qf^,Ieŝ3XJ]/hSɌhÀ9@&SBp7,YՌ)0|Qs\?i] (Tjp&cm5Ow[u_K5hT44Afq sIsߜ\*ܐ!ybaY`t"p 1iTFKmeCP+VR.Da+j"!0h"} 5`66gcJTű0&7.aw`ڣ72J*KDߧ>CWkl(˳'8^hE$*Uad{-0g #]L]o"D0pGU&_u<>w fw \C,LJbn!Y'$@T%]^siL=^l87| D? -e)dBU5C}Q) IA:@{%lM$H3H]$gW gХ*9y65_tB;e*Z9nJlŔy"w(> ciTW_xeMR >Jm#(h Ymo;n^@h5Ynφ0@0fY:&f]Zˆ*,"7~cqX@2AdQSJ(bC swfƁh˩k˗6P=Rd^7?'ޭgbq /␘˘> CV~bPeo'•"=alѲ#o@$}=3e?*N} \ޠ0i/oDokcg?nSG֊b4a658p᪐fs= p= @Uԥlb N,3Qd'Ϧc.r\Vh%m&gJ18tKŬjh8(),/4BG.I繬/~l\ Y+t:2DL!?h"oָh!O,Y/XVID}jAD>X"kS)z9_ř%6{\C|.S^8h  D$ \1 0>CkuS` /?/GgT783%߮?_Ym{QI>4=x̕GiN^VÛHyReX M,-z')[c"`" 8;aXbs"̒%?_z 4{C{}脐d_+*i^S#'02; syn} .ĵ"P_,W?aE2 .(Ɵ(0~Uܦ$ )DfL)<v7ֽd"~:R!DϺWx`<0Ř :M)^~#M=Q4ۊs,mNeAM][nWQji`+a3'rSdHNԚā!+ow#wP5F܁2xpOk'ȼ@S/Cӵ1}KAL/`>Skɴm0vA,o>7)z~ U螒B>" MрBI.Rt%*7.9ණ:]=&dJr 6 tZ*V#4Fj6"P4YMݑvE iɎ?G岦.>@ܶI]rGߋ6̓mV zx!{{1s*z.<rXJd6~@`13aX ó{^ ת':N3n.h,{紝.Ǡ&IiT_3YQijG:.D&cU۔([0=8 V3Bz kk \bȔk:B #@b&>e͇iqݨhb?4q>s ƴ?% nVvr|!$B!PޝO~aQ!LˆfYc'@g!XVn0VyD lomaRq)+E/ ;xzMQ}ͧxo&Xb aʠtQث;UFA`[{x׬0SPq:~wJ9LO ,>j)wZG~nI\ŇW!SK7ĉ<̛U\WFӼP1G1K0.֏ 5{Qc@1r*h[x|kt}>q&HR.EsM "cGA*. .c+{((+MON0r~: Nb =e ~]C9J/iٜ]1iۏeffΰc%׋N8ҡ2^?5D]0n?>m5K LoӈYs&VtW6Qx)祢&IDyQ'Wݹo2b5dzC̙8yl@Umcd bǹ(JmRmZ$-͗*]ă=sBh,kn Q jtVvO(Kiď}qQJÆNr\ښ;ضqP\D//c:s!$b Udth ð;*rh,_.$Z!'LI; d\h(*6`]xz&ɇED܋pU/Z`р !& •]#ybyŊaXqŇ~A-S*C oo}X@ s~wRPЛdPѶJ,ў{xK#Vbv.r@n!!"hA O;I]ո.硺 ^ι a=Ťu zc>S`UͩioF)!@)a|Q1hK% ZAŋr7*YB $ 碘p \?^ȡ_ƃs Yl|QˇwͯEV1У taUcM!GjoȿX~'O*)2Cֆ3BH dAH4&=r'LLAu(Gr2yb':){Oq$; =O-@.  9I~TSsW MHLvTl]bl8栢mIFHo y$qdW#('PܓhL$3s增±hE{^*\bH%sD%a~*aU1q_ 4CmY(7Հ,dK: A:aMe)JH]V%蝲 .kҍ߀G#it'C'QWze͐ Bi1ۦ,3Ѧ3Ÿs:E)ʹi"i2KDJA FMJ/V5^r R%)j(0m12w&`rCWђv JQ˦N$y~ eo ނ]l~%: 9GupT/Fu6^ni^Qwbțsͼ ^E$|>a$i[3Mw{ bQGPk?͹zzn`MPIPF g(BM$6x&T ;e hձƐeˊ jg/:ZiC r YMY升|\xlY˽ީj/TJ1RSt:ߘ DAa'BA?CS˩/X] [j [ (X}iK<1ҥ콇95TpS=ͦa3L6BhՔZB+I益|lQ;T(Mo+K\&V؝s4ZΒYei/֛65'|`3`$Oi,FiSH׊*uT<%$pKeLCf$<1-), P76~>3gVc2n'mk|s-r57]h#I=jAC~ \!oCk畛5?º-E ;d/U-~kټ6%F4!V(86+\*Ch̶|~P UH24Zerǜ@H|FׂbV]Ν|fyEʫM4D=Hu"Qژз!/_߰mlKL6{YX1hfv=>[v3c4t7>x!Jl&m NAA&< ur Z+:I(YI%T6LRhR?׫[B X|g4vx%9/fD^-5Jh? h|@E8]/v⪻wRiދnD:+^;errC8H~ T$(`꽏>u<)XRzd0I-q'ݡZE8c+(EDj*Ibլ ֦ 6]剆"E,}I Ilr2:|~6"T<Ūq#מDr& z#Vb]Soy.y-%+z!.R\tB@%X+$qO)NO~f/7mUY<5S"qda~MPE.O1% Tb!^E4Qj(]c\C}Q 4az:Ja "9S nrUV](Vv͞D3:6FF̨]pY{n+ķڣQ.'qQ`1G͌v&ر:aL5KTȒCd8!TC'vLMJ]2& NImE9 6(A'zb֘ &¨zyƊ*y5 I/RmQYMLIJ5U^"s]gy""٪vl m737=1(b*nkBpF. Zu$ǦMawc; ((B<'oL 9Xp_OYʼj]7 l)M#"Ie~chfߤFt~}|ܼ6-CiWX?əi7# dLU{S՘}<\ojfbsS=iA%@jǡI_6F5Džhyxl|؁$"@X* d^an.@ulC|eKEZZw>>c=."V(\Ip8a84~^9|fɉ\&gVlԵɯ%'nZML<W>zG0Z<<'*I8|v1u6F7'nd ח#"6 d`@`oC#vTI]6Y1THp*"E8(W2P,,ї^O%т0濄7ضE{Q )r%3@;Z 1)ύE$č%@t=R9Wiv.gig4Ql?0$3#FdEa]7svf%r#,%DIꤲ (I`@HfğL?U, r'q{IuI_F0 c釀V7l@3(s[Q7&`VlxtA: )l(-T-V8 R(-W6 _F)F/^ Wybmk0Tg`ި!,F(mwop1{n<" n0$<2 %&/ܽGЎ~gV Axv)vt`rxЭ>F0a!$0@DK fQj"rBJ0}|P7}qb1q@ /%'+wZ=X, V O/# L:5-bI8L1EF У6&q7GBiy1( Q6a#%|#7,WiXh0ZX%ENS8-O(pQ(MYb *$P|#K)yW,ssy sS {D;2#-HzB&n LLAFL|Q蟨4<:ql:4 Js*QT;ԥ%a'@.V`u|\00vfC]  րs{:eANG =jHPݽ(ȟЩeO*(T)0UEDR440 0+!uSP(`$"@0\B@d +RVfʶ'!`{1) G&EzuDŽS{+ ~YOZ/3m 8XyCZ{Bl[$|eSIٻܔ\GӁtަv`d*=>jBJ0>džIML$2I @/*x}Lhp1N/!Z^Ji^9U}EQ̀u٥Ӌfc D}^\w~Efw={B+ȵZP{&%\h?%RC-/Ԛz]Kra*Y6آTBĐrK Vɘt.C6RC{%BM/ XF_x'-vރw^"-첯Jt,{ thUd$hUĬpSp s*a/j`zpVmL m.-2´L)qp' .>]N Fx^5Nz\͂g*$ 1VaE0= yтF^ UYWYim7;&El[f.63Zh@`h&e6P.9Hю马:4E.컿Ľ}2l'"n31k9$2NW%RiB> e5iR(eu*t'K ޡդ[`[ʳe5pDVSV_pk8MͺfJU3KUlk\gpb>f q3~2!9n}TB) hԛv=X7CQvlyΫ< Aۇ||a;LXVƙ_@%r K١jqI߻z}^ώ&ә4Q_Y#Dd{'EV=?r-a7Aʫ_wgMӸrOa@v-ZNgllfüp<'5,YD]A1”j>0XuI\ʲYvMɭ?u(]O=l/^lV4 +j\u=Kt0M(yIgH;Iuc=V-s^QjPŒ'^Њv,u^4Gcb 'j8r+gr趜wHB(y@3->py'ZQzXo%Nqwإ"&èo%n EiR5;Ob<1BF+ŕW5bx,=`ZNNZ\V`o " :aW9B˟=bzfhzf YRд^yU땨HÜǙU|T]>Yӽ;^ʐ*NԼMTDЙ 9bߓJO=;:lUe\<_uTOם=g|eh{%S=cJJqHRV38B@.a8G] ,FQg ro'9[`X#ӪzW^mn|Ip_u<@(_Z=8.|kS'Ͷ}!i8Ș/_vvD򩝊X{"ap~HeJ6NHU!HcBTp!Y rFbE?ۀϘsg+ym,gBXh ώpqؾǕoZ|*~"g*tZ{*4<rXvF 5bH*CUf*Yty %d6b8c)!U=`yRH _ 6XbCk(m}?V{cZM!aReJ<22̒ }};:!{FI6wsЅou|iPAcۂ'HśYnyahnbyd$nd٭g$zkr&Ȁy`wHRધ=N!ˤL~-UdeD85g7I kd q` n&FkmըN,F0;qO}c+)pczWr+SI؜f -zi'pG*ݱ>@ 鲕%MoJm lbquA)j5ݼy*n{'|w_^ޮ\O8Jn)$)JG3ŒkY.tнk Rb>]2}-)Q5)4Frs+3fe{ djqO^L|9Ԗ]B|DD1r1⸕7!L(L4 ϑ W]d4`̀!xq RQ殽uMM#i!N1Et+ 9zvU%Q-2ќP7 90#dRQ] VX- &wPlzxU|$v m@ce@?t"rq};P :j{Kq}|3;D&SCfV|GYq'@a= UUUJh#ݤ9i#NZh$-\0=y?ɫB1B50vl~ $tyX (׶/kYRu^XT@meɶ.K /Gʶ?1B'FL  fH"S't-&z2heT4'<8@x%:rUkVC8t>:OU+B|?d7E>>[7~aS)o_nb'Y Y|EB2OҌRdT{jSMqbõZ3(qf9G|*TՈj4(U^*}YF@Z`Á:Յ+mYՓ!Hn:qQ^WV..Y)3bTٔ%X׭dp/V4|QJ}ن,ֶhҙǴ@UKN-2< ,p/fU~P-*wY+V|RbdZ̒*4y|%yL*ģy'$pfY5hy)y6LlML ŻCćhV8`9r\RxvȃxX#xaK1X)>ђyȼCõYt2@)& X 1ч;aЇd 0|.$@,Pt1X3|Mn"1~m )#QȺWbQ` aRO1pوr2۔hRi0~|xTrWgMԛ4y Fa;`#8eAkC;da#;VCH;&+?M,[|=#[丩vّ!+c7nNbtZc*< V;'=j-O1^{B\'W=żcʽ=?@8)3~=Z?GΝu&kkr!kuyd#]H'OZa\NbdEsxd;ITl󟞧5gT+ ".QFQg1K*ؔDʴ9'ۖۘdXNS֞FG;-y3{|)L_$\ ip&51Z(4N`  4q@7?]69aHj*/K3r|O)ùU%4Bio)ar0Ir Uimh0&ǡ8%ReggTD5Ce,W?;]eDv%.ln{{>:Fj3#M4Mrmc)4C > ~1ށ$FDwVee6C&Cl ֙:B/y˾Ƃk|ƿƱi P,xLqm"Ӥi -ΖRp%FF2y.ぢ.$f@ 6А\3œK eYzv}_]5h׺/;|]U%|UuNh /GDgUTV3C`,HkM SJC"? /HU5L_qM?C C8/IhpeK߇sp䡰J?/h|nwư}Uc4kbCQQ@OLp{ Ѿa[G3wuOŘM-x{#. Cq9؋~'пxiϫf{cXy|ּ@2iG#F{]X;fV1E!sZ_Ȇ69;;,7 5^b5%15[ h90~ǵd5؊Ex9&wp]=8IE0^]N6khuSwV| ^+m(EdBll!0;;2ÿϭe\_{_y9>mQX|TBvzWg<ݟ͇zg8'93(f2k5Um8}1xӝ^mpns>K]W\|v[e\2ꝇe)>_W<;Fس|ߐA;`)B7߰ߋ7"^4$9[eu'϶Ti5'䟴n4h;Po*&"&}6\t[QZ״yR˞HR 5o$>LC;%p^cy^T◇;C2?:K8JLrn'`-#B/vLeޮęQq9ndli> ;l;@=Զx(Ϯ?~3ZD6ϰAM>6 oJ܌jG/I?bk^c6 '}ي2=m[پkjmvQ#ݾΖeP nboNwCd^_w#&9/ty\y6P,)?vW&ޯ6W<{a{lqؚT8Ly}A)TxOV~/|כ|n}O}3-t:z!V#>R;gImtL `~#PaE@3Kz6) q׽GζO^5[*6dI.þ_2jw^ԹOkCkҷwm-sL!gsY֘F<g$g щC ״hseiI1q=1 97>gx=~rv̿trzxL/ʈVjI6 ő~P @q5kT,K L٨ hbl0 =wYQ{-=ҳڋF.e lLh9%'E_",k-w"? q<C?-5gPyp%U^4phTx\s}ϣCKM]!¿ ~{I5IO9;W)+_vA Dŋd9{ܵxKjZsm)ۇERqGJmd!"44(=l{ۦLx,{cΝ';U+v?XWrB}>qtkrf&|osY]g2rwu#>a=av:xOp jˡt"E'-NQN$c%/5? \4p`N}6ޜqKGw6s AVh<2WaQ>1 =pxi7t;Buk0u 5Gr?Z 'sRPɞ l>ؐxG}R* ~_,SO#Ε_oq=\aO%ѽaOgEl}TxL8 h3]e߻T A} zD' g'<5' =[|fX%ǩa=\P"B{7x"oy0~R1+!_fT.)[ ?)3 )^3Uh ߾<'H9E=,dU'BQ9DmL)Kl@:z7_T|ZxϠ>>BrΎ߭q%X;P7~I qfV6?;f Yם=D{=|3u[a=LA@+;o`O|pL .z ~8fVDK;GTH!?/Fb\ L-*9Ut? ^&]пy#7wg3ҭ 3Ǯ.[#l̜GKT]R71<) ioP7{9.rb}ˆ!#B>y?\il0rĩm|aOѵ??~2;gω"  K?w4|%l 9ʵ힡f7F8S Yy#Fjܥ5aFn 16VbkwH(-{|jVu':Rs+z'Ve#~ qG{e&da,?q?,$OpH~po'AFV {Br3&UO@ѹ'A,bo})<֓T:[ 6ݩLE:{E-']Ⱥ.WX AfBwKZvvUA`ԇݨL 2a?DR}T }zKMЊkGpK >z:sؖ gaΉlNߛsÅGk4\uo`Φ _K-/XS-}DkfW\_o}ev?[fRj٥XW//]WպTT!2X4BQ8~ɀ*sTͺ+rFwMO 4$WZDOFu;$o_wBFu!=VaΌ(TYm:t8wVNȚny>ǶF1wyq[ml]SlCݱ"ZSNR%[N?#/fW rWf V#22L:c($.#C<?Oo26W _,c QHY#DžirQ#TȝVښwћ+.nʗ}pϸ`[YWhcvgr&x35ir_U9Mbrqf!]KRw#vsb{#TL/[#E>r B2e Ǩ֪UR->ֆ =V B,T uq=.[yNd7Ɲ-Ͻ[:T5ܐCе'2~.5Go7lк.XYiW*+ ]C ?bB n.Q ܎vՐU~hs..iR1]*JN `U=SU=UUUUUUUUUUU]UUUUUUUUC:pxK US(V"W He#7xs#xo. =`;',;a%L 5q=bh !k'L𿅁8ygrٰn˪:Z NYKQF+rYs{3h]{3Tz9Y yL kqX r~sO," 8\}ObluOiڮs1IϴriJNm~3Нӝ{/RP%μ#k(@8P*P@ooB8&vir,Ica⨛oEP8eð A|K"Y"1uuqM1YIlagR7#oEٜ]NYSTQ#o_I=*27.Jz7/cϖA!w%zc-eJbvx`p1QTq]a]k⦏;8^a-^%ETDfڳu  K+% $,Mf9U0't.09JeI"L~r?ex:wi_(|Eң\P[<jE&apމ ENe$ I3P٫~BOPo*Y?re~Uՠ٥H k#h%ߨӣ:;OnV>[9s򀤠߱`JX&~H4'ˈ ^d `$M8$te﹮(oW{<\njDQ"r1o:_3ܵ4JQ_,>Bpu{PRr߉*kY4Wszn3H<bEW H3cbxx9a>Ɓakb yըW犋,״5; )$?{2e _HQs~)]CyHzXCd3LRlI1of,؎sm5TQ:S:7ɩ`'4+IߨXP'ofx Ӣ&I,9+8 Րgdro#;iNQ1ɧTU@1ax_Ui-"F8rW^`4JXmhmY)~O`ϫd]ދFpWI[)5+ZC^Kg|gvOT?c=\ .; Ot(sڸwf #eD8dZT؏lQ@t]O*NR&d2veN9.e켨^IaɽCTmw~ギG^#[86iAgsW8hy"RS9un|,0yX_+DlXԔ`ha=2]+.nȵZYN? VA ~ +GNɔv]_u}ʵ4mI 4 tk FH0:izBApA?^eOvNi;Z24ɕʝ2qϹ;mg$qنTmo\- n31EUtMފy6.dNJfOTpyː*[ZJRA#Vn *R5I) u1UxLe9CuhpPiX-cU^a۶s UEdɯQ|J]d(\)4U '#7@euEk֧lpЫh=|~ !"AؕAU\ܗa\w/}_,Ёrfb!2hLh*b!`"~HKJAۑn"8r?{DXQLxFc\w #9C/Qء1X/?wܫD3 Y\a0KH_GTFq{/M #[bgqpR?=4 XҡH/kuY)@"e p+iY.Ɔ5 ıҦG) $o\|A/*qި{oVؖ2*\lO3 hDBP/̔OfO2t1q9!ON} mBi@ HPZ?#*p@jqOX{ׅRm"Mgc`:ð d(SԢb-ۖy6aO۬o6'e)&WѤ!ubI@u]tڲY.-00[$yo8ZV,&m}s8>ܲ*& 83$jIM C|.** )Q#N!I[IBhkJW>'JǴF 0C-|Tb"Muh#oN(ѴN.:j+NvKXg3#˶.*w,M2Hu/4 *8f7Ռ޹)SH+'NEE"={B y^G(.E^(*^|aLkboao@)DU0neD #)ZG(S",޳233dL]>( :Ct0؎t䈛kW#aRzj0LIẌ6zCfZYw_&W{PEtʒaD܅tڳy[bR 2xܒ_2SXx 8!z.p̟#I`TH3;r['f9pMdXzi- ̟4nnci0#H"t~HhfXɊ¦ k-YTtJƥ@fH֘ꂋNcbc(Kw, 8Z}Eu>IEm,&s?aA+H7K[ɠ ͜H B Fv290x5.W'W~8*0TtC4 g2+/ŏڒo0h,17YgGyM% a}SRyiAmNژ*Xq4iۮOEV{,xn5=hJzDLC7EՇ(Bp0\R$w%tzY܋0.+R~Vd/1ǧ)(krY|4Ϻ=vKkZkv?)mmۆ:BuL n&?^me[L~VSzj£rleeVu (_SأsPuzz:c@wH+"q۷'E3kICuaJ[΂6b~uOyJNza61{*&d/D؅Amo`t ]S)n|{rCX}*7 \N,m:QBSQlʅQQ33whE]}@D2 /HEeEaYHt),ޖ)K9_q+ 0@qcde!yy0x$h'2a!09/]D8'CaTDr9e!5ք_ ,ԤeM[U `jNV3]j9u_x\#U jRґ%C,fN|˦mƩ-x!S/`TPJ q-|k@kE#!O2O;g%ҒjєD0ycdVCu84MJ>y\;V ;Ҏ5 !Au@̗LO r̞#f8G {)JgW2dv QhݯzSrvE}ȒJn~:jmBſI(Jrm^ne(zn$}ڟNMJB @/H3?\>ZqOس bht-O .A(6wl^J28JZ\h$gM3P\M{w/7XFѷ~y*[KŐٳ zKzN/+KLu[Z=ƮS{F2*uit 09d L} hF703Nˇ8&N牼YpP5Z}멪J D{s$"yx%*m/c UPAU?.sCr'MU볓ņś޼gc+Xq9$iM~rͭopRD5ƥ'`'Y-mߏl˖ZΞ|P,Vg8tj5P0w? j\B?IG練16)p²zb\4DfcN@ -<6 JL='OPӮQJlզc5mCiHŔ& 3 IBsZ(BI [Q Y#k`#O b!灝hAIAbP:}KqQ.4ml, Y0{V_N^F<.)s7BY:KaJV-dj^]-|.BnL`nDAP\=t1N*1 Ex쀺vPjr hGXW3'ev!Ҕ(?wvX agc{2ɇ^jRX{@7YLg p X4A;/LBlQn{| FB,>|  eX_SF?6'\ChAhȂtwuυx4ʆ6 +u :PF>Ix?{w(X}ҿ?ꥇm5|,Db`!)$-g> \f?fw+&?ZUSeup~8ćmhZ^ճI"DAV5u9hWKHKՎsd GSaQd{qK.׻ژ+3 vs~;wJCau9`S#n~*>71uyZunABHLذ0 cj<\fE"{j>C& <{n섌/wD) etp&؄#u 0[ہBe>d^%_*55:?ޢD ;ePwVߚ zV}#ld[^R| z /_ Oc#/)t.%OŤlޙe0uNSϧ`@~R*-{@F5"2yS[XrQTeG)Jz4bny1$ '}v#7؃s!vFo4A~x1zx7/yDw#"nfԪ \}=4khi2 3wKEޥT:J*)H!Za/,LI{k 7.Z|ﺳzo_^"D4+D*ulv nNqn,,IÙKjW"! =D+1Teq&ω:%H؍)\W`?=AMe^''ga&F5*043r l+49S` b f/keQd>)HJj1o.M硃%Q_y. gݭ \Zٜ_NjAqthzٯ?7_bS8E\nmywAKS'75KNqMw;ti@!b#4/:WǣbhĨ@u c\NDnv܁c'h ꢜ}B]mR{JjM)Ҋ:оrDGa>mcQ5u$-b~nUMc+lSJAU죰P-mx]XMm!u6n:sP\\e{ cӊqkazr0nl捐QQ "'RBwt2v/sg&.et`R/:Td V\%/Z3_jT.u+KH0eSQ:!ގ%5V-_{{yMАڛsx: ê_gZeMtR%sCWe*Pm#WN:ޱ*k>Ȁ^rtcཹ@Gⴧ G:{BZڭL>!P#riF9Q&ɓHhb/il,UEӀ`͗MjDZN"*p:V/N3y,u8_ l Wgk;F{|5P9w'džCwձrdEVmGGiJ1wVc1 Y1O]҈&)K9ŵ-RI0rkNň#7¥JqĻXGUHlƅ6΋5i\r1!/f~>7NxoŚ-#̾'*m=>DwP ?>&S*A6 Y)[gldYN `E:,WwFoFRluͱe1+r 6Y70fVCviXmLA Y `}pSTF 5u;\}V=C?cd Qu H1udhfT *ًb)u'Eg*[V)t)p-Yˠ"7,@z?w{gqp"5F*&J)ڥq\Yj],tbs\"8̃0zefZj VWQ&LjlF@B7BQJ ]O))ώoea1^gcҖSO;6v_hs!;T@fͦU֮q\"ݫ M +7ߊmq#W +`ѻR$lPbً|&Hׂˠ )FZM,ڧ+Z1C=ͭq} ;Kx˽\q(^ ,Kl=e v@_KJ%}ܫ^Ԉs;>O1#><{b#;Y+,oSz& WC&>:냑DP|XC<)|^^M ~V9;׍ЌS2,=#6 {)mkf Bxy<]~oX~‘ |zjM_8eGny~86-.V%1ee)4HDLJcb!*I᧙pԱfsyr?qIA\yL)&z`$X5-'L?=͞*2=#f&2٠vE ?Y>hlf+RLsYh*Qll2>rRn|h^jC)E|vR:A~1/*\2c+Y(\~:ip4#x|![l@Ȋ)ȓRF ]'KP4:Ӝx@4\/1%{OFVN#N҆SGz^H NlKfBW QL;Jɸ&pxETMxѥ[5ђ>ekfÕ gW54.t`s[ߜ19lC^LA5pV!iX) .|JB7qʔSG?K/1䃋S ԽƂ4kte J:zL f=v x`ok]: mmK|DtU’#Ii$yHyb{;:Bąqia}d~,9IPTR:<~-)W$5]$?C, 97g֯_>I4-~oG7YeT()ا ;) 7|iM~ZIü9=8"\`j4+:f}6nt. fR6LfOyc̒` bw-./xǷ=$[Mm{ˡsXb +ߗ/fqe/9JoFXG D`ڂ굞In7{ȇIZyn &xtNFTv=i4)d.Dtu?le)skpǢUԞ툦$D1U6k,&J"dfQ+d+4 t!儲L6`590y560I}Dɉ6!u6~V}af@"|,-"*J& ]Qhȯ&S#UrXH QxG//j"|V3M̈nwW/,l 7F!SůpW )̈́S[yE:y~etRhYώ?Z^I- ptLDMC~:5V3Wg>84~Ց9Lb1vB:Q>#LEiE5j3MV8TZ{{z*;9.qZť"%a!iCQ^𒭓܏ȴGbrј_:)3RB6M|yHE҅D{)I hTH1RfybvH*XB e,)eRʆO\6:sМffKWvMpNQ,c0H3N+Q1nm1KVd/ 2-HGv+( kydL-r>+q-Y;]Mb9]a?C#zӸdW {~5\j{[M6e\E @::G Q=ǵyd1Ѻyd9򌒥boKK* a=ZZKMEx*ױ ?ߚ\`gNW\]"Aɮx֊ ]N̍a΃O酭G>^)A3Q1vtTaF5MCpq`3jN zZ.;y"[_&Z)+]pSKcDKS/8y!uVe`܁I2^PfJno D(b}{2 .eN)P v48>w*öA0uDϝڥ·hLmWWJI!)Vh;}zSfy;H}$n&fQB w$LH& O6!,   j<٥% 3SMwi-j8>*$r6T\2J0^ 1sR:WyJ䛠 PjSc6CPǠ6s.^1ײuň6w^{ г@W0r2 ^;_3J,qV-+;DSinOͰ3ܒhjW ơzD$<5˲K§6~Iv{?x! aܱDňKpa}.?Dy#v-R"(1elxecrSG Cfm{5b6h|\XkE"Gacf5ϏiO&ˠV?QHKӹߪWQ'GS9Wm1;\I.r2ȹ^UZӐg+>dUݍEO*A_䎰 g*~X@˯uY6PKܩz>,4b:`<PmݢKߓ"U(R\FB~$ֵ*%tɵ culgh8Ȧsa1زg'Bq)O +p!Wb/q ݼ{nqhs%-JK㉻YY=*E_p cOH1Ǻ['e⑵Q%S[s|F^ހ3w+rӋbSO>Q$+LM`.>ƿ6X29DxmTu/}+Gg`d Ci9!;oU.d6J,VBǕ9lۥPYq;"aTѨ@C0G5-hGzG-U#G$?@?zV@*}tz(?|^䆿V_)1޺)ã+ګeE hDrUftPRvAۡRLZA~=9 ݓ]1x}B#|ӄ`D PO]l{ N*Ԅo>$3BFGk`zGu.=5kbϮxч]U<61 ~ P$H+'6F:IQ7{4~X^85xIcH2աfq/ v-nC]f횔* <^;];H? ,=CĆ{S!It0O8^ 3۽$s@`Dh ؈F0ڀoEE\($*MՃ3XDSvPaxbu ք_5Q} )1ee;i젇!SX}J#MGc4 ]&;;YdD͹.Ͷ̒mYؑ1i|cE uI7:9hnnR-T]7y=sE8`:7L`BdЊLp,d Cuy j>3edO)—<>=ߤ.Yy'7_ӌi8,U7O/k,68[:ʌALz0rW#XxޡQ}R7l1*ԅu$q(be4fOз|w{7F߲G=OS+9cǭKjKQwi!PXYr0v#\xֻ &lm1:ZfBQAn[kIBOND- iMP#hxcZkRSAO}@cn̉5m ȗq8?=!25eq <KmHw˳/nCof/U*'ݎoq T@d *[Z )VHY9!E}pdSE=^#+fV戆X-Sl?+zme3"`Ja~q#6Yk*uT iԻtPU,'(T1"$?f=JԻ.eC2`IQxZMmB+γ("ˎqKʂ %)AӦz߸ऍ4aB^W8e_9.!b;_g&+psd 6MM8A%ؼNI&H( Nvc&VCkzm b'hTvG$Ɇl.HX*H)jӀEVca=j?rٕ[RB% 5ZkqWt[8 U8 R6qѳXNXMOR%ޘ]},rB~ƛr>-%I^-\?T?Hwżp%ةǯ9xCm4F⇒|~ 4Cy8}Le$}H$|/~ ]]!8;\ = qrq?q5|1ӝYyi7Mߞ)4$#U.#ո~>Sj .ՈZh˱F$Lh1'耡D^D $_6|'g΅2R|)+&[K@X3O18[| e {4_ o;E\C Vhs1~/}Sn*&>]KiKmlX~V9~(o  1p:2Š{Ӯbj*C1J }`^FG,'E*+ɹt78q-`'0~)3 ;`ps Ri@GoLrp-{Xb 7+I5W,5#pZJDCO$n /;uWsJG$gb~8 y \nߐ?rP庑D9/bf c"ND| \kW@G50vԀhn\> 1棘 A"UF;'ǽ__êb@HvJPG;X##`:ʧ$tC懬|Tv!\rpes\'1+b͘uo k4G)o_#j"/ 'Y7f܂sZ_thwn 7)PӴqP]yڋg`E s8>K~YKӚԽ@ʜYmai G}@^ly)g HЊBa is0 X!Qןr2j3q_rk8J![5g[i\d:j|3ߋ)"Q=<<$!wzTƃxBën76udciR;])b X yn?{Qp‚E񲱮=2h =&:*0NJYv!:QQQwÃ)oSY{K4OuX ̡R EFkq]zu`g!Hyxj5wUrH]ҐO{3C"}J6MH;f@GI#~]+G# عq#'w0kHCX$q?A:-ɝ$r^L3RX۽V\v]\Ư`b m@2/uӗm8a @MV\/V W-sOZmF!rPca#5ʙ)u15ѸU.e?^ކĨm{FQ&ZJ25 P:m} ibmoָơ@QZr8eR9.-B]x8̛\B<zEְ&{&\(.W<*f.|_-BtcdG{I:srP3=ĔiNeK&>&Y}l`^ڲB ^91A'-3r((kS?04v/ `QFN &Tɝ#5휟$4Ù9_oӠ YHԈ<%VBTI Pdn̆3)9nLΏ$a<*թ ad E'Vq?l^y+_|K IM r\Pc]xߛ Q0hyW]E^!s9AǡU*$qmQk´촽fs4UBWʒ2/"D~(끥,A[!؝! 48]v> E7e!k+y`;y/|LPzD+y<:XވL.Zwĕ٪0z7]|'8˹S6wt|lػ_vDTФneσ!+U÷MfgKI؂&mz" .e~mS6b[4^73K"NGJ,Xf^2EU욉\;0Z$j T+l84JFvoR=dʈx.Vz2>!=P A&~x)'lZ-u̘x4]˺K5h~b%$=a.hh[XuAنDÀ'ut։]Ԗ^Dy}XHwNcN k2nb&peWy/!ӓFlru B3u'tӓ8]3F/ks࿺)Em !Aa Y?, ,UKE.T+II7Y סN[^Ï{OdCNI]x JIb1HXZHH$-l 'vL`5ӧr};ɎL Dh s_ sC'4@2JR{C7ɛh qW%K"\gSvG!ߘwO34v2h3ub(,˓ZJn^SIDHܰ &GpGgjߋɭ;,e,MzGJeɀUm8&ځQj=.JhSR~0/mT]|"Sux/6ĢAFA!/}4"2g^`Y6΄="بⳖ>"ø0! #1)gU ..vʛAm~ 1^nXgW+SRXw|s}i`.`" Kcq6w;^$ytO`g T0Ĩ'-1&wrp a_I *rS?z"*@k߯1ʂbK DxpVѡKIKAL\z=<@P6u  AZ%s=<-%Efw8'XCwq'lR`jg!CjjΛf"onzc|TM4ݖ9n" qz4m6<`_ mn [hnEWc=9bĶp+:ɟqPK!c9S(kugkbؑ/eF<1*{reUmeyI@~↜?n9id] >gW9|nٵ롉w_M&" 1;*_ x,Օ"F*`r:yc1TԒV~~EZV9ԝ8ral?v|?{ Z4mϋ\6l"3F+-%Ղ< Q]~J ^@߄~@A?/~AA~D ^^Z^7>c!ᕀEEޡ.641~>=E`͖ rbO\UwZQz-^]Sc@l'GO cüCgjCjdɬ<7A!D #KC(kQ0زp|"gge!`w螒Fﶞpw{e8VG[8,ߏh87L w5C*m(000+@pqu;h.E A`FȌ6l_wi ,sZ-&t?O`\7Yq;]R1VH#(Qydg6lr.T1ǗQEjQyEp#SЄ=վp5h))цV o₋BUBHY'!^^>>)y3 "/'jJN_8ܥ={ vWG>H#-ZR[dԧy# pjOx#! _ݛ_f -+;%5M5KXĕ87z828;B{Z>eMKߠqTJӽȕP)&*=dFf]b=1r;Dj݀ʯ|eM*a"RXh\sva9k[ZX+V|ѝ:٣0]oV2_C/_u$JĘnc`BLF;!UGjڨw;50VƲنcc1pD5쒁;%70|h$P}n >8D@5|=ih#, NݰO_ۿ| k[#62V?Q'#euwo%rO_qԚ@$':d' J@l,5|415hGt3'B@H'U3TS+]jv*zoGx-> fR8{dK nxj if9 @Z乹*q^e; 1)f܍`+Qzoiq,*؁Vxcd9R Be6$ }xm. P~Йrөj S;歘aKKjy9C6$FQrhj *(?ZҺP-l;F &̒ʏ~sszhխ;z7i"5ݶD{?^я'e6֐0|,Ӭ'5%m̜qRhh4:0& Fuջ8 *S^E.W8C^@$]lzt~k_ɘX\bPX彯YF!ST05U~GSNϡ 2$Pvc_:F+Yp;P\ppԪ+-OKt:QJad @UUuEQ䣼y>t0#?[*:s$WӀC)C.Yö?9o#i@nE=t’s!շ$TN *ɍ7FOmJ g3|ԧ}@~K@ _wR71 ɌK@s:R jEg dbP`An_+~m|z'<$aY^> ^ŊY#5t-ğIYxl7YqGuC+5"|IE&kYC%[dKZohȋVڸ, ֐NpH;ؼ ȉF{Bz)X#Q70W_#pWjPFsL!ow`^UZ xI)N>P0U>|;Y {qPeSC!9醱E 7Y]ݐX V8@ˢ8'mCbMVE&#7G(КJX!>B`[ĸ!:l&ͣ SR44YګSVMx;Q nH*tad,2M)IM񣏍9mn qE$bOk܉n&\+:ufJ8*%_P?W޵5dDi 0>mmVW{1;PWJ!'K+j,X}9o{mNRĴ:UF#id(neТL VB  1婞@嬭@]@o8"圍)yEuv2i$zNMSrj@;6xtࠑ*󥛝0+P%Ь'@J~[zRDh/ޫ.V5yEvWYe_UfԸ~b_Rk g#Dco@h$t77/䛬ƚz;ĕVA< ]{d '.r9 -Le/,7hX3o{{*{BP"z_vfgGsύlįě%?@PPy@Q ҧW.ܻ/oS3Ewͫ8{b]+X8 '*z.XsL,40fJCSDѤxAV[d# j1b|zK`?vOwH3NPsF\SūL~q @T*Hk5a߄CT#<"wQ-| jzHlKW9`<^<ܩP[nm;u9E ^+*X%]PǺB'a̼êuׂbZ[m#&n3w 6te7B"I.Dxڦ ̩%9aC`ţ;ȱœv܌j;gv1O8S/Sτو*71M ))7m5qʯW\ >vdgB?pb^gMN*=:1pH@F;b\(u<~}/Cw̾z]=J~^BT =ư'#~ׁ^v6'mYڸyn"_Gb%}j |@U6L|E%nenӫMv~=p3 Ǯ = j-j Jql-^_q>jȬw%-uBR\\{|{IA J@}{3zy{U 1ԧo!8tC:_Bzic?:e_-/@2S^C;e@g"-Pؕ"u*懹wWV?|r+~p*zhz4~4 .#ȃ0ȼCyjwl!>V^ްCGRU6n~('˭xʡ[ `#EcDOhx/w ٓ4i&O/ O|AZ3n8bV;ySL{K["\bO0q_f ~ߠ(^-/ˆl)ӷ3z{OL:=v й^ _vAƭvőN1>=gїx[W[aƶ%N b`6-- 5rGG:"lonᘶ[8Cv2w\Υc>qtP0_2iz{Oȉ&V膏_4?cYOz9p?|lю_Յ>pp$Ѫ bKBYߣ^`ߑX`c{nS?_J#ww>6}iՉ7}|nzs+}l]@^ɩ3lKurlŷvw !}a_ouY ҳeKwiyc?V?z`gzK_EpCgaGCۣqST0HOI#kL~ۓؓ$(l(4$J!ԏס ܕВ34" xY9>W^]7O3#f̼vZ=4[ M=-Ն٦#n)y7UEs7L&69HM5@?=5L2  NEߣEh3HGK4#CMRe w]Oضrc$ZtZ ¥7e`Jcdfu_Q0VźDgzm i5$cT0C$I߱Pt iՋ \ߊ#PF7=dD"026(Q: .y\m?ߛh] ]*۾),hDje±ŞGcNHJӓ6=͊Tc/l,'3Y-G^dxoex۵[i٥-fL ϶X.}LCpGTjn#UlNN/TwG?&{@L*o\' /ky_ڑ,E*èV]"R)T?ЬXfٍB ?? &$QEQ/Jѓ{,A5h-m,1~4*]AMH EqpU_q-.wy_}H&C,xi߅P5eY|PS$؍IA 3 ߴ/v*u0T['hSOwdM`2bҟiuS$L}جHk]"Orqu_6%?2b jиe%>5&z5|V[lr-Dg KZ33u&M]`,h7|I|V1"uHdo7/иޅ8aMB- M?6?r3HEF?ʬ?Svbx=AOwɼח?}/i%Y`(})WhH4wpV;ݦSlmsUjUjx%<0O]?:ejLX[jVEɌi4po3Y^ۊCseo04 1Ikq2wF)yS19$_)ji4GdٰH/Lqyy;]A'?Jv͓O׵zI;`k[ѸE2k^9;HMM"HTK%ZaSsg/v2?'/ί#sUTOu(пy5s[M_tFoo\VppM?Ton!Z=Z)?70X_9ɛi_MXpm\D N nEck ^uϮzk9:7~qmZX/34Թ?\d)"cxߚ$_z|s| Rc-{E>hCMn,gd6n%T}eUJr~h<li)5\)S/1ؓ%3WOQ;95q=@%d&omcO/>pN3tğicٳ7}?HlruثC5k5Ky&i֊QoLAmQf%Y*M5e&!e#[˱]jf&<߶ujFo y4QRc#f>b^[Cft"3ZWSxЇ+ XF=S+=<}? o(j?<9:3n y4&q\56pQ lyvZsvJ2By~viU'5`|gx ~0~ U oQ`Nc:`jk 1[jB?%%7^ ~gDZ@Ր9)34ɍ7-г0ѽryS=e; kiI 1"Lޤe½6I帶@n@CzpyKJ;ܻ_*{[ɢ?utlq)vw8G d[k)Mt7՝X˜x#8n}d#o&ncj?5I?ۤMlKk!7S|oo@GQdSΤ:Hn*_in]IpM4<5P&-8܊.7M-n$sx`Rn5dHk?D^w=vw'2\7\*!Iu#@| <`i#iɃX#m9}]w<9?mnJPΩ4NYW." &бjoLm%9=>ԚLbJJPͿ/7?Mv/CƉj.g/%0,{DH0'Mi{528ǔC^bˢ6_0(Nn.|y sSlLLL;rX]Oah!d,|uRh]W`X`ז|mR@vatλ`K*Vnm?{ 8wښ1;,K&冥d|]i1] <83?c"uaM !nj |}Xϟxe }VU<^ E!ǽ%۱Y9YNEEf)>zE8k~J*яm;VHfIrrE\W{H@oXOP7 Tb\#;Eg`ϞwT2l֫JU;o(A]ㆋ/5"IA m^¨0|D[ahͮϘ?AAL\{E·x: XB<AgX{-T69":wqz<^]΄wOa{5+̋58uEϊVe5S= ;|?ٯD2gK$)4P+^kq3\z~[Yo` -!743,w Ub/),B\|Ҝ=X_L:*~fzڃN4 ey0vwլ=R@X}/GW-*`čOWXtW]{/;^N|=_F{<_ȗjߕՁ;QsjM8~;c^n9V]Ob#ils>Oa)-ײ݂ϝ<*6߇XZJT}e^` Q{ѥ\:?nh@mL/ 'y` =Ea #1abp> {cw˕lt3nxTKQZ詃c˨]v[=nM}w?~QUFiN/o^0>cq)QVM+qSS=[< y4\tBwW6/#ꚞ!$MLn-4ĶbFPP~|-Ӿ)BPBwZ]TeXRwf;x"Y@|U7Z).-"[T\\ 9I.*5$Ú.E%j?#$ᰐ:*6ovWXZItɱe3)K0#UܿÄ8{<)Tu§ >ʳ^u___6-NYf> #}R6@[_ta|ymQk_|PˁBu,9ffg\FB YNNdBC4=PL_0UnO7pm9*(#m0 Em87[2nftCI9Sk)' 3 "~SfBr=n8 wh);ͤ6"6%,d 0;Y47j=F;[Dqa7&_zŘ̛/`MjShWL]C)q Wb% P72|6*%u 'uI0|f8SwL zOyb3!(#y[eESs5 z`o6(q>/*(8‘ *bt9&_@  q&*433s((ߊBlUZoh5bh uh8Ju~`(#T"Z*w,gٍB^pd< et5Y1rBE FDl$h҉ nTP1ρG!uH8X2r: "5z)\bKe 4 (1h/oh0B1 TYԝ+H64≘&Esnj)# kǤ{9h [$2[N<1h ې:> F5pm@D,d-c@A5rbH!+F鷌Cu"-5K%$_0!˱ {HUffP_X!81tݖJ{6gb gfJre=+'ZbX3!?2X&B5" 3t=HL>: (P8TI/W!BPh!n9NN \3ۏsꆙ~yሚ21Ov0gMҪ ago >e S׾ưGK! s!SG5(sB( o DHC՝ב<9.[6mtB~, f h|A`c F&Z_{#3} ~H+ۈg]|'!.;:M*-?ީCjQ hpy@TQW2Z+0VM1BV$?o1ڡI1$"m 0/\]K9 41g~a GSϏ~a ƻLz1%Ep Yzi7|f944;zn4]k?(;`YKeS/6Qw H`t\P:FlI.0z:L}'-vv-$=9ӵ}J |]?e&pAꝭΎ{kz{kb1:zVLfv 4iz?RdsӸ(iB8Ąjfug9$RRp\^19݉Ο\M~7]$=ʗ;TmV$\f TJa1SOvĞ WMR Iɤ"hpUYF#Y"e;GixDJٍ][ZFlt SK)CSE5:J.[KW<\q}>%Zэ:`= ;֜ [k0^eCtD2a07l_srxpaDR!^0&Ψ,NhBfcqihg}Pz$ XE s 6%*-_ӁwOF0q󊙲`SϦi=h :r[8d‡sf$\U!q\/irqnIU Jg9Zڝ:QZhdynaFƇ|uUƥy=I|6`#;y(u[b)sQ,dKj ZXg*§f8(Qz.c CZpB=oVr/0x 0ߟߣf}HA&f^%E6ՏvgƺJ^Vn\2|ˆR4z!s6}bZI4U d[ Gd3w!7 ևGљO h5gIa03s27!˔r=,kbݹz״Noӷȫ}ϓa࿜%X-T&]O;1S_:Dfdž㭋uV%A.J3nxmeYaa9s]OxkW2%$poIխ-ow(ǑIB:kɓG lI@ݨ@J9 c 1=(;( YGnbK d;j9%[HdayH{]$A6ߐg#}έXp5yn-iHeDTΖ:9sqw,X!^*6ϻ2P OWh̫lQc¦˪ʙUI:kR].??`7H}Λ9LNEĎ1E6l<|hRJ.u8wgd%r A^u4 b+"\Fϳ{sWojJ%sc`.6_PMf|g^&O.y,JKaϦ, +̧@a)gՒ)o*?Cbi_ 辻~`odS I1 w]EΪgC5!!sjAG2Zow'voB: 1L RF0p^8&e~X̿If< y1 &f}V8wCC. 6};PAC'"RvD-'ҁkMs>eHEUvԚL}ˮ4w++k%AaWa ׷pvK D)MC坥b3ba/VJxZ@|/G|{hbRE?B>ƞ}kYD|WQ}K&%Q|veY⼸ }w ?]8W斺_z`=k/O/՚zjEKf}bĵ5@ \ҀC6 ?1s2@b`_2 QF;ۢ"`@jNBDj2cPods7o-l\,e/1/އ PS=@je*(%&ݞ'!%.0+=x?KmNO=%D)@sA M0X- ̹π"'E'E3o>MXҎOkN𤀈` ~籊&bȗgK~uʀʏמ3'kRE"%u!?Lq@@Yk4"SWM0ggQZce{e`0,hϯuȢ@ Ю0_cL,l"WSO-˗Wߢʣ$>gSj@өӲH 6BWAtzd2q5U@QX* p+!?X  a"#ԳP0m"YVkbNZD e-i &c?S';]v9̭az>"ʶOӐܶKuezJbAȡ%5jGØprtb/-  5#ƠA:E,68=hzM6 Nj K m9Օ,=H-Q||gHetpvfޖ7^~Vk[kffA_06cҲzmU_L{O[竔N3RseD8幎(xխ]d!`6\,z7I;{Y7HT׻+Khk]=f=}zc!Țn')yx$G^&^h`H(,9y? 11Pu7zX7"> ffFz~9 عl/onL W>Q?6<|BuZ;cm eTBӾr@kF>O(L8~v2Ay$)0kR ‡<)|3[4 ` k.j6~o xeP L#+NbcYF7>!+gMÆXa0{+/W Hsfh뗀tkls||ch42jF(z9OIL6cFƂ aJmKP2 ӽ 0ͮZF~*PK0U_nQby3uVubpƮ>;V9y;- A!D1^H? @O]1ri0j ݈5:RW h 1d::_~ Cy_e]8ݡux ¨eeŭn:$mTh0\T nԊsD7[EON$t4;otz-bJ; BdmrA\Rt3@EFtLWh'O5S шl7l {b Fyq9+psXOu%k$B=(=3xFz^*C>jh8ٓ_zY1SΓ.F׸=۵e ainJMb|=+2Fer&y;>7!$ |,WBXP 'KaHlʹDmr^~ WwCEd;N9S/OoX5tOg6pH:Ic#3c?1Sp oFa΅atcK>Q7ݼ/`2HI~ӝu7E̵(emZnS2MbBff8H0J"J;G\7Yղ̂^TbT Xo:)}^nr jBɦ*pt(#|q/.z~uT2lx"]S¬VX-Z-impx Tb@x}@d [4dyu~jp_V&S \rVnSfmdҀ!yP3g 900?fRTFqfem0d6V;3봆jr ]G48gd=gT2 HLWI+xмŰAoNNlk[, 8j )k7)YPz b޷{Rd{IREL\kȺ ߵ;ۅ}Y&JvTS x[n[@# ]mj]@Jaqe LVi2a˚ ObO5GDޖ7_FO$KIZw㝓o^کgN%*wwvKl8wjӟ4,Gb7>Tˎ^dI;0 pd"x> hpI,@xDyRf2HMnׄ9{`Iv%2!Y\v>oTLXI`w:quH < 3_&o+#9Yu|g!yMa9pڥZNr{~n~硥EM݄ݏyXC_e11I~ߠVp 8 ;}IĄG$pBr;FLiY{[\gcqz̆vlνc5)p>i|9MU,< :rhǂMQCCv+N>-N :'#_P^b|ݧ4M~@NEنWա_i_}uQlyf!ᵻf6Y~X2qTߚf|nG\BFO!`.z u8GbN4#R.kEn gB҇'C3‘U^eL^[B򦉑? 6ӧ#3<,vtf=;csYfm+O Oc?k,6QO`3&I긤+o6:rynUG@I'bT)K3.fɩKeKɐW(xyQ»>P/i3aMsR#z  Jfigq?Iz'3\v{]*2tLԩ ȴ.LLeMiH.I+67 Jsk uwpImKL]/^-3+x(݄R񣃖H$\f-gf:܉[0;trӢT,^2뻤]7 )T4 sV>pz]nUU+Uw4گsE;7 $jƌb5O! u"%WuƤ'Y=7Re3L|kdU< ]4(ծ*|G7[<m{}yrM[+ڎt! JsH~G :xޯڙ,+TuiJ͑b 81S!D'@}ַ#y#\ JJ۬f9Z|6&!9*UHL;3}|g^L2zF3M]B5ZJڦKZ%|ѭcpJ'`hH1yh6-#~ѯ?s󍱵OwC"͏a\Kk~@ ´Z7pvIN3PWb OO7>blRit3!Lr xi)J5ocNg2|:9lRj0aHN2ŸA(S?|#)+PsABmuտkaaHGl]߻<5, KN!9ёSgcU"ʃ"$ O4jCd6[(gu%`E` ӫlL0dg רq$htLYP ?tٻK?[QxCY21n6ynÕ) 0=2S~N_8y|ؘr1h֌ jgpHeV<0;(@&P>|bDxu7L/,b:y+KQY5v.䞭pi=_y*WL,XJ3e>q5FƗiʘyfzb{zTԟ?`,}94--98!VWsR&@QׇyfºKQh_Y5qmxqrzHoKY#NlXeH7I&D>l y403(mG%3qI_wf@b hԜ8}~0V8GW/3sʘ#Qp_~ʢɗ%ywXLϩ'7}ꊤ;afߕ@ԎBש_L:7ӆ4 y&Lmߞ9k3S+cS: ^eϫUXl9r&K ژWE߰D r!Xeи%tH%՟:kwE%]QonqBhu8egfat /rR{DL^h@ׄ8>yx/_p]Ϩ4+SVY⨳8Ney^l>z`'W;2{ubMq, khI]hEL%JP^$Uv(TbŬMyU$ x iE}kG^4.>؅.rIa 7u`~:lxF;9h}:ahw۬Īƍ˕` YHcr݁ rxyYl4:hY)@p9nLfYyv_& QzZ\\7Ԏ)aw$;1)%6wOόIS0*vBy$Їҏ`MgwJx#k gȥMw;\\`| L&>P'o6Y\q&gw'2ES%6^eLSqjF_wkm˧{kS\#$ Fn8; Y͔{|$33|!b'/?LTc XxwܪB˦Cän͘Fs$ Vq䱾'x T$U ^Y٧;3cbF/ AY+.f\ОJ&5.e;|L`j^܍Hr [x48ӂ3l[9p+*fXT8ŖW^Ku"*c/k{؎x\ӸDV|N}@oVe,.x74:]^H5-1 p0Mdn{fjIdnBDtfmfm[WSi)bl~1/|*a>rc'yǿ_hVEe:kMю}t3q~*ڝ!E@Yykx|||)rqe+'UK=7fM/ 톣;G<[`ͽ[xfB0{ˆxQo(*̻d}lv/>^yKkH;_[QzMbZ26y0Z SJ|'%.v̑-rOqAhh }(f|0ֺ|9m }W6+H5Q(SOsQCVS)#IZYm 7SZ]u l}BsVٌNĩiʶh^DnOۄK ʥM43@&v3u|Cbmg&Kg%8)Hl6Imͫ%NrQfvHh9 t'iU '#%0XRq:´-1!ֶbfVrɊKd8yF!!TC6Lq9Lp:'^(l.y ++[{&OB-Oʁ$Ru+.ұ] SN殶(sBn/{~ Cjfv/X/bp,sՕ>r5`ML1W9Ij 2J~5}ֺsH",:+˩!(ђWLlYn"ی+tw՟9B́˾L*G&*w2ӛM1;y !aR$ݽ}GvGr! l m|MF5?&GEs&sǟQ Pmk.ֆUC^eѷ/يu~/9]+6ŗB]檁BNbQ3¢:Ҁ M4ŏ)tuHFɍF* F4/E@?iqdb1hڒm$kQu8}:܎ئȼ}c ܅O%߳綫j Ez^\gDaՁ߭`+zPeӗzLn.l`󜍀#8)#Xo`8P&#;?P O yy2DLE$֬g\C1GP6hx3@FtNKy.R!6⭒ 5onwb+Pn?`,1n(K/a/OvP,ƣ\C^K99H7xzTD2@ ;&-,yWPtLx j?qaPD:vM(Z<_I~sCTH'p mt s7Ok3l,^'8҄US@L| (e9kejͬ7.j{pLc(|D/Mbz+\4 mPOzIw}P2Iv-+ϺERլK&xsN"4PQ5𐭻' >!ZS%" NpN13TM:G[ 92ce:.>G_q Y/a~[2Ȼ4*?'O>/؟c,+s X?N2.F$&C'YB%Ϙ^Sل 9CZxepH't?8&8OxB,:!ۑG~<,Y^A@q" pU `\C*Y$)A4*3D)N(/ޥkk Ŧlf*$B KZ/TX Pp#E$y{iI,&N:Ţ.JɓE,ي>^%+ݎJp,ѕ(#|YX`t^rH'CqH+WtS#T6w(#PW bɈXi֋"1Na9vŞϻ},9s~!t7^aa zm6~|pSm)?C۰_XTDZ,VYEzM(&LQB p"; K1;}L16Xw`{ )ҟ_Jn) )UNGdS)*ҍՓTAu (Dqj,*cAp4'F2kYL.q^,$;7 Dn^\<N:IyEʂ8&B"MHS=S1Z6Z rK:ŏ! ̫vEƚa7,2dNAkHY1Y&o(hB.:+12f+{k LduRD70FDN% |}{Jlag+%/UQ&D'21dܬ,2F)"E4ȷjé.4~`P>ٷ~AQ+ |S3d!{}8idGⰸz/F!E&%E06D1wLQMH!gO!kbN_ݫ7$=IL]|ƊP{6ѮOu?@;8%nT%>T )z%)*u*Ƀ$aMf/Z>4E! >8[z e<=3\`ƻL%ѭnR%["=yp6č0H c_ '@f\^iYE z0NW9 Joñ< xX $ĘUFw. T_!77|Q5Ƞj*9Nw:?7Ӫ*Or '~-*B}aGDwy;W*I x_A]MZ;ZOV<|6N HtvORnR^b7% xg[kGl\~XT&1Ubmq66[a-]6iX4`פMa@dl= b.ҞmU ~A; 5軅E'.P2˒gEWGq. :2p:{gLr̪zd&CǩHAl+~! 1R6z :f3Bp|_b29̃0VBnboo(2Cuvjx91mIRsUWjy:Ӡ8a2,qa tƉܮ{&5qгPqB @3]Xx WΗ 'M -&`k3*q~FKߡ^[~c/?@S&p N@))KPEr(4I L,Rc&Ê*u1u(M9&"]:E9ԓAV4V /~E-3g?D9fى 7h}|twxMup2aFWv`ȗNS!5Ye^t(Љg=f1HɁ/+mDZo:Ȧ7Ԁ`č .rp,ƅV:y`U@); eF] pYfѯKe`ZN:QH9ϦB(YO ~Dn&&E Zo1o/+'(d/#crJoy'D&EROqdĈR{.G0&f.^6wʓ5"JUEUUn?0R)+_M^o͹-fmvsw+@r~/e)Z1pֺt>[_u>D*_}X#pM zzQD9-a!ߔܮ.lRA*EO|\N%OKePw@𘯣I ڮ Cwq5_sժam~BB{97 }wD#QY=6uB˳׵1̆+YY+V(|7D[\!NmlF5:] Ÿ_\m= fO Þ:- ~S0XXd{Fn4WxswJx}k3pTi?Y>wMCQUOqO75}FTʱG8zR`n8DhQ@7,1 6pktj06(w>Z|RHNttDvL q;3d',sY>I`\ Mae7`<#yBQ<؟[0w?d[ZY*ac[V1^-X9YcN6ٗLJǽus+?(#(X$& ` 4CRh{Jv,1 i|7qXJvy!/`/L* v]sㄭ^T2 _1Da&$Tʄ$A'ϑ<Q4zL)DN-|ؾܩsA'2Xc7!2ѵ co ![*1yIb \Y|Q#ykIbrqL&X(hgKZК\ce @+^왅-jS3/1i[ 8di܊wQfič>'0uŦ- D׹v{a3;]о:SWfBWzDt[Y"׷ 籾1S -Yy6`z^7)yliz 5Ȍp#c݃:,SWĵ'IImQh/v3/&[$Ͱ镜2v|G^ZV|l+}Wvح6Ugޓ ՛2_?'88Y-cH>ww4)CW߿C*J(_/<:$^ܷ~귏ݯDo=-+'eF o*OSˎ-< %Ym7P ?}3|#tG UPHID+,'>G*I}̺Rؚ+SZVу n"$JuCIP4w }`jqe\*Z"}9M%Wp;mW,"[͝E*JͿJ(."`pvi}{rN&n|!PA}gpt?N[l {%wV[t|bG R5s"CAĝ"vMc<_ rmPZ&G2]ɻ& R8jGB!gJUT[@F/zO{`Xr6X.xS+?ZT;js }#أ>е5fu9SᚅW }ϔճDz-_0|%U yr]!jf+^{ DHoueE"."1-9hb>5lgf+;=rW)21Sv,2]EKw$|,ĵ4ԩ/DUݡ{M 3? JF"M$wSba7Qg13RVC _ Jhq5;hTTD;M"2kϹԁّV ľQ9H eFN ;;]BhSZ*WI=+. !/"_p@V>{7U'4Jٰ`j%3SG An{4a?RzT Heƃ+Ƭ'(GmʔM{M/q9Ho9) =DӠ޻C;׌ IJzr!i y^I 7Ny0fud|zfw/)gմ,ndb} 4\Km@'kU!@.ưb& vf}SI{>閆 ^ 4.PQf(ZF>،SA Ft0>@OQ24Vm_{qIn C8۱RݝbDm7 tn ?~3FrWoM|bZe㶦5XVn)wgy+;L'ܭxP]g Kn{]z]s],DR%)@*?f̙ ԿmߤfNV>ѓ\1b+id34Ŕ!-4-a.t$T@L\(yq\IW)o?ѹ{`.SJVl%9(5nzvP&-> -E7ȉ9ܲ[EE w#gz e8%d/8Md!/45xPZM!2xGA3YDp軔0r֣rPͦp8pu͵RKW`TUEBv!N9! NsB9N5 !OyiuO,qMs˷jo!5{}֞^1a>$+" ڬՄTnRp7_YaBr*O[ R$~xVUw%4T9CK(d&Yz "NEJӋtE}:lSb 銸%RzB-5EŦNuO=8#Jm#C}33@!Ug"F#Eߑ[,hOYw>qw! H^ŴkӗV^K&ăU.9 vީ$'#oYIGk,"4 8ϮZNV,geqh6+ylLr* WgzFȡ}:1.%)s+֏?q3rΊe-W<8 sث:ye!T@pU\aʹkch)<4f=+I9Pn<Lz>;YU,f6]Ps*Op0$i;eN-9[bVeNJYΙ~ cT%ȇkk/&%swZ./Jsr[eNT~?'$e{T :pޒ ߦc)Qٕn JS *tމS* INTծ6紒fXf /oދI'Jʟ8jYVᯝ_`XZT:Bȴ Oh=hZQ+4LH[NIsaEƣ$*unYq6no)(75afMv2ro͔'zgLgq>ء%G7BsT8Db̳B\=IW>#1y=,%Z+'D} rk@}1{mBslO$bR2߯|]dϨ>Ut:,w *o)NKS>ɖ[,fx}A\P@Rzs0{u"6P_ڠL+Q(xt8 f=)?siIS\Y\ oN3=u xEڞe"vK_j="FFacߞm,NjH-xÿ#8և]=aTiЏZ=Ƥ[G^i .xVi`, &Ϯx~I 6"Jzd&IEҀwIUUJG?hul5j{I(ham#Hv1l_,5g;x ;6xj; 0Dl|g,GFw!rřr QmT:@9N[$2bPY{'.1?3vx-SOO;$_̳`GXL3bQxdhߘppL/]\2,r i;2k9~pӘl B; l&]ˬ.K\Q xhd&B5uao`-0^R=]{g=ةCK俜(G7 E/v57i͡jTH?2NC-7 ]uӣnQ"BgoI6{B+6FFA"hwEntry{mN 0GQ3i)9SST".4Kp*&fg:,'CeGX؈KItJ˫ O?-FTk޴ y/iE\Tp+Al&C,3_rP83W+ߍS򜬛Sˋּ9)Utlfx'Db8 ھ'B]Q+0$SCmR}/V7?&l%tz" C}inؔa+d7wC!D&ؒD=F'(yqkbxϊC/a_'26whNca?'O7pGz.lrkZH/E{ǥOKk1u}mJe΄ vO}y$=^Z wo!/B-hXCjG:rh).)_ԩuD)AКPH-/?ҚJInhHk D,y6i Lg&mUԡfa{KI 6*aoΞGN Aߣ"YŻBq 9&;wE` 9"jޗn#r2&ಖh͚Z1EwӰ ]L`R[)d IQ\Uk1&3 t^C2 /TEƴ_W&sa)~-kc@II@\${];zw-f`ۅ^*4r^a7,jMЉ葒S,b}%ZLPHeŹrr}σ}A5BhJ5dX9>gc Q%m.D!*R9np>a+h^=klaL ˹n̟}4&WW">oՌsԠ/>Q榙g:[Edoym >[8*Ѽr5=<5mW&Q,ܹw||X?|()ov%C1)&B jޅ{X"(eZ2AxETO]K"LXG#znpvmȢA-deps^lrQ U4 Å7cp(oR` >$ЅFPFZq}|=o o.KTnk|^1XQ$Za{_h%Kdꉔ,\8\הWo "2X]6ƫ-NQR}ܜkț :([#"7q=[|C ) [> RvNg:v+ PӞn@;K (RmQ* o8yq.Ɠ,5}A01Qqb-`u)!0o8˱d}8ZevCvs_vyC)fqC0=+9;$ <>w(Iy'`o\@ #dD 1#[ՎW4ο_"= Sֿߙ {ҥ}ҋ Q%&HKs"0(ugH0` cS! 0#ۆbğVB9t> KNG HŒ?83JCh;'r]As>$PhJږF>O}k) ~i#l`N i6tk>e)y/V> W{z~6\m4RϓE:23 /$phvydn,m FTMǘƶINRG;yiXr֚^dg:ELyqG_F,jcJu/2ArY._ꗞNO,܃hE13Ass5a툰3k"X`7D{Lv`> 7Z]m)]wTA|c;8*ق_/t+Pؠ7i}NA%кC\O3 )K$!ۇջ<[|)bMвl%(,άIbΫ4M rݫ=@zhx}U$t 1f"["\+΅1+F$h;OiSIGUL.i?lyȷuYD%RqN}|NvWB?5sNs3օg洇Nx@V1x xRIn-(; fgB&mmvdv5t"|4uPAh =!8tvM=^KK96ߍ,wJKחZ'v-C6+b`zu{xp"XB _6AUk[ffP[@׺0gV/w^F`'H\66KrɨMSAI`q![kɎv A{|o! D֟!AAp ]+iG' G(۷\_I(atӬ[Uyccl] B^p^E?{dy @Jo nliE*3E[wZډ+vn0c\}SJP񒱒̇YzNJ[fp3*v)jp:CV"3Q\UA)'Y-zB֤7$oS \ф$QfWf7 >w_RPGb20/M|5&Xۋf 38:J`$A,wˮ/A9~.,cM $􅜬 s@ 29Z.W(s|1(Qb/V򈥪C.]:Eq({!=妇SA*Sڭ6zIx poɤD[w]SN"ST`1.d_B3^azgoɘdRo ̗پ'+ VA3FT_" (H%}F+t 5BfPd$3.Cc`_ 8E86[rj9œG^>4/tl`\A[ T6>մ^yKRl)i!ؙ +6ǿ J(_B?q`Y``e0YߢkKM8%R# \d̨w`z]],g>=G'a xԧ2M37~7AžNR-a}K]\.i3U_?XIΠ)O(5IǑ //&Ik0oCIʯQo'A15r:bKKE꫰FF"&.Ҕdw= Nb[h =FY_ ɾ[h%k2i4UtSaҔc%'JTXڊ!Fܠ֚ Q[t?o-py[g!sUO)YR/Hu#޶_wX{+GrL.fcPŌ"+ZZs4gy/ ]^vJ c`oL]uv*l9mJ)bW؀ $H*9XRޫ}&]~ կihE<ߠS%jӏ6:Svmr䲙ZɦCjPܣZf*Fi fbP$0ɳM =&gQ ^P^fOix7 $r Y* kGæ FY,_.Xmp.8Xxj&kM|g]^/MJRӸg !x@BdME"Y p Z! `2qb̎mRjyNF7<Ⲿ$[mϹSKN2$ fd≆lWޣ 2 i:IzLg1\yR]n#oք0땦FHX8NDm}@Q)x3(&_AnҪBh~>[ FTW~d*WbH AMs]pν}4RBuƈ֠]GTc3J8^ZNv`7D2C<*k[폜Л~cH͚:k4n:qe 1)7C 7S5jEr~> d)>4ZԻ9FC>);DimWSQᘠ~h:9hPO!L.gd !{*KҶP*ijdt kOi,+:EY'[J1,Dǃ.Tm8Zl DJz $d >wl=:`lb>UȢ;d{ 1o˥3M%˼wpnKh1h1MUj])W'ΪVGg,:"K 3okIZA@#ᙒE ^5Yi]^kj7c!!&w:y׳3:URP{vטF#1|&r7~CZA?܌g}0a<̴_xO&8&5=2Z<ǣwLBAVdyƶ?(47JwmEOͶ+'9$K] k-JNP x ILL#D=4Hi%;fA{A,k[9tiw| 'Bdp{%: K\fם!7rnY,upH8arD6ga kœP yƣ=ǐ~਌JG^:@4pզ,QGFQ%7ssYGXK#m7zcݾ9 AtCN4q,8(CW{ D?[-zD\z\"0e9,3N"}0BbTe|޵%=<x:lR &}qQV)Ԓb~oO<ͬ^Q3dfٓMt 2FxA l*6Sgm6qڨeŽåfN)fM0ה:ᕖkqRYm칺~Em׵!%Oyg+宥7_BYLj/ r2Ts & )VSl~7AȣL^"DƁyN*.PEФ%0VDo03-5Aߜ: =MJRU׼bMm'3ȎOj~gȢ9Lb 3|mlR9\1QH%&1Xڼ=~ Pfd8`Zdb98aYU s|A2q6W: ~HnGԅnXy ֫h|!ȬZg@h̞#@Qq\L:j/Qy܄z; E@ gMR}H[pgsoIl{}zK]rgkg Dj @yuA^ORxK*W6rs*Jӑ4JVv5˺ "C_~σp)jwDњt+r4rU l9>Ҧ'h^ܲ BqήItI(y:ɝi(x&O僱tmdd3,s ~f*JzLO ;v{m@| e- .= <:EіjӏWMdm >U%ՠ&2 <4@HBwm:bH(R0QZxT\k>]l s\̶ĪvFn L),p(76pV}\>A; [) h(9 Ϲ[ѧ=()/-{I_L{l7VM5i%V.X"_*yQ+3;> =T4$l Q=46Oʓ} {?!qH]ê}BQu /hahyEfHܨ~x9[[`gٿ깫[ںh _RpoBnbF3}|ٶxŰUPn/⿲@7P^9 VWCVvtB(@<ٞ OD|8R)eK43Y41]- v6,h*ucg9%={V39rd^j9/%nރEu)e| w[B)EJxG8   "}Yrb:e$뢌z/]"|c/RYsoyݴB&#U_GiibPnFjECt^qEIMu3B TmB%c֬>; ##h0|^0>XЬL`%yeEx #aƩ"74UBG,QBR`f{: I"@cCy8)}[Qyw2Ri Nh`uR+=']P]xڑQ*myqر}CKEcpe5۶tl۶mfǶӱm۶mv{9Rk=׃1ܣ``ILLhRaQgTu#i1JSVҢ6.ucғl:[jWʱrLnr+|JJ2I:d.S IX)} ut3F9;X/#07JЏ`&'Tf[LKR- Wp~_ d`R5PbB=?3ѯXc;}x9[u x.,^Jp814mcr N>&SGy;L;x6]^i28k{Ir]uS\"+XN|Q$>Koa Kk眱^ϬE ͻ"B|UU|2|Bs/UNrϭP?5F6\=+$4V黌jfcaMCmLT5jHMtK`ݒ1TF5[N}fnZF"`E L3]eFSLhRl؉C]{VcO +y`%Wd^ٱ1 @ۯl՗_^rST(<&se`K<@N)ss@ 44LAw/_Q\kK=[%` I!A!b {Զl#K99PX8w=Ch_Wv/n>j WC6t/?RV-$w\wTԔ֥Ї")3$Zt֢/Zb%).;6P>|4W3n tX"1BV%~3С+ Z*C+KpQO__6Ke92D 7[(LZ-[6o;tRK11W%;W9(OFmT,@_$ u#ƪ3sϣ>$u:t5W/HUʒ>߶:LIzc>@kwy~~TpgN "nbXE@X",Yܑ2+!V@*Բ ͕԰%ae'r = ?=ee!S1Q5Ud X,%_0vPmKxz1fϖ7YD&otJlw6C{sʞ[AUu4Pnsk妈Upe_$>6b%p(`t3-* z7uwݠtMm &hC-,LG0Z?/ 48eVH[TônIpd( :H  F$pj1yĒ-)soͨ83eW}9`svc>}g* w%EDZ !f r?.6W?j){j: FPF1tJ<AfUJ& ſHi}Dw n1}u?X5n I!b! oO۔X5`q-cM>'G*Zu*m"ધexdP; p!+IgJ+6{:_"rl"lh`֭x,O`71UEXvgW1=yyy d?C׬2jʠ_9٨}9>}en%bv,3Io>wc0DA{xrhze|)viW7ho3(tmܐ; )My&mgKJsV]@ق.uNza;rZc<yuvh{kq'^D4Rc9>-,3Wn.Mr_Ԟ[- su*XLOk4}WȾF{E<&śZ0ApЄ%UkkNzn zJ3J uigPt8rv}yq3IOA>C!@Ή5tqݥ K'(ɫQ@By"DRao~UZcYOk 􁣂:d;[]/=fONYI&Ε.uW2APu̬PiLF0FKظ'W'A9WZs[)96 ikbiI.W@W$*#J=S{cycDɁ63fFr$)ÓĐ?Y!CوhރU[2SGҎOy8)`$ӗ"Z0ֻ/  dԋ > Y0;qX XT1DV;7lfu{ixکD.9=^zI.dIJ-s@|BtN\VTھ=Y/+Vhck3^D)IgaYkź6*]!mhH͔py˚R8]ѣDR$yM2$ŷ<!<6;_MtJ=%|%˓BTg{U[Zp!y$EeD(f)b@@[WzZ80 ;cHoWNٵ`mo 9#;W4u}JYxQPg꼓h\԰^a[ <;+\ Ķ@!)5rK;m%『$֠fyZ>>)h¥5Tqr&V3޶cx5k ~iP2q=3& My*M)i:(n}۱]~REtnYTny!JZ!;3d0fbbNi&Cj3]&~MZ`OVq)̽| 3!U$]%p*uo+Nߑoz}K_Ȁع*a: _MuI7FE췡dzQWݑtC[z /Iq(,U@>Gu$w7:N"܍J7,] BOG~=uF3! 4;BrkK|bGYc_;xgozL'X?u1öpc\.nfŸR~&uHVD 9Om:2u C1tEh}`^fԩ?Hޕ&t:]Wٯ{|ܷ֛O-M>xt*Ї5߿RːKUV¿wlLcts^+񧗙XfxKP H?&4BvB|}/~ؿhn*q,Z}| ߓB,{sq_Ͽr }|q1R<Ve5̐kћŎ įyO<^J;n$r:37}YJCoyeOs :_oTSj ?֑HUz4 tZCl#ӟlL>u4p)f8qEq UE^ vIKU84G|,Ojs&+.RNswuƒ[ћ>2f]XEh~p6}tʺ[e"3 p]|H]>Ja4"Mk:pnrdԽ0a*f8/z,w52j<;n"m7ëIJAxmSX Ά@:Gz<̓$ѽY{o6A.u&FP57 =-BC@i0X-k6V&nZCm(#r,a˜NAivSBm]Pǀy#JJ}S|2/x1:&td۷cciVn Za/|3ϽAkEAlMTy:t $ )]Z&5qm.鴢Hl+bt7yܧxְq> _*5b-p˔:1on74TCJLAczNfٝ{|YθC?MeV#&(kOV+NyeB@*yO0 ĮG<uM[9^X, ||b0AKsCj9!FVу1ԊWs 37̘.`~Ŀ|`p6 ^ ?~OB՞kƉ!ߌ G2daj؇k #5=^C9`'.e_ ypNɑ mQ??[N5I}eBOeMD"$#q146Qi<бX)Fk(89N3|( h&_S!T ?Y;٨hs+z墡jpf? ;=1뭊>', ש/_ij~aּwmW觮!hI.l?ޞ] Sf&"i D5s8nr9v٥ҧRXP1Uj|BRݔȸixм; ľbs!$ SZC8؎عg8Ny9X$'Ty@O'|%(ozudiFa^e*$}]zeJ gq*G h(gsN 0;+]4ȡD5bQ wcޮ{0P߻hиk5 %$ϳދU`Ni}>& G ]4JLFA! UeSjMUv^nJPtlMX: Cc6V|ˌnsOdE1D('4ak"O4(XKQ1{$'Eή4C Aùa$3.noii3eV+ \'z_aLҸ֨6I}ƝΝ1gnU+ӋSZ|%7݌tSWt!s?U~;1 N/qUX|*@/Jh2a524X#&85#}5Q%g0фZTdN><]X,͐_X{Z~2sϥq3PI_JokIey^N[%uQۡ( N/ˁ[蕼Kb{"BA&VeT\.Ļ5D训GΔP _3f1!eW"ןqdECen>H_a˔poIC jbqմ)KD-paN.&Bā~:eB2B爻eVۇGidُ1S<+$@zLѽLR ۿoH/rxT%Wjy]ezljxVlvoЄ=eYL3Ja㱧W7bG \QYnL̀Ac4_^AJGmZ:ʳ{E|ynT5wW5r`<RfFi~,BAOchfckA_ ;< Y!W7W8 J}O jA'r_ٹ јlX&Z5ӵ]0yبb~z`Re9`0$ʫ`ǣ*2ѽ%4 e1ДV~HGeX G !;g}1ZZ%zO.`cekOc#_;yxP %RdoaLdHVh쯛}:HDbYܞ+uh33;KњfC8&XeQ_ma4[NH1dY=p8ҀDY G@\1R{xgȀNMf3}l,^ԶBl%+)=ΔKaqhQ|d.'4earMc{ a_*d4jJ CW8q7uJd&ݘ=4PY#.MV': Gv|}Wzn)цGVZ8˱ϾИ#KQ68XUTwSZ] gSXJ/閅eCXНLee>&PM;-yjz2J+Qt+q4t^;TW.Q"#p>31aN9wbz'T03+MFTy /=W}g}VgpqM$6SjjG:w/%%3 ,PPۛ6I)F)}Wq{d.t-"$Cd3w8sD{R߶L]D1I98 <_?' E 3{ ]'iM1d<~+S <)Iw<_@}WeB:R[*1'] P"+D`+Zr+DlCW=; :fw1s?j;'ӭJ %PK: 3 "8Ttw˺Z xۢNy1TUxLt2,c%. (Y/)]_͹UOy'],hʸT{AoSa9Rtb.z^r8yhziZ;@-\Deu#1+,KnQOz[m|YN kg [juqąnqӬ4B Se@ye/7FMOćdbǰ"T `^N;!P *Fdga@&ӮYBvY-Kp!Un%"QR\d}1I[54,~dfQ<$vq'qkJ] }Ep~A!Rr`ignVsZ|2%3TKi7ܐ}͉:irR^j|䢱kb|w9#\>oƵ\ ͽCy[SV-+r45[VO\Ap~dj}Hz;ShUF0Z+:hX0`8G)9*{ .b2f%` O-s95yt?jX]'1njeQ$!XN/aCY&Ibֲw-l;-v.aϛjk@)RX5{3uun,!t,r ]S1e/[_>&( vFl㟹j+}R&9xEnlVyif*}>YPn[Џqn AdckwM;d3ŸkVuqbh_){o(Tc\WA.~ OֹEyZܹGlHYZt7i5|9m.$qg_ei`g~}]"e0j!C[jU@2ɫCK.:>ruL03G4 iGD2]yYkW{^A=RcYa{+W( R7jߎ]2 aQZH 7)7s,(#B odz)ٝTZNM4/D9ɶ:"ϴ&V[}Y`"MߜJK t: ]+c؋3tDL \)rn2^ͼ~nu`ղ>98M`h*ٯ41 .&hnat 1e@Vѩ3"TqSKt,A'bKb`^c4w._rIghfl!@BոZ" Q/㔦[EX&x,UZ)Q1\M{u$zzCTu .ak+YoөGO5r W@lú!+,88+"1c|8c;1єįCאb鐅 H;kuF?!NĖ,ߊ9-\Ri F\_(*"SdtGPGߡd-^G"z}0pz#vSTG;oe'[JDs5ɛo詠a0~ޫRzBSGn*^gotKMɢ; E6$I+ԲM15yNv] BAaU᭕fP UV},Hݢh[ȿ (.D UNoqFriu5l&'n1"vqbRd8WrR2j_Jf Oܜ׼0}iGJSW0P) x~`,<|+ٿwlŒs#?Pr8Q4< Y7INڢ8[ºl\ɮ':$UIF 6Tc=#Pf M]tGG xŕ>h3BB6ӝv VNi_T8M-SK}޵eu*E臖FܹEVp,Gt)>M|eY&g҂A75a}Wh@04c"oog8)b"RjHK`67a,< qX5nm7ֵ2@Yc^o= ~vl4^,@̃3ֆ$vd)aյg>C?b-{P%If];P]msQD_v_R/jQ~ʕ6rsa8 OUu1y `m;"$V3`"ϕ~Y'"R),X+Q/tEUJ?8-,pa`lCt,1*Yz,G `72α榪^8{u/ib W!Ru}wD>7Az5 ctxw3Ty0l<emV!gtaB.](T9%d!8Ah _"*a'UfĚF $۴&fE8`YBp3X*AZ<$F#1-S qN 7-ZzZ{)([3V5xt8&Ar'}-eb&rADѫw6T`kTby 4t:o?B};ߘg uK?17K֬⥓.;Vma ?S@P^s1YL5GP̘aY&:/I2 p(B MM^G4E&i. &aqC1_bPj[;A MIb9>^ŷNLSn(q2؀P}&w) }el?{V궽f{Q/jըP}`\`Ck-F;:4 iVnt8$jE>5Y*E3JX`Qڳ7fd &=ZRY 'v5C_~ 1GI npBLp9T7Z nRGW5J?<6;͆ >\~Tx8?͛]ʛ~Lb" ^/9ĔAO͐4f0t6ýE do2?pE:o͇h_f Z®nu7s+ps1w.U'Erak [``ϭ91,G]5s|)(06+LUe4u<}̱>q(XL^1 C9.&522/?ܩG*d|ż~mglZ\/ r֛S`dNtû°i(u^}Q)YW6~CdzႪe7f8QܪWEeڜ=8QϏu$̥l5O;<+&vU1':$E2|XMω&0jF|͵H2lN}`tuKH/~..WMbqrnQW윢I˵v ɰEٙgkt& 2kUDʺoj G]#ޛ_埾woέfX,aSݜK5oOW `!I;{;H`uFp u`Ya9CRD{b|s$RFȽYHy7 ,NlvIyIs!g(0Q,N$\ HSưٮt *l|.G)_8m7h[-[`! { 4yf684۸y{4̾lc53nP}l҂99֍l^'!?ݺpq$?T8?96p)?f$&dTHXt#rI+v*n;8AÁH#%Z0oomv_o7U DuÔŭ*ݣkŝUlD.VVL5 ~J|k*ץ>M!rMnKơܹbcVVg }ki۳}Iiwc7Q- yq Y n GEelX1kjEu,־J {y,S LVnKQaL51WÅ!v_2"oxgϿޟ[gcInhIN=2fė0bLqaa&b)nڰJO<ش\8`[|x!3tt3cGJbo:~ (/.okT_0s\+kC;iT1;jPW)]v q3+2£j"(e\Nң|(|lWd54Y'o`}#SY pzyK~$_~7 W7YP) ^^>ftл"Rdb9Y=ONKǢqE719e70%@ { f+z{% WGvI[R /da.ܴ8f>k! ǻ#Y'|\ p8u*WOwj&ioi{w5w4c SpOZYz>b(-=xT W1Ʈ}h[mQ3; L_O*?DB, u0eOeoO, 6Ϥ2Wiv2Cm\ NiexP&9 {5=YhNGt.EH#,(#X|ݡlVl\y OvyǯU2Ә|rV*{fE2wٮm_ߍfv)֤ğ(09&/.L{h³FWǎsmʡ*;a>>]B;cPA{}}JEt#T% -j`!"2K⾐bKc0l$nB A!U{B?U-pG,/&!O&d 5 4@u;[荂v6+؝& N9^@oʘi4 R*rV3p+ 0!_l{0uVU3)# &E h`b!47LŖr4vGoQΌԂ@ ek\zyn3yW,QF܆fe4f|V-`NI{q: A_8$ltP#6 S]8FZwVLfu/Ilt=~abQD[\ò:b2 ́̍ԬGco)!)͆LtG$!yU7pT \6]siz4 :bK4 (y'F'n"R\Ȁ5deۤic! gJ/snX qxWsiTv1cs.'$\-7(GFg4鸣VEp恸Z}d I:2/S(qD{ 5Rddcf""ENP!<e_ 2@š en# X#0&e,q@&iiNť -(q}rBC"~rW@)G9! 2`as|K _sPJqe Owѹ}g8Ø5R9\, HO%l)0)-WpS{x(FѼuccΫrZUC>wPH!I\J)2#FYߕWh` L=;HrE &ߠp6˜?FrM 謭Ne0% `v!`1MzRjPߪV!ƙ]%|O}J~0囂(xڛL+Vj*@u!\KTk-U'WbSþ x >'⒏I+BlIdWnI (n@Aʂ 2NW]:_@"{Gn\W:PP,Nt{Ht VЬi ?Z&餵9zKd ,BK G"eѬLvcr)wnvX+.0sHlb,BOdFl# kVk4QCmFeiMYUyhԻ}m]!tZ3NQc)bl <}mګZuX5W@jSelJw cXmD*M"*_W`fh|]0@gANSWZ,L׈ P܍ Axf?O4LVjl!tLI C V9BWdF鉣Vi{wp"݄6xAvf!MEd? $?x[cqzZPQQlu\$TLZ6?K=/%h<ۯ"'^ӆQY\daI|#e+Li1~)~<3ijU4P,|&v啈X_pE^ض0`PM^e>Db Ѓrc=ַ.'3Td_e_n$.;69fSf]7\( [#J=cp*#L#D Z:\pWy'IGg,#`6Lm+%FƳ} (.?OXcCԕ.h[4 u{G*^}BܑMV$ICme%FH%O#?CQ7k4SVlHƿ3A-Nn:)BA_גi; 7&nLk P{\\ɩPP=|?MNƥ5P%]A y(s;0n""-Bvƞ y9_l=OVN^pإ6{&*YlqqsSs4SlyL!a8!=GNM:1:@BUKsMΖhH ϕ$?}өSE?$3R W5wmYl$)`q=ߞEx8@R^2u9c  &JBϘVgJ[,iM@ RCMBVpMiW+-nCPpXOw%3-ё ڒY_:`+ o=]b#vYʗa8k/ɩkkvg'ﺄ qe/Cҟ~eW!PVgZ4:=;zo[)i@;vKEt* ԣLsV5O}˸jC]FI)x ^OE{IOIPlr~8Q]a7<KRg"l`~ޭy+$;pBophk"a`XRY9 yWG$)%jT@ծJ.CkAp>};\ۥerφ4:M hzY Sb'ǧg{pPҬJ I_j|š< ?QLPP+"!k.h Ù?viyG*{ߡ3n R) 2q76ؤщ Zb)N%W6Nd{{hgphpG}!vYsvXmlx㰗W}#ؓxI9bZ0M}{+aJ}Jq}bYq087+$@t2q_j_Ezg@sW,Љ>.mH2{CPtG9fcgN:2$XdzyAd^4,y" JA<ޑi;%$8T<4lz8ΐݠs;0aZx`Pe=;`ƽ̎#uE$g釭)s1xck ,-usf1 m^kn.(qq?-"Px%'#ㄚ|(5:C/Wn7Rwc(]`SDv}0{&-!Ti@RA4m*6C,Bʈ}(5Ή1lx*[4;EBvgVze<_[2$vT.0$kᝑe +,>XK+d. Xe^鬧m4mGǻ78FϔH;24$v3NX͌SdRqL=a >U{,g]8,2- U 3t2ͩ5v<-XŹ ?vޘ{wOcFsF.\_I-˨ũBqK(FnLbCj(NE^ߡ4CY[zրiɑSM|gtnkZln,@8')s3>-n<2S$uk5_d85d\u^R~Q=EUUv97@V:9kc6&{b@߆C>o;]q*4T$&e:C l 9=g.}+{bejdMnV)`SRxV^̥mAjYK ʄL^<#a f`;{X=c-k,Q/=*,qe=c1.#RQJ2[RQ7?;8>G-d1 !NPۓa@K1[)E p@ XJrH-u&e-xGkW3w{_ :/SdHHXEK7_^`a96&=[ggonOC 5>R!e$BCPnC\3^Hf uA;z:DK6`!ĂWO qeBf<5ג- 4^AeC'mf(Vէ⬸n WhοxdZ0!_XpЯ'|XW 2MrKClj1*] Hpϵjt oƗF8rĴu0M@[Gxbx'6Nd:̓ VkmO/=.z2$腛seZMΒU6D 3x3$v(Ẹ:<ȓt1эF>f^{ԭ| ]+`FS 2+= y:`m|If~tIH8YTM<Qj"hw v^nUR;*{QQXk١("VHr$$E.P/lH~OžK\h"LإG]/ EmW> ByKnH}}f(R04ȷγ۹zz92^K@C^'Y9ᡠ!{rp\=}e !K jE<*P *ɦ׾@? ϓ#}@Si~hWpLe" iWNO#.(8A "Cbl.,MoVzɠdȡBն‰ue`}V(iQ$mҳ] \>8U'^ KͤgNVjׂ+KԺȽoc1S"ԫ:5[CzWHhu:$N<TFh{rC`ƫ/ _a=lFDU 9ֱzߋS&^-'B~LϕnJM/x<_ʛz(xuNlTZa _oR`C0KpnM;5/N=1|Db!hlم(3.Na# Վ6ïe tS ;@p7>΢'w).I0CUqY)D|F(l[h㼍-(#E]bѷK`,*jlIw %h;z2r]_nn5K /\/M9NnaxdnpG?;,go3tM7!O ֫8xr9+mԭrߨ>\Y#i~npQ*1!\GTVOJUmDgOa|׬j1˗{ NCLf<%fh\+6NT"HUܡRALBuh GJ5OR7;ÅKN֪.]iL H7ށFS#)IrQ`bOuS*f3@Ilxcѷsr a>I?@Csl2X=3Q%c51bMFbA*&`*>zrf*\ӏzp*¤4_ r~Itm`ٞ3wף?` \Eu'TxBb='*u3DdՀ<&hK w0ǽC*jsb#)q{DLk_{w8Ͱ.g1 8=,bZ$)50D:ٿznЀ.zb VX +B1UsW O/N=88c`c8C]h ^rWV ?JnY,>x ($B~rj}f+/B(uJ9ʼq*H1T*v=HEn: bc!9 P Ea# zZQ-P#\⍤ՔipwW Q)=v+{:"X٦AwTw|ytE}05}s /;4OA#Ax>$fyܯ}u^DܞC#+Ѓ<>/w] P! *!NNs-|Yl,͏T]W.!^={8#x +է_L,֩1iɰ|87Eՠݶ:0|f]aꔅ <mW>77Z ICHONGy30nNoG;Cp?nإCK/ڀ`̈T[h.tH55Vw"[:ܤݤ^S7'4պn8I==Y_Dj.vY+QQH⇰xU ϢEc pMibSU3]y݃؊mG)QZ}]uCJG]X?ѾaCoi{y0"D(gj>ݢ{hn͚-;!T| *AkDziJJvP U}(!VzT]*F- _!xNyr{賵'AiY@KS.0x6CkycL^w͞k{soKcBVc\5v E^YDe+H e=O*4/8`iGwYMa#d\^9ta~9IB|QqeDqf5"Fӷ}g;fK˺:/K)  \&ٲhq 5 jQ$rD@oܴyэ_ A͞re`{-OIK7,i*"E`#pƟ3gX}P&:=-rqdkX%`.ʧmN3 hCS|\S<~@fpU꣚cEx9h'7Ɂ'tt8|^0RS<^Ѽƶ!10y x$8>;"3H" :B@V 20 xd{ Ŋ.&e7(]p]/tpzxM3/WEuȯ E81VnN:p{!ugd NW=`Zp;-,m Ҏ xJi{$-vu ^uQ"7\ӂtO\?&T hpM8, |L4q0q;dhVH6/(8p(S =.--ȩTt tT}BqmoT!pWn*'9W>l*Gf7f9?kH؂w“BŒl 5K)/H:a R9+.xc𛏉¦@cA;Peb}s8@@<%滑 g}fP79#|vD║Cn!́HQ1sfQh"hH\U_5^5_^u]Еzu#{fo[p   ^$ tqy`Qv _5_LC5w#l3OX:$*XXz]35yWxD-~ɉN ǜp9=N#=u_N"Uczd&8|Kzn{HuJ)58=HEмG*8ȗ$ lb",(.XCw؅P)!+ Gܼ:GYEko|0ַ Xp0K~m#n;NB# m` 7zpd7<4Ȭe"9`:뱃Z,9Sbjr8g?[@24Oc"igɉb!:MkJ4\Q9-0LE*reˁdsYkzVJi: Sc0dι'XNZ])u͖[."%B[3mD.OH6ߒjt]pa5c*!YR9bboT^Ǝ1gY `"TxD>CXdC]L(0G4KBM-6kjAg nI6Ui\7Abc@ _"&d{aŃԃSxS(ÊW%ꬻn1$E"eZA@K=e܀!!8R/OlZ5N>908CaO`Fq.Vt=4N|EyzXB@\ `pW-^,W%ꯕ#CUF>Y.* ΩqE>F́o=UH$"X$BI_}ᶇo0t"Aمgqʡ$2 ~}o5**(GId0CtQ}u?}Gfy'aOI%},9`őU?C^/C4#]ԍӝu!({/l\ /&'@T`-w̅A5@e(s[)gj#;#MuS"@bͻwk^8jFk6 ('6oR S wt0i}S-K8pO?WCK݄ XAAѲ[&}n>G:P@5 M$psғZY8#-C=z+U_ZPJ<Ղ67i%;,+TT\yJ@5E >Y U&ࠔZ@1?o bb"@q%=Fq;ܳ'12&e_l6sy[ t`UDGRǿ턳[eoUp!INF©tNAٙC Hw7;ƹGxC"ǂ(i!G:Rb"{+h9bY!J,N9_i v |-R r(rtlLjDs^`H"fDr:]./烬NIhy`*72TjeWmR>>]hKSPmEQ$NY\67 fz&ߩy!_lyʓHe@ tS,jJ[)Pk1d!5ާΓGz$Dy`%o:@ԋO\Lb_rB#VrBN1͊'(М48fx`˅MSq dAhCH s`! \2E {n& =e r<˂4+kRG-^909blr3*C+%j`Ipm*u)}v9,(qΕ, *(%V9]'h zv4>f_YJ( 8~J}CD3Q0\/fY+_8)KZ x3%xktymv nz(hƒܖ` ud@ :~J2fspo\хAI{8}qdK~V]1e~hiw<@rjd* # ~un)z%I 9||Z,a$9=D-?'0_/aQ"`hZ`9^x\S z@4(ׁ!F֤ 4Hz9AܸϤJ/@xiLZUrYˬ~!iHU 1~dĠnVk -]0-1֜\dggᲿC!f8Ѣ `$Gǰ8YJ⽟A2g^cn*ZЭN&^5S#]CS c APqx0{QQ=C L}ia;I<SIδʞZسջg -+8'/5"So\_r˩uE̘9ѨP C#!k$f.w9HyC tg:wFVۨi ]Ah].tj،E"gCѶKs$򾵑Uإ0XK©6nZ%ne%8:ntfgg+-[GHsX|ɏ+4D."ѕh|R.#Xn<`-|oe jo. yu-rXʴEhX$ \%: dxy3i+rb$|]yWc=-wy >%K2/;H(BPh =S6o8`1"8 4jzlxvic4ܓ5l)ʯ#ls[TE Ytd끻ś#(uA7* 3PJ[lG(X =Į87`ZDi]VJ]VgE&Xωj#c5u6Mѽ!!_bmgdm(]yd".T}H3Qg=7}RVSPM7_H%ʓ|$ 7vE;#YuX4X44jHڕ4jdb'3.A>@XdF,ޡ\ fIP p#?9jj>;-y%78;B)7O YPĭ1MDO#Q< tJ+6( ?ͥ*Xwfv5d`f̺OY j T0Wꞁӯ2lUH>޳]6($4~2Y@0&#(C2,JAN#99E\:{6MJkf;|$H)aN7˥XwsP#sb\y`B Ll;"9T0w3h؆oFZx=0a804/FH]X$C~D'){=/TТK`T~Y2 Z v hӣ~Zd ffzCD7&<&u$8}s^\]*TKW ^|{dΰY&0WKhYKZH"k(CtjA3$S P|HA*~:`d\$}薪UT?G_hcS{r pe'۩q٩ _@O4}D}{JrR0ME+37kWJe #| R '}mg B>;f=Phx,zp^OҞ{Z6MN $/X} 擔t;Ϻd7hRXLm_rpW_UcU`#w8)Ih`j^bjKlAH*{>f5ɜ ]$У G(?w>X6en+FI&%DdE?^/W:a:[ct VV8i'Nu=w;^4ٸ%6-7[h>72l4,u0YWӼ-§+q&;l}BIk!z|F1/ (~ 0A j >ˢe5ckR?a䥛b|(22JӟÆmRy?OC/e 9iH˘Ty~qw&&Fv!&IHrwZ 0"LH[51KH8å'["fl{‘F4ͪz3fCbكխϔ2u% I00W 5$&ZX36]p¿JGYJ,񮖐 qç#[+-z>EǀIF^O2 L}p Gy!v gw:.bJ'X)pbyXZxeFd!M$boԧ8!4Θˠ$vOD>+~YԦ f)=K0a hړ[՘a^t!T8GԔy^%E⨩_̩U4)KƮBPPb\wժ+ZK@9h8 `sO(CB`jJC*.zuvtD`8vq˺K:41Qm}fcs(z֥hPMQ`r&&qW~Q>0#hqz5@e6Q#V*-،ӊHnG<>¦0z0z}gZxܗ?-H>.~vlFYv]p2ǘ$d=e x\E1zXtSf32 Um" ;lj Ao†0q0/ B[S lQCבn6~37_[Ƈ]6F^0o2s@W  CU7OOMEeQ#ݩf._E'BɊ+q3ag]h |/MN$J{܌ _/nrּeۦӈ!Y=oS+ɦ"z)n+?49e%ui}+tzHuLBș%r_J>(̠On&J/S/@V闆;S2n7?ˤDtI/ Y~dbv\nwzh9լL"vJVwJ_`o v@kx?KGnJˉ1vkp.q09.IM 7'Y9YHl!(кqBuQ?ֿ!Ioanhq31ZĀ1Xc  𛡻'‫E~8 x'pjcr7`r.leפ=%[-ؗ1Rq1H&cPW|ɵ6y=NT:Q#o6?v5""['87׆BoCd!D8tWY%$2ۡ]C_L8ahƑ5a90d+NHU[ )@SP;׵̱^>&^Ն /D1;Nt) &`!YuE-֐N/7Աֱ`,,p`u(}5R?jrf%?548JmRb0Z ˗Z߯]9[XP!w~M_f!{LVDQ I DŽ1Řm tB,wAԇ@"QJ$zwo{rIq|cx@1RyMFM̢+.`USTnTI$ @AmK<\?|e6HAF0rm{{(:7>1)᎕0=x<ww@TgJ(1HÐ=V!XT'ĨD 3ҷa1!Yn1i5SbeA61%i~Y4]Is@z*!M^b_r ;0?"u7%i}O~0F]%kiPuPZ#\n\jƅtTQS6`0 >@n8"$W𭠖CNa,p.cu5l0xziTμrygح<7~T +xO(\ɭ0q#O1qd''lՍ5]ٹ4B@ŰIŨCaK<*̂,aP80jˌ^E:%N2w=%>^L_v=j|Y'աXY)\+"`wR@@W 5T=AƧoHJY[*`ťã <ߍOu|0Mu6o יp̿=F)݈OrGЉρ qŸ|;CO!y1uAֽAN奴00{CUamS+OQCT>xL+lQu|ΖͷtnA*wk)s+2%@x*h7ەzEaHM.;!FQ[7CB< 5e TBX^๒%ڳ*7${KBx*V/i61T|]M._VAU9f.D|@4a뛥Zl Gz)a9B+~| ;D4f0:S g_XbaYy_(?AN

:GN KfpUOp"s(j<' PHLՂ r,ռ+E'hXϕP!`U~ZXä֐@I\I2C27eŜlí| ;W~NpZN|YHd1_ i?E3c ˵ Kc o8TDSV2i`ނLWWӋ@b<X;tq%7kBػ+ zbP3R):'+lg g6K~F< ~y('p6A )yj("|[Do(^#e8*8)!M AoBU>)K}>'/ً z[ݺH^Ʉ= Q5P,>|B/ ઙHi$ T0hd͒=뇤"QdXٯ ?--Xap; Kg*;e7LH'fw:M8uӚEÊQ@0J@v2Y !U~`^> N.f]80m.lLAOwׯsVu|-BAY/|]:蛂UnIio 490]M U"oxBٱ 䪹)ڝQ0y}*=Qj&@dj!6_+e) r=򗙺B'Cz&lt/39 J\ IyGFDyhNxv58{T{}mrEͲW5՗_mʪ~H;``f Q{0n>բ>#ϒnf<)=S;rVH3/yx/'?ER+8GUZdbWcVc,%$L0{=&s 63/{$KL1S(G&Bi3dc5D:%Y09vZM9O(d1V^Ap/*mQW7DxX 97d}:6h~-U ̓Ec/ B>}79fZgN,IIJФsa݉&j!pcΉjg ӏ+'MPt9)(-˙:0&T2RnB5YںMb+~?v,Р_qDuupvwbs00$Ug:& K/?LAki҇s!{jCL b{@owĸ7yMwIo.d }.:8B,桼գlRZd.G:5@ gsBت`~zOs.7401:;#:4H(KE֪V2? ,pYHxUsb굏^{O, yA*M4$&;{ E#Lg"FO%Z$ӨZwW̩D0TK, ^j.'zZ Hau_la P]Srfo DtɔkcU}9DŻ6;E!Kգӗ- $$Z)H9y>k '  v~Y^F|(p6#M\l3vW%`ˠ y!~D.~p~ Rx? h58c(74ݳ쮁ECt[t4BC9ʼn;L#*fH8IB͕ZrQ\ 鸑VF@_fyw KJ yT/ϊK_Ɛh? r^18I8 ?夾)=p'׈Z)_954vRxurrdG~>{`Ӭ1X!)6NxebNF}~7*{6F59io<ƄpxJ̧a]dҏӌ6sL3 / }~lB2Z+B0oc\S*}C+1kawiX{aT0x%Z teИASiQ?ˮ䕎4O4{sL4j!<&)au ({QfFzHr(|!5_J7 [,CN73.5gމV^V^BS9٫ Ƥh5oݠ"!'W.=}2$EW0a)UV%xK^ Rcfã18O&H)DR?Z:{#;q2AZpf/یkӗ&礄yՆ*] Ew O ٍ8vEf;t򧍰U B (NFL`lQmL tOhnל%Z5FQ Qb\IV02_pB}Ia fȜS {drcơB:]d4K [ZeL! ,/(p2=JnUs/0U*HB\ҭRj AL%6c}fQzt=Yf4uX5mk-s@:Lw/ۅԍ5[ ~>ꇽ5&(ZK l}f7%:QבyS|hB UWG(6mŌjn'# QmI4"˞qCfTo$6񇰩j 8gh~RTȰQ{]ʌ?Zq^ˊKhe>$!F$0a6e:+ &XHw'V]y:e"nm,sҼ9)ԚwA5(Ce~l"*&eńp];jve!HCd~,L*`*~3N vo +(NBv~WoaisL?؞w`Hh X\^)3`mE|O]A׿}WekҶ$%_ !)T)w03;^}ZE\Cj ²/:,SbK?}(^Y@ f^ ͵#3wV^*+PBX}NHfr cI٦m+' BgzPYw ˆ7җyKgd_y +4OzWd5Ĝy* oĺ3DlK/#$Mr@( zM1+hSAGR5JI_aubbu%t ( جPυ)Q#J-wLuEZY*'85!)D Z8]hw]&@)p*+c-_ nFf?=x>*V <$6x? (Ex/uۃVcGV盪I!׊ 95ȨsyW"ό2H1͍?-SwFs^~#a;bp`'$E*dþXF#aEU#X&;dRW$5:e 7r4&U,JwزK'- x7hshFQ 4BJpdg-:Ak 2Hu|+ '<[lW*>l!vy :WRϋ@- HJ4ֈṄROV4^!):"@gցqqƗ2Z=;$SAO 2Đ=ڳRg,g)>1M2L٣nXnM-ɅDttd+CT101/ ^zSm7Ҟ-(m?^eb3Mp"8^e\"TX$ Sa4*A*.p,~5FA*2Ѧ/(ϋ* vnQ: ~Bkss׋G|ԨVƀGmz> Nޝ#8[b'1m nZ(Ydζ-) OZQ}xݮiNhB^h<+B/3n姘?Ofkp60H ɸ@GdoCW@o7#?k] %':Pcu՟87iOa-Ln2uVr[Dr9.7mhVSIDTq)C,Q/[~UUcxB%WoO$I$pY s҆v1Zz:IGᲶ/vZH9 ~w,bj^lӬgRwٵ K⊕tӐPtLJ)J!K^[}H-IH͘. ʼnj-(x] : q`$59t UR&1I-aN|d p%qE#Iy.ɞc/_'vzEn˺YOG^w:M`9gܣ]3cۍCb5 , 24|˗7&|T+HxywB=4If[9"}>oAI#:a˒X:*h[E&NjXSbŖ>k\/Y~ O,yxZJR1:iAwwx A+Qmf̝f4F0cLw9Akĭ ]J.,>Sm"3Odc2 ˽-L;kD!N az5{2? EC-8 vVtuwu.G:@d^(k;&GҥcS{ټ l<8 }lR:~D'K2$h;8zj0ϛ?ДǠ O7H5,H MY">@f8VΗk;db|W]]KN^a[n$. / fx(y&8*޹BAA!Յ7(q'|}˃qoUG4P6(dcI&KBLyq Gw`ltH3nԅ?{(6qh W|-FTDs?DzMn>:T;i4+ j(k%5Zcߥ:! gr`S qz&D;28E.0Lc7u@2 X_f!0,ǟCb:CշN[ѾSX؅Im Kյ슐.0 Jg0/JhtpC /U/S1 l6/^__-țcr1]rꓠVR*OU$P(#e3G8 6; DiPZ5cF 6%W˜ʼsn|(%U+ v.(8/}ܙ:sA.8}koXdNɄI`bg `{h~ڠjaI#×s@-m+^c5!0 2򧶟*8(XG_2/hbt}-(.HA߲T̛ Ώ^byY"N0օ_x[ލ >k&@҇C=d1 o<*p|p~Y:.Yf> ߬~$PgG//hJI+_{yW}^/H};7-64?_Z,S|g?лq-ܐ~99f9tYaJ'P3ad9h;wI*ڠr~whY%v$z-N8~,]Dh!1nDO=(9>9ѽK|˜AY<`?CW#WJzW)t Fdm|W%ቭץ([ ; f#=cMCH;>ͺ:lfX/l]]𐞲nEx6%͇ a+ q6% "w,nPEB "7[di@H2aIӠ5jԺ2 mVf]r@GGNx%bո!kDK|P֏]hߑsk3r0`1}Va5!֚ X87F$9%k NwAS|B&{=] i(i}HO-<&H(h؉M VOEk-kbތm#NF4\.UvH0m GLxbMю\ q3 |'֧ NА 6;h ^I(  KXPg~ UK Ru`2ZZ#8t0 gN܁#g Rb{1G>0GpXㅑH ȴ4IDsԂ<]"՛~)(NI7_녡N$'L:Uy$J:`HOym.K9Z֔.%Rj="TW_zOhMӺ`dSDM^і#?0ڰHt9GCF@x^yۅ zoq6t6Z1a,LxR w S(ѥ:A0Hp_ _^@|.=&wKe͘m}\6ydh "cAZMUib2"[Vy<*ߒ}#H@G@yZ$AnO5 1>ɱh td4!\H5p*J5餋A*1CuR.٫ MяHX.(VU]ҬU0%R_UdLX-ڐ6b4E*t@ sth~T+b^"7a48ü<= 1L䖠$(R`t ۼmX!+Ѫ[BM8(.u.֨[9tiְ1iDwщ Ql~hb1,+Ѱ.h:/$9{t\ 8Z#PT+"PHdҽ!ؾcZVxΩN X*,==@ LA i Rʁ% Rm! =R阛rKlZu#Ga|NSX14PBe8[F&<*T=LHGRʹN ©$}0v!vؿجg!.-d-(u!By7E24bM  fmbTiQ4C5$zda QK]t_[1r1%>TC(܄8-cKt&GLWZu; < 1Xx%sc;DX /,U'!CdptG;M[\l9`[{DFTOB t0?A0jP`Yv*љH$Sz]۾G43"K+Ohߎh  pq L}֑Oo9A&#G JxA2>$"I4 $O 82(:J6Mt<5+WA.Oq^ǟ .9i]N1p 'R0y!$e4_(61A'LxW3<{GU@nn퀯HI+F4@eW`A3>U0}%y!J2#I_n~rɻu/H T;ҙ["H4,CjqsBԝ#&zk^>e<|Mz$^]L 0 I4x|E=*X=6ůooS+nD(Ap&Qj,.P;z@RUb2Ĺ#7騆4Wa^}X RNz|GJƕ yp'JL]mMpBw *'DвI!L.0V°CԇnZ4~%잘)_dDJIPOحGA01^NEz- U1|i&8l#GIN Ўw*oU3@B-a t4PWQUF (-ZJTZfp Ja*eS 8$A̾+`DU!6{~Bʉ  Pz,^`HR * -T7ג83OUP^aX>a4ԁՋ m߇k*9*r9T귟EtO8‧@rQ P]X#A;}|(îxIÐ#-8؛ UD.ǎsCx}M(#LN~Ja-S]1CY6G;s ʊN +Rp;UYT\m@Z(̴K8tJhR7ް|* τ״@C?zJFdOGA^SbTs|h@=|q$QVf!"OGl!3DJuVRS#kNJh)5o(|!9hl&?Fp6.>dȠ">T8iNFA9`}#E+{uyD-k%vQ`[yU nћʈHSD=Q %B|ǧ(}Lv =g obø=ܕn9EUn!ER8z3|Imj2-h*2S]Ns,MJ k# ]K DH0F V↌!ほ&HoUZ/T I #7M6d ^V>?eGE ,|@>-Ǩ֒opNC[jC)DAlB}t]}RCf2tw;R:wugF@3k|L1ϸ87YP84 ޚ"񱍐aa9sW#9Zxv]DB;D4ǩ*L힑1X`7^1S0s"$rW$KIǯl~ M@M夁;Nr.=U= Z+q4MDX)d;0!GT ?ayDTMظOc=,ݚ`@RՔ=^_NNc.hϨ"ꑊEi4?3BV>Oa#+H/E]XQd|he=+'_.Mwы.S9JhZ>eDÄ8l7B3˫rigT"n6H{72_8XS6*Ŏ/QEЍw1i>"VRb1/fF a8FHiĸɡ1y  OJ$=8?DK.ztjRu bzcG}+ulȠ+ycI܅KdGŝ#`{jo b^#<%w H'-ʖPC0F5ʖKH29­1ٔɰs6<cR3*D~<|W/.mc̾l"9ҭ] %J=::EPj:h~h|^a,UyΙ8)ybM/![P_,.E #mibK0c& )°a/Z>i:65o8xhbBN:SOG 9=@ ˾XC/6S9cMvzp8A40Cm;PCo\*CgƁ#GhS5(|)*M:Z}?VAZ lӢ5KW@ zs^-\8iS@7EA?DE0.5% &j7_iW|G'o>yumN/.8Xu1݇Xsn2U#`"zٻGIlNl9=,zuro#7 \L,2uwpjolnB RGT006͵!>yEBjwub6BF\[&KۘMn46"L!$2#VabQ a#fq+p͓ x 1,=" `%Jay*E2(> s95!Z'{6vX-W{Y^9_j9k01gπg9+1)b' :lrirh@fD yy54.́+QhԷэj[`QE ԩ^2&V#n.8OJ'*"l cFp$v=?/~"RVb7vNö<x'GL f[|vpWW'D%ch40t".zە~X?2J9BUl T\ElQmJ F4 h>̺kv PDbi@]+@@۳Z<qCïZϬ+4R)IlvRj861Ќ [" Fi47L3`9T!DvN@X4`R>g̘VS1ѶPLԘ8onIۊ܅4xnByq? ~)a@J_NAXg-ə4:n4p!iubk`J|@o S y7@,g`򊃱iplZ?Ϛ(EP!x!o!SW= @gUtؕ#q냪6pp0 XjhfcQu|U@ïW%bQE!BsNlMn-|G5/d4Iu5~epX T/BL8m /+ {ή\e:yfӥt ! cF:jqY!WjW>%isf4rXX,P 7檉)):{߫aG?ףeeqċo(D`ae,ϰ"D,tMNw !% `H4HU;]CfBDaQHţ0'?6@k`0{*$L<J;@l8 [vh*"y0 Yc o~gȴCxj1Z/gX+zb[n SOSj׵($&S"wHzi$Ƥ۾<9ƇEISo'n(mdiP*+'X!/ֶ+g tbPwSly՞c類SoU#mYx)"V؊HBM5k׳D46N)Iϣi> 1Tac\P\ڏ2"6FOdKYJ*|d$4H*WIq[m]H4YF4Yv3y*W \HR;).1[H=]< sڎIιY+Y:tz .tM዇ ֜V"N;`[n%zi0XMKMWh%Z\pK  3%\M84~p2RHS:ךJD?, GR#KRgZ 5B#Z۴6j0(LTFN5(R+(HtX\3H%cj gIfԩybKkTbJ_7rbLb[!dG(t@DnF b4OST"' RהYxbj)OzĚI2^9;f J tjs\9È9!^A+#Q\Bg!1pRSZ@{mFG7KyjbeFp>}!?(oXwQA8}O.sϺD5_H)29!$uonB>[UFdߢOJIøLH5J=13PoYx0~{AA3EF[:)|Wt[\$I8= !OK^lK/c}1FA-erUXQC,D v%AA֤T ЮSi8X^dY˞%TT}a~CWHC h2 Y2 iˎo;h}<@Av1Ā" <N0Ͽ @&ߤ7z( =y!532vN#eyU-V 8rCwA ga,aE3m ;jG[=y#C#MY\&!tq3Ohr32g@U.8~]9Ĩ=DERqga'괢aaI5tNЯ L8U$1!6|*p٘ 3_TVI& Sͥ9jըCS< >1*.&/3[$Z0([=ő$GE怰RAx=wF?mөj$uYE& s/łr,7qV  sĨ ;З'{ϊ=7^N`NG3@U \V̝,覓f$b*h{EJۨ'UbA:۽"TjR`y-(|j1VVQ[+@a)F'G:QD `;+?. QQ(\a%$S(͞zPhHAz+85=2Q =޳GpQ9䏛Zð׋' W7._)N[q9CD4o27J53t@$w1p}H7rӽᔄФW޴k fjKX7TRxeŞgTlЪdBpfM6e S|dG% t#|u,|pȢhMv4 3s%$yBG|:=V!immؐlH~Ƚ >gس$y Li "qDvb4ABֻ&^|N6?HV$cB(PI "SR=-PS ᣴʗ𥚠^ _sZNJh@f{@&L~9htߞU]Bq'WĈZ1t!!9Ǭ]fSg qXJ\xJX@i p`NXL ERܼ0s͒^B""-0J ".H[C"&[ȎgH}bH =E4q-d(H.,H3yODuS}s-W{Q`-gA:2kLCwwBzy1M =/r/9]ONiIrR*Q>Jws۳]DP$7Kf œT.[(N$LJq޲>w5[ɑ"xb{Y1MbQ"q.le 0 nc1+s|lgb^+҄lMhC.KM:zUy cqIґ^SKhBn+f{89>F6E5_"xzɯ(vt,ѥZX'v< czs;c͝{_$-oI6mO`N~ӔyFZ9KdzoA+ uV?+te# ^k&er37ʙ-%$*/Yx|DzBЌX;ԕSU)(v-%4i΁G&h V`i< u0đΣhZKxi&-+zhB GoؒT4g3*LS(9X8:"COF`1hWbB𱎧$7v0b'ߤؾ A5[Lv(l&8jV^QI^ߑÆYlv /?@}"EBF7v0zxo\IjMtK=zI[jD1( P((#8NZ0BvK:a:G\vlb5;0~x `SuƉ>Ww̢R!wh5Cٟ @kg4AM?M<^XΠ""ڼhh:m~SPmªrL4jFyٰ`)4-"YyjCr"W` Ud.6i Hz="Y$_)Ƭ69)P0ey~+ʼJ8*^gQZn?Oޥ2emc}6JTf*pF@ƶ.BˆԀ,6qHԡy+pUOhv=&N\s'EMobf)F4^-qЇ1A:d_1VV;@O'~F8X_^%]?'+&t:x2S9Z`~8(SoR5ʚ#T SG'tmK.X}%ʂ@\ϩSzbH_@֝ ptEF(by)$SA/fdN.c~jFn,|CYe4loN&ŕr OhE<dDI?@EȐHz)3J\;} Ij8mC*h J"g> eנ?ЪrAU eP[Z tP<@N'H{3JX$^{UAO\cܨ9|{A8x{c48VQYbYld Ϟk]Lu5҉Cfh>n4^V?̹v1kT:@ ();3#^ōR'sf^KO9)$#tx_tVF)o۲*ݘ f#5>&w:`ŁkJ]*eL'}ݫFl8`;(y,x-n􌓈A<` pA&m1Y#SzaA#"Nj-b]G;0e1MI ƩgN:ю(y=T^d!q|E:Wꮈ"+&10.HJt*͂l|إbBH"kXo;T F" u( RrѰ IB֛Y3*<:Z'ޫ.eА.QOh8\ W.D^F 4.̢qP\WlțEfZ@zT/MBDX&yx]ɟВtɎFowy90pK+^M.D6d*U:_<ֈ6CN=Yi3BCNVk%]~ja9n-Q׏$- ZBF _(zx;"ECWiM6+%zŴ4P52OI9zNwkktQ 鞹@XPf-SRtJ-Y&[GZ6غx m5 -*x\%TE'/@R_߰xw^Wn`Rt*Ջj ,ix-j(jpe KmuN{ng=xѦ4-v(7HY}DX hq@j28̗f㸘52X V̘䂪Sá"y;)FoW2gtLvT2bz!(ym)P;= nr lztn 0_ARÛ궥zLOr\ C$0 \j=RR~I/ msp<@ڛyA 5x筲n;鍾-*J6HR <˕LRKwsbw\^fxs Dg|;*!6~'6 s›Uؐ,7Xl:}pB DO=cjHv)#YtyU߈)IXa{`uvpH6AA135ie?W{DDK,/ cp&߃5 vϘd8^PIsx^+*o+^p/?",?# Əԯ@X/ǿʙ݀D j*(lDS^TpvRk"".^Xcb?b~AE_0ʆŒ ɯ""^Z / ߍ &_Шfvg10| NF~@#RRK-Wo9)L(*1Kۻv?,BC_Jl'۬6ڕSPN+opݞ*Fz|F'.lr*|Zw(Ùc'"ɸԛ|ϾI1fLur[o{Nbڞ꿹@zٝU},+1j|6#gwYf^>ZX^Js-EF4/{D~нkME./c\TTi/4^q+j*wNJX,0Jvt^#{io[G 3 1:,diˁj?keCP%>OD\K v^CTSJzYjBLpd˼G,z؆ P9wXH4Ci8JT"# /&p^)9tg ?ѺaYB$1r3@`L鉅[L~A E%_Ѻ"Nj>$O<4 yY:)E݀MLp Њ4;I;v_44_^g.ukl)b!v~R;eѨԸ~MHh>Ԣp{Ӎæ0O@'8~*/AW ޫc; [M`6l`Q1](<<0oWQ҇[&Audy:h)v8==2)5!jaBT//*vdlt'e({D'F5v-Yۛ#]`CY.{wo Gj*]Z8m?^W˞<5nQ(KPy]N1k\iQ6`‚G)e_ĄL8~l=^!B ˇHrMv~EL1|WՇ&܌ =sgcUNk=|WEY'ٗ~ߨ] OF\GI_t~rr /F,ַ)Tl_ \*}kXrhɬ?M(w*g}Iv&PQGFoG*:''Y'qI>h!6ؙQ2h߀]v0Ӓ8oRKDv UТ}#ЮwࣲrM0ry!KuhQ'GѸ(9'146}A'RROkg!V}Kzo Q,5o^>C>[ڞW{F)ZۍnV-;$+06vQ\J{8'Կw~##+;H= 3 xک9Q-2vG3~kvN59to_:MS' `PEjv ?~BSȩ8D-q*(wJ +^oz8 iP,D ~qZ Wg_P8R$du:pzw>r?Y>r`oŁ؞qXߵC6oW> .W6"//ħQF,OR@a{Ȩ"Ns`֬i 4y*"MGK>ĥnjX21TBѼ9J0bܶռ@$4H,@wy(1AyyP5Das=t>R-P-4IKָ~'(O`+X©p,Lcq*tl7Qx]r˂)v6T=lNQ̿ߨWGyO ȐdƟX~ rN=AtVu%$)uunTYUo0c?;yWYǔрmoP&=׫SӿKy".HDn{9vi|'ѷY]w $ <\`w4n.#śhO@GYma!A,AR dC{'?_jSqLKm˚gB\Vf$Pi;ͨLp["kzx{޳ӺKv>:uH9A;1#U:XljG,1<U`uk#f$2wL%秌O_[_\t [7VoDuH:ՊD z &Wzf~ȕy RG; %2DrOxS2̲h:tNsiCV V3O s<(V#􅚒6$rCX <Β7};c4KJVM'D x"+hsulqګC8n8|ZO:;5x7ߨHnC:?St->돆$INNKS@ =j3$Ѭj 7i KW,O܈p*VT] *rjz $ 눒AH.Hn 4CWmT\N\ʐ xԜQ>~N /zw;Pw|/&6"h:B AA)XəuLJ~ax pֶT;*F4i+23$'_gWf TFRG^B`}XtrVrp"¯9zI3y%W(z{pE+፺J6ds]`aȻk 忊_4k+_EZ޶u58GV ڏoXxcXW*k!㷼lRǯ W^)5P)h}A/}NlHvb"7 /rLN{9=idz몥 t c\*O6)R9թ9HƉ}$`iRkPqt?zVςH~5RvҎQ%x#o̳_\v %KG &owya.]E}ogh#F&9b v܈:DR1O 6=_tW |<2^C+\ NSDGwaֵ%ھ7`ŧd6r@U2Fjz N @Qp "a\irѱ%͟C,l8Ыi AVV,*Yё}02wr5`hq8M 3W:hFYW߄A$(F9G^bn~i΋<=7PO:?Eō ?5nkSez +A[I5W }ʷ_ &*@'v;3Uy!^45t!8eƕABx;h7tȀJEtv?诙S;<@z$2adI0Qo8:3 G)Zp5V+;)q)[|b0eVn8n"5ːjN|d=lăq8q$OjC'8G1^ޅ%鍌MX_^ac|6Νֹzij=K%4t 6 V hR29- |lfP?e`4N5G:FJK;O_}4+v"xMED,iwL$_Kβ䘽!=IoVRn zk[I7'E枫q*I"[aikz;W@S䙤tMdaO&k-N5z^IXf;^yPJ0{#oZIfӽ&$ ODC\Rߛ{SPM>ggqi"Z+S5~圤ޢ| ђ %q>shFES_ dER=`xb3nc}~J>i~^=l nxƚ})S%ek;fCɫߌd~ʣ%]Dr.IGkܢx<,<̈+%g :I)2|L^ljB- JO𓸩W"Mkykʼn/td2Fdtb"aLjfh<Y 3j8 Z4~Q(`Ť.h`X 'xEL2$lx!V :/~.V#5Mڡ]dݖRC!J@uisCw0?4&kfOnI)-.^E-M "! ~&*Ӑ T֒-;3,ҖݤR-PJRuhd09=Җ{KG@D[v&'@Ȭ`|||9~=O%jqaSLd8Tq ]<̕Z;y6fWӆ ARzu,A<o*,qfNrɍF< b!mFZC!4' G$ Ze=WHnbA`tm{>ȻM"0Tˮ|3.X H'o衭esnՏz@*-CD|\F3}^`0lnSW'4W˸RdOq޿Oo+ŒٟG&uyǚP߹/=c Abn-;4`0Hb׋COgz :=/3LyVǞE}xls y^Ox {V6dUG#,ԭ;<|1jN2\C8^SQNXnΊIk4gbgnIRvʾU.-~dc z<^{n[E4GHy<>eKӮ<{_cBnA(2l"n0~ IQ<۟B%=/?vŴ)h{`nV%Q;A\@ViKH:)S* "Nҏ_rN;|h0'QBl, Qg`j #|bP^26R2y#87@wa箹FFt[Br8験2poe3^tzrĒ֔IQlc},ӒHٯR5zRZ_ A#574wP !Ņ@u3JyP36#6''fW@C$1{iۇ&ToMDZ~>pp0}15ڸ ".Ymog ۏfO$?3oPJWOCQ ¸VW81!15_FCTiш[1zIqI:.I7-Xm\cT'+ =wVppZM}?QיtaԖԅfM=!CU >I{Bj " x3㶿JK L2~aoԗQ4|!P ոE u,dtc YLN\mMe ; b6Abh.˻r7gEF; T؞Z8Ĩ/Ͱ|"'"gC5-hxPS n`i_?g7xU> xjL$HοƄ!hAo( ,X_)b9;~=ٝH,8xyNC]f1UӚ(\]3OL7,{m(QtXP'o%oPߺK렁nCR/W2/gm8/BcVM]̟:Ι /|7g<'[W-t2ʾC|a}vnAE!n:="7?7GKݻͭe̛Enh9Ifsѓy0'Hֿ}# >xMS qR<c%f%2 R$q+`EB-C0:dJ,E 'j:ԓs'B k j- [e')W:.K5ϐW/j[5zAA !#s)~KG@!UȰ5#I| w73fbЯyy]C"Q3M+X\8xap=>1ܯ5H#䢩$m`B]*z$ h ]]aHUfNCT|R =)l;=XC@<p[rgx߇nLxs=DA<}P=}ui=q۸KvV %WeܳB#b$zaAZjJ͉P TRs־@6f<-~Z'$ylF1VS;艗I̬wj?& Ŀ$AGve@ACt{,Gm+'r^U!uX< Aj 1OI/sM5~F)5IElmIOb5<`_. _X^ab 3CZaBTM#/n/P4D,fOtEpb&ۦ-4l,hXMЦiNyKJ>ցs?)`c4>ڭjgnd/A7n}SsX;'+~ ͻ) Ǘ5ҼgNf`sdaBBpԜ_ΚFۏ ?h7=4d` _J%N7Phr`q{`<*ʹ@3P |,M>^Ⱦ4y#ϝ%/C{Yc3_%Kթ&X6\@/GX!Ļ.Źr*-"S,O|H P 9sU#c2k.N-lODUBºTL.nZF5Pp;DOtlZIgŕI4mOc- OyPl; {I+oIc,9sEt,N 37]?pӔ_+)d?PuTq %Ԙ}%˘4H&].^DҢ"A/iW~j_aR๕kD!lj2ˆ˜yԝ 'R#6)q7qj.akr='UOT ^ӿbՃ-<ݸ1 ¾A Oj3.FIN9#9OH0`޵'[jZ7A-:0)5X+T_a^_dEh^I $0~ڹ{`- _ν(4mj`W$D[CiB[17&Q ng~OH~v/XOoe}b=ʗ>ܛ;pPlbLJA#l<İ 6CARfW>N\:9We[qƊ:Ȃy7; #h#'#)r\'44`K/,<6Bׅi Z~3"xZlJ^=ݧ0"K:+$ՒS3֏R|v 39 Km;q@ GbS/LR5A[:uziK +?Rb;pY 1:iub3W+{Cr!SA ׬k}։13-(]ٝBbUˣV ~}|COD=GD7NzY#>L_X$/Z ~ )oI3#j+܈V9/@ -Mg "3{wHw`n^D>#Us1oIDFH'XwEz>3fP̒1ĺq+è5'A9D5wps56҃FZ}E~T,g$yijc]?w4I A 'ùQi\I4ozo[]GW8"*b +E*1AZ?bj9&Gg~;q:e1 \Ya?/NӇS"UO(+;d`0x*s) i,{fF}XMnNեWxA.VhFivJ#W#T&pDWm`a VIVS' % A O^e*?HnG Vݕ 5O8 !׺ [}KIJta)xVwK ͹)hy`T|y>~P3T] ?q+]t!cS{mFޙt+ AnQ:ѹO0cfB1 GfaDjONL嗽0cVcs4pxDZf?H0v?qY$ /]~ -;A@3'2 Bos{՜onV0ޤ\b4IS =Z8nX1XK(yׅWu;il&dql{ָҒ ''' s,p4Q~26Kw$6q ̙<Ω5Bs %2=Nv9=&Q(Qߙ-Bd p1^^)3*Ȉ^A#9xhËH@t} jvf%$mFK,#/ )'^Չi.|'|ؾG2aS/t,pGmD=gV>1]Ջ@K1FֶsKc2zt|ܧ>c9q;h {5 GPQI~DW" 2q.iO&|8E<*:{7{2'ͷ21aIgҺc;rţnx|@d\Y1!LT @d75>r6M0׽/=mzn焀DƷ JD?=v?u-[4k\bM@e=i+>` EV~X,DiJݨװʲzBzȭQ7=@&2͇!=I6g9OAXBLP8W?|ztXaV z8GnE#lArdk _hSVWF*SufעGki1"OXně#4h!KkRVz>hFj+g 1(@B"Í ͑޻Jvf`-v#B N['Pb>p\=SyŗG4gTSִM3ZB]\<{z5Bͬיĸz-'GKޅ"}`( ʒ"䇵L [dy3F)7}O*-k(˘Q"TJTnP^P|r'/47AQ\6`kD"<AKr[^UJg`"[/2~A ҫ{E7hņ.LH9omUhLax"xTVMEãY[ H'{A/~S5ǸwЭ![o`hn4MZl)RQ4p85qSrFV|}}Y@xRQ9n._zb!mĈ]kscc=* Ʒ1^ȑ^sC`uΫjqzFCb N"[79ME,y0a"pslj]/~;ϑ`V6pg'HT^Is;J'AvIOlC] !z7p*8p$ǫJ>!#d)f7O5O| zRCk~ÜyHhA*XTX)(\1Y';G@`NFV(ܘ#h0fL[#nhVG3/ֈOF%u^Zj926Zj 3glIyKXxZZI7𳆝0I:ΔF(po1`԰1o #W '0vnʺ8׭ 3n(AОB9L)0CO2讴i>H|S PN=O.c_qpڥBTצjK@#CpTr &X (jha#cػ6 J+v"@TG J>A ?9c 5 nPu*"E(*EZEEZ-,ciwk<>V9}?Z7ٛ$M`rО"舐@KrVŁ;D6U܆nmӃټ48r+ 7tѻ *n{A5x=*lsKvwxBO'@\U槰-O!*.;`_8_}Ru]%ʱ `uPr0 /# & Pe@تlG?0h9LF m#;~X CĹMKCxPWtk934~Z7p|z#^@29K%|Pnw{Љ=y P3h%LP-eC4@AL'Є KJXH ~ͬ"Ä::? ]򧔒 [@p&smU72'Lj—ufr(DN) `hA +%>_vܦ+[27Nׄ0H>w?Y'8wү'eS$+Tˠjvay4$W GnV*?m -XĿA_YHdkѝևCI`|G/Z'zP9}nx߱NIUX~$~@9*gtr< a ks}z?K24W^ L^cB*&.PK3,*6ܤS vW|pxD"~|2h$[<89=U,XO (=p$Hbi"ff iS1"$Kq?|k\i:PvjN.prVqgh vAcEg呗ik6s[F`CI-\Ja$(ʜ5|W&sF.&cCS82}F/*o~/* cEP֝m )Dd|F*Mp88h3cxẂfLg L_Zņ4`˘eD^ wlrB[ ]Co[=;I۸E y<1z"ag4(%3:=34e'Ϭ0Pݑ y.bٶ+7RW]/$㸹{w0k<2YJ5b ƀ)̟9V6sk2M[af*75TAQjAg.z NQBNɳ$ӺhAt-qn+\heyK[?HUP& 94⭟WFr<<҈bh;yXLXh0atE/m0iߊ_ &o ~7Gg`XPQ 7lJI@r #kK \$  Zhg@M'XwՄN2GMLiA͔X~w"H&N/_^6ڗŒ 3P>e.~QZ.iꊖͮ0]M53&X:3Lɺ6}_) \=,؇TýS\ԛLTi}}29Sѳ q )SQ$ګ[`v/ZKDBc5#00VƉ[>׏gFQ&4m1CSYfGnxg;߆>_#`m;)F|[a#L&)MASU=J<))=N Ȉ,\pp*A a#džC"a{; !*5W^\SKhsk^ Z.)LΈ)D3miZ4Zpt<>J6z3LsKۜjl3%Aa YU,HbBU' +-c"0CQ"gThpDcwΛ#^X{̞UgIW<Jw?iOrA:li—ܼ8OdM8g;`( :BQҕ9  xS 11;ڈ-{Cֆgqy6ʍ=?oT_dA|+|:pVJjyʟzV :VH4Y+*ͧhH3PO7{GXL lW 1VcqQWE,!R|nE2 Ճ\95uOO ej=سK6AVTjyͿte0,_)3;Ry+mLKrpK )Q3=p<<o$/!)Fn;PNFD@6h?}$ 3r"R'9!)vp={X)!jKŜw6U[%F pdQ<;p>X$sTT ~ ]og;WzvpukI17+}CzvÖ#L N~d|d42/&֥?މHד4zrGyHz"QMDP3⁍׻o(9(Fݨp*EI3r%VN ,;6jfvĽx\V(LA#VUz^Z$ S="''J8`*}"m1sA3{q{A=Q!O`(񰿰mne|k???e~0fUJۈ@`z$mCFw-v~v^uM4J$ Hz֒q?M?T=mDΆ%󋉭dUj'Vkُʺ H[/oBɬғo kXa< Ȯҁr/q3A }KلFR J' >^2_lR2 _u*#[K"j8 "4|O3+^C`N`LavX'b݅?rJ|gp&Cgmnuz9uT5[ajv[QA[MЌEY+m{&9\DbpY,Fa"g(. ^!%r^e8?|~K2t+*/1f}#*s`ᯗ;P"@}<,dgf(':{ɣࢤY&2h, "5 AŕIf ҞƲwᰟEcVQbz ̎I^eV RսO+TjzT'A<xt )S$aR8Vin:db1t n'CFwQjaqQ{pI&{&=2\Ȕ{3~õ뙭e,m+ԮQjWۧ'Yfs*d#0i:#_Ѯ z#q˼;\#tL`VCyd(SCa6ln0{T4s`C"ٿgTl$V1Ϛ!v7T10q<3$B|kk1%9ذڧ 9qAHm.##@RЫܜyb-Sv4h3h)~rC;$A`A$ΟU%H >i> ^X^m:@TAO%Q75 _2*=nﵕRqƐxZ&ܬ.KX`y7G@a4;  hqkiz%\@3;J_Wx%ut͙`3KOM b|S* +&Ȅ*cE>8'ʋ Dbɰ*Xk5YR- Q@9Uk5q X&x˘Fb-$ 26?} ge 7×nz5Rh iZz!"DUflYw>zЂ1oBF/D6 @̢ĸ#aZIE;'4I*¾H|qNSl]ٌ@(XlNs618"<𻣠ͧO- 'U3z gڞn;"$3>uJpV&)lsGrJC XUQ^>34ch?!fԁKPo{(QRv`]YH29[Cl9Vt+8=^b7]u1mQ*)$rNҼ˖fCUUANi_p~4ڿg5ٙ}v\< oHV/|'7T`J؇aCڛpNC$XүJu\"B*YntSLiVsq7|,aR%.&8(A E7D̂H_6sohgIba̓5'd,8;W&=㛹 B wO = [ϻt4MƸt/'Q/Iq= ݕ40hl^ Ҵh4IP>oW}5O:iߢhOF%|DO{1;8"XO&PC RG>v$^ yƬFVL!e(9+axk[ױ}r@B#wP}I`1xݪL XVA{6orypKMr)E:9 1'l 1t謏Kԃ6GtL=-_td#XtQYtD2L,x}f\Nxd;I,bXJc"hKP#Z" úvݐ(Áq?V0?#rwTYK'%PaNqYڏmD2l$oSe}| g%y Npd2Z6AX2;|mdd/PCyG#1(Lax۷>,ZhEFؿ7#NsKsIІGE83[b:q,DQqňGgΞkp#ќ?Jh'Sj? E#)>qrWȟaheC_d*),8<`ƣ#ET'}8t1Mzه Z9O@ %`H{Oq!uˡ%v_/N鯦z%Y)U$Q4pG,"=UOWH 6pbpT]P-@r6Od(%x.+ے 'ol!y]nl-O˓X0/$FCxKיh*LBTɭBK*f+&UBD4 Ǘb[Xԟ0a%w!.e%;"vWV`}+v JݾЂ*_]Ob)ԌE Y{!xZX[CF`nXV1*46]S;@T0jaD n.Nx̮:pe@j"k `Jcn=GҗS[vf=̶3AM byȠK*_"]lh Gޖ))kQ,hUuHyShKXB Mia8gZ̬dtdLaV)< dTl5=dpNRtFd[jemBҖ V1AϏ_2ۋT2:8:wє\ޠoRi'0mו\qf]X u.3|1w䭍X}m (ٱL,vb2 (١r%[b9BzNi]k1A޾+BLzkP2?,rUO?gCn A$g13vWP2J4XӽTژQj) e=^E"P)XM D]RRd~7Xzkw IA miA&5R:*JX} EBwnx՞a@!$7A6AMGFB)p/۷ Ј:_i>D*JΧItZ]vl<1(h,/, FFɁ,pL9_=-2MJFz~n+Yj eVx>T}A̺C ^rPvrFbwHwXQDbBXm aq\]dќ}Dwd\V\} 2vO k=ˤzOz./x1Ͱ$'&31)`4&+d#X@iD'SLD*l3 .*3#"䗣];5^b)Ai'YUNAqO沃B 6ة !(,%Df~(Iխ;25)(% b2zաNv$TCr`nG1j)=eAsƃ/` iAXSc G{$sg_O5'kb/nFQMzf)ڹ~AɓGnT߸ BgGB|TX_k)'`ߠ miBxi/T@%( _P yޅ,FTx,?{\]y5Ť:b<]x6lg x)rt?d<hƋ~&Z:%<ɠ"Sy#Xov7KYN?2~$oG2 T.2?0_,iTSIw H N%Th J!uŪȊt|CN7HW'-'J=$EZY'Ng6sc}O=[7H>EK7ѲeSLurdH1RWi6>f>*XSY7xF07Vbs6: 7{ÙQ hnlC ¡yu!,UT'as`߼fMat{]Ó,Wb(|\6:QةY6 ZB^rFK9T:0ZbchM/K[n(nBghʑ5 9`oW./wPu8ܳOTڅoɢroEčC,A2PtcnbVLP@MIhInؗ{FX8VK^HɽB)Bi W5`k1GуcSIhەE<_6~ZUғ8FI4bGXCK X{xH ـז5[?!&vS$61WHVqe(&qJ8gḊ> 2y"C`BrG%21+Sj{ ZC zh×GWCr\~.D2SbTY2>g87UnP~e7׮$awU# U<ޮCycz΢5 CwL1k&xNd .ZtHȚyT`XSԳid[rH끟 2" `Ыy%k"$i=Y_Ix9) A9Fj '%d=k(Ďc4<<੅" ScNOh >0ϧN[G00720Ҿ+Ϩ)  :;vn qb]_mV цQ/-D>G+9~jˌ@YrŖX:+X?!;Q.ch}ah}% P`rcY'S0L&_p8=wC͉,s.=䅛;\v6HE ᜜?vCE?/d;deiJ{r!_@ҡ?DA Q5H) 5+b^V,dQz C;wi|/ڮΤ2F%OB!+ aE3&u0n$5ڀKRT/הiFjz++/J^0g5P粽D\~[MM CPz9J!vCMM P/ѷ[-= nlt@#ym%* N#ԿZtGlrMҾ4xtj Ox't fDp?ݛ/To˙F{i;kճ\99uW"gxyqbxD t2GKGthnAǺ8hI5 Wpag_a+, 3bH-4`"i5;zΎj3[ԇR14)8!qޅ(X]DM 3?+2 %a-O\oAv쳹)!#|@<! r)55a&.귑HqY1 4|GN݆b:yi e~/-EHo- BJW$3} Vт@'- 5 i㎶I`D[Z2)4q@f <̟b̅A団3hX9SG/6s<w,i2į:p:Bke<М` g[l7?̛G'Hvz X9k5h}LN~sG'NSW,DRO'uh}d9k#ox_ɦJKfTX]|t9!=DțrLHl0N ߞ[ȑ0 ]684잲Sjos4#X?PqyA3׻<>Zp\𠭟9l)\=Ota\pb3QxEVx nHK㉦J_vrZ.5%+ Q)^ٶ[5ۣk28uo;5Af,L ?AzX{1Pf+m=J'L^]_ !^Jg/Z„Vvɤ\$,ٸUKgA Tȶ8Iso:x;H"cP~j|{$ʃ*}'U[5 -eB92D7+V}On;X%dWpGPpQ@*1c#w,Jp51ytޕ`AXG}_D/hy,v#(xuBk"ucuLs,B8ݍڼ(tO?pA;3npzQ ͦKrz[%55lV!i"# t8 O1^MR\R%X*5瘻?j\+|[Mۭv)i)l!pH"yt R0#}G wq 4'M8`+&RF=k jvF  FmpK,HLMyQ|lNii\mϡ&0XOy]JЈq|L !/ٍ,W1"Ud Z8Iakʲv B9`F>*|,I.]O5Av+xDv8PFn[}nvv@U06JLc̻BN8!7o 5hvLaJtK)ۜBA|ѪN[D̀$tMhS |`lYJ.%b3M5U/ޅ(}gMX> O2VAݵ7ە/[|4힓J(q_(zJ`V:&'b X7Jg[֢:A$f+w 9O 8NjT{qnQ vv|W?D%,03Ӓ|٭c$9F@T/=2 N@P/B7s]W$?cU~̨Gc@9/ppr -oTeQnJ4*ŝjNI[à>Ǣ#"M)}\:@X C9c4FBn[U5cpӿK5v#.K i>ȧq33cl7֪V" h arZko)CO70y;zğt.L02-8`_,Hs vj8ˑeʁ,Bjqe[\ڔ,f8H;ũ㧄z x 8nVol ޥJ괡bڄhI$oln5oQE6/]!p~Lvɒ#Ye!zq|2H5Kҕ wAw$>{^ZOGxƐUszUpF`gK!V1&ق 5MH/{x5j zdQh# (#ž-*eX Q:܆Y%:eFŚU XkEAZ*[ IS#5UU ʂʂL,ڰSp5i@ ^N)Akʼkry7g?:e(x"E'!ߋ0=TFͻ+c̴ynldܕǗ}C0~psA>z3p+N|*cQj$P3p єƼgfyxLOjzA[4\Y1|\X ՓnФӅy>Am^{=>5j>;˸E$GxrwWv=a> Z^PC#v\`ڀ槪D cL}wh {Vx'De {¬%17QdZ,fNJ֕myP9Մbb'x}q)&) zmRI]2Q,͈5u}C3Z׍7ʉ<]Q/zN8ԂY6~uu0R&aG2w΄TBq$8| *B~DDSyZ_ȠcWӞV]0l@c By/%fU2EMRE?e1˧VLO KqHSCD& Q^7y6Uu"yΙ+ )9Y|Ch2x4Nb\u/eaԶ궽cCr@5T@Hk ͓Yt[9 Pa^ SH([ |1cT{BtmWg݂Mf J0 ,9gFKbwt ܓ| ][.Z9OmTJ)@@{ bg h{nyܙLc . [Ej! Rçk`5.Q>%'p4Gȯ{.KMztA7Wݡv|N1C̊У=-H_V:g%5 `mX4 p'T@=쮉y]RFq{UǠ^zU`bxI!5xC5ߴvOe${% ebs>Q9mct7War  B l1 XFMD@M/ۡ2SHᣯr>fy_ߟ¾oО-@ Q`"§ N^0ziG n |* an 60|O}wGbrULw *%}(#WrS\AoFaO[X5_pwt:r9]N \mN>s"(&EЇ[wձ& ljTfU%: l^Yf+OŴ3tГi|(A{:f藣WB4WG`0BqmEz//] vcT#1 ig0C{ciܓ`0y$8_5/ z8a:qQ8C[K'B*3#(hڞ@;QxY!6'Yѣ,2'BՍUOTm '.**ğHKl%PN!SUmޚo1.czvS/G+9'lm0qZOM<9׳DJQfA  ;5pСRb:WwQԞUyI5g%A;DDHf c3OQ ݭ2dO2\cMYMoM8hWKC,(Un"ԽHAGy@7YN2ݛ=91 ШNpbM{tqw70e19/;Ѩ嚯%㐬4ݽh NK6fބVO|W"$?q3宎h]V.w,pTjvޝen0X8m%Y٬U5^O 殹~|a9pZAFh{xlARQĴߊ}q:e$D#_5k ǻwyYͻƷ ;)~iWC2ƶ\}μ957C 95i?{cKǺ^rHt!)c@CЯJ)ރ\Q[]a|ʅR I*RϬQX0` 01`\Tpr ogH-0V ?#ZNkjc׸%~bH~,35V׃#d`*)axE2,?UِR_P 0oׯ^, {Jcɾ{tި iD4L^xeQu}]+į]JaBb;/t˞lCֿ.qIU ^#*^k: 4kcTD舯 vا!np4 uiy'6_>2sPe`c:$/FB7b94smhzl hHOAOn١VZܭ*(>9y<ύ) eD%F.Bp(ye=kĆuǥ;8m:Iz`(=(] 8>BĔ8xmԄ:EWǏ9y].v2%k;C efeE)K [ԦG TWY9c^")!fi;[˜=6ps\})w}T3nЯvdyxV+3dNixl;c .m!*v^=SbE.Eڱy[Q$ >fNпJ9 23az?#Hm~ܼ!<3hV<'ƣ$m8]}Ƭ 7Sj+5Och$ w')SMvi`PI ,'tv1.3>z@ 0|<浼1vT(Y; 5 2 h6"{*"iN{ [s-*`%;)cD]Ogq}7scE6Mw'A`%*dr>Iہ* $CZI'Ίet,]= 2RWPJȘKsax57`@+`6e A:EC4Ӎ\ ;iQZbO0GĂU+3{̈́m~Qm6 f@鵺RL4#{4c)aп{7^E/3-e>|YrpF@KDʃnNwmY`L^sK4O tI[̅:_=cg=YU''=gn6YXp `vzTyG7*cG?f Ev`ktM*ilgv҂-=wEPa5"8/)"=E F`n w0ngWp%G9~@-Ž Dǰ+GJ+ͨ8{&G6`1 aw¡yA*?a+twB|To"Sks,ōa ks ([3ȷ!6$TC@WEuAI kx7 QVW `L.Cb`Ȅe^WB'VbWG'Cs߉G:o= qi>ݲ"3O<͝5  PJGbL*ݰ~7wxQX^8:\X_P`ȈPABCQ$fAGv0aUk تB9ʓI[2Rm:O8!~-e՞7YxOq:][Z/$o`*^oG7"TT OB囯:G존pcri_w[f%!ea"eyy/wO@鮜?~PCMJsJJ* ]Tvɷi-9´( ͛+JWW4 R _YcH 08 7|Кל%{}ɥpU' جsx({wPLwdz`>!`ǩ=({Ni*Y7i4Ag« 2Z# Q9,yUCU(v24lw_,.J]y%rnwt~0ԻMҶ M~n{\gFkq.E[Crx0f+ftPȲ.[ٱy<CnD~F* eطNWZQ{yȞ[05^,4g*ַ0ɜ4?Ϲ0j3zʥp1 kY-ǚ9nXRNX-mzB, |MMMMt^ C*l!?]kafKx/hT{9հy + U0`a7 &+kRVz7 =Aw(\B)x9 \!Ous}˓!R~8q aWg5$N`rq%ٟy= .)sSgmFB=2.zſW-|K{ݒ_t~43>Y6F A԰dBx=ihsB8ӥQz͗\9m@`{$Mqަ4zj$%CC5 g$q,țd|\S_ꁹ5~C'$Ϛ@#0v$8\6~3q Ypz8-mz Vx $nE{nN&(!!A7Mˋ'Yk<^ZrSB:OPs iLtmi:F2yc/3icN di*HPĄjϥl п9Gסٱ&lc݄-N=q6U4&zLi=npb1"LMsk}AG[yu"u&fMa6NfZDWb" 3b0N 2ŞPA qdza<8m R2ۤlQ`ю5*)`RWLݗ*D)BծH4X)of:C̭q`,P_c#ٕOUF0"(IN-Hآ^uvlZ6E][Ąi~fr LO`,PݙDcgV1}@sY}z%% 7TSwzte3&C ҶŇ>>sƥ>fR|wDt`iq:g1XoCSXy;P)`D>´_")'b-´ )>0_88i>` +Q.=FE@y?(ϟs؞(Mvfg O#XMy&C.9q5c8ies P} 66EwK&<#6(39V NAuP3N1oXSg&1 EOBj8o6voԦ)VMQb.^=)Rsqa.<^g\s\MDDž-'L/mr^C7b-J>BDehNh|0==~V;Й}+\ rȜw`h5H;q`F_=R>F|]@mĮk$G)"dLӸ@F{.yhP;ȠcP^b"ָӚP *yBÂRf(fGqK1?Pg1|C8TZ:hʼnm B-1 I[xWVQ6ڮ6X+s. @eJM jؚ01>)*ݲjҞQҫLęXC+D]C  6ugD7cwgY2UJ@q ^ \n5E2ȋ^ϯC2"JyUE7'er:S銜~|e'UfL@1 FyO“8rZfWܻ6K]DK!rv15 :zN`D]\:K˩O1: GeFAb֥>24(W}67%/RMR2/4 Ȱ<xl-TӠR { GʙII\P1Cjzp' oT3V!核Kɇ,}qZU/AH}ؾTj#559(<oZ.}QϼR 0RMӛz 8.c֯71z?wm=^"bӒp܄ԵGz9ZYc O2wQd!>@NZ-:q[߲|QLҷ]6Dp>\>5܂Y?Wx6*:sc f_UA e*btX+LyH 1.SC'5XTrx_9(nVup")a=o;Gv>Wdbų->WKJ*&sPI2+grA0&˷O T/I`9t Y`CV߹.w_ؓԟx{d:ז$JP授{{r"đYJ)ڌ6g>3H`*֒zxYeĺl!3ʠJ8RM/_yu&Vk7oP^fq0yleR嚙4/ ~H>}JStXE]!-w#}FZ?l<7Xmo26+78xk^vVFEo/ۊ>g>hMP:n|GL[Z=ZDE_ l$B/x.Z/3 #7"+mxm{ŊoD-YlIakuM:v =f303zZιH,CsZ/[SH2 ̧{acTUbZH\4\-|arA eO 50o4'4Ncla1jфﵶUEX˝EX7d"\ٛQ_$q~E\5ܰAc/䪒|;[//H&*\ O!]P9vHKe 1-&2ŕ@+4kC *g Q-;GR|w*[ֿKH0ͯMl^H -0@Ie)mhpȰU aA6U7۷^K;{y+\E7C6'w" f@kZ8HBff֡";шuX=IKwwBs`SXP@#4/ 0D1s9j66Oa@ Dv>yN%'m{W7:.l}ZHhGvՄ }\I3fg'OFP_;ApȧYh_ |+U, J5lzow~|9àW!in6te|ʃt[| S/ۇ&҈P9zF'# %[@mUy6JMS?P  킓@$-(~"I;Bo?)f()cD1v2WmBT/|i'ˬ'wt1@f /z]- 3MdoaLP 8' rc4A"PKY '#GfݥAj',Z+*_‹ ¸3u`U4S3vmP[2l&'TNtt_9J~9Pdb}#6$Ua J1ƀ'6?5U:?H,hwSLؑ)3=¼u4n' R\}fw䤭Lƙ8vVߤ⛯c:UQO5r m䠜x7ftȘHFO Q2}z]QAlROwĸ4DuNݸ xY>8;{hҀ<ޯv.9b!I`N0E!C(cABC`V/YH1LJઙ$À,5 % KtH2cw1MlIҶPx3MxtD{qfpAxQ%>1N^Npۘ:k*dY~%fCTqnܒQ2o;^:F^v!(X+ԭW+A3K$Ǚ_5_]q1F3Ӟ)XtTH2HdИrߌ얫\H!>rt=Nh?j€㛗2˜g+T~]?mP&%(exl] `]1BN)1O̵꧂!qrz$QF4A^ҳ1cˉvzB*0GU]ρffSP3y KCpo$!U23=]yUzJlp sN-QŸpaSJklJ$c ' ZMhSNL!9zxnsuą ACXLp( g7.r&z&XYfI}]55hc8tB"q[̲M[D4h,,$4r _q~}8_PiNduK<1/I.̌4~Z^Z)Q&r} ~*{k~ѯT3Y.Uy2@lexNk 0g0)=S5$0tJ@6T?Lֈ!ÐEa\i>D0p7]Ngh@齝SD >3 2#Nc?x@Ǐwip%- 9,T <+Y =m/.qa! x 9/~"x+sp7jXx}ǐ]@Ob6z/A:'Lhj/V/ ǝy6ơ} BVc2; nf4^|>I%ʚ'My "!go?4"?Y 怌Sr56*ܙUN ǟ~wB#6|e;Y&T׫8LC3Exd9 f˓@5x\O)A'߂VoW#N:џ*ҰNQyPXJJKL[&?L0q Hy"x?%Zxd9&\yB[l,x|t5_#f˟}uc:d;L6o]m K}XShvd?G ܻdnimXG%,ec} ˠK͖Dp˄aƮo . R+WuTc xV7qa %@x !R7E7jsE2_-g74(#.C6O@ǻXP-puےY9 `ci' ƜԬ'hoQ)+)3/Tl#5'{R Q[*9 *Z;EbX5H/.l؜L[ӻ-MyP0m;n֦Cղ_WWv >)l|o&q%u/6`g5<]}Eā+:J1 :kqZ,rNkNj"XeJqP)᜖QdX̺xT$ׁ?Wg9EPTejEQáhhXj-:$W9zE>:; oy1w|//FKeBV<-y3Y[iZ~d ǁR(ov7V,`z z4})z%wmL"yYnY_t"Ʀ!?Kس#`QcB5a9P;@].P8D2}/_-:fVIR ?iKA$ڞU\rrSsO5HŻ(Qƒ+*k0u<\#3<~vV ;i`NH:N^6~Qz<̝J)"%h/WC)lrb;Ө~ }E;N{anji#&hL )\F. Bwdi/vtߙO!ٹPzº3(hh@tRm9B or"3#74-g ZxOxhdm\/  2Mp˶x "[WkXŏd"h4Q3lddܿz\~XPbdEjXn2%hB(-cIQ_}J#axESvi]4 pƞ:p:clW3a|@$2Y酉WRU@XEY!^.-e >;ߒR>k4i?,&QRV#YzbBTY":鴠CٖzQ}:"9;m98B{a!h3 J5HH0I.mQhcnʈ6/wWoUmoJO#c>z>bsܟ]S(CWIS_}ߵuh`N% =?*s݌DIN5*À q #t(:3 7E*ZZ ~V['0 ,q3i+Q_vU;1D$X2izֳ^w3Ԟ.d1 .p R)/G $~5L7܂KY+P:v?rǟm3=UOzG; /K`@| PvgF=jpg`姪tMq*vOz'pp=loX;C}З#ԎL{rνMFvb=F+c3` h L@?7 bO ןk8:_(ir"9GjrLar'S/S-{wK_LXq,\4Nn*C&UIK̳Mg-+tȆ~\ F(_!͓Rէ89AJyDLWX }Qשq<8\*̂ܔ 9@8 8": ?diE9 C."'QGIGHxo+˃ $#6ɦIc` Hb_`ZFpNvkj8F/o ڷ)K\[TV#03Ik |p $SW jj4jtԜ@~h+]հ!Ad$ #8} yt&oY^p2 WVG<e{H (7'] <:vɔrc3$jؾDHyu |W!VZ.>^CpR8 8A#|HEu+9OHN K"*)Cpsl`=vC"zlR~l8|p *x_\(~(ɟPGD _d֗|,Pq;,ru5ug,|nq&8h~`c1ZGZr<rbE¬>qmq/m0ɂn?F.bg_C W]EXeyoJlaegɽhwp<&AVو.oנei(BݜE38Y![7ەB` Pz:v1&fo([IҾ:?cB2 iՐ| :Iai"C$_=It2{ 8;u\E )BmbpD,YGsHr$ } 霂bWפ%.)B@V$c%EcW>,tU[ yOliݶHsFpLr4N^Z?kjTUe#tuIFֿĿdOؑj>f$<Y,62zѨ#cha%57otE /x|)ǻ]1T&KDQKӻT,[t&=ޤ#Fh%ܘ:K|!3M V5P! { @˶H.19-[ ޅ-kcK'Bor0R~!kK7r8B*+gXJ^oy,DK2gf?YД:9+u%9cS+g\g2*AT4thbnHKeMA [)`K`,/ v,*TIx g0XMj= DzP},d_ewq{? Jp%AArZBɭ` d{]V$QrEQEZ>x)@ z&(g li՛ A?=k?k-bQy9uW(ItD ^e=:[+]cY3~ᦼ=uOR| #}HCQX:-S0¹|}1"儖92~\Č:c-_j@ֻgFg}b[` B_1ʈDlE Cd;bK@LA !m$'1\ \JF)XwόER FQa{ <+'32w?}@VO[M *uN 3y ۯτu60 '&GGM}Ke߫ZYokt]1}\9 GW/گԏf'# ӾkH%Q&er އm]+']kz )UQI 1eEzND9mFpF 2g7 (zRUQGqDJ3#vRtȔ!JkrE8HS\#E+)= "Ў,*~Fh4gK`X{#fPӰF%*~8$ADmy ɓf3m+iQU] kRΘ`W;)^yZ09 k 5{}581T SUbrhf <`pp.ߜLoT%k?A954Иg'TAOpoF9P,GX\8bpr+ L9DZHg ǚf7 5wN}ƒ|m"1h`+n6疬d#hw<=W^f,6Oy9.$VeoclhwJe*~t*ĵ ͏nY^:68m@`$ݽVmf@gnО݆_Ësy deOM1k5T"n4B~[ismctxq8E|nvi]i֘q~_ }Nk"7<$E@̛~.׃7®#2Y!5dBiUVC3W=F !ٯ5 Nee]ҏÿȌջ΁lMd6d̻!0_Գ&.nՆ)f_:z;YuV34*^s| K*4]7=_*Iqm3'h$N/nBWo[h 1J=zpK8Wq$ЭnK3 CX@B@ȉ `TaB@싒(dN_ૈbMRK]=DD0"_ pH B^9Vi6"=-=8rbr,txm1<+gdKH'Ĝ5 LKpx'm׭gifIB?`;XO8>Hi!d"Ǩڳ-`K}~A^);8߰N=SsavCĆa;{0LR(i.%3f(ܔ}ӜLɲݻX19`Q,@G~4 &lн`9H$2M2)< h?|BbH=㪒SK.7ퟟf:|q ARѶfw2݆5iyG3F}VToUٚ^n0GnM@¥poN$w$ LוLF1|k:Nom_x#Pu&3%\TQu$'}nPH` 8QW>h*Whͻ*}sv8 2O9mF=x1Ue|f`ⴑbLzq{"RA|QN9T-2>pwzݢ8~BF,ؤȢЬ[R5!{b^}AKK\1W򝳃b8Ƕv6kRLph U;5WK[]T'h\R{܂)0E: d! n9^69"d6z|ΞRzǠ5},NT ewǤW*7iuh8?6Ko؉5v:,dv:Ѥ ʹnRF\AԞQ8OYҚ L?U8nefa^ezHYnƥd{CN$=RO dH#ݵTK#!A^/g=j[VF sl !$ם+@ܘA2΁b~FN/M-KDCldю8, >wWEl.'re@y^nE @eӲTy+F>gd,@H+[)NTK)ܔy;1q,ѷ¥f^90@C֑ß Cl/J;lo[ZsZ.( Dܟhpb yd0owA!Oa3z=M&n2H _!u*lgv){b.uIiT;^ڗt~"7K(󉲦̢fFm/DC0+N$`1yl]6K5J$=ܶQa⹫ B0[Re| Um݁.`5L"ID|Y5!>۠]$:Oip{L8X!@yu6m}pQ bz%)ȎC= u.Nݮdӯ iEbhlYISvW&54 D[PAלE44mi9j=L F8ሏ1>[lf9$7 /Gk0wi{JSIt^=qm[&]:.a o^I8=>kZNw&z4]K#@gOCW< 9zap|cq/rg{lIRal%li$Bγ|-m *t[A ņxE;>Yj3ڸ/x{ tG)FoG࡯'ZKdfW Ouy0"M)Ⲣ%GG1/`0*z:;ܤM۽e(H [3U^LfxH.O~phPJ3@~GtOtS'vJ",ͬ᎝WAiRl6hlWk  w~umV-b f9L-"HԵe>3%Qw!**\AM^7M)^e6Lot@p˲T~ Ơh4gmDHMWȦP"O`\I3/B<̍@(V XIO66ٱ0m2sIF _؋<^xS:aҠ˽DQ8=f-gY$dh@v&^Y/r7>[?ϊ&Åč,BBb_#$f%qnM0vJȢw/Zpxդ@Ue 0hE.̯:x^=11? De]Mp7}İKfYpZ?s %gΟOVCuH=Affdݫ^o7-ZҸ1e K xL%i>蕇QF6\(!Y- .b@H <7[uӋDŗROnWWyZE'| oo\1.Ϝ<: G&=[e%9}ՀG -[.*XKK3t3aALwP~8ҕ94qҽ=λBݓݠgOLa}ei1=4,|64Й(ZlX`uF&KW 7B[%dzl:?;8E|p]56 b&}DvިOQZ߬?3e7RL{%9y>UhP X~,Qpm|6gY A{; dhABm%Z`In(GK'OsmSwhUDZY;(tꊔ!T$x܏ ĿyW_ MٜW}נ'9 A6..YpqٔmB>P( 5bK>AESOT #ҿ~W&Wa5CCS;R?__QB C ̂bw WhD ?;rj;eG˓t@$1bmu8 A~5-V2/KϿ ޤ Z\֜}FvP_^w+x__nh6vTɴ w7=!LbC9H([nǾ$ɱG(G΂bL&@n9i7ܺ_?0ʝ׉tP1Ti,\4^!ON{ѿvRVҸClHIs9 H"VƱMe#|A\t*;RbߺVs$*c'uA GUzzɻWspoBk|U(8/|V.q[5]uH۾[X2^źJ[_*ΟH46,h*{`*~}A6hIhTlBӠ5-_"BI-wXI}[~sSFPfe| λ!Rx&W1 : ̞;t (TVHȫ(PP E+J+TV\T"|sg@ڛJay弭XI0jFFӌKȫ(PMs5 +U(~} =؍',ymEcJ-I#N-Z5MU lۀн/\"ǚ"Dw>T8ătKN!`qnk<ZElZu!pBV4ՑPR#50[OGm~ɠu{jn Q.T ,s2IvQ%oQ(M8BVa `A1,CrU XeEHM#};'@dpb9gpPsJweseqTq}WǔAKwTO<+mU1 5ˁqgZ! 9;բR4F %6~/CݦF_X4`UNӔ;DG|ü;H-R7 ul%V-P V%Qk4s:2_*k_لOm. ;Xa&qaU]WhNuV\;M$ ^Z߇In7i*ſn|[«j}O[hnI>v֘2PD H 6ج+X0Ez{STS/xMX?3$=)p#lhN=V唊+F=J}oQj>1B;aDn/= )F7%m+YYZGьӕ i-'i>NuI]NcUWa`<+9S c(AB 7GDlGTRĻN=z68kN90 R>vm.Ǡ,x <#A4U R]d*6> ǣ`1ĭpߓ rHl^Ad'a M-G@S+I:ԍw+$|GN++}Z!}W#lC]VCŗR/Sik_MlRS/є^ȡ:pcfC,aWg ވ` XO =sj=?Ag~ R\?A" ~;%TabJ{`΂̈́4`ا P1]F+h2Pqa/3?\CDd \{A3H*9?~~@7gN:)634V%јxJP537X]P5#α_xM xsr+Z v/GI"3WZ8[&"5a+f }pH9'M2nN>e='Xl$# `p0D]-7 sͼg 5Xm4^A/- 6dx% a'Hl_n9Qa֪A՚:p-PcscK. Cު% {o\o6$CߴN 4x*]maV0!eΗd!]rFȤ~ԯ*Z)/Ѭg/Yo+e{pٝvjR{V0=LX)]iV'Y+KIT$3ЁGY(.0tVvKxb[]5n ̄\!Wώsz ^QaL]flrRE93 (#&8H9_95oO W!eC -ԀR\[I r|,a| "G =yldIK{ώ%jb}XYGuь㱕|߽;emPiW?x/ږvF5&(ûbh#$91 L. P*M{2IK;ٗuf7(]:cۉՎ<^\. C(Ix-' [ ɞpczkUQ,X7>G5^־~tN/HI`ӋHwA/qm􆗮O;nV˭߫4 (S## #U%;VnD'|5"lZޠv9_/pLW;咯G#E6#qBQ0eX~{ZK~KZ+8@b ڡ (lZmcVZ T'5;bPv2P,MT:HMGsjv-h5U.`p "!٫݉ WTF%yʛLkYL-].xGMs^8֗ISg}˴vg#īMg8z&/Q\08j]EVMjsfŭlMQ댄E cU1G?c*b{9瀞 x5Y>;9IF"'66<"yKxZ[4۝.*&t*  8fn=jC"Pw+`mJ_ Mv{< FhP!NMn=O"R/3!պmΥ }IWa&/z/rʭ :q@h֛K=2pSz2E@,]dŮl߮8 *n^ϸcK YX!|e<@HDk, [x֫\^i*P>V0]v{tX*#9߉}X+SWq熚#9ڼ]3Xg& :@aa4:SYVtF ʹ$ M%|iS6,wsmS `]M ` " S3xvviO?qhԼ,k=Z_S^b/(%7x[4ގI4IABc%Vekd-5vRpsacG1(Erd,c0ACKMtYUBj|i0!oӉRdzΈAP ]Z`LLu%b{]3B ʭ ɟɫ_BSs)5^::_7rO@p(2tbnx@2iΟrzq%?0F_) n?ѬHշbDqq5bpEW+Ee`~-]3I@s  ڍP:֊R$ po`_ܒk4Սv3nj7WecSI > ݐ1『3B"D%Yn%rnLp|6/IƗPjF?QCݭpbӥJ!>90CWWh"ssK#[p}BMp55e]E\ :NssYg);(]:rOib,tj5I)k .tjd ^8Uq҅v*gdgZfG̙TEu T%ؓ۹_u̍Pޢ8a锳7k@52ag^%zjC maUqEpiynT ~+~d$!.pxNb YAOa1QEJgF೭h,8bF"}c$]ir9@!~ E4W = mLUSͤG_r~@YF=elP¾kՁז XzVRn" ,Z$8;OcP@nYmyӂaWNa)YA]|;YEvbq/pHjvh* y~jr*/|?G/Lh&:&Sw(/8o;O|SmrH/PcxK!FH6 MvJNtSo8a|U?Iќ@>5fvZV. #g$M9b]Hxr5vn (}ilϭ0į0ƒ/[ԞF|[k &P3-VrLbKW_^IKvk[Bj΁+BquQtf>+F8$Eu>J[F{ۈ8p )anb^}PVhԑK`!k%lƹSfĿ;yꦤ*x!SDr|v[[`۾m<ܑʋFc; %|yMD vRK-TʒaGXĪ.`׶< [$LrT|&o5"N7Yk=nn(\}.n{C'iVaI:ycь8 IAi%t]Um|N i|_XVj^;<p8ƀF$|pkpGh$@@27 @,&+6 XpDFma3hV-~ ;AX_Ϳ "lvZȄ$R)nNWڡ>qZgRLg/%>\yh_dK: 7Hy&OZs@܇*?33g?i_AiR UUʬ*Q.;G2h)wh ~DOufwI]~^5DY60XtU@5T)#.W_!o|eG>e4+`Gr?eHu$NVRB{#>\uU!>LcyL'B⢱b>7 3N/(8aD۫GlBUoV4d 7;Dd}xްPgePwI] J8/jSGX1 \%`pG7fUqA^Scvyqt>f]'|hc?ЂR (2No SpaW{To# T0LD(Q&ɹ)i-3iO(4*a pr+-  S B_x,#Kl7a_yB"mI"9O邴`3axBU1=FHƸzd(Xۤ}C1N~ L>סBǀ p̛C3 HnAd&MAj[4Ba$xEp}GgrcV$!7pɁsaQk&]"r3`\40#U\544!7Ub,ɺBk?,tzZw]l(ľ:DhUM66Xߤ54yB,lyrHڙChq[`@fPSɂ͒‡ב(|UU&G#!d oJ`8JۭS]ra$P_Ԉ(3vfcst\_(D6Œ$9ﴐ|F-IG^U9*D ĖJ5V&|7Yr7n$to5ydF0Vm>Bg҄'q*Lx@"^::hN5۞g8߇04(+{o> 3Њ~Vܕ+TF6[~B}I4iU{M5AYT2A,ʵ1SQmٴ ̊ژ?=xx8/mrK iOQV`Ð.ýll^\Pg}< K瀅Lr.-k'P!ye \\/ON_1|Wc/.ҍ[,he:x$]J*Utx)A== -ĝ`1`MeKPZE"|'@ſFQԥjU?n5o8'i?|lo+ykb (:F~º!2h(&e7>fQ+f^,%iQRKqK\b5.|U%hx/*B:BPq)K%8mͨ\2.3H[T1ZVВKИJb (Pŧ5Bc#Ŭ5?gxKp޽I =*4w>NjpUp˕o:pRE\WwoH=QX$ `iy׳؍Ix D^4= NHT[b,r#8*VbWEw_ O r8I[)EFWz#iR[XR;+-%;Ϛm3ySe qγ'C:MϜV"mBkVD,T$:{0ydЀ~G) j):^]> #xr4Dda=X"K>"80qbcs(L?3L~ၵ* :bysm| xVxS+X0`z)3|EV"Mت|F'C~)4^DPRmG yiHThs~B!45=sc6u 4RYm bく"4OUs>f`M.?yNІΜ!!v60 AQz^>s2l<r,{" 6ClWç爏yCr},# lc@ pa͵F$n@Qo1샬.@ZOHZɟ|~ m c{` ȺRjH)0IFh5@ BZ^jѓ LLWc~5p.O%p8o/#7y=-bb[v5Jvom7koI#lu|#tϿ|1Û]t?Йx51|T^DZV +MHoW 4=`&q 湲HAhPmm< [baags|ݶ.^y0tՅPm 0#ݗQ9T#p@9fFke*9i/yP7WDQ+X7K2,evsSG'ʹ$:8RxG;}1gFc:v sC} 7#b"1M?u5£de8d[{ $)ÛSʺ쪆 F>l_6vH@ݗ풷?4hUiiR,1c۝@E4f;&$ > xm! hy ?HmJ >还돉Z%<]ȸoP3sOX}n',X-ӧ%1g}E4ghf`$I"sMY EKgy/aB_w.ɍA9P~hӷX漪z=OHϡ(!31-:Ϸ6ᒥrd`aa5,$}oG#4 +] kYq(lg5ŷH h;rF%|=;Ns, z4>:py&nx ꇹ@d+,8}[ dPw7)5BoّA(bRr5OYp+,]Hg( z0C5Keg0MehJsE=[a(%y1̕`t;ĎU, ϱ1i9G:64bC]:sw˫ $r9wxς0Q{'ZjSB $S:~g ; Axm_$sy *̼<>OvӤnj<,1I?EԳ+AxBs>y/:6W!:BkKv^pld{7ܠfӒWNH-GhDӑ8'؛b$JE7="riMw78/Hy`hNT_E'Io]SZɭ>C㈺qh 2xrȇ 9@1z\?c]n%htȕ _ED:硤 O}sy#1yvq>d'?M0?* h;iPvE.Nj)Ef*nE >q n^o 8R`8}V: q/=-mmsitce͘ĒxI3Bh!i gy%{Mڛٔ]Y P,^SNzp|{Of#o=a1G"(*O(3\DhOeT=6b]D}d4NA} ;Za3vȑJ8I!:aAe KFúӠ($.6-@ˮ Tکc#zEl,s1Px6],Bb*Lͤg2Pv +A&n^(T *uf-q%7"*~4#`dLMp@/XY6sD6dk?nE^?p|AJsHQ?5 d(ŵn," GuF"\h> tLfTՌ]֠ho^r\F0\CJq)l(y(฻}*8y4`pDx~l @#vkZ)mLbSF=x(f{GHuٳ^Zx k}p:$QOqKe+\#B'9\6`)>Cfy~Էc0k~n؝:ϘAlݧYf8-Mn~ai{dF~JPD2\H!$N]0ۢ  Smz{Gvtxw^DT n$J0L .RME .K+^qgp>8 9/Lhl$sq:}j*聿˱Et[%о?zeB,Kd%rF^tlR^b+شDxSL6wB#^!W2@̩O*b|L/uM_bCy\H{;兏YVDn`* _7'JZۿzBa{J)V7bQ"L^1\ۛnҰt/YPam&Q[@t|ST~A,c|A(# !4oVW-Ve\ Ɔq.O%aNGKtR47"cH>/N:/Vw 1m{iA*#H?gihB>J fր[EZx~~O'75[pTۼOLnGN-Iz ׭K|xnnDb_y8.*z %Ul`W4wl,W!mb(nrPx{/ɕI"xzJu`LCM ( *-L946DOVd4j!եF;Y~}TOZoPDoɯ:# 1IoA OI$S=3@}%cbYr&w~U KHwc䩴 qXdk Q8BL}c6nfM3;y6/ji^ywՊ36U0d #M7h ƛP^ ˲!SQί~3 gIq܎riZIU^9T3+DڋMӇY՛m`{j`U"{~v-];g58 }svFSr,cVi:l/m9ll2"UנߴxD3f]9Kۣ|+a Z!`XXWpӽDQ)^VGBNl;Ms,+鈉"u+3)a>H7<}j7aVi|ğy|)[ |gHx34Z "{~A j<|(" +" H$ Tj&y0|I,;f.}k`0XXv6@}B]ŐVB١PYsЗ 'v GFv@b!Fl*<+ h!4Eq P{F*Iq#A|w,0hn8_QVqƺ2YT7 [Q} Pec,2'9XmR0w9+R x6M}b_:iACҁ5CڦE4Dd@] m [j P<@7=it.˄dIP`HȽID!x,G>Ȇ.vbr5pe6o,C}s3f&4Yi-0f w=3.o`i9-abWk>^xpngdcyFZ o"Dw uC" ye"'+fsbK2߀laSYPv<֡h 혗| ~O ~|?d½>;;y\ iĄ `O9WT 3J0_&v==)cxeW0ܬG۽RMqsyBYZIT}u;cUCdl^`j {nz sc˵+9Q?=ybv}~|?F@c;4ş`x s;}Heyi>aFmF @y,'bˊ-uPWd&A"Vicbgޜ´Q3\FH9/}M͝Aϲ&۝tbGj]h@) vaq:B| fkI~,|VMxQf$$w/T]}AcW ƴ;M%@O7 O9tr5q8WWeP{R_0hS.(~N챎RvZ2A /uECM%"5(Bz5%D؉\#of MφBa%0 et + :+FtM2d!^>ne n݃hؐ!)#ɟ@CA(rSjlC2axYEHmo'D45oնdirg-g||EG/SŒ0r>d+V vO Kc(&(PCb# ?kΑzh-Z*0G慡ѷkJ o9+QfoډFYc,-]6fTFOO 5e߆S [UQ5'z~R'DQb9v)LGs5_LIț3pO^.D`>2q b׫^(lfc&aFx=| 廿)h^X2cKB}sY-UQs0e"\^0$-h.; ~fm RsT,MW/T>NBWϨ D—ُˌ : 3˒c̾hGi]l5Omop-Zݘ^Ԏ(·y:XO&X\hr]AaE+2}+7_pVv_SF"1"^立LBCo\I93y|ܑՒ@7bJ\ ©Â hV3.ttM-oOw ֍21S%*o}!TE>q vvlLE&#"63 (6PI[3x2|^7 μ.ykY)w:Dfpc=W6.tGwk2UU]0pcb.B٤T2,$Z/pbq33V: bxˢX( vJ/2u[Tvmu`? "we(}~tqldd /IJ䜗ޜwqYIhK:r  4fyϞ v=f4H(¸ߌ䟮861r!B6 4[)C4C{%ơuJazrF΃%D㸅T(6Ax.,ZB!sܻ p\] {m c5sF:+ާoJY\2ʴk\Q' L - e IjkbGg`"'UԵy:NN_ ֫Pavv~%|[kL~qhJ#"|#9eUu赛 f'Je(j.?^tS?K@: x+ 4kهI29we ǧ]:W;̅bO뗳ZO"j2Dr;xA4`4E@x#d 0j2_Ń S1tS!<E3N׸zu"y A%C3mt,pe8Hsr:d[IX K`&9) k D@gyһ2Pѱ_~m+(!SYfK^Ygg2$D(< ɖ;ą$t؁p6xثd3śؓ rM84=,`S5~TA)w}a}w9Fv4V|(fs=،'8Ц: q[-}O`uaEچ~ޖq%KăÁOk*X3—,LÁ5oICmUj'-,=9-Fâ$HWiV8:?$F{;\*$ΈDz{`{ٸ%3u-BbHJ<&%/ 1VGmf6OAP'qT?1`0R'r W_n5Fv Z|!Э֜ž9OAFtj yJ)NJ# 9VǗiRyv w{39D(2| aOJ!TD@QLs-y}fGldCog11i h勋m ,L0̗!9870V"̧/3t詅:=/ܮ :8M̹?Yz!Ԕ `.fzU3UYCWRǙ>f:HMӉUqcv{8`vEv)2V;!e0o[^vOzfZR XFhk",bӻ{ JX̾~_L9`d$%s(Bo[Z>ib]I y U= ?zF߁ؑXL{hqe`®F`scw>4+o6g3gݭZ;MIRn]YT zo-q}AuŜ:Q.8_ McRKkغ -))| Уi,a8vm0R"ܨ *2)PY+C&t=aQNOD4w= :MRB@qEN:@ A47[(0|[7 r^ 40l}a,hv:¾)2PMif pS aCF_@.fޣObP=2DUxTbNC&()5 *]wZ._&wOO0hwYT]NeмxoeLr?i~C0fxa5Tb?zZ.dDz8~"( Zd T&O V<,b 1s2ޮVv߼GZsZ"mDs#7[1@;΂hJ YuEDd* :* bCꛌ1ﺞg4xq/CmFyIQƠUgV=<းe\kSU(׾t3xa{H/OoJXv <դ;; ,* Q~7`BR^?m`q UOr9߃~H!z DރzPj~R6='}II` ieB\eA >W OWBh4F͙i1ёCюᓋ%. ta}ъl-:#7PVH~I* zst  fl9^3yHb*>";\ KyaBVq} "*}- 'A3mLltPx6'Cy}{3 6h`[Nr }Z2a"Yr,4M<:,JU0L}iJ)"4;X!S,9ƆQ.XmZ_ŒgX.5x v~t B`w2+=тڟwl]m[X`]HYcU6!> 8:COb'Fo0K=ժ2i9 Z$b砆SRQV5ĩPx꽴`3N(-9CFlPLE_#9a?$-W<,N:k.Ö #fT]Œ+FJy?ǐV-#~$R|+i45~BeB-z( hSKvxI^[$L`c5BpU Ԭk%k`g!s;b$e[vZmD^ԛ3GNU M{Ԇ4wr & :}ٚr㗰YIm`a$ٽLr:Є*`Q,\ݕ4azB^T'Tl}^1ÄBK 0%Kߵ#-Œ933>LUϚ}IoN?bg0l}Z!|$fhAwI#FkW#BZF~GW"k %mY6k#-@3PnzT_N \R;F›LWQ>W zz6.t9X,~~U +[VJGg:{k pcB voUáM Lą+Bhsc kI&уj/R] Ψfa"-P1ic|"HmZjE ]S_Reo!EJpo3ٕ{@h7$։wqp<[%nsó'm|Gbzi1~@H`6Iry;4&_i.HPUߚ'z8Is\bӃK]wg-B4MQ ;;t4%Up{Ti7ϭQW~Iu4Dodq@d?IV֓kU՟㒦% 1T cRݪ F V k <+ yaUd O  !r?ӳ {%jq#<.{v\jׁ[BIЩċ,>>xpIz&#]H]Ј}o/jAre 5aޢ#n}$Ls ށ-D҇^N!trW:;*`87E\oɄ}C Dyd/rZΡ2?TŽGIrztXigj awku({;*6t'/~dְY w aH7VV ~!- KSv5_-ʺS>;wWsBctx%%\z ̤K7A37b8ݐM+9imRHLƗD?JWƳsqbq;2 (ڱ].xN)9ǽ"< ['l5/3uaFa>Dx_ܦ?ccNu b޶Yw+AjaMrV7K(^t{0K,cdX3zf Z0jW=nM,N]GO_ GD- _|~1d@F4PB$:G3}V|7=}4Z[Po4o'}KB&c%qT*gCdq XҨdtNx"-a4`~%"n,!!J`,er}WS%ͅB+T:oiiy6Lh'myH@J߈`X'Wf^xIz Rn\ >ԻF@Qp61" i1Jd c{UEIڧ8N3ǭw3e@vLӭ\qZXπ/] 7ty><]2+\1(YܳS y(~CyK6/*xͪS, p1DGx}ŇiS{+$W0;q~OhտLppCHgqo@I9gM=A*!;$"eU`\&!0_Eg)$-|Ɍ!&~$ {"j$fH_{Y\h=C<8f߷;+k^@JFC`qC6?gʩg$)ʘ"e ?؋(,ћ!NJ-Ɋp87uAbe%՝!.ݪWlAwQZhLsZTL@^]J=ZԞng[EwuZ^Q4>z&g\Ok{UF6&}ۉCfW@$9e).8y-4 6ӛdz#Jݓ+Td"zvJ8ʂ80~4, C[?퀣[mDgS>j p$Z!b Alākct'gL;$| U(h? x,ꢶC} kUT2;CBg ^<)^iC3)C<ܰWL?Zxj .cO~ +i:bnUW? 5O/jM%;C@gxk ^^ ?)l 8>6^|xe>jaJ7aPh848XYW M Fp)rXex|J>iYqo/v&ϰ]]Us2Gܡf"bS& vrf<;DdJYY<tq{:pa5pazEf)Y1 =`)u=SNg)nviC78BNO whVI1>{" `@3F)"~>5$~ U@z4jw3?+i VL%R%MԧBWսM$dq!P׽\N8 FI9Z}XwYJ^r~X I|Sofl\.ʐ )9"k 9F6z$]GϘ:sȤ:Hɢr@YY)r&VoDlᏗs `pURkT˺2^H 1Xܘc}p7s⬞mOҍcJޑ2H\*W 'U9l9EJN3` |>bǑO*ClIsݾ3!B[4Px |TcJ-zYA_Uŧ9onO=D`S_]HZP[p5`e0Žn:"Vá9;&νֶpj4/#hE{*|?|wx#usf'&?[O,>[) Ia2+XS690~NI, T) 怑>waM:C.*|9Tz1!0P=ăki A-N-i_ 褝hÔQ#Luca01vX6r#ژX7kvw΋;BFzY!a𐳮qԜ5Qooc1QB(6W ]YENO'z3pH k/#AOn*2.|[U J] UcJgM%!RQ2C'5J y6;cがu&㤉KPAvP1_` 3R>sY6ζ+a8K@ zi!, {A.ZkrKI~*Q? wjQdu("`51ADh2%BU 6VH܍&7p\ڶH B\yOSi/cg5`[& uZF>A*ӥi1,Z(ÑyZⅈvDOЙύ5%P{t I]֊is 8iZ Iz[w0mR;l!=J@O)j+=q/caR&3 VQ/U_%c-!p|qtqtIT\^|; _xa? Wɩ`"ѕ٤L#(׀!)U wsBH ? BbM*8/Y3nܣ 1U%AC6T !/.#۹y̟ Cu-48{z|<]O]ݗ3z>(6P*}Ll`~@,`%l%#A7Vh ]>C S[ѹ ؑHaԟb4辀}nyO T[\G6tTHb^5V!*vb.XRCeq1N1Pg蘮6vav$s.R!jmZցgV& D@m<2*CGYQ⁌OJGYq6^j|!0cQr6Kzǡ+py6Io`w;!a8ӊ=K }HL=n\4#Nl5F(RL[WAb8;5kF AGFn,q@(S(~yAP~YNNy.p ~B ^{7nj?T`BT3OdfX|2MTKف7 af =$4?#&qٱۦ ݴr /]n|0lNJMPir.|i$r<7G770%>^u8_9cc}"D/Jy2PCCx}GA *YAreuc_4Kn(O F}GD}t*5Z<"&JK^yos'pCbeMyOyfꬒ8:|ө!Ec-qO,'o "BB钵RN5\\IqhǮ)L;PW"3N0{xz ^7ha+[(Q~ c|^#  4 kY1ӣ~髈M(vb/# yz}7|C`LbrqtCmLL@-3/ I,j(^,Rsv*v7"/$M837^I?ׄ_)˽ *B"c#*3_}`:, ^f}eym߰j!W(ğ+|bǀ[Ua\`G+Lٝ}JZTfyFj4Wa 3~(%67|xB{vS% IT22.f=ǯXū16/A!.zSxN$$aN dՂ(&UE; d;P9G+oĮ7jTXAЩЈ{azkgb[HIOro'X_,cvݖ9Vv{gDƯd/Ns#Svl-%OS NAtup7U"M"w&ɚ'jfC,G*3YF h'Z; Y2X7 N>GH滮붭,;mok.T'{>'(%yb^z&' ʭըx 0yzl  I=1ggRrbVn/?s4#j/eM&ZF0X"ě)ƌCݗ7B>8a̫ ̯ʂuT1'|b<+"g" LIA.Y#QȎc<$C!{fp@ML-M(+b_m-h aOU;lh3:L:.l=m,P7Y<͈7n 'jU<E]p+Ecm 0ow}&fz.,s9^#s>Mr4.WN$:COB ߃; 6A2P-qDrNaTFӾӼ#_paؑxQB%<L"+ |oQk( D۱΃ ܕwsH0+X V6v L.l ^uV;:cʻ~R}5D]=>N3s㣃^zA_XB[zώ6!) 6dy}*HP~|hq/6Wrdu:" Up#,I4vc'8 Ncdf1aA,}qZ}ievJ33;Kfnx 4v-qR g颱YBkGS#4c=$Hh| ;$$eJEȑh**0Q?R~ZXDlqgF7M1vաk ݦ*pu2|-ͅ/ oU X"yG' G3Xdʚ*@u^e@4o~rhO8O ǎO)MHsO?0]It,IafY JA6*;4~ HA-!]`MyʂCl٤f2G*,iL^S롢+Yfx2kV68 Y-]6$6ƞ(ϳ4Yn4LD4KrQcȗik뤏NID[9'U-g6CN};@LJgxG͑uG|Zx>0+#^FAQЀ܌z8ٖs&{g,#*B]vWj㌨C13n^?;t Fԡ3H?V \J<@ь?,|.`hޝM\ 4I'9 Fw\_=W¥ACNNTgĎ6/B|1|55{oYbu?ֶ3~k`c݂29G6i%e <͉5ii[~w2M=~lO,Gdsp)ϞYb5.7,陞l3[0ɬ\(v~l䊓})2LNBw.kh@@+YvШEH:z )&8=\`N7,QK[6dm.^Ozy럏5 WAԀϴ+d ޵-(*, Oi]3P"} Z, SI!Us%-WǽTLU|> Q'A4|D PLQ  1[`;,2ZZǫ[CBy ""lIFضѰ N7A{}ħdz~1%óyAV>'xR z-ˍ[sjQ hV7(r]_UL4b^]]ӔdKQ@X[#ut"$w2p&@'s](W2[]vI]ۖ DMn>!N{aտڬl1V×2մ^l n!;rY+Qrإyy@ˍVPסgʠR5Onѩ%}[&K4j_nR^x)kG@l]QnGvd$dgd8tr D[pE+:cN٢Pv1gHY q eSʆ%l8rU ·F+b5?26~PG _flR M:p#m!+藔dtzR7 "sQIӵ4 #i[je|kc|->fe 4BzD(R@s/56!B##r[sEçZpCm.|6mvP{2R;h.(F|ꤎ Stb͞ĘbN Jp(޼jg2f /̗ o]sƐфU٘ Ix3)M/ŤW5K ʴ5kK4mn5L]FO> PMūqG@KCp DM*j+(gJ^]-)BCꈀ7럟aO5 ,qW  m^mW˷h7/*qJncw-J DuQS {Ya!2tF Y2Lհ'H bFŢXN`?|)wH_TN ,\ )[)d,i|R oFRZK 8fQjv52mpi)U c1x ?@8H|Q9P99 Y% C F hd493-7g"`{TJM%^B3̤(@vemkA|1VdWPB膉ӔI+CI xwLpBp,qѯe0FlW hj# sFCJ-d#)cMd_qn(ʚ3[f1 \yOV= ";{eE$e,滋UD_pT'hlP4jV>\?//]uI{6Re"g0 dU>muFifȚ5g؍tǠqB>3>^˝3/PФ;&r%f48?Fc%p..,v$UzŪUo[tz]^XGX}#Qv/Ԓ4>+A C-x` $!*ERDDk*;x34Af?vP2Y &mbNgIEXҷ/ A9rATx&kіKGe,VH[=7#zjH4^ӝLwCWsV^+'9uB4t 3hl=E(NUM#q#=!iH*) q Z jzF\O2"@A6^?t׽[@3gfNsgapMiٵB8chF,i 85aFoGCօ/!D0us|bWhYA񺄃 0Q ~2D)y _ Eavbr)a/ܛ6duȸvS-Xh}WEoO HRRL%F~o/~Zg2 ZX6i2{MRw>Ouxv)+JH@eĊ'2X-`X]}NQοn(CSwV /LO&Sk<^z4Kd3/v@š˴g|]gjR,-H^r %y3b{$)=C6ԎzJ bkBgoz* ]#dY'Yyv]t1^T-4 ʼ0ks¹*)݃yrlJ?,7 7xb$$+Ë<&&J'Cb75<u$-GAMHɁp F 2ڐ;kCsěk@׌_1z T{sp )>5`{u|Qu!{ 5<*<“֡`S,>xSS5G؈cVq_|v4Wt=2s2eHݛc2&4 %3(L$ޮZRK9q%LvQusvgn~j읰W] gȎ-l|L4b-cyfp[HviqE1}+0srӴ ~jO{i "Bsl#6 p3A@]9K$fL иyĮ 2ecIZoȶ9c-)7h}C M {8c *yU c}T5nOmj6qz) -[3y:G\0 Q;X%KZ8`1rS2]0f!O504[RhK6V4iiQ.e)^,0F}Org/ndZiL%m=,F7*shngaGጆB D>6ȂPk iZ[)z52I4wu1L1r9yQ"vG<9`ZLnP̠H˿vԹ'̌ݬ Ё\-)ᛲ$!q &ll(! {4 MHm OgziB |*ږ2!=*:^ѐ?8vNC3D,Xepׇ̓P;X71u HzB8Z?I#g#t{HeR:߰1~2u5Ί ^A  JT6CWߘH>UZ[G& '5Agknb'ޔpnH|[wp OW_)PtiuVK%vO1ҹ2|.)FAxJyC纱wLUg\Zk:@(h+TIWߎ0gpqo?sjP?` sB f$n$UH}u6t8f:!*Gv4wY*Z$& d%y2$:VBgwH ~cұ❩GXV|\&n#iO5n8am9ZOs+z#|zD:iP[Aq y`Ð&@sq>101-iBmj;Q X1)y |K9 &K{F.rouU4&7_B' PO16?IK¿Ml㙖V km1P\pH ΩĦO )>D+(iJݑ~C(vδ+ML3\S#I]r} ߮TBӴI9MҜ+0b-<T@Нae:eu;ss3?[(o }±~j :^et^ʙ),&&:S|2(7H%{ZW}j@x- n &y}hН_gR쿎|~R.>KZxK k!Y2n2.WS2cհ#s.XnMӣWHt/uNC6OV"t%?zֵu>N\4@@\.G-Tc PF'Y/;A/2v$=_z\uqڒ6BO0ٕia,zz< |&aZ!-b+~^73n N5}Hs9Y€bC1GbG;^f45EvA\gjCRӣQ.3Y꒽)U=Kā|p+W/9Ws0rb9SLI>(JW@\@ .nIHa#Vx=~7hKnstɬGU /HJ{Y = Nd \,ͬ&뵤6!wi?Cݾ!-*L |MR*߅*N쟅.}c'57,3+^,ن#g`mQ3L{EX- V iYK$m{sgá˗qp'j{}T;>a nF#JFC9%NBNL{23 7S1.u'dKWNq Tt09{ Æ$DE>}rE} f5UCHͤKKmdĈlJh.gAg9s11>'N2[@[vJ=үa'M/ܽ24ZP/D%rDK0].p#q/J ɉeEպgaխҢz&m'-dS˭l."l-{WmZys(7> ؠz4fC,*P#=rҎ1Vr_3~o^X?=)Þ`+zH؊- H8w=ج1*>d[t Oz5aZ֢5F'&$sPr)Ei[멃nJrn;O$YY\Zyl{p Ma[SR!Q^S9]tDkPYyZNzd{J[oq{ Rn= +RY, vck70O)y-F%S;~ +\ @9*T 3N)h6pΝ=Ih5MO; 4?:ApfꨃNL6Ֆ ? gJ̭ZXZLۉ2S :RыY ̅o^DDf:~TY2be͌'_]Qe&y] ["hĚygKc*U' GYF?Jɘ}7H_Y+Ag6Ć=3.^g']A}γ[9>tͰ4۲TiƦS%}f!;)D-e$YYډ4sԙ-{ pOsYj)ZB *eeD :.R:;WW b^w" &㳹ʦNw/z!.B,Wsa-&j(~j%qn~&sz "qG^p1X\XU}DTf5{"ZSuӊĶJr_7ʚ >^N]& *[yːܙe2/e R1p*{nu,9W7 3l7šv^0`ɼ1^G%ͭ@b5dh'F{18D!Ve\XIT iBKQRޓHaKI1vZ?Z]oYn/Kz"bW/[8P69+P˨xs)|Dfl"-Ly $h\Uk3匉M"A+LZ: cʏ\ƘfOyVu79phĀ\Rn`ȋqc9L 9Ezv!H޿C0gF |?'wŭRpI7⤑Y$lQ׉#NK1D|fˏSբzbw׋KY @w| f KsNr 7^˚Ig~.,{@\g o3LqFNp' NZaIJ2q@@-wac81iu}7QN^҄sO{o#wFռWƤfUöel=2cyv!gu~t5B X i|RfRRSQ5-,Z .um׌ Mܨ)J.JqD]=;nvTq_!on$&O-%T8cr@%S,i{Q|HRT#(]OYƞވ~X8 ZM6E(6w'WjgmdA]bL.l#s)B'uH(uaŚyFxӎsI"@kP0?La6l:jڄsB'G}pv#) 1y}|VZW +!U"֔Z2|AH_02J JS*,q¯u44ƦAj Tj rC* Ki''% 示OYn/[1gTXf Ͻ妥CDz%]hC1XLkf.N>$>^# mf%PNІ8D(ZL !jb8H{^)I<  kڷW$z YK<]t4\rc3xKpb-jb཭RYإ %Ě`y^tIY[=mjaEb>+@&ehO &Iz68+|'c o6+C |[1 0E4;(AC@+exBhvRz.ܥ_\սLh/\R h/G5~\q\7}G_<ח []0H2}!)qG5֫R6~BʨKX^d8=rMy X S0bKDۥfxzZH_4P3_F:SJ;-$;k8'V~F"d,>nrX0{`Y9ca(ֱ~fīDlN #H6e'8GrKj'6L*}ׂ#![΀ܰޔmne\FX'ʫl&[ W\Mh'yZ]S6_!j\Ж;+ í%9tMƢA/HQp.R.d%o-pDAՌ?uM 9Dhz5=EsݙCݤ Zpnq{VI *5ʘ.CVB% ͗܄W(xsM$N(.닆:Y&C: -Ai,.H;l[ ˆzln}}2=dZUd#-JժIޡUn 4d ֓`" IFf+[B4ˈvL%aزIљ{>AӺɭns6ݒ #/&hs%WXV^7Q=YVuu\7՟?0g2nov@ }'~0B r+v^tGM[-Ҹ![G~%3KɯW-IֹZR2rs6K(4SB%mIWFDZ= 2wĮ\ǘI1׸wJ^1&.*+n ehtLDmEt[w7?)j%UK8na#MyGdՕ֒Y_jSzʒEsS3o3+p~2^|Y-т.*c6ZHWw4fu,` H=$rR DǨ zA<ſwIa]l8ӥ8$ρaqVtE ` 6C=z &Bdڦ.a@e[{@7dճˆch'nrP !GXb@a]gsnf:~F?BY 8S(Xk4dpdGS eus6h+u'}:%Ic+>_Hr rq֫L1Qq~[&M`,c `HΘάY, W1(шo3R`0 gxX*6Qo[1!iR [Gɗw~k4“YpDT*Vyo4:]6"i99Xo[sDԜC-z9DL^vz̗[v<:,w/jmt@i׶\=Y܈ȍK+n*nWmpK^ǨwQg&BD4u0 HS3`zf6G@6 7V+HX7QB_`u=ص(e"S.J(W7צ,1Ƴ~ABX\򪳤Tv,AlSV'U:F"s 0D(#"RBa\PƯZKRl!<gnKoG Nz$_ Q?)zPc2%; qwe.$U/U]]JmZt?;c͆S:LB%nW[B,n=VҀaI#;u-I۫g[,StuD:JGtY4' Bbȫ,fkgW=aMܳ(Zgf l,RIcUG6vkG! H|E<ӑk`:Ȗ(v裳/K25Q'/'dY(F{"t®0vhdc'`;2~brROIuB.F^*jjfUZτUtZex9S; % {5LǍ8JTõl;l{)Aܛ K0*u|;Q&褯P Y؉j0#m6=7IC"EҵxW}5NfޜAӫRndI!lb/yRp :X&AXOC83ϝ9?:%@- Mnª\QwElf?bO D~v[brǾ,w]xT0ʩ/(D`%sI0&cD07v%Qwp0WVi>2V"K9W>Z{j! nX%f5Z-d|rŨ:XaE=&߱0C3bs 4*ő@/8nXZX];`)(>p3či0lֵd*f9trTSz} S߮t-0h7eS!uX3o Qhi>o$l'dz\{4d@0QU$Bn=i-P | )FZM#+`miQPpz0 nPo/ըވiT xo 6noѷ웸[ &AQbk AR٪k<39_#~\&) <֙R=Z*[Q=H xЃ"' E6B = )R̋;<:PTGRauZIzuO`| QOT)2+(4az%KT쒼:WM/η 'HXtm}@n5(b ]R-2WȑiGNz_OKT\k O_ϺWk|_~%ܦ1- qvZhդ mu71 v;:αU_TI% DXy~aȜ ÄqʓcGda1y_/j׫2(ڊto[ O]ԿB5}7_?Jdes]_\?3Sxc 4#^ɘ*gmE1|;Zm|+ؗRBg#ftp!(e$`4o3F(؝ -FXn ټKP98_9lNj_s.e NK J@.hW8?^ĀQԷFۆx1u-}|[wŷo 8Oi@[ٛ.,\xo24Y~ 2L prI) g F 6:=빓Q ׇtM䔂"_|AJTl*}>h^7;'B`n[톾qi~~rY\ B%ےL%4o*VN]NZSF!y;<5Slۙ8  z%G5ٸvE붺0%ӏfyCu .m3™L&jww] t!73<`oclS! +A|ɛF{c2 Z#5 ZAR EpWRjb)/oVQu?l5ʐll)!"x]e6RGѧV/47/G|xW\)0:B ~" E/uS]4}eWD:Q Uȗ5ӑ{-| ͍}ײΊSNgȨvi12r<,o!ʝ((aIN eB=ٳJ_SZ+P<s^` m \azYwLQ `NTkSFqk$fW3HG: IU G%=ab.PXmBmf$er{`[]Ჷ4>DrzrE[d:R(Z"}@ZƳ9έU+JH1rz7<E6 K`kcCW ޖt*Xg9ɶ|nlT7x&娇jA'WsF; kC$G R{󐜈;F^5 gz侦^@Jȓ'p,ׂi+`2uP./r;7E5ףʖqC=8ޔx'לH\bil3/s>v6aTi?N ûh=*W I SL} w6M>ȚO}myYWd4t跳x:𷟮RkIFb7R'άccM k`jt"tE% }33xr-,c#񧲵,7H׻0-#ŷ"C|P80) | Gr k'Yqa㻆bO޹x$=+Ӑ)2_+1.&3~ţؔ9E=  [h~&NXZ<%qaD6˼ JBaYۖҊ@8VX]~>69D8MY̓а>"E%!†?Ad0`Na?3xɃ3f)GSd$лr \??K};&ʔbjfaQbdž9@c_n1쥪SG:|·vls~K L=p/`g]%@m_.kw@sֳkMGʭ1gC]Q-i}}yJ=|1>wrĿ+bYp1䃞}x(Yc9-M徉7&MI{um_߃B7_G& L~ؿi7z[r=S75u'`PzmcWӌfqo B&T,!= :- ~X ^9k~s|u\Dz8MƲ)VY<Yl`/D֮f(:LLd߬j!-߉^-iS >U;.9V4 ~,O^es|Ʒ9V*!%, WdZwRx{, [!7 u+yͫ =!>:U(Li@FvIɉEeJy#7;I\,_Ra﭅Z p % ="fPl/@`c"[e {TUaaʠP31;/BYzߋ> 7Ώ 2h\i3!12.IyH8<OaҸ!\ep9{M@H@~nX(Q`%9P)P@1Mr-p),y8I.=Qe@}/CJҴPYp{TLySr%x( wHd.'iI*%gqSWN+H. T"'rrqQVl-Q`nҰaURF>|$t;X$@EN,!kM1Y-Q"u)pwHMJ/1V3.2k_n>HcxF[RSR`K0[ 2m[YGc >3`ܦ!uĝX_Xs,3MLH_ՓOa֐Cl:ya30yJc`ִ,lmsP̂‹FhRV`-1b."$G( F@HfޥUDKi5f!|bغC-=4r6r'i^"Ґ7(~I Lg࿭Fl0'hQ~Z bJl'QTV.s,k?l7QVрV3@}c٥;Tj.kRO '$E tT0" n60Jc Q!i\'%PTGA\e!e;d_\1 ;YkwB0fSm ˒T0p\SҪAA$͍{آpi`L2gܛ9;nffewq<||As(XGAnNLYyhp\hy]NG%{e9yه;=5{ha,ƬW%/U{X3р߼!AuHRQU]=>{g7Cۺ0ubL ֎kyy~(!m\܇'Z3Sq W-ùpށdDr~c=\y̱[ɹ.1yB#0ynNjRXL?bȬKGnFua껰pBq_Zap6cְ$1@8~3DNC_Ku!a^+*6iijĒ1E.Ynn!V!Ňwp1/ l*d"Zd36t)hq%,i}4{*kՄ\j6jf@W%*6џIpmܫ'>;R 燀G f%Ga NM8_ I8D~VE9W+!Q=LJ)c#($$;\0o뜱::SEHDЋ{AODz,õYuR_­p0T `AclJ%\UJsg-? Վvc ="D`QK>*xWW>ͭ,-ªl_ANx},O_)Z Vѡc:PсU6@ a@@R}<)qu$q+W% ݙt[9^Mg WD鮼d__/|XZ1]d+GI#T9׀لl_h\T d2*E6~u֤7\/7"IuF"C&sYϬFTaEj!>0kϗcq]Sǀ0R>ȟD h {o@F3Lch;!"ʻ}R)%T\19]xvW }cGUZ T Z&ʟ2_45ɜ CbJ9$mvkB"{ոq @5n/Μ`"D/߳jl7>ul?}a8eT$iJaBQ>7|bXbURjvD_.,.,^9ĨN^÷/[9zˆp` !Ӥ՛LL@|.! ٥9xuNzZ]:5<2Jξ.i0%ˎTEb ΥixY) hmyP5l/Q4+fF+y5iyvPU;!{29^Xd=/A Kb4.пR)d0ؼGQ#Mko>_ +yv/jM"Ozc)4*`&6l0 Av" vTsEG2c'ZF6? o?Y'QjӇes%BE vK艳P@cIh3D `Av6M4iu񶐫?JRH=Cor훔G0ژ/?f߶+b u 1|G~4`z1*ngu rmIxfWQE"ZEIS&^NuF-n ݀bڃk:^xǢ:p -F-W@`O* ; ˹EG,:dU*hvsfXb[G3Rj?y~Z =0Ue9 !l'jo \%bt伭|q*`UOmMݹKodsx{x=A1cۛ 5 ECY[3XEkȃn \zut QČ(fGMrw#Zoe*8z#2_+([ i/mLS2 e\^ .K1\^_J17 &:Ly/@KᙔBvK$x39m;OdQKƉvK{qhY3ŞƨKMV/c1SbKf'y2O縣sCWdXaL?\UËX__Ė9`W)T&COSg$ :@Vp`'c1<\rΣ2@1g3d[A ~Tg >r+G/nѼNܩcp) ; 0|j|: osEvY_/av0p hA4@-eJnKS,<,M9:TEtPfnPIl)^@8ހ'xㄬag ``{ T_olðyms5A}{uǍ8:D.g3Y"(Y83w(&K5)Pw$M59<dYOiWuȴt3§\Ȗe1+o=J%5,p}`Y-HUo%\bпɥzVNV#Eۮ$5K-G}bmS%h,8JV>WWֻfbhCR_|3ۏ!&"U2BH{Y:REvϹï meK=EDCzZ/zR6ZRxWb,Ed)xRo6LNK_B|'[ f7,?Tt? ө2zJpt`J;+I/&kd_ID+OK+)|z-/t0֓x%۾2kj2!\}b!Kst;Fpk}E|`?b9ᩰ)\TP嘒9>V{:F1>!d^25:?+y1+ X`I#8v`$' Ur!pk,؍w - ^6q* ?CܡD:8#u@JĻެoy%TV?5wBf78vEpQRs?ƒ*4nq-*I]~ċcѭ759Ć*JOi94$w;3cdE 0oSeh}fˀoebA8QtG{C%́'ڹ$g(6a:+ z>?@Lkؙ .%><>7$[Pd2]JW$(@S&zMWFY%`K0rRcLҠWsO?DU |/l _%S@iY4@d}zn&7@ )$#'՜C*k (bsVgO<^o- P !:ݣ t p05eS:Yί6t""*2&6Way^4$ S@f~󺮌g)ܩ!SF!nk" `D\$:7?FxECFikh;?lH Y v+5 ݀Pa/"nHL()~2kx`[TO\v)$Lу ;[NxT9isפWwh56 }B:KnGX-y r36L\eT*},ڙޗt"J!=HK0ٞ+ Uk++2 >5iբ5x?3`No(z3#>;̃T׍uzvQY9fՙSBd:3It]_dV x:>Ka8csj͞m 8W>pTR.6i%=I 璨5~2z3D4;p[zJr zWGz9ɩ!O/a Q+ÑO|}k)eNMNW8((q$y|B u"T|vx@7j辿 9E`7h΄ɐFYKj c2"~1W9;jn,Ъ .6xl)ѯlhPBIF`awe)a-==j@qCkCM» 4OePUƉƾpR!̟jqŴA]?I.x]2gW/\_O DhIhZH@}Ȍ>Ұx(5s%Eׂcg>d0f<1a$m\*x< 67W"|,#31)d侕=X կzX錛S($ 9#N8]=LNo[&91OhN]"$AWL7ʬw8@gr~&"'#o+I |;P tL]7 F^QjM7q?p(pBZdr* ٶfI%+)wBx2 6?iەL52J ^`i,@h6ӭvnu='e}IbCHt_ 5K#)k\t Rn96^jhƛ+Jv7dMU#WX0is'Z`TB4VɆ ZE&I,FJ'JUQ(^U@N`p"$c_Bh+!,qwTIyWS, 3z} * <|}@`|ύtN{;ŕfo#Ӭ:Ƞ_8 IQ(&JϜa9r~cReJY=+dZ-gdIME1r|uǜinrs$ uZ s($g2r<ݬd\ `w߭oLXkzʘȎ;I m;߉t<ۇI4Uf+a7L=j=`gy1),-hdJ0~IF*z;qfJ弹3A K k]>~xa߂M& ,*L=fS`%0|$$;sFqD=p5&5Ӑ௲)ШXKg/#D ҄ݷN kp<-MS UPzEq7d>{]Trz吹FˁO%poq%p2vZ(] |Fyݡ ]oWv1Fڛ^!g"R SyD̝[vU$@qQȒk vP0VdEe:Bm Z J>˂ZmCyA'c;EJy4t9YMPf+-}iK R^K>h2; "N.ݳ[[&zM?ԟo-xd'SX=)d=EV]g4 Um`ei d<)I3 O)ec@W8ك9l8E{ӹQ/k WG7j(7SzPxhֹyD, +a(cN)֨!RK 8rD^EM[BOS@'@NN,}<Ǎm|\ a抄2Nucz)V 4]G/B1{,3rxV{C 9+cYTU{.eO b=ğ!N. ZCWӗQo,XCb?P]f.| 1aC* Zo(gNʽƌa%V`ׇq` Ǫ'~UXU3"s*spqn^3jA_]U? /&XS-YEx5K8"h HZWAwd6ݳ2cYWӢ!r @>IǑ T(+{+kkVE+"j(/,ԁʍD8O0mLJ3HgL} kvzLm!OnYk/9GVgw(V7/Q^] ?9䐻BD^y>G01Ƽ2o}vţU/5WY,&PMHf̘@cf<7)ޭ&KpIMZn)>"-H y_8r@H,qMSD2mTO2Fv ?!Zt8y%C6$)\"!.!Y!m UOw_(9RnluĭQc69{ŔBHJ JEY:t$|Ry.M*z]$ VQ;K:Pcj_}7qW`&h˙Y%CWׇa}ɴ( ANt (8 (aD "S(R>kcw)4$/u1C17a ROr{A|E76dĊZg /x)F.}}hY^>;tζd:Ǯ~賈Fz.9DP$ (;=9; :O⬖dAi8&1wo WLq><1b%^<1FiKO&%`a Y\uV J/^ N-눕:{;7∮q)$ DSE3h5۾ hT܅NӸ)?U,J9WEudoVÁ5s¾qJTv=i @CW7˪2D0E㱶4+`|t=ARj[U_6դ&X-+(9} <') uE(Sr 9R;Ό!ԧe+0}Ŭv`xnFO 웨>0,7.-5PL*" br 4v-3@A@}i;IHnrx b60aWQ4P?7?>N Y8XUSvͿ_}EF_$PlpVkP٭Pl.2Uz}(7F9+Y4b8N0Xh*4'4X6u'4ggjnJY1Ygbv-|r!.n JCw Q%}^(]>&у ȺGW9-U)ԽCK[p8*nA 'P{2-rAGL()?-] XlL{UgXp1[&[[J>IAjL,o |jL `v.ڕeuFQa='zF>˶2-t9^J>; R~ NHNN  ۽BOjQg&ʻ=lLjiѩTfåt2=Tɠ gr_t1&KA278>fC0-8Mǩ-OTP V="lo$P*Hi'2O)k rp,4;0 v=-iiwX*韠99UhfHL-@9Q0Vkud9B" ]e$S_pzn>p-Ԓvh`g>ٟ'a{tvpT&4>Ron85/'x;G32SMUrG#~CNND /gq@i`W4,wle_!_ g:w9r˙4"#$IǼV ekYrUV0gIVv7OJ> f rHk.'='Y\Ɠ|D\1A:t|q͑k7՜jZ8ꇨR.\.7\I 9PYF9'&1)Id2`ȧ" ? [J/OPAOD@`N% NbF0rXbgW׫L*4X[xGE̒s 2t24= OxU@`zVad|Bf,~^/iHjxiH")"̋HG[y%EΊb#LݠKx/䇎g־QNzULѨcZlvF'Rzb, ʦp $^bVCc<*O $0wZ[GJS8ҬI-(Yסͮ۶5>r%{B}Gml/k3ߨr(i&ZayGvB8被љwhw/߿&(1e969vFwjm&e8ĊԤH)0$Dдwwށgյ: ,P lagD3''E"w)@m}vóIG"̓HTlָq.g}܊>o)n=ʪ9mE Mj"aȃК DáңP"`GDƜ3dەdES'8Y- sI2Eo_Y1fx!'ȎjyXG؍%HˤWMڹ\,iáGy?F3RMTEo zIn2$q Q$6CĐ'SF:j >ZYB :`=r:Hb>O3x_>Ŕ= BMuYGp=5">O&ֽ%:FuNUG@Jt{_NB pKi})\]R ~*"^k 0oq/Dސ:u kd&gO"XIS\gƚVz }1eN}`!{EJdK`S1 7X&6B2mQZPt|MdH\\ǜXN6 @mM$ xuj*v![BYfY$>z|-@.x/ ugz `)+'%Lcи[-xK{r!v˹ސ~_,6&hxͭFSŷ[ঀ\o^ "(B𘡈h6cy'&Ff?LxS Ɂeƈ7l4 a]US 0KƯcV+W>MMtUeRlr Fw. 6!Ҝ1nW- Jm^zE26#t`„]Za _qy#8ti~:lE"X.9O Z2'xԤ^fVԀUUeUװ#D.X!X߯Fmw |2(9ՠ0g^#Bc U`YKjb7 7W4}!T> K4Bd{Ǐwx!ZeTROimTa|0(y3Ŵ t`QN4fh1̯ Lԇ\L,4ל_GTjؼD_~ z}婢ͺF`fS骪IiX%X A،ǭ1a ff. ǯϐ %% ޛ՞g_/ G'O*NK2f}ߙG67@*o<Jpzbmse.}+'FR&,(\;z + m=OgY-n<$źIK;jc`]|ųkU_* p ei]Sв~<rc8~*Dq|38*9Z }TLDI"L/2&`a"3BM@b_ Lu^Pz? vu$tA!Q P$R/qA9 `C)cuP qW?0 #*ZVZNW<$ttsT"< N1v)8Xt۠QBp5ntг=>BKsG K^E FB{CD"<F ǺiP!+pI44ٯ! /e`ߦj#Hsgu0HK*@ظPas8)B4e7PP%҇0+/d/A85Ҿ*Ctpҿ#XʅeODQ fW >=cz9⌂:N&> 脰!a‚wsbBEg6wml0Z oi/5 V2,tg-TWj.a&?>mΖ{.l胿B?o8\E儇lSWT!l/5{<.b/Y'r. `_aBEhv_ M Wp}"$>Vg iX`OJ(X /:i~tZɱj,2ZZŠp{(yɽ }hlP}Kb/HH .Mˁ`Ӑ4P8%Y!i|` Hńy(8K `#Er-P+n:u$R]!#*cg0w[IudZ!+jb;ޅb7wg2D?;c*-bOoY՗B~f 2薱H>Nu|`TSe33P䂜Kzm# <ͶT%`_LenWV3BѐȮ289hxsz-uz10 # F7d**9ac \%r"E-Qt2 hPzCaLL6GLV6x2F nqxuLa`wT›R ⽀@尓p1# O[%81 J[U}u{͐Crz@5S1,_)JzBoc5ZNG5%e/tw0c;!=!#D2.#z<; 0ȼsFiL%6;c$G%EE$y#|s(3:]v;!Mf@2"84T)e[ q`]}OU`NevHY DGD.=ZpȂsdGZ1.,bqz0:i?Ւ/걳TlRg 6L|TTK-,' 0&SXąq} !8TV@CaRPD'L"/1͐3 RA6/ H!~{3NҍjN}"R w`K%!NI8o!r6Dk?ֺbƻ"R_Ųr?J>pŜ%I "^ġ!IoE֡Ms*(C ;uJTizAHD-vLff^LRCS剔4jw$F0`I>X˙T!,l?f|79E* ~%ڌ2`=i"rWMЄ8ֳոxUi*8Rs*7"t B |QӺ^5o'Q>U+Ɯ~ގrfelwQeͬWZ6h/pkpr0=g"RL7k[*/lr<i?c(A&sMU 5d${1CŞ2l. zW;DdqH.GL0Ģiȍ( ^c)@^p([0Sme,|6 ꚲ)1  0=7H]p.יq{'T,ߪ ިa5Gnkci::DxcvjC@9qr) ۝E +4)+\!`j\F.>Uyimi.: Rƫld: mx{H >&a$״ "iBilUx71KQx 䂒MX|9*#)O<k{j @IQ%ptO'OP+z\0Z#d@0%ҙ0RŤ^%Gu>~VgrN"@ *PXC}g' x$!JT>|0率k u} d N>.A':4a"AߎLM=h}jaLABP^ijb}1 0{!**B=2O.Pp\3 \nb5ā±JEfb8o̻dD–/ڎ \#t]#/mRW 'U4ʆ6%8J&7|b8!,N`p4Fۤ(U)(p%f6HDJ` q1IȬY_{*~uQ"4. Nʪ Ў H W)~/w?fLJEKۉ Qt|4mZm C׷LA@2l@$}&-Ţ(D?iFHkW1@g]'*m3 dYHAE։Q˃çg|Ҫў NRt[Fz!c9p EFS,mu{W, +irv'A;%,8 JĎc{ ae] 6֕qiM.dD6HZl-z2Ő/FY?2]j} ftÒ- ~ayL0$!Iti\e$1zBf Lii򵺦{2hӒܡTRb P|"aR#n.~;&n$bs#JB|DZ#5-4\F_+6LVx"ş6>i\IIBx SVh՝ؼUykq˕?k 0kL-N!C ģs)AѶhI|,\s5}=_΢e`3pE(R:_v鲇Spü/&fK&,\ڷKl]=׳|ym.A;F(y 8h0ku!)]O9a4RX/bȪ1laT zjJoNTFkt>$)}z; $@L&#DQ~}̾ ֶVP5H~EK*vg7 8("xQˏ]`Ltդj J<+! 9 792Na{!I2#/8:4#OTZ_ ޸Hj @_NA{=*ƻB v%0}άn|})D'D;F+PU"62% 1MLH}݇w2X~7c RY-C0mT|qHR߮-:7үrl R/R.| NzQ֤]d^M'IP@Y0{K4oOzd : [$qTU1t3;)4,l0^S@RAHt7lS !2Y|7O94YBV ;ӟ`0Y|iEԗaF1|M9DC~alL2? [QsLVuy*zb IHZ:IZC1C%Ҭ5nS **'ޱWwV\\^ C%b[?̑^$y01np( ad% f{4A}/.@@} Zj P^"5zh:gQ9ꃡ__=0UpK[%7)YLP̊h"J3ze^EO Fh1aB(~t pJ[X-5FL x}襏PI>}#X$,}:3 H߶?jLNP"X/vlӒKo~gQ#''w ޫ?R]t@J7 "IF(o&jF}'ga'\_ݽ$v0%)+hۓK 8T@>r 펜R-y,m,T-2B7 =v]F2sMd73Y5'Pm&3("E;r} 925 Luح%gÉL]Lg787t*,Ni=&0'q@2A4tECRFt4½y*)r,it6m*ϢZǷHFpdfyҷƹs~!)j4Y->ܬKA> 1,L_Vá~=uI}faL(t}C/l( ʿ7Pj ~vsMBi|5\JMqHfe0IS~=ƥ*jڝ䢌tDR~!-zA?13LV<1 E#n9H8_2%Lzm: 4WJ0-S*5uHkŽ !g , JLpFmjLD#k{9X8REIJ^TypZ!Q6m/$T\ !f*POu|˜$ J|h(=2sRDgatdEƺ}aU,,OX'hOOLCɡ(NDEW ;t aTfzRFʃD(. Z=qDСMlA.j5@{ԯiP`JDGdA4flCxH53d8ߢ^ gKHD((O U P!TO<̃r*sF(ϨNtP$ *})@fYgk$WJM L{޺\"⪿|$m/w}SZa4u yuU +v)BxHbNbrն fPU6ؔu(Ȇڏ>Se҃_}u-ٳ\O'eQIcGW:*@63;M6QuH[SMBPn6 ad!>>Q2t. |Y"a&]!~xK GAZ )AZ#[j jIk|t TNSiJ\<051F*2C ٹ/!x¬[I[h24Aibk{XKක&*p>c(wy܈8]Z)5zԶ;-;߁':W6(gqC1ߝ㨋AHC v6 ^}+'蟡ZSz)CY,lUCz_~`laqCjZ*|ﴚ$amN<`Z (']WaԆAj;뤠FL>Iz J> Vbz#{AOooT߰*ݝPp ڗ"7k (6QB7:$C=B o{Ffo@πvg~,qUGaf|!W[۝9Ft.EER25Pc?GN\d DMcC KµK{ٱWO൲W-GBzty'a]р-ļjm K@wFL;3t/Dm`H*lj M;ȷg\j0s̐ݛ9|#~;J::"-Mړr=_+* %AH0 g AISТ0t݄Іcw4s>B?6g9&XgO=r{%<42|{g>idܲ+h+5@p;C !uNKYÂK5Em]! Yl]No^ 窪waTy0"iCJVZlyIz\l&w=Dz fIJNjL9?;4ċ2\ox7o(V>CnWg>>eMxy֣4p4ױc޲sWY™^AW*VNU]ުv&^ZJf8KhH_lKb[9oQaE ٖlb: İge3|Z[`FG$F)hDdQ%;64. 9F?,mo"=%ki j)rQvxF8 8yZ_õu6LڴBbo-tKS,vy{d1$UGQpl?o]Ndg Pa^'p{.î%,z\^Gr MGKU9kg!tif8ȼÚ: )_hO ݜ"8r L<`݄+s{.UA= 3!LHɆjx 7z-HdDB[eԍz'JO*Es`i-%Oߚ"%uX}KDj+[1F]]hmʮ\٩mT-ona's FDhJ:G2!"HHMS)bW TZP1Togj͉9.E1lRًM?GIG̈s21-1uYs:kf줶Ȧh=AH .:EuQp H-tz^Cu д:&D?mF@K H+&E:a-N&+'/J^4n@j6LdA7AHohm2LN?bDJ%gn5DjM?%xN/`\vQCcXI?%32O ߑ0LR\ƻg<#*<$C'j\v[8 ۑ64BOC@ Svi'3Rͮ~D!5Ur8DH;;Ԯ dš} 9)D~&fzeΨvݻfgzu RGB UXv v ~;Eq,t8LRQkljwgR]pZʹrk]Bxsn3$ UBkҮa\ָkE 33ļ8hdԫ{e3Pk;#7d,~GN+.׈~ Y="QW"teV3mfZʹirYq 5]Ԉ1\qqW $)$"~jQ#GC(wpFDtXȂp!;1w VJ!|&A G()sJhՉf޵tԺ.\l b-`_-psU׉y-? >zJ\m9#⮆Tɪ!L q 9 &bqՠ(Z\8SM Rb Ea"0pčpR2æ&) Iuv7XU` > ^>߲Nq!uջu OOvA3&_oVޠȱ\\~ص]US.|4sES-C8C>`L9([HTHo, o !x-p;[8X=j_s.x-t ujl Ssj>v> !-;V:Pn#wo78739;=o!hoE-wT絨 @|ߘ+9-Kvޓ;[1\0+ G-3~ta4]ސ:SO{<5-xӹ> O1w}mx\"Ϊ#OQ>%GEgS˨ҋ%#3ws(G:H~LNY{TF}'砧"֋p7?I1)%lLtO02>^;=*!{-xE ߃R؂~}4=)Q`)6zv4opQNu4XǒH5j>lJw9T/{QC|_/PK zw[țcRNrB 0꽡+nD_?9tGxfM-hfmyJ@l ΘhҖag =w8؁h5.=9tG0Y]+ W_]G"bOְâB-EҲί\]S3&S+O\y> Vyv{At蔀0F a$[I):*qGSLSsuwU;<2YJՓm\ɝss;̧6Yc .4vTXhs-vwiϩ] =~I5KG?.\s!>C窞{ʌ-viuܽ~8Eo\i"kR[43o酛>81;2=uI؛r]$'׌/^ٿ3{sx{=B|3Dd Z\ A$Y#nU$#Mѳg1S< ^p9[=\W;%_W9L8z4I!j_'s7ɠNk#=x4UP2|l*}dܳ}Cww3Saq-amD݊{Gүt(igp"RcN<$][{}p~-'K{dix>{T)gB~q4AG1f4oaɠS~r ,xrQOσ6GeʁYH”~XSV}^-*QzHA82uM8;MFgU$C$  Ώ_xuhaGZ)*bcO"&wa5^&D.qk|;_\0X!VFդYyz:jJ2VG)v:FGUЄʔ̀0VyS#v!oXLjaDEػ߆Ӕ##̈́oR E3XndZA}Z^ުVK566^z|+VŐбS{;d"Y蛤v2H6~H!m-\&ԥUm$NTWI@ 3Xγri IÆe'eAE.5Z5k|["'DKK x`u~w(mƜt$XafGqՈN?X!mU4RRTC ]*rf]8,Hʂ#mjZgLAy(K|+A I@P5ECRrD)wFao5Vg<5w4 kN3NLv3"'.e$EKP |*)ʯCy }yDֳ8è*-7SS`]bxm H k/6GF51ҵ؆@ƀ2ا3nTMd6OEZHBZ!)F' ͓5|rNEHdJY#,NUQPi6?ihJĊP.M12PZ,11 01^6TC#aDgAFLNɈQl9JlK5YHɴ%sn$JAK|x┲`?/(惶`^b[\ TNIO}aqyKQ@]z-.Č@˕Lj *7/Zar }c 1 8NfִP}+;KJTs'ע\`O0 A *ߦ>j2\p '8g&'[,)_Rr1c) Vz!Lz!]a6 ޚif8uTT`H `gyG3s]Xio%i+ +3pB7~^`ŕ8oV ؅mA1yguE'H`RE&w.87Grm@e!`%KI.[|TLʓU~8,q^{,u%c>։{D|qGr;h޺qu zi+b!C~1?=.1/[nߺakY=͟O믿ߦQm:x4' `ږ.gzXPT se{cxd-a 3E"kZ 0?PQ-@8~f%L0ܠv2e ,Ł2a8@ >0KpPwI2h0LCЖfP LqBca~8KI쎃Op"1R>=$3(9({yd ^fϩh: {Jp\-ZRmg[q{Ǭ9=,ޭ@-.Pn<"&(7s?L!kh+7w,2VR,eKKpMNr|A=7pU_iL{Po+̓-`?Ps|a$w" 0 Q`6E*ɺ+~ʉ'vf`j'ak[/<=%e2Ub"X}R^G/sU<-)=ū y%>#jS|nV`|QЀ W%x2N&䔡+bw ֗z8C(lQ%/3KkL df2s `ZlhqW c|Z"02Xjoi*MBȑM vG4XŎZ yG-\oDz/)oBZ GsJFI2/dGS"d\-}Zjў/+,ZɼڱDאZv1Z/1 M^!{#`k}h`/x ,vBGPQUU0;յ{;5^1ynZ]}wڭ(㈗ ʳr:+J.SkԨ"ub3 Z[9!e@MDUɈ_ >IY;?O3kGSXS##fo(#D߆m{-{{fԐ׮Kq0*B]#. 4C P"Z E#I*~]#cH&ڑYV1k=5>Tt4K88M}:5"%/ظ ߽̖ \KI=XD+r˽M[ `Փ7CB:1B1ܥ%~CCBB\fb*>ܜl31\u>g$d!8\ 6ʉdɂr4Vߵutrfx=-J PzG#ǯ@ ZLPdޯ&fe$ Mmܩ/FRژzA(TpbAG{ ~ۿgIǣ>cF*Śl1nI-&8Sے܁7W{UuFZ, 1jc:+?&u?=&9]~V˚hgJax^T&Yz+i@a@k2Դ&)1$.5m:Aqzh ޠ*LlX4x )ρ#`^.+2j9iNA5t6j㇢MEJxP}^2j;+h5-"0A;<` =9pfE͐X?ޅo: sܾ/Pvͨ4 MԒwe/\Lc3}7 AEO,a[d)HgpB.; 6&_|wb}&,!*zf'*0skt'ʼxw G!q<)b7y-,KtzaXib"ȑ Vr͝K;S2_m΁qm"6TXSHKKy-! #,-s!T37~ |Uq@t7"xm2WI+%ɦKp. tG<* ⓬Vo 0O_ o%3yLfcR0Gk92E]=mF'2̅z,&=!'4a9`6 d"t$eAlAuKn`yM=w2{ta PP'< h o;gg xC w0ZwE\1 ,&;iKd$*'d'[,Q0˵G@Y+^d8`~>Z¹^mLEf}K?haaV yUZAle0$P~9JGWPfs?0oN6{HOUJ~xRxHgeƭ 7hw*SBByV@̰_ 8*,í+sn*|dへr|PCV!v4FcМRqqnYڲY4Ƀ5^2[0zbMQI{sV`TuO$;T;Qх3dMձwL d3 8n-Y 곐,dn%x*CG; /:2Q"2nU ^~4n'M+r@U#PǕV0 SWgY' OTŒ "_xHӭk˜.'ǴA޳od,OEǰ5cݪ;Xxdk1u.NGjiчGFPLȐ#̰TCٶ8 ^pKq`Y#d ;m ^~i|m]MLS'c9$eSܙuV6Gac(0,t3$T}N]!xu{WWHhWa/?=64;P{=Fj.YR SR1szIsk!133Y31nJK|ܞ=[(2Seǻ#;K!xqey [ W5Hj%ѱ, c^G<8ԜtUa Gf|ZkCyKQR|ՉM\yAvnRLr] {_b[#e";.(ޗ*Ӄ􄬏6Ewb&-eŖNHZ7>aޕveK|j2L g{rL={s0)Ʊ+O70Dz*X9 k:\xr)PWf'&*-}p^>R.Xr@eHǼVpa<%kEyj jREr3Ҡ-i-%l‚[yz5UwF84KH"!OTf=Ӡnp טuw*44h40b+T\r㴦2'eLoO>*$.H ڑZַͣ(~hlR2$71F//tpW7[~iέqfh 7$d 3ގ%ucz4YO3ty4wN]ײ&o28LJx yyGJrBiTHa{ځmne<c]U\Ÿzb_x+!؋,TDcbBe(VN(jrg^2g~rs7&U= {[c&^GߞNj{6w9miJA/XZxbo^JÅ.zs{$6}'7w3]DA~ !܋[i}Z6U{뻾+5C.vAcLe?h_oKv&)X/.AM;% .Œ0 zyU+*Բ,ZQ ҝE:ϲn9]!u\?$ nqޢ8ޙ?Ǹ<  G=*}om 6Zb.E22js* ?نz-i`4r+U1/ 42c,s;'M5-Dӡ ťyEh)? yydnP_gBύ2tr q|,V:RP?QNfiT") ;^;\m9`3B~ ˼1jFb"X5; !.R16NŖ@UZ٥<H'kUm^WOuRpNh{ dMH$とQVglDӒ}a)l@xa?q`Ha&mW jzɸא(pG=DH0q0$x扔^)h."6)k 0ً-Ct a?j,t?Y!vdz3erF վ\J9CMÛ"M,QޜG0 w2 ׶_ETbڠMk "ӾxqĞ4 *s}R$͘ Zs8-i.NA2\4 נȕA68fnxf~aكc |D_+1IPSO-y,ufPcw$9-($JFIfe#,}e9갸yuYVܠ gE`IG3#ފ3"V1j9GLͥxXg\!> ˽BwMʭe yh*.r4V4fxZu"QX4 X`H]ᩇ _Q`@Ck0!Բſ`82J.VѲңR>9F@Jl)∖NUQzj2 վ "6 g=5ܒM|Ugo#3tYu{yo>YgFNݼU־֦{~ {[3ꐓ0͔[ʭ2V:@EwlzkӳrN@hew<#.r͕ ߟӏayZ3<]Lgysz+7 uLAk:Џ:ۋݮǮ3c'?bPJLirg6%^x?hWor8OϓyoJ[U֘MO$C~'C٘ct7W~U7zrPkF^|y:_kPGn>5_ҋ/ , ̦!/^:ՏNט;Zl'~,Yq3[w+b95 wٖ+9E}.lc!=RQIgrG{DА^KDN:WZDp. >t'"Q#K]pȩ 8@tRA.j̥P~WD`ʽ'HuQ{m&nmbr~U:2y@?ёʁcf f=G\u cd?fwri֭Fn`T 9(QHWKlH+!%M N"yuvS~ץUj: JJžFl Ê$):b/Yu[* "_X9/GT`3T6[AT,P8@w+w<׭YA|Zng,G-5#y*XCX)M&_ۿ.P^9T'L;oۀ,cQ9Aż e֋6GE昸LJוݵv(0 -=clQulb! ,\-WM$ ױ ^6,尚r Hs/٨V%0,(,:L,V}S 75PKm ǵJph@(dY0.Z: 4US4[EI[ z1zLS?5ßk`SHj' D  f(be? r߅\:%GȢǧB%.@"kom ϢU+}Zv&螨( .C)!iN]/e!8:5nyA0Ȑ-ɞ* u8e.`wm3lnԸTdL 8iZgYUG#ůvZ3S,-`qĭv3lOsFA/1Hw[DŽgrAD{0-6R Ϙ bsܦ PlBQN <: U %v5pjٕ,GΌ lҶ^ެu+7X+"^?w 뺩I̖'4EEg?rgWoT"Ʈ; ћ)oi{U.ed;&仢UE&{kޥyXw۞fC fTcۚ 3VEN)\wNu,gNɬQcqа]){ꑞи;'w~>^=j_(,'HIP+, %p-b,IQ0 KhM uqCgK# :U_ZnVI;01& RXxd4/-+CV/*N1* 1izT'/nf6+zmlde^!?$r1ܙ̘ /8ѹ^#JX 0#rhU24_u#O4I$EH +p2A`o}UJ"r>4]\{h=w@+}S*$kOЦ+yiUbZ0[Qg7FxN`^2GRls>X &J0 [B tEluŊ@PVyԕ“<^oko!!-HwPt RM ZA*Li& \McP>R&T~g᭛g3=x$51x+84>]Ϸbz]MOV˯!@Dk tCR!kEk 6`k'JzJ`:jhqKA>ZBޱ+ >SAKѼ;S;H](' gtzYs&=bfl iAu|x"PBv%SB͘!oU#́bRYFT0/(fF xL&]k&շv\*mS^wIQ_*!o0BPױKKE+'Bnđ@xz4R׺:ϻOP^*f θS9a1g(1AD[{ʙE3eጘ~pv2qmR=H/S‹kX&?^IhQˍxFܧHo XԐ4cr3IhWE  \Ž2o~o4=e.\$ABu*( FގEVn$:f6̮/Xy6WWdPfT d?kL;򭕞IfeF$PVT?';jM:m%.y0QYn;9U||5Җmގr|Ԗɽ( =Dy̞GSuѾx&0R *# ô7mRIe^v5k֬Bla7 'OM9R(`Doiݲ,RMoOvՅb3vn3_vE8բSs(9bp#HAu|^@LޮL:\\~A}bl(\o=`"ARE/jɡGVn0fȸ*yZyv!QvlpiMb0~OiInބ6r#6u6Զd~.7A5"6:ڣeH R 5C[_g!^ 92@R)Ft0Erb9^P?({nߞka} L6˰IJH%FB؆=/@Śl?S:ؔxeOTwkL^ElTU[.u$4$QhȄj\LF/:!{7gg\|?4r&Z* &8Yo<ܔ2鎈TMjZI LTif~{# d#4=/zJ@U^! s됲T%6o(LVxᒼYFU[S3K|?C-ɡ5 gzs%E{z4/k"RCnnX1>>9 R@lU[pf\.4ktx&lxƫ-ܥ<>q;&*He.@ u4!;ɔ`?oH~jKqz J}:zXepZ!3D# q5! -($X5:ygIkBJksjI!@ 7B帗\h ohNO#AFSXFF#i::{M# la Xm:`ʍ2/'yc<ݻT[#8FgoC"ZaXӒ~n@>)YighZmG(B@i.PRzhX~6ҚQc0ؼssl)GKLܑ6^i_!dqYe75tU)*or~:K-/Uڒz}u_t"V^&- ;h/q^0wآ)+@63="4N#%V$a`<83+L >3aR/*nsuqb軁qYN |c+͓V\74yɗj6(i ( 7V\bp@ׂG6Gp8+mc_I:iH% W7 sSv*_s j1BVC#X{0B̐,XAsH`SßK;&}<39Xsn9M(M*޲2NMвJ Srʭ']P r>I4SN Sv_4Z Ë 4pϡiԇ3htԠbnpg%D}=%si} & Rmc(慗:}dlR ,nGB0anv D}/dH{Ж: #-Xo;8!<0boBW6ya*Y"-w oz 9mInQt lpvlCq}!!q|EaOlvG &hY4%Q.b 񧨳ӌDɞ0a"E\nnD@ 泠"Pw{bzװƂ9\ޭlgC#KȕA.Q}m!yd`'FJz¸U^uߓ%\։apΰiɢvs|@(A9:RFTDIMdF@40 ySt{PܙqpJUt42m3EIݔ]d9@dv [5N8 S\}Vb O)>Zbm ŀ0BiD&€{@Fܵ>=+ɑe \W cPS &?}{v(y{7z? B&CN=zK+ڲ"2+D|Lz ǻo "O__as\*B`M7̊Ms6c?- 'u.j\ )@;:p@̑ K.*A^x)܄2񟧇_Lگ;DHlcŬ8(n3buU qCq( ו [߹l\Uye.vNB҄B\=E.NctF&%=N93GWeN 1\Rr"\0I20dv. Ed_Zi.Y Ki'0*E nA'Pr#AJHԊ^kqr3׽x*7("$6i/<U)Fφ0iU48 BC4 zo绗d,ȼ2&vb⟒&쵏CӢ.L=+BM-/E>$ 9x"A@lۋ@xnn_s_^Asr+@z"eޔ`b *rwXV`om _yAZ,<<Y@H(z͸%| ӽpzR\GF>E) w M lӺ>&-*Gv 0|?.o1.'9& f(BЬgνȪ؍B_&e\]B\,}f#&_5=k4~;FVMxn.$H j|cZ|zhΏnx"G,b̀_!:H'qpQ^;;~%tQm|wQ RȻ!0͏ԭqQ?Ц.b&7wt/j&Ư{ƟG T%>  ƃ*mS#Ԋ56DF_hSvk0BZ8KF[ 2iMi֨[E-q2=iNqu|I~ L*Xz p P_H-'a=ǩ&T,Tjl~+k2x Ũx&x1-BؖX;Sɑ@j1OQc.NGuG-˗@m ܊N6w R y!\>;$Gl_#I8%L6+6znSȭ%o+G %B:$M+T8Sp5,&9pa%$qfpO ^)K: wc*SC^Q0|Yy(>E.tx B |r&nvTMcQN?aE)z'7Ir6Z:[OXcc$9"0jp0bs,WҌh5JN A$;2`nF9Zmu;YI(hRW"u{p.rb\6 8N:Vۓ ڴ*%&Z", p,=N j1 q-`?Q5ƄG$z#Rzi平;}< 2DGLcӲaI U,k UCMʦU>\T.V"n:bA $q:pi/ 8{y*i-sS>pRSBn4 ]clbW:HC?8$÷ʿX72uVw~ Q|HtIp,fV4ƽBнb _?pz5d=pN0jOi', '~NulEe_ҏEa_YGʙg$g rtMǪ X-W(u՛]Y $/p.VG̕4R@pɃxGE&jyl\w˟hft pQU(~$85=K KK8ֵMtIMSLkd.MߙʁT)!L&y*wbބǵrKݲES)3!ӟS}_CQ+Nr}{T^t>:/P.sȍ~^e&_n)v1@+^eӧXB}^e,9yW!no)eth8`֓A:J `aq?{:DSVZ 4TuߴeBB\f QP.pVUeW<_V|xl,?Iha̖D%2w4*i@/k%Kud{"Q'$>;w8!=X\,Kfr*v9i%hcZjFŞ6+RsPZxlZ f -8<CPB  \(硨sokLcM1Y|muMFY3ƫx ·ώz[%oo"'7Xˬ;8_bbiB|1p Sg68$Mǔߒt;yis(8ani";L._^\VU'g@"(4ڟ5F'eYP͗+*^ƻwA5vfL!5QmT O'ww-xB$p>#t}J3Mu -ƔW ;`9ԸQgmt-Q>܆f{d ֠b"yK`aXY7]HmI S֔؞MY1"u\w@^npEHYAtT8`j"Ƀ-0s ^&v"ujm5 asS<WoFro+ $I_vM,>55/hY҆6fҠ_p2,o-waOjoxKw}*HME]Bt&pg%N& _}u=.>g_@%}>yqcQ{)i0a업:vדaD*ykQ%XxLias7S]my-/1qL4HXD@4W6k/ꫧ6զn8_OP: t;..1};*Adv$}d:aMC˲_u89BG3/ 顁;0':zqOr.dM n߹[=LR[ IZ؍8%d:2I?l-s;^SqɮōP+m)ec8p +2p(*xS[Yn(⊌ u8+eC5=ȈzHTOWJby A3T'MӍcrfFŪ KG9fG|pTL {Y!6gcCmmZ#PW΋}W9~6aoK[F!Ҋx-H,&!eY,{oE Q>u "auL!EclN~[k6ns!5y It26Ft'6VJU2 U)=Ykq ]dII6fZKZUM1`|1{28O׻Ӵˈόw :5̧[i)f)CŕuGf&j?MR>&cOB|P#?z$KQ([ ) ·fP"J\32z57JàjabB۪jQ;2UmC~wh͖|ifh=Eam(ɑh cIUl@_>FI:k(Y5@RrпȜ~l{o5Ђt%h!W-bvN~ٕ揽#ot9>`2SeNy@s,fN)!ȮT+b3]Wr]+,f5h,^w3RޛBӄؙ󋬉lxIɘE-Q7x{ؼOX]AzA'ӐupV<$~|WZie6-dQhI ?Εx; #u1{]kk&v]MJeb3Welu[YDd[g'[#y͑!K CeT}-e87{kǒ7 =x|~{SV+LdEXx{x5.4y9hhlh~O-6ٙ '8~*0Թ%:O~FNIG|)˄. {3^~U3fJ1Ust~(- cvk%}4̵ȺHm\yɎ8=6`slCjUțV(]$h=S_^ME!Ӎ=;\?feH-umعݠHP6zbCChZ12c׊"8#U7[Jgɓdo G?׈)^c\Ն!;?QE\~ҿ+5u$w3r;y}8hHӞq~*߾cWwN1ܲ'D{. } jBhF}^7JsI3m PA{#O) (^[\P)&9˻C%b|-;`z$w6W߾rԫr$ ݖA 3S6q^Sȝn)kN#V/~fM5N38y +{acO V"4вhڪy4@Yf+mdzqZ徲RE@+]sj?w=P"y~(P[hV!rp Sޔ m[nlrS㞤JfeeE(2S:\gW?Wϫ2>t8bsVo5Q€lw@Z}B3uPeBx]{  Isw:-}oؐ(e+ٍ$řNBSt=#Ds} ku23 s4'B~OGwP_D|IB Cαg嘆[o.QLRi{z>PC-:s&)c @g}wUddDv9ꈠ$UvFQJJ*٥FslAA&mT#~ ;+ B_*P^'[q, !{7"(Y^m# Trz$y0ta~]] w0,m܀pm8"z7",!#0C<Lޒ/I2Bۨ(hTTUC>.if˩-y#4 >xnCE5ME|hX-7uT(94-rz.ƾ=hVa,(~`O _ DJ ~l˴ǧA=Q8ȷco5wer8}\>CjbZ9jfD# NJߖ|(QmzhzGv#ghH~wI3JD'<||]yq[0 1K{G]* t Cuql kI/q::n {-jM 7' hQ9L enk'L3S*z^<*/, tGk0!%Q1;# >ŋۡ0!3*xյ+qZrKᆜ0Rz^AzoCUiҩ'i)ErΖnR`" ea])N^hXBkU<;W=zO%NK>Ų{ɋ_Q#Vx 8D8"^T2.>1 A0!-? =A6o.~h48el-95v.^x9h1휽RWP"qt.4X#KZ?MJCC:5^e&8T*R?{ۦ33%Umj%@KG@kYkNL$4c>HZHxe|$~WAO7,%GRtXFbV ?OdF t>x 2hj˜4Ç23!A1KXƘbvyE7Z ++t3b^2E#2IJo_rH~$T_]e-j`B,MϽ|ݸer26O - P jڌ^$fdP5Ėx49NZV1!Ѱ"Agljҩ3, h٢g.fj{@b,mbnf9j'{ۣz" 1&=n(^w wUjg۷ 4n$w0h\ju|(ܑtF3*ݕ4.U]hs>mQʨқXPύQ!Svύ1}UӲIyVyue'jyGRK“uthKh {wiKG~YǻVIፀN2DGyDq_ bwt>GaCS"a(]ApGe)`e>ZWRέa'.4r :㖭!eo##IxŹo7T _c/6E;IrHsY0,M ~ `Ulŋ8X8m'v sBg{jK{z*7~ъ)]UԭRvN&c;ԝZؕˀd-G4t[PSA|3t0qל9_|V:_&-W&V`\Ngi+-vř'('Mn rj7$rMST鬚z*3Wg*Ws@~U)7ewbfG"oҌXDq--T͓N=1y4w3M̄xjI@'%ʑB86ټxlcOԂHC=wJ8mDl㤡hÿb8D"UxF6SQ#F6McHa[?ΘL>kLvі$KB^$MnԖi̥3z9 AZUMJOO};ՐM~8Fn .`1<64y|r[[5dJeZWkʗD \ŀ#oF^Mǫn>p=B%\X~9@t*z;et@\bY{n춍3GE!N$X'Bފ"mIu)4:WzY^.+0f9r14l&z4MTmmސե8d5``R/1љH1#dC!` 0!_D>$cC8Z3sٔ.mvr$ ٧z~*]ѮGT%gx)T3O~tn1ȑЮ?^yQ ( y*`YF؃G4=#,>[ɉ[LPXG̠?i|5.wu~PlNVO袖7d2裊 !93wP*ez\"ҲӚzS@_`79`\p%$zBF5CFR8%'4rFLwu$ 81U(\ ߺ$;y]2r]R 1*Nr<)tDI b[uԫpP^5M`6s4ƍi`Clӈ`ul0GgPT6Zm_l@+``2;8\r,t؜_>sZ:SCAu,-* "f빮=]4Kxj#S4M96nC5 ۣ_D&;E'l@-hz`J"KkOh*,3:.sBaok*=cVou{vly}JԒs$P@u~"rR/}Y,Ey*\E2#ȡଧ#;K[TEĪӧDb&UIv-Z1U2&I9I+镊ţc1X0)O::L] :PSrcFrHg3 >Z#Ss+K)XT qyWU Ǐ~D8V* S&z71C7ew8Mu"\{{Imyb0r>oo7nx |!JGJ&H.!{r#BBP꥚F *K6ed:=Y=bqr R H[n (Ctfkg3oŕp3b˛ES;v tgx=mgb2ɽUMUWWE)QBEND 'j@ݶ=߈Ժ Ch|䐫%OLxdgR՜_|2α`{*#P<_}OIw'''R:JYQq>$pItKN+__L,+*uTԗ(Z#~@/ \U_7qEdo>ںZC2w4~u=OWT?G\Tbfkgk3/zdHѠ&@E aC԰2X!JK6EfТzzz>.[T@jWAAJlxkClޙWϧw:3 ۰ᙦo%{՟uVΡ Vz 0:仄Ti2X{ٻ'lR FNcNjt8-(z@ \szuR\c>l^OKͿ S{ X-Z\9e-N »׫}oIjUbտu#"0; W`?T bhW zj|.+dW;46h]'ϲ%7ƾ u<,Q"2$3_kê{k<)xW!JJ+خ\0@W@ٛ;r8b6C_1,{Šb-֖=k0TTfB"qt0:!QjVMIvĕRg@'QFu6:0KG}}ASբ+^Fagc"K6܈dKzju`˹*bD 4Ӹ&]FsQ $#_x68$]<$#B~ uNv?֨Or^Р]؎_ר**)ηPw@fk|ʓ'nEkiCұ܇ JTw ,P=(35lv6&PˠXxV9Yk= ]5 -i?ml@Oa3X$ >\ԗLpLU!}U|n(-^A۸@mUvul}6q hh9 Wv:oaru}ٮv5fbv1z&`%oKHС u{mer>j JqE]]jO;o@#V.Rd^/N Inxzk)^'NS|c䠁n8\_-\lp}׈9-]4:j+K4`,=ޞ"Kg,`zg.?,$c(I,&mônASU#sP .\ؔzT3]*FZpLe q UTڐsVX`<%UM5Eޖ1rkMՈr!CV|eI'pd +w'{=eL6B;CN+CVΔuŀğXD5*j)ս/SbسES!|'DcDQqygss;F*j-=T@>$=OWͼ'Od^H}[3p='X3@R,Y9QQJ.?*W:J:Hg0ĈA64hu-zZ.]~Ƒ?R3 ⳵ ?(4dIMӹ͋&Rde׹z_!'; Ʈ I뻀OM!L]UFf.3 {Qjsx+ k8$Iρ9mvoJG!-zT_bw['N}lY&nlt gu t Gr-fhJǜj '23N et xT=۵k؊!V#hTpɗT%MRr@'YA?GË$A3d>aDpXO+IUFjL ek k|XByC>.9)>oKJ-i#V)ա!ڗ@:>Y2o2pŕ &;M^&F00ݵwB#uKv=-b:r-[Yv86Sp⠏JHPxrV"4@'8wmuMkFԖhƆ J` %q2HgLA.qPNX/y]AwDyܬJ>9+ЃU IuŭU j|f 36>[ ̯C1juvԂK^|o7Gpml*Mbg_[S"Ev9Cmo0b-1Tv(h7_@BKDG 4lޮ倔𭉫rmp^GOhy5̜z<V9ܮ/KC16Y..tnWU/U@];#+ nBD)6o+z3dU>h3XnjN1@@:8_V R%'&xwNn`y?ZbVL+dt9>XlY6mɷCʨMoZ!%y,sR&A:ZzDHրy!gF-tzN33Pm-X>5E8 #<-{Zbg;3*Fi1W㖡?T-أqG3!P}a޳xjоF_ׇrJ[-)zTGYu L!MvtѶ/QH^"ں1dF*%}zynK7Y$0,ES例#8 6`t&.5DwS5\:':Tf2gE^q.*ϫ+E"N؈WH9Q!dWmG*f:٩tde\廖@5Mn$+GRxeSZ7k4pq(h>'I %U{8<wqbԁ1E6Җ+}R^䁌 hhXml~à)#Y1k.t:Q(+.jDg:VZ'vwdʕ+U:S˽C)SWCٜz(hE9n <@:B:e˘OŨc*ڦsGgx7o [sHw1 zxNt|a8toTB1Yw< N>2. @@&? LHq^ ,=¶cGxU,ǽU)wGxn/c!lҢ-=3a/A8zcn:7!xyCPoI j%VzްO~VQAOH]x p($>QuH>r7y/+[B[~Sk2^cT59&B,`gS&!xUZ6 3߶Q-er0b,Yb" ͽu"'XT96t^'(8Uv* //5ɿL f>=J>& \ew6&_ Ce(1Xe\.fW$7-S3C8 [uY I^ҿuYP󮟟&%>e.! / |9i($%P^C%< x6|qᣞ%ZEt<5o fur$1t )N.(xmVJc>W(dҼ9&6`FYbւ'"R$IzKL_o0gļ#5X9~,n++x:,7ooqvKBQJ&pbVڒ~[\*eՅ˜^aރ"7r!t ~!naq]=}Cҩ><)KE:˜ݠ&Sbh - J|D*%HE V Xy\a )e.K#}U,B #PpPWfR~5E7O=;4w#w{ NˣL4)*C+_ ΑifMD1y5_LKC]`mތn ;1\-!$ZJCxlhMֺ `loF@vKꄡmdw +7iKhv=4dys"L+_{QOaTF ፤Ր2trVbz}A=5 =`6?? }wM \|O1&spTE_ 8+ >. B~TCm~fo ~w~\Y!;$9SOC@BDҏBWuTp">(# }~W}%5[f2jjntޜ"5]>(sP&9vxs G!$}ɄA ?/GcҠpX+sX%ct~2]߼a%ݱw0똭,ޛ,,  煭}8e=B'yF ƒ\OB^͆"ٛR5 YiD8BK<~8+DI/vQwژ֎0=|l? Nn+JSe-{Ղnbk>H@nK=eEDt6iVYWGߏYv3nlk[L|> :a [b!Vq  DH1'ob|eZQubfcfk^a=;JN=FY5݁nN#"5(rF=nn; vߴ,>8j)H)ROɇ!,${W} L!~eZ`{!m߳Q_uС8=Bþ^#!# : BfkWS&<[z D?l6Qg,uqJ5" AZ:3̭j%Xa>ٝ8ަ  r4!IjGdwL2NA.lm03CFzb|G\Ex"i?} qLó9o" aaƷ_H߸ `n6b1yl֪:*TDo!ÿ87-Z$|̨%Rx$S:9޳]W=#A 8kl/N7̺em WI+g. 0re"^%KJ<$v&s,;H^̼M2_7=w9/! l`֊0@b}{ s9#n hxIz:= Dl?)k)/olwx[&e9PQ1V \jU }Ņ_cD|va{SPg |7o΃seW$>a [Bsy[uD)\x)Q0Qt/p!"qy 6"b tXj]7'ӵu/v|0ÜYZӼhӮe >qo$|7p_%]E =V1Ώh-T1߀gh&nêݿQ6prY286au |) XqCۨGr~SҔo lrWrbs|hȎ,=kv[JV_>P15GSxT@H$"O5տ3U  ޚ3K{ xˏ rZ}&W骬 u~l]_{!u!JdYk3f.-N XO0N&^i8ܝk0̀3?_ab~\kI`g܀`d ]y!V(Z,Щpa|.N$Jޢ_S&Kt { v=;$YM9\)= &ALSHhTձ* J!Ye;GdU+< 5&oi~F4fiT:lKˋ SuӉZiqaOnY]DRݣ(m YiO4^ rlڵW'1RZ'bS@im ]#7Asap6St$B8sQ՝{HwJg3~MnDmގiyqfbBvoׅ &aмĺ Wޯ:l)L-7TJ}<xT>9Ӎ KK+PȒݬ-`5[VEnb#b(?t졎y6;Y~(ܗmLZTܵ 4Ɵ367frCwo5=1$z4*w 7˃ (y?_rQ y﬙6t03aBi Gb) ׃BrPY8Ҥ;nWrG{KHM H6!p`B͘ʻsMzף8.|EѰ-:U4.Ωf` 9!7(&i J9{ZeAE>$D<:\)M'D}pbhu.eue|,wY΁Uݥ?*]/F-,Då. Ɉڎ`ghY1[j1qZ9X1Zyg قvZM%[H롎!vcAQfT2`fu'9?u$<9:!@sLu>HRwSIO"PRd#L,͈z>{W/y=PeɾpC;>9LAݢDyǷއ%0[aY<'IܾAyx*t] 6xνT^τ!U jUh) oŷNTx[Z@ H `IC auH۲zTAp3mZ hmE{}M1/ՓQPj4⒩ ̹nQgܐ{_ Kޣ7,K{Z>[U%WSI0/\JO*Fjť7+xr {JݸS9sV# ɥfVQt'r=kxg1Hy޺E(Zp&2H&sj@4'֗%\5`,1D /mGp_=6E%y±TmLd^۫o1b݂Kmg#dfo3v%SvRH9j[3[M^zzFpK?hBZ6D!/e4!^?@5y&wظvoB~ιAORgaKHy\qJPP4=K(h>Qcפe*dLj-#0M wpLx u0BMTX]8>Zr9G]Oվ`G`CZpɯ^1:xjfo3ue-W3wŧ$O{D0h {1&ն5·e ӿ[睜<*)^x':.J5;OwG&F)FM 6 $J8em );swzIR@il#m'k|oP^'kdźUdVaۭ&0`(cx/$X;8ևnc~ػ,nUP5Zn">3#<5gJW|Iy_,(=K.4z:T$x{Hį9ɳn8r[*HB2@ž:s>y"j$ "1 7MgJ_P ӳ˓jxfQ`'33jN  C{'LS/vۆ:/1KsXE~J:(B^:C-90K|FƛynʅˤJ@tǤK0ގ lfH<ǣɧ4hҼL@`M:ޟ`rSgk}~ ?m$!>?$zeZ5ߝMY JLvn7W{&CO:O@jUޝMva,o!/ڌ1 ż{Y<+?H8^[&)^ F:2>=yiq\l=qÙ>uzBY2M Jx(وZ C=C{!ybc4%Ua bM{.aKQb:U{ qC}6wx"CSZ>E1Тi+x9mBz܁LVu-TTCՐFkZt?q 0T-@x'~\@k! cx61GdQ~&}K8\H/534<9AIGsʚ%*~@-q'??>CSC66XeO;.:}A!N#.Dr`mE!|̇]djPuIGZ@?^z+ ^Tfkx춾xN`I#x6Nc0w5]yl^uoEXk\xvO߲^ʂ)57!&7uxMAQS}B=|e0f" JΜ|>T](z+O.JyTZ+7q)ʄF*!xhay!r4{jHHyΛ7Twva8~H/I0c˶FUԴ;[^Hy˥-gYoT٫}bf׭i! MvIZ. gS : ow4ޗL.6Sb|Poz`:z% eSWtJ53jAƕz N2G&Fs@{ߍ)5;֤!F 왔ݏq )%ͼ@vSB|:e5k8{"25Uh>j 'w.gB1g3nlރӚO *((EO/UC/49CKe&M&ܚm۶mcڶͻim{ڶmyvSYש de_U}ѓ~$eCz&Anj5T˻ա2L')4yi3|XrxT j0NىTfJi.RZd((%UU9 ja幰Ynmj8=/cjLm|[R0o dĭS-ܿvx- q#.\ LTGoa `17r `Uؿ]U&?x5r\Ť7Ƹ\ȶH2!I19{WZܹy3wX6-& (?ҽS베q "zR3孶Ky~;Cx675hؔ>en͜f S0OO6^o;,Qsuzꏖ\{sVL!JRzL,uZn>Cv\AHN:D*k8^WܸrBVUڞʒq)j{e($+\$,gaMy9'Zsl4`[#`ø2Pi/tL>BvOq5 l[59w NZbn'}9kdJϺx5X;2|bE<ݦ%L}e B=86iVG?`' Ѹ-VYcjU'(ιq[#\t/GJuI]E!ϪأSRVZz]Z>vր&B +ќ8Syk}_+I`,l[^jW9s"h+?odEJDf9ۗ^_>'>q?Kʯ^ȪB5+n!_e5*HdGҀ qikUKxӽZ4+}\R0dU_Zۃ48/%]v,䫦g0naޒN~+ƅ@2S`*'MCLȇ0hZ?;g YDd&ap2":yû]#99|0R2b]`Ɣ4Ձ]c= wkwQ0KQ[XgZF5 Xh*^NP|6!;qXj+bC=/!CͥF6(edٮ.gbu_$,3ZBDT96f#(j7f I7ȵHJ SYXEС;R<_w!{_* Ԇ>d^V }|9G ACm[NDa_)TK2P?],a]7-K-A$LΩD<|/LN\TڅD_ x W٫_mչխ\*"c~5gbYHm€ ꏕT)skFSr zfA'n\l@*[ݮM0Ucp%@6;ZE:Ftgt Ouː1n*칝&Oj<S_ -gol+ 8`i,J 7@_B?,0!ƩQ.y~N̓v&W &@ZZB'\١v*31qEYڶ~ .Y"1v*Q>^0(bįĬMWܓ k,d ߔeI+q0zvk@8xNee-B80 ӂ}ccˮ98# Z>IQy87= |Djh TCev玲J֦)utllp\ l |m*!\a^Q>Id #߾$f1H 0/8,DԷNDI)4i{QYbky-I(=x]a݌PI񚢨@ P!?yFJ7-3l4F1;KZfWh9sT׷z[67iMjIi'")PhQF`[iwedW`>$8cseaKWw{ u 3LUE,8V$!>4t +-JL4pILqV6~wm֐>:É@9IqP⯏dSˊ@rT,ʁNJ R!^nu!{K+e_텕 {B1M'C ,+S0!ڍ!'**[~xu6\:ɋWEx-P7<"43mg G3Lqp޲Zٶb @<@W;/AhEnO9@c)O_ 3$v7_P 04qΓb5زbv]u=R^,)Z)Bn",P*!jF!Tjޞjۏ8`nѷU!/c}R ޏWc2|vݨ0ϜdsF+CRٸn _ry2UA8xBmK5N~xf%jZ h}' J L_^O.S6jK~=t[;ۿfz,NJF $MGMejJ": 5jJ' ʳtOzFֵ֝e.maJ}YC*T}φ.iUR^i!,&I$oO2?φP(jRfƎGi/źV4|ܷX|K@/0]ؗ `QFpM'lZj%< DowtSs=Oo9AYskY˕ 7tSZ'U ^ڞ%KZ#ʎ=4ND|IHfDMRY *nݪ1Bf0$QbW,͗CB+KJç_ؐU`VӼwz!A3=99+Ӥ z,~N Iz hU~Qjz xL \Yxc|/GNॶ6=7bQD:h#mg"9%Oq"%QfT}DL g|3P_ N Ӫ~洌HgL/TiYHd uˬi#[f:. Q4E~MQ(z<@YSvwFȬ2IMDF<ɝ+Ro8'o,Wuѵvrzw'qp _|ׁXu_M%"w&4Ta*Ano_]b49o,/L ePC1چczozk5Q![F?`̿CvZZ*قG}G?ݯoTu[EeޞNN ^L ȫ[]_;'YLE0Hyvn,Ȋp)VKw#J@yb2 }yhp>,$ŮmdT1>T'g9o%mW 'w 6q4fKMHx(ȓAaTHY I!<̕kR\1-80,v(;+3&Ysښ7߸Yds@MdiKφ*@{zL* JEx'&d]ڌ&Gc_7sxAkݔSJ%kRE;V\#Ahd.v!\.OcS"An&އ2#KrC|IY qfMt w .JY-JcK_>Լ7\?j㎐;,i/Uh!Փ[0R%dR"[M")XNrӕqQm> O-cͻW'Ei^w"6ϓ\0<MV1SO\4k8{t&.fwكC@dr5dZgMY7վ(ZþCMA1큇1RL3bZl׫Vdn/-&,šWrNtcT-1 6G45IGB*En;?5[Wlxy O䯁 C,["+0];>nci{sY9yO.߬]I8a>dEn67UH )Y&!i'{0uDW-$!B{]\U99S_B~fQlvƨ/(lѫK[1iQَy8d+lYHljZmkO#ZDXG )tYO@5\FAʊ+_ʲN㜴\Ucn WagbzjF <Q3ImݭʒҜ۷L!c5s:KJ22] _}XU/+N-&PڄNQ şE*Xi $tfvx'@!osNt쉗;2NJʌ9'$V[GUb$.^i!!gnxHx{Lk-j9j"oO>Bq,>1HqixGtY 76!vH=2A!N rB0gDkdh"+M/pP@.{rj0x+H]ьLL8ypIGYyx;' #9 bT( +EJ?t,'#76e{Zȕ@ WvݵO ze EփRdNwMl uA8ʚzkNtKafqV`fo:ܷ$-b{-' •F.{xqF $H :1e@ _fUuw' q}:zIjDۛYHǘy9N}<)wP<$ qRoJ&ٻrHJ5,?_{<7`*dYoӼMs0GToZ_ /&2 m@ICL(W^œI$iՉ qyfEG@!Dp ފJ |b+'u]3X+ Mq GLz?.6g{{˖ DXZ;NEơhEd65 fǴ-'ǻ Og<]j$ ύȼKgw9%5nx4),&u =>lȒRj=E#Vኹi,}k%/1|Bɲ~Ӂ {/5Y>ch/ )7Pvt5?Pق(h=RVg7Lc dXCɼWՔݫ*'Sj39*"m{u[8Fq"12y_C~ҦsdetxIk]!7ۆ#(c,$á6!B9\5t-$)t B (xM/;Ge#AѪ4_UJ10[^9h A?ݍmE"RCrA3/!hfDkylg#LWç&YXyX?lG! $B搂"SRw/T/$^05qy W?`fa8`~ ?k%D'lj#.-Τ (FTgj^iXX?u@{܍ ' 0G+!V;8RɢPACjK s>]G\R0@*c({ߘn8rns6-;(43m=!qr] H.S40 x_\޼z/*T(8Kzqgr78bVn ^V@FP0d<݌&z%bO~dytW/!mJtlu&5]{#!*(Lb(*L!)*b,9!?rߴ#|8\( |]|9~/Rugπ삛㙺|ٿ $!R-(tP]BnYoeo3rKW/=/WQ`OooW팬 瞅W[׷Mկ!!k.ofxl)f);:Q +1\`mɾw% |2AnPM|+ǡ=|gEj.DZ)b|ܔ]lϙәP_{k?W77OnvjT*Qoɿ; ) Dq__{ƚWPh #2!%ą> {N}=m~ m@9!R+-gN4p{4+Zzl i<N$\=(l]wx\M-!}?J ˿SgSkWᝮ4h1O4~c֬/-@J;&KGMZHJ ֟}x!Y46s'?Cq@^呏ixA{{"0m /shԺ!}:.,3vҾ \CX@^!>nҸ:m-xwSoqq}B' 1 tCaّ|4n}\ti+I*Xx ZZ&M_”?J._ ﳐ'Ey'OR'wqʵ6w27W!i>8Æ^K1o^̸/-D7Oהi^,h8۸}, b3Tn&ƣp 7"!I[Ϝ_sL2QC% گ+GϏU,hvZCfK)t+vZ4Kf;>v00/A=Kkϣt$xe ҢZ(nYxöLA1KL' #\:8j>@k]"k\Y>$oߔ_uD/5{'fۻD~kyn?VA%nl#Mɵ0ѯ/vOl\N'Z؛7k{cbSny˫vwEuJP WT\'R"ˎdJgm/˯n0Vn۽gf 6%Πqm+ǂN !j29R!Q`2j̧#!UYkPpVzv7&N֏C~0m( .ao?PHyUFvJ{e8:]-K[| {?)P Uk+hnv8ՌţWup&t#pr!D|]>#7I-ftk˺9%29|.# =}0aL/EJ-.i 7A@EQӪH ƜLצ tͨ9(:hQ Љ{ɩ+ܒ"rB6DLvGm,YAүnD;U-4A(hz%ך wd3'KZtaĿpuv%6 JF* "!q0 }[Y}0 lQfLZVPeF_un~@V}QԥSM7aTk7DI(c'ڋH|.*V~Q{%PEඛ8x K|,MwC&M6`XnsY q,lG+,b{s؇r\hѬK5e AN˪J8=|xXby+ސx52~G>+^RveFe**7!`$~M 4ڸ*lKvPt-4Rʅ|^ 4t+SdJ1_ʂ&?M6sΫQBo:DW3tfa0q$rO Oqdm34P|woGм7%^a{K tsZQ-u~0BwxzϓuLFY *aR3 ?yNoC [i?Aʸv Q<1.FmTZvUJ,W<@Qn^LF9 Ȍ"lg~6h"%=&=n/[*}wWwT. G ܯU[(BQ/t_/~.2Ov))CPtH )#218|N_|DjS,K'1 nSuZ~pbhn[G0Oh<DǴgT{ɐ3+oȶdkQl£SnP,VHA~I{ ~d%*aBG#ppC@ }?@A z VD"C"b:k4쨟%.5v>=4k`p~Ps 00X9h,(1x>d..H<}tmd'9ى@-)}3<j=,\0I&|pks @HcA#  7za~ SeBQU `Z[%*ʜ <:)&I(Uf(Ad?>*Ln Enhx{ ,Do{vnjfKB9ABÃ},@nMG ?]z 5!n>") DTwg /$BCTLE<ȕ6/*f1kd5NKڈYI2s O[&!1M~d = *=9JCa)6ps# `ɞU2Ua1Te5b'UTb&zApS,U)&"~.bIx7 z!C H4|]i6Ѝ1Cciyw>Kk);v~lZR8b x`:P`?0'wax+U"vV{-N. ៛t'FZ~f FaZ-&3&3r&dv5D;$ Io䏟`UJR:SJ\~QZ~gdfbn8X;JEYw<SplO&iϙۮ34!4MOa$[J .~|VKH QB#s Bm.4\HWĜJst,޳m~ݝojL>=BI',F Z7ܻP: Bc>ͅ6b2zS/qFJC[EvSnZ'WY}%?ҔWYPPРT`Jk28VpD2J3JWگ;UY9z K)-lI#d7lW<=Tz},.vVFPx2]G[}O~%{i*8X u O Dˍߍ_@Kn/˲O Nکplo-]s{(<TH*# DآRa%PCX sI^Х.M'\X1zO&)xQ!W5lu^P]ʨ.ly?uZ!ճe \[QwC7l 6}C;pVɫur9?8TFniYw,1(r_(!N; )"uJ95QSfWYq%F&\ "9#}uT 1zO<DO2UHԘ`mR+ 4'lH>{8 t;C F}z~C;ZkW;d7F?B61(.@=wOQNow18jB}n捗66f#C9v6\oehA&h?N +b J%XwJqȖ1'ոGU{?X@'wTbvYv0z*.ګmy6K{=h:^"7E w(pfڿ&Qg~Bˉ:RZqnҵdA԰D4I®i@ge[R/2gš-Q7YRp*i;RsKu,d`\Z1&/絫ς" PGI}D c28?tF = T4u3+dI-q^9ow[s{NGxƃ3D6uV_<ݏ%C% b2tQw/o\ԏ@ gc`orsuN_n^6Uᰢd*]v`~wP+6jt2A0jl=ƢՍEU|B1(~hߣ+s 4XeU5~.0C_Hrf:d2{ ҕ7ssgib/XP4R`FaΛPsM!7M0'{Xg,(<٭*'H ÌKKP/} &J(U>Dz p7(o`Yрj:WFزW]C׌W${C&޹vЅȺ^B 8Y%b'm*lras2tMVxȘoLLii~҇M"Ʋ׻O2~H ް~:('vDsf'Xc1VDfɺ{2h∸sXdVKx;%H{`6q5UgFl$>- DPȻ6cEG (nN N?+_+y8k"0KoB,-C6o`#=h^ _ f7F2C}w??JTe?op7AEwj&nֺwq<(=QdD1\%2,H_rWrōE=? rf8>8?yZشzFGz&(11JMzO7XR[>:]h8"u/P nY{Q5Hܡ2ݢ9cxe#]|fZb1QF lb+UvK$QH 6U1=~6mAGob̗lЁFKg+?p&`Ru9NJ76nwJm B_R_=' ~2}-vCY +W 0~c17Q/W xa /䔗ֵ "5`':Q;Gֳl}Ķ4F[ETw R o E{OЃS)ԡ+2C76;YQWg 867RY>u[G@0^h35x=a :>Iی u,cijYH'u@BM$tc͖^Al|wXh ~嚱H)VS:GTKga Yw8{G V3>&_}1]Ba,θϚt[vlڌ S>AQdh Unt}mBz}w<ү/pOM4uX aFS"&]!E&v^ֳƭrպxCu1¥9Y)&SJ*O++lŮ)ߎ\V[]y[ƺ "һcV.bD]-=%-BT+anow3a=%\EeyF|隀gzn$a9ofWeZP4TFYRrT>qrm|4Ӡ^C!JT+, U-`avԚKQǜ2~Iۋ8l qcS \ 񦸷X8aSwUrRi w_nU&F&q4'@9?uUyH<k7q5N5jKN\^{AGujVYu) Z. TLkO(W!,w'4g}}s.nDS z 0#fcڿ~U۳#mAdAzqw~he=6@lyO߼1xA4TnRiҷ3COCg`;ٕzU<~ }VV~Ѩ*zM*[FVIB(bi>M,i L .slf4"!h,pw,Htj>KFP^@CN^3 re D: 'Pr?y*y7n?R+-Xtm đrNX/og< z esWN6~vix@6UK޹)I2 WM kLetUIXolWbcMGS`u09ʽT@?<ڗq,!XUAl op {ЯY7k2!`/R?|M|~*) ^Q19(7mf=gB\:8e ZYXq![Kwe.d }.ZׯYg& OF U5dMOa/qWnuu sK Rm`r:l&@tJ5"+n#5;3?K_| |TRP rG[B!V PJ | Lyi!(i`֣_{,PeI+\cͿ2J \is/ӆs l?p`-/,>'5A(U%,P|hl_ev]vZ7ҩGZCWs$i5pW 0,DaqXfӆ2<|z&"Vu8!߉2-05{D.삞hޱ(2n_qcy$&GG2f|$6AU3Mm}P6BD6D)Ytj';}@|~O+D3 ] VH,>̫f4寑C!/V}-F$1REjiQ?>o08 faG) "5t"nYAo޹J:| /Sf֚bcҟwcxLѠd5TqP˿aB LAd3F./za]Ur'rwuhw e/yB""eׯgyap4'̍v;"|WX?VQ3i09y=BkD}+q ʆiS⬸*$*4D)۪Co"Uw im7ׁSFZV?? kOq *73OtT>} xxb:ňx [bnդ,+\KPKz2ǠEdU~<~}<֒aMrT+!/i֔s*ф.]w}CN2k(mPi!@/゗*5PUա LPh߳ 0\=Ù2p!kn@,=m޼\Tk @NDٯ0 Cc LKX0+,Ċ/F]ʡaM0Ɍ嚃t,nj ϸC{Q"Q'J!uFw(Y[mbHQ#?I V~eyq?(^٠A4'w4,օY45Y % !^5I鷝<(kK!Ѐ({OoSch *AŋQc,UҺ/< GlCc!0|rf?Nnijҍ¸fw~Ũ?7|igf uNMZ?#1CF!.k\N+ǑɎY_l[MRೂ䂨\8e{ rۆ<ˉy *}Vbg:o[=e L~AdV 'S+܄O<_wS\W3©@p_䮖F[q|kT6論/=j] Zlzc~ Ɗ!9[NiEB2-869lG"x!̱]܅O\.e {w"_?^?>kn_{uIno*18AN.2ϟ]hQNru!īBޏ.A?gA5x,w-b+\޸v |؛Vx2C_XʉM!Оy˧׾ I7#osmކ [gjEı ( :ߚDS"J)brہξ@uEt:& u[ȆUZ ڡ.,뻪_b7b1o(31Ch (\w7`X{ ; 7S2k/G[;f-($7͠໠2iY_˕h|oo\VhGucCO`R1wcC*w'4Ag6diM)Ȗț 3W%h]*w G#gEd.D?o3BdRPd[J(Y{_|79AKxGV=Her_Gf@jmqox[L=2aC+@(^W3ܗ$cEPݿ7M俔ky'3Hʧ뮯tE;QrG5oS*GW0a|@zxSa3BJb²0庡+Qx0 Dsmi4ֶRYp&?BHZ*Zi 4 hd 5_'r!)3i5XN OKo5'WpSҡk8jq+BjYH*Hj_Wc KX<%&x6³->/'=7Ho9̼sV/AdhD9/hbܽ-n$sPÉW4or&l_-{Hℭ?S:RR >qDĽ9"U3"}9LwUt+*ZaID:`.q;JϓST$/>P7 X8j?~&ᧄk͂?2?;-uiB-=z׍>x="O>])ML/9y}ZdYqUrvcfco7N@7^5m >ѱvIwzv=GQz< j 7')+sj%j}H:8jM^Ol96[ȁntc)7Ǔ<֮2\'׼CBuFy82r5J?WBL8N МC^ͪ^BJ BmCm\5joeQ(wXr짂Lz>E|55jKrfr4PyPHC[TKt!nYjYAZ%¥?r`rg{+Z|mQGyAJBd5&Z'o ~gR{Uf/Tn`^\#fn 1EQRipxn}0Q ٚ fSD"aQ@:Oq+Ŷ F__ 0ʯ"Y;SJ*GfFsb1y 0!0h:'Us (ʦ(pdP{G-DA_[iI81rP,ۃczBTh$Ʉ~9<>1` *29mJ}N Tۀ,OdIyH|hDzV#vJY'iJ&HƎwC\`ؒPjYeٍ O/̬akޏpZXy5+pGXuR#\V>ȄCA*d0l/bՀW[VbPljbIp.\P?r#'{Ўo;`Zf߈ z %  'H=hh_>ef{: WMKjD Y!iwPUh_8~D;fflkiϙ~}> P~lF};*D6_n.+\pCN{1{vnY$]P>gS~+EYI-HUb ̶ _=ZR'3?קV!^Kb7$~y"8,[9M/CGe)A# ͌>ra\( YƦNLHfzLIѴD-CUƤ(IkbbB3!:KtAAxsG`U"hq=I?Lt/hPj QѺPZη,'(פGCL:Y[\Q 䠻9p"xγ*<=-Sd8of߃z N ~'Dl#}7Żo&a Bxn=矞>w!<9qr9q&n4Sپ W }zUd[Dp1Ʋe;-)&n#"ٕ1Җq`FrM8*\`I+K@} WqJ쓁es7m;G(Ѡ 7vdq^]9o0w| b*OƢ'``P N(zϳ"q ל\9ʃ ۨTkpN?e!Ј+E S$Fo㤯[QдNBQ0@_:Efy>ƟgNPlKf=hYO_Dwٍ30R6C>fpj1d˪"ufqz!xJo>f ŕw5[nPFuNP.l֦ 0QTX9A h/1?SWVCQMC[ȏHW: Ƽ Ln7WK8tp<^yM{>p&-jNlSF^ΏԘugYN0'6fz_VHu(At3 7oL9LR,D`%i%vL'-MׁYhnxs/[(<`@-Pтav} 5"'?b !&b~:GƹY;jvtzA F()XSB$=N乲DCAoS4  rKOi?a0l~B3K##)oe,π:iCBq40ŖG8axpxwrMMFsp+,F]!A| O %^85+"r5w֒0k3pQ^/9yN7se3 /)9E!y {R;bcRH҂CxP*ΙYv$0A86^j=3#%ZVGؤ]9}#HjO%.o~u! !E0^`"_%Ȩ%Tx.<R`2$ ^٣o;8gd? 7KTURP+\ ]Do3{{υz|/N^ %50!ct?Dm2^zu[smuxa.>1FRָ#|xec-mU앨S'B}.ӸaoBO8ߙVQ4 푢5a D!* Ld+3h#`F[q1@S}pőCi9PAcOPk?7qȭdi "uߣ<[2D- _mC'@dTOy:!8NfQ q8> ƛ{:&RZI RP nU3 5 GVA,U,50?FFwXP[)?PHɕ cW<\p}~@?r}Sx7p{ff:$oƇlԂ%܏F̐QHDk)Ԅ`8~bSM aACf2~CVqXi׌2 Vr՞q0"/ Mxgi)(D[Yq ܞ_o^g}qp(.pP7U#v8-?u%p7V;3B,# d~Lft.EU\F:g@nE+ņs-}G'*=Q43ܜWwo7VlW۹a>kK B>]e/`oҖc1䨢9}kB 8`j-5x .Js\ju#s!g^=DG]}UuA/ߢ'{O1%aWdK&FiQbpw],-fQ&zj-"D-a_I@ CBK+io,غ<ȍSS*IjUmϝ"2.ڨlu\GXO皪cw)=g?N:Tܾ`:^Je6dNzC m e1sBNqaen[W#=I =TWGHEIHJM*]Gwu YĽ.abB@A&< A*XyM!Ҡ2Qd绁ːlȑXTmăF g*ݿ_6J_](%DjY&3^ 9@=e>^|>@[:nJH-xú]ABʞᣅM0=׹*Ha^c[x/?ӿsƳ2S o!sTPKᮔKoUpEoy2Yŀ܂ j;%pjG=*rE:į5`Qĕn(y&w++BS EþGCfGO<6mzaS4<~mZJ'ɞ+33wfl3&,R3#).9bo£7KoqXSK +R!dk+HgfkPɨWqV廖z@7#bM8jaړQ>.Bf@n:ݼ|yT0˺D({҄v8CFJO36۫E_8K+ `{ɉ貍 W;|U&Q%:mM};qgVGH`A;`&z]!k_Zz35")*IC%=5vдټ2lH>1ڀB g*E\vp:Hg߆r:ley-Lu;|~zL zX>oʜ>-uz-4WMDMRAH~oIRiE~}Z|=P}Y=|\ֲ}$p|:ǖ|26g| GH1I,?/9>yvjF]A|X+y:;}<87U5LIajӂ_ANM F.!mo[9 R&TrWM߬7UNs"U[ҡeRc^v^RBd9:§ؗe@(XUMOS2|Cd4gKT UNs`Btw82FK9_gQZWVOm *>*gqꄲRWuE1w9/S !yrO=3ؖJW`D_-L?)%/XaFP2R`aDP+w;1ZH_;TTQ4|i2b)#Fr˖y YV4\T'UZ ɮ 폴gάN'FBY/6JHdogºFmvY&QUK! ;.ίSPa_r ?hMu[^lz+UB y'L1/67䛗Lk%x`$Jm|Oq߂VjHA?K?f;L<{Wfx<ۥk{ey"4HXf޹¯jH>o7Zޒw7!xY%;g(W#J`کRO2-KR½o$bɽ 9Xj[1G7jEhJ`WmI>%3YD]v[cyG-?Ns?\dmB+_JzxH|>S:gbCh}2D]<2ԋι0<33_89x:<wO{xM!rnl|O_*-Tz1$pKj &sҧk޿EpߒRJ#W!/љw47C 3s>RAq^~qm ɛnhڿɶ3?&w9k}>Kql}kjyɰhw}j!cpNFE ;uZ C*72vWַ|2(ppeM$c(:%x3ng^I5w,/['].1Tfz _/x!~%3(p'lHmgΚcEMGm3#z\g}^Juq_vJ1 ugQz+{-;v yVZyA#~ZZw2UQT\WRqBs~2Kz(ڰGTy,.CBE)K(Q/:Q(XQ2LX&Ö]4؍w#]m_Xr27l8/+i^1Cᓆџic>4PO_6x#Va-i-3m!s顸^Ȉ\YSF1JZ&¸kSȜiHXG9 ]߿󻌪Xr))~qEp6Aoݔ#dQ-C#p`ΛU'>v,XX&'>2${;}Wq5ncf}tvwi(lw iam8qgoC!`(uShH[k nC!l{xr9xA`io{)ͥc 7a?>"|N v^q = [LbJG9K;3:TdiCguNHEA9 ፡`VU)F/_,&&\J6S]BwАq!V)}g]ww3c>_g\w_^(ً #͋v=`֍3[0qnBoUhĵsmA@4W@ _`h/g#FģMvV&+mw܄y`W)ٚQ=,5Z󴕝cOũ[y ߂Ej cVtNotвx9rSzs(Q:z|U|RY 2gDA<+5?FNfyoDƺւ=Q8au҆ ,{DePPH%G;ߩ[o{ԋWn3rF~eP<)IWh$OS$ 04W>UǢf {}+>s(?XEQUڻ{Y Y;݅'ɟrs%7٪5FW7s&+XZ6@Эb U!f5{ I=n;miޗsʧtxktD8 ((+{ 1F<(eůvC{X ֢w}`urm'fy#WƀiD v8`@b&la}.^E?X7_sach%U/;,v|`Yosty4fES__lNdA G\K qJ 5/Z,+D  =Dϗ x%:QQuDIlL>vR0v?%XFc&Abߠ:z'ӽgcDX{X8pH2k1*oP)Ѕm2ΤahNъP.ˣ1T3_觵$|^RnMjxvE68R&RBI/s9sim/~'T7~&i^e!a$j0$,䥨CA!jҨ0&$"ґ40,$䰜K^Fd^jpc@U=z u[f8ZI0+#RYcl$IPCe:EY1aJy : /44Y͂tEJ~2F~s!r @ؿAS 9~}r2DAr)0N~M/?2͂~eu'[Eg[t%  #&* 8 C=KF!l˱0hqvVш$Dn)4om*ml,|pp ޮ":Y ŭd$E Es4#$0Yэb]=a>r@cKv@s)s SglA)bF 'zEǧ6B`_/g'4>~CKuc%M63mۚm۶1mۜ5mm۶m<3>޹sGT^Q?rC'7-h)81SM+KԐG{AjOD9|а^?^[WIsƮ4;e#{\, %hX2{^ƛE[XB´;g=P.-P[>ኻpivyW$#mX;wxDcՖŴ`dX]h@1f"/cgk7-WkIbUoq`!q̨,Hx7FNLpnI4b=,Lbse`30!D떹!z=3ך vZZqgFan."V`X4*ܮ,`X4#/mNkςmSS>0T{lto V (]Fr.^$iw RtaIYX؀^?UPP&Gm$UdB!ʹ@Q&cTʰZ*YFNl.izLA88fE Wsjg/@5i փutwrG͝>ksѐY}n~Ƽn;V tzE~oRb'-r`EH(#? R ?:{ߟ8(^cO 6b?J]?̲ ND=;Iϰ6,SV24dr-pBBqY)}`c s/$%'/!X!gcETvj极&BD2"KQDc;k]>9Z +KmJ'B/d-w 46.PIw6okl 8FFfH&FbWƤSYT718 |+H&* Wnc睳m3D5wTINф7[X( ]cJ:*΄ K 9{|EAxxM~I+#֒ 5c6zC%_E..@$ jjQ>/S9F9N/\B\@, VxKsl,7_ky W?g>iL*cRml8NKMq0Z4|ј0PHϼ=뺭nMZsae/!Nj}^ZH=pboJ9D E.+tT/ذ Ԛ+*2w)/S#*+9Bt1X#F3Yr j-S[s~<_YlL^8VZH}mؿE|:xo{Ri_ShrƧ=w6cY9ȓ VG2 G u9J'ToȢ^8 })AG|7Τ5kSWq#XpS+MqÉZu}wsVLӟ$M`y?K4oL;g>HPB.SY4oOK%5M}@Hw]jtCͣcɣ+fH3hL ף4KrGdڧcNjY(d8fHnS_"6Ԍ,yWS̑ p :۽ 0~CV[yL*{G HxNN?xP$B-gbAI3 hӶNVT=Tʽr5/4#LO{kt44L۩;F@8k7fPGF^&{"<u/@eemWVOl\Ki6m`ׂ>ryԪ, }٠p1@`Z AQxz꫓R#\wo`2GۮjH R&Efjrą=ov2&6igpE.޸Rm~I./u]L JTBL#N^Dmnӊ!H]Fnp$X>XF4G^u2:py4W!E} d$X O+Vx:+Srt\~P!0ڸ;XTkPϏw AM5 4PLVFI5ʵTYq=& *qm/xFWG̽:>[{:+eseY R)3.l,NDٔ ++-}F[l׿f޿ԡtj8uNu|YY 9H\?*-xt\}g6D*r'L徆x`A`^+qHL: =1_Px],0X%Ch@nFZdb ܡ4BqCZ,.ƫQ d@63o{X\2S.D"10fYe#P$YIV`ahB!-j0d 5!SPi^klk-a`;,!ufpQ%9vopˢbXh3$Bܴ5y";h!8g8LʎVjEy,j qۆ{A;g$dS{ V8[}exT-扸رQ{)/ڞǒ[֞n QQ&T+󓅖^@؈Fєa Lŕ*sں&,n G %j-ێЧ󓏠E!Hs˧"00tE!0XĖGS".`2 4#/cBsTm 6=fȱzZ, wn8^)C@naFu|mdxP:fȃ"`n$+π5ϝ&"hYO \W>Ug,m%C";[E㢳9JbC$(fKtTׅemn0`EQG{ h3 s9ђ2X7qH^IJd[ 'Tmm `ꂈ 'A$ĺ@cq!/ڹ0%Ȁ5LKhKM5sViXp׈3d+"oxoB31pVNnY2?6&].píʕW7-ƙ._AVw.ɽ>"AJq.=^|9۰E>TH^0:{GxLIxB%KS[mˤݵqт!\"X'†2H%_пL@M֑wm;?:5jF SwJbc727̙OyMMJ7l,A 쪠#xCe A:>M-eh@T=Lڇ,N5D& ˕fm.78#Qԕ3jDYkEKHZWy{pFG:B1s$5n11FVjk{ (|& b 4&@жV)ķr㚕lt oS53;serÝfe*&.uU :hF!dFAڋD r*͸#_NQsQ !@Ac ji BC@C/V A h;?7?CWS'efM.Z{ڟiC{; u7N30[6m7` Ztwc8mj j%iC%lv~ЭA3X7vIJBߝ~ow+AsHȉ+Gx\Ha8'L'L~ ]@*Lҧ WoC7ӸU.!¥QP=9(wa3|Rˀнӑ*X |*'Ǧ6KAqvX$Fj$i^5jP vB?_S h 7*dĺ τѮFe\4'B-rchϡB4"ͳښ9Qi J͙.GdJ_Ύrb#}V!dHCØR鬧.׫o0/s4~/`xujreq]FsiA`zBgˍߢ|*,c 8y;u~wӢuѺc +uQQV`ѹkvˆH'\|e9djZ7 GHolcbsiELfA|ۓEJ$"*-٘@Qh*< J*hۼfѿ< J4bhzƴzQͭI۽Twu]S&|w*kfDy[Fkqz*qG) #i2&6^˟or' *R :'?zHF7%U/^H@¥ !WTۯD{HnM]ێtԵhy!Nu8ioX/lЄn1Q t2[+F(!%Me |容 A<;ٔ˧"11o(0\.ZoۘjAa.+5I AXW_%DGfQ ~*a%8Fz`-J7/LBϮ(iOtNq]XZ-@i5-b )"+YA] SXj/ )Wq<zz!/wG8{.$mg47m%lY3ՔWyr57=c\̘bL&lK\l6)-Ql|A)϶?"WP>F[6d M/-WU<'gdLbzP@z\0(Z{h5VMWf[{b*11K|Mmf(Y)g[{ 2c|)i:#S_\ΩAn:eႦE@T#݀#,f}7c;,0OtaN2is㦭S'&&3:JvY%C`()?0?mFYzۈa} (Kc'Zd!MJvt!&n٬ӄQF no8zR%&CpGeTa&XfS9N~n#s^yJL)@}X_dGQE%+8)#MXwűo[شFyY.`8*QM$ƫ@7n^RPjٰMB&xꏶ,0]ۇ{CL"ϚeJ.۠R٤!?.g@X΍6n6Fc"1fo3^?m-4`p!t0 RP *Q8ڬ,k;OYz\N!fyIݠt:x|=xd{کT|U4uS`S(ɥ] ҳnR/qT85=_+bvdkd:ў#EgiI[|G! 2di6^ûg[3x]NlF LL9FJ;irVMƢaf4j]đ"ͅ{d7S:6Oq͉ C5w=Z]խ27+}>㝯"Դ@D m?"?eJ xC@ՋXAE!-Xjt>ֲbzba r/(g fﺜ>5 B"zLb^XBnĭy'wŶx767Ma_Q e/.b~Ai6&q*:8xLN?Rb͐}+Ra-#NOEym,.YYTE(m ^G$z%y#7{G Aa> 赪Nlزoc;}ŕo=bS?YN,^ԑM phUbנj '3ɮy~uŀ"%qoOȂ͸u'0nKATVEi6`) =Czx3eo}ѿUw'r_i!}.O{VjÖ0/NYO8DĖ{bcũzd&.xӅ27I g\|&\m?.Z7TQcH-պ K< UW\9vLβ2|py<98A av2>_Ug~,FaqOJ~'V[m }L_C`!~e$w*asE43IA:$l~fiIo rD~G) ILPIڿ$ clLeoLA:fg| ܦ }y.XW d?hLݞҷc~ g7Ƣ<@f$uzf3WeŖ8YvEEGh&S<-Q3|,klMGE%4YptH'fmgbIo^OkʾL0.ѧ𦛑*cJZEĴj]+υM(.D?!SIJ\љj KڤWځ -|r2:(e*xօ !n#۸aH `H*'N"8oxʤ}92_ ;mIݻ)ɔi5KukCZS ]6֋Tc}FZP>2g)R,v=>`c-3]Kڷv0]N7|wSȯC|1 x5w˚E;Ӑ咢{i.x.?n<lr(ɞ(O{W+Mu/f8K}5]q~}5ݫ&ρֻ.|\ɋ#MΔ;6U7uil3|kdߙ1̄{}`擾rO'z4qŚ0sޮycҝ!>L?X=^=ULoø]FW#*:w/ 1? )&QOMdBQ> hRa.(x jx_AxPlclp.wtOdĦG6V-جxc Θ}M LC,4VPҚ4v$UuB"ut0C\\)Q(=\bNO_VVu!ÛjnPL ϴ9]4y JB3)%:fJ;Tl*ǥayo4+K*@y|Z[ )Au8H<H H: a6@Ol6t-ZK4agsO!"k;ǥƁ@DU)XЏB"?G˯jJz8 4iFE, :|h~E{sb@3*pT j6JHnifj?83.s nv2xǩ~EaLPR݉Sag|RfC`/yݭ 7^=Z;W0>,B E=U9?R@ҳ VB`ylOC┫L{lAlz :?8Rڛ%yCT/':ukc<ǘ"lM, Giv&|i'ZBnܸ,o vMݶe~tdU 3ꎍ';/lةӻ݇ 'y>3 ?FO}ϩ~侏mvez?FhRlr\XBzp؟,{YҳťgIIRv4m /4eN6@ w{zce= _Dm,IK+rTa)ž[5n*"y(?5?&B&݈TVE?Cx]6W|mqkGu~ط#T>a*ւxoJ+AEWHCI% >iu РFV;lH,*45 lqrmu1:c<Ҹ~d7b{f2:ѧΓVm\`PRIնTǩth'o60{"(Tih԰]`:}ZkVÒקHWۇ^\m vߌ]lDSϰ_@t5(dlnyacTS:)5ll)7n>r?0zN,kj]*9Ԍ+6ya'YAbGpPa۬.H2qU~(ֻ f#yj¬kELP\]٪e0n=VP7<\ɤ`nN.MEO{ř+zY$I"Q"ÂNҹ5h-] 49؜pV\YoDa~wrj{U~U1KHe{ajCHdb(J0} r5}}r}}r }7CPj<1dDڏ((܏(vΊ =Cjdڸ(܏AW N'SvՍb}hkf  pIe9^}An9vhH yPBmB5Αbᖱغa57q$K V38_4=ѦEg;W-(sXb:m 6OR0ɗ1w}NSD) oωwt$\jE! ff4b鉛iHoP5?$9R/3c0G>dWdj!2nMeYݰG ek ;&Iם1DB]ksNW%+JcL2xey2~@n8:--"3M숆gc4FډU@卶,=|*.4k3%}/` }$!);p?Α~dpJmS14٫y1uLP,@(9U"\mW<ط$Nq\%)-8lrbꓵMԾBH!iΈ> '}9 kqt=w%Rl 4.Z[-, qJ\yPmjU2 #{fIW!kJ ~32 [%qy6xݧБdLsõzu(Cuż('tefvTidsLfejcS‹QW+oQʅJjG"9|Y kys=2ZoQ%r2 ȨhDmD7+#}Qi;=weYKC( 9%<JVM7cs;7d\.X/+O7.ntolx9 {|]įwt)O@g)]vey_/lTgAd/R1}׮\@&boYʳNgƚɇQwO=pp@ ol9iz\r6bUYZ" Cwt)w)A֕lFzһ4{'D ؝ n)Z<0HuA>* WUm'Qmr}4_xM;^r! ,eMnxeG/D=:z'0{3J gr&wEv}~rQ8j:֢ k1\%;*aG{mS#hD1 wQ~dmWlYGRI@yK $\+=[lLB "}z##1ƿFJ<' qOT>2'Hߜd4F[@_<;E\0ϑ*Vr[Jo1_:FK](CVVq|s 6'Mpv.0XNvJ kJ7i;g1(# K7042ovin pYH:tSDCÍ,씑WJ̆yIHN XgLH F̾%Z>-?J@=<>{=i% ȒeX|{&e*ff 5t0z)S%P!,jXs1B* 禨7!)[(ڦ_Mcߗ_j4]j{ JIÙ-xo1(4Tmv0. "2H]W{VDȾG+a붩>q2hN<7'eO+ϚUUA~_!&2s`5f}: v눪lEg0_B^~b%an\vu\\U/¶*?b\`qN7>7LnF x]nG=Lg/}k5ݔ /9,9epIMbS>toyylWַ\ Jv-Kvdb/).UWOg~oCXr_ 74h_\@*N' 'A+,sOL⽕ޅB\  +hIdѩCReT[~ۃ֬{Б@ttA6u%8r55{OKhqݞ&eec?¤Hp7xtk`m9A֚n0ՖMgjB^ ^#hoW90%j+Ob*Jw~[WUd ͌7_-D ̗U%4,TD] }շPu+(91εqy+^b[" 4If{8voWgv,z2Y I{R5'P n{BQvMeRg{ݧ"HJ}(||q4y F ¤8-(Ȅ)kdIFK  !ӿ,lUf9/*J f987?װTȣ舡-M, jه9G9z|6;Mܑ )nTt]e^9rrqvǶi#~u{:ҩV!m vJ9hh*fP$"u>bk?ŶX2k5!%mhMjUCdV4bF l&t7L8Xcd\̥Y)6,i!`D4ޮd6nt'fu-c0-9Pa p5v1m_KCtu?8 ۉ߸oK:tˈ/AE5&"@ q]sP J(@ڡ +1(S9ONVGx*%P띏AbT/wbsK*o^>E.i Uњ@ND*X%(Miprp"Vɺ!p֠ \&Ń٠kcߓ`P 8 ܉Iddelқg~^@AT5]alI=֩@*i!RIr/o7N<޷=s+2..kB昒qUAd<uec-oVQ9ME֙7Z&{=Jy#pOO3F'_ju9 #SB% % &&15`lVjծwQ7Krŗ™w]>[_C&F %c2x4vC tscDVםvq KDXy&఍\yʲ[őCxv.9$nO $gç6tW*1uU; ɋ#}PkgHisl/%<aQlqj9[0A%W}8I1Xb+y'xK$ۅuyHc5nr5{P+TƕR{%żp(!rkv7|&lssf\Yl{vu#- 쌒87!D*^L.c5夗=Yyݩ|2 ݮǽe҂_f';}t(AuH$MԄ"]߸s|sIZ HX$L <JDzP] rϽOY@HSٜR}Je77sCF5pQgx {)r\39;ȎhL+cTL({QbCWSl KpUpşL+<>]S߆:yVc/KY9px1Py6;@뢨Ym @Aglak ->kK?hm6rh RLa/?nF+@hE3h\Q>h즶FF\NyQk~$T!$Q'ʪ#pVo0Ką^E]2,\`Lb[v'兘DE۠鴠~2ys-J6<8vY1" $!%<£^ߝh}>4>F۠is8i˔)]3 n3gjhfcPA ʮ6"!hND ZQӎ*G6) gZ2Jij}(}D MF&TI,tQΆ%CҮbeƪwd8RBXՌmAx_t:f\YYNIŽL*AS*gu4tZOcY$^`^Ü'}Ēeބރuݳ?~Zm-9x 'Z~ ZCCg5c6$EcbRX"7z=xCbI`}x3夗Jm]+wsg>1{ʗ1|Z9jB܄gx{z]aONq[ڌ~_=Oȍ) H!RW>1x¬/D_bxܧ䠇 y  dkdc#Yja!p~OO Qh]xj^<#[[J\nv4JRVQ YvϙvЬQEsIOVNŦFA 舙KgnL6J͑ǝyI#yǞ9߫\~F oMXuP.ڼJd) omMЛȭbopP 9Vt *!t䀮/yr.F++kM4$׍;B ׅ#lTH ("T&/fvi\2֐5;y+E 7]i8n0[QS8•hpy?ܺrol ?: O:}D*| Wb7 -ŋݩJIS>jwph^k 5ñ؎\ϵ)ߔu Fϕ'@q|2sl?\ ]$3j ';~’#dۿnhq*94nϯ|'>_x[ΉP-Ԭ3_BYc|1+u>#?OwN1P@m$台|k~~T·tf)3E/>Cu:{ëx^<nzĶ!$_'p7szv?`%?L2 Oo{ \d²Eb_ 1 Ҕi1t0Ml&+9pzv Z8!)hb\H|;\gc+jH߈|Ѱ+ϬG( e-UӛߔJN*AGEDz?dXwB!;gB RMeԒ+ɤ-r1+0&O H$GAK&qhF;OrJ#gsgٌQ^>[=9(DpV0.1 M3b6+M̱U[G{r}[,VK@I2ѽG\c^zƸ}_q |MN٦v2 [W9Z(uX֞F`&՘/ w.…{wK;Lu8D/!%r.1ǻZrw;WVۂr,U׆3E\hK~$ANӓ(=0gkõy&ܘ/!MEdM'H/U޳cB^攠u[hΒfׯ*,N69+ 4QS9c܀mT3$[6R B {`@ՒH;nA,Ӎ@C{~N_r%/~RSeA-\?!q?$aInϛ+R|8CJ8._}!DGD7 fURZ%If$΄I翚^h}dtzB&i?8h;vE ~cǏο߰LG\P^ﶆE_8f^٭r"e%[7:B: 1h+<׷yն-.hLX.zBr9o"KӅ@d"g86 y(gB3*r^ډZ"6{~r(QiO6V{P(v7Oyıcw0>y^ԥ[eCԱڥ@.& El˪}c=M4e&&9>O r ACOٰr;B.|JIX3zi06O'3tRDtBg(cH2ľxvlG)t)|%@\~c2ŠM:"j􅩞Uwlϻ\} [0?)/d(R65)2<<΂? cs\*D X[ o{<5XE@-xY7|_ ש"C7 ɩ}z]qzqA}z'TS=#QT4>-<=䊥j]} {\h{-?gw ' 8Xj~ ㏌@BDqf& }PG|>ц}3_MX8$4S_D}`ͿfjQ0IPyd=l{DAVV %ҫ:㪅d_hj ',~'ڴW*[&.EN>(= *Ezx@m]S0Zw;eU\8 3 :]gq@zY̌1 ].qk7ƒ3#&}#ijZp!mNUWIO7[-I>T7//悷 vRHˎ54ô6c⁴Jt|㴱[^a?ؑ=Jk&&8}(,oӨUhj):qHaf^/'9ҕ,e,LNKאYTuMW s6c)6[{O݁UZ(>Ű_T:HjfTtj3VSM{ǘ8S{{6#`YaDvRڞ]쁲>/kdZI8f:dc:沍>wRNmP݅7>VjX{Iآ]Q~LWo 1n:rNw^?>qѱyqգdn"}4|1у g\!zdM~.2<C;KCm*y.Xz 13!xj s3]HEgdqm36??W/ɆI(w^OP2,<=N돉[*|W8$t8 2xjiqgr_" DQƪǰtD($eV3&Tq3#.UѵxīrfwK:e/m8MH0",m: Sg0hѤ8Sj4.̂LDwHXŒ3"I7|䪩2c9{P†r3cM1ey0LE4(وܗXhĦ]?5.!<&j"YahKrw$%MfjEq^~MUΘb+6nCO"ܮ4lԌgp<nV-9EӗF;loԘrj mq6Q HdăDh*061$zI}8]Ew6VŜ= (K-u (~X<_BUϙ|r߰ߠhY[D>6I}ԤaCm)衁~2B:/$aQ3pc Kҍ9TT€lN &Iж;+O5 w H].F0[/ y3;Iߵ{O3J꛿WB>4_'γ`/O淐[8<-9lݨ;,I2tyHFS}g1/-b7grw[Q^^&R/qC#:3go̿l1aX/͎+~<$]xfeH[oGx;PÌ\@Y)ҧ><|v=7(ip#E9LU~rN>;D+>ѻ 0Q*S]|xYNQ\ {#ڳVDk5} |).pxTY᷍:HJ%l*PՙLI|\g1*Lod3r' wGƀ%x@WB _aVD֪FńPo~]|u&GhzTh 25$+ׯ۟FS䚿;1Bz^^L=3?|V9ן_2<$ΤWJɤ}侀ݑ6hk`'-+yo6+e 8G AA'#iX5o<%$ w91]DIؓ_NX_ Rှ*IY>#Qo#Z;e')IW'akw`91#vN$w3GYNQEDusCq:p}^yP&B` ajo_!.١w-Gɩ 9=eHfOq=(ZӟQP]}W1s<GZQ0-)iB?RSV(:9zw/=,1.3+ %+tg+Ra.sD\f H|XޅJ +I,)lƥYU@ [t1٣`*u2ze*_*f=؞nA.†{.ǿ;B&:/cTdטe{X@/a]l;sf$wE̯LG{'c Ck\Ug%E뷽c벾2D(}u M^<||^ U(wo! tDlaxyJOpmA^;CƯzݘxxht=(E$$"S Pb8;jP^Zz"Ѷ|;`Ia*˫p>tk2=ߔVB6:"~bO?GO@a2]; ҉g5^Z½%Y37-M,$UӸ䰝0-7i.lv-d/>nuzЏ!'B#18!ao: ]! ^ 4tځrW(h%PJ1jySÒű/g<8QQ9„5$kL6ģ?hq8kSsMS!uol.1zOd@X{$QQnkbD+C`|,uǞՒ TbN]7/.f,Πx4qsLΙ]"j֧~"_~CKucnk,Zkʶm۶m۶mkm۶mewӷ3#3##2!HUƛEnȰtv4WX^}_45$ٰgE+-¬2k)"*V,%tY`u;OOƸs׬ZcJqqP't@i;W|$dD}@;؈9F#Lijl9 a$2o<% r_;2PZ*l{I?/Jgo qU" 9[pL)KIUvZ'sL Jy0 H;NFH,RJJL V^78@aE ]nHR| xXiBһw%]vO"hDޫ!rް}ZFҋf'cC'i |c/3]3Ba's'/&]&P ap2&~9V M˄[adeW0.nȔznIђrѶH%'3w<5h0z 2m[8| u/-A5rN$+$1;G` ~oӠxb7U׍0'bDp_pzw-ÿ8gWD<^|O `~~;ypoQێ[)4,B0|gIc~ypj%.go+Hmδ;KEH;8N:Q!ǻkIw iNgf^9}$ӯPs3֦]ﺯB\㋍]@4h)~QtSڟp#M&8 uoMxJ"w,sx"ۄCz6"CrF#lfi$}Sf6l\!=O "Q:?o5 #߃W?]mY'v&FNWvtʴ&tdCA_qO8¦/Cx>ExSH)9CmN#pٺ -#sVSD}@BTﳎks z CϴzݭM1KDV+flAnK n>^ɒ38[X0>I@f_ pRWN[q#Luc 'H M%BG^j#gѹcɦD)_" gDi N pjA x̚f/]uU!A#O 3y!6H#f{wgAcٶJݠĿְ^YP_TX)O s@U <:t,`RPsY?ka 2uIݳPv-AĊ(MYRrBj#ir|PƜǪe4_l~4Ƕ}iy w\~E/GV}[j{)n i0 X}k|2VmLyQ R AMx'ժ5 J3Z,f`Pd_jsyTёl4nBGGO1SEu**x|߅FCu#`:CAruc_NQÿ.I0_jD48f |Djܯ-c["Vr)/G{usr3wZeu-[Bwl7q'3C[A\xbFlڒ f)eg*'ŵU/7a! g4 XsX{EE=EKz4O>琅{i4;%gFop oU>< -46H.k$ /X굁.j/y|vW;UDZY ? 4[ P#CZnwpmt։76JV.pwiϚK4+n!S_ SD IL˦xvW-2͊_.`c_0zؖVX =pԺ~VA2SzBkQI|.9"EF@ܤmi eŁ14Ai]?:Vc 9Ua 7RќLg(?Ɩ90n|2`س}FjI<ҥiε!)Ӑ, :f@ihAaʅV6p|m#B넵ϕqޞd RcZ /*q^.h>`^ KW/co,]0Nf܅db"J4{%Ⱥ:i|xq$Hv+ kl)f:\˪8^YGqHi 5NdFO_=ʳ;f6[J ON+Q@xfSb3gz8{Y "$fKɊ/()U߿3 63kN굽vwGO-DGT?$O^K]ѰQ\uL0wIo ϴ /X8S7z/Lg_o49w9]gmN+F~zck`>3%*|GXi6,.d1TB oO)q@z(> k0k̡1T$gk}Ja<OhC@ o K%5vdFs>Yօ=Zh[>?yfqo$ 1scZ#ꮏg A xh `w8.E:Y,9q%'a˚K .*N-Eͧ(WI4x1PJ y^Ï1gx{hЫHgC•ɭ{<ϫh *^͞Ѯ ;M !ޛOZZ/WhRXrXmpcsb [Y.g&,6 i-oފvɆCXE/߆5f.DiP絟YN]ju3c# ٫ěQjѦ8ΨQB35Ƥ }໊U4V#oBȼByX;hha;H؈UDŝ]E/N^xwC^έksEDҫP%XjufԜsodn7[^>u"V sHy BC KdCo<61nMKYo9Ӓ+'|g?%%,\scFTUZ5n4l@3-L8')fFQ5D =Y4qSC J ` q][,wHugM$^C`Vfz#ƫd)Np~^_Wi沩QٙԠ ]+|d j1105ߴgȈҰ"͈d2z"xդy]Hsve)=h dIb<ÄyOՙ9X َR*k<%&}tbJ:(špjE}ld5 )Yv~GS!BZԏ,P`GiA{ϱhΝ]r'0ƴ= pp(Ex2EI]IS I>XDٛL=fp`-,TqWd|de*A*bR<4=F0:xEŞݵ\68_+Iܫ>;{WfoCs;^@WgWi  x,>Pgd4v`VyҀz8ð:̠%3nX0 4ۂ(ǮC+*f8ZF5qHSܞm6ݳV9F>ůqXL(CŤSitT ! kOa' OEGՅx),t&O9QA*"O7hqy|! z0%<9I,:[#(RC9:2p o<2jMXS3mG!tVJ+X`6Y}4cw|oϭ-'~ܾ( 7=wixd]Vn0'z='g+Php‹snĶg@ߘrUOo@]/o=9]3wv9*eҮD8iAP}hHY={=yWLhca7 ]p8ߙ"_"x&;1[闫=oKAP:|flt^kU;h\qE=x#f]AhT`[V@Q{dz= ޞxx]-W6?iHZqE/(~=ٖR^;}Q<}G ÈBxߌZo)t֞&;Q(f ћK6l%_T QEt郲$YF ĭKGo s}`u_[admI@Ϩ#T; [ hgA(G:9d`K*Qr;ZpG`Nj=ǞXV *{Lrߤu&Q?`Y҈@y6#JJs 2fjeZ7uzXTcnOʻn0L! 2?]m)Ù!hI=.jj|^.{vr~#uoOWȯWu%yBdi; f0^Dg[#\iz~x8D? *"@TX]7o*N<:zRdE6 _0rs@[(Mɳv٫SCǕAUa8A@{&@P k8.%6M9_t¡^DY}9X idsUUZᏫ6͉1+UFўρEۓ@rTͶ# `3ۗe%8U\~o̘lĹL ,tOm"H" ::NU&&nQ&J3TZ:ybbVU s$_따F`sE352/m) Ґ#J64!.j=1c^gګ]k($(#$gHmʽR!3p+fHck,f8~pnqvcCȌr.,lҺp9gu]>\.ŔEkTۃ\_W+-v@o,H'␀9UW翺LAQA0u3E62W*MyY re ;lBn}i{Ox PG}ttENDi iHEC b/lVǝ*JjEՖ:iڛ#Mx< /ucd<^I hIOF s%2u}T:$8):76RUA~[<ť9Ud7鲞Sp # &#ehʿƦxw,\;*kBTU܃&?8/mYALe{(3yUaDbEΫ|z2/ ML:BqwiP+#ï V&Q٥(VC> -W/.9-,KXwߌP mz'ftmP&n& r(R"r4v SZ3ӫЏQc0ZqC'=,m;q=g0uQb!+,gX BRF,oˉD$6'g@1W3& RZpeAtJ@뛈#JV([V[FFdktHm1?I2-1^KcOTK;̚ )ܤc~K,ݪ-VoVQ(6Hͻ2m_fα술k4i ?7ljbn`Wђ-J8>։;`L&baʹxR1z&,%1Z;$.Ł#2`!qۢg;2JK:O{;%o >B85a?N۳-Mx9'BBКbf'O 0ZLJb)0:x]2t7YB+)QB͒@ׯIAx:" mر'QE/^O6?F b)GLy#阦'mQ~_'QO=u{=ەN:wo;F ٹ_? zO!B4}lԇO} 6Oȝ Oq'))f.O%|,|Y 6ꡬEU~§e n^JU0oe̳J_OˣmJRK6sEv=0ŏ;?޲G]nvǹ|tNrs_ߘ@X.PrRfkUDNSΫ)őu1;HwೠO[xaUCtK.L;I,.HxqT1.W^j(=Ǘ%W\c1V̆yLWqw8'U)rMPOtbx\0El*JYW8Ew'E=YЖOU암F<*Ib\g8q|\B⽈k}@:dbcݳKv]rn o 5ſG3?vGȳ+OhBfKk'u=FDJZ[0C [%G.&{\׊{X%M'ۥJ6kl-+&7;? NFuSmlgc$\pB8ˊ5Ñ+ת&{:Z4c Q_Pr}^Ks,& +XfkN2l5EUꈩTؠD<`Q|eclher<)Ӊ(Ul]1)d C!I;udxjwW-I݌F!c>4E~He.gn=CElT*Dw[ժV 4A4pqyuR"V+ž<vFt伇T{T7n6>NuVܙI b(u?gÚăup3*A2fM2-Ju5"nQJbtߋ51mi`t406T[Nmn(Q4<qrYv~V"`ZֺN&ETQz0Zo7;ceGDNIM2ץӷٳGJ2{CzD$,2u콠9]\o<\tܾ;a՚yjssv2vx^A=Ӝ0"w7o.6*'qv쇣%ͮPR.Ւg,rmigCxR.ڎs2nvwW ~j}9 Bgx[l /!%2K,MJ|GL˾G&_EQ|O?~I{x܎vxFOrH|y"l7WA{’̳šF}Fn-WD>÷\,dH6%N"jѯ/ J@K^F|0b(h [6Hwk1ɨT?cW3̦n0$,jr/PK&dUCqPܝ@BweӾKno"Na?|Zֿ.6Q ёL'~Nvm\:7`@g: | d-fSR4ey^8P^o*ϣʌ, jNFbv*C/:1ͧ) ۢzzDfCFك]*:q%Ұh^وIF̓TMS`Wc.UG0)_<+567kGk b3ֽ4O:dXL56jȥ(J+h1t*C5' 3@ n'U2|ܤ=[؅-z@5p{[jőF1Fw$RBd"6#q^qɁėǝg9 /A A`fKy/نuaɑjNg^";[Uce"\[ʛ8C>,}R>i]@Vw59!ۍ..JGpW)vl;9EnnQg-f6͘!7Q|g5yxxDyELG{CNW*_M5QBL$Ejꉓ_B{yH=G߳<:q53^sdڢ|XGD;Yo>J( R^ԽY`Gm$ ӈU^2C) +KE8pZFaYFj6V%9# W> 9GUg~}xK/&ވ8VãrC"[ S yͤ6[;v<部4U=x܉X3Xn'!^- ^|`Mp|< э&HV1noT4*_LX~ʜ<1.-5^3]f6ь{)-cX"Ez1neƌi)j鰻d6-nX"-1]ac|FL]wfFNJCfY69Wi,p4L+JX"7 t;4}bFkhY}؛mG.7V`A*י*w,rh_(u]৪ w=BIsESv%hQ6)vX!Il08!4[?I\c^hH Sw3[a(ZIa_ "=%aok7D!,p昣#Y&T,2H/&.lkM:̮ȁ b񪕒[]uJ#QiBf.JhQaepw+7k|"rvv@ 1sg)7[B=;20tQIuFOWM|}-G֟ !0o /S4oJ@ oZ;Iޗw-q) Aم-QA/s˻з>og&6`=u TɗgdJ_;fI,E+CU ]IWvNnw'vJI?1wv]!U.:&;zS&{{ YJYf*&6l$w,j am5< jEK1:<,"Qh:>t7 nOtͼ(2?Fr/{Gn\VJgԖfp榫SݺCrObbAV3C7F ;!-נ9T/i mq[b3?xPX+Y2ER7A'^s]sTSeh/S^x8^2s}ߟ:{8TFdׄhELڏ9UT5$#Z`޻M0tw ۼDw4MZL[r4-(f&Y#Q&(HbKY@bhZ>X5Q*UjWYIMt\t$f U?ˆ靻"93|%iFw^Y}Y={r׉^gճE`p᭪JevAv_`4jO#"oc0OS0kKYrz~q{<(o Ibj&@SZc_p&={k ֒RRQH[|;`wdQ}#8ytb78i"dke#|zBҋ,MT{gfR m+GKW!<"}*(5>3Z{$]&wQqt%[D7tWG%x6YInw Sb7UyJC;^*4%q:wNn.;%L%7FLG#hh5 sТ4t,Ҽ薆y"\/i&ŪTھaQ;j5QOy50BU?.ɪ'pÿd4 *Զ%VQ+qQ-Wd^I3Q^i L9M[wHTNT4] Oh ܴM> ><*$jG5\aKgqm{Jyrυ5'#Ϸ&\JtT1! s,k^_ZELS;MmOp4;W;5(_D,H#r=qϞlhWte7bN OׯhGcrLZs9GL8dɷ,^:[FL\׳"D/]ӈ2r]]s|TU@85&L͐H4穩&Uq[{M\8h(4%{os ]RP'%ZɿĝUiU"&O`PQiNŏ0K]TfA.7yuKˉ8NvFeTa3fT ̺+'JՍO63ܛnOMwk lvq&j=3H~@FJēX_nbl+Xeq32 >dG~;gƪ-[gF^+K {'u.[~ GaR>}R/%Tk?o __{P<%A ~c*FHT&_ t\QԔr*m9>jI0c_>w#}|TA)ɣ{GӪe'c4є=zZ vg#S[3ߴe9c27`.UhD2z/or| [4M)7*. ev *kD|'RF3 L@[er/Jb4&;@U7g!A`,#߬5Լ1dt5%T_{9HB .XL>vMl>J<1[d{UYz ^|똇oͼ;+^Ǜf14_mΚ̠ǛwN| - ݬ?83ǗlNe ^ S 겳Y;ؗ2^j0q,e3Ca#O\sZOwYvذ\ b#xV ITшz9kڭl\%&^Ќ%C?%  ]"ۛ |g8&f+Btf I!kE oB#k@q)!>N73 }Z,UC+QK!/)?r 7%}f:Dd`}')"U7U\wlO^S>Ԝe.+BFύS$o8n۱$^DET%Mo`uGދ4crE=Ѻه{&r8 =Yf|^]\xJ2? qA'?7=>H20Wݿ+RߡoOGbXkIˆ iJ?w)sڦyOA$~M^Yru7*2RiY͙!܅H7^"G%.cG҈*o,m')(k#ƋzBW% ipSHd)2(Ӯ 6=?&#\)5(zQ@0xmWj @I=D2k=ˣ(!PL4qHEb2BZ{EQ6{֮HC 2|{nn][u4!EC%9(QR fO؁͎2cӱ[6Nҽ u7{>AbNr%nSHJ AQ؆j|QB 8 $n'#qhQWߩ!gk>QU dD{0M\a|KG}5QM&X0@hިf# W$.`fdjF8~ WHӊG ڧcF-p%> էpi4newPqrS4X5&Hr2'iG bKDqdj.3tŔ !S8I.tdV8W{(ަBb,&5gXheM܁>4pE@R)Գ8i m ,)JSl`̋v6XsV;Ct`K Zzk=O%!|l~H!K}WVYG`786Ч,V v~jL4'!V&bT.㴹J QW1Ռ2B h: t4Nmݩa7j*ڷŸfZIi8V*KJ4LgKmÜ;e*=W>3900RwK7*^A{6;v'|A=7 z5)ya%Rؖc^6[gV mv߻WV*'fHHAs;4`uB蝰BEKݺױwoWAE!@ߦ:xmޅ+/~4jb@"AcVof"M%j/Ir"^[  *U)$?%C w3~?[Γ,yvvLN[YSaChX2] o㚿Zwп_湻cQ;fYn6f6˲9Yte /(IK#t(>p *kx50t۸X.h@1nKsph&NcjXI&M sy۳ߜ{|>x͉:~ۄ.%=Q]t˼y.tVEUX0euRSM]ޔ&~擦/୎fiDQu˜L߿Kk1er%۪qz+/ha]Qm7zz_7|OPۍFjGX6Yg/eͧ;?oT6o(Q'XG1mϵT; H? ~g1KHIekZǴ8ir :a83$[}e4QE/Ě0[Vp%=(u<75!HWBvId)C,8ʆ9bEQ|wYl?aa΄ģo)Rb]#F"A.w6j7!rKhD1N+竝B6$R:?h{r᳞r l=Kaűӯm(pgNFI+ڻ{ I+BO`T :)E>qEieMvJ.Ye; FvXZ>GtT7EST]bGw,tS1ȱtfRB8͏g nqk;^giלqiG6;J6(&Fu>0[͗vv tLQ/g͏)=w aMN?twy;٫͸ IvY,f٠g54gzGجL<^V4*| 3ъԐ{~0tq!N9pf6Lc 5N.i$iح3[-;țAgD#SJ^dB,i3=,'rj \|6{/st\&tEjOQY4Bct B,P+'m#/deռibWS>ၤ11X>,MmM+]o]KghsʦRh(@٪[gřk):SNs˄K_"gkm5wR3WFw,fRp@>~][ ۭ8$CiTG喯/!Q+Y;O"r|g zbsMNb /kVu ٺIqN]iO T:Lg-7͜|DȀs:ipWr6tLmu$P Ba\1ô+4i`ա7̙`wdY'ې Rqj4C#kFFaxs;.ua{=y!g#Ͽ}f;B&'==gVت\=T\cL>~̥#&͹be 3S%(]i7=ڦnDfVRrdȕ :W543sᮁ+,\S,p' p ibnG<@ܒT3O,٪m4lMΰ4p-Ipʦ\=t?,jji9}D9#R~"_31]w$)┊56Rݻ-~}&٪V:&TmܔE37k5"VLɌ?ܜc+0Iī =&OFDs"֧0@;}+$jeC YzNZeP)%#wNϠ4:$٪8 v#ő3: iacBm7ۣ.tZ XJuW -: CzMmx)ڥ#Mh{\K\LQWљ*mB)7Cp, $CJ>CZu; |phdQIU-]]paӥ2i̵~#A܈oӐL;=7SJlVeiew 1p*dbըF%vnȑf.j{rW;~ rFڀʵD*g*lo~ɶ2жO݆B\n@S>xmK%Qr+%.U)3W[=:D;ӧ͡o4hOCϙQ\ z7DUr4lockZX/ V;\@u>`8+\ߡE<=K7 W4RRHSu"i7EY0jB )ΦIuVywTh =3f`hNL^ŐHm14&'IvM! Wʹݞw=^tQ? F8ǝ'a/cr[>~Ėn sc{{| 8E TWݕI^xN{}K&o!ޙ3z`y)\!]e7[' KV+U8le9ESjux-ݣj7_Dv(Jt/o T]_H 78mltӹU@ܠCPZe`RQZDҧȺ?Nsxq: K,7kg DzrOn`y1\?5+΃ 5ƨnI궏Jcpܦl5;hoNqJS_J +C3dv"wK)]7\}|s%ǕO]t}p<6ِ..uiF!]L{L 20v^нY4R`9vZk09;\V/k1e_*}%|#}c=\, XN{h -=OJj:؝华Be/`1U[3GIl`+.JިJ],>h-20roBBܕYfa.lKm_n% v/W|$N8ORY*Lcez#'9g$&,A0%JP$:9l3uz-j^^\v>K9pe߷ *~r'ȟ5a %Ո~ e }15԰PO~YW*yµ Mj8㙡Ux}Y Oͳs#J/IaGzhwz'@=)oGVW󣪈+M{6>)\=Gh9Nxm?ƗNZRkEo'k)SMsfo9y;Sso풌C2/C7Ӂjr?HmjYW 70 i(Icu>Oا:~ y}f^9y/]75 #kϖW;~xwz!s: R(ьuBkOgwbV閷35idgWϾy0+9,D _94ROߣܡYrV0ʷLj3"Q>(͜# xϣaEԷ7Oރ"TQ=Ysܡȩ=6GBsl;)ר*O\lO|w ;WEXNCk[`0i" JFqy\:\ leܐMZ3KcjCHՎIe!F׸UPg R@HT6PA9h\P])h_X0qs֠[#[w?9)@Av؏ MσJ#yEkDoAT ; ˯Y'ƤξQOdhRLwv1ciqd=UZ<՝TtՀ+2V$LEc|u0z aV֢ɥ47,kf5G|%^ >N:.bQ|5iC4lNdeFk-UUλxqy6.,sSXMz6y?uh~]ؖʺzF&̵geU7$qJGm &#ؾO?=Q36XLnf]?ԐuYb*8-d?P ݯ~& @ q"=mޫdæ76`|b7<]r< U|pG"G)W!_b&w#K6v،̶1M7\| F&]_퓽xdI!810P3u_YIny0-5Q.SQnTBIR9J5]XUySVEgPꣷvZioV }MKrA8pW+~NiZk;Tx:軺z!EߘpÔ)rh[4-_3$uYdUqc2)Uv 5!is`pzp"qɑzHwwo)|b]n6.a8]{3"!+ bf/jb o{zInB+fvpêfV7•LNJ2 *EG'[59ۮX+p&/vx BٜKK*O=jDQV= %DpcU[Z0^;s>" &).##MS{>{mCn*;`&8lFL⸠v;L< <:bm7l[>[i ǢrxTQs239It1 xWۭIE(LZ2Ԋ@VI% MCcdg x^1s&|Gw%8}gtxRxg4+;30ΨYdǚn@+ga l'NˌJDKi D,oi֋!5?#oH c8޾*uol?p?ϯ{7:w|F?&ڹ էt?7h̲|0_io@ {S@ogP۶ٱ_eyr= '1%ܾ| |zҷswY_O+OPw}x&I' tGޓ؝Qv`GT2?az >|=>}X ;8bxCA7?PvD>=9S $WOd}z6/m?f\ {^Ccߛv80n >,NaK!uDFZLzW f7uz?oeZNy^j>/nmP69񽈝 l2S\Bqi;,'>iP-[:G(1Z~aL#٤8qˏt7ZSYrķ+K-'2dvú.p^kW帅oE+>Ǩ8L<e2t/8 f8LujW/IFuaM3Jkdܸ8J{RRr릿F3+`.v.gҼ*"vMdS;9Wa')|9xE2mhM1pT K,| pè!<"CǨYM3o̤4ZZYK"Z髡m/S \.ڷOb'=t2վ,Le]SSY! y؅e*&æ.~R٧tOẹ̆~2Dr薵ѱgHmƺSf"M+NȄ`*18|it  3k&>U7dKo|չݥ~+n=Dgp1|TS<# w3pG$-R_s I` |ee0Ynaت)`R+b̧\O-.o l+?*xjK!etBbl\$7Y3LOY{J4 ׶"NY I<bR[דpFcF꓍(0`n#-0) RH6UX5sڦt8A X- )nk_|9#`0O|72o,ߤ6!Sw¨1}4 ^#!y2F@mʍ:j{`ܨVo@w(7ℐO$x=6jm5,z! QA8˻0VtO7 @iAˏ'N>o; (grxfw3MKN'闟Z#| 3{x9=Wۭ7{_m'?MƓb'  0Ct U?!hd!3iË(o!gq"9XMdbC 2{8'59=ab:̄wpԥŝR3[V3ZHtj"2/SO\DQglo3vX?>;箵'0(] tXQ>hIq)ɯ;l1,@_y E'.l-,Gن8>Q j( pVJ'fxWd*t<ީTGM\JӅb;4Ma6$s]Ly)hU{N6"Kф*zO܍nɚ8|^ '`&J_Lƙ! `,&BBnb <ͱ?NE:{\ff7MdoԸ6{@)*ܷF;5B6Z FGʬs4r*{m\U£yv )ym1ˢ:Vi0NSӲ7;.bԝt+gbfl#m~cL7g9{t;cI/ax1@Ӿf !Doj"Q1"7}z{ z1)Q.33mr Z$%V騅2.൹y;]+Y%?( jM.d4ެ}bSD 2~1 @sL,E=< [po~u+sO7Ofp>(y/W|`M`8٣s햕ͼJg U[yb[9u{}'7},[˴wr-jBTKM B߈ ZA(X!o(Kz:#~xg. kkH#î`!CE7b,yH-h9uhc0t8vNB fΝzQPET'xZ a-]uӸ{)!i[.ܹA`$x3vȍ`Lװ@Wq]^%(#0{w|[i )C{2"9=I:qf 2=drXn1hAv֓t\ݢ8P@>_WM-?;ηzUYq,Z!t1=f<ȩЃg_'it);mDtb_F?tה5)r ]an~!܀kMF#]ٓC@nW"tT6zQTFQ4@kئ K{m)F?bq&Xa\]:Jl քd3l 0!LK[SL g ͒kIl!|-vpXr8G}^}>'aY|p)Rbbi{ß7w@UN1P)$n)4~Fn-PbޙʧVo.oͼwߣˆw^8wC~ Ƿ3ܔ籦[}Ò;q߅پVVUWW56knΒ!ݼ ) KwK|b0[ܷ B>f^ E>v{ ^KBeN=X @SHdzR(;ꔿ 4n_/ 7>o6кZYy|ETSI1Lz)fqx?| v}jof ?:;S߳2mˑK@FEXڒN_ @}GIc&KfQ'Qgs_+d; kMl(GQK+^FO+L~rÙ5[ӣnS9>Ʀ/&UF{D,1Zfk1pO d dPK8ͺQh#FyNm[73SЖjք]9,ym{ &ͩ4eACSDR4<*Z,~oVe960&o: p~ OmRb'S K]4 ^p #Ї#l0AÝkTZ I6BMi M_iqB4A< nЎ&X\0S,L尲hUW޻##VvZI >CqSj75N"O GQ{NpYg^㲇v9BڀE{ng[ F7I0b%p;QZ";ݩóZ&=4ن &)Iu70>GZMn0\ʔbZZ%W{#v/2S=E Ӭ'lN>H.^ےv~CKuc$ $ wϴ9mwO۶m۶mʹm۶mڶm{gԩ_uDfDd~eDxz(dX<&Jh6;BʁL3 +3 >=saeJ9q`^P0ssrspada"jڑ+ _ 2BoqoFyQo'.)Iik!a6'VPfNjݢ3t>ɸ) hΚoʹ5vTFnDt`jݘo?&~ 2-C]tK< aJ /Mr2M')9?;i6>U|x$r;׈~xK3JcԒ~?3JS5{W{)sv+\r>Æ˰4.,jYQ| 6GӠc r1^;4I5k9B59s(+P?ې/k~/#*1xpv%Ry_6hTm>ghyږUitKƳPlxr+gnR4udüSY-P6L3PE=Xgf'A*U`:~NG{djGsɍW}wVTT {VW3k/v#_Ws,5SUKXJX)@~3Cx !'|qA\=Z F܄Rt}kjrZ,.5L|iV" ܁C$;+}=cJeO?NJ~C@ԿsSKa ŕ3V?M'e8vVɋ=֙뮻uH{ĉҭ\ >֧RB`v]]P5:h;2961T Ysױ-y.~>bƣ u42[ \x7p?1Zf#w `r>bnՖ-o]Jή4-""iLVEz*;9K:{eqhuf_헻?6Wlx9,zƶIS>c3xQWr@s &|3箐xک9:M+"..te+lLiIoaK:g:Li6~f|]崊vd*f;9'yDQwӟTyH9zZ1[ZqTR]Ѽ:JH#͘lgw]_Cxmgj#o0aZ8{qЩ/R~ *~]3LO6̿cKV;p/?$~iygګ/z7,W/%13}8:W[S"}ɯZZyx|ߩi9gR^Cړא ]?q{ %%eEGp ܹDpƥd%eYb 3~m񱩮qAC;%. #n]ų.y-@BV+psBiA*cG,ef \[׃ݤY}K)8=o.UiC؉&C E4#ǚ~e:ӰdOf{U ~X>ZɱZ6Zm ϩ9Eu+gZcED)KNv07Cq\'cm&ogqIܷ4bSXZݾ̺&g "Ghy²s/陂a`Y/nH|ܗLDH;MƎF>N%ֿxm8T8{jk8v,j%n*gy e@X Ca=_ o,T{sI5Ch^r7@X>27t=? /  9C#.셮xЌ 0:_|r !;}[zPɗWwiߺf+ݶr,c%z0t.t#P/W$Gx,li3IuR9y>yO!|$Ie/0Ҝִ@"p֨5 IxY:b69u||anɎUMT0q1Ҵf#&K_W_flsAVj=b1lD_yds]mo1{NL31#Ĭ ^`(APuע&w cݘC@|%W-:wT1ۛ@pqK}Q{#wvbUuy cGdOW F0VIQLք kĖ25:szV&͕F}?#k͐J!|L3xSzf[$m*̠",Yɷ⾘3]"L}&REn,۫ >6iʰAFPl(ApPlkP-Q1Q$7 g|.*t=Ƈ\L"_@,k'O??kwpB(~zx~ )T'G2 1J!$/r 忱qQ(N l") ,h!:SPyi95+ۨ;ܜX]}K@^ԅKw6EZYd8Edwk- ,Q@:ʗiڍA cf_.\: {yy@wnT߻gs4!ozK( ۛX])޳%432ȹ}>? fmuMcT7ڗ[d/=y/6zoښ5hu"[> ɷk²(>2._8t~*DE7raM!w~ÃSZ4ig$fNoi j[4줳pNC#-9'Twe]ITHݱ<3HD}ޗMb}&в/N洸HCl(rG'x=؛(M_M="+:}[$hBV8[tVKv@)_eTt )kUgWX3t5Z:wA#/?9z*67m6ԡVǿ3[3ct}V6s' }d"R.kZã[F`ؘY@{w%kY׭|za]Fv,ϭ=t29i"xGSt ?AJrǩEQƏb7*6@Yig)&btI]?%DxD}$y&&sNI+}&^{9t5}LF<rقHy/Vs5Ig~w<FqGM""\o}X^*-$_*)ٮx(A#XK=qG5ax5G\Qd N+Ft^?utKCgFQs,2adM [x][{KJ-yJjs@ͻً%7k 'y 4,"J  "_Z*1ݖ&?YQ`IůtOlPaG"CE< SK*O;EC!elDDr,nTr&|];hoGa7?Ȑz1n؞Nu&OnOQ6m3Ud \F53E,f#M)[H+mKx< 0;jJ׾BVT\YOZLr;j4- -=nʥúm,u L3 ͞n_X-ݨSeh/XI~0VX魝EqrAw^ӌ )ɯmgi3*5$}g7!!LS7yF33.wʐXJ?}vpLG>h}j8Ը ITZ;rՉW[זVT3Y )(f/JUu?_K2"%z0+9;FSL?LŕLj9X^gd8bˆ?Ү*#<[^dկș|JK(9nZ61<.dIHǥ&f%O:Z?FkuSEII-evfngULbطe!]Kɇj/_7q:z 8Z8Yd].ilĩ?i94Ql^X57DеsG].M8pXqTzkI6"&F'8p#fA \Y=+"kJ9\k[B7ᡘ?aBU>@4پ[_97#!{, E;f]ņm_ ;GgfԜ7W|ðnLZ 1|"|h͢1!vC`s!09Ùj Skoܝc*1:0cCC0&[ al֪k<3FM{&!=m\˜],ݰXqI't6(}|J0iɳPg kdFq>0} Hy7Qeye=`^YE{= ?D+}`uz^wT4xPEZh*1SJ* d:M\< %J dR6`%Kt|-4Q.}]=8֪AY[j9a͂L&5lnEsR _]޲n1m T8 We=ZNR\?+BUX f4Q33:uQ#&|ϋɳlgP$=gU?NbgySԐV0g2KaTpuXˍ4Ş^ gqR O#:7#)q~Ll=4 oHuxe~r#oa6򳒱 V|n}9J-bpBC%)tyGMfy; p ̃m[ƒQ*nj)#4w(+o.;`N\ޱg? '_}skǓv 8}f_ x!p%)/.D)h9ޥW' [ӹ@@-b_^I6ZUPzlab g˗O3*mǤ?!ϔl?{R8wLjI JSrpp]ne7}꫹ р<$&5fa[ɭt_!*DNݒVq1 $nNFO Ɓag /7>Y:~ܵFp[?A; :rњDL4<2U lUU{[ _Q{^7[]WlKڬGW^o?1z!=[-u'ݥE'K;ZlՈ:` -Cr -V1^Jɦ)FW>?+)'/0C&uR?[.9&4QD5 >gY]us s3uӨ[OPvVB:gM_َWwD18 VĖë֌bU638!TUG"۸մ$R3SlsRʙj#oGb۶S%nxT=l~ɺա qcxO\^=.doT3.u=NE+]~"*Jqglu'3#oh- Un2~?; ?o>3e>zCG#ֿI|̻4mYo,^յc(ò(c?Z3Ȁр._?bo%K: ai@孑 nH XNA_tF.󝫼KY1QDC֘:{w& ;mDV1½}hɶц9Z/EIo?\2-u[keR=b;7K[)K RѱlM-V9(ෞHy\ȸc: ZY?ƃ^MA)ֱ,]^ huEH{V q)mSDyBbbS:Dbj(x\ F@x N׽ ,wNC::VH1Sv%dg,wf n֛oAPh=ݸ(|P#*sy,5xx_ Y}J_PLٖ[ѹIz#B{g07NUƓG@zY_0d֑x_1 WbVXll/*5tqNh_1drh*n?NqPqd1G;xTʬ_$`TnfAbVՃwfL% &.kORo ` .aaMU b3me-_ &c9`XaXm"ե܉YyrSd^ }@˖i#U-n5pxޒQ+p7o?&-ԈdDG>2ĆU̷ƢjR `պ`50)">8]oMi'ʥzE4UEH$-E!}s@r V)طx룕ל a%ylr\Ú~3y#9фҲw? ."m}a/ЖU<:i8mf.=2\5B=.Z ;e\tR>zaj2B}XVN-Awfm41^eǙh^l$wuŀ{(VLJx`7_LZu9dSz-:oh! h?}0 sk?n~Vb۾&%<zG` ;r :Rw^&IO՘{!+H<Ĉ&jG7Ԑġp^ ^'ha1%<RI}2d3poKI'ҕ&<{iWqA=g8?iyX0fprDXDU ɒO |MWLǟ߫YVٚ8u~9:4P)DYwA!g'Z &E ~YEa߶'?a-Bm-C#KFsP !zbĀ{.Nduۊc5 WيGڏ_(?e~2璓A6nl$bjò!?kMbe' J0276\}G3 d8y.kf5ٲ {goD3UPCӌ A5̸4Q]ࢅy~3 +].jӈhþ2Vyv bd+!?|)/<ԋZmb5;=pE|bQ̃R+mt8Z/+޲s쾐Yi@+Rl+dA{͍?gP[玴S8}_>SD@T$מfd0lj׳EfNG|bK@/<<|+R(G.- B ۨ`Ծ!;+dtY9CHk sA {&[ḽ9wSO"K. QhR;\972aWESG)3W| >aj6$UaE棭p"α@` ^z&hOQ,ċr829_@gO$`6g(wY|]?k룧wj0!? cN4vƄ1 {W?>wLjzkA:<4~~opzn;q snHlatp( 4PcdICJ<tF8o 7xIƎR߫uW!!ncmO[@uj[aH8+En.!󶃼&qԊH(sBFLS$#i'h{7mƹ[%[-FLH33I٪Kl"$nNwXVrIs({jRƇfܕ?X;ӈ9_Hc'@trZZգoo8&sں8O Y}b*/7&\V~`MIeRs@^}htn}wl|禹'_tq`%xuSlP+j}/V$8C9LP!(iV']BDQ۰ '+|SE闚Dx.< u\Ul/jl t;ǦD#~̶,%z%=w]ty?nd۫\NxݑtE wnEKzJPS::2(g.PتE ?8MmrꍹI^s`>&`szD({m LUvY#qW( 9>na`i 1@Dij{=ިX_}RGSP֘3{_*y$kMޙs_h}.Jf4䮓.`‹繝 qKPZT‡!=u S!&:Sc@R7\sE /0Ioicl+vAa^5JUW`kE.ٮ>ȄM95Ȅ񓠗hYjnQ=EVxl`)'bd S6t'$(JFNt^g4ttA+J÷wRP #u$wLX<1`4FMv:fJaۻM9)I}z)$s=jO5(3V֨jZf8z{noՓ)%gų uÓ1 {i˝6 ܇xpk:xB'o{JY3-XĵQ Z gAR«{Y9ߞk)_|$Zt(D͞QӒ$A5$57 ]5g nj5C1i&ɝn D~7cj q?@A$L Q;*79H^2P$ ̒DV$pY+iN}1,%GV܊ ‰g8;t&-}4@4k~W6d=W럣3Z&90s7 \&P2=՟<\~W4$ek40A,+hԈnVsAȅV*-HyrT֜ }G |1s.?GX§bR)4CSIFnh"\=gVa""z9#Hqi*kΡje@=y.lg Z 4W4krI;mwYyL"1`!2*`R;(kPy7SXWtcƿu>d0R1xxF>*[_$Smp֒[!8UOzMPpKHGY\LFmw{*7% Z&l9::s9ifv|,Q}O0|<6퀑\m?zh+b)X<^Z,t; uc ݯ K+ЏU.31٦gwKaGV.XAQt ާ_L{jC' ?/ >:Z.YV6lB=IwX,"y>u~TkvͣBF~cH$ HnQ%τO5!Cxճ~/}tzqD > Bb uyeU_*z26l6.GԞ[%s!~bw+UvDbnP0` G8ql5\m 75c(&;"Pbƴ3 ְ%bK8`L==&6I̒{ 'Z⏞J dBmXE2t׌;ښ@A~^) ·z;Iqf]S4v@|gy 8҉4K1ت+BU}FwͥUkI\v3p td&&䜼XR. UKOFrkk_1&?U|Aðcᖨ3a$<2F0icW?Ć޹@5fw65$su5hG1t^ݦM(\"yYA9rMwfSLs@xy_8}#u>:R‘֡p{j`Ct\P~mѝQ ~ 7YC% [_ibӡW]n3[ Ky= Y\&G#X.z;yƲC6 u},Ew?@.Kkx۬$N; [MGӐx|mT-[T^߇Sz;,2HN: 8W8b[.j^P^ћbFab]#j=finv`4\:.kҶt4qzb#T 'fGEDfݷ;ҺC׃1{]`W(+Sy]8 ["0G鑒jI֙dg R;yORCos\YWn8soM7'^dܾM喫Z)/-߬늫q`8/@Qmsk=^ٴEQ# _J(]2A+q Z KžZϼDܭqFOXH3 ;{2 dbMQwoZt)gd˪+x+#UWBOQ"~c+:r9g]@ﬖU¸6K4[1f.,CoG/vet:p$U8$3AhG{J&z[0ҐdNy-xŠԄy!fc#W_fvĉ_f[. MszM~FDwYA=GLe~okh+ߞA}jMIaH,vS0PPA@uDA! 'Bڸ aE:C s !Jk߶RhjcæX68VOk4 re6=-'+獆3k;Bd2綺o&TM%s&uWc~e+vf+/_-H9X+s?o+!?4B#? rMD%9EfNpf ]WlLDD՝*b't'j`Qy#t``t'E?6վ]O{' 1bn.;0_x؉dCWkV0?ÃwZrscꄼoeD4ZGL%^V6o /ۨVr0S~_Az [ Byqt>Ӂ G_W J=Ϲ&wo{J hAX \l:|s١80 `ܶ3A:_/$!GXQy ,#AlƋ飫`һC47s U& ~ʨÉ#_GųĀΜBrY(žK\@CRMI$Ec tmw@zR2̠B{]QAH2ZaqAW%34sXN()dѢBK#&g8G-7<1@dYd6eRO<+~=ʫ<YO"keӤQx9r@"u?MK2qY62 ?DneACP)c.;6nJP?զpgI<ugq77twĚqkk\v- g8Rhu[M\ˣA@dZ;7~$vk,;8:5rheb14$fN Fm '$-% excO4(yqt4DPU Zl_[+XbkK;oV/_Ͳ| D*8u[:܊R&~QzHRG3Q QPs}^x֏"[m$x6&2s؈+o>ŶhIhP1|,?{Y>՟Uc꠿0[;B epP噽9`G8 :5B`+TJ 8}s!5/Bӟ!K/˵6(\2 3R{[wVk3*Q%}x vJXZœ[BHj)'>lp1|ttmP: WZZJ1ؗQ(pOݸ%+yiF p8 +,g\L[SP\Sɳ;;'O1Mq\J}B~;v*&[lRX8OpO}X eDk7>|yg]jdV3&C1rʙ^xYw v{ }8o9mfև_Gf[wJr6 ?j\ʕJ V|TyP2]yH8biP^sk{.a.XdE\) ( ȕ6')v$5=LN bC :B]Z353m<hU>i>.[3ҿ4uUi5,{K2ip[]vZ9x,*LGVn`NT`yI*ɶw-ٕ8$\8Ȥ Q{:0ANx;d7ΗrVVϴY3"3wX`}GHGr7&(/x1GG=\szAtQ:`ehY尚}] F\W~}HYt3⎲^_Er@y,S?<>И"}5P+$? Dwաt kLwP._eP]'+*ƛ>cpQu.Hz1h̪[p8`(hDֱY:3sUK_Ju"9"Fty|߉m[))<)0c뇇t+_dlʽ=g-=H=SUDc+(}<([lCPmѮBDgSx%{ (YF=&.˩TB!(+= |MQtǮ +pwV6h>WͽC.4KK'XE?5ddtm-bk~|w/P`TYEjMV말ow+.n['Yݯ'sqpr;ic/#|}hܸyyI2oHF~O,; nyOn%;'u\N֮/@̂>ҸRKC>5i06"SK~O߲LolO2o9{gs|Uu:J%sm[gq܍]xLig8>+ǥWֿYCsL[l3ͷ#bFQFD6j, ;z"&S2 Vc)&&Iֱnm#%~ge8VT ^96UR`Wc*"AaúdT| Un,a_Ym~!p.qeF*#|i0I(TxhF9bzFf -g,G3p|܌9NK7SܫU?ET÷u5Sn%؉{hwr[yi8U {sZ&f,ُ8wҲy{x#p3R0nUXss ԰VO+($e,<)>poa4>Q+ wì7- y4Ek3o8]q37lㄥ-1ZvBD37zʗN?i{6yS--E,ZK͟v\h |;b.?wW7@a.20`zA7|TGun΢jhk) y;L4h5 tb [/p[V噣'Ef-Q;ȽQ+@:BiUz!Jы-RhY-ZgC6CDwʄY%BQ(]nP}}åyol0l0!oU*&9&Q 0θb^Fbhb IOHofwD!9_v/ iB0R)2_=xVCy'4c;Q@ek)9\iͬ{!&Za-gXNcu|hsP&c4t*L~3kmkES㼌GX=1K]=;w3W+bIj"NŹqSOUHe[%ӫ9\m>v|<5Q0䚃N~[BYbeT6gjvH̠]9Bct@aIl>Hs=ͫ%,Y e/'[M!t"ߝa9`FY?fq?6 ȳ&>q3^^c{'*z6}y69Ɠc2qӽ@ؽcyQ}xiA*l3e]OA!6$7CH" x5JY}eRêhUml,֭$.B*=#a+FU) {cͣ\O=su}JP% 5+Ϧf捞Wl2?# ^Ieaph&7l QzU>!/v%^W.Kg`6hdWXec݋6< L-Pe8,*fe`կNνEKO{!.a 88.:hޏGB}ќ=A}\¬I󇵵 ?Nօ;#L7;@ECUo ~0̃h!^%u0jɿE*<*x6"< PXӖߪzF T})r4)&gDIK$߈I3Fߊqćslyyn{YL'$KUz}1pG^81thZb!\%\eJH3 ' CD/QEF|;6.,5tx lj뫡Fmz㕓8ڗj?UA/~8nDS/viGfŦ+u\ R#v1zqiQDݒ|΅*`e*[*++t4_ W-q=oOw@5?.lOtlaYW?mNE'=ADXq^f(JSyDLe] jb@^{{;>*ou=&8M4hZ-?:7>6$=@R]J qBCuw훸ϚZBt(J[Wu֍b0{XB ?k}"9e _u<@t BwvEBg 1*lg_^?c<4ŰdAE`zaPP4q\ʈSRRU)@4=odpZgl򻮞mcϒٲ-{XѴ)v =s#WKxheN/\m_#"d+oj9n֧~GN"K?6&v>_4alE{OL񃡻T. 5B=q'gyOg7Մ^Dteq+ DlR0o?PѲN7A㉍4w`@a/)m-o(i7T![QȦ2qA\}#%<vM^ K6=C%tY ՗nN65'?7聣u -'kk?"'P+o%_Nӟ8ˎ-9k >2'w뫴 \- lQC7xAʣZބ%17"R#aC0' Yn~4}Cu2{ e+B nNJ|>O9˚1;hyhϮ;qmcxjGBP/UQ`n E9/ 84Bz$XZOT")}KX]=K~u=wXo8㮥`zeǴ Pr-)a`ԵyN68]c Xz10,_g>"WG@ ɹ0WdԗḆ7!2D$J2]aH9W73cBvir.2S-*mj?7,M *+#$sH=Y.؝5_B˛'rLwHhvl"ư-8.gfj}?uld: "D Ak }`h?̙e /r}wm|_z5`|6h"{*)5sXofaB,+hހ ϻ cKW/#f~GwU͠ɤ[z Mt']ߝ[uh5d`uDU.6 6=IR5@U6l]Y[ wF~i\aij3єyEJGp̯S"ǷTq0K-:,;{"Iʹ -I9"+$8rCI_r=4(@լ#*zǑv!k?Mx!1uxqYcK?amk:ȽZ~Frp~ }\Xb\wVQ[z/KtJVB_Nr0qyi%rL=[DJ>ͳI ל%49:5M-2H$MYu{G=KG54ɓzboB:0  hvCk~kFvې^&W){jJKqP†gL AL>#nİ5pX]g%ǃtcqtZ ߆"Ƅ|4v7އ۩x|83tl1*,vjZM@;]W+Ẉ+u芪CYAwLĵ?'=a$W06; 6㸭煥f%P+-{t߯;#6rm0HMFys n,¾!Gy>Kg_m`"su5GkWH4d~e=jrh[|w\ 胀OW* )DDXp鴲hUKJ_?ަtj&id;7t? G986h!A[=)s9[TQTFl[aG_9(cx3X=Yjb+L7&ZE ~ V_:3r&qAj}_5pG6#Pox<ƒ74bxwuv:c[| m{VqV_' }VO/;f[8 c:P oz_. o&g#v}ɝMnsRYEs3Xpk=g3>){ūǝ0 /ӣ_? ^R!wc8|jy]F'PPd9^cFk`^&!E}@G!>5V~ʽ@}_R^WTcaڞTꍽ9qއ?U3_\w1ʹsӨߘZ\[(JgD<`7gLs9U^[tzP??X{zc/:A[GZ{Ӣ1F Nb&I[.L29/|8/MQXS]Cmy^p 俿سR(S݂ںH նwaU,oFL{f1϶"jvKi}.${.s>>Ԛӿߎٱw\e#r|siKQl\(N1 7?9^<]|rC#yq\+ Ruy#◖uӟCsQFNn*= +-||v=/$<'YzfG{&7Li '["5GfLtYY_T>Bx9 BJ.};ڝms$T k4{w, ݷlsS=>I-_Ģ{ ϵ}^jO)w,Rl%#.+mu.&,t}Y1O;]B:S{rCc䜂˔ԲҌwa=ߧnq5dNп4?m]].v=T D`N1S2 8=ocsC6>L*.ky܂ݐPeVP(E3L3leC5uElwn_rI^DT$tb/B<.$Pkq4!;6GnѲE4gӯQ+ʮxD"P!'IPS{)skFU+6=zb~u)A)(׬+ ԆzzO4:cnlES)ɘA^h;i+)RWV3M0ѿ;AZϳEsڒގ`, GS&XZJWtOg^4/Rgn0\~UJT48?/?*?Ѧ}u- /sg6]ѯֈ8WUzF))|iŗyݵ{*Dqȥ=ѵEWxT˛[SQ_s})ӝ%[@hm5~H~ēױwio zQo^BXw7G)rfN_ r ja 4>ȿo`̸x=EM=툱.-a_EV% ~c RBzqExk1֨֋6b \ߕ֞4eQmS9@R #G{ywJ}E,RX٥^V3W;kQ\muj̯t? \`LTg.GD5fdrompfymϠЈyh蟊_]Yͷ'@t Q/et8b\9pf 3s`vۊKKH#Ne̗AA~k`7eozV1ԣlW)ZlkϨ$>Gc2?UZ="]ݰo9{1i霚ɑQ0N g<* l ZSCϋ鿪)6`)qCR;CÚޥMhg?\B8;3b%.f@8^@K KdF7{yl@R=_ !MޱVqT5ཙ7 lDMklWbQrs_a&g{RK_<ڇ3%N8`3SX$wXynPQ-"q-V*`,?1d]gH3Ȫ9!-%R"5TFu ake<g~ T+]Y `רv<nУ(J4vV9Yӕ:vlX=ԕn6_6=bu{Wi3.T 8뛚1w\'`<jcPda%79ֈ^y{ M7sW%5a6Ug?IaS7>r~÷W7_:Un =hpt¤?[8dU}MH1gl[-Ёxm'4^[~ mƾ_5_ /؂X]S[ P9K&Ds 5YlN?^BZ~'n:ڌYy*IۺtvzRz.G]t8]yM OKB%7`Ū3~CKmctg#m֎m۶۶m۶mI%s7&;j $#;o]po#'V)ҳ^iR9aya#7{c )ҀS[m@"|y=>9~@iN-u,l+( 1IꞯԯʭPM^NN7d bU2L?<1}XXhQ;={$'Vr>+4.ՙqѩsCh(42k+Py{@mrH,yƖFU;|CšP°u͛G$Rh݀3/=ta'o ?i{<S# z}HQ_$%,au%y{YVhDqK=RU`y%n~ m!妙K[#^Xk?@TY3ܗWd)0TM_6bpAq4 !i] w/8&UMelkP\;-3[Ծi}\' 3_Ų=K\_ [~p>! 6~6غVΝ+^B6 S+~oIN^$dyZwrU=Qiumqd C INMƎ7hLp-Qhw~{Keg՛ҢvՁI4mUw[o\T.qEn|:Fsky`sV]V#/&["5v>٠;7[[iV-G#eew4WƘ`KJnМ-4p+@e,W۬܋cD"BT;!MrFN{E>bSJg)\*O9OΈjoz QBAmnW*v0)-EH0и^HU˿jj!2iUND78Y;o1}1>[En?C3lNV$V#&X`{[䠤 bb2i 0Mi[U=bADݵp5 9d;tN]F;',㊻K4}!=h o}'[5&Qa@1~ `E31p"Y@Oǫ/WO^'+õHۏc6 1;$q*\[F)]bw6)%$r(`TD%mU[{TwedOu8m]l0L!;SĥM 'YI*ݸ @N={ΜV[C4S(bNW-WU5`ިF}ꈤۓoQ *YXuCGa}flGj? ,ˮ%yV]7II2? cv %i T"3yH6~|;&ȝ2CVuO.ǃ/ixeqEk $9(&>%zt壩 >#zezMmwu?͵kݕ{%~" >רF+B CKf%FZ AKJgY_qEE>IƝ(SFZ$glS/opZ=QBE3n.`ZSH2@C@ $A[k̚k5{`#6os&DCM,)W?m@?u.7m0ߟ˜Czt} 7muhE1v#s旓p{Lu[IsOK_*])_b/y$9w!|/=bMR&3utφsGGv #OBfZ-Ho׈$u5׏V=)ߊǞ(wzIC.nԲqfLn; Im7` ~oHRK ^_;ZC aJyQ^ްeLq 9Mѯ}q!jDeX2ɫ_b>ګ?У ~Y9DfHcv$&KYQ^/"qޢC?J!ڀ0ї6xB9ջl=1ub8g'T${ke%$=z u]GccsxO 3qk"[yEtj=,2<o7k2z8lqM?`u/|6:'sj?e1BD[-8iЧE6"ϱYi8cC?Ϯ?.ʖ9Rˑ_|;}ZҴ57b"\?ɎwFp'::BӘYcJQ,{$GNc qk8%РV6 UNm$21|`v:TRkz)({n%$/{\?%7.]GWQ@b/,1WI|\F}RJDO6ʴ 9z5g\=vTj,3[ì;{~k!P(ڌ/={%ݛUcg% m2OLUMihP'= e52j$$L%{^{:y-UmnW%\ ]h7AOoP<ػ2G+8#B|~Vlvs~ʷ%z&8Ripu#f >Ushᬔauv.^뷧uȕkRD{%6׫=>wF v)y+xk/(kM?;xjp`SLC~\ wq?]O/rU۞VKՂna>cyI忩Ub('n@ F2ҩ~8]Uҥ\4C[zYb |hN|˾LNbkW+ +aԳ(vjm8K2ӴB*NMt.,?DJ7?b<^Db]o*73Ƹd6EBfc )wC#Gx:Xlu%gsYUyIt?OuK4Fm$vq(35@įIw.f<>:He?B3Ki۩uU~|D`S]?(;r,$6M/$rIjޙIsq.2z4LIpNOQbvl6_b5=X%6 7޿qf?ё唟p첥~:g<ϼ/6,pbלO 0޻k9X6~q]t>jXzt'8_rk?<~ Nch`8g"n.4UkuwFTK7 DN4;WR]& m6v^0*&ש?ݧtTuV6 ;\qUǶ:#?xP|~B4FvCÂShZ}R,.T@ɍV'A ]o8$k(Nt+ʹ4͹-Î]3aa?hEԛL f?&{̇)-@][#٫m;"ѧoP`H:,%~_ %IFNH?Í8Of]8UbٟCq:]_n>dª6D)h1Oil\թ9*8c/ܸSC[fW hUmvtybbKÏq Yp(ښ=8p@#CfT+02&ygW{>i.ڹ :nY`cEѪ;l炲Z~fPqƾLň l.s`(4dD^N6|JAKc0T!*b-G˸0$|X @`M׷I_>AvR|b|6nl}_:3mTvΏB;_nu*?h4a̫}H?mWF~ڑ"֯گf^0R◷]YjO|?F7~~R9/U/|l: x-= ;zà'/vuQCCfN|x}!6#Y=E`4r&jq" w?QѣsGvcG$uL7o{hq\ ͙ʻ(gB1*`M?]lUF#ohŲWTSk,TT^!dBPa)@ʜRxlGh@VF'PmGg}R3-j5,8o ijrr)J+DE0: r"o6qBG4*ؗL~Yl;En\ƻ:2}@B| SQkbE W5yKN+_}S4%\.8;n2O>;F?Z"*+y!ѦZӌl1R1+oXVf`Տ WUuf*'D{7I фjp"&Fqk&) c4]ߡճ-+EɿU/ ٭[mQ7Umb>dtWi$7-1+Ɯ(u0rz5gU齂-$\ _R% nLJ{FApkSѣK$| \e8YL>M)>sp5¯jItw|;;{nk;7mh}[xYG˞׭Fu+U7^< *J`'m,DKÇ8DoѩO?1ޅ!Y@VÊ@މ4 8d"]M{篎8A-@e292a"R#kEYuMr2RźuGzW@Չu t,"P I6A2=,2wY4@Kqc:}6+3ܥouߙ󠶢6`d4_zv (A*?~ʚ]YPy?eRH? ֕ρ]|8E {5wmzo:H̟"ʤ+ft$gMͧVG,MA|?z/HZzf8k|;6|'s)j#n&R',n|Ȭ_21nm\^dRk>b1eJB}a pݍܱG}f5FAX*CzVZ*muafN?]3<1ٗ}%}M/J!4 /vdy 2/i:®9;ɟ)ɼG%L`?#rd@M5͕[=OȠUVW"k͌[ච:i2夤҉c%Xl,Mue'A 9 {EA@A> c޲O̓eZ#㯸~ 37KZ\{gZR9d2\ Qʌ\[* iwԾjVA-0*jUw)-Bܸ %晨NzSʿ>7F![c?7QbIhٚ`](1}[v)-ϣQ`sU;,]_SoQ=mRH;MO2+3yr8ubPĂOLZy6:a7naI"yo%7ߴPd >ƴΘW孺OgaWe o8^ĆTu#~ Bl:,>ި&;yInN\*I eIiJ4&$/ƆI;wkVXd9Dˮq 3>w&Ŷպ+m;C~.L˕5toj0#:(9KDf_vo f),^#_F OV.*gS%KhDh!ӯ(PR6Ag%tDEV?uJȏo/w4a}Yݛݽ!/_5a?Y b:7%H':\"Onp{j\U+Vꊞn63g>%߬wT+?UP9s{gRLEf;[?9y#~9^zr㽵#ejn04ID`)jQ0`JTKARxMk 1prsj>ء3*{6'1* %D´)cj~? HVbr+*]{0}yϧFо+&l2GGzRsK"Ա}ӞEVM -; D4ps&XQI|2]U>au$U |֚{qwV=v~nuk?GPFVr'É.o]b\h缕 PY`YD=MI5nSD<⴩H̰%ћ`'_853Fa mPS;ą&Y l<I_ 4u٦ٻ7BS)ӥ騤|Ys~ A @sȆ\0xo骷"m-OLԄrQ5w#qe\Dޕާ0} P?tO?{/?;#jxs,⩻Ě1*9w.g~M˗Ԍ`V%:›osl3p0|Wֈ|J]zxLJ<*RPݷ4piD*|ZSytE1g!IS;4Y?ߪbVChRkS -"XϸqAϱ`9;R/ \PͭVg:D}HL p `;Iq)!qImٶIoƛuE m*Lxf) {\]N [0$=Nye}ǁHlSqL1ƒ]>&I$p{C۩+ɜ,5`9)!c0 >|$6}ķo淚<+0 7#@k TAkAoZZe]5h{X?ݻ֕ʮ> esS~mT("^ }E {'PU]ۡ"uIKGms/` 5*9ซMj)9.gllvΉqj2# ΘyeFcJ̱< vdN&.kWO2sT 1dt/^+|TGXpk/yEװ34K{N?I*6 m^:]C\]6C9b|7y0G; wC?@<3l?Pr(U|B{V=++7|ωw1ȹۼZEr;[l~h4=<.:.BDB_qe Y_ڹS3U%|LN|̡U{ x}B)szeF6ή'~j6埮qTDgOl9s+Tqnc]/xr ahE*bwVwH^_=@:°lIoKI5(zg5) 2AD3|VFyNi9ŧ!ywrK!NVkBgÐ_>} 4qt&A|{$3CoQ'dX:I~ᩦ.5VtK[|}״Knhݸupբ4)x;dX> *l1\#.Z<\CF 4ݘཛྷZ*XjTxJtPN' PZ[A\7jg;Dq96]r|F Fѫ}^Gr~gu1ŃO#U p /Ə9p69rO/rF(GY@!pV$wQ4goKc6))f*{| v i S1p^:HZ#[Oog_ g`TKzEwZVwe0JÆ:pgpt7 Є.aGp F$&T!xl}0ZVqso(=N81բ-vYgZOU3n<(Eh'ȀI#@F"tG'7`EvWFXyr5S3 .sy(Y}S5;QE#T/nIcYmwt ޣa(tc7By͟v&0qĉgQӈk5~E]FMsގBukĉu0hE-:#=L}wmoKʧ բ'XI烔 {2ٹ17L FJ ?wbhk% ͻR <:<X'~{<ܡ~jy:Z#=f=_$}ɥ{n"6&lKU_ߤ[h9DiŭK"qHئ]jA~<ĭ ڐEɝm}d~F[ت{j3]$}и;ZwKrPϔN-]Ѳ&΋&3^.w=+&!Tۯdaa g(1xr#Dvoy!C'a˦> ʄ4V γ uNgzY ^g\)4 !D(N7E'z0#fjZq d`mk3m !tt:Z{H05ܬ>4# t/9cT`S%|+ͬz~fdQ-X+{?:֭Ma^E9V,5><[Z~Uwz{v;j& ®N߈e5]ٟU0 k`1zi4(ȺUm/RҺEʎdW X0>36i뱫^S^5'5Wr|yS-_6u#t~>19;gd5n%~*-+#*)W!A:P;%PzVnȺKo g}XMBI2xO[^#|'NΫE#=6xP6>̅C$Gx2K"|fĤM1{d;.NIpL!4töb1k]d%{w@ ?hYzĤ \LI}%#WS l*pr|PG3ZpYk%4H!-0ħ%NMNO3p ߄G)lv4$wZoJϚڪǎ2+2f>/kEx[U"׭VHC܀\²:DIcZ5՝;8$"E4,Gcu=o#csV8= @CΨ-P'N*cXǵEAT'K[[4qbsq8#70LFt&z@D-z߶ CKS3!'5բՙ]h7Uv]_=;;;9u;5e lXn6ys/-5o-4%_7]q U',lm6 ЭpohI~ jOQ|;==0^Ux=e̗ A8 e^ľ)}9mQ/BշZ,R>Mt#¢Zg}i4|9@ʾnٵC0Y]:%q>¦tұqǨ4 -\_{Thyu[@1/IqsBr /5^0 rSfʭtjjGXXL&Co7GLۮu rRj0u F'' A?ѭ%8O(gw^JJ?!Mh–/Tmu}^lm7Ofԅ׊vU#BuH9fU_P-Ub0ZS9T#p\MJBɷ6p1-QmAЊQ5|BѨ5 >Os)B۩YA FJHwfT ~ᆌo ]U_Zx{ ~e6]MVI4Ʒ#u.>2T̶T*MْGuAW3Sj5{qL6N;` ށ;<@ND E/aJEtL W]eq2lovmtk a.G{tq)5i"< 0֣MTbD7YovH pqpP8ꍈ=<^RsXrX-(pO<88 ใWHyiؑZZ{ Al)l h/߽)`>mBlO/~9ovGdE~bA_,zj&[&3 BKC%Av8W. =@o6-,)nj͸@p /,ћnw>_a7rMt) ߀"m#>+vҽ_+\^Yd\XjuQmZ#TyXu|-uּb9\$. 2['E;=a35<'`kbu|]##P rA{UlQ3hMfqQ)0N&6NXj{71'7gbɎv>*#h{V("T͸q͖#$vtͽ& m2CKħH`>g s *n&gڻ("@j57`ky:Aulr&ŨԈk]SY)Be/ktJ^R8CM\Z-?5BcVqNfC􇹌p$L=knp+cVkhL:L!tUI%em‚,u_Y,Y̶9L\(4#KG-m=ː$&?%Ϲg(|= f|o}M&:!%ҸM/\#́-ag͜hOc>IfRLnɑP,1;47J]C&N.#FHΧN>wA?g"WnVthv_9Ņ}1 Z2%Hʫ7p"j2gM̷[Ou:?2#7{iOD~HX+ے?Akjt+ci̸V ;!0@D0k7O}n鿾~ߪzzߩ{X>rJ4z,Լݹ>F X2t@y9tH$.̞:Q[(3`m84'h79s^|3!瞁?68ބV5ic1(HZd;zo5:nCK4(5 ?Feͪj纖;9kW$bo)jɲ%79t)A.6.9ryCfKvj䖁GMmQ =t6+'a *S5aV: skB e#v ?j:.&{xJiuj9|ϣt}%Q1bJyQkJ Z:O:)w8TrQmfE؛&~|33c6Ɯ(õ4<>|Hr\.FR8cȰыn8TщlA4d›7ܿoOW~@MY8`m&P1Iy9:iRaYU8eM\qJJ $Nj s cmȻ1汩9ݠQ[&|oa N_բSR375O<7e=,=2ss+_G?Ygg_l-[8)P PUO>>ZV!RV3<0Z4{\!֏)]{'9p;Y6j~xk)O/[sw)]&UZlK7;I" 7-TT$j"0VǠA tm'HwI*&8$̙͎6)i?@)l id ۜt)zZHz wo|Д[j6CNf4;LAnҋbI)ܝ')S n /O/ACp9 Wؚ*3ZSYŒ3 ) הIj8, icKdv3Oh^WZD\I2$"O7$r6%~K'ٮ0T,~ U8DOK 9ۤǍ}>h!:RY c*Te<S~TȌ>LP%?OUNlIqEFЭDD{zQM/ m_nD~]V&KZﷆHWf|`ޟ;<Pe 03zZJ h: 7Z5]pmlOt_{zE`0 H_Z==CR*HzXø{sߘӂ"噏V|pN 'mvk4Ay<zT%\I`A3!719^{">,yDR߀_CVohIQ3L58: X +?zN"KiJȐS/31&vRj&Q ǛqIBְM%KAV"M$/YANHS:`39񓮄^~: 3dFN*Hoj魭&)D!Oɏ% wy^[m]AEęLWNf&-ifGߕ[[0}UQ&sp'nHO RAz-Y@'!KN}S(@;{61SH(rޚY/2v33'dYd&KWVob w{Ć8-ʰsuB%ӂ[,:m 7jwaA&Q~mq}Ν9>SZf#G+k$R9%2T;;E+M UAuIT~3pX \['J-y4B>;tJH{e.cN/n9"mlAxlQlS g/~'!YR?+8Q!B,qX Yq gk򶬣guNTڦS6;`%!= 3Fr*RtQ)pF},F9E,I\/;W Xgv[Vl:cZH>j(c%;N q5ҥ ~R%]t1Z'g8qf'"NJa1t zc )EJy~U0@N礤 '_x˴;wbtVcjd2^чץT]i}|#g.RM^6W-xibœ΅-ۭfm#Ʃ0=a6} jIy 71ZYr.K rXhC2WѢgΘY;B_=ϑJ^.<)XZ"D"&B'BDOK9.? ߭t{9jȡ d8|vE͍t& UaC,qyev7~8rmOeLm>n.D$=7M]hcI_*i k1UL4O@tk$wWF`(;dQ}`3|,;KF\@ DZj*cV,g#ߜR{o@w@o-mJ/K6_dcml"Z]ԻX lَ&fZӤs0|QӼq2fW!ɧ6B/qZdqK@sn1PT6oFa.eْHB'Z~UW5Pqub&:7Ro-ՆC{l3ٛߕ x`nd^̕vVO7ȷ S8jCiFPwg%wIHhذ_Wqҕe06+t|o ۸kaOv-I`9736*T+J+ӏol{LSvɰS~9R8N?W_-dTGJKF ~x9;"y]cgՔ74r 9Wm=s6K ul_ǬɻI!㼜s]SᒚٛJVyD&k{"zzؠNeꞴxeM-JQ ]OM4ޭChe [ DI/␳m݆e74#LjQmw5HŲjf/5!wE<^&3,- h:/##v֑Glu&/>}UB3B $=DʝZ[ZˎeJJ-doG KczƂnji.ƛ{:Ixl0e[~=w}Uw Eh9jS7u?2n#Z5}qEM m JuʺZ$!| <Ԇ`qϾQ2V/u_{gUĩ#GX^"|񏄰Fg[b.F sTnA5)2V*g.Š&wsQiR?zaBQg66ZByv}K< wHPRy~_VE֛ ,yl$ :.{e + 0#uɟ)ƢmNi=) ,'t+Zt;5\Nr)r?1{A͉~ܡ!A7t5#Z"9x`j9BOoN}&]H7PM<ŸkScbs*@Qz0} #w !贤YXTٞl,T_3uS *iɴ\і[ ɶxyzM(~[Z,ANvfUP6NS`hz;ևfxfߒt6G+0HW92Cmf٢Ee˵"v[\oIs vqCCVg+;T[? ʼ:$8s`{iթD9,g{U:Nl_5SmEu 0XHrAF,zb)(vĸG߮kY,X3d[d Oj':PAkĈ# PYdJGy蠳5ʪ+WNLhf_ٲ?fjKoVr9l3#jV>LX̺T'+6X0I kז'I/gm T PqN5i!lbA~߬[w9{AbzźfL@ E5ء!c2jiO#x-ƄnK XZS װڷ#~mREݞ/̴I DK58LʂI!,bQYI#jjF<WhVO7(skN#1 tB4vA^XLByqaQm|g%ZRͥTۿ$Qݣn0SU`;K0nDB'.=,Y0׬Vꑬ=esc"pH9b"&ޞz#c*gL*>gmv E}k'zqt?Q.Rt ee`Gnw0xǎƷWNK)t`7=/7~#^Oqm]2ͷt1y]hKҼ.w0&Cn)KεJSʻ⣇?}"RR:»M1a`]poo朲j0|>2sA n Aν[Ƌ&I bkbWowpϛ}X#B^qSBx[(C:{$S0,]U<ŕB@%,Ec?wP53ʹ+ _ܗa_n{O)]} mF'7F|ctd;wHؙ{-;"->}:u;ц0v;wGGܑ0VbM r[٦+xwHNK13tMNj۟@ɒ[k<[ AubilS6VO-.P|ቆn d'VN.TdY6#KnهIb'i[Y~ݷ#wO[5vNp)!Ruy0f#IiwQ(䨡7¾ܸa`dy) ?GԎID7Y{3Q+6r7Qg4S,Q:!A :颔=3K{iYB~.Z{4mh*e|W\OIM$n3#'\hT'$!r]%Pr!xT6&V4ϺF|/,xcbZ;𣚚ҫ[jj=Vmx2'Prԭpq1gzʿwUI,czcmdvЈ+&0L ~=VK,쒛r5~ϓwЩ0>|iDd']ۭOnM}Vޒ? 2u%`}h!LzY>猪/PMX.q(3Z?`1WXhӔVSs@)[Ev!)S1E'4KfpjF]j2,a^mdjE5b5VDG\ ,k?gM" WmݿG^h|0sG#{KKd^L}<sފ a׬E=ݐsy?؎ c?amy8c0дtn}d fƁ*Y$ LƧ*4s;GGܼa$?ɤ$\{ k!pcJ^yj~168*LP2kQHdA}jo.D`;*XC{"5הe{hj·W'bz+ Ӳ luc:MO_MYI(]D u4Njlca0CKîL5&rmy+ռ03mq :c {xl3%b,.$#J)w|31Dtٞܬ:b_jHYɏB-ܧe1ׇⓞ{#$qYVq&Y/턷\Ӵ1357~Ny -̣FGφ ,&QVW]-"ф3=/wrT}M<>WчJNNo~ϰկKd@[IS;a,쎵k}Lz?GnJ 仕\{sؠls\Ύ@Yd{Xֶ|~3gt?BrC y=bsgpA;t…0;xᮂunJ:Vx\]i̓oa(Bƙw6$P/ \By0(Usp$B[*>L>>{ٰEr[*Gqc`Z]Vh!vS48'sid09bR^uLb!{Ea4ͤО_gՏB<<|KE H ̈́qV|eNN8?(G TDž[WqHt 4BM[jUnp9p0ab:R;M3Tm@ߒyHCMŒ0ⶐyaI'gI9śo>REd1Vwo_Ih v@bAM--gxwV+[b=LQ8'=m\|*BecQu!$h< urɁqtX΢qpxjP[iebu|3X-!?{%'էqN!s6@՗c׌luih_,N?܈MqXQ~0eYe/>`I/&cXtΊ[ ۗH'xuzj&& #lY).]Lkek;gjexC21W@A^qi۩'OezVpӐ伞I^TN UDMӿ-w_B0nvO{scX獑m|fH;F6!8ݢ;85L9bJ+E̸UBiEtmX#tWV))m"Ctf-xnY螤YJ cJ>T/(w16^ni7=e$9@i |لaar(ztC|iSpJ%BJODUw{0ş&FErXDQߥp笌;b93dF7Q(W-c5ZNLfbfS =G^tkPOzNSK أl3ςQ-5ն#V;݈I_C)%gg_04~9 JJ/~)3h>%5q~f\֏;KԌd] m61Eyo#gMěWr&oБ| 3:+ BA#B|bB>@*> ydvKaۋ׋l5{+i~V`;Ѡ\0Sùв2eτ)_R >j~ebs_?/ʀWMaΔQ϶&( }{7+> { (|@t58`kI 6%;7\ıՊE=S7ф퀴Pƞ`|^[L8Xtj@ལtR! fKꦠKIuL&_\c;=(_1`z8gꙷ|afa ߭ Dco+/7rQn܊n bLe2Qasˏ-_P2WGK&ͱnihWrC_nWJT*i3R]#Nvj[ё;`4lO%V.WEwwIzceَ:;zBk1J:xtg_hY݈yJo`2T^Lht.UT39hP4pG>#m + ARYl;ʃG||Y9`^UQ>j&-s,-{38d*P.z BvH̛ j>;vl5.U~ ]U5.}ŭuf#"jEHYmFbGM2~qc9nE:>~FbUS>F11{Y?Gqok"ʉ4|l~.1Ie(hCG]}~QӂLo^%o5ߺwW9We]It;TT3t@`j,23#`W4 %OIOhsJC,ؠUycK!4X=iţo283M Ỉu=LiVio WC Ho6߳yhIc8̏cG͑s@YGw4f~C)N=jIIѴ`Ml,bqM^;f -*OHHi4f!݅ڗWi8R=R+lywKLI鈝jۜ#yɝ`㲊|;O禧M*$\uـ;NM*ȀcQ[e[!On[5Wgq+HY&j&uKч* $マ*\ EǷ7usHʫ:zTV=rwCr - ⍠15[ja;ãbu}V9~׽,p9\Qua@^yσzEZ_s{DycB WY;Q)A}x痥|1Ѩ#I qd7n=$jfz'Ng` A)cֺ¼!giqĐ\dr@@4JR> FA0kyE@*vXh#&^qKz_@"b%3*!Dm\!1EoO'B.aEs_pQܻ2<ъ]O蜬CnGAdܦAկ r΍<%6"2ѐ{Ňn{/Z/^ٙŖ%43-%)@F ,B!: fc82THmwP+ܯM6w6^ChSDN/WH&^I6B;HvyA'K m%-f4)[Cȧ-.|pV a73ը. 䢶f/;$m}IOQ ˦up$-"Laq?C2ǝ342$2e1Eq/_6sA-WOCSLkۀ 5~lO*v4"c c3VkYKLrjxZIFߙG`;H\(aٸ\Q6TEO!Yn.+#{5"ULSշ,|+\1~'&-]KjO+*VZ$_zLbM^3\QC+]Y0jЌi )cYΊ]<}M" #䞻DB9 @gg%Jy ס|Z(fIg mC7,v{``Y.@JPIARxtUQQ3a&:G*uctyRһn4ݾNӽwQfG$ NeXږ0t6Ѿ_Fg^?:PrQn/ʕ ^J鄹V>T0Wf3+ѳ|GdY˜.a'ɠawnP){xOao~O؀G֝ۉVg pq( NnʍYЦ{ lw {NW յo![==);l񺵔C,ĹbN]^״]r:qi|7ҭʚNwm/opIP̕Ri+bcP9[兪;9ٗ}Yl,πyoYf $KesigrCgufqD]A.k JC:W ;,wv9 O<1=In@{?dC (%bTVϤγ2,0{fxc5<&N^;QjIb>r܁G6)7f0 }R/h/^k&+jC"@if)Wv=4m3ԱM-A8geQ.XDuǚV^ځY+#?aD[8i- T'g,VӰȥzd УܮQLl`&xp(deh$±)6/1XQFמ<68sO&be8<_Kw(Si~ĨUE|)LD@Zwx_7`78#lN"CJIWljGU@`8Oo^9aVR}j Ԕ1r)kDLN/?;wC9q]AH:]*1u3n:@䴘z2nu?7 35aN[۱C. IѭEZOi^GH`evX#nc~*86ev9׈v}9N<刁/^{(݂0P>CN,8o;湍{UkibX=%iqAvL>lօ|ukl&^K|Fu1ΘoJOQ{ɣMyˈũcLQ)F6VKn(BR &D)>64L+RQY̐ehzy$eWNpGpϷu~CKmctdm-W:c';IǶm۶m۶m۶T}?saƨ=^ל s]]".DŽYy<쌢B?u lvD?SMAU~6ecH{l˲jL )! Z|.I^yP-!!(s24$~yQ`qVF'KlDkOBqbeWTGJh&D4z8"2<ڙ_Y/q&WܷJɘ$SIH{>gh ݅#76Ebᗵی^t"רQMWʉvA&P MG+H/yGk.Wnʶ^eFǯƼ-FîdoweȔhPu&&4(jYVhpe\Z>h$LJWg:mjX$3Ksej5vC&P0ҧ Ҕ\穙œiߧ/d&3h\ǝ":ʽcn0-$$obh<5zEކ%1yI*/n=ㅅչLQk!VC5F_+UX.|‰x}7zP9hi"d 4,2"a'&XTjz_|U7t-q~.u͎_mb.wZ?HӦzO}Gzu7?(Ļf;FYC7OnlpC:oCTFݯqݓ /%o`#&պju= 5}Li/sوfʠH( խͩ,.М 4Btj6p`@ɵJ8 {؄Һ ]:o?!j&~.kMFHKɠnMKj:|Zih`Wi]E==y%. .lYmrېv|vhBQi*˒U 'v U].@Œ9OP`ݡ`{b=o{rf_ktf+BqdeAυM[Aph?W!5DLo5*7o\}lŘX5dZA7!Ph.荏DCvqt%hdb2gD0AٚQtH$/V?a`,lپmq\)fQ\m8)[*x)8w V2+O;7^f+jo6݃X:.ou{򃘳?|%u:TpS ̂;}غ xNBG {gz߄ZNHZwriy6+e>[׌28VG'9{M̟K40VA śFF >ׁ,jSQvʁX9YNNqїi?uFa3%$FCp{{ ˌQY?0O;ЊrE8O`L&}'vHz{/̣n\Sx Ivۘpj  $O<Ǧ;֚tIT_͊ƛ8*+*:_;?3Nw0,FV.sx衸 &=~чWZx$Uy@`/!G)iyD^{):DZ:rn̽nV 5V^Sm߈6Ed!B"WVI%mi׸ݸ.$ሙos1SCާɹ-G6Gc6].#qP1P3:Y>Rl|h pQ{ߘ),Vf$'0 `RV,~ocwtThb°\8f!&7H=l+e2%0S,QAB^-{|eD9ˎQ+yQtLֱ_>Cޯ!y\ͥR}smK3#*.7&f M4oO%:8?Xl[Mgkʱ30:Q59 ^\ |l7\-qP;4 K( q^ =\r7(f8Зu|K{OqEfc-s5i @\r{-Rt12U`aPϻ9v!z ޱ`R7EsKϹD'l|17]̱QX܉ypoi)@%1٦\ӉowQda yxP[GKм4oBXyX4iZ:Ġt zM XnxVSdWo&Q5k㤖;1u l9WHDNJl8nжd:xtfDz\wCFG5²4[ ~hY|pNxX>=zZz[jA1ﬓجG+mzn&.0XX2Y9rMr>>rZ4H޾;Nx3ykߊpu^jNJP6EY tlBRK!֛P\?zV_jwF_>M 7U9_ |B㭊FJYY7 v (%NP]!<^(["hB5ٔcma?*;]5wɃGC:j\>P?1gZoYex|U { WCۿHaHKӀA$p#XR^p?R0P{gQ S$w}KrX^3"c$2 .VbH ,s;W6`k7TK3ĥ#znV0{Y >B s#"ϓRP^q a@+8#Fg:]yNH \zM?jlBE>UFN. ~dX8Ł\rzⓆLk_ \fthL YM%+⇒,Xrτi>VC%$Fե>f-cנqeStIQm AkKKe\w(Qܔn-I.J&9f*bif2ȵRS'u 0Ȱ$'KrH w͠bu8WY|YEesX-Dȃpח'JYe\~yۺƶh'91D:^B`-0<9J-g x`ÅC8w@0~l GԗX/v]=F'+Xm,v֧a+Y:;i]OI_uڿl{K4&)Aw&p=NaloO>z<УX+q#.8iƌ d5'BrSd[^8:xzmA ι-R`c7,{vn2M\ß?%繕|Y|0@Uى|{}xG!(ºEci!siˋsZq*uqslxBJ(iږ ?H%]k\::(ީ4 ӧJT }ͫ'NJH)&OcX =[oμ>"ٕ8O&b!<|Qu\ZQfw`|c$∺#] e@Yi!C;]sQ/1Ohs#6JOY ofr@rx<>Hu] eA1!.A>SSMzUJgRBBEJ*Gkϸ)[fD_l̨I߲RxfԑIڏtisbX]!p0ܼ$-&4ҕ,þd'~)sJ"n@Cjw_vJܶW _=_ۺ^nf\a~,VF)g\A[Jӽ/,";߹ &jpǤ]ܭ鵑U8_FLI$XT 5eq2mDU0t3r5d$ɇlGEgw:Q'툶Ydm<l7SLNCDo ^J=c)%P[j܅[@cHӀsô$=sƺ Í[pzR2q1܀kځ1-bX EY0.TJ 7->bAo]LPĺDǬ<<5,NN'|mAQѸxZ\mov* _O1lԠ46fGvĢ94M凰X>JZ#VAA7Rz3 clXۯDS] D'@KӸ!#v6qG(i_ b`D-sK%8*zx&\1tRK * ՚ݑyq5EnV0:⧻|?0y⣝;DV%aJ&#cT=1$Ⲻ  ||IC1ht}l!fލaed%aYdu^Sw$,{qX_2g+fvhRVz_[?Rf 8Z8FW6%k]xfnS]6%ڞυ>NNx'uA#J$NzQģjn8& wiҹ7XQjqJfPP|ҿt3n 32HW*SXؑj4uBÃVRF:ƨܬ9Ht2[.OExH{Ƀ.q<ĪLKAʾ`@vivfM(d,"+|Yik2q!K$LRE4 Az]" (ToUSwi_Ӳ >m j&a9;M*6s0WXt~B[ʛ;T,~KA+mDzz^hya4NΔIm}qTsO oa?תCo`2LzA Y7]'Rc׳4LAۗi../ $} ~T1mŸa| Pm!%j , w ~dl ^Cpr :X7v~מP 5}%DHA}G#qv-P> EM$7'an]HJ/Sf4?1j > uH買y99ǶmJ!䨊vhlOb7ƯonT0+7mmQ1ˋsbõfM___Ż5<Lq%[WelDyj-̂t`ҫKsb9 4tE!eѩ* Q?D$۩uwN򨹟c1yfi@OiTBZDS]1?p3C ̤Hٝ*'yAr٪vQgH?2l]S2ӘQ_wryAd?1=ftcOz3 #]2 ,n {T*yz ޟ/ZBBs=Rݣ/0e1seֶ:U1$YNLaػi{oZ0Twd6[[)1̽l[+y2A֓0He9Sy౐f4n O;,0!xxƤqGFMQ(3R®&ܼZp Dw6w]`LZo}D<uT;䟄814o5: _,;4g{ @o-K5} e3y寿t^Z2@[LN-,;?-ڪ*895lJw.ekh ޲4G,<_1Va1 3E#cz!Aj> jX^9ob {2O[|Y#/QE&Okꇎ⢄MKAqHIJmcƶ#}KsN(Ͽ*AY87s*hEl9(WAŷxRL(̜кԂÛ%M 1+ ̶4 =g#?F~ $P?^pmIM./8zA&sa;| I3_n75,Քd颵^<1חsQRGL|.6:3{lC-\2 -c~ "5GnX@ZڳHR^2Dh< BՇrGz! 9ȿ5`Z]zO&p"[2[ }i_!y{RoZp>​#Mt:&nBp.N˄z߯Oj;,QXP ॢPjɣ39D={6 ^ $z$Zbc\.+*]!kDry@V7ß+&]Q)qS)ur{Z%/CZwƼ22d6lŴ 4W碖S)oV"$>9[Xd(Vu,fk-~K2*w?柸&!)X(oKxZ G\!4, 8xx&_c:dXU;4$6Oxa'X&nړPuC +h_ug@SZÉHB kx whsyxG "o_0~R/_n9t@ֆ^E9g/>S>Ыo,9j<&6%e=Һܾv+uVu@1(l;˚yQ0B3C#υ$#1y녭qX!sN"h팰57l!!$k)ۥXqn-g@Q=]67*͉BbK4V4)ˈy8m6XJ0;i2=}?v Z} _vQU2`#0fA5W*T!oQG \5PT>[eWcƗ(K }qX*#LN5oJ٪]3%TtC Dm~ #"t2LTaN+!9^25AmFBvzO("wl/9߆-+̓J. D9&3uduHBʘC{&֒V" }J5tI_0hBӸ,5"/K+UMMUA퀑5{MSWC+iHW{enBpwkrXzn)o=#QęjahY.Z-b֭ Oa(+8BC֍ȦR0OԮ,>z _MXSWn/ǾϹVOj 4?LczS:VT\^Gen_;K]f3bf}mS;!k[sfAvZMaQQi~o-{h:/3[@Y 9M]<Fn.[hz6qF$/6bSiT[?&YGHd&\/Ȕ"ʠF pږWeD?siDg[ϝCe^ '3/֜ܮ6\;ceT[ )wbu58=2r_vە}h9bߗ^ 5"@]-k݃g'^ݬt6_`)4\K% M04{Ǩj5 zŸܺt@yԄruʒn"dRkI1 86T*|y1Ww0jȼfa% 40a TTRKVйJ[>X%EI:JUK0D ArvcvTi<@sZM񔚬,/JٰOU@/Ӏ?QqJ'R…vcpԕ5jb'gm\!>#0k";_ysqqb n?דR3uBy߭nuFm+rP:c7pm%J;rT%qp8q7_v@ ֤DcK{ML!}כNM0S+nrѲXRrnp㲠Nx&5DS.S/͎S[U>OSB_f2PEH#r雼=U<{HAM\#]'qJ-w(r5YA$@ȵISC|XSQrx}QLi۔:$gQǹ: ټOL6܄Rn+iLdk_niwI$WV4=J-QdP0Lr~}:V+ #H5W?1y^NAvR5/'ZqI=iAꥈYcs,&&L/pɘr?/͡vK"h ?iM](<#xȨW'JxDoG5x3L_rN#iBvx9;Ƕ |ηfUɭlXӏkHoOV*;t7fT:GK0 N`S5}mGݖL ™+6ן')ٞJ6oz,|K%ߊf o5 mxasJ߮jd^zfodBj|c˟n5nOd8H$Pjf5RL'>,*<+F:9F>ޟ4|c+u"JO1@eb?9 /-v?Z/`.$bK0GBttw%0(b ǡ=K]ZB4棼ytCgl孼LՇ2w᥅є<kdz(.e)ס‰N)MTJEc/u.[0(O](d^rm5&A7;)tUcHI4wB<~DŽT湺m6R_X5 1fGgXFXx :ZcԌ$ű%DdbP[eT:sȯfJm!9ԮrZB'-hхkƴG)꥙< R1h}M?C%q2ِ#bޯ/9~f%#{.s  fb.=h!o\0X |}͈ a  NyyFc6u#dg]7GʃhցPR3#|TaR"o3ڄó^YL֤L;0SE߇iڠZM̈́e5>\|h{޵[{=ylѿjLv7Č]_z~8o>wXu _ &SSB&|/^^xs/3>xMz=Y$+\j`&$kǏ8τR;$ c߃0j2rqSc_~_˵iKb%hX,IW>=g&뻢+G"L8$HgyGsk?oS0C-\>aGˎADMjx;mAkɮۆZy}x~kq>[%,۫=+M!.w8Aa~k7ٟ+4B-btB}ɾ{Q/g^6#kEO`o^#Cf$,3^ i>x5x=/Ξp5qzEHϿL:e#lQ@&|N/S*)<[m~s.`>&ѫWa[YV$oqH|P:'ɵ̞pF751Qg1'j?ڮꤿ m\3g=Q%D +\4`c{Pe  R ',= aہ垓?z/q#w``L&w(C؇ޭwt`3ĩ$u!T5{~5ɁNw3ʗ\2{;^ţX[̀g;dIU^ Wb;zW;RFtvp|HPwepӁ lұ_BƝ1;6@pIRтCBoybΰl||*)qhuټy}x 1}c}9yۜTϬrf1p*~ ]uڳOT }f:}{f^xKi80y df<)MwdiY+.e\\ú e}K0B?(«@7o\4ٺ\`FT#ߵЩ"<!|2[B<X. u>$PsOo k3^o6/ιhUoȯBux(Kr{m7i zht=iO0`"kT$D1Gvs@;8;pf^P,mZO7^&Ls;b#TבrW\Duv[Nh}*k[N|Y(cةS_bk<#@jKw|-$aX>r2tpVwMe!1#RW0x-@P`LHNX„"۹#n?kR-G~* ٬߂xJn^湐%W7 7'tCɄp̨w<\AH'|y;𫼛60bdPyGW 044K"OˤAnYkPܘz=l5ai/C ߋV$ EZOY ݒ}!WNcM62bn7t*#Dt.2.9I@mbe]jBVQڭ,"ە:ݎ#$]Q93"kc@W+\.,i_0٪kwʄjQm=G0ΒZ򋴱6GK-򬛓slzj>MGƿr| ?~^Lph4^UA%k1k$U+=QOLӍ("tB ,i{UG۴_R5dfj@8Em~8ݘNN/(hW9BF#UeCR.]]OwH Ki.Ll0 j{zs}1cm@06 eb=L:(Jk2:҅Ϻ gٹM흸1/ܘ אËɌL4v)SFwzp\xQ⑺HgRQ-GrEŇ.cOG;X[eg2:EO@!XOPE&ppBBį eaWcI_\1;Ғt*^tVI}0w`Noyc*^2Mkz/+(umG/K]O|ߞ1 o{UZP7pkuIF>e7<^3<Ǯ:NU}V iGv8б&q`RfYikc)*%q#R3sm%|2.5˦=Ok,Xǐ^*Ȼ6$sli1{CJ%`O@>r{eqXݭ߂oD |  36rSQ)"J-k=bzM166u\%|vjFNG(LbFw.v&^HQX, ug<7x!"nO<[2 w )c cR}/W&o#*Ս 3DmpwoMa.NEƟO$P.HuObݞv9Pe(FC\cmؗD/dNEGʢ;`YT9< 7&9gX9g_%29G(|{7zb5l~|\ݴo'Cux*C 5W`ck$Ww4S::yH"!ezvu6= :P.ʏF Zd?6y S)exe? ʔM `nJ!u_`w%X%DtTn!_ g ѡ'gM( aSin'3f˼n,F@7W&ڸEywtuC[an. R6"j iyhr6)$[1c؃ l_dZbK&G!Qq?#bދ5HdS bf9ء `?#已gؘߋ]"E>A8S8궬~?dVurU>/UWȪcTD(ti!, 6h&l8$udhPw˃jhՎSE"UL]إ~p~Sa#)6&YRL܋otS!);laq[%)SblS;` YŖŬSg 86Pqw<1*m>˚#c/ ,e}[ ^߾jNx՝]&͟ۋ7תA0Εe&FԪ3Opj9y{n؇b/islc5gpq!ڴQ|J1۷>xv-8Ԏ[J;Wcæv>pcLFj &QQ()cy"Ƥ5 c 8mrRtŽ>X8A|< :3z8؈]Q6Cnx^~QBm#Gx3ߴMU~VQGDeOvH5 ^`L 69*Aa5MY&G5ʾ6M+F?iϪ4 {nhN;ӱU&l ~&ėa>'\ RE㐳eegda i7.=0`T7dEx0ϯU$+X<,tEn\\fE̤Uf .(iYߚ戺V] Aiuɨ-,a:sU־UԱLfas a}@Cu[C|'GͳY/,_̿"jMZlT} d<#M% y,{q9+=41ɜU6(nqWYiїOTTTR5}6K{a2Az 9C,q[p-ArW¾_OٱiYâP Fњ U{p6ysTd 4u{xL[Z7%(H^'(,,,poثms؄AY[9H'<~fEaJ7SL|f߾s5unZu #^yT{ϙ7Cʯ~hGξ“ oT,̡ͬ,!NHvy7bXUXVb9 azXʯ1 ˁQ"b3j?)\u<˰VR+cK4{R3/ܯX>&zWBmi]zl (RFڸ?sFSR% ;zlp OΆr*95ur%<`Ò%y< g湄-_E-uqR:椋jΊtU0}wid 1$`ȦFCy ́ wq3g4;þJ2Bu6ow eyFtIGGbO6o1NqŦOGWלΩcѤn%!CBNyޑ.z5yf8 ?pb5-J?:#p gicMLM2`tͿ/wHIh!jSHTH/N۞{Oq{2ȥ7eCuI_6==.7NdGl)^#=% LG\ADu~Zs? !(@'wń{DeuJba_HxG-nLpeU :mjXP?BFP`r[t-gIW8*DM!Z}#؉ -G,zY0 }Ұ:8о[? n#-PFJ/yeG08rΩ\o6(u͸HFP3Xt,V|Mf^A-2):2-{X}ƬK2ѸܡrY418!ij/N6,My3G꺉 9$!r.d}YH2_pZ;p-e[$wmf:ӒBg栠pfI% C#Yغ;Ue,Wjf.y "y_nf4if١cu(ƕhtsmB7Uڂ ^Y.|]5sAɽ:y=}{d|?jx SW8]q3mԀ9Qm.b(xۊ*EvS'qu&f d.cpِ;?+i瑇s+w8:#py["hs<KTiy3yJPkY#"H )\ \Fhj~l¸i2ef() ӺS5c}Lng8C08 (H6=;_ł EcV4 bmUD@RcQvѶeI8!Br<^ûo_Vzi2*!F>_ 7edScC&.{:wvyGm52hbYѴ0Qź6r&k/&;PʸˆYR @9O?idΈPP> q*X`.t(((O:XmQ~'M?z7 m MeMDAJ4A2z*I nn%{1I[: 1rf `ĞAzCbQQIOX鍜|Hh|+ah]S,m-]opN&}'â4uXX'5Q@mYv <%˸F.yMzYC0;_uQfqS}va$n "tb& =in=RgE{ %-!e4?j%P?AE}c:(v [e@OiU`0T$E1Z|#fP o4uX4ҕ:*zNN'>ؖCI>BUؼ\J+pO]= *$a>6NOs4e|K4|@G&̤(BjD>Z\' Vs?r='o#ɕKbHC B,) >zJVlbʇkUM;<`?>YJYAwđq]Pg./^H#>oکe'V"Wy֦ ݴ7 Mơ>r;ŗ:GvcQWPQRvQ/=.F N0o56ݕ>C7-۵/$ٷvXyhZ1,Mfak RY~TϽ$sZD1n:4>͞q5^F[cv%g!-]UV 3Gpakcfren5d)3g\|_7,eύIK* K*)j,_ W˂gK忲4pЈDB^6AyAtUS_#e!d%7_${;5dY"#¦jM< ;'ˎnSq=ACu! \PIK\ϽrYtRd. fdR'1EdMQ:eKtW[ ˧w`eJlܐPc8YGCtt$2妛rQm\MÕ"7"mIKp1gotȎ)q(;Җz-;R7֌Hvʫd; ko1GmΆ$v.ZnYl?F)Zg)_YYvþx|_}89w墷aqm`36(L3S?-zA+Z7u^ZR,2Uŗ"gT蘙ϋZr8)n}$yC;?s~p^|i啪m O;>|}Lw[ -1XF~lcɘzb,o/oHݲsnq5ָ0"k_@*em0 ^r}r{Sfs :7 3puDϳvd8?7ޒC,EAh[f 0Y Ze)([= ElPr* u$i]uӊ[F:'@;v&[ŀm^^,c+BU"E]'rE%Aq=]B^<|]&.OY\]0{xZ0Kfͬ'1rnQ*B_`+ |:X'#ӇҚx~|5^{[vwl^ t;'l7'Η0~E%66|0.>b"H{yv J1Z|[tIi?/_ UKMFk 0pOJVbuz6BW;JuMuV۹sd+j468ȶ.:9KȩAXs7hg1EJ#@k,0mwbi69"P%U,-,>mLąjZQR)gZ1*lmKkeo`r\(.(q_3O?tY[h@}R =]2Ƽ~M:ub][Rn"[D ӑګœk #@-PY㩏f/j]TKn2 mSR/yzhThlZ2*1CR""ƇFEMm!JJnWҔ:5TY]Bkdzx9GB#\"*Lqͨ 7=翻r~J9^a*dWCҏ_vu2=CC# !e0^H7h1'A*ئ lEdvF!} }2 jDd/^A>\#FWVc}GKi[6HHh"*ySRݡx.ʩzY9CYw Ehs_(]Zh}ѯ,u  {w[T͛SxIC$#%B;GÇ؁w\Wav2WgIEWE&L(cp!y:ͺGrK}8A[l滃YZц55#Qd!d#g#Ӯ Zmx?X8WYgkP)^g9 {ŷEKR>W6?,sKFB}G;XPw6IUf(syR')s/B% |Ņ ]Ωu[l](`w\N\Id8A‚ G*~E _4rڎl/۶x(3-I z%e?ZO%>f;tMN7cVi \OS30OlczB o:a\"*9vaRMI+6o +_A Y_` V”r](TZ3[ '6LV2K4<ʄ֪sCLSyJHko@`B)L¸kl@mgd}wM^JYm7~*]:k̇ߑUNkusIGJ k2Od&K⇩J8Ʃv̭ARw]^]xz {q!y~FiL w}:'voX8pt6bb̈́&^Z{}| G"ؤ$pϊzLB#iAju!3+BX|fERPAe;FZjZݤ:nmJEl%:ۂ l ;zaQC5?lrJ JYՕ&n1SW yįiL 40MQ "t^-4R @i(h;(?VjӶxDyn7wklzi=?$3<9 ΝҺBCކF9:Kt} Ю.n[GӲxeySHG*g҈vFNN䎫! S P ,pa6prܨEb* :P&Sʍ7br&c|;\[ RX[QhKy(VQbO#|LDZA;M5t4p/'C,5&!_T&2gCU_`ɍًɛLh Cc@3ЀdVY#ϑ"Fnv5oZμ3F[;Jrۤz ȝ \8&yYV17{@bWl u5߄ z_}yR{;4-ֳWޏ a:EL?鿬dRwY;ZAv$l0Bӯ2F';TWFZ97%p rNcl;q4 Z ~.A]`Ͽ?LK/Ƌ[BnUp]y) j!Cضę.Tg7=9ᮩY]^-+sz*Ŧ;k~b=]Xqy:rR'@gws cb遾"]3z3Q4+b5f!/VhS&iԛ~ErGIΟ9[EN#&ȫ IC2sɈzp4>lnc'r6BׂtO^lXbgw G\)^uz8G8 "D7 N!f f~8bʈZ,4ܮ@<| ]} =6*g7 "mͷ1b }elxOfx1gޢثW q~MB{w#deCl2ݠޤ]XB8-@ ?1==X s}k]܈UbͱfmX‚ e>M3RqX{՞N= Nr[hyE3CX*ܕ.̏1LE,FR,R"ao9H Hw|$2 "Qfe7`,E 3$EadɾJ{D b0um`>gc <M7;ۭD4#nD\2uu+US"B?L{+tKK9oyyi2U~ɕL[+jZ]IIJ^bgCggA>Mf5_+rCB|>BCkÏ WZ:B"Q`a(Akoe1^{\?q}hN}QA9߸~pqlYW[?PZ\Ip rDY2D,i'ҥ6?,/h?UWWk) PW̢lȻ9kp:f^'`f7-j``|-@oȋ9olNB7.5T)T2!iLH]Rpp[wS6Z_^^ӽd.(l)N;~5|dl75ۢab\_*I@ѹz!`R0l[N%x1鶉-bTHu=T^f$cȪ'PEE-g'CZb-U9Tpr8! #,E4ھf>:I(yn12mcO4(\:hO%6"_6j[\(O-0|x7Eң[QH}ć:S`@wFn|:ejGn vŒ_&ucGe< :!;Enһ`p2Z]:{CS1;AJDC簑&/˱z%VC%fsKm!CĹk% nqobEi:c<[|>сO^POVs5/S:/ohlOPO$͚IbZjѫ^~+"30 @0(P}6`\2{`K>قWLaYwqިgO+kޖ>SUHFP6&t~l|r9|~&|{X~twynLVn?hHـ~ߕ}|n ~CKmcte *v۶Ym۶m۶m۶d]ko}1}|rEŠ[J/W|D=m}+>TIM ia A@^MSdX)T6يɖu@:-utTM,t|Mllj(I1"pso"pI Q{YĸCqj'; [ <[nz+x:lf3f۩%q4Q&P6"kl5? ㋁!Ho>,}H̲ROPvYj\q˶rx&mHX5_U F?ԍ l8)XS'dC0YeJ ަ)ظ|uQW8"vۉc?'M$~F-sM"-,СLϙCf7uS m7vT8hnȌJEs%n+uMh_`Z%EZ٩&Ey5ckr#>ؘNl_y?9 2۫i>~_lHd&0`skbΠB6`dX 7C:3!n۞IMVw 4M"8e>Pt١+Sl:P m42[{86(ۋ bS 9%(Ƿa94w mMr> J5+t),ՃsdS❬٢sj ={We~i͈|mO|_E6q-:༉Ce_$A@[/ubWy&(bt96hޮ$m5VpRd9SwȀ [6ry{'-jvMUXO^osM\9L+6uOɔZͯ'lфlj:@btyɚW*kWP ^d(7 QJdH(:BQZrtS۸án7X1?1*;K/$Ċ@|d 9nqSp^8DOT ~ t5qo#OŚ/\IzKWZ٤U>seuf:.=.¶sݕFBO~s9&T(}R+* ϼ80y8""n)}٭yDꬡ_Ҝ2#V_5)e(Tp\"n`ꕻƬifxPbniBA~fBWMf 3.6T&^"088Ѷ5g$ԦlH؍dDs:}H_ntd'#D+Z㘹uERQh(M,K:xd`d5B 0\=MQjo 9bKE0QKc@J ]޶A ?&f,xQ}ol7oU LT¸]urN>y~WO.ϬL?^,}"c{<>2'_mfqﳲun_A"!@$@&@@@ؼ>N =ց)TICzCypOSm\R!Sv+},Ѻk=ܢs[_Rhw _+'\.0r/ C@r~4&d$2JAh$/8V_ krl+=ꊯں:qalԥkArO]tNj,j`>|]-%g`/qv)dX_\3j٥[dp<M3 : p^% a$r!-6\@x6Hol̔QI_"J4x,l*PS;X&[Voʹ5, C]fc|~~JA2'4kT)T2Na:ڎQwg&+\PDe=i P%4ް9Y#K.=>j?frnRf)58#Mp6@<0qe^bN\o<#@_~a_e C)}?<!>b~qwﹽFc_6{>I_Gٌۿ+k#馹d<##;];Azt?Fܿdc&?Y:Ew?k߸ꢿD31n-^~L" A}&Aweob `,-ރ;UEaƯ>;wK1RVQl8g<޼1&L ^g{o`o S>" ݢͮ0%v=ӘnؘbzA—4C*Y4Ӵ] Y),[ҧx]{Blȿ %2^B4sP'ΕPk.0i_X}I 4; _H` 47ZqxPfGxJq2WƔl4JƚsͶ9p3gUʺ>eڌCƂq9`VUe2v~}E9ǿNH-< K=۪>}eXWgmuq6\s Yf<8Gn_4j[D#SL* (b7K;1u .c-6o,LB<4156u]_9aVZ#}x=\6ա'Z.cp}ىzl% "ky@d6e<'O['x81)[j=tWm6t7f]x[Bɐ.]=#&gJ0Ao?oV^0盹(~Ndj3E9)/WHDdZ6 GjWNtחPg/m:EH/A<Ǵ J1w)N 8/_c?8~#/#zګwez"lQTXsUJ ͧy^ lEC5IrU,CWRvvJ+<_d姮) I/)lD4;_;VRrJHmh3h\++u+41N'r]RɶTIcgr]V6p[6lTK<[VJRK;Wd*p83:'!(>Yubsal C$ԛ@)a7kC4I. NP7l/._+9͟I?uW0ac1V#.rml,f-[MuCxIݶe<ϲQX4KZtv;>+mߞݙJV*C'Ck.V8MwW M/բ-o^-9 Z;SJշ\ջ:t9*L:?\_]rGƲYn @vMsN=&7KO_JO–`3m_S`@&u<ϒHoM<`i,ϥVo_dt WO=ymgp..XGp:sܣۻͪvy8H pgHGHjNBRG5=Z2|+牨J'pO_$ <-;M-*Aw6XfdH}Z089ʈ(԰n_8Hs ==W:8!a h\2rt^Vv$gCwQGn?rNR83U'eXhYN1i5ii=ȗrA3`6I]3LOɡuGHȌiu$&zT'Ff#z++}>;?\~B~6*l$VHu.nҔG`^g]*A|B+n:OԣxbZ!'1~3w )>7mue;՗.Zr9.Mmp/p7A> +@%1}9}zX򾢷To[썋3" }> 1ɓ?W~H7+J T ]QoQ p}jhę$JjXzG}V6[ʍ1q63"% f@b Q7v8dpnlm$+*JMax"Kf˷}/\Wg2u}Zd\>  7 03 %ɦ ቜFM5;:ɽ0xYD{5vϑ^yߦe+w$ZTUJ^hހ1O΢0FE[c2N\zz0rd/y SH}f'Iܼxr\?q_in3iN:kL7KvHBƶIp:] `ҷKyy'YZԌlv3 v#oZF5L"P*!O3z:7n&3 ll6pm p4qF{ļKdcd?4Wc셝1s"/ⅢL ӚP$9 '3JmMb1Yy_>zYI&W8:'e5,`ѹvf"z%N{ߣ0m*TNh0͑k> H ݞ_řRm:!B~^|A6 ?.Iu$os5*lu +Y#kh+ ,EBWk.3Lҏ14QhFZ~Wl3|9V\ϥ,*OX^nM]@h7zQ,?ۗ׫A: )ayb֔Mh|P{?nѮٹ,gI[7^:w:ɋ)pnU$a@oKqmo['G{$Vhc^zh+/'F]d`I _ϭ8U-u>W5 *rO:c_dakm?ZOvzB3swo` 1 xEhm~Ւ98bWbO?Ed/%[N /ww߀Dj,Zfb=Hm?,0).Ycd|ž rx~?G@F臂rIq{=6p@LGd_sΓs6sCݹ uoOE>ҁP|}C&+B*Wc> @kru =WSҦWگK)@sj1v¢ fL`VY^^zـp>:z\T!~49fY 7)lt`/OQé鍐o ݜ}//It!xEp[1.9m'.}͏<@2f\a35,%OtgvY5xky9ԭ1lrI_ $ԏغ?'ߜ2uZx{2C}YJιɰ)k] DbGmrKdYIr N[F)`\=2od&LϖDZ⁧_4Zu ! :v!.H}`(td= ~եAUbby ; Bt TowGV+''R?*$FB *7+v +b>3wM,KWx"Jv/΅ml晍i;'[ܲOatM~\I}f"L;c }KN1B8) qy}K1]kE1+Ul\,K@,A1CɈpNޒT?1%ö}'L+65tAMj `N,$pxJDz7T۳%n5V 0rV>JU*6q qaY7IV]6 %_8%F)GشU}ŕƱBKHwb{lil%Ӟ`DSt ڝahcv*&S!rCW2Ѿ۬Zcmyem\S]l`33ۏ7xY<'\ %?Jv B 4X)Nl\ե9.`3gVM5DU(."aZN ;Wo)^T 5-t=}Qj`w. o,s o׵00#KG4Zv Pt6 6.M MNfM 6/<=nMug;6;6+&/[GGw{=-}Q{J3[K7ELrEIS] ^g'1-PwDwl7䠡ޡNo{cYYPG:T&ց/ZBev'HS^ 6Oۀ0gw{N+̖GߵG_"B7[D+Jى";B&4Z9(It軕1ç'gvtGOHo:c:bn3Ϭ%w9[ K^=⯑ `;E_uh]v;3W;Z[^UI@Nk2wɌٻ1>٨-bqMt=v1I7e:)S2Z{Γea-{dƖG<=T ҒŦ2yMtDˢN zZ֝ G҄HIdAA1_D-~Zbz&Ft,ssALl!WS,N 4:W\2QV?i$S;n;I 'N|8.~ݥ v~[B#-}~>1àVpe ? '|XgV5ΰn1{OF(Cd`'iV#;V%&Ʃ9SË<ƕIx=!?&2舃t+H;fSí*Xzq>?!DlwIr5L4imIa'=m0/k(sſl_lc>/ g-[<X[-lϜnNMw]cu섰͵؆4S4X?cLfbbfVz>ZBˇ{ofډlŠ]^.N&<6P@>aV2uSt.DJS|Viy8xU|ڠ6EcMn]c|5ZT-9ƝB0 ,:XCcS:l2N`ҢA}`ɓ5s#D>HL_񾵒5,qY2,7֮>KK-Cd  %]t}yҨ䙄X *dQ_MG;=u![뗩E24isFr/Q }R_k+W]}7I5. TAg뻋=F̆Hkis.ؐ *8V:ݢlr~:#e_1il 6UV{*LGx,c_A񾕘)v,5>iJ0@!'!>2n^w*b ꎦ.x!+@8EhpI(^7.zD|,wT[QZ_nWCb3֐c2(؍4@&ҍAKB@bZ)ŊSN[Sw V:[ kriK_le2ؖTgFedRͲ.U˂?h2u'[(Ef6SȦSg'|3NO3Vu=Y+4+w% Ъ}D7* {aA A ,4$rf,[Ur9 wPgp$Lw˲VCim[_^_}wd}`Aݨ/|w@(=\uvĤ ^џպbL%_',Y-Yg/k7 PIbmt^,CFݑ٪nNgGyԗ;;STr9Β̵<}UÇ:d@YJQTZWҵi7WK:Z5`WC81Ӛ o6ĩbK)T#KOm5LGj*X{]̌Eưr!D]ĮlɟA[VrCLՑr4yJ6Kܕ391|9$E3zk4΁} o- gHYjJ@MךFӃGsl ЏQD:Qێ_.҆U=j02{a4ME(jPo Zh jM3vl-)z_(/nE^)GL c$J?1Ά6iL jPB&k 7/.c.T7"\vsK\st1Ìm  tGLi3cwmPqZ<OK(w8ʉxݷhkV5YLgGN[x3% 8]U-m:ܝ,",gTV֝%IvW!G=)8*Խ0&k:;(,G'yuRE ;C&PLzH:.y[$C|-z=dw3SpCcZNW5pwWD3[qO__po/o]SmvڮEfKW!Iޘ RCs ބ?μIxUe d i~Wˋvrc8 ިQk^ #Yl[X\(?(~yk8ɗSlj"Zc'-`4sqbrl4.wOYG-쉙(*CYCێjvI,{/C}߹@/ax njbL8R0pP+)^ [̺ѳ?JJj;mQJo:V"U}AEkZkîbr{U')Ψ ܡ3)7 #, `+8VT33dKd "b;GZL;[Yӵ.e+"[j9b\80Y{P1(lu!:aXi>A=~ ;4/Tn /Twԅ#$ 4GeMƘ) dc(\sqB?V%$vzrÏUч/n,X0N{[#sr2=56%дC %\í>S*{nC,XxF/"6ėk"TneC_E:Z.b5#'ش{J,sHvd&K'0oPÇ^B}՘9SDaoHlU\D3G3vaVw=I^I. RreGorDeå1*,.z{+?4ޭZ/jN}KOv/bXĿ HpE3(?8aƓ碰|,⋷s7YximUcJv, p 3Q BS/{H~VNg6:^*a1viRGƅD/cJ%"c?Z3u H oxT*hPy1,W 8kNANVYd2Bi^LFVE 2ٔbKդhM!. գ> p`[L4+̵b%'upbh2e\R_֓wJZ/484(k/R[j~(o]2 LJn1>{bH¯C H.Pϑgd$s#v}L ғ#er<{لB7؎4hBa&W:Yw8l9; f-+E֐3ScwdLNco) cԾ&d5'O̬ @?y乨P{S-'RLqnuD?b<8J= Ѽ%%5eKR1"M_3픮1g2EEΙ=y&n{[כAk\2uZQ163lSq\] ׈Vlz0W lp:WcZqEÌ:üÞښ64ɾŞj_%r4z$&]59bu~rv%C%kfS OtUAy|X\/2g_K k=~Mݻ B V=Rt?]%w8$tí*Rr詑L _Tɹ]Vu{؉*Ӽ|%|¶sj^4}b;njt! 轔[*҆g!C/+r`74ue?}~oB*~(o_o(^ $G!OV#:Ȑ}n~D7Im~v?/dio[.yBo71v]Q&{&_P%*KX\m$i AeIR*n1O.4em]}mma*p\UCnAu4}2"FcP|/Hf9C1mθH>$c H4h z럧g߽ZgNH|j;e Pg/ 'ߓ`3}!c↻,jBяgض9׸8bd [Dqa3JCwVp3-8tFY6M{yFGKv),#K$Isc4ѣzDʷͅjhQ ,8ktyK[m;fm35uE$<*ckL'|֙3o&0s?M9Cؚ|Mo9?t@6˭h,VzXOOֹAP`1+1YDwl*v M QBT*Գfkogc]6JG( lz@q(k"<z}lp*q[֑%K!齰j_}lc"'}0L޼d N(WTmO'0(:ʝEo7Ҡ|lgzob6Wi<`4TW+-(яyr89^٫)lFy'{wt-9LDlO\>]N?4glN_^)x߆Wd%ryof\fP-)RSןop28[>~&nV;iOȺbiJ!2FL8{eY JԮR\H򾢒HNRK6YQŮMy^DD]ڇ+4ˋ1"zxg,RXll~~kl`||M}j_hnUWsҋ%rthݶ"BDrhR￱__~~Pڿ!ih2l^ X!+,*c W ; uojH1u}'hkaR{ ӫtWbWekd0-,r~5ze(mT՘_qJu*%_/(K8 ߹mv\Y%`؎|r+^UD#P)rě/rB z˗o=_ >w .imȯ? V1Uǩ2f- 8drC۠H+8D|yq`v^k,p1{WZwsnqkD&rnU| ؤ|x^2B3qr*x+%0i;}b)vCթB$]7L]40pիcGUk*n:A$[-AM;}>I}Q5M9Fpr(zI06N%aר%]x1a=*6gվB޸\}qyƬ=ӊ`G$,P:ὄ'nTlmOon^N cm[{b͎9T`%xBh\=V*ɀDCh5M؉h~2qvHVW9&5DŽ qӺ-Lf‹tMhKo͜dX 5J:Dem U;HooJ9l:v& ŜP5h"k2pa߲k=լ8TW$lj6qie,ds ) ̄VbntHY3E fYF5:Ćɧp>R [׭\վim5`GD2; :ѹg  u bM7#GN/4=4KCͫnk*Dnߢ NGw欈f,B[7p+OjSo{Q*`M¸&kPkO!ph`bh䘑,eҔf{*w .s|N}ƀD'D=nbc8|ëQh. nm/U1pǘͽ&&0m>AVk !fU<%s՝YcoЪ}뢸 " bqW/'}oc-dxa4̡g | uw^P% J%Χ<_-_ OHhi THT%uh_u n6w_ùWV"^¼.rVX588Xxx5YUٚaZ>Φyu;(Zꋰ)+ ݍϼ3ƙH^fͻ}(rx|+=ƈ(??4H"W{n~0rv/FI,Io3}J 99(kg'V~t/¦ۍ|=. +9NZ%KPq`X" yJyz\@"LcoxyZ~Q[ex:}jFj"$vN3cc[+ȡхy$>u'jd!+~EnFvijl/֢#&M3ĒT-gW}`>B p2zKjn/ X>.Dy. ӷ4l|k~yC s"{ eWp7(Ϡ1sE lWM{&گ&Hj% mKobG]0KG~v|-wG}T˫9hb|cv^nxSn&i^15}5I/idFGr Ə?BC" m -a4_9N-ISh]`c~EhQVg&rn@MXakI7G^6qUzycټ3SzXubV=khs),\(/wuzqJӓy&yF)nb>D(^pAxw)s&؎NO餏z@OG` Ri~Ȁb[Fko A.V["+FTA¦`Z`-e^B&೏j\"lnSGapxL\WH,>KO!>ZCT.VGIocI&_% 4JkF._ؔ zϑhQ;bB6Z}"}i!ɞg@%23@S*94cvYvZUid`'[ kdW]?pkO 6s FI:n3u`1ggr\{ 1li"P%]|I3P._N=vbv'N>=enf4^3!|e9#9X"ʉOgp#S 9o! q:yBq|kF-JJԕ@gHAr )!v=z_WY|A]&K wRd5^4֑K?*sj<[OB%Mxe%Od\fQY(bN=257<ռS uVRur2::.Y +IS-- DZ>9y+dԶ;!lI*m-yJjG:I0MhO/ ZN8CRzߎ &˺ze]JXg.|Hfڱ/Z.OV]HqPrwp"z,UVk^);2\;y sfl27p?wy5)"Ql]V|sowld:eȡ]1_R>NUs{MQŁaתHۉg "C\/?wZyr "ZMBt [U nP\9h&i|]3KÚ԰9Wj\(:r8=_;#PSyjK^Na7. xJČsqƺ-6 ߼Z89 GyͫSd k3sNu5/w|v؀7 Juw9C!i`9&4N d-;mR97(v̿|s?@̊ݷLfeDXk|߽R N'nhM3uj_E6YK>Lvl''QECiCNQ]\MSmsٰ8 psϊߍjs+W8"yH/tFluKG!9!FTzb/rL,Gw*q]r<-gxMaȔ*}Ϝ 7!/]~ԍ;$=rȀ ݸXA\L9ͦL0zQ<:uܱyj:uq;&I tK-XMO^+NϦq9UP!T^lX㒿p"+ @z.G1YRB&/y.a.@8\l7k<@ˣ-ݥ5 dI|-Qݱ CRBmiʝn ƺ4dR SNPyURqc ];GrIiZG{ Nh9R+N;>A20TfG9E?ʓ4k4lԛ$njh7%)ĒS̾zT1;ET9(sDx= Jٲ@Y/LA.%ۙj{bۿncj~|]VX=lҩ~}XkBm}Ij0+EK9R(3yLmK1X+8~<;q؋ أJM{'nLAKqf}[%ӟ%3m#PEeNjZr8qfH!IJAuJkM.#uMe'J&+ Egݠ6{rmsn*baŵl(S<Țsl} ,*'.(oEMQ/\pZ`@YYf9o-:O+fq`<ڭc<\n4O~9K*{t31ˬv_T#jWrbMIgS&{Xw/~+ ؆M4jw![Z}n6|wpacgZJ9s9Ku|w3yrYZrsť=z+'z =~L5ﮗHۏ[v}Fp[1UnF@XBЬuW+idV[ d܇̐QQ?2ڠku[_"b4i*C s͘>w-cSa8\t]lˋ._p6HOM7imGh|6Vtm[aj(V]鼅Io;&.HkEV(.GFc*h{e`I _H'U 󯏞FR!l% 3͗IqV*Qr?Ц.~L kGPtЖU/2#dP~_^zDiӎ!Pˍ| qW.yX)9лw/lP ԧ}Q?AELB4zf3K>V(dq-ΘOtLtQ--d';?]h0ک]U0t GXO"C| 6r mr0Ho:u.ލlяQ&H5we^=ng(WЮ}.CCoP\ ?Ș`=B NZ<7=X󻁖wCZҋmLbW1̆Jadm_ʒ d(wG1t{򡏐uGٙG'yp.Tp؁P/OFP] 0xI)U8Q[! z|sI.Y%z8@b'#'P2(!ro!`;ZΪH[tšTB.DtԝFquu[S|xnDgOdˢpjD嶊d)עY\0ڦqmf6b܈WwTfE#o;8RE8&IFV(v-b3v \;ԸNv-6 @$ 34{f7#їhV|hm/ސ>"a U' C]7~k%_\ZBF}֓f)H3rXc= *Z_ޏ?WmO)aߝ3xF˅T'=y(z[ E9b}7 nҋ'6'5O\yaeJw/_aJGی{JzX_SRVBדSqV~r߉JByqX:at{җ)eNk 9%ՙt}^a9=(NHI8hA2,;& ϥjh.ME%~g!Vלv'3;ouVK麊."Q -G4DǪZ'~)1m;n{w dCς?眹؏}r>rʵozn0,tHHz"H?? /ȭȿGv\S4Tnq:-X;We=Gkjȅ#K|4FPYa/M=l9zE[Syt$&7]ogƦ5hNe79 jj =OGf!?HNĒ#_ڊ"FH iaKko_U>StVymOދ;]hhBpo{5j}.M,-y~L F`EqC!9R;p~{1S}3M U1H3An}NSMH`C˚pWj07ytP-wlڊӞŐ[>ͯ'+ƦGY x ~[>~\`h4 :=51/pib){Vy *#K%VTؖQ]1^ΒES-DHy6ߔn8 49Q!,3N7烿0qCS~i==dqN;*C!ydipy@lEiE(+J(s~uսQ4 6i r]ʔT8y3mgi\ Cz,w$(;S'C ژH`p۩t} JCV>\>Jzxvwf__;! 0\֐dN$),:w[pŧArNMnooޚi޺I`<2_Z|HSyrKU?[Ĉ|1#L0{Rg]\eJ9ԃcPS5LS/ ~W~+9!wK"sz]L_GضK>I.U#2TA,UC6MIpoɘ;0ٛ2`pxI{UԴ,ܓ>?T6ED_0[1>Gxv{ŗ%נUd]ޣYv }l}U;Z])|Q +>6NCil?,J^x\5YBSGeulx8EV/ $:5"áɪ^A@ˆafggdaҮ'n=˵VPgZXn79`{C͓#4}_ܗ#Y o꭮V~djuZ a =W=Oqg<}eueZi&sa|fk C<,@kpZ$b{vMV?ƞ{\GV_6 rNǽδיXqet>w9kMުܮ!3E*!EhC| =%{xba.7䶊ձCr ɛ;JjD[m SߴKEɏ/.nܬ#Rbj+͟K ҹ4b%>Գ`6^(:VAZ:Z/OH) %#ql-e.uqw9%G5 k} qij U֐Uj<P>xnkC,,-zMIiyصS̊U*D7nQrE`[ᔃ.uΥ[!Iuᢰilb}Y5f^aґ fgShepJGq-d\qJ}"RgK|g5?i 3QuCmi=g6kI: X48OAl0##Vv1#>;O,$N$@Ŕ6s KAZZµhP{qdsO?`Zр$uY);ޢɩVU4Iq(3Fg.l>T H!ͭyPGT7둢VR![Nsc{|DΑv1 ^!.ѢSo 1ژWbY5,3Dw"]}ҒaLLTICcGmO`].f-=2 %"l0}Ux3qmzHs~P]bNbam:px~Ƙ#M³ rk(!wK@<#{RUvw;ε@Snụֶ\TM}0^D+`AvOlCLkb&tC!4_Ikrg;Wma۩, 1Nvdoߠa.O(%t\sr}A7}ӵ6T#^`%*iY3Ӗg(B}{)[>ji>LE MfprR.cw0߶7dFкK^%Ub=8OpvX=¶ +7/D[sE+zK/YJ2ZPdXGدe_FG%ͽ6~PD|&ӮՕο\M"n2 UG3nϠ^IVv7]N8s @gnw1rm3pExؠ3>]]UX[4yg: Q, shoc6'" V D϶hk `h7R~#_8oրakWi0 #1Mwټr c2!0A.]rc45#tIY&+kY(Ț{S(yv E0H"ݾ9:L7i[G;7D)pO[~`.̥_!J_?@pqmq29ظX889?->θ8U_Uo =9O/^lڧzHF+tmu.uKj[,*o^sԺ\zl ug<ӵ~˫oX_@_cK;zSϢ.=G_9L#\xy4*6u}V؟ 2ו0fܹ^Nwyl;]+W={߱,;YEvCn2Eo/Տ1=3rK\o)%ebGHb4j~.2ւ~-tPqB{r=QH_쫬Nl_]Y'MiIDjxc$5|@ MqnƭiE;KiPœhMybZ~u??6H\ZI6ތ6]27!Y(N.*U ?؏.ijJ;6vAwbf.ﶝn׼{g%+@)-b]َvpX ͭGh:$Qu)T6fS6fi-{>T*cyT{r1OuDymEDiq[ Xq;|J^CC!Xl)$ߨ7ͧ^-l=kXMzњa q#\-Z=a6m"w+lW)%N f1g =TH0b@:>u IB7JC&s~6ۭr|uoc ȩL+&9TXQ|\ܞ=N-N-tGnhɼ}@}҉M S++pu Ӭ>N7dY.Pvڦ#TR#?y ,?VlRΚݾeYzcA1Ӵ-kz[(?cRCœh&m tA"g@O6tPMt7|id<nM;5Al0;',m{a흨 E1)~$ ЂiVO\ԲN9sg"P ٱʄ7BoOj@p02'D; }3?R+AY]#S^V7M]/~_ljY ZTohƣ5טC>62M%璌,R%DF#FUĀeZ~CKmc-- ,,۶m۶m,,e6Z{;yRH*=֚]!eA-J0^ر`&8X9ҋʩ#uO (̨XjTStxOhq{lgp9jTMvVV1>T &|Lc?n˪v8]`M;itɫAfi<,syx^҂OCx-#,- :+ '*&::|Գg[L_L*G/5kih~X̌fzEu7| źɞ0}RWx9P9y i8ڞ%.W;Bω?D]G;xEU!G8J45KUR:o}q6˫Og'7ֱݧ;ܕ6CFs'>/Nje$_40pJdfEL<1}w6*Ȑ\kx{;4m7nœbJJg*`<vdq$(y/;㯾uOOBd޶/.j[mFVppv>\n#"XUłW6ЭT;o`V^LOvbs4j!1,.oi~Q"KCEaQk7Q̞|Wr{Mح1ItMZY=ýU^@ҟa᧥1xpv]ȏB䡁Rv_ɣ86 ܵsQ[N.fJ<(T6s}G"irJF B=Ds -J/f-ɐoP?L;+\-\wc%=dJh!b^,++ :C+i:D*J2S",E}9\K!-lĜ㾧]|n#c 쫘p0}шy%<+RC 0T]:!XGʇ;1cvBuE5 \jK"S?֥fgm{|Z06GݛU cgCc͇q0Rm۟>gܢ1QgǬ+ZԷOW'PS:8R{;v {BiI lhT|@@ dPd4LN%T7],susT$N2d#$~M:+r+D ;ԟ><5W?U9c3Ebo14vG]> Xpj ʂݓg5Dlԉ? '˃t+BDVXqp"R:xS(K^1Q5!S-ʢY:?+=bӺ07G<3DF@ _\Wm߳9| ~sD?MU70ɞA?tщ&L魻vp- W\~ʼnmtf.ӕGf @C`9P+~T;oKg?OO齈Z Ǵw1 (jDٖ{i= m;A%I¯w0p'S#o$4f.EkgנbXf9.fڟcU+Ih/nuN˹\pcn&?1<$A`r}l?eg'}gC|#/2 B󩰝\ıdxuSXu<_ʳw$>O"־(|g&¤2Rn>m{M+d.ah~e=`}OGM=R_@<32y 偣2͓Bi2sƢFܿX TH ! ڱ7KS囶}jF^ CzC')e)$oƟdƝd]#9YMkTdHcSo)s~`Ybf wf>a[Mj~L~)6 O?~mv>;E7{. .w$X(}m }  P-,4 UʜK%y?Q3K&ҫA ɷLzqZUnSj]t5ʗ$Poݘ^hRqF]q*WΤ "?MpW+ NIܒ΃&b0RZw8Sאc Z #l4wDᛨؘO^:勊<'ӶPH8ⷮXE\neզlǎ8ؓm#%?FEE|9psc>`op600IpsjqQ2hh7/]AotT;^p6w"\^ZZAza>ZpæV뷫e9[b8{f܇W79_xa//|>_?W= ,UCpًGv̮4RZ^y)*}G$,?!?]XLw\OQOr_f Em~gJ.s|}O>):^z"Q^^A܌xf2iey5}%ͯ); ,:mYzKtu"z_IuW+.@Z5B`U*~&mHRxLڸNB-sl bkD?P}]PU B>0DqD')l,-I`1*,jkdo(pn̦f%ZU([Xkz>.>)}Qvx\} X?27yTYު S[7\3;򬦻[8)#qfEH K4/OZ|:_\_̤+-İ:l|]綬I4ӕq*qazn,uIL;dM<%<'"~LòDU^Z݉.h:D"Z\i]| -!K8}(hR3/"A^5$|3f nKOkJsƪ #1;F2)ѣS",(*]/J+cu*Z&Zte\8Xh]NxK',VW[8ٝnL- D^r1cy0wcwU]thE/ XT *Z4؜Jq \3Ճv ]iʮ{K.BWlթա97\t}4n[5{Ź: 6~껠{\GB@K [ W7oVsAO6t@\wm' Zg揯{ytG*/ eOu P'G7a=nC#_RClPU[Tۣ(QFFkd*tKQ!Fi9Bnz^`6@>.,~f(BHg %M(?}]-uAz1r|H%旅fw 1":'WYaV?$Ώ,qrN뗡:9Q{0hexb7v(heAZ.V_7qLsw{<h,ܴ#Z`d~{ amO1957-7sssm]J8\Єϡîš~=hyMIln*a鑋/ z䉛cCK~`l0i }*1kXQyhטKfI)pZixtC8'7:?~tQ~Yc)U{Rha@Z*ϟq BP<(y~{B}< mlb/4z–2-jbC~4 d[> [6d;?Nx!wnqD%+~Lɮ6?_/q;oM.ep^ҷ|^}e)i̳qi墋~&5Aϊ;W@@@_@r"%s{-,-n0.7Uk1:`D/$qYf<|yK a"Ù c}/r KY-lC6~8v(7%7,c7-b#-wN%TS,U+K,b{H:VԄ!LIFg7{Aϑֹ#wt=i^OsЯ~KMkC Y^Yu *&\ bZśfZ`m"jdRx&Z3QfŊ5֯Pd,Vv xr\ }Tt^y\ßYɯh[_$_dzزC"6˘ѯU:x4jfRvkzM:/ 6ufeԵ,7q^"i6bij0]Fa B>T ZFVGXضkVpV\&lu,^ *r'Lq1&e4y]}J){0Ip˾BWΏN\ABKgh w)U`gP(ʷ5[/Pd]@vbezL_TرijOnI7H&`*uӃ8x}gg! 8ґ6FI&@G OHQ&n' Oqd!=v )hyC;L t%8ܝ%[b#QWlUdW%p+/͠dka?b: A>jt(RuIo0R0 _+oLsϞ>2{ %2`f0DOnfkZ#Xlk|/(nLԈHĦM\ڽ]v. ܡ`$iA`.v9CqX9kLE6)5׽ ȕz͍Ud6Khּ]1_M^ y{+L҈[s5iA0Ʉ͸2z}tshn@[S]_|jZU~(\ )UB EXDZ(~#13M̜CRn~HF(ѹ aI^ڊGѪ5@SG_CErέ + FƪNAjMNفXFGbpTJ9,ض=CZL)a)dK<nG'ju{U -ݲ7\۪ -lgi`zsټ"266 vhXa }nc}og %}nN 'vP\&ʦC&.VUMf&]Z&nN$qy6QQ1[1))yF!qoFMzK|7jXV'ٽ3MTO*wp#6QUD1%jqD^۹"a.gCh6GƳsR㖏8 UX` 'ֵA7{jG O ;œoȓ/3~i_"ҶI^ul7gB?fGy8ȣJmLvM;Η |-k<= W'6Wmyk /#d2ӷ2PE Lbp"==ԇ 5'.BfУwa_ݻۄ\ Y?迎hCL?F@88OKVVD^TQ-0tVGܕ]Øm]s5SCMsf+LKUЂ3K3ĭCע׍4_zb^jkjz aKZY:uo296|Īo,M}t)+dsP|J37󎦍ClC%gt3ڤѹ%&O3o`?^Ѳ>;HZj>%6q/1)cGYE.B[_<3(ыtߢ|HyJoAO/xE82"VT@Ͽ΄엵DLroq0 aJ <,|.-K_l]ᄕi42xjuЦJ{E\oۑrq n q4p ɹV dF4#ܕjy"grÑ#8_Zk\M(ٴMa֝zF! ƶ 8{BT6b+U^ukrG/`-_ӑ'\ T G~h#|p'fBW5 un-9i䏁크I"z>!}‚[3/>L`U8aq_v"_ ʫZQ>=ϸo\:?Z4y555Y؟v 6vx}<ϱ6qqrjp}+| Q {/]z ƶ_-lWH*۱m%+ dy}Ng`'}z $  Zn8iJOr/89Gyks)}9~1iO>}V8fznFnE4wHgWX7J^C.'Y4+ =N`M_O}<w tϣΟN@Vx[t9;ʅՙ_n4"y2 BmSgA#6HW ◁NhplmxXvo}v4p/4®FL\'z u}Z<\ѐ/I*7p sNhb6|bd\&lOW4yٹlÐ%ue/J=t~̛)۰ց[tq϶|t,ȫ[9E'Zk}FmR ПP4ZY-:-oWsh?nE~|͜88AAW-\UZ#I֢4;tjdDlc{^ܣ4ؼ.XQPKHR1~gN ˩Do0{`zG &YIy>.>MY%(EHMKībG:Y@V'G0ӍªDžLwޖl>,W0r3R8N;Qu~ k+N~;;#ȜtlGok޲[pFꮼb1`S[</ha`qgE'>k!`3 h&u:x$0YÏ>,9ޓpk'|f2A8F2fyI)efߖ%żwFH0wiLcZ{K K&F3zY Qأ{n=]>m6=n%eT3eCZPKFCTjF#JzJ^Ϭ%oy*l4ץ/f)r B)#h(7d AxAtSM\y n?ĺJꕦ.c(ZR$UE")죞! *eG wzY^g0}/2ؔЍ@g*lObMn=s=v*BƷt͗^V^A|j.]kvelBYg\aL0yHm)'QY`.@;?zuUǥD:ыgcW%uߑ @3s =cTIAtgO&챘ԒXɄҮM(ՎG#ت$e7Q_|sJqfh9Iߨɼ$} 66%{ccq)nEҧ;{k1J'bi\ :j)` dޓ._^&uLg-\?/JIG->ԴLP Y\^0n]ْlˤR5[+ҽ1Ji t'?'uQivj-Sho?"g4vRh;&ahƻ-= N6́t(#XݹbO-RŠ~ K|q<7F֝Ȟ,F+u7@k{ܑ&b ?ωh2Z 4{樕+O)pmԊݍl3Fg<!` 7U>=w:?(1U^38_xGfF2= zrzx<2X40w`⚳RKE8̎+www`*nM3Pu>JwsFc[n#^+i=6Xti{; UGB._Lt\u޺uGGh!-tCxrU;?SɞWڶrJY5юs/A9ep >\YCE,TwTMAbeߖ_/1F"KAK6>t- kَvrJ]]j74*PY)@9RбyfwۖthFtŒᡅ6mpp><F,ƌZ,8<z4i!>z9Qbam|ab|~l 8XT~u:7 NgOaMCo5~g'}'3O/Vwx~O*:R]7wOruFzr~fRtO:m{̺ʆE^z_r"AY˲9S|>9=G{B7B6ŏ< y {O=MQnbQ8&sP}Iط_B^3vJNJ#VKdA"DHsO$_&i22zs} ]T$qjEb:\/Lmٺ$;^7!;4>k]}>d|d0=B>Սku_ty13~38 :2p*B[ ֓TaӾlgݬ]r3#FS5sm}őB7 ._MSofME̔;Z᨜Y9H9v=uyx-02,.d1NW& @ɲWkP.yVfbO9,6Zv&r$ ,>%J6 GRy`.U9lxpAApm۷U{s倝k<@ .ڙk{#jȍ#&:֛P鈜`HP}?_=P)TECͼx;YDkCݵ m t.Wزs΍oWC<74`{Ӯ!s _h*qFO* RC pC_ Q`z內Qo]/L>wm$cQ]CacHY)2A 64PH?*vs_F6(rMAI2>Ф7(,* C >k.pm:k\i-_^/Sp%IuX޺ Sst /8fhe>18ٰSӬ¶Ml* 4yGE؀/Wi|`@ O_~2 K , v#y M54QU'w;4Wrk~[%;8۰{uBg&?0*3QvhHp2 2}֣%'"\']#&W{뼌[0^Tdu!EIe\*ϫo_ɱ]NZb)!mRQzm -B˒dX zwa99:@|n[Z"k1808v/Ok(UiR{9Q1<7`(rGzn#6HFSmd/%`P'%VGs5*rzItYciafe%M+&M*uk.Kh<>,k^UfT(g]\Hxʹ59L?.4#/U11\bͬjlu7jMY=SA$Zfh 14 %j N.PҷB\w4G8|Sѡ4SvIV6݅?}wf%Z`ޯ{0bBvQUJ٢G$'^?{L6D;q-S/}BtCEMvM #; ȼz}&"L$ym71{z^ch&E2VE#SL.Q,CCJfSM4i0uTs |DDZʖE!nE07n Pw61d^J1F]!vt7 Nk/ރOzjEAP׉@ϪPϤW>꿓_L'$Ĝp1CݍWwO:oޠPº,}N]7!t5+}N:Hk#GoA[wӮx݋ާT*7XePP4&۟]9FA䊻3qC!d.ܮ]z=۹3>7s~2l)aUHFoC䅛Plcb3G I'XhO R.ܣmt _x\ UCmIB6VeZ@&/k=4_>`ӨlpVn8(ˊ꒨c?k6֦f2e tDFk<zw2&Oh~ƭzߢ? ƵZr]&bu1*ƚ/BX(ގUO(v|9toRAJU֕h7rZi/: 7+lV g7Yxwz.zN?oq{o[~\Z]~=?g iMwe7Q` !`VCd'M`:" yWrΖK'ũa.Ja`a>!,ܜ:Ӏ Two!/5j lGy`|w*블F& @^H{Ǝx'kwo7=p Ҹp~x#}:9Cca6/7vqF(ǽӶw%iǺ3S3ܯH U@xܛ'+[+{Ɛ\ rv,߿,3C0]-F]cn;]H[$$>yTs?u^MԖөh,oBW|d阗x62^ |d6Dhۮ.ٺ:E'ܾ@&e1jAK4Ǣmq(-e[9g**ÎPW5OqNbSu@@Y)A'*.F+ig ov6}}o;L󒲜Qح%;2C4mx7U]~mZ{Wqtj*r{Hf$ZUԧ:rY$׎+eG#uvJ6"N:W^[ؖ"Cs>Y7(dfß}4Xb" ب(JX* Б bHQXv6NuXy0,ع%F2i45>%UO ̈`ǕH ~m_ ,˹.C)ejY] 7TPu2WP?^dg}s3 = ɲ-mƙo*&ғA)CDlvOcӯ[_w aCN-޲q3K-JRFӎ)C\4dNtXT|dk߽+2_nVB)yAY|ߥ_v~XǞI>G7^]&?M6ʦs]]2qq_ssf:}L_S~~"mc)5ɷ{޿#*bY,ll)V3 u{ؚ_፩5cyS%'bjP*B{B^W5koYql$qĐ ir^q5*k+Xpm5 ] bGdsXR!'i vR_jԹ +sO^Ied¤ye\ԫv: ͬp0}{^p{h~"_ll|,mL̈́S,n/9onnM`MQGsf--Y|xCcKq؀yJBjJq$=8Zpk 9׷z: iS'G>{SCuIUnVP Ն1 C_YE)݇~hc,|l,}3\%>q֑oEtcG°3)o}s[y&,/FviA M7܆ ~TݰvMLDA0fr\Xʼ71H^+xd1s/Ou*+-ifb%J;:= HW`s}fNQWb>9aigńQ]-Uo{Ą^}ZO#iZQiEpQlU83fڝjLhǬdJ c!{G4"潎2.^2YSbk9nCSG;yn^Rp&f;4KQ\E#:}/f;5-Pݪ#hy&i?߭s={2]H~F'"(\ZDM~{P#y!@}ig!fVԘj2\kAQegSlh}=g}YY9]jޯ'}'{Y]^CGXVdC Xdj&U.8͑i,#R(D rH󠼅e3q~[)[iu''yI2[8l&zJ )q\_բڴIŔ;#rg2xE?sg {35߳7<NvE.meӦXk8ߖp!~;MGMw7$pOsS&;t×8y[#=?KdKM7 7.hz{.x;F|EHR$:<7 ~2K,i8Vitѓ+J.NۮNGEᾃi6x/LskWS<䚛ħ,2Dq;FW `eUNbפ {Lr Z D{Ip, , БX_?ϥdRYϧT?"t𬝼 6byw\-G FͻF05Slه >%euIbhɿ P\.O\SOZu!<=/.v1R'#nҶ0p_eNx,9Qahx}rmBދ$UiwXX2Lŧ\XиOc.ZX 7};nFcؾJ!ce3<ͨGVw°qE_pv&Y# T DM2Vt/-zת[N}K2q>ȻYE>ϕ,y Aّ ?qZvU*9N]z){ohO{ewTOhۏR^yovhi'U˄:\  D@a\ls;8D2WU7{'AzO*2^w}LKud)"O۱$p/O-mihte3|VJ̫~Q&zo\d:IP-fh(UéWй޲‰{GCGNO}؛XCZ$[6nK),LeV֧;2T0}rZ.kČM$qy= [Oh68TvIhV 5Q >wsqc!CQ-"Y XP$i7qBeן.%VRUaCwak?N(-(Ad1Q({c&#<4[Y HVHtgԝqgQQMoU.\:=au9mٵVck ܵö*Gf 8} Պ, u\ /f]4T\GȗD%7OK'i=\?O3wJ\ sӁخ<+jD{uR9=wQE}BeG}m:[wa1esf@Aenw#oPlPToFݹм#z]֚`M^G.yB4ɽ ڏImO[I!g۪'k`i?c&-;Ț7u<P$:ݩ蓘>'X`iZpR7!eQǽX25lǼ!*ނ;rvv-F7Qc{/"$$+is$ 3L`h4WrYLVf]_P1Ld2]9:L{NLj$,)!#X-@n7y]P§;Tض"*1k>ԉ+4]Tˑ"j{m. {% Z/+h66GGtN*G.B,:mEy;6cR+9z..'ߛȓ|GwtF荀`| %bۖڴRl ۡ^g2~pXa¿zB6%"؇e9LVm ]gV6B>ļ,H>ٻPġW܇Sĺprin)MNvˊD\:aUt]u>wNP<"ZJgFe c=Lt_MG)Vɸ^ZU ;-N1KD.Y7n$'H`};9-!G:׬0E`OL9C&̻A>碾iz,OQH,&MͽWlp6bsDEv 21GiWrYWC0RX#Zh.0J;4 E㉸ e :ፗ~XU4:r\!=\W4+ _r]Z o6_ݒpl;~h~[ZwTrCuj ͚6E_x 4K|ڸ _~R ~at0Y]@nx9Ho:s,?\*ǴqCc[H\d{Uw]T?b4?l@Y!R|?OE,W<4L X5EOhnRI@;A|/-f#ɇz*]gFrJ P?9?H(O; kF_~tjfg Y/JMM,ERõ2{QXQVRh0fH%'\u-}UàP) 3\φCFͨ+)Bȫwbۺ:Gf2-lF NguMj% řY7|D28;t ak6c9!IdJ'MgOƞ*ZpiTl36ii Z}*]뚮@!g![8_y!b+ b ^8۫3rnKQA:u!G#/e;OzVS'&| X( ؒ\mBN2\]dr+l]yBxC_W"⣣#rm/{G ˺͛vh?aykQ%iz%TʫTi#Ϻk!$[ Һl*2=[:(5.L;Mu{oفEcꑏĘod S@=xTR$hyHd xiw\ʜ6ڥJ T%]tW&.955j|;)Ax别MjbRP^ru1Q_:VPP1!$@B2ar团kxɻ+YY<;}8y4{ﹱO6"gy_[1nG%y(韧J;r7$z);;09{yjPVI@\gҝOSrp.֞X"?;V|c~Fұ\ҳ|ƅאDk.F;g[x 5p]Cc2qv(6vA./%jw`qoY'{AlTB%g?V`%q'^ڠ ψ/ G'-- 7P݊u+l ͊y xlQCMA)S2U(註VDE'}<:Iz6bF6NAQ+Wdۙ4Dpsyg^*OoN:MϢyfE]8}$Pv:?}~ƞ>wWP>ǧK`b!2rʷQTBL$;g#R7 A_n_X#2?&a4;Mם 4\[y0SӉito8"]dgWL?RRkKODXf6@:S"e<hiX;K= 5Wbmέ,/#FBq/3r}P9$/P[ΐݖa|%e'މw4V;ث%`JF"۝sfM lakRfV5 返@lv/a{<zZޖZa\3Nաp%f6Sv4`}e%З(0.Pm?NHvq~ެq3g=t[>P @??o\C5u (FW n>ԕŊv!t]>bxSR ͑^S}r"s[<> &u iK/ 炵`brU7P<\~r#.4-k|EON0wt"qeΑ:rrXٍ˳5k9WA*oQjv[&i;뾗a;#]|j ?wYzΝ@"/ᦟop֣c?^_]^ͼu 0(m"<+Aە $K*)!7g'9+9}[ϼ=&)vxqQwY}^m \8ejjN!AFthDֶClEh?!jl}_Qv1 xiSǍc.$TǙy,GZa ɟiqFEKD_,.<^JkvdRjO;{DIf5P,ڻYtN?_.?GyDn;h !B<* Qp=7;Ƿ.8Pq)^>.&, dO*֓#sUq^剪ZEK$8F\fץ3|;J^]fd}*,{~ZLHΓBWeb6[}W5Րd\Go)XƧ4N_#E}[.!M6ʮie:YlɁ+*I_IMn :j,KU] vu]AyR䇒{$g07-YlZ*tU+uf8ZWF,Vp<ƽ]vUڵhX J{'mV ĿJ}4a8b m3Mc_pyȜ|Xu"6}69 EͬkuMT__!rW z4;Xw7Js~. )W{=8`|m~„+5ldqP}̢?ꉣq;QܙG&3 l]f{_S@ >>Ci| Q]ӽsn3(H0ڏǟH2b$F߭UV@{|AYW?>;PWPޤܜ'b(*خRc1+'cjaّm+tˍT RXNK[&^}2n*hNSj]5,3l+B=cayrPYrqQBMslet5cƅ.Pqk5j`II ?⫡s^Q%rVla3NB{mfr f =wьn'Kxq3y;}E.hr^]vC+vglpu~}9{ZoV5=j k|lzˀm(܂’' IR KNNHrt<JƧ'ynŸE7[|e]ώ4xd+nӗ,CPM7qFP l@%<$t ݽCS<߶^&F:a,;Z9}j^Sh ,#?-ÔrTLervGkO*mb9k* \K)X^J`Yp⾀H/Uj݊>IAQ&E_9$idZ_9iջZP@4 ^{4"gg챝.ťBydM?^ ډ{g0/7A+X1#Ze"pLp1t\5#GUwm,Ogfr&xMm5LJyOPe^qKhz9"v-Ϸ3`?i$Χ"ί9UA}rQ,]R By\rvC*2򰷴,*= hz-&;3kO\+;y^KŝΆ7+AQ/ /(:-R ]e6AptOO7w-<:KxDq}Rb[*@SeYM3v "Wc-*LV3f!/™#k됯=eZ:r}X#γP&ˆ2[ rTv1!TVYCxzf]-TʸX1djX-l.߳"}Qqsd7 ,z?j]B3;a{_} Z 6_+ҷ= 0ŗ>Iwc#F)XK{&R:-?R!g/O̪ F4KM?zdm,0~Z^M'/__?(Bh 9j4nP)&'B}sov\aD-[Oa3Dc{:3StwcGoXD".[bꊖG5#بX(;,HXMKD\]_ i0u;S/>Z;`ڔVjM]6<9E%1Dcdj/##"(- 5ل55wx X:lJOhy m!9pHاQL/]fpPIӛhp/kPp󒌏.iWؕL4ݸIhf uzTS{钤 L Zt.iLmƋ޾?TMji'Dp VehP N-k^>WbCZj:!Ա-*bn%,nAuF&[ |ҘpLߕc*zRoEs MCˆfЩ* Vqp _K(ѐ6-+}cֈʹ{=ݞR>kcn[lyF&|6ac1'*k̿.,+pҠ7-]>"'a/[}ߕپ_`PηJKnT`~zY_O?(u[ CPp UHU#SHt I+`Jf xґ081fog^c$cE'~TWaglu] 1vsT7g&j|ƽEkZ*B|06Utg3 -T܏=yx%TQޥ+2pG WgXeCjgBNb(^1p s$PP'ԿFFҼE 1Ļ [ k !yRsʠb[Gn@PKovmxr0ֽͺ-%7a_܋&x(|Gⱡ< j_~]R:9DU:%"z7͹-jr?As.Yxtf댹0$+swϧeغ A\3mEun&0jʂFLl.d<)Fm/}l$6N[|3rXvX,AΘx^iG)'<ɵӡUV`N<2Gh? I0*6 H`!#0u+m),sȘӿ4C;[YNۙXumDK IF8I~CKmcxe&Uq*mUb۶Τb۶m۶m<^3~_W}>=-ϩ##XGZ͌DtFRjK~-;#8'ܢd3ۦ] O->u!vOCp,Apܖ@3QиPj&$~Zf ~W,sYkۏ_KV3l[?~ɬNU-)~ʴ>^F1aEڏZ$VnzKկÉ}xzm6jjD˓1A9)x$3ʜ&4>82Q޲tP}LM G5[pvۭ/Glxḑϲ=70qoU,ɭ7Z- lzk}3$  FN|iyL oI \q:MCowhjDM3m'RZ1'*}+N, 0a` cG [%$r NR=xU!{t_*t@%K7#]b0AMVgrz˕܃Wer%:`eIr0uwSt͵+^9NJk6S]tN9~ԤxT-+dHtۺKa iP*ݑu1?VEJ2roJT2ٹҿ$R5ΪN݇*b!VhspA}_ӶK"LN%6祼YUPmm3_P Zs(RRc!pZxHzG|!JʅIK5y=tÇWGws+$^e\KkLz8 P\2ϗebuE`|!Ԧ:G ο|Wcޏk.6!,k#]N5ڰecƟУaRɭE}BP[}@O>bA>~ w"а_TV]ZkӅpdA 1p.ZKǞMn ͦcJh{_Lslf0r̠!`,(;2 -v8*(l7ݗX~nAZm+eJX!hOIZέ5*m^[ʰ)Üo|9^1AnWcW%CߋmU;stjMEǻΙov3r"f8Hϡs2VP4>@X_榗qM<^rojOQkq~|zy*ܮeX KEWrr7%p4&j=`IP-Dzngrڲ6ˌiEHvc1Vu(zq\eF@bxdy#0^(r{|bKyxpUڪƕ.}}B_ Ç% 2i1ɫ뽽,[&ۮsrKcKݸT7ڿr>`eO5ܸ3h +kdOCNS]Ɔ‘(bpVПC^&M>M5e?Ŀ5 L!TyՍ)եλ5ʀK*z忠VMiV!jX=H>%XU_ ViIӏ'0gy y&mwWAH%7#x"zXӿ*`7q0Ʒ\:#лl8كpY NcnCm]cP(=ݠPQ6wlVle^ZV, ?9W;,FI!SDp?q/ZX;p6v|  # {%5XN=:8Uh lފzq&Ĥ00 X",m0jybA[UK7)ה'0#) k]\>X{KX(z=Ja'(7m KPNuIz M_w&dkѳý޵zpmÇ*8/kKĕfd7D[M %;$C)K Eʼ @5 WZEWey;-Iυ")38rn1?_|p%>%-rNr&O|푢>WV&s\MwhPSJ> 9\{zXh?26:5价fPH 42*.j?"i_'C\urV _9P8nu!vz-S=!E+-{J5|ǻHbi⟬ .xRՊxƹ* 'B㇫D4(ZӶ~iƈ4x ϶>jfar'j `Cnf ?s ƞJ%?NwQ0}&rMMi/=R|Gv(?[AcP6)m'rRHJI)U2LRF0R``}m6iWc%*7K=sxxz  bo_Zrlv7\h}g[:wj,Zy< 3,Yr @_倳X%a,}ź))_S~ π S 8ȅl*|.zk?z̝:Cƒut4<:Bj4pʅ+-}KduA %9$,WIaE4rCMJWXtź1z5pгUH*Ie~NYD q/1oGU2Kamc7h5L_H_; YV;Ì3x㽗<:+K 3a3//,-5hrL^t䇥!d?8\0,P( /m_7]b׸aSfw}v ^`;nbN5㉫0"sg&LĘDlAJ|5ksV_8p9˾$a{1(I/Q,?Ҵ |?@&e ȷ@"?) hO[5~A|p(6P/hkK96ɴ}L閸Z.2a2hnxVvt'QerNPߦc_pcy /pWS^uފz l MA_8-Il`4aFrMV:3ttZCDJgZȌ>=!iќ Fd)9ED@820D:-@10ΊHjfZ Ջn?(e,^(Ɋװ[8i<5~[l{D~gMoį&̜0" E`/7GAíV/4!p!2Dy%3 ܆=|֒\v}nfpb S"{{!.#iRxL#P:LX_moX5Z?Δ7G7o^*09"`Bkl61xwߠV'8 "'}S SJO23L] AdYS{?m,#q ynRGuX{ZePZfzm `@È\y'C-F\mG i'Q2!M۰O5$#,$^k %锟`|wPr> ?jkP̭"NBVi+8,/Pg ;;} *I%"NK>˔766M>= +Ӷ]qX,(SKktՇd#%?r "wtO%6"t@OTI%@HQgR~&3ZċBqh˞jY x7Bri'uJSɉyRVĠ)IW%~Z:h)kTrϫd1.ɻU`&A;8lb`@DLcGI{綇ie\Æ's2R]LYF1H]س#Z"5[p*DtS|xzzzZ|0#űmYmzv,5C:X2XNua!̰?bg3(?apq  dݫdoT cQEպ^,3T(Rp0̭%FTڂ49ŀyGn$%}`OLn=iuf"o0;6'0%'qMYSEP8'}]ї"*n݉{Xsyw΍jX%JaO%;E#U0(0*ZD{=Jn|ycyS5{MdyaЃ2OcTpsXpԬl*jO~DjJTLq$ x{+Cg)eֻ$X,rCSRUX -%i&;)+~wӪ3Pvf9!fR:T|qI[-ľ+H_XlBX!/ ч17$L&ꄕ%Y@j՜WYY kcGwF=|Q(AnC1 @|OŬ#]{+#:ңfT\b Q~  oO|N` UeS=SָL6 ʑ[XC$%%F֭i5HSD38dUW]6chgѬ0;ɀ@>i&tlt쳽\ Y w(c [x mTtq[^eYantHGY Pq6 ޖ؁IJX)FL[KwgÏERd]l: pL=ʍ </ yprj[ݲF0`gxBTLjH.8l 1ba1K λ@o 0+F^¬-hYQR؛:POe0j F N[C-VzXqkFrTNae*@ 6oX>4< ۖ% gl$-E7-7k:ks2;OeLe'T״S!1Pب[u/Ғyċ_nT2L.҇؄*Q#>&X:nd15(y^R$Gbh pJ۸,P 45#x(Lu1UeM x8 YOhܽ~S,HqFM/6d AJl P5LFX9IblVx FqHyyP+1u8"G YFɝlr 0I"XB7#w..(ME82*îR p>Y8tT_~-4Jë{[cgkg9\{.`n4G_3t8An`-C3Z^>I-uaƓ\^(N}:,ct+!V@VjNq&E s`F!tK"n`IP ajnv#v~ՠuh"[f:trjW k? dB\ݏD̠Y ʊ}(T3:r$Z KT r:J9/@ڒ<[J+}<^ڈuˆ.iRmQ#Ӆ>J~8KD²'j2bB%[F}$:*1 Q,{nIgكot7wnV$-|27B:4^: U׶Ce߯I䈀BS85sKC@n}_/$ ۴ Q|qO%C:KG6Vs?eYR'cW8;qG8..*-uwY6~`O{@~1f Zd Vu>&IF@x^)3R a"#qNVCA/)HZ> m) ȬCQ7l$g%ҜQdKE`IHfnvONO= , ӟ„fnB 02T~4*SAJ.*˯R_!gj`~^$z_ܛENb ÿ́VFZT?.6}@3 lx{wml/# ڴ]t05^6&!R^y!,O' ~U4A,P@}*bEYC?иw( :1‰+t6&V};?K~inaɻl;k>e7Z)ts :ҵۍќdW¤4, [Po >h3rSwA/[7m]1'|vI)co}EHqV1~.,"] JEqo!+) B  ȮmRLI2_9Y>vÄLסzLi$*I \U>Ih=ِE.tbE6U.@>{>N7U@=Gb:: EcD=F֋Kt.!\ת̳%Y‚fIpb1aܫJL_/N~*vFX3җm%`yɣ>K dgUω,vL :s?"K{ ~=6ˊhwu__*9';Lڛ} + R\. nz -[OrfO*~YQvv*^ε?d~:@oB`0kW1[AN/n{+I=]GB/jԦK0e{Q_c2s_>[ϓXhY(ӱn M>J&*0.xoacfq"sk''gy$_e @5bX#pS/dRҨ'f5g,vgL7HҬET#~T#<Gp40[w=JU7T=!=p:a.E"1%%_]% y|}+ܭgyN;C=5+|l{9O5ljV"&IpE팼 H$fSYm.\cKapK2S(q?^ g.c)$Xq+RТ={ j6f;3W0&JyL6"򖠦Y nIsN0-I  ,c}ˊ֋ZV[-V䭏RoE/x$  ކ>@`/nJ3LⳚ}g!jOSYF>P 㩕~IKjVx$64MXS 䳇vªZ gM3_J`at!rX2A/ r+u8GwVJX惭=ߕc4Й_7jrSxK"HpK42:s9)5 1)WI>D{]P-޹n P(k[xܞ[ 5i:? xk$kA߸AárPrH{ey02 3S^ҽ _Ȍ+qO7b¼t_QsR[\2K~<qy^wʩ~2v.zj\p)ɺr2t/aoԐ $wKܺ^U 1m V,U˨?mF:ˑ(|I´NJ*"3y':iZ~/tV^ma.RUőΒỈ5MRIh $Va#L(>Sb,cӛ'kɲ_G P zbt&@D1EREvO^LA/w! sM6}da8ۗPxǎ/]GBC(~KMYI +O-I΍? +)"_7/Uނ0(bh6cD=Fmin˽ge!6=d{H='GgQg 6j\ܰ|2[ q7U'ޅ!y1Ģ6+:[Vq=5Ϳp[$?d[‰EuŦntVbdf8EL.%2@8N)Tʋ.a8F9as>}T^"LEt3$Nt;57kX{$ )¶hQ,d)uE"˛-9rceAKzv&AM/Ta!L9eEh110F80tP3cGV :֒d\O3\^MիNV԰'0/sq&HH. ==Eto)NSX5NLM(Skʕm_llVJ 0y//I pOf8T]h 7]'ߞ*TO3;D|YN0 `|~&g3$~#Ggq#M(n1`D`kj=7eV= n_sc[3cW1{n'!]'\2 d)[ (@aR@!P~x2)92DgG /ix8\Hs@Uǫ XdnFp 7ԆaVKc5[H' ciThYG/G)O-r*&' qwFEށiZSn='j90~ŭͨ< m&I:CP@ċ#~93{RJWcؗ EM\,7xe8u&!/ HAB}ks~ku;Y\mM"ոfwp49QFUN+1;oܣ`x ^$DXb.p/rkvgGz}"j~g#3IIMĊVa>11颐J4r*3Pmt6ҹ4 ) _3"O J-P1;Wkdz-5#?`uPlŁ!&>˶A^AB!3UQC\ U:/¿vi)(Y;tp޿5ex_΋_|MOedu69Wpc˃ΊW[xWN&Dr;U `16E7iύ"|I땖\~f[ Je_#\S16 6zaK<s&z9 w Oᡁfu\Xѯtz+L٧|o]8ݏ17Dg !)[(}*><ݔ~ޤ[mA T9 8X;ȡnU1Q?@ O`aMGoHwחc>(S[nAR/,JeSjIi:y8i(&KAiq'BC U G&'[ai A E՞Ee %b~ɑ0ǵ*oðהՎj{yDO4 '>V׮v:]86xeX[r526uDz!4O3,oӣrx7X - `n U\􈢷9KIз:vlۭt[ NmAxDǑ-CddP bHCQvP ,T$\ OSm}Wbj=Y=ڱMʠs2}JbZHܫa)!&?'zd)YG'9z~_Qm$Nt VLƲKsQ1s+嚷n5JNűMZJ^m1~fFQHzIĎ':09\::Z2wX ]НnW\Phl >Ufc٭;'7! fTk9۷!QzENKQ{vujɌ4:5i(] pE)f?ssv߽ѴY<- 1M4đ^>xD UY[&ح"SLޡӱtgP2Õэ9ź?TFu3gǿ d⨀ηSeh:g-K lx<:TS,W3D{G,rIU՗&m:kUgm VA7(iZ<g 'ˉaG[ƪѹ -!l imr:<~| wygmM1vi0'06FTg(~kk!Io"XscxN^K ˢ=QWWi͗PV:>p;yIv>g0DawyYg,癃0/py.WW>||cpR\6CB*;zK4:lQ\"5Qr z=k2V#ܱ0DÀՙ2K6z.I熷xҳvųD%gMiS: }&?8[uY7E=V)jQף6TDL͌rʆX^!}"J+/qGXrD}/7bËODme OFVM!fw)hj\7P𶲙r"oHȐ3m u#-?oKn꥾x8OxTq@&`%;@c'Q;iDcn 叟G2oOsm39M,_EVcºe_1m^>lx_;Mǎѹ's2bl e\s5Jװn,(B #xxs|0KB1vIq\ҐbIqK6wy:Suۨ#5\UCa dlQ,3fГ,',ŢZHq 7PܤqC ktwꣶI AAC=4T4!IW[u D ;ηF*,{ }^ z">k"ϙ߇wx8Y'Gs51^=8tGIM W|W:@.HO ҥ%уQ~(IifOVa6Q^dٲ֗Hj϶4)(V k*S]/gטn!l S̶ߏY͵H^!(ƿ3V;I30 +鱀8-wm!, KɈ,\*_k5y\/f7 #%+/N8Y;p A?eMɮf/%ĀUԅ?zؠ'_֤.*F_9..M|`C<&3ʆ/'PƊ7oL2x< e)@)'&|eO;'{~qÇCD"lU\3Ȩ&-0mJ,*2r8^}'؍rV|M2h[>iz%aY [6OZ Od::%`=Wǘ.U 3x]\!әz6u1X4y1;'B-.I:م~b;t@:,dEk $AJltyL0ɗn}`jAܝ* c49 Ps*rW,9I#'+\\h-D8Siz8[ެDmutkz\FW6iM[+5XuRH!b~xd~dJ)~6E ,<[jBZnwXS-Yҷ}OZp՗H3Fs6]5:&4w"(b?Vӻ@^X;=va+ў*zeP% effzdm침4.%5n Ƶ"]LK-{:\v!XKؠDb5㛏 A$K"hˉ}XisZZM.;δb}NC^kI_~#qdo *wBk]) \@.9(sPe}縦#~M''SW{?֖}rsc9첰B r6"A;)Sf/%HJ5t[ I;ꋲݭ\N[n:;`]jf -rp?"z-PSNgYskGY-6?P?evp~{.ڎS70m& ؓ_aR=w9Id`8Ԇia[rK=5H#^hScnfAZ0(D%*FS[Ͷ(͇& W^+/a9'zy[LJQf:W~¶|hH (XqڮCkUe II U %+kbh~Mpj_#. ]"˚X~u|ݑ^$|7naP%zA\4ZʘHܷ8babDaަMcEaqieKYGv=SeE]W|=/.P\֞a6ZJ񹉰4ZJVC/|CmBW8o* OZ3b*7Mt^Uq1)r 6A #O?M8[{z%ÝTl,dX7Gań7QT1.{fմ21fSY$4˪]C"]95Y4~YohjQoY`z>w`H Ui; 푟sf*'5n1ntrѶt=ãǻć(apKG^/=}ɭ{g5ū}e˷ T{bqز'Ȋ>_a(dUgn`8txxz~|p7ռHeEa5ޡn΃x/OձږZ`H\lxߟDSquW?Z3pNYH#q[U"M WkF<JnZR}3kD4LCE<#sDQl\357YH`7ˑY qXbj̠8Йy?(Dp_yt%kD%Ԁ޶REaEdlC3iE~l-V "jL{34b Wt5.LM1suA6~ks5%^^z\h T~bzX$>ю<>ͬRW1zcۦe\_ip f^A (&Xq"rrdtW0b;$ ,װ'.O6=(bsӠUjJ7wfy_)AO46ZJB5`cس+#|<\"Y͹j3C*N*ٓ{\5@Dfm5I*xy0s۳l`y#B)-j#e5D  kPZ$L*q4j*()#tYFe'U#/DQbT{`e qV+b]J>ik<$;SW=?<{W5(DPuB';S,`MQ.&qBH^Dlwp6ғORQUmBH?\F8x> .ޒ{wf^5lgH׶5-t,!d! 8h,k| N57<:ÑG񛟚" 7sک95Ǐ =u%傌?!ϡ^;e|mW5nv(k` a ys4fkn=$VE}TSƆE c`?ilѨC"6$RX?d3^,ΛEFK`2AlzDpbpZD3 Mp +w?uⱤ{!zQ?=voh781}bJ;sz: fv2ˡ\ g8/( 3=,WK+LM mh 4<naJ0K&.9 4qC R.\}&1kV2ŎjS^JGo`+ߋQVUMPOP*?ns(sLLg&v&՝ZHQޤp+=rG' L>[,egvRwHw(bo.S\6^LnvlcSoNf4~.$+(1 0Aٲ$vc2}7JyGW2,Lop9fnCR\bw|ֳM6+|:G#刣]`_Xޠ6h3dZ(].{RށuJ3ӬGwGʄ]bԥIŧpt%k^kլnÖN8!C`c",:;" -XT;2I.{&:rZy^~[Y&J Ұ>Ƥ\f~K|h_!l);c4M7(rsf𝦒4 f-p-^~8vA]&vcM\H*^ ^jBdׇF/ eBF|0 ȖѸ&Y tFvB^Dl" IwiCm^4ӛAC]\ j=Rd<SVM<Vz_Rת˶?'whh|i{DʼnS:YՂVx<Ap_ʿTKǍ}hQ{"#fa ,7oCk2#2VMw`'`]Hog'_C61LC:$8gKͶƳv<ѐ괭X狢9Qj(7 ֖˟}}5dK;yFLVk%or(kmϘ-TF-? W^;7>ŀ"Be\x'suc߭RGi`XczssU0FG:1+ad/%U`{HvCB&uNo㈨7ݴEwX~fz<;?/B~ûi$Jq4TYLcUY \ [הÍt2ySPkoё0!RO ΊdO r7aߌZh:C~x[8'..alo>N;a;]XyI:u%2ڕf.8Rgk'UwDWG"lW uE<m}w@=]B̶;鯙JayQM" zˣc5^%Ȓ7Zg[dGNORLw(!&MǼ<0.--jwypT">곫[~^6Y9Ev VcV9gqމ? ka~l%,󖜣3%ß(^WeS#pUiɍbr`H8wt'zc/<'gĞEcIuvԳ"\MזBbBqJjz&[ըcf}/ cQᵫ?ApFFJݣNl/9YܳR`go(,e7!͠,\I+%WWvl6idfïy (@yBSFOD ڶ1;*$pG.}\翮bP`0:9Nz|Ulzw[Wo.A)eC"n"z|#I? :Ek-;$:J[IAAP`˃}EVn.䐏SJsX3IJ7^tm7ʃޯnx:h8U^zx`Z\Bpm)6H.͐G Ñ,PhV0G;葱G녕D2[} Qso Ұ\A5 pڙ*Gpyt= 6u~B_6ZC=S1qθZULH0Fi/+cF6# )dzT'ٷY'л 9-X{ ݖ_SXPouuŸ&~#6T=AMr/4fM2no%q{x(3ć`т"0P~8~4D{ hDzp xO=c߷CoZj>40V+Gg҈4CDn=R2f{R!)`波wm3_Xޔ}&Y >0Qy%ބ^n-Kf&L;!49pS8KEǃG輿5kF ks8 +rD>8KWbaUa]K2Ui~q9}=؉e:3=%*R^8bTG']%>F)Rf>AW8`hfC'-$o'uN"'T:`?Y٣얘9Nx+ ?:0~͵:)r?us._S<+| ^KgKDaZ Ԓ/ᾨbȄ{ `,D.Ϗ`XGm`>VaI Lwx$7 ˙ŝg-֎8T(pZoW/]|KuEpb#E"DiJ(nb"Z0 +n  xQ_7y_ÔrA 1bP80Oxcgp8,S\({ ܖo i7 }sEj'(BlQ6p;z6.dmKahRe& K 38. }8 (X ϟ:0;'gF@-6(z`2%OaȺLrWlؾNmncay v& o ŖsYs eLJ,/j$,岌K"5v7;JǍRi" ̻[Fh9.UP+>,]lгXuo^Sw@9d(zڛݤ'/YJ!0? U ,I;56] 9|Q9YeT9_ Ho˝׌51Boq)?I&5}ˈ۝hjÖ^}f$< RAQPĸ6 [4b$򯛻;-3 ̅EO8b ߊc6YvJ6Ц%lS:2%i*G"qtRUEyD8|f~i- ,.q%.w1[Nd]0X/ߏP3&pɞtܧ~#,9<#ڻpFp~.@s~ō '̛2R ƌ3 hg 9i^ e]R[dDsMH8ז\[5^:@":A P…]_R( "R639Y% Yt`vwC~tҵ&5=_\[|wȖ{/f{lDp_ D('!#'J|}]x٥{j‡v2cʤyzrU֏b\s1y8Z&$UbBwD_:F䆏|'xa%nOOM}+{;nEOCOڷa#'[VĻ5Wob'}A RʕxFd'(  (sߗfnE͖'JQMm,yƯl$h2aF )tTdΘyUO=2+~'z, ?0JJLtc)Q}Y\Mjv:%j ^-_xR= V;$aR\N>D_ޢI[NpZּxsϸKkꎁ۫PYxJ2Hu뀳 GhHxujo%9pf8bݫ\ ,:箿s5|+*1 Giy t|,&!y&;2s5_H-j8S2Үdaڍ\+s7A֏qv1Zb2.4!M5g֊qvCӎ3Kb[-6'%27&W!O[)aKZR~gPه(+i4^:j:(Y@ݱ.~>Ժ+ո‰"N 4aA:Юzc&Q'dX?'lbr'ܪL(9ߣf_Xr'@o'h+FX#7ck旫Cm VPdQREYa}@bW6-ۍiPz IM!@`EaA,']!}nCNNJg>?HSZdA 'υCFd% ;6ΥXϳSЈu5p)8oqJbGK&+xAp|B:H['NՑT!BٵS&8[h*]Ma #90Ěmox* *B>s@*4$o 'LoT\0dg7$&a q!l2*Gbja tG?A.;dkgS/Դ܌yjF mgogZ̎'.muԝ9ZF 힓>Ha7qןClv͉/<ƗOg '=ޕ%6VэGjDa*C "88w0D7i!1CQ HY,C@b7ImqX7iЙx"1U R~jbЎG[4o[@..4 Z(qݵ8BjeC|uqg:E$Bq]ЯҪ(T9EGdmc9<7lsv/ƽY[x-wྟ%4aa@Ԯ7JZq&8i[#wMnY4ӂ519VPW-A, **>b#O޸|o|8ܵ)\iLQbMa%[~ 3u<+>>has,C֝  OV-ոH7-DS6ayK'i:%RFS/3{4&"F l079]F zhЕxf k1^P2g5UC+ߐ">,ֹ%2L:%}HSv_y.QZ|J-o9:Sp0Nuw;.$ ~wwЊ˚Oق0bʐv٣wL;@;]W0#LJ-O6;eT&FXq72|?|ZUoBO--۠Jhs; H.,dOz>9;0skX ޅ6>ǡ"Cœ@ߦ\ICšRa7ٝjͣgqǓ>xT6_x̧hB۫` "G+{DwِScxyeEDzчNE-/G5k6-477[7l>5O7lFv75kv7[qm䗈exu%6[@H|3XPP^\Gy*B6#%.vE~I$ Q/'"7TQfq;9HM:<3DJU$,*^&L:0܏h"Ntji% \olTKe{ԉ2?5=b c eDVKERin 0mqy3_P+8Y̥,"zG-qcU+'iy$>;'4mO$(?}ԫvVmE˺iG주_cx^h@B!'`wdLҟ ?H[Y^iDDRH1%A%ґ@OrS^.OxD AC vGhn1lQ.#><,OeuYRכbWuk~_>=}E~#nDHuz=[3%$PBc-掋BQlCҟ-OМr"r,۩tP Ie")GRңmB2xbJ x]`{4 #_$6CGIǾgpy{Յ$Ldu[76ͫ~[DPOrï"Z[CŤ`2шɮk.Rxf =,n7Gm \ߘ\Qyţ\Vw !}X@R<^-[u氕@%dCбǶ`lɧ;M{wmmSE%! Ip)9.0cȯߪj)u.zY߁vHxT_]Č oӉ7IۀKe?ԺxB!DUH j鉡v-剹&0/`9DbFߘ)7!y B;0rCZaW +ë`>:!`g0b MƨJ<^] ~Z5Flrm8-VׯŴrovkwRI >=ALE:p6)-C*v>lv;3#V~fTC"!nс\+M”y>޲3y0ReHh7"eYla پ_Iub1L=*Myq.;7%Aδb'l`#/m ٿC3_glc/Dg%=! Jy`r{t'T< pzԂ(8gAt#暉p%oIJu?>2'lpPRluaVk̋p 8ju$0^9rOif^#s`F pJw6%Z w%[K`RrѡX.{?bw=6⥈ [͑j$?~~ЫU0k:!O))d$ɵԊ QNy66"Yƅi{&0KkG[(9 I7YFk68WP.aAa=+s{- 2Z6-l.*J ζ!%w8[]L34Kln](NNՎo;mC-|,N_%S)[|w}y<(.CE 62&=ae+zĴvPG1ssBmWd@"HvY5jd2W>- 80 .c?0ޑG$ ͇k'P @v]+ݜb=|:\fxZe[M;7w|VK/Ń9z_~Ȫ&gԂeR)W٨*EDZ jYIgs`r|WYٰ&O',9(y/G (|1u7;Px;v,,=7rw;#Ĭ \ -xTj~Vv [>g> }XSg毆Z ~"W _( @n @ Y*qN!&X\.@>ܵ9/t]hÁ^$!йά|@IvcE.Cc:rI\e/| :xvU q!+|0 #E/ zSG30Α WR:kU (F^~=_!랹7S6p~], T\rmJ5+;[oZHT;) uqX0&JVTOzEPMXqz)=ZOZG?y0'='gg16œ^ U--]!]lAI> Zf:65Y|,1WR=j#89jy1yMrɿRO1wdB^ uPPX@y\SQ]K7)8Q}5GAHPdXcimkbuW}v#JK2Tn g6 Vmd9+"r=5,Psi@`8"zJ8y)_J@p˯@jpГibN<\w˴x!H#~~W#@iBU j5ŰyVx3 ^h˳Is4N]=qQ{Ǘw0)8uoLOI*_h'J9L)fR/ކZu5r~(^PM^C{b?ze a86t,z"(c$lC\dTj=&Q }=0`ߍ>bS-Ʉʓ{|4!{._;j+6gЎܟ(ĆtsT-'6H汥g#H]'$[a}!["E!*δ:9j[p( T=C(pbevBiq;R o? ( d(6;"ʙ+!+OBHQ:{'PMc%$0VW.Oqp(6_s_^k?ջiUGWT : Rwg-j_nH. ?I˸֝ ,3 y^sb"sYpuW(Jp~oH-$xAQ; R/B=i+?Y|j N@m**BqN'B˾-4|e>\_z,^+ zB[5ρETxu YmD&`&Nαj7*¦^HYlȣ%rZ0{VkI{D6osp 9ٲ Q%]wؽʎCқ5dZr=&P6~ìsOAXeVCATIZvѿt絏𮳀˓rQm %1|;rٛ~Dn&}d*-ͤĉX1fa31wRh4,QHNNdĨqX$ƛIE5pKJK*95܊g.GJ8ӗSiR$KfX1#K87gE~]< >_k cY* nogc8.Nua\܇\QDJNJU-Ie־n `-"cfҬg*@c | l5"z%@sSyuHG!rUSɈtм>=Qo2jXMd$U<z?C,o/ G^:/hO9ߘ ms *0954`1W߾H^~`"}wVF?3rhtYzobE =2wMS<!a`p:X TdH[y|ۭCvJI憾+0fTޯ<}K]`ONNwlꨳC&}#soKy b.u(qsS\]i"^uZnz˪~D'~,-\pAizGB>s՞6 \tȼD ]1 q y80/޲߇M,q-0%{!-@;cqqL ,2&[2Q撦-bBv7Şepl~i<~YDYyhknxΕ[C55P1L` cf`֭.+UvN, :jx;}+ke,䕍`g΋ew^Η\YE_!\I @>R Ƹߖ.e0',Y"̂{5=f*Mkt0N;^iܫnyy2~5H\4+Ϗ^y^!+Օe𠽮`.vyt$R6: E ݨќ|#q=Zl`Db&ЂԪV|kZFȓ޼Eyݚ?Ll-Wtz*{&X3ǮUEr8ekx>9(pn@orXj3 DE՟%F!h-ֶ/,c⽮:Q_3>VXy$V@*hJr3V4V+? E].:懪VLRF]jp)adiVu)G͒yK[?{<T#9t> nB\$*`@Txtg+RCx0Ľo6󭖾TbDfNDJDo6 n{f+;̥bw}mIq E"CUX317P) 4te}iQs%TQ~qG*p)(礇< nk2!(d>Og~)~Fz1@?M3t/g$(,7ZJ[b ;.<2S!n2Gs_LlV͸;-?_gg5l"y+SL% 7w} eϥ86kzdd!8 ?S}=oY$38/@(E6}xW $ p_Rz ^LṶ (ŢDqKATkE_}[] nFE#2>hWR!g*䵪)?TɅ_)dgDHefnQ)%apAKUߞi,h,p-4jR᳘ #39#⸳!(M0hpq6UXPøgLkVORAt KjA ,\N a x(v(N3 |)>ȅ2lÅ(;߫k/ $=12[%"vi'lʢ,$Y]| l2wufES^)ՠ&y.q8b_MLwfy9nhh6 ~lbYv?h adGk,~ Qyh5Ѡ *ۆ>\#7Vo4b Nf/|^z"8/63^| :jSf{ C>]00G_!G%s$:3}~tbmÇe`!ކ`Tѩ v!h~ jDo5ǔ #,dp'G97 A ) { 4#_aqu~ 1%`?,Raz6G,:@Mуvlfo MG4} v3蠇u=IZͅEL5brR'NRB2BAOG4OyݢoiLV M]SS sB'hɕqaaZ!ַC~_KAƢb*ũ? YvyHh[ذJI> T?'_xQ%  A[eԸO˰/&g:B~:͠f[Ê\7ÑyБBW4a `8E&&FDBɡu5c*I)ɴ"w4LШ+5N6opV)󼎼3˹˦SX,O7*Z@0{UH9M)=d" l< 'f\te^JǐBU+ǝ>r΄REߪȑYb).*j~NPB;|ai#f9/遀~W]XS}7̲,ڿ*#NUKx%*QheߖΝΜi~e+쯿 @3ܡQe֗ToƸYfLWu&}b aGj0jպZ5h3Ѓً|l~<)MF9e1猏#"&= r,E<.<[ĵ&| aOҭ'M်C'K޿Zf˧;ֽ06ɍ}2yq^` 7{' <>"r26 he^J6G:Vf'9;LϢ[l^jחB/; hfZeZ"%݇Vs<)d|Z~Tm=Ukçb>sEjۂ- FHU2u4czrqr i5ބFeNPN7ZS:pPI|ݸ$`u̟ $aPV@瓊EVIB9S>x^^#7s,/A a,uދf̀Ə` \ȭB6.. ~h͗|>SLL+}% `>$~_KHCy-V/rXP7QI߅*'(7-J|-uuIֈ[bd 1COm=s(2 Q-M( uu +M?I_QKQ˰9wϭ?B [۩(X^l^tTSseR-H71NX ~pkYj""Q4vxAv0Y"7'x.1GykBr V .\~sl&L:έ8ƿLPVnR?odf1OD~ER㤸Ior7>>M0?K 7{L!w]ǣ cƑnRU#rZ@k4H[8kk(7g?\4G! R).)r_ťE6?9ˍ5W`P۴<9]ӰNVн/u,M˪!K Iq-QF?-Y#hx  Ɇ!0d)xK(c{ff֟ρQȴj2VT)'p~KcZͱ-bssx\蔗ꤾ+QcM?]8ޏ?L(3C9OXϵSv6C}'b1@-Gxq,T]4AOjkdh,jd'ܣ5\ smW$8}hM,X/جm|eK: C3gjB4__Ŀ_ao`_dïC?тȭH#6U43?pDeR6eAu bXb^r / RHĆ:B$q]Q["{PE>VMPXִn"R -#xօߔBF~Oxr S+Ը9K7 g r=ZX; xAkajXPAMȫL-~5hfFe ☴^㣻 2@ڢowW_? 0o?gۀZ Z?Iղ"-MKYC/g\ߝ89mh 'aNl _{Ư-j G'45mPUYyOyO] /8svaeE eI2M!f w\6wDnN]W ZCLbϞtZ(e-Oe5&F|g d+@rr ? )e5]GỲEc9YmT3V4d.lnm`puh~I+20j4gE ?!F+lB䌸J]Vտ}1]x~Y J%{ bu\.c? ܊bB/+Jߦh PQwq30 Tm /Zy)Д2 ?Ё9}Fz o}P3dⱏ "ߗ)<xB=T1ߪoR,&dOfkUW[T/: [qX5˿q5Bz#Us&'|)VAm hɵ+8юXt"Ҡ{UGHzZq6U[̓Ӕ 0["h/|WbMdRV&0io(Lrx[=ǕSJn1bOG/ YLr8m%nSܮ(4tޒJEO:@1o72Dۉq _,$ϫp j?_p??$" ֩xRv |Qo7Ô4*.I= m4{owpM^B;e m3dEN9=ި["(*P2bIӷzhL?_g8jѨՌ }n͂!@HU=== .ypmQJ:+hҐyPwE5L,'H)d$Tr{gŘÎNkXAE̙&g0*ds(z<;j>iF)§J-up׾0W *H H0D1 0 +0a +7S0Q0, +7<<<Obsolete>>>0!0 +bcJKhѧsk5$0`0L .P\0 +0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority0 070822223102Z 120825070000Z0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Code Signing PCA0"0  *H 0 y}]E941%5IwEqFԌkLRbMIl/$>e# HuEP%+ #A$bEJͳ/"J-|o;99ݽ)f;-2'Hlc\򸔣8P'N0==l9.4. }bxfs Oc,2EJ;PSfQyV>Pn5{$Rf=N+~3nGўJnS00U% 0 +0U0[pir#Q~Mˡr0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority<<>c@0U00Uvp[NQD.Dc0 U0 +{~J&μNtX't*uLxMi|CʇSŸVocDDȚ  )}s9=j8m҈#i 4|.)Bk(q8 ]hͽAkf4|zB{ p֒O8|-=4 b7j#\cZ9`U3; _,˫ 0  *RA^0(ip΀Brv0z0b a'0  *H 0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Code Signing PCA0 081022212455Z 100122213455Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1 0 U MOPR10UMicrosoft Corporation0"0  *H 0 rt`\6=z)F"SF:[ WLwGpgt'g׊D0ɺ:VDO h$WN!7,/B!(Wz)6͞U̻"# )Z>c=,I {yqCZ㣳 U% ^3-(WUj 2Dflo8ݘ<iyNF์um-BQZxE.|+]a(C jB2)"00U% 0 +0U#s*L!qĦ0U0U#0vp[NQD.Dc0DU=0;09753http://crl.microsoft.com/pki/crl/products/CSPCA.crl0H+<0:08+0,http://www.microsoft.com/pki/certs/CSPCA.crt0  *H C)clsmÙm ;Hsz%,7{4#ξ\ykQ cr}Q*(* q)V /e-mME)VrO?jAby\w(.ǜ+* z^S`Owq`[9ӫEQt#'5—`'+ˎς רMC@uw\kdgT!EJhT^\gx\$ prpŸ00 aI|0  *H 0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA0 060916015522Z 110916020522Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1'0%U nCipher DSE ESN:10D8-5847-CBF81'0%UMicrosoft Timestamping Service0"0  *H 0 cyD>L$9v 2JXx+٥=&|}~2=97;4Ԓ4hrLฅ3 vs5L]J}xBFq'WуO;?aK0U#0oN?4K;AC0DU=0;09753http://crl.microsoft.com/pki/crl/products/tspca.crl0H+<0:08+0,http://www.microsoft.com/pki/certs/tspca.crt0U% 0 +0U0  *H iz F.4z'(A*!_S^)TJ} Mn(E,92o7Z#RT?d86C:> q(f1\]RR\듐i LvL4 j|D+[TE$%ĊF%i)",F^+w>#odb ->IZt9ΣּȭV<*D?}fͲ c @=e2|=&HN"n000j O%EXzg0  *H 0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority0 060916010447Z 190915070000Z0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA0"0  *H 0 7nBJqH>S,2ORȃ>3I1(dPKuǨծipfx'f趷 Y")/@VvmdmJT޿ǀL7VhGv\/}%V[jc|<%M9wt]\؆7,u9 |vlnz>q_*Ob`2҃N+"\hE/Pl%ׅvs6ƕz`3[AXn,HoCj&k(0$0U% 0 +0U0[pir#Q~Mˡr0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority<<>c@0 +70UoN?4K;AC0 +7  SubCA0 U0U00  *H M1|PapEsT? -QS9V ތ;ɷQ!oi~k"Flm|"Fӄ6~p]Eݎ*|ɮ2Շc6!v;s!شTeJ(&`;exHϭ:ObX099!dcC/{FeJtn ̝(a|H!8Ŗ2@S=f7"̰wTQ:rD#1000y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Code Signing PCA a'0 +0 *H  1  +70 +7 10  +70# *H  1oÚɥ EPf0p +7 1b0`B@Kernel-Mode Driver Framework 1.9http://www.microsoft.com0  *H Q W}_APJ2yOO1dYbFx'!Kw|s@愼WT]ngAbTEo`_T&>IJh5-*.y D-S;\8pE֒0˦Ap؈bO/_Gd"8GA$EWiaV+^D|"1{#ji~PrlTn"Ya4X>3:8Ss|Ĭ:')rۥ_m,{5&Jt7 R1{ ?0 *H  1 000y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA aI|0+]0 *H  1  *H 0 *H  1 090714211536Z0# *H  1#$1&IOO0  *H "1MhL?`J2&>>0!0 +cIxc.00 aGR0  *H 0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA0 060916015300Z 110916020300Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1'0%U nCipher DSE ESN:D8A9-CFCC-579C1'0%UMicrosoft Timestamping Service0"0  *H 0 m܆Q2;7:%oaA;ZxgU~AS(Tp;'H~C2/&Jvwɩ!X~ $D5:T 3,~A ٰ%%ӎmI ÇnFmSF?$~|,y(EO6kSQ ۼʇ 2JQ|,jsrW؛K'3m2hn:."C dɣTx)>Xߪܮeӝg00UOxY |"0U#0oN?4K;AC0DU=0;09753http://crl.microsoft.com/pki/crl/products/tspca.crl0H+<0:08+0,http://www.microsoft.com/pki/certs/tspca.crt0U% 0 +0U0  *H 7'@e&>dĐ>WC @g*ܴ6 3|._P{a1ބiX|'Ep_W^;C?aq}{nZ0 5%aN2t+zrK+:T`ا٩mDk c 2N~7_gFKm}ҾntipKe5D}9nP!>wšWi}io*"73:r0P:ŷ\ͳ00j O%EXzg0  *H 0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority0 060916010447Z 190915070000Z0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA0"0  *H 0 7nBJqH>S,2ORȃ>3I1(dPKuǨծipfx'f趷 Y")/@VvmdmJT޿ǀL7VhGv\/}%V[jc|<%M9wt]\؆7,u9 |vlnz>q_*Ob`2҃N+"\hE/Pl%ׅvs6ƕz`3[AXn,HoCj&k(0$0U% 0 +0U0[pir#Q~Mˡr0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority<<>c@0 +70UoN?4K;AC0 +7  SubCA0 U0U00  *H M1|PapEsT? -QS9V ތ;ɷQ!oi~k"Flm|"Fӄ6~p]Eݎ*|ɮ2Շc6!v;s!شTeJ(&`;exHϭ:ObX099!dcC/{FeJtn ̝(a|H!8Ŗ2@S=f7"̰wTQ:rD#00j O:0 +0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority0 051011215520Z 100426070000Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1806U/Microsoft Windows Verification Intermediate PCA0"0  *H 0 DwIրu,W,a/EDsuQf79y5Vy52v;dqec_%mC+o |J^ GJOղ36m1CSs[Y3F\G>Vk^ӸRe,&{3LS8.ed bsܯ0(?! O{BfӦWlr']i25L':_QJuU}G4000U%0+ +7 0U0[pir#Q~Mˡr0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority<<>c@0 +70U[3A BrvWo%Sz0 +7  SubCA0 U0U00 +[hQͻN ' 9\}Gkj5mHB p2 j͠(ÒEIEHuk^92\zc@sk5 j6egz\Yw s_O(Zg7#TТY7ttVbss=VAz&D.f\ )S-c1qʝƹ`갓6Rγ} ;J^+v2&&cX"J/п٦(o=l#NX*Z!8I00p a 0  *H 01 0 UUS10U Washington10URedmond10U Microsoft Corporation1806U/Microsoft Windows Verification Intermediate PCA0 090411055819Z 100426070000Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1 0 U MOPR1.0,U%Microsoft Windows Component Publisher0"0  *H 0 EvM4_יV 1g=;D禽u@6orH*BFEʠ{ȡ @U}@sB˰Z*#*P,;ԈxQ[ñ޷9gwу߮q'HTLAe7giE6 yo!x3nVY" uiғ+KoZ{1e5|Fzfthy<źeF%>f!jc(FjTm 00U%0+ +7 0U=yCFe]+^y0U0U#0[3A BrvWo%Sz0HUA0?0=;97http://crl.microsoft.com/pki/crl/products/WinIntPCA.crl0U+I0G0E+09http://www.microsoft.com/pki/certs/MicrosoftWinIntPCA.crt0U 00 +7/00@+4https://www.microsoft.com/pki/ssl/cps/WindowsPCA.htm0f+0ZXCopyright 1999-2005 Microsoft Corporation.0  *H CYN:?BnyEΊY wYTR+(2G*c"%Nv{رT BMMݜRǢ91ݔ" "` B%ym楮0-(&Ma( &tnrU8''qZ Y}.vG0 *H  1 000y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA aGR0+]0 *H  1  *H 0 *H  1 090714212120Z0# *H  108]lxQ|B"z?0  *H D y8h_1b/c'ߧOL*ÖrTJ ,>W=!t-/9Cz'xN>DO|_ԫ/-ԫ(Tԫ9 ԫ! ԫ? ԫ: ԫRichԫPEd[J"  . {@@8Pp`4(.text `.data: @.pdata` @@.rsrcp*@@.relocD0@B2    ( > N ` p          " 4 J X h v          0 @ J Z h ~         ,B\r,Jbz ,>Nbr    2  x V      ܕ Ė[J/UICorExitProcessmscoree.dll9`:(null)(null)Invalid parameter passed to C runtime function. runtime error TLOSS error SING error DOMAIN error R6034 An application has made an attempt to load the C runtime library incorrectly. Please contact the application's support team for more information. R6033 - Attempt to use MSIL code from this assembly during native code initialization This indicates a bug in your application. It is most likely the result of calling an MSIL-compiled (/clr) function from a native constructor or from DllMain. R6032 - not enough space for locale information R6031 - Attempt to initialize the CRT more than once. This indicates a bug in your application. R6030 - CRT not initialized R6028 - unable to initialize heap R6027 - not enough space for lowio initialization R6026 - not enough space for stdio initialization R6025 - pure virtual function call R6024 - not enough space for _onexit/atexit table R6019 - unable to open console device R6018 - unexpected heap error R6017 - unexpected multithread lock error R6016 - not enough space for thread data This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. R6009 - not enough space for environment R6008 - not enough space for arguments R6002 - floating point support not loaded Microsoft Visual C++ Runtime Library Runtime Error! Program:   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~EEE50P( 8PX700WP `h````xpxxxxGetProcessWindowStationGetUserObjectInformationAGetLastActivePopupGetActiveWindowMessageBoxAUSER32.DLL ((((( H h(((( H H  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~HH:mm:ssdddd, MMMM dd, yyyyMM/dd/yyPMAMDecemberNovemberOctoberSeptemberAugustJulyJuneAprilMarchFebruaryJanuaryDecNovOctSepAugJulJunMayAprMarFebJanSaturdayFridayThursdayWednesdayTuesdayMondaySundaySatFriThuWedTueMonSunHH:mm:ssdddd, MMMM dd, yyyyMM/dd/yyPMAMDecemberNovemberOctoberSeptemberAugustJulyJuneAprilMarchFebruaryJanuaryDecNovOctSepAugJulJunMayAprMarFebJanSaturdayFridayThursdayWednesdayTuesdayMondaySundaySatFriThuWedTueMonSunEEE00P('8PW700PP (`h`hhhxppwppSunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDecCONOUT$WinUSBUpdate: Error retrieving device instance id - %s. Requesting reboot to bring device online. CoDeviceInstall: CM_Set_DevNode_Problem_Ex failed - %s CoDeviceInstall: SetupDiGetDeviceInstallParams failed - %s CoDeviceInstall: SetupDiSetDeviceInstallParams failed - %s CoDeviceInstall: Allocation failed Error updating WinUSB - %s. Aborting installation. Installation will be restarted after rebootCoDeviceInstall: SetupDiGetDeviceRegistryProperty failed - %s CoDeviceInstall: SetupDiSetDeviceRegistryProperty failed - %s %s [%02d/%02d/%04d %02d:%02d.%02d.%03d] No update found for this OS, but OS is supported - returning NO_ERROR. unpacking update from resource to %s. Looking for file %s in current directory Error copying file to %s - %d Invoking update "%s" with command line "%s". Invoking update "%s" with command line "%s %s". ReleaseWinUSB version %d.%d.%d (%s) was already installed, however file replacement is pending. Reboot is needed. WinUSB was already installed. WinUSB version %d.%d.%d (%s) was installed succesfully, but requires a reboot. WinUSB version %d.%d.%d (%s) was installed successfully. update returned error %#x - %s. For additional information please look at the log file %%windir%%\temp\winusb_update.log The "Windows Update" service is disabled. It has to be enabled for the installation to succeed. For additional information please look at the log files %%windir%%\windowsupdate.log and %%windir%%\Logs\CBS\CBS.log Cleaning up update. %uLocating resource stream %s. Error locating update resource ID %s - %s. Error loading update resource ID %s - %s. Error locking update resource ID %s - %s. Error creating update file %s - %s. Error writing update file %s - %s. Error writing update file %s - only wrote %d of %d bytes. Error getting path to windows directory - %s. Error allocating temporary path - %s. Error getting path to windows directory (2) - %s. \TempError appending temp onto path to windows directory - %s. Error allocating temporary file name - %s. WDFerror creating temporary file in %s to unpack update - %s. Temporary path is %s. Error deleting temporary place-holder file - %s. Error creating temporary directory %s - %s \Error construction temporary file path - %s Error construction temporary file path (2) - %s InvokeUpdate: Error - UpdateFileName is NULL Error getting length of update program path - %s. Error getting length of update file path - %s. String overflow adding update file path - %s Error getting length of command line - %s. String overflow adding parameters - %s String overflow adding additional command line space - %s Error allocating command line string - %s. "%s" %s"%s" "%s" %sError creating command line - %s Error expanding env strings in command line - %s. Error invoking update program - %s. Waiting for update to terminate. Update process returned %d. Installing WinUSB standalone Command Line: %SOS version is not supported. Update not neededCheckInstallation failed with status %s - applying updateInstallUpdateW succeeded. InstallUpdate succeeded but requires reboot InstallUpdateW failed - %s Error %s getting version resource from co-installer. Current file's version (%d.%d.%d.%d) %WINDIR%\System32\WinUsb.dllError checking version of file %s - %s. Found binary %s version (%d.%d.%d.%d) On-disk coinstaller is newer or same as the update. On-disk coinstaller is older than update. srclient.dllSystem restore is not supported. No system restore point will be set SRSetRestorePointWSRSetRestorePointW was not found. No system restore point will be set WinUSBSetFakeSystemRestorePoint: Error setting nested restore point description - %s SetFakeSystemRestorePoint: Problem initializing nested restore point - (%d) SetFakeSystemRestorePoint: Problem finalizing nested restore point - (%d) %WINDIR%\system32\drivers\winusb.sys%WINDIR%\system32\winusb.dllinstalling version (%d,%d,%d,%d). Checking for presence of previous WinUSB installation. WinUSB file %s not found. WinUSB file %s does not contain the version resource (%d) - treating as damaged installation. WinUSB installation not found. WinUSB installation is newer than update. WinUSB installation is same as update, but is damaged: files are not all the same version. One or more files in the WinUSB installation are missing version resources. Installation is damaged. WinUSB installation is same as update, but is damaged: required file is missing. WinUSB installation is same as update. WinUSB installation is older than current. WINUSB_UPDATE_TESTWINUSB_UPDATE_TEST value is %s. WINUSB_UPDATE_TEST value is out of bounds. Windows 7/quiet /norestart%SYSTEMROOT%\system32\wusa.exeWinUSB_1.9.msuWINUSB_UPDATE_VISTA-RTMWindows Vista ClientWindows Server 2k3Windows 2k3 ClientWinUSB.exeWINUSB_UPDATE_XP-SRV03Windows XP/quiet /o /ER /norestart /log:"%WINDIR%\temp\winusb_update.log"PThe specified key was not foundA duplicate entry was found<no error text>status(%X) %serror(%d) %sStringCchPrint failedFailed to allocate memory for version test ... Could not expand %s - error %s. File %s not found. Error loading %s - %s. <current file>Error loading file-version resource from %s - %s Error - file-version resource is %d bytes long - expecting %d or more Error - file-version resource did not start with expected magic number - contains %#08lx instead Error getting handle to coinstaller - %s. RSDS1gKL@_0UdDWinUsbCoinstaller2.pdbH\$H|$L3ILٺWDL;t IvDD;|*IDL;tf99t HHuH;tML+DLD;|RIK CDI+t6HI+H+NL;t f;tHfIHH;uH;u HAzf9H\$H|$ALD$LL$ SUVWH(3HH;t HvW;|+HzLL$hHI&;| HH;wu zf,~H(_^][H(u H +u'Mu"H HtH%H%H(@SUVWATAUHHyH3H$DIHHL$T3ADM3D$PH&AA9$eI!\$HD$@E3E3HHHD$ lLL$@LD$HHHoHL$H؅EHL$HHT$@t؅u|$@} HL$H؁ H ,'OE3AQEACtɷH bLD$PHHDuH L$TLD$PHHչusH Yu$ID$HuH \;&S-H _A<$Il$HD$@E3E3HHHD$ quLL$@LD$HHH|t%H HH9H}H ZH#H!\$0HD$DDeE3HHEĉl$(HD$ uEH n.L$D LL$DEHHΉl$ u9H GCH=tMLHA؋H$H3 HĸA]A\_^][H\$Ht$H|$ ATHHIH3H$pE3HfDd$`tD8%EtH H HL$PdT$^L$ZDD$PD$\|$XDT$VDL$RT$HD$@L$8|$0DD$(HL$`LHHDT$ _H3H|$`HLfHHH;HCH+HL$`eH3H|$`LGfHHH;HCH+HL$`H33fD$`A;tHL$`3ҶH$pH3L$I[Is I{(IA\@SVWH03HHI3H|$`HuH WLD$hHT$XuUHVH $/DD$XHT$hHNLL$`؅H|$`HVHuvLF H HtHNHT$`؅HVH H|$`HNDCH̳ubH 3HD<LN H LvLF HNLL$PH؅ L$P;N(uK t/HSDCH AHD$  H 3 u)HH DBAHD$ pu'HoQDAH 9AHD$ IT$PH LH~u H |$P"H tH Gb\$PH 'H|$`HH0_^[H\$ UVWATAUHPHH3HD$@MLHHu!DLHL$  H|$ HH HH qA H3HH;ujȋH lH 9HxHH;u:ȋH HL\$PI[ Ik(Is0IA]A\_HHXHhHpHx ATAUAWH LL3333؅uOȋH IHI@H2HHuHhH 1yHuȋ>H WOLHHX؅yH $HI@HHHuHH HALE3HzuPȋHH _H HlHuȋpH 3H9u#ȋFHH L_LHHS؅yH "MHH/؅yH CHI<$3HwHoHl$HHt$PH|$XH\$@H A_A]A\HHXUVWATAUAVAWHE3MMLxLx3HHMHD$XD$`L|$PL|$hMI;uH WkAWAI;t>IAfD99t HHuI;uAML+A;}H IHAfD99t HHuI;uAIIH+A;}H HzJHAI;rAHAA;}yH rDM;txIIAfD9:t HHuI;uAML+A;}3H I H;r HAH HAHA;} H HxH;rAHAA;} H HH@HhLI;u H "dHHI;uLcLLd$ rL]LLd$(Hl$ WA;Nj}E H ^LD$hH$HI|A;Nj} H LD$PH$@HI;tHEA;Nj}ǿhH$3Lz$I;t HT$X A;NA;H$HH$@HD$pHD$HH$E3HD$@L|$8L|$0E3D|$(D|$ +A;u/ A;Nש0 H H THL$x3H\$@Hl$HHt$PH A]A\_HHT$h3= t H HDL$tT$pD$tDD$pH AD$ _HT$0H  tc HH 5L-vL$<D$xtC>"t;H &HFHL$ HHD$(D$ g;uH [$CIH$0H3L$@I[ Ik0IA\_^H\$Hl$Ht$ WATAUAVAWHE3HHHD$0HHT$@3EEHD$8A& A;tH }HuDL$LT$HD$LDD$HH AD$ EH D/6ALd$0I $H$؃uI$H +C====A;$D$I$ED$(E͉L$ H AtP$$IH H AH H EH+EEE3I;~3HL$xH$EE4jHL$xH$A4jE3I$H lDDI;A;u+H /I$H L$$L$HH H H ЋD$LH H+I;~H I;u@E:t H E:t H ;tH @%H 50/}H sH$0H DfD$0fD$2š;u@H$0H $0f1f;w$00 H AL$I[0Ik8IsHIA_A^A]A\_H\$Hl$Ht$ WATAVHPHƲH3H$@HAHL$ M3qADsk3ADd$ \$$l$(AHȋSHL$ LU;uH3HHL$ M3q\$$3DA3ɉ\$(Dd$ 4DŋH&SHL$ L;u H <HL$ M3pD3ɋDd$ @$:עHL$ LHL$ M;@3zpDA3Dd$ D$$Dt$(f$4DŋH|A HkHL$ #L8;uHH @:HDtHL$ M3oDA3Dd$ D$$l$(fD$4DŋHA HHL$ #L;u HH~H$@H3 L$PI[(Ik0Is8IA^A\_HHHHPL@LH SVWH@HLH3H$03LHHD$ LHT$ L+HH;tAf;t fHHuH;u Hz;f2|uH3H|$ fHHH;wWuf$ H+L$ht@H=w8H\L HxMHH ;|HH;wuf4{HL$ f4{H$0H3H@_^[HHXHhHp WH`3H@HppDA3ҹHD$ @;uNHTD$@D$PHD$HHxVHD$XHD$H9XuHHHHHL$xuHL$x@H;DHpHEH LH-LBHHHD$ &;};HHH+HH;t f;t fHHuH;uHf1@:t HL$x#L\$`HI[Ik Is(I_HHXHhHpHx ATH0IIHL)ztUHHH@H HHuC+DHd$ LHIZu HH3H\$@Hl$HHt$PH|$XH0A\H\$Hl$Ht$WH HIIIHHup'HHHuH!HHE3H\$0Hl$8Ht$@H _@SUVWATAUAVH L3HDB4IkE3I;  HI;uH A^AHHfD0`A;uȋ HH R3HDBHHD$pI;z؃uH $H6HH .LLD$pH A;u#ȋvH HGH\$pH=HMDBLt$xADt$`I;uəLD$`HT$xLHl$`Ld$xA;tH HLNA\A;sH IT$(:tH IA4 aAI;tHL$pH-H A^A]A\_^][@SHPHH3H$@I؃HL$ D$ u3ZDD$,D$0AtAT$$D$(ʉD{ȉ wtTu'HHy xx3u ʅu9˿)ȉ95uf HukX ZuI;HH HDH˅t 3n u3H$@H3yHP[H\$Ht$WH IHuLNjHH\$0Ht$8H _HHX L@PHHWH@HD$ u9u3;tuuL )Mt0~L$`AщD$ 3D$ $XH$Pt-L$`H&D$ 3D$ $XH$PL$`H D$ d$ $XH$Puj|$ ucE33H$XH$PE33H$XH$PH@HtE33H$XH$Ptu[L$`HMD$ d$ $XH$PHHt#=<tL$`HЉD$ d$ D$ H$hH@_H\$Ht$WH IHuLNjHH\$0Ht$8H _ffH; uHfuH$HHHHPL@LH SVH83Hu%+Hd$ E3E333/+`Ht$XHRTH @LE3HT$PH 'HH H8^[H\$WH`MMHMu(+Hd$ E3E333*HtHtD$HBHL$@HL$0H?v D$8D$8L$HL$0MI:HtIl$8xHD$0HD$0HHD$0HT$03 +HD$0l$8x HT$03*H\$pH`_H8LL$ E3H8c H\$WH HH,tH,HHtHH\$0H _H\$Hl$Ht$WH H*E3HI;HLcɣH9:tIHHHH;rIHHH;s9:tII;CLBM;6Iu LZA@%IuHHJLc5 3AMD;}*IHAIM\ D;|ځ:u ǃv:u ǃb:u ǃN:u ǃ::u ǃ&:u ǃ:u ǃAЉLZAH3H\$0Hl$8Ht$@H _@SH -+H `H [H@SH H SHtHH~HtH [@SH H;s-H\$WH HHHHtHH;rH\$0H _H8Hu'&'Hd$ E3E333&Ʒtω3H8H8Hu'&Hd$ E3E333O&=ytЋ}3H8H\$WH H=tH 6/t].HH=&HWHX3H;sueH HtHH;ruNHǑH=ȑHHtHH;rH=+tH ".tE33AP 3H\$0H _HHXHpHx D@ATH0ADA-=t~@=ZuUH HH lHHD$ HtHH\$ H;r H HtH!H HH t +u$O+AA|H\$@Ht$HH|$XH0A\E3AP33DB@SH HHb'H0Hr0H-Hr0H-H HsH [@SH EHLAALtA@McPLHcL#IcJHCHHKAt AHLL3IH [H(MA8HIH(H%E3H%3H%-H( t  H([)H\$WH HHHHKHÌHHHƃtCƃCH[H M {*HHuHHH\0 9)H\$0H _H\$WH P :HHu@H:HHt+ HƋH˅t3HKp3ۋHH\$0H _@SH qHHuHHH [HGH\$WH HHI8HtHK@HtHKHHtHKPHtHKXHtHKhHtHKpHtHKxHtHHtHHH;tu (HHL$0HtuHxHL$0H;t= ' (HHt+H/H;=tHH;t?u H, :'HH\$8H _@SH Hً t$Hu1 H3؉HpH [@SH %u 3]H @Ltߺ@8HHtȋ *HiH˅u!3HKH [Ht7SH LH 3uH^3H [H\$WH0IHHt23HBHH;s$LHd$ E3E333 3]HHHD3HwH JPLHu-=tH!uHt Ht H\$@H0_H\$WH d$@LD$@/HHu\$@tHtHH\$0H _H\$Hl$H|$ATAUAVHHL$ Q8jHyE3LI;uSHH͉ L;s7I EsAC Es AC AC HI8HL;rϋ fD9t$b(HD$hI;Lc LhM9L;}|H=8HLI;tZHnIʼn_L;s3I EsAC Es AC AC HI8HL;rӋ'H;|A;A~~I<$tjI<$tcAEt\AEuI $A;tFHcH HŃHHk8H,I$HEAEHME(A;M II;|EIH=H<;tH<;t L;AD$D;ظɃE;DRHHtOI;tJHCA;t<H,;uL;@ uL;HL;2(A;L;  L;@H;H8AHF Ņ3L$I[ Ik(I{0IA^A]A\H\$WH HH;Ht7HG t HOHH8HH;rH H#HUHH;|H\$0H _H\$Hl$H|$ATH0=4u%3HHu3E3H3HHA=tHLHDEuI|HHHtHHLdHMH-HtXH3HHH=t2HLILe53tHd$ E3E3334LHHߊuHHuH%ѪHe3H\$@Hl$HH|$PH0A\H\$Hl$Ht$ WATAUAVAWH Ld$pE9MA$A$$ILHD|$PD$pAHt A|LI3D$p;"u3@"HËIA$Ht A9$H3HË(3tA$HtD$pA9$HH@tu@ t@ uHt GH3;; t; uH;AMt E9>I}ID|$p3H;\t;"u9ut {"uH33A$Ht E9<$\HDžutOu< tG< tCt7A$ 02HttHÈHA$H tHA$HVA$D|$PH D$pA9$HAMt E9>IeH\$XHl$`Ht$hH A_A^A]A\_H\$WH0d$@d$H=u/H=ۨA3HͩHH=Ht;uHHD$HLL$@E33HHD$ `T$@HH;w^D$HHH;wQ ;rJYHHt=HcD$@LL$@HLHD$HHHD$ D\$@AH=ק3DƧH\$PH0_HHXHhHpHx ATH@E3HI;HfD9 tHfD9#uHfD9#uLd$8H+Ld$0HL3DK3Dd$(Ld$ HcA;tRHzHI;tBLd$8Ld$0DKL33ɉl$(HD$ NA;u H]IH-H H3H\$PHl$XHt$`H|$hH@A\̉L$H(E33HHtELD$0A3HD$0H ˧LD$0A3D$0H(H(H H%H(H\$WH HHd$0H2-+H;t HHvHL$0oH\$0\DI3~DI3<HL$8DI3#L\$8L3HL#H3-+L;LDL&IL$H\$@H _LI[IkIs ISWATAUAVAWH@MyM)IcyHMa8M+AfIHLHIKMCA;<$6HI\ CL;CL;{;tHL$0HIЅ~qA>csmu(H=tH tIKAHI-HE@SMcHD$(HE(IMHHD$ ~-HA;<$sq>3mIq I+A;<$s[HI\CL;r? L;s8H;r H;wAF u3{t CH;t%HT$xGEHDCMAHA;<$rL\$@I[0Ik@IsHIA_A^A]A\_HL$HH C~LL\$XE3HT$`HL$XbHD$PH|$PtAHD$8HD$HHD$0HD$@HD$(HDHD$ LL$PLD$XHT$`3+b"H$HH$HHHHgH$Hh> 8HmHD$hHiHD$p3\|H -~G|9| H#|HĈ@SH xu;LHcȺUH)Hu$PHˉ8H Hux3HNjHH0HHt HޱE3HEHILIHIHk8LIt ItMuIH0Iu3H [H(_-=t*H ^H(H(HH;r2HH;w&H+H*HHHH?L H0zH(H(}  HJ0zH(H(HH;r2HH;w&H+H*HHHH?Ld H0XzH(H(} ; HJ0/zH(H\$H|$ATH H,),HH;u3H>H;uwC ucL%HcI<u+BIHuHC HCHC$CI C$CHKH K3H\$0H|$8H A\̅t0SH b HsH})cc$H#HcH [@SH HAHHCHHH HHKH H9 tuØttHHH9CtHCut M HCHCu,CHHHbHCoHH [H\$WH B@IHt HzuA"-+f;uH*t H\$0H _̅~LH\$Hl$Ht$WH IILHu?tH\$0Hl$8Ht$@H _H\$Hl$Ht$WH A@@IIHt IxuA<~8MLH H?u 8*u?LHH\$0Hl$8Ht$@H _H\$UVWATAUAVAWHHʆH3H$HHL$p3ɉL$xL$PDL$HL$LL$`L$hL$DHH$IME3I;uB 3E3E333H|$ a @8$tH$f I;tD'ADL$@EAL$fE;" H$XADQDYHA;H$ AfA+f;wH w~ALAHcHcHHU~T$dA;[K UCT AĹd;+ACkEGSXZtac;III;tYHYI;tPf9AO Ds,AШ8Ш,AADd$DEDL$DHKH3HHLqo0uA IAADIA|I;EHDA;H~+D8t&H$R+E3A;tHAHD;|Ջt$@Dd$D-D9L$h@@^&fT$\|$LE0uA AIAfD$XDd$DAtAD$TH$DL$ULc L$HT$TH$)E3A;}Dd$hf$H$EHAfEDt$`8e&g;i;no;ptbsu;x;AII;AHDDd$DH fD9t HA;uH+HDAD$xA@ydfQfD\$\APfD$^SA@yD >I?I'E3A;EQ Atf77D$h@A T$Lr s I?I-IAt@@tIA@@tIcA@@t I;}Hr rE;}AD;DOt$xHH$H#ʉL$LAAA;I;t3HIcHHB09~ƈHыt$@H$Dl$H+H DA;t D8HADDt$` Dt$`g@E;H$A}ANufD;uKA>E;EOADl$H~.A]HcCH$HtH؋ ADl$HIH IAHcH$VH$DHL$0H$LHDt$(Dl$ Ћ3t D;uH `H$H3gfD;u;uH .H$Hк-8uHËt$@Dd$DH3HE3HDq@t+fD$\@t fD$\x|$L |$L Dl$PHt$pE+D+@ uLL$@LA~LL$@HL$\LƋH|$p@t@uLL$@0LAD3D;upD;~kHAH$L$HL$XLc H$E3LcE;~&HT$pL$XLD$@E3IA;H|$p$H|$pt$@LL$@LAHE3ɋt$@A;|"@tLL$@ LAt$@E3Dl$HA H$I;(HH$E3L$A AăItLht?l;tXw f9Xu H A f?6uf4u Hf?3uf2u Hdf9if9qof9cuHf9WA f9Kf9BDL$dHT$pLD$@AD$Dt$@E3fA*u(E/IXE;Dl$HADl$HCLADlHDl$HEDL$HfA*u"AIA;ɉL$PىL$PD$P AčLHAA;t6#t++;t-;tXA;u^YOJD?ADL$`DL$hDL$PDL$LADl$HDL$DH$T$dAA0XfD'fE;D8$tH$H$H3.H$ HA_A^A]A\_^]@SH0HL$`lH$XHT$@HE3wlHt9Hd$8HT$@HL$HHL$0HL$PLHL$(HL$`LHL$ 33l H$8H$XH$8H$H m$kH0[H8HD$`HD$ EH8L ~3ID@; t+IЃ-rAw ÁDAFHADH(kHu HHH(H(CHu HHH(@SH Hu HgHLOHtLP#AH [HHXHhHp HWH HHzKHcu2 K 0@t "3t{HCHKC{C u+HyH;t HyH;u y;uH+C+HS+kHBHC$;C~Dŋ)W KCt#tHHHXHHk8H H xA t3ҋDB%!HHKD$0HT$0D);D$0H\$8Hl$@Ht$HH _H\$Ht$WH HHw|HHEH Hu H L3egHHu,9tHYt V K H36 3H\$0Ht$8H _H ݔ@SH HH ĔsHtHЅt3H [H\$Hl$H|$ AUH0L-|3I;t Hr ,H+u =.0lH)LnHHtHd$ E3E333 H A3%fu1LznH tHd$ E3E333LHH*tHd$ E3E333LnHH*tHd$ E3E333fLcHHMODX*tHd$ E3E3337HmA H'H)eLHt5HH;t,Hc3LL$HH!D$ HITHHLAIdH\$@Hl$PH|$XH0A]H(F*t7*u=luH(H\$Ht$H|$ATH L%{33I܃{u+HcƺAH H:H H \t-H}HH;|H\$0Ht$8H|$@H A\HcHI$3H\$Hl$Ht$WH H{H-R}HH7HttHcHH'HH;|H Ht {ucHH;|H\$0Hl$8Ht$@H _HcHzHH H%cH\$Ht$H|$AUH HcپH=[uDN@zHHL-=zI|t{(HHu 3Z nI|u/HuH 3I\ HH ^zcH\$0Ht$8H|$@H A]H\$WH HcH=yHH<uuH%H H\$0H _H%bH\$WH H{{ H JHHHuH\$0H _HMZf9t3HcHt l$HD;>D;wA A+A;^I H!t$ LL$HEI>t$H36HD$XH PHAD@t A}0M A+H$H3H$HHA_A^A]A\_^]H\$Ht$L$WATAUAVAWH0ELHcكu38 3;;HLIL=|Hk8KL0u+8W H|$ E3E333m1KD0tEIՋT ,8)8 H|$ E3E333^H\$hHt$pH0A_A^A]A\_@SH Hٹ GkҴHCHt KC$KHC C$ HCHCcHH [H\$Hl$Ht$WATAUHPALL蒯3!$!l$0HH9-pH GE33;HHu3HFH;HtH'HFHHjp;HHmFHHSpm;HH$H>pAtH!l$ E3E333E$uCHEH;H蛮HpHtHEH:HwHoH oH;H9=otyrHHt5H o\HL$4A HL$ AQLD$8HЅtD$@u5HL$0tH!l$ E3E333y|$0r:4H 3oH;t(HHtH oH;t ҭHHH n辭DMIHL\$PI[ Ik(Is0IA]A\_@SH0LHt HtMu,DHd$ E3E333ɉdH0[À9t HHuHuAAIHtHuHuA"3H8x ~ u$a1a a#SHd$ E3E333H8̹HZt .uHt zZt_H$g;HL$03A% H$3HD$@HD$0D$0@HD$ H$HD$(:HL$ :ffLH+Irbt7t  IȈHtf IfHt  IHMIuPMItH HHIuIMuI HIuIffffffffffffI sBH LT H HALQHD LT IHALQuIrffffHr  D @HuH@L LT L LQLL LT LILQLL LT (H@LILQLL LT LILQuIIq $fffffffffffIIrat6t HɊ IȈtHf Ift H IMIuPMItHH IHuIMuIHɊ IȈuIffffffffffffI sBHD LT H HALQHD L IHALuIsfffffHw H D @uH@LL LT LILQLL LT LILQLL LT H@LILQLL L LILuIIq $HSH HHINHKEHKAAHHHt!LMAHH9t3HMhH3HHHHepA]A\]H\$WH Hc4HtVHcu@xxu ;u@@tHH;tHu D3ۋLHHAHRcH Mk8BDt 腲3H\$0H _H\$Ht$ L$WATAUH0Hcك;u  u ϱ ;bHLIL-bHk8KDL0u,誱 z Hd$ E3E333_TKDD0t d 7 *I  Hd$ E3E333莰H\$`Ht$hH0A]A\_@SH AHt"AtHI c3HHCCH [HHHd$0d$(AH 1E3ɺ@DD$ H?HHH(H m?Ht HtH L?Ht HtH(%%ffHL$L\$M3LT$L+MBeL%M;sfAMAM;uL$L\$H@UH HHHHUPEP=csmuHMP膅E0E0E0H ]@UH HHHHUpEp=csmuHMp&E8E8E8H ]@UH HH0HHU`E`=csmuHM`ƄEHEHEHH ]@UH HH HH=csmuH]E$E$E$H ]@UH HHHHU(E(=csmuHM(E4E4E4H ]@UH HHHHU@E@=csmuHM@覃ELELELH ]@UH HH(HHUXEX=csmuHMXFEhEhEhH ]@UH HH8HHUxEx=csmuHMx DžH ]@UH0HHJ'̜H0]@UH H}Pt H ]@UH H ԲH ]@UH H 赲H ]@UH H 蕲H ]@UH HH -sH ]@UH HH3Ɂ8H ]@UH0H}pt3*H0]@UH H H ]@UH HH ]@UH HHcM HHKHtH ]@UH H蝱H ]@UH0HM`H0]@UH0HHM@辚H0]@UH H CH ]@UH0HMP:H0] *0@d42 p 4-(pyyyyyDyzzz=zLzLz[zjzdjzzzzzz$zzzzb`0{/|  4 p42 pbt d 4Ro   4 2pՄ142pZPԆp  4 Rp tT4t T 4R d T 4 2p  4 Rp t d T 4 rB  4 2p d T 4 rp  t42   20dT42p) 4 p`P  0Bd T42pt T 4Rtd42dT42ptd42 BCvv B d4r p2020 #1$d4 pp2P  4 2pn4r p`P8  t d 4Ry3 t dT42d 4 r pd 4R ;  t d R8Zh!T4r p `0dT 4 pr0 d4 Rp.a) 4 p`P d4 RpL}  202 0- 5td43r P0d4 p3 E%C p`PZ``d4 p4 R p+54 R p `'T 42 p `4p ` PT42 pR0  td42  b5 %'t d4# P  4 2pRPd 4 Rp)K t d T 4R- d1T04/*p@Bp ` P 0dT4p d T 42p  t4* td4p/p`00' TN4LH p `0 4*  p `P t d T 42 dT4p4 p`P@2 p`P0 d'T%4$pRp`0"W p`P00    2    ( > N ` p          " 4 J X h v          0 @ J Z h ~         ,B\r,Jbz ,>Nbr    2  x V       SetupOpenLogSetupDiSetDeviceInstallParamsW SetupCloseLogtSetupDiGetDeviceRegistryPropertyWCM_Set_DevNode_Problem_ExSetupDiSetDeviceRegistryPropertyWiSetupDiGetDeviceInstallParamsWSetupLogErrorWSETUPAPI.dllgVerSetConditionMaskRtlUnwindExRtlVirtualUnwindRtlLookupFunctionEntry{RtlCaptureContextntdll.dllhFreeLibrary@LoadLibraryExWOutputDebugStringWGetLastErrorLGetProcAddress GetLocalTimeGetEnvironmentVariableWGetTempFileNameWTFindResourceWCLoadResourceCreateProcessWCreateDirectoryWWaitForSingleObject4WriteFileALoadLibraryWuCopyFileWSizeofResourceGetExitCodeProcessCreateFileWVLockResourceRCloseHandleGetWindowsDirectoryWDeleteFileW#ExpandEnvironmentStringsWVerifyVersionInfoW[FlsSetValueGetCommandLineAGetVersionExWGetModuleHandleWExitProcessEncodePointerDecodePointerYFlsFreeSetLastErrorZFlsGetValueGetCurrentThreadIdXFlsAllocHeapFreeHeapAlloc|SetHandleCountkGetStdHandleGetFileTypejGetStartupInfoWDeleteCriticalSectionGetModuleFileNameAgFreeEnvironmentStringsW WideCharToMultiByteGetEnvironmentStringsWHeapSetInformationHeapCreateHeapDestroyQueryPerformanceCounterGetTickCountGetCurrentProcessIdGetSystemTimeAsFileTimeTerminateProcessGetCurrentProcessUnhandledExceptionFilterSetUnhandledExceptionFilterEnterCriticalSection;LeaveCriticalSectionOutputDebugStringAInitializeCriticalSectionAndSpinCountxGetCPInfonGetACP>GetOEMCPSleepiMultiByteToWideChartSetFilePointerGetConsoleCPGetConsoleModepGetStringTypeW/LCMapStringW]FlushFileBuffersSetStdHandle3WriteConsoleWVirtualProtectVirtualAllocSetThreadStackGuaranteezGetSystemInfoVirtualQueryKERNEL32.dllkSetupDiGetDeviceInstanceIdWGetModuleHandleExWdFormatMessageWJLocalFree/[Jht\HD|JXPc|l,4v|#\\<d YD`X [7D`d$wP +1JPipP28^hPPP @Xp 0q,xh q8WINUSB_UPDATE_VISTA-RTMWINUSB_UPDATE_XP-SRV03MSCFD  ~:u; WSUSSCAN.cabߘ~:D; Windows6.0-KB971286-x64.cab.a:T; Windows6.0-KB971286-x64-pkgProperties.txt:T; Windows6.0-KB971286-x64.xml14޾CKM4'$f=j5cSjUK[E={oEkSTh)jŦ=b{ޟ~wy׸ƽ|XE_oP wL52bF }_ٕ1eX8Zٿȉ^0/0XqV!N O!|^ިGi&)\`Z (R6z_"q]ŊY3@{s>@ HVbey KWDؓ|k?<2g]Mc/tOPU1) I$ 6 F[%{YA`50:^2 tx`(gaaKU!3t-эh־0R_W[D]RT[D[uD8 &3_tfg/7OCyE6mstm(3⃉aVgH*1|`OJ?|wys\=sSE+"ѷ(ň$PůznB[59UvTb ɢT&6=HerTJL9( ʻF) _%'_f >v`th*3-T|s b.>7ϓʧM9D8j48(t)XiZ0\:0ςa\_RF/MEPۋ(6gNViYgƢ|W)쌊nAn\r, xݠ 0*]5E k{w'Q粸C_ّ,Ȝ(=k/aؤG̖L[‹hk&(/^" oP_חn(wCK4?i^X SҌ gX~APBZh l>.yor.S|Ư-^˚KD_l,O8qN ~ fP+`ݛ^j,q:4N⛯(u͔tf$ uƂ | qEꌙbF΢iKSՎ5V8—>|ϊIeg&4+zbظJnn˃_DgbhyUDl@z; iHkU"3v7\l$Fx>M?#,f?Ut޴Hh#|P ˏ° nY< :eD~uhuh#L"x-o9{o/A [ *8'"*mmtdD ׶mSӲ`K6a~J)`w\Tl9@*齢Ź|tفp%.-H@ɳ#⟈Q`f;?KJ z_gyc @jhVӠ 9=bS)@.?w|y_"4@BB׮3?15 c*Vk<B[ D>l,φ#N3G=aa {HHwY%&olZyV$ZJQ9;ܖnt0] c^DS=s: fCjO 7_,'eK_ݪ`R1eR!hF" );/lU+nmeahpgrQ`DjH4ȴӻO҈,vx[Y&wlQ|'xtjhNx'>KD ) ERN~fi Q"H.gn|BOZ!`z`3Dh݄<Ìc6*q1怃8_|9ej,x`G:Y)'lxmkQg^pkx:#=ɤ폗jT􇇅-WGnF;``tF dzadN1'LٺRhNxӝm @?N%S(Áhh;I|6 8(Ǜ~/`2ƪx9Tm94TFގX3N\L7V˒*FDiLr ̀jѿ~E~smQmu0;B\sԲ.w*9T:-h+WY&z#p߭ |qI7=r;|~Wa0o ex]Cy#U9oa̐ 2:ᜭS~!jƅTϝ~ ZxjƱ=I&=yLMP.\tɧHϪ_cp̡1o=6Hy2;)05MN脩r w8|(1RAK>)c# Pķ+ʑZu:Y3R E.CIEE .׹n= 1|ENo"*“nž<~PWex 5`,ϲ&vhC<ռ|D-WiR G`jQ@sE0+sV?wX~>VZ-M6GKmywqaѡXܧ;AߎD$xOd*jc,#M,j_\⟻NS~Zc^?to\|12efydb= ~W "xzw*[n duFMvkh;pg g9/̅T JTʹWgN:+ma/&^n[~7&DPt?FF 9xC7cRc VQ^&)].ɇƢ(oϓ3c6 ( K<_# =.fyq_K{Ȝy.BK߸`. 4T¹j$r/XۉEIf[hvjU93b% }Nj/ B>ɂ^9?ja8_[^$h~{hbO$_&L'^ڑ3? 0v6 u] ' if"Gbҳ=1{gpig)R3Ro/v{x.Z.B5ERpS8)>& UxvK*;ti-B?2ra tEYhTF֜fK}S^ʏەK%1&7T'BXA XyUuITJ$\NX[lxh+L7#Ƥq%v :njr9ݷ!LhzQrs 3s$DQ1u+%tnun}T7tGГ7甗݊%> d0?:.=5 m\1c9"ƹ4*`f8=@46JOӎAOgo-$tZ<gm%NOs3X?TǜsqtUZ 'meX*hU7XK:N/7"`. Ϛ'Id;v\oS:|{WPEi%^?U~̬q#*#FsI \jV},YEz7^ \@4n#-qdSɋ%GrO`*#*c-zd1Jp8U-PRm5%ܠ3V! w;FW  幘c硛{Sk;՟և̚LTJq'%K$ Cp<;w&+_(**F2_k+:,BN5ݾV3o80 S@v/'s<#*Z%q<{I\w+;{O$\S3rQuӣx~<ƤB- >蜽eAP_*^ۑ6vu,@t}!H%JZ sGhFwCo7{ C;Oa Ÿ7pK#jbQu~[ʧ)awAC5g~z#^gKU)G9JuN?W%ci([6MB@nTfZ'/'z]zې݁/tCy($=#1EByc>bľi!&`H-$^m`B "^eR)k&TkϓܳWCCYnE#jʵfouKeʙ82?/U9Cˇm˵:h뽺_t.bҲqCQ* /'i~exQ9+D?Xւ_z=Fؕ# 36&1D'޿Rn&XFްj}%̲qld9RaEf8!c4ӌݨxgU$c ^0IS4FkQh8${KK+un|gœ_oLrղQlCBV eq/rB~}rWG꿒Q-7Q]Mdp qW*Oⵠi(rü Esί{m\%DFA 1 }* XpJ[ -G%^Bi;?,{49SUxLْǃ|.x/<9.h>q^O5"_%>屬H./skh" gEh4$S]//v'l1,6ajJ.( [ɈD m,u`W8nKދ;zO;) CЧ#cf B )-{eL*lkgR$scORu 7;7`5.ر+1Kŀ3@{v;kNZ| SRDZ_=y_hɷC٤ϵ{ Ev p|H6K28v9z8ځPs;;޼3G!({f0v M%8C }nؠA2oI4J._[Nt(:0]1@04V'½@+ ,iSuʅ42l72L|`n/O[-ak0cĸ7D;ԢޙWrҤ"#N@Cmޘ L JK'~K 6Q3j4PթS >]XixM _\3^fxov:\x*7uQmV[R—ʃ]jcV,BG׭eG-J=a\W.,`$Y?f< W>=Qq0cYL =~s3Z$Th'ihONŋ^%YuKOӵ` &7-'E;*@H wawtrrD~(~8ֲGm[I:rU9Xk1yfc>pPNE#>M^Jt8dlHHe! FS01$P)5EڦA.*W/+45!S̍7~K'E!u"=H&~7&q3t:G!!PI+~B#fW=5$L~/7P8`uSEY>դVBmF+C4 FW TQG~0:W6'ܹ!Ö,CB=?B&턲Rqa%}8A'b?3> U(dҶG? A>,Qxͨ^V"hyYqC5HaCP{d=qin9>.OVnjjzGl?_<A.td3x*iĶ|׷y3$J~(f0Dh~'h4l=S `[GCP`x]|x WʠvlHl߈;] Q*hKX6|~~FWA91Xiy=~}Χ(8gZeʏ-YQdi}GwWt@G/5wݟ\D٤m}L=0- O;__;`"ߛWN%qTa;637ľ{ol[P#]H|,J2" Eh|.l;b;/ ĪEl [>r ^]2;8Rk %.MK wPǛoя%{jsDnQ K9s5S((HA}\~G{?l2ha-63!Wmp/vXgj}WO*}LN <0Q3o1SFx)?zQy"-ґ ˼apkuvC".gh]k04u).&\Ҏbia*zſ=fuv®"ҵqk!KgTq|3_Ή?3k|>cى00vl-*}猧c9tsgJ^& {B.CN#oo{S ׾` VJ76t´9.0|8L=O'7R#߷V?ܳ#1 'l1.KCX:=޹'ӽ|㈌CC睳%{'^"U<_%߿W Yt݉_P")")K߻O?-TpisRe%Ѱ;ׄzuRj,6w2hFqa6UϞMy0ilt{u,c,b?ږME3ߍ8n(K_C40Uh1זe+. H3+sk_4c'f(_G\5ӭ40c2X,c~Ccѳ'ɍp 2"+7e-Gij @bD_Q鴁ԩtZb묳q[^{D.d,nބJx8twʙkN.8|1dIR/$1#ֺgؠ=1FMrP_`dGc.t" !`mt4a*f &e K i%u~=4@Es2sezFZD2"]8%Dž _N" rؾ鷄J|DA?Ss 9d⁣#s: 3Lʀ}mcBe9 n,6ұJACK:ǻtagI|e;&h=(!FGN#,K+쐚 \iMq8u4G0<H湵8VLJgn ' ȚBom?5'iu#ey%zuS^;H~Uɖ s|TT.A4vcXc3@O:a#SoQ{)W_.'c^U'"PQ9AA<6fQ~:z؂~s/qa &1\P򑕍wml)WF7js1XH{qcl  $#kz6zJΏPˉUzv}th얛99* u\!abN&Q hYܺBjX ڵ߲QB)WBrx^9D]jE֠_eVіO}U uwluc!St&qVg7 c'7OӇ+:Xa_wJR 9 MR Dՙ^5sl+!E=qT8׹O,罀o!o4B8*2EhYW'{ACB(JԈ78N?8AJ=8$auZ: D3`fʖ Sv(@݊HΟ:(@F׊:{2vW "BaT:vMxu~Sm 5|ſf W"i ;#cNZ0sm7呃2YY8ڦnǭV4#L{h3y#*\(:D§Exg<atzp0˪5ݏBKy#b7_ԙUL0QL-IJp(:j#K?h[..wI/YZ^]L͏v>d+iRf쁢-B:,]f%U70AhMiUD=x.˫Ds/!jbe#; V߉YpsMť{yÂۂW7"ASB7+bb,AԂp.I> +3MQ6 LXN(u2iD]) R\yf3R$-U9M#Ւ܌ G22›^/ .:'KAVNw7.:+d};794Kw# ^a3m\i5x_D [x4F~sfa^:ڠ&̆Tv1x38re9ɺ`5!EZ<'AL?Ƃ8ϯ0a#Ϊ\_vo'z]; =hسm2wZ?r$?T[z [+S{ʷ}\ZuPeUπ=QQ $EK !lȑ#b)G.U^sЀ_vy,]un'? YWVUHfPeykn  >N`+Ɋ GwO_{+=T),Qo|ӿzE[cDc=0)&A:\H491E,[Q~eS)VOODz4>0>TaP.h`x{&Wy6k#狕;h saDEm(bQ^q99=Ff %HWўGYFg*u7\W1V6j DzrcKw|=+[IN΅忔^3.t*9NZOUS6c-DBHwBJ[u!Z/:DdIX_szQ”CNˇXʤŮw`N ?Xycju-+6Փ9y-SZV M2JEx6,1 Ҟ?vWnٟV+ 6~8PMj_ 3,a}}Nh] k ?k+CUӒAVf2[%g~42%ušQ,T?COL|hon{GVQW<8hme ;Uhv4:lx&x1^)ٓtoI"b*-Vfц.QnUܒ;nS[Ɓ~]Cj(Vnx)@/pAD|xk6,=Mx+ DL[L(IC,<<^BQ0ӌƀSگSᏹA(ЭGƧRx;+GAFEEyhI@",]^/t|Ƙ瞡.iNC7Y(Ef=0eS7`yɻTs.t&Ͻ2kfm?jJSk3])B~\S߳+g FBvmZ9;AaWa/>v-`& fiN逋#>wf vu3]Uj[KP\q[>G<SDf\*պLEV/[< ,eoՂm*))a{"x-_ʹˠ#0;7q :F0]R0t/ᓏ_ ѣ^-XmjKzODR]0{׵2Oa,{V\ook_/?|1Lv cܯ )voAQ}+ٿr9>n͐wܶ*`;C١T| /,eԝBYGq\U$ڊk0fah?_6@MP/p?EDpokx}A_߃w} I,n경$CHj1yYo], $mZî>Yj4%DS~+jo^$5`O_<$wQʣZw(TH`Js1LI %$dOӜCTe{tH#D% ?q1BQg]cTDMԾ%[GD+fOEE͈k>Gӵ,2>zYí &mA*`Hl,%*׷ዥi8L dq:yֻDrNK GKXk߭k@y'S}/0Wi^B$摲sE G0 uUVYBs`hm""~%aNluۡ FHaf_3EIdvTL)¬4V)0S=U\sMQDCΨALd(vnɆ> Vg΂Dè ק^LBKG1D{r+̑\c&g$XK]V>·`rBUĞCMa0F}/jYzt &!94N.Vhtz_l η~K r!XoN|$ qgzFI(%H)9Ҥ`^/!0mpc 2刞RWPx7hA @Xx d|6IĿ=WnxǓ32xQ_N$} 4n.f#1}toҡ 4iǵHTj ϋ{;1j9'ng%l5C:5'V"?cc*$8CUg WRߝGu_'!)?hӎaTO[I]>:$u(43zsAD*QS9%gƽjSV&= ͥ'~Y^*1$)O L<$>2 X e]KȿSo~>1a{E%q/Ag0sNjܖ  ^>RIhsݢG|]<%Kny9qQ/FWqpKk⟯չT}k|3= OHdѳ h_)ShjXa!v8G_C$e,g9Jp }(b;%ѐWErֿ%a &}pyr邖\~z9y=-̃RH9ILʉ#F E)35+A oU%%$>\Wq ZSMhp6"GvϽ<|0Qyė(--O29lFt](Qhr1]|GLU{~lCECN7oST [?q0NV긆̉::bvK6Hg,]!oH#= +!˂f".k5,[rXs.P}HVaZjR,5{Gm>@Ml?UJ[q_%y{j[!̯\2͡FVBDZd?}][@m?21/Z%qH 8,) uފ7CcWXaȄFŖZټ54cɨhMXk'S]B-c3:y ZJ'\@i*;$k^$k-cDԅZYZq(H6swxA;ځOF2`8B]XԮqGo5*T>qqE2d,~*gL_jM$jz 7Ww+99VǻI"#{AH+=+[^ ~*fUWߐ1al,+ϛ9:C}BʗQǭRESk{" )K6.ka{屔 +t&E S3jNZE兡UXI+;adX1'߾ycd9tWox.[:g@W@%DUܑͭ[ ?&];2]~([LW+ǚtV3,{'w7uSg*%O%"}hˇt@o42palbb@󚒪d题%W>4 H=iUn 0:`w +% "Yt@OpiX=l.}|ߊk'O7y-KBvyOא'=Vݢ 繠(SI%cC rr+4O;=3cHEVy_2G|쾦z" i^ȶ9Ebog6 Cm$K\|Ӓ絈*}`0; N(gK~XJ5E4ewf}>![T-nhyu39FbtiaK㥟E%],$Yr)*y@zYqSl:/hc2J0}/=d Azpު* WVʩ7)R!lBc-Ego##N'Z o0oAT&udc+ .MK,ϩ[ϥY^P<}ׂHٺʨ OH1rMJ3qᚩr,/E\1_a} p9&F\&E3]pIsfvT WBrMu>LHӱv(r*dnl- &7tw>#|cXշӁK{(6K`*#!X2aU >/D>F,ƎwNz(og$)0Q!i`JT)R0w\#󳋫rSV;_ +uɌv:BT"\ʩ5"q΁BN^v0G>!*U0 &BP^G{@ډzݎۦ-,ΐcx.e ^E6"l(-]!$f6֭ ƉپՑ| &:|&0d`2vʤՁ(h`؃OkP9Zy.&M>ց{;Cze($Jn酺b:۱VQP{2Ws'GLzOlG\[ Q)eȻ8_X:3C˄d脙C܋-,k? 9&:yګ.p&kK¹IN4$pE"8LB #ݑMOHMD<2,LZ,^Wz,@pfS9ܧsik=qJlemQցkfS&~gIJ|8+À5Hj%?pAX5uHU}ꏇ?3!Tr O$[Xbg֊hw0R3a VaĆW4%B`4VGdD`aܭ+%_\4au= rNS9=ͩo|G1b(T@V(&?CȊf6z}):NsQ+kLпAXȿh_2O#;sWq E @ʺpRp X zY 2Ւ~p-3JtYayЎ;*OO;\i5sQ|]He PƥK^ۦD[,! öfhw]m5dƙ^)&ٞd_D*BT**yr(Hv Et(-6wͺ.ky~lGFD$PP,SꟋATY ;BL~=n^yZ7vCaPPfۏRtf\9265tPΈR;L_j.0GRZvV4DOCyYQ&N~%+wnXa6Uك(!8 !s[k0p5ae=znh>6 [#CW>ƣ9yeB-NhHk(Hzr '05"rMOERXc`grGrp; [Y ~Oa.d_ 6pC$7: Kg{<&◐Gn07uQE4egFV?+ J7D{k"LS,],@n۲&*Men/ceh3LQS$ 8 [,wa2 ώ?b{YG°Yf`SFnNܳ=9m诈QB{.dyuñٜVAB}U`Sy/?'T+)%oV-*Yڗc{z1k(qO53ك|tiݚj(4`E2 D]g?֋k-ezf|٣פcst N ~Y#nyDϊ4# D Té9BWlvH'-yŎyF9\ɿg('uNg{d$k@^Ѿv><䰻C_v۴8l1"hvrpnrA+c׋(G=WT%Z|ASbY5O6 *Xft]}_ qb>܎4o}B|֚YFD* _%8a1>ck'C.@Ag`XzYmx~Z` [[ziJ6QuEF0+~Em37ɣiT7u?_sӻH-={cO}7َ.PR/Jo汭O鼯7MbϷ@hZ#4Òiؽ6fq`N/[B4S1_(SMb0u2TmifJ x#zʃGف+Pt8'1O$a* 2BI+3Mt$p[}Q# 0;4X" w )aʕLάSeDq;W\{8|÷w5 U";@4΍߂q4L&@鞖%WF" B .Gr=C jwBF"Eu]o`liiӍp". _ vfyl5MwO+f-rdعɏ 箬 r+Re0-'DFDtV}٦Ehh)$l`MK](W qx}|*\l`‘IR`` c& DWARyre ^} [Uyhv"P5@ $4)-wo01! !V 21Ʌ9=W5:;AeYi㮳G\(@HCo^t*MntpD U3=Q`u=!#Bx(pwꄧ6z^/w+䅁Ӿcn/D9--9o*IFz^%|| R,ykxݛN: }׊(m+K wґډ^dVX9rBt%t!~ȍ O$ɤ~毕͓Fܢ't~-eEEy~6BjAYغHݍ\Z>Pk;{sD(+nDLHX06^k"T­_f¹j2w}`ǻT䆃0鳍=U|t9nhs!Eo9++v9j d+k~4;ⷰ-=B'&DrI⋈\]ل9/[d% SƓc`׭np.L?ZB"2/=?>^LWǁ\4`^4ST[ߥ3^SJ 6eM @X1Sʂ~3C-)YM,~2:tq%v)cvYN-Ϙ#z""a&S.I4iKtYM_5ܝ_q֍6ڂ#T,AB4Q9k z2-i&Najh]e;!Gs$9vNʁk(LdZ6ɴCy€d &ԾCX=Js$+K %jE*;GE~n_#^iyȃ^N~e-q^?TktMb][6hL$32qS +l~|7<ȳYNЕڳ3]*8ŖT>/d;7(f,"rv9~2v"btBaBVmya@肓@vo4kOƈJgcK1̊C<=1i_ uDYz%I4uir$|@з= qB}fg|[fΖ=e/aQ홊;>Q_*fkB7^J]Σ.3wh"?߅OzfWZkuZx.^%|>1sW;ʼn_赈YDR`/wo gܗG{4g@/'ܹbWf~ agD'MqF>vu;cӖ%[ G]*  F|?ۦ6%g/^UD1$/Q )иy⒭i;[yK)Œ?ǩ<"Jw=R[UykރTJp]AP kx+lzG`vq;7*F.:ch(csXixf(f~SP@5rC߁gmcP<; `&>*-:/ .ـ}iֱu@qhrƍL!,&ZiK|Pgq`O*\ ;c Af(-ВpH;jB$8XD×V9BoNw![ tPnThǡ0F$Rmj]iлHmbZG )[&)p}k((.x7wybuz\ VOv,4O:- ,7H7{͊ _ D/, +?h~ү)} INl nE?@d&qT%{#m7c#D,Avb#᠂M{Rΰ3qE"ˣu0Q?,SX@&ZL. 7m`l"!Vu=q\yGH^w ;cZ!@ eۈxOY+Ά%cQ 'ɕMz"=vR)AT0Xi'g"0o̷3p[I8~4i%~oF4L#z$(u>gYO}:#Y/V@̜+}c- k#.!Չqwd&sf12zaIϮ`d}D;JL1I|T\A G2E gy; #c!mŊ\Є wtYPE@=Kp tJSA}O!>4 qJSLαz1<\( M?bT\$! CaP۠&Fv`^r/m=TC^AHP0MAlcUvG#U֍гD) &$h CGUHrt2 h˚ex0A^i'"g\y *ñ c҈܂ d KEX즞=nٕ? ]ٰ,f" )~vJ߂FWR q44?heͳW@_~glW7%o;y!- 頒kMN2A M[:pR>}-7G(9>y=JEy?V7܎Yb?9+67K)޹~{[sQ|+M_ƇR,M B[w[P KZ 9 &P)p2-,GСg}s˺74?>("?gCCPϑmG2Ѕ[ [>ۑO(|n\:* %OndG(AzZ3x'`%E GR xNwbxT@3lDMЄU_]yyc\ЦWfjP뼤]۴yͤ B|.jm?F~2yXGpP)ف@G~ 5"Ʃ3Y͗La֎Ԏ3wDNju~o \< ";!5Oa7(B!C gUм͑"::/ĂCйr": ?m9Bý3qOm:deQu`Ѣ&ns(h?STp?8|pkeʥٱ@Ew%H 2eX |RHHe~NGɓ.27;V'J2@⌔n^PO`)@C` 6[⥭ Px䟞?N#0"A{لI3n`~bP|%v2myxu|BO'! ˜o0!.8x51Sp{0t^1Xilۡ DX1Kޏq՜)򫾨n~pM7$Ú'A7I"">9i/$>A q*tơ; "z-%⻼9!bS42pW[EE`_"t)"[gpkm6GײaG*D"ؗ ,겏dwVk0 g&Gc*yi-h-l8j*ܕ;obPg 9-Qd"-B]*Hbr%LD @KA{EǫͺsS"7^Iy4w#O:ŲODFVNI tQ)lWƒB&qx;'lăG붉~Y AGfHš[.^a{OEwS3ݚ GB2qvf`>O c:h%uV{H :%9tRYeO8[;:1;!jL1.Xi6Q}wȂ& M! &+!Ō+e=h}'ED"_v 1j C.oX`1H0 JPC%Ll>򱽳\t=Gt|B:ƶ %YËh6!o+pNH%B;@JQQ 6w)ØxՖ9LjKV 3r'։N|nY忉, dڢ) ׽K23mX&1k~n*xߜ*Cnq?~a_o~ \ݰ..093U 5A6t%O2Ι!x_r}:}Yq; eUKUm 7Tߟ4<=!'oLhʖ|7ci?a*XlL/\4{!rz\NUJ_{TqzOig@-B *cn}F!ct/:pKGj{Lyg(z陈#D$UnqZ?Ֆ|37ں|42^n, Rh{?ǟ29=j} dzocr_/cMUȞW/ȖҤ=JˢnZhcv2?:0]K g`)d?n/9yY,m׬35D3hӺs4327=ϔ9]^ɸ\ӽ7ZrׯTCFZ_TbdT~Z_muۓrޗR5 @b[9*(d?yˤ]'n]fO~x$䣡N|3b{=-^-?2<׾V1yKo}dISq[9а M{׳3?u/qhQM҈a0䈬 S`lqߗy lUR¼$ljsX1[s/r+Ou9n^۞#3 󧮔TM5SscXO Iuh҆ş?x-V~}Szd3_@.-cMk/cOLmcignB8ua &0Ի?hm]w_+09OO~v, P+߻[ҷJvh.3Ɣ$|z3$-G.n 6ֿ5qC"=sԃmQKJܹ۠$qQݷO+ Nb^< z` b{vϭ&t@S覹vѩ%_l>{/;J&fuvy+O]}J<8`:NAH@ϛtg[Xo=X~rV7Cڦko;LH _>{в@lA߭MKAa]י?VV|쉙hk\%j#7ۢ&ICܗx*FBujؽ'XɢiN64ڇltu{Xæ•3³59ֳ"sy{Ggp~4K<.E~ Bkh ~|_8yJR.ᅳ"Ž]3޴'m)ePICʰmq]{5AUQG_M'~[22=MPҙ./m:X >{5 gޫG]e珋g*V1}\<}ZC|"u9۔r!Ȫ*u{tɆ 'g9]>;|wpՔ3X{$~'75uV{=PykzW_~F }Ν14bWQ2q zdR8dIVcwj[ 1$x{ _% ?}fYIHAT)FVwk\_[a8ĶH'klvy_ ?Tq!hyE.3^G!{ZSq!q_`ϧk8)wy96eɟrS c}_v uWFJCb /jbb+xQZ>R씌k5ѣ9/!b?V(߱/gX\XH׬"Y %od}z|SnQ\\zTO6}dSTZcPz/&%XN؟5p%Ŵi51h]F~tB3}=}ndS_h{Pͷg\O3|Eόg] `KG*ڴ3UOWwN2N ~ s -صuU/Sgx׭okPL($5 OP#Ȋ6ߺu\{:Yq4˫.~'OwpfLSphԷc@ůӨKZN vb7-J"y-w_STk`gQY+F)[SFnSŏJ9S[Iߪ||8ve2u-k{̌=O:nL6.>uxt3~pT96asKS#U„!' Ɖ%/54@g.+A+'}d*/n|Ò=egSPd=~pEd=e^0G@R[.>}_U";.\dNެ,ik)ٓ]ڢ9=qGe$s^̫l#oB8ً=)`|^c ެTҎKwR! O kd.E1wV'>eܪeB^3r|f2R`o8a!g s ABА6oٳeMO/i˫ ,xw;.y6̓<1ҟMDcY(^9đ=c`]D6 2vJ s_p[YBBhW*YNlwi36Pmye}epǻfy6J$Eb+˽]xUg}/_G-m?#|㑂[ކLb,Vcqۦ eRQ%],&Cm"Dj8|9n@cV|y M}ی̷| bnɻe)<_m?-.|Ԩ8*3Wx]S+|r( ߌ$(ghLߨdĹ,_E.=[h늎~6D=QC Jasuŧ&Wh }!'uc~Ȱ+d bo?]j`>qXq~[gp!(7-<"Jn%gd0()=bo:wnݍmgS,jIAa{wQ7) =Vs2gɮ_-8uW]?0Q%Y?!\j ڙ'Y:GIg3 T'a)[])Չt=($Y/(?@FjYRoʫnI vǷ7 3vl\]cnQ[ǫ)^}`T>vEfNw{'޳=4q? &n,x6 .CAAdO6]?¥X#~6myFB^ru~{-Zyq?;CKm5lju,=k-8%MTNiVKf .HAg⭲ۖP-=O, }k<W)g3و5at/{=zFRz2y׊Morgm;٧6:..3eQeˊstÂ<\ _ܩ /9h{+K056nZ#9ئFMtjCdIr$݋':o 5E =&%ZQ5bx1<e@vTN9By+z"=K[faL!u|=m q@ݎ;l=b[ίxa~슍.WYڗ ]Y :G|b7E/Rf%<ꙶ6ݪFJP\u|#P""))B3~/YAl:S!D$#6)<KURwi6Z D:@L֠pWlXLixqIrM詁@X&a|9&ڻ~.ExEC(0#>?W ..QK!F(B^qVrm;rvqregrl]m1=6 s` w3&z@YKG&ǪI4aL̝Π3@qn=!m,R]ADU݋*lzϹ[ZC.XݞGb&Q8aB22%OG!I7!I2xݲquۑ:-⪷l=?v4=ŴHTYFDw cT`H-ڊ4vկHt#Txx՞g^w+ښc~.oTECцf"@> `LpouT{}{ l-1/[ո'A f6 Dpehq3 Dڠ,, 3RPj;jD'TUæzPn5n[5ŖӕC`IψLX,?`Gh I՛c1Պcl^='| y˽+$uToPxg4m%D!ߋSae#)2t&ʣX}򼮕p@8sKN_.st_[ nyH'zJɈ+ l0 7J\T'T,f 3Y<Fc~ST`)T,07p_58+J)F(5r[z4W&z4v Je٥>iyE"yuD~U>gbbJB_[ nCl^K`LݡVlp(AL|ϋ3BjRC50]w1vwL~fG+pzmV77xz$}™/*;QF߹공ZQU+`XJBϛi2YQTV`l?ftsw/\w^qs(dzO`~ؿ&p$'O9(dYK(=^,VBU4t߿0噃Mzgk mሁ e_V1A}ͭn,kudtr|2,u;0MNsr( :%BsĔUPiUSqR,ɜunn^Pп$ppIN7,CٸbH%ػnrЦF@LH5$,qrg2:r{oגz/  ssP@޻UYm0Xs~A<+ yٜ?=vMS%[4M [:} a_?7w,1}NC}'pIr7WQƜ,**]kd?KG%wzKGQ}}ݥ{LlUFxK*7@94xCEM nC9Tij )*‘>,t@S yce@q`z8tHWrp$ y*Y9m58mZbT28q % GW~GSÜ=@_[J"Zq>QE3WRd2 Љ܁.i"r}K9]Fuc0t<Ygb:ɋ &5}&엖uxG)VvdE>kdrNnNʇot6\6ܩFσUN'Yo垴a)̡>2K$sCvc}MKbñ\M7fI~vobPSs-˻H?@=On3㚀?Q3GÆH`tmE:4"}v'1Gy㨞IEwS^@$gQYi8å-%磠VBQ nHL8, h?(Mj &kOӯC;K'f4Ąsuc*1M z ,OmS"\W"y] ; DZ=68h{T+k.}+t*i鯐:D@e%pr钐itTWNY;ckhT;]k .{{kp(]E:XK0%kź*r7"=DrM@ҜNG+М"?ȯ#zyT.ɿtJJ-hg,NO,iƝ;,a3V-pbf(z,#WՌkiH-iYkEu\&xrh5HUmT|]8r=Ǔsuw2uDa^_^k~ztD}kJɰ; &lr.xz8w<$jb)TF vf O ffd Djq%Di-Ο*kh_7_7x_ LҢ}sX5q$on*1$ wvtRn|z"4La~+ϽVKS| bu<ĺO&y6KMp[s21>,a,n="1EILwT?+EK޹[{\[&-ޏ?<*YA`yB:%G?ָLLY e z??(f|$~|G@&ȄJ$oښƖ|wnaxp;mY~85Vd>HT榍wCF M[}OwvC+fnS̰k1nei_́Q/X H_j#Yk8ܵwpG~0|A5M `>ڿ(; :2Dh><9΅[+6+EpDp'_ o ;}ݿHeHh8[pC;W.p+_/3AZ#/0g?_ ߉2J~ E#ߡGyq]gma¿@jEd&@׼F;_oo:7uOŗe Bx];~B1땳j/'w1ь<]\kM(OoĮw7/=zYV8C-;tu\E"y=sxsYpKuF6/X獮0b2s+M׹sҍGE+#=Qw.mewj hvչw1 _ 'Ta\x-onY;c)nU;l҆Tօ߆޷`6VZ)&j3Q44)٬] :&O|u2"5_'5E_Tx [s3՛ [`m-^7v쬿o 2Vn7 nCD$JZ#Y緪f0T 8uۘCOV"GLK%@\MgPO%mh}ȪHvf/Vz\vEC**#IBH YklCϾ486g+$̱!XY&yDҤ<&1ԆT VbW%^]Ojmvdu36k~39hH=N DqӕЊNX@ZAZm9diHF*_g25D_(+&8\\?7~NmOS1Z_fHw>^Ưֽ([i6R"A4j@-_Seh XQ(jbVnwjoJmح[<֡.pMc=II:+85i<ai5]v v=.]ZM`*Z 30sJSS74 FD^~UY̖kr 9.Owdy%j{8ENL7VPQȐXع8S5` =݂o>giRg;WRI=VRs،egؖ5/HlF3ϾbV7=Ŀ3SCnT=򜱡h>Ѹ*ɹ~b6%!(;`9~oD] qaQ2N,l)o|E>!PO^H^iA95A-?-2o4Ŷ^mLB&iSx!R8jC_/2-93+LX/e2MZ_3֓t6:xx)z%oJ*\_-]GC'uYgbDh,y\9/mH%븝;],v􈼆{,S=/T7Y L}{`>Dn<9=)*OP].݅4*YԹѣJ Y9GRޣS gfmըђϔdmUdGas&M,vNw:fRZgGx{28ܮD̎$%uړZTӃ=Gd8'@R?z, x%6OLϨ"'Д6P1>VzcDUwf"ɽ>o mv^gv>VcAFRVcu=“o vڏ3,ʲBkGe ](ryvYm΄w Fq60I];2{#m*+!w}D(ۨ$k%J T'q䍽Ynڻx_󋺠%OJ5 7caV;8CϵE(urTHMW,\LС6%$<8,OHrj^g<O7d;E<b8;n)S:.r^jZvWw00ڂA/m0!+reN?+"32[Κ˂Btbj1ئQ@($WEfrkYϤZ>.,,:[߱RY 粴Zw[49'|x=IvJK.#q{bY~)=J/24=0$S};_rp#;G:ş:s rqMrbJVx*=7eGpj5v*&i;SI69 uT ZIYDVik- BT>N͕JF^O5>V6Ͷn zt5GeM2ReGYuhv/$ m{FL W6_XJZPPj,WijnP:qs#wl$߽fKȱJgl̦ÿEgNuIxb #ˁY [WVd5>VzQEUwUTfDRS+鎞.788|aiv[뗴XvI- zƞM~iLX{?UB/b۴(Y {$Ü -DLXܛeoM )r>+( XKfV;1V1۝g2oh~Te⬪\w ׶^+})@:8I<^X((#_rB~$J!g7Aɰ\f[Kr~Y'"q-гh5VdRo8M vo[%e*{슠H!ӯ&6 Y4㙛*x3*,]㚒h6k/$Рq&Y-Cm[+?8Z]JR.&K??jyp#j=8}zš쭋8Dr9f sQt48Ub-hu~cN̆LYPoF>LC$ڰ։V۟itTK^ݿFnwT]kbM@nK?ӧNU+0ۍc&=9z&+fPw;zZ1[k/l/Cn3/E[T̒H4l#D(&x8:/8Zv{`Yw|Yb}(kUwxGQThպuFos]Lݘ՞K3DҏkQ2}fFX`K*'2[-Zع.d{Wsꈿ2-"ZzjyEòae?7;$ugc!"co(h৵p-kkH\ij%~Ik!f,'Ә,&\^/VwWԻDKxLqspc\z)`栧{Lm6 Tc" x:F'cʹ6e{lbFs ?%SePIQ!RV7IYWbY:z;/ڪ$[jQebmQKvD9h(g}1^\yYNAFȘ68{ !D.Z"c=d0o%<LGۢP|Xu &ys~".<e ]zzDa$o4qQV?Z+&;?c*bI:XyQ JC`[QVOvPf5JEX] U;NV}?0JWld_I9Ӽ2F]ڡS[UF5I*VOGgrgJVϚl;9ko[8*I4!g7-`\K7f޾4!qзc\w>̆<}hʲI5,|[j0YV[哕5ϓlj}AK zDIF:Mr.-\V>SU%k@mBl_Ҫ2]v 8p%?3lx;ŕo'ٔ_F)mz.th-lYy|IloࢵGCw3-DCۈ{! 4 f kM2tplX4*%G֪w[-yr.5Jṽ,rDufȼ>ғMfiٛz'2F ^g/3*K?-i/4x֝ㆎN;OR9i[Kڳkiǐ˧§G*Wtb-rD9WEO fr*{rҦd ,cU|F,l_:62[;le&v#;د㨛dq9yv)>I)0;Z]۠4f[:Dgo?5&7,iV"GLȌk/J3vC7hcp_5:Y_#-Tgѧt2n{9/%Y)%5Iy V=^D//+$Y9ݵ?L =rK%B,n:1%VfERާ*,0' gQRWʪtn%}ςnr2 8_T87.ŏLv` 8FcwSV(RbW^DX߃_O~oaG$ Q%GȰF%Ȋkf,32!Q3f <UzBGS_Ixr]-νMۗm](|+:J5V> QAx>F)툞qW~!Ke߫։%oUe#)j T^̤}dPӣ7juN:vc[GsVo󫤥x4%چ\~tqqH@L|i?UsqEt gK%gG.MfӒGxX9V'KJjW19dcǵɹM[ *L;"#.ᖖs)HZY3dM)bÜᑻTul&UgSq6a3}%dV3*f,XED[\UO\bVuv Ge|݉>5t[Vm;eD=MFƑc_y9*A[MTGCFˬ\?ۿܹ/$?icM_dRa{< ĵ'ׅBFi(MTnV_a*ڲ6[*ga[lr8v3,tc|u%'G/CrEUR.\p@g00oV0Z״R*Q#=GJyjK!tVZVi'7Svsfx3;R_=sbY2T>@I\??h(^97~IO^m%s7y23I5&yTu՞;E'Ӛ"p1Jװ5,U'=>*VenQx):F>6;{=/lJ:`[yj2o;R]D|D5W+=\%2nLOf_'خt ͪƩU$eZGzM4Kڣ0L'轛|ΤäU̬QF@a0u r͜%{x\3= ⶣ3cܨbe^^\823]Q!@Qj% ̬Υы 抱A!*卽wuu;5>Ͳ56,a+%֭_ _56:rgb{wz^9k$8QE%6j,mV Z  Fae۱GN0)[=9G䉨ܒZcc1޽C&UP742.[W|im:QtPu]K13_gxǦ*J$aPkW{HMY []_Γ*-MeYeeI{$QY#F l9zCb8I OqpGPSQښO9dvydt=,OyqAsvKz>WRm#$/ڨ$ܔK~6acw(jbҘbԦu\=JBM˰U0L>]m>.딓5fף:ĺc~8eȅ}h}-J9yh#zh8*ђQ&2$Cau(|0:6~^)$Msnq] }U+8M'H`i压\i!صWZ%xn:ES:S2kIHnhmVqXŬ?RJ)4OW?+HEiR[`.^xVzrE9@ZJQK$*)P#pUWAJկu]Zfk=nR. T+{r N)ÇCǔG _?;3h$Fs NvwDa811#y^DMy{hiLQYv?˷e\td76U-97oջłaESnq}u얗o՘gy*K:nfdhqkw6iOV`@@a;#.yx?fĦlE)70[s|i#$Q/Y瘫t;N zE\.Z BH9O*y4k%t(gCtcl{8?d͸iE4^lJsiLܥG8Y)~[|>f;bWI x3ΉdhzސFrpqL/K'G3+7,)qhC_\?9.+7*=y 1k+ַ;tMUgYT_,7tO 07vkL*vb6T0Btms=$xe*P9NW+OڱhG֍8$9 &ZS\$2Ɓhˎ 4$ƞ7\%J Lgx-, _ݨ4!Osc c${E,|iڦkT iB#4޽)3EyeQEyp߬wh,vYʁk9-L\BƩXq,LFFEzb{F3lVM{$;~>ϗ1`ǫ(-;ȷN6:a)oW&fV~qzAR|'><{3i3}Ur.ipsۢvYUv~₷u:.RѥDov*,0觔 uA\"~:ߌj u1\hG[ɵq\[* WǺkmx(P ӶSگ7[ xD.7n 6,20KeϐJfGs̜Tg>o;jwff2qCtl>{#Jr3W=FnܓF)qMUiE7>*.LvPՋqFZI"iޯigF0'sM#]Z^L(}tqjƨwokט&Kw=0QWu@$oa[e"A^kXěw{2N tmf]>@IAuiD Y?:Y!0r㫍 "'1F/q*:SM'8j#yupù3v\ݙ\)tk/?+S~G*oܜ!dNg^3LLD'Tuu1?T}BgjjKŖ4oټuFWR~r[A?zw<9Pwd)C-meل C"uuTgskҹt-&gْK)QOZr?"r>o$u84 nS,m; yn| ʳA[AR+ D ~*˹9ߘq='$}Y ye~:%,~c~ ^A4)֗0)?Ƿ$1nRSSi! 'I8CG`?誤lZo~JT(?@O(eT)" < s!\e(ǣ.%g%+g ǼMX3!S opӸP4b__j{WKoxvK67bF9y{HlhDcܥj ~c\f*r%dHV_ƜM>`_Ĕ/5'MŵFVIM 2G?Kwkό":GbR4n J]zQL"ߛxogw/Gt*8f}:k*aVa*(~-2[y*>-b08B.Xm*K҆h= P:OuC'[b.,NOJd!pM.n4q"ڈGC(bsLuCm[R O*;*Ffd;杔t[эd24[&܁hKwÎN ߥ :'b{)e1lى1՘ѽ_+cBL>zzbVڠkm؉^룎=q Iņ Gi±8\B+ b*:<2yw@oZ-gp̫u,dM|͌d9ziu18a6 . yENgƫÚn](9~ {aF[ 8 Z*eҪɴROKF\A?2D֌h2UhS| Junvp{N+3BnФ9[w5 EnUӊ_"6F!aC={lT(IP`d[9=A)qzbiB˦pJ Q !ZhW8Q|CL-q>=ԍc[z8l\3v ?2qԁ5LFÑSXa' eZW[**,$b7%\9E':̹"Cv0PL6f_~?R^[V[wW˗ !}x'~Ložĺd}(rU&nնd~?9m5O/K\ l Y̺#A6:JEFbuޙ`ByylUGZ"S .oQ]p Ipy׊H|mF*,㤦"q2LǗ0@1 A;Bkeطy*>gn()HI:m=%֤\܅,ME6;ԩTtWNOj2 MGiBdS(+ujX2wG^0}7rt]V WJ?)nAq`ۉt~‘\6M^03uZ%}z}C-2AOJÝjciq&}a3{\cф:$֟cwUNvWfY57xb˶e|z:o%1ɬvor4'>sf5d~Z3*zŔTںH4.ԚG38~Dށ.J22W=BS^CٳTDfi,JH:V?!D czb96eѰ WG·J_Mܴi:Ů.y[A8OpT^GBe0绐ABl#Mյ¨92-+I?Ndx2M)t+K Ԥ\AqA>`c0tYirY9E?#W̒[}e`rnf#Hװۓ?\٨d[8C9tA$j-V B!zn$>@8\H)qK1s Dh?yWϾ9J]zN';ۮaD2_W-/T)ȼ^efm\:eP ou%(,õ+m J9;K\c*<]f,. Ly=V+k$3[0o& ʐm҄<,\Msڕt<gJC=:-_uXGv G2Z(P'x Oɦٻ zŲn6,VЀ^f6u?QdqL vum_)5eF42:-*b4Ϊԝ0,$'Θ=mҏX i09s /E(=ڱcӲrFW =!jkA-,aJ<]=&ϲiBZq}4cNjisjy>l/Wq0_݌BS/6;$o3ȇjDiYVDzuLB7;+75kS Db Tk+\+%iHYpciԍ:˪('`o*\9#-IGMu @M/C<@.]=Kaiw|NzeObՠ@zuWvj8̿G9e|wyL;rk}9m : v\U*ޣД?j-С'Q x7r' ^JLBk쌜6!^]W}QX(;]g;*\݄:,U%Q!ճ~ٴ1;sZΣKBu򓒄, K衢f9dF5?VEj4t:QBuL#kyX;iDqד IKr>ц6EsK(7܂[G=ؓFeWWW2STdZ0B  }moN-l嚀\:٭i1D2s,9(Yj[Xaj*\'\v!;hDqyeOUNưqɑytC>q$YM~ vn=v.Ȉna\^C9YR@R{~FtNN+֨ۿ-;QxS'V6N41iڶyJCf^ېj*4a[K2G;/cd:&%D~]ADc+9X G:%nePN!=q?J?e)4EVømIԇ&E*[ )zχN|Ǽ,*=ɶDf922Rڶ)F2෢!Xf 2[{FuWLN$*U kA Cآ`KG'vsxb1L(갃e\{;_7j4sS[B ~90'3KE%8JiΚeqklfbxhDm2TX]ΑD[m%6ƴM;Xv~%EN,(!fܔ)g 2ʕR=k]V&NЖaRK-3YI9Aڂ4Qa`dv4Lue^duk268>{IOJb`ǛA mx澳g*2CqJ#b訦g ;uGQl?M$w., 3(fsh&;$reeYbkj#Gk|َc5;=LJ61-] `KWɣ^ʲOT̀=[r뉖B]);iq135ƔeZ8VȆ˿lד嚲n7H~}z'ǡ{װ%Quw<]F Yà?M\ag&ְqQ%9Ȧde)= T{PG'4k\z*9&LR 'ws}C K)!9i\#ܴuyrt\s/jgFڨ,T0nT\g r#1gY2 6Um)вqKq eStuVC&R%)-,/]!r}FB-hй QR]bדd*QȳvS'hy򿬕 s*M^|ۇ'Oen^ ܳ>zʹd ={$ uLc%Az6sg ԥ̏16'r*K \ԓuyZz"aS8Xh[Yx-mt;3Y$~GwFAۼhڕi1Q^ꈏ,4'%h<7^'I_O)~E'JKMRޮ6$)ĻO>',8Bfjgli3%{ R'g w6Ϸp2P|_ -Fg 'C+gY1eMucv} {fZcs-[`HlHj'::A ۋnW=wXL\?PEHf -_8pGKA_,~7^pj,6L)$M<'$$fis∽ ԁ+dXvh0b̝wD#"zWbd>jNjgv v% ЭG;NN'Dd|:B.6!8)s 5WKEamd,pD̓a$#-*i0KkϺ\vk\Rص*3S**;l:B%<MTmjptLIm.*T(3jeI*??ܕ.KXĢ";3> N1jO!fd8\ZTƥceyfW^ Ўs&$} m2 .z~e5engKZ)xs,>hL1F+eMunԝqo؍JSH+u%{tڜ݋4]y03׆_ݟ|(ėݕ~2s[#J7 4ʡ>"+Yx`UʚEcCΰљGr˵Iz|?UC5ʢ)M~|v1W:(6z0- mG<I9H*>ͿOSMTTaSbkLAIn3twHد`MBCIj y@ 0FKOPA ѝl~]6cp)c5|6k7"U*%TGsIѮ<^diO?(~uF; =rWz>)]É:NI&xrքPDwJöTw(~ZjN֓fOpYy^S;#B snXX. وT.kbFݓĞE7H8pń$oKxc5zqû]T_חU[jut[=͖/j1O~Ր-t\{p"usGId6Bؑ C2fG1~)f~sX5׵B(f[DTL2eG°1 #Lѳ8{IA4xp_{Gxйl?]5ts-hM=nY4Bcՙ2l]v 7w"o3s[ET] Xh5 jPGsSOH?ihT}z.pP/k:S5 7q 7/sI-W>l;v N3V#(wU}>9! nu#a̶p&%RcrkhRf&j\۰l6 q]wyrˎ=PsyK8(#,\{0gjލ`%^ߦމgڔQ!Q\ުך\2@8F/2SdHpIGynnl2q2(R&>(`2\CLs9?e}Crcdyl-ƛ}&m?YڡNRtXY{ yJ&󮊢=p|9l,$N6+`<޽,Jp~X^ k[ײc= J5نb $IEGafRxܪ{ޛfV̚I#6N{~pq|Bdm^lࠓq %щ;R'Ƨ%ƪ4ӲDZ\KwNAMS>+/+GWl[&u l7/y?XHFu#ˮl"XWJL-%CSgf=6#8Tg~,KٷF}Fz g1gndyTD?@ed}?is3#BG̪%&Dw{[?xm Tn=I~ ޑ'9q=*Y±̙KeJm\#ʢ8L:Y/oHB'3s- 6#πRѕu| Y`ĥQu=Gi FlǟI{i3+HEg*fHi(ĪޑY=RX4[@o($y>b\Qv:rOWcglϔ2{GqMQ֦l>!p5.F?F{ Z3̊YrOB),T;g N3W}Sq:&Yas&yXavlĐQР TR9m_c#rpUbYcL;϶ՋVH%vF{Ӱ匸S ω/t9þŠAs;ha5Y /gyʾC&!6ml]ZFI[驡R+ .1= "Ov*ȠNw t/uΦXz;v&%HzKm;mW=-bJ4]'-ʸj]2y c"aUڑy;{N㈜Kkv0XKYx UɊN2(kjChUSf* m%sIV3:t$c=I3sQo{CkU6,~C%;K 9(&v[ͷmvwܸ9jg x[fƺ 34b>  VCᥳ0椊$kkhcGI,cc\J^]5(OWa,EK ?HpV=)iF;D6_Q0~|yWIq^ѷ[d0=WQ4xBc`+IжEߒ“[џ,SN@kXHudRed ArEnyt?L%#mh9汊 uMDJXpăSJRYh&۞_wHO&f'ۣޔcmLrVW;+˜$ 21釖#g=232=$Q>AuKW'L'e,099mSJ0mnN6jg 7^Q.-nZ\ਹ|WMʐ%&,C#yӴ'~*\C((Bk-;XHm:Aڝ\N;EeEIϔĪK:fK.:}Ѻ-˃ bV̠`::ؔ'[*fjjUG){a)ebͤIsTAi ץ(w%Ǩ:񾤂I=ȣ$}*7kz}yz1 TȞ[[mJF̰I氉yT,DYS:Bsr~y|3pJ#vyBZ!mά.xZTqSmg׶FΉ ~q^)߃>le?7xgakkAK1ϬfVI=pWדD:J.⏘yi졮K})L{vsoXMK@Q(=/-zUejQ 8ib e1E'ÉC4Jz=#pU S6(2 L)M1oP3&Vp3û > XVv%p`lYU֭j4']Fm=*n5vS{cz R)k~9*1V]g[Oґ;hWLP=ijUV ۮ+ Ρؑ9\>bct餢R%:G%2kEV3k\s9Gs%rln[5^=ɪ5nU/qp4J m Nu;?㷜4kOΣ7uqR/Ѳ+⣭T.)8S*,q>`f#Iup,69ܼ)5%-3+Ui_d :=  z&!1Dу+COXWP VuUZ+a 07%d+O_ajE5l\dy);P9VE&m7*LNmL3 }6W U~?[cW>{e랽ѰEcOp.̅ _?ޔ9wggȧVȵzi .۷\=aXRl M͠xNzAaj~ʛ <9w8#8>h~ko:gn0Wiw("M%W7M<ኳEȹn=Y37u]Ҧ5D#©O_^UCبbJ#rIY{_ n\s }?$E`<=kol2}s2{nYw̻rn2˷)*yy4ze%W\rE.Z~c2+繦GJg(ѩOB܅W,ASi%+&-2$ָi8it_,r^wx)uk7);?yW4i;2խQ9W=W;j~s2nziTLm LnͰ!{="O8-aWH< 'b.".V"ɷNz#Yu zrt4zfIq43$2iJFyڹʉCGKRJl8ᐨa3նyT󗍭3nTuL-CC xl8Fh見 5J3Olrޚg9X%Uﱐ'/3 ~›[1xR-Y͞sYPulob  31=RiH%4*[ة 4kz9c)꽽7whlh57]/8gT_R(!!6o$kpħ s6kCxve[Tn~iʖ;"䗝k`n\ݽICH!ztiƉ\x J]_u- _{+VEz@[Dۯ٭H*\VzOI#ۿ$+YirFUmGG2q5Y}w(ÿNzy`9zAKcʼ=;mP$p0LW]'Hn<'+2hK#xRgW΢PѶ3jжu]evUuGے]J{uc&l`oPR@KHI&vwe)rLe~B/c0"a=ԎK4:UG@]4Mdy6PX,V )E2Z. dMT+`$eWy&Fh#*gU =McHzRr}_9ޡGfəTuS]抟ܘ+\êyNxşun[D YA,df 9$&UfZ,Kۍhkg}jrt[ݎԙΪ0W)b3&ߒ͕62Q+ddOwf#t։9ۑDP0._g.N&ZAqd4 jN饕<;DYc586ZvrxVhsclk1DEo8HnIg CfE|Qk\'Ե:Ƭl9?IlFS!ȳlnH=3ꪰUQ6Yӗ=3ιԷm(G~Um1"$ўV^nSa19/\EIsPl,P,4VұK4v+5vVEY/_ ٽW =KT9zUx|a+dp4?ʺu}:ԊBS'?cߋ6\4! ߙaykluGFA;,S⟕{1HoКW$I=oPƝyL3fZdx"V62k-qo)6?T5fm}nz1^Bp#V{C6o.)+mm?khIK:׈2RZ#U!;_%[W 5`jPh+eB-;aȅҨ }$DE4G=Q&Hc0BLY <CKCle^]ϗݟ0G,,::+AAa.1U/ okPY|BpIp*Iߒ-~&򢥎&[.5m8sm/TFySZYcUz\+%B ;YT~^S?وm5gV8LcAa&zt ^R{Ϻxl8&M GtH!NHצ/Tvi7^CS˙bb#e?U}$pv` ɬV2g'qVuKbVM,E36 {  OͩbЧZ9߳Rh&% R̶ƣ6N$)uhw9[0E_\TM{,5^eJK͒qx X}I[֨DۛAÏu<6jFCt,M5C14QpZHHC̈́r oIŦ;Npx>E9\%URdϕr93=9I)l!jը-2r؅\Bq*ȶEC:i3;6g]5$i~9>Z|z.KGn ="+`tCػ@DC˷HOR2V:8K&l9?35m/lj3Ҝ˽)eDQJiƏ_@ƪ05H\r7\X+&..%dʔ4ȅ+ '[ gaL;[L(ؖ۰KNwЗ`2>q;ܽ]d':J>9E=6&nVe(;hմ15zyέ}]17Mҋ1u*|r7_dҵXm5_5J[eE8g#Zen_+j~lp8H7wI׷P;ލ;/8p>:vZR5xyE ǎst=rq3EPm-{ÝgU;sOFIC7Tξ#aƬ*u!g2ǝZF^mKJ5S|QSs^Yސ%Yy'^)6ֳEGS2ju2it|>`4_2rqhAt#\?)]Twy&n,LC27PlE.96g'޻&QHa%]6΃vTyOzv/~sm |`ݜٶjդ-|g][WlJ{оA:|N;Sq[qL[FOǮ|!Mܶ'sٍ~+|8uw6݄^Fǹn~Q%|t [-&[OeG/79!Y.M(:u|_dzt;O$ٵVW4#XȶzAtq ߸f|vu kx޺憛n \mE]mh>ܸ Lc= sᢙPRI8G}[>y@HA1řbEZ'r~#5 s#kcrݣGWh-Ha壱ϷԶ;LӨe60Ni j-Eu6!nݑprhwYr3`1H dkcq{hʼnpy>vMGQAAUgCt%~ҿp(ˤI+h%|{ީJ4_UN'W GQFщ nbw&oF=xE> GƎM3ܑViU3-݌#r#z}.-T|Ĵ <M s4-+J!C+ KoVfRaJ2JS[Rǭ _mNS9쳲8ɧ W\G{!/l$i]q3^M]oC'Ya:Mnh?S^wfV s Etge?8Ϛj`\ۙaVCFDu8NT{pν{]_ 2fyCQ=^%2TT|:qu:j4Xټ{-‹3!ʎ1m8r ׬>s6cΦJ51Q9;&}̂ɬH9Յqm C*&c ) _1{c*Z&ނtSk*дf/):Z8g>9j$2Q-Xw88_O:y|u9}M;NZKbHrR粁|u!6 8 ͓!}9NXF8iLѻPYeq ԧ0UTN\'D>q@6;՞Ruͅ.asճde铊r.nm1mChnei+gruwȈ+I"tXY6ZH?KYiilRi /Qt,[-f#cT8ʌ׸g{ox2wވ)?1&֔ܬn"%FP557?x&3s&K~i[x;BNꋋ<`^bNv\2A8!P3v 5dfFM KZOO*cIբx)z}K DYz]qr-î"A8rH;w.R\YK"H*k&~M6-yAN鯗ߖ˸ \[B#K_QYsg^s)Ҵ;_DҊxj\/>~٢8LR_ Y@vȖ5ڀyl]Oek5LOƞ4\^>~x̑Wbxzb2֊h-g_I,BaMLe*,W)ݬ6-2yФv LkȦt:ߩ}gW<8wdМi5E׿~>Ci=Tٓo_ESybꊑlhKSAZY9\4]) vϵoM*<+.Ex]~ MLih|vR8mZ~99G$<nI9׳u#pKOۺTp|zIm+߂+NE߆C& 1kz;Ǘ.8@@g=z:oS,a[1\5UrcܨκGh3Ea7qv5R o#ߩȶ8%Ԅhڏz"&\= V<S3Jv+I~3l1&Y^ykH$m{| G!48DVoKhf!AM;M$i,_Uh=S2dH=%.0pIHrȠa{ tsnRN9k 4Ņav 7vwaUMlJE cy ?Fsv#2i*![،P^PwAx?gvI2hI8;>Z/Gh=p}Ƙsc4>GCu6C"\V5#I:#9&ݔۅsLO>`MnLabYQ̦6J-lV=-Vd/A͐Q/޽\|Vc+t=/ZuL{:k|#'bۏ$?#Bcӟg͎y8l8Xм"`- ×_~g&Ǫ`މhqt };y4&w[X 6,_BBW}WWGM@X66N;4kgYޕ6-6DKWx|!1B&ӭ[;X5q =~ga1䪬z6z.;Jl^}Z}CSpVp+1e}(5G#FTuv[-ĬW?a4O^Ofjkc?獏r封p+MWjP89+˹ ?GgXQsEZ9[-튱Kn30^?֕('3n!&C١ݤ7vmƁY\1+2 FI~ɛSCPH76Y1>xR"ٻ 19?X15YVsZzD;Cc~%C c(3p\ڒFɲa!3$t\(j$)w-;+սR1 7;F@Eڡmujvw|$g6j+k2&mZ!INpU;XÒZ}$3"QcČ1C4LU߃J+2Ep? ]l4YVZps:dUSFl7oXOTlV,4GDǨ-TGp"V\ wm~L 8a)&/+@)ŇVa|AȾ׶Ǘ>4r'X96>?$@nhpf#76E9-b`2GW۹l'>$k)jgRΟu7vd! ues&3kn,nj|`yE@›(ӎ,1䐏QƤٚ,9.2;3loq![mwc3~^ڷDp bn7n(F|IpK]Dzfgh~(ojG,4;A(Qa,ebjc3:Iլy#ȕ*+Ƿ5DKzVQG+eaڵ8wӉvW>6BtJnIq;I7k9m-D _ג0퉮-kߛ4 [7,jn󠣓rrƛƻ,^*Ӡl0N\ ̔gA@Ȑ kf3gm3933393g3393lHfh?s~#S*7⣀|(hpB|D4fɋuN@U> g|&Wxّ޾$hJ g Z/cV6fo1_"  IOis%UXvCE܋ qE%S.LYNmXy+fS]o<Ӄj8rLonC)emIדұ!c}$r;x  )EވvC1жMtJɌH~jPӻkiMGUSW\ imamIco֒n9>4h R6'47EV/̣GuQVX&%e|,!:4aG^~^|cK?D[aņ$.(r5{>|Yi0Q)"knA7Gx[:- Vֹ jj{/ yL1L!HH{lHҘF{y)S~EHx0#NUDpjBhϩ9ED0Œ0r@ $f yɺs7xI>{Y5}1JYlo<5wϲ|jmWLp`*l*A%3zĽVbLtzfxmNl7Y/2Q!oz(2)TJ!IJ[+[a8 <!` ݚCY\Ui&pG[Ί \bZ$49n`h,ښJ>u?Ȁ-cEgVT,K2 H4&w d7G QԘt<#d`F 2[](?S싈es5aKo [So_K-oKIۆBA^+qứAn Ǯ?q-A_M@bU'}DkG١(UK':!t Ic[x:OXoa _L!?U_Bbb[tL̹?O:v2jwMU[[}O֠GŦX_+Nks*UA+:_\?,gkZX2)qg]leKA CgT"D`gں>qrE|iAGRb!c@,3> b"sJ0 x? dv(d3U$N\ Jt+~њ&cRP/Ew6Q|v@]am+@..{.{p&2Fe[_dRmqJ sI!>4H=G*d~M9+2zvdxK CI~a&WvAڀn~s v5:\hx*pɖf!E`|H*)rlN@a %`:!5 J{7~z 6YUWNr?=KШ@-BaIl}JVf`G9sCd֊jn~g޻7MC j hGC7Xߌڕmֿ#$f PJ,}䛫gqghzr~PX2s%I jC1jI mKH[&VvȌ0|"ٌ(s"6[NpzMO\aG:\ ocڤiARpfg@??҄tk`wC}:>}ϟ`EE>ׯOo;{4eWMR6${Ϥ 7|''&-"]C@#0W`>vত8|IQ; "QǨ^Bmi>'(iaBOVMD :I9LK q':0J B_J?r-%&T3 hď(h܊X}PD:Ƙc0J|ғ aY+jp#m QH2FP2Ң7)"8lE$! 1:Æ؃q0BS" SeL_rFH k,_g ·vcH5n8ptM59#1"ͣzU~JtYKұxz!W_A%]$Zax>h@1fE<۽T8zK@L"|O|`;9,Gd2<x%+m ]X%fa ,C^ni,O(ҹ'a_Tu?g`VI9'Gަ(RҞa(DJqT-I$V^`$UUZݚ1ѻx}S,IW C1~~nlB}C nĞtO=zY )lcnπ+yAs e>&@~%K]U=Yn\AM`MXĆj7`4/۪wiAa2^Ai0J"O#]@=Pd;`}< dLj WL#9)W&PܗXd]?%D7|Q?)8vc?ͽeFQc#IdMjqnq-1BVh.Q[(E_ooɝBc E,ĔUӬE/br twb'zfНsVth>eKdrML zVHԛ)]y2#?G[aDMipu6e4Wh=wRf5o^#Ôx^a4sѐU(_TX*X";9?35y>3S:mA4j}JeG f]7\b΃A3ln\)_~],?3k"ޟXWj*N.bI6lKPpHT#{׭L,+%tL_ԔHgS#<>phP:x]l-DR, px`<_U`&pkk6?!g4yax*y oY b0/]hmGeB4BA@?>j?([>  / C9Ï Cf@5i+^ =' P[^鈴=w;77յEAH֫BwL lZ\'d2dl4|qe)Cѩ 2HJKgR=5;J!G8N\7}=pcaxņ ͣE+|&?F.U'?3'-Q@glnOA?a0n2 xV?Ǒc`_X ؀P DzMze6dM>|IT?178Xd(oziPa@[KJ 4 d%^¢YX !`_'HOq(t6} >+yXh6>%?? ܓ!o /|?FUG!b `P;ԫSp\~yZM&_CT ;=Řm4k<~W{0v8sL y3dt81c{+c/s1e<vK+Z]}o6B-pV`7)nh#yN%fΥ̅z66W9 U-{Q/vSqFL">wkLݵ#`sa%eWţRXzGr~/4ܶVkLԝuy1)!6oxw@1>@v^um)qWF~W[HOh-\mH7~]r J>s3k=owK?1_~@9-Df]q'h+x-?kf%"J7/r ?@w0 cv)@e"dNRuTX4K;K芛 dh |aАM.?x|^Hɿxƽ'^rqe=,6C$2*zɧ66{:Y:x[.%wy&z]>U(gMr_|} R`ЉOGr@8 S՛Ι{H3ӫas{/vL0r С0G5= 8FV aH^)3;hr5&M+:jj?JvEFeBZ D@!B=TE+Ɨy|ARI8Ou;2k$+%WcqWdm@ZLzbm\y* 9lx#ȤU)\>cqP c@WAA3$?u1\k:#3GȫQEuuj⪞G4F^?&VӤmPc*d>נTQxRpSEX%}19kC} 5u'?O+sW7#g0В4t ut hꪤ($w7ƻV5|gΚ]cME*Gt(hHvC8DSE&մ _5Qݢ4.D^GiOE>GΌ")ԜܵB>U6K\e&j͒I|*oه8iS_=S'9„L v3o\!Dӛ,ee}WݦZCT2IKDr8W┴i&@"2;osAS[Ո!Ҟ_ǪP'|ؖ0WVYǑð+6il = ]lTx{X/BgSMA} u Ҥ@pWLt'~ & ?;7==|Ʌj,vƩZ=8ZT,_∋OŠAf|ŀgۊڀv@zT}dzj~~C0QcA4XCA0΋Dt/OifW,W[GN #j'R[#5t)aM9# jK:3S ^T#jf;S]ԚLRvIqGxSpaO $D(nf@}ZPA,Ctv܍%=6BjbN"P:_9斋žA'>_2"Iv=L7z#b̭40!߲XBh+uS?(Z\6ZlD'EhLF MhDőj6L~)\B!t;`FddqI"SV~O'#3lKg-y%>iU9,xn |}HۼxEhaJ!%EFq$L>n R#}M ϙt߯i*ΐ( ٝlAs'R׌%\͛N?jgCA>d:+Ng7%&D)"_ !ެu:q S/CmC:;o0\uBeB59o@މk[ EvJޚ헄I/:BEh,j;qL85JXt|v)=ЕM q׿ p*/6&,)*$s۸hBML72a_&-*ٵCiڄmc1e)[5 !2LRMCOa !&ʳqwD6xUQ1kZYHthu5zO*cW[`U-IRҷYscå ߵ>ηrHc ]@A b<]P߅"mx"RҥQ2 u˧Zh4xĞ*?)/xGI"B Vi3-5@q^/P_e/rƅ=k߁K얛LԆD^za9PUilkJXՄ* =[ۯ]gӫA>Ob}ij4;S'qR b,B@e/[ $H13:{zغ B 5ua oX КElwLZGqۖA;BuXX+#iݦټ-d2!֤[ /=Ydهi%)3THj{O68:Dвetnd-+}m17+W'$3tݬxIfFC'lC?ylq7[ .Ϯ/BI2--|!&oMK~:Z<.q'g]p#;f'F ~ olц`ދ׫~uF<Q6(`Gmd6M4#"Zt/VXwP\pEdEvx>+PPC~};rݪF=ŭ-FU7u2ĦM-]rѓQ=5O%T 7oGʖP faR% y?MK~PM~wAqWE1ZI>N7֯ʵ܉*AߙB?Lr,bÿ2kY*g(#lvi6~{p#$xKQB^#ǣI%طҁ-{̫Ց+l2L7jsY3a[}}۽GӰ/8 .]uT%G}ĶmO3?ϱ=;cEύ}]jd L3>^tvK?_-;w5<™6QZvKH zq_s*jjF-C%*7y I!ѱ\x6C٨,N=M` %}EVy?e Vߙa' ?>8N`FϞ^78nV V X*-rE!Kܐz{_S]Gq,q:g29c[\Sl,-m#|>ƺQjȟnl>w$#C[m7y ^" ,8;%]zU5=RsС@x,j (ն{ۿJTQwҁDW S +gcl-i&dS<29zn zEm}#=VPF G :[c@ltt.&}J}9PǙ cJhJ(®՞oE;ZچHS? sn"z aXI_U!#8Zguk~A1ΖPF` ,|~ qBƚD%.~'u#c`GO i/J?Y0iף,µZ%{\2ț+SvdM?<]}Sڛ p~7= I(?eׯO 7JRbgF>R,Dl,-fJoGܿU#-63 档k% dv}m?X/wXFy}q;Y Q?7D#܈G]ÿ= 3j==U}$:})4)<&\:WJZC ` NUU‹p_pv LHks} juv~L*;̕i`dу!P7N밡_t=_2t09m Dz~hzw7oM>whu jb@ s0܀2SbN'O ®MC-e?ZBXp7W6ZҶŭ,* oW3ؘ;\xC o^H1^Ӳ?`I-j-]И?u3,lH+.UO~p?SݑqdiFw/cX ]8!Sm[!mgWKs?CfdWs5&(@ r cͻҊ%r&LLUpV|T_!ņz F}o?|3*=ftec F `?!U*}qTR 8[%~7 _M'l;/>6xyMo:KܡwH}u9}_fL+*M.BæEK)! c))KN˸.PmkΜx7lT陻?/X"/>3;;ә vw]ˠǰʳ#iw0):'[dMd\#beO䪯7r}^v֕܃ߝBBf-qDt~<[SՇ+kiVoze6 p{u",'Fnqu=[iWNމ0AJ#'g"TRK`ͬu-MM2kܚUJRba-^[=N騮GFוz1rӮX$:F>D|b垪˜?x$M37A[Ǘ ?S(Yy<GUދGf[!g+V])p!tNڰصWS u3cdz릧h84˔Rφ$B{'p֟-% @$lџyw8\)0A(\өj$9"k8w2-.?@h{xY.㧈\3sfp`qCr!Bt_et "z5c8d:H| s 72x~,.J$~Ы@$2McC_*XxKs8s/2_p#ԧ6KzjND@T4)y%J&FFͥ;SGP ؖ)De?0_@~__:#jY;XE z|ss(XB8#{Nv{PK~Xt{&Wi h;r^}ε t5}kϦ$rgg,q;z8 K;Ǜ+O , U3ӌ+k:ӔP[ U Ŭ`'G=>hvvκ~7~(lXxd_xنcκ9%z|GrNJQBΠ2Xe5GT-nbv%B]R빛s# ~v𾷄R1MϚENc`;-g1DC̱ۨ- 3sjEQ^]+rX?Esmc{=㎉-W Cڍ9U?GίGTs$fg]{ ֜dE?V0awB/8xkK9#&kWKA#%_;33zO~eyC˴m)X9`4#j2cV̞,eTOF<~BNu6Jorlr=3"t3um)C"mL)Mԗ"Ìw 怪<F/Mr{1f9Y9?H$D@zxq4>-8AԴvxl@_i\Z4?!1n)Ύ3if'̀Zg-u/z4 Ѕ|^fEw6:Y9-ts|sz\jMLW!Yp_N'١{Gi!& EwŶq}᧐}j~lā"&Ml2CP{en_p2~T^[m_JȤ逓"eS~yd3ʲz - vL\1I^#CO0}j9;CP=hz"ͯ$9 ^1SB,S˪Dcq~-z b`1)C+ݟo*T|>ӛz]msBJA7 vzb+tu&AZ0Fu"|6=vS0 2Zdc<,?lmad5lLوXqҘ^C)$]|Y~F}z sTḻsom]AGOKD'"I6 =oZ]Mr#BmS[\lG'6Y='QrDX^=e"b|;z۾v(R[tƼβp!&|Pyo>F^Ou: Xݮ0/-ǁt<8ڟӹ㷷xjGg!e!qmgG M0~GM+Iբat<4`(sQ4VuqE(nO}#ھ[Φ'C@Da697 {E PHf8~|{ FxN_!$I]͘t9)ruԬ BᝨHl Tu)=e'ng|$)TFBUi$+b:m7܁, m«فοdneil>!wnp~13)C=dՠL kN"샍x)3MռhF%j dF3="&d!G!lZ5J XX"CWzȃrPgf8)5bfeNವa uM1+#h9R>IM3Z2DRk3_[gr4w#Xo&`#*C[Oϸʆ\(Xkt~2ɶWlW~Juؗ6y"bܐ=z߫vv>]:hew)U"RZ_:Gge5[D;.LϏ2sGZu,sd`zyK[r5Ob]XmK/Ncx;Z\[$IZh{`pAqH 1~<%m5V/i vtx *BiH'9ϕ9HVy XUVdئ׈},?d8R7izH;{H㣔KL8;iI`?At$3poav@g9&ݙFֽ]'6#&&7u"B8;oF: !$4$S< ]yE {@E&]fbr{*x܋3^+qm$}j%qt]Yx% ֥ ޔW;W`[w[R g 2D]tw>'$0X?p/kF8XŎוð˵ (D~YH$;VvV^;%زn$#{f <ȨT;*?NGBg_#Olhq_oxtcڵ;>gZ|_:{qe%5V"ElE%zC^\).e-Yy8sF7W޺ H_A)ٳ4+GL!.':L TMYr!bn9;nl1_KwRIV8/9-bZv JV ]$O᜴[˻Kq8n\MdԻ裀@͇Harg ^HxQiBeU2h?UYx{W)Hx[F&aFyE}pn"ܗ}o3܂s ֡t^Xnn(`j_tNg}lLiD z:BPΉ0+ i7~?'p:k`&d>8ax+PM3`)R;4<8ύ~Fj}% l2 i$"&HT~SEHYBhrK\0XI(NٷukߟgpQ_HXsg aMV\bw&; jGYxuBf@_O3|ϳ>݉,rwޚR<*(fLҝ{J-xX.]WdՐ7vߊV5qJ^9^vCjEj].呕#+mm,jA J8w; xՂKQ۴:g5$}:+}l\Ykc5!Bf1I*Q*u%5㡔yۜڊyq{]I~ӧpE9 XLT縆&ҥnT.,3nU%y ; 9[ U{c'o Rl)ucD-B=o*]2K,ScŽ,xo&|Vc(v*7Iy2m;Ii;|݋fjt(7 sm~U?v̂E+T$0FTl:~?y1wp2m [;%%OKCYUXk|h",3/$^T'8'Gsf9YVډٓkz%UJmRۊl//2x?1##g^1NybYϊP"s ̤A|'Z`5FDT,"ixI.nmYڊr*$仱U7$e:w(Z|#܃@i=M_^x^MRKb\3bz3&lM,e\.XCƭRBH4NT ^ae=P l,ZgrG`d*n2 _N[{*pIySO_BAvV+0}]sr]4WpΌ(|/NAGM.cN IjѮm?Iē"aamq}Jtz,To3+LsDy Z2(n_Z)l֫>ѳ 3~/w1r&j*?Q͕~J"5 my.RLObfNVz.k}j|UJs67f#G!rjf_D$,JuE;'\;pa޴w*3'Gr1vʢMq7L t8nS U41ܰ[7 ^ְcf6y.g\Xz}q-Q"40YlE,'вSh:1ƶƂ] ""1YϑU_k}}}<Oؖk"MFyyNagJxwTCR V~!VLT?27Z/5ڽv}uY.%2:q$BD.n\xAghxi"y]z Uaj7Es!2UP6Jn12gF %mgew*_1=g)tAC7yW VBkj-+2/*HXh%wHc??і]>/>rc|oIi>~xF$bkq$BY?@p+L,MW)/LKU| ;6NvN8L-Uo>u=kT&s B7wS%5yT~:‚fY+\=<Eezs# qڏEmQ8UMqCz6j^ZG3k>?]WNPdoHn3V2a-۹ ݔT۵~;+nQHOWAȳt5X7TY:xn&fa=HP(g@u4t}Iܞp^ Q\HWmXZ ȵ݊&!uZ_SV\S*d l`^<=tpECslW%`W<2Hj mEUJV썵ʊMT[zI*,^같FW}w羝FE.yK~ژض[ڔ,\ K;is/#ɵ%Po[Y0_[T5N8&vŅp(w X?TI{5_JvWTkج j]g|àGKQIGgKCi,K_>ߖ~1Ve]eRmi܍wz(/ 3bWwy*l[fRzx؜{8qwxi]#sWS2f?13;Nz$y+?fFxr)\a^WtF&;Øз 0s v Zv){|AsV?l˜u>%mmMZ5Բ8[(0x)"E; ,co՟]o-[P+9L'/+z=SNM4kMht*/g0Vʘ|[*Q%$lY2)FZ:I#.6A;X>j{õ\#-kMoQSJ voǹ%L x2 gM(DF"v2x<^%m +Đz̧¶-iR!Mts,LiJ $ӧ],Xk[4uW<rmmDz.>^3u,@S&wZQH/ x^& tOuD})`m(O̿2zkzȐxMV `lBX XeÁ0:XXIЪQ7!A Wίٺ=쎀Iv{Th?\]fObvS >[n)Bwٷ[T-a֗ȝ,,1n}爏I禤`Zڹ?-M6u~wRe+X޾9h^cn'+C;rk4p@x{%hP3W~9ӈ'jnj?@ʱqon߇4pk`4` jyw7'FMՐ5#.2c~f-Y2C6D[N˦4ҠKt6;s'F1"ƸSX,j:irqˇPPgJ~MBf=$ťʈb]2iDP!V uΣFVV\h߭ba{Z3~ǑonψjADmZCB25p=ZJk>kZAa#(ʔm)23D0Fy/qL?bz R6v-p 1+TZfbDMu1*̵?ܝ%@ՉKسBxq2/S[=FPvbJEG%(,bG+aq#Ey2fn\9 ![ūC;׋ٵ_kN3;'欒y })xmz+اpF&MWڃrMg1;һ8\n!7^]4E5i!L8Ojbp~7VP '_gw%>-jxIT_쫋bs._Dr X&iڔ;NVe<XF-m1GzzGr2?lhp!&s m4~sh'COmZB="aͺ?F IU G$vnRl0GoǴMO?聯 fbNw6'`v!z28sHb&Qnr"ņ{:v@_;/io|L~< 2A8]+Nh[%܈Lar9Iyz iX鵟M2f'mg*R(VUD '&\o#P"k'ZFX7ەU?iB`G}ǁ[LFL Iz|Jv;eZE=j+^V;l > WPmn VWuPx9ε6>ořDm?Y$^㙮kkrx$ LTSiY]qC$CtY\a_ [&脯):/ߢ)]mWu:\>uI#]S̄ ZzumO٘ZJ,G`WiķraJ,ՓWb6;}?c]a˂2ANeŧ:9mS3P#R#$Gu2wEpj3k,sk~͊V<_f5c+Hݟd~@o=͎Nt$_pwI[͚9bW ZğpaZ[\Np߃!^ [D&ۅ+{NX'ec#aihjN{(T,V.:Eqڨ@4JM#dup-ih ^'j_GAB  J1!QVNw ծW26PYɪ`ID [Q1u#GtD}Tb,(rSXch{2Kׇ.z#](1f3o*)n(JjP"UҨ~wYb!@+HAXt}h3uͧe-#j֊9 Z4^AGAΘR5 I5.;;ۯ#s n+e`R =\$Zf?p'*.c6}V$/xBN(ůV0H)XV,*ҍ|ꈼ2owOalLB],\-9j< j1%dzezF!(vN#e޾D-`lDŜ7&f݊Ǽ*]JLlx ~u0ͼ2}ojݭW%E iK2*Gq> ; ܟoԹ.-qE]ܷ!TjC2@cW)=㹢T^J Z_`oqgİy@,7I^uT1Ue|lgꣀnȠz{7EZW@`JUf;b/&,B&:_\&w*;@A$P_']o(˓&mnpKOPX|Zwd# hF\oRI1R0 ?. 0%xe#f!ō4[Ǩ@'gFEIbU'ћ"*\URa8>uJ'Pfڣ\)@Aj [|-_z)v%|xA|i P _D(ҁm Exkm#NRvggaFc1F4dW{@ȘlfS:Xu!;-w&m-Z{^Ƥ1=D՟7Hf'&*J2&e[C}kll#3bg8OS߁c?qSQgj Tˠ^[Ӧ;]EXˤ&PGdMB `+6q'(HVS̙2P#˜HPFC.(0vg qz^-2^X &o;Vh?)J7gd(USxR*k1h.6˵: xO"u3!6rs0~V)R?LyU4d/;,;X;#s HZ4)(D)zi!i C9nO0Tqj\t.c66i\H=Iv_# ~;7J\Zާ7nϵTLHM yCJi3 hYlg)'s"#p 8!J@8U| ͙wlgUN4s7~]*+ƨj z\ʹ p0~f,:Q6RElD]/K>Q|ⷐ몕RL s.k7߷4t;E<ߧ&L8'/LqTg "sVpsNVRfkP123 4Π~_XBh^5m:K6`e)Sz 翕cI70 zzx#uۥ)Q og}\8N>L>ETq"j4 g/VҎ6}kƗo6f.7H?̨'\dnmp}a.DYar~hLu#%jNl ծL /.Ou'K\#F O`@Smّ@=5-ʁ¬_{= /E-ѨMsj;}PN3aA-8ƙҌdz`=w=C*g6[p{uJ%z-S>-Oi ջ&gadz!+=G :ƝK]E?k%6P91dF٣{kX.҄[r !}K6%SiQa׌V)nf]w|Z t srm޽6њff4qyc*]_89zpvYpcO՟J|d0NZJ}x&Gz'hHӏs .D0]\gv4r#Ǝ> 9UԦl)+)_g4/pluzJVE!R5ۇQa5l YwpSulF%zHJT:RGަؿ9kC끔oU/rJE 8cS!(f( 1Yw9h#慸j ۀ P1(tHM?gbw1$`ľ4w,<FJuig%9HXp8 .eg\~,';MؓX(X,$hZ\*E"k-i]E/\ Cgm]!:Gk" pe#Wx?!&Ni٘/ˤ`j=Q+N_|MzXҌzÖwo-'sͮ]?!BSjzc]՜XI(D+> cTn'3=74p+vneBԱmXHi&po_y&tqmیK+zfmBJ]#)e=v^_Rss֔L*MeipȠ81]rٱ|ܝ*㐪t!;2^3|zHaծڇvZpV{|qH\;L]vDsg q #\Ͱ);yf%6b.tg9F oK!)pCs1=l:64~?QeϷ\;C%t)D>[1Lt59=uZ!2M_&Nx,^ՆUW8+}sPs-EW440!$av:\nr󏜓H=TD, N…u"&]3Up_"BѼ/nT ^}OIcB[)tl=l}6Ũ=;`% y"zQ&),!JkZH8 *CXi[}*9&%ȵ ޭʬI$e9,A)MM5Rz$DʹY}j$it EToؠ%ϕ`8D/m\u_R"3hkmbG2oiojCSs>_]9gŵ[6v!s&+Z6 k;jU!+ۢ#Os" ^KUWxCfĔuI5"Gךnr2u+xv>5. A`)nlCdSu6:H(6 1uqؓ ?Uy%Z[tw;*ב/\UƐ^ݵG7Y鏿F5w꭛A'vkn\ZWwW1ł+ 39 b BF,jӬ}β&}]Yi֢}Ӱmq 8zYž~qTaֵ_|WT0GʤB*v1,(dISV#*u/!șJd%m4rҤkϊhJ`VVP1fMG%aߡ]F 0!P>6OL?o|JQE-Fá8?OCoiȠY(Jqa]▪2¡c"lU}dlri )c4۞zp34Dŗ$({,|Y`~[\51>mU,I`dg^VF|C{!]= þ+,40IZ3zVCM8ѫ[q)LM5LévT[acV1f*yaf&ؘ2'Q-<'>xh*әJ(3PuNr'L3'!ꢵ>NL+/4,v)i7)u K"aJX,`ɕW%~*SS"uH7?'@!z28.LR\*F\|[v!M 6O?B8J=lS2fR_lI@3], E'] <7䑮]C1SaD]n:H8ݶTPhд0sRtF(\ TjTӣAe#-tOB[-)UNӮ)]]qMlMh[LQ껜[<4LmŔ[;mi3CkλO͘ 4L[Zm3z9Nߞ$t*Qz+3vjO>)-jC^)x*&SdiT PG&X_6s_[n+Cw;YѣS(C' 0`5SJ/|~+u6V}#G2jwKt΋ͨ"ōr1㻎묑װw8ܧ85*SaWbzkEZv"*C~O+J+!T8hI} =#ċ[F(Am~#nc폽A"EX\ mXpsӉ ʩN|Dє^ڬ?Wɮɺ& R#ajӽx8t ^M`T;K?:0x-/@g7W#w񷄛 LrUc2rV-I8*]o߄B9_R[[I+`nF:%G;hnUV0U8ښJ.H c;ku}WdxDoC+7΅H5_HOx 4XUwMi#!Bz4;1&ѠpPG]ss_*6b/l$7>yypqӫ]T"U:G0+N][W;)֩B.}TɌźA_E?cXo|2<,H{,{tH'g ||CsTxYaYqf N;.HiIeNvsVz ViXD'frpNrI2zc2NH'}N"Uā( KNe{㟘,}̖4.|\%j:Sg|Wve.=Xנ;Q1.g&tefjz*JMN088KMhZRV{5-͵?\V"HF56/:ut.ycwxg~/0h^6"cID@^wVܘr]ɖř^c1RTp!8,q>6Y4 W){.-+ HmRBcC*}tܣ@k|arO\ԞCen/ef?LDdz4#~~Ēf79o*&$/1_b$l- \Q讫"ݡ1T~<9P K^t"fE@DG|;&_e[p,+wa!&ZϞ'ZDz[71m|Nvs~SCkn94쨔hW42~[9:W"+/0y?%w%>L v3h^fOTZէTF! ~uRAQz;EaHǮ!hl]z?ƶevYf cN_dEW{+*EEoTe&%,BXVmQuS}MYÃrsw>;opd[b0Dj!$&p 3sgG6,%R1kR;3$b:c<'N 9.u+; 3Zš7m-8% gL(pBbV ra}WA-h,ZNg`SߗRCk$%c&F;EU5 $#hb߷hMM{D M(rS}L(%?mBY͠$vq9{)e̙T}n'a9e=ZcdV<sPk/zc<7 FVO/96j'ʠ|TٗYC 6 =QL&߾ݱ̧/" t332^5p7WH)hh. $9oB= =h? ioL*oɚՃ4ڗܕP:4|J ;ȢJ.O܉$"'JfX3&-k\-f1ԩ0}yc2kBqo[9cBaq౪)>9H<`qQc_n'?&?ymSu΅Fݧyh۹^Qz"I~y[(ơ_¥;}e+H~lpkз]d.͞*d}˿KFm^)}; ݟIS"! {*ee-.}VT詖*nS7_4@=~69.:g0UA`߻)EJj*ڳ 6*\5)؅ȝ2kݿW)fuzA[^Z:H|Ək-C{_:rFZwud2&BNFU#OԠ1oEdai#!|jʾv|6>[g%}լ<$b|hz > x'WE \c A\j ;k}L+xJѹ>ߧMN9Q*NǸ텚: cD˙Qfɏ㑸X@QoVf||}B}]- ܎RO;\gtu7Fܳ 冠QLN[4)qךlQwn,by'P$#H&:L/噪n$z6va8n'DNEA[%WB5Yn]Fmc -qhkئO>Z)2U+y@{Z;j [e6V lKȖT7' kmL@irDV&譥,[Qcs2<: @2Y] XfLb#HFFUF30i+Qu\|>Ik8!:8N ؠӦҞ#,2S )W'x6jKFC)dg:w(Ղl=Am;D2wBeUˆA%4k#CjooJu8&(aq1ylsFh:u3=aW' [5&zndtc.lk'TXS>cl{cd2CseII 6-f7Z%/YJ3S5z>Lޑ.LJ\'B POՇ`r𓱛ub{V/#!>ű|"5d&Rj_mjuؿ3_7L_&N yk{uMbƟC?AT@u鄹[Y?}us līU۩5]Qhc5r]V) \|n x5@E<5i16A$TC=WCli[>o=UB2@<k@K!^kwz-hꃬ'N{8_u^B*eAW|uLvFɍ{<dGL o)hܚ]KwK0ſ JIw_LĪ=]WfiR&Sa 3M'ha7hsuA v`i,Ybj}k^he* w-޼Utz/Oު9.ARNHYAekGJOC712Wj; 8ȤN>%5hu4$J&"M bYDf\FwCMÍtqW|Ƙ:fdJ3w0\8jo(DV{gތ*9`Y8L}baAjB9Xv5ZY0XcR$v>|ҿ_@vrG]R_!${Iú[o i({2mL4C hd.;uRPu[;;Dᇁz6#=F94/D٩wie!;RP9b^u˷]TC*Ws}@=n-}̵49}mR2fDUsUcG.zi޶rKȅ>/E5lTh&Q9]!ٙNγF*ۮc.NQsyUD֘vh?`Qʢ(!foi!۠ w*8zeaP'&Ǝ,jeؓ\3SZhX=+VO7&NtC>o"\! |H"Ԣd,67*=#4 J9>/4|M2ty+9 %i4>Cl7H23?.T792Χ0/Xe~/nhٮOEܟO/}˭ȗ@xX@KAa)9-v\%5K)֭ɪ B\ | z( 65Ki6,a1O$ٌE`_}>hx!QF4.uĸ86] J\Br)H=\SbQUgk 9:E&;D/g# ؓ<-2un; s &}R)5h3/0+'Ni89Tn~?7rp4c/ k&`B./ӍRFu./*kq b[^gX~RSQ-9Ξa2q~ʢz#jJL<C~c}dv|;g* wo*'V~z?l"掯{F 1G{N_0P/K2P/Ψ8Zg%blDvv]N=|meN+)A(yJ)Qה$*!P Mj*تO(7?jb9mB\>M(.} Qh B?|%h%uǵ &?'Ghw/v^c/u"P6;a/1z{ƋԒJtj@t׸̜paBXYxao5;Ot~̘`sQ4VY v=uf̦"GuRWRCHїOյ@{A wy{huD*dvm ~G +mTrˌk}[0K7ס73C8[%8Y!XXHvn+2>tG.̶Vtl:6+fc ywf64VDIFd?}uvɹZZlbgR4LɑjVi6.\6 q4shTj6쓟<Fk;bd$hܣ`#De(f{R̿%⃉ʞqI (,͠iH;k"ׇ eR# mgbpw29p턿'D6ܲ7;p[ ~#k` L$2S릝ez8ǩr)*['g`Mb/Ծ&ZN&q َ W;t˧jz$ v fE%sU ~H3]bf//m!CH7<٠N\$*i)>uFvUW낈b)=Ğ*k2dcUCLQ'F߽KH̬"EXX=+oM8U&XKR|-\l3wZXVIwa|B;M7`v(S`r=,uf$ь/6(׍%~lmau( V{3FLDSU-v93cgpH>L,">[3L=ˡ>L=!)T@I[80Dm<=w̽tϬ-BJRv7XgHxS3w.oٙm3s̟/j}ɃuzdͶq"Ly- C$͆=)K+R⧯]#IkfʭI?F$8?8e>nf{eGZ.a5:2QFCޮhd.Bf -hq<. u*'GftsOAy%\BePVph弛e4ѻĘ;ZOtͻopL3'ƝإTeE7?QqzŪ#FOu/ "(l_ٕϻjܼ%:|; kﺀթZzFU9 -~j\'R1V@ﵖܙu?wF9?šK ȮAW|>7Bv қМ:Vƶ]*^_cUt8 tظ*Үʧ {i՗peY'y8fΩ"{o`Ug{ƔV89^A ^v2 n;"{Źg-Nhnm"{Fh49Q=:̰E6yR{b` #ip`#OG4NԏkUe'  吏wJ.ۈ"OP,3[?5mlUcF-%rdŤq|6`iJm/!Q:sR}(?\M@52,yp϶ ja.=VՙwE~G߾:2K"XsGփ, #1W ֌,,1V^:-@ci'7֪M5l|XX$AUP GXr QZSL2 x;}5cP48yYL< aoQ<:BΦ$5n)ױ1#6nx \Sd(4 I7gIrsG.PLx;'c>S3KYK[tY8|Y2t1g^B 9GF]H]g [gRJE|-ϝmpu9dna${{i7Vaد =y`9^ZVNse]>4tW1 GL13 ds,N > ވ Ԝ.ţDy/ZFGã']S є%+AܸgοbhLA@5H=,:ei+ם*'!dY#UYaf>o&kg'Pd[ң/%}&e2sOj] wYRuebÒҥ1l嶐G  g PX˼ɔu[q(@-xיO#DuR϶5 fŬ6Ne5]M+V $.{w&fVd-*RT/*>|L ] =<ۿ*[ $cgމ|ğl~&o񨲷$rw΂)9oM5Yb6+=C7YeuB&ޥw !m-tr0Ub?CQ-#Ori[ha@"z}IET?gKϋ9rv*)\=}:qH{rTpPt3ernRr&ݰYh{9 ?ӑ V$Qb5hJ%g *d0_/QFvƉ1[;rDH1ScnǓi2v!$h9-K.90Dc$ ) qu t [56ѐe`-vҜǣAp=]U6Fy}0l=9RR=Pӷ7n׹ԟ3ٷ5f]5"~_^Sc'NhIx x]!~[Z~֋8rFdMK JgL.}}ȝpZǒ1c^qF*NYl (t4v~LJ-KS:4Q wۮwB8Rn>=#~9 18V Fɣǹ9 ?*YNcgq[dw=>i;V o?cuKG456wC)b3LL]9언t֎)\)jnSf"8٠ͺ:cDzsF[d=wՑ_+ ]-3͐g#ɻa*|e12C{ķX?5KKZs9] $Κ{<Ə%sU3:, m~](d8o4| e_ZmwYm8|H/RP:Lbll2@8q2ᣉIRΈ+H'"[=daV_US$ItɫjAIdwk呂E>pihNIjW 9?q-cS{qc;c虜#Rav˗֋ԣoܵk1ㇿ欗}\}_]t3S) 0 BϚݯgA CwTUyk>5Au:D֒;e?ku!~9NFcC7r =`nhDK/BuH阙s>hu.'DOCRm߫O:+Zsɨ.NjJyW1YZ&'b_%$y~)\A9+/5uY%Zƣ"3yBy̓SE{\ qzU32JV.I63ǂHCjgK]ÿV23M :C_Ԯ@sUR'OzpYƜR(v8P|%q#p0i~$},de]}(3?N]fE "5TiC;J/~۔5mRl850QP d ]O iw,@cʑ:#?d NهD#f3$?Gak }gUHi+A 1NsFalG "zRyluXrſnj*IBRku7 IӢ:9me a%zat;]Q~ .Y? f]JY!u=-O|-: Y>0lVN8€FbgGZ7uvB1#Zc (?md|#Ṉe;n~9Ӿ6*t)HR}!bYNt#oD"(O,!%2lR$å叼0ꁥ]s֖0鮒Arѧ$jm< 9C Fw6OB!2Aw=OOr./6zF"#*@X4u†5ruU%K[.&Rt1l%jɓ0ISKxp2n?-\jw0;W[FzY'|'{A;bx*qa z5v 3ݮg9tyǜ񼽅mF{od<|}~҅r`|^wfPPg{|fJ~a-[vd@\16x}p|}s^<5v"<⶙nn`l"xIظ;=c=mJ!wtge-?DqJs픸 )KPheЊ' T9xvoٶ[y÷1y#+sXSmw\[IM'$t69a5lc>w}v8 '긞}>.Gx3|cn%z/=R wOa ]f{/D=<I(t2mXݿ\ٗ ne>hZ&pQYnմcꁚR[mjYǫImN>N~TrzN>'f_Tz fIԵ 4tmM9lLڌB𫩋O''ɜٔD\Lmi( c̝x_a]9AAm:}k gꢏ־[Z)kzCRElr/XTt"6T$!{$ :@쬺wAqUT~ui?ު,g~ qG㽚%@:9$xmr~x/q^eO>\D~oX]Ss]\%o#h1,a<]8z_Ϟ E7Mޖ܇u_>o}ι(Dckn* EN~wgp'ɟ}>(lt+*h-qoe<{Мu{ =j5)AK_HD21vOkN+ߞmsKsѬ{ԫú ugiآI X 2,K%bCšWŒ(1p&&QزA0h.:]K?,ȰV5ݭJ6!et c4&ʘ_cjRs*/d}'D(9x 0M߱b$+/Y+ ЮY0z{T!s̽x(mk;ߙ׍.#;/~e{ZGAw>ZdܠY38d3?;|4:ˇ Qo6Pa{I+cr.ub-egkh'Y#|ݑ_9ni45HfqknGJwCïMMnKɰ zhQ5YYho+S( #.PMN6kV0k57=\=pވD^*]=IҫNQ:ZzGiKԕɉ"*f׵6?=a(FauEZw-I$c35u4,=Cmo#P~x2nohFWs[CnoZߟ 1NdwMb":&I7{= Cduy}딼^ߴ=4M$۽bm%9;F;{,:F}ͽ)lwyicx&AKXM9ܻ)yu>-k`/=ݧv < <͓dXLk4V7Ȥ'IԿUJ+\m۸ œF"RZsd+B]MgӉ"tq#^y#f]hm¿bJ_@b~M^x_:oJ /}ƈ,}O[|+ϸUz]F0v\':̎\63hVۘ^ V?Y4Sw^ņ팾l_۝o/O\Lo섢ߞ9o''J^VWF< ]_{/bcnӖߏ_ R餞Ϳ,+w+g;%^Ǿ#¿oϸ/ ,8UCxn9矧;TΎ?Uz s 7ktV;mJ1X>?W;#J"Y+wg-4+2+s )t%k Dv}Q2 C*ܛF4Ӫy9b#?=L)bx4A[$vkS ?MI{Ɏ.*a]=ѽ۟þj}!Ȕ:[#Þ{48 S 谼mK0jeu]$yaTf/d\" ȬFFD kV i+`|}9.Zʽ)GpO7/y߸ lnm+aLj[Kt_S'WV_*-aar5W @$mʵ=i{[s9V{ݵ3qC+E842G4yLks?{ZjB~GN>Ti]lXEمwӲn:~K\4u5Ʀ N5͞C©$7saU6Z`'ፇ"vi=19s-'M`ڄSsX zPzo@_crq@]˰YoL}j`YPWmM>{AŇ659)}ˍ^GwB:-w]G,c#‚{NIlTOй1\svPF.r"r4Bez;7-UX/Rkƍ[- y^Ir|w*jeM'k )N.8w $σŷ~9.JKfwq:wW(+3;QZYk3zGnIUu4[W }isXklo*u0˪.s.a,~z0%+N>4Nk[qS6=&$Qu[o$ʖ1ܭ1]H;aO{==Ž|E%e8 J,9}Й)=-Oυuj/Ci#d^kib^3Ah^)'FûMX m6OsՖ}/o{#P& e4@jE?8Ց/ZVj"{S>DKrrk:جrF0]u@v8.9jos[b1/c8BwxFqZSa ЫP~6h$$\10K902x`NZrꕩum RUw{ȶ1${FIC 7z?߭(̟(fN9IQ 4K+g4O_nùfdIҭق}=v(cSd} KnvI*=F|4u~+e0: -!M+{ݞ{^"~\*X Ntb HOqD%Uo>HQGq&wo`+qw򵲢^^_ͺE\Pd찲5Yavmvo,R_oYq ^W"~t]/I_7-N&ts8}*eyMJc!C\bG#yu>&йG5y3Y,3>V(= w5c>J`f{7{j =@Uqhg EBO=he;z(5w S2&ɜ ?Bk8|sbom]0KzVL>2H0r4.z[a.7iT )TQcl{K"z8$p/I  qc?f@(Q,Mlm'%d5"W.b!r"+ }p>&P[ xU*JnDr1C"Z鯶p<4k +LD7jMD #y! O 1QȕF+xܥ<~Uo,u}*.t)oyevex|bKi떐GJ.(^z,ˣ^/xF^a{2?I![lQM x,IRĭLD1RDAa&Ӝͥ+Յʄ_p,R*m=v>FRUDt/w_85|nO] ܥ`kz'i3W\81 @A6mZ͙lI9/ꣶ#LSn'²T'i'q$b ՋxQ3b]>&!< ?StHhȹߞB;oP]d3cpi 83J<{SȑbhԬ7'ɯ68t((-e?>?s#ŬG1%gyCݒ]4hE s$ri#hk}^˅Wa_BWlԔWZBOxE~/|2p3pӝ,2@1Ca/V z֫ =R#.MzRE2FyIѲId-$5 cAp]Ӽ_BL4<0?^ i#neAX)$أIOI9)nusFXX0G {U/OX# Zlb׾hLxh<|eR9kҒcטLIyqb2r*'C͢"}I|*"Sa/ [OS~dMU;而x?ļ 6I I ۃPq z`mQsfT0LB.+( xZ" lk" `}/#g+)g&~ xHYe%kB=R\"?V|ݽY"NœV >MAp$)&e O+p`[\ _C^hEŸkTYcO0@n4qxvTxw7yj=#fsZM Yx\.9-҇z9a‚bԮ0Siҵ'T5t9.FMP8y6P`A[ɝM*K=쵯VsY;R)$BdM?%Iɦܿ;޷w w)(^QB w@֐IzwO!u_Na/gUm gi5-_{/ݼUn-GW>r)Xk 0i֜ pҩն3S٨|euا$/WQjgKO*VeƪKԍi`SXO!m zyLL>xo De>ȇmwUpDTHicH`x1&S-_~Κ9FVXZl%:]p4MǪng |4 $I_LjGz0z=16}'5m>r+Gv*p ܞ;KN|t%m[`O@IڨE#0Z0 y1WsE_l` {oi(^BƃuAʥKڧ~8HvYC\ܟ»x$ӞaT]!1;r ) jF ]'S ӢNDʆ۬? ;N8, m$?ac`11Eh -<`L}9^Ze&g'Չi( D2ؚ0tr|6)!.nf_r&s#- n !Gߟ ?ԱZN.֭DLF8iucHۓgh5Ǹj9:jٲ#pGKfE$}մpеԚz!."XCͥVu}u0C 5Ē\0ch \B7,+m[S42ug"Z4oN3[,3 ă߭)拃j 5"EƟ]_=7 mn8ve ʜ(S*}XrU>0R3!bxIWŒ`E~W㸁٪$.{:t(|'̲{c?o̙0`E(O FeX/Gp5E`ௐMM-ϯVvҴ(;fVQo Ir@D %.~ ysg9O9Δ`Htc2LJp2JkG\OdYojX)ݍ{Wm7w 6$G:S۰=jdj J@P( Rx-dlx'Q k`T&YIq鷙aH/3wj4!+l;Oqfׯyd0i<^8fZ~o"Xxܿxr`;#<ڷ lIɧ5E :,X͸>`8gӺ4[,[ 'bڄjeL&^y]:U5hi0~o"brMrϔje M*2{5#dq_t'?ZnQ~ܯK;eUmJ,wj.j/Őɲs*i9ѣcNlz[ó6H} &,jm%޵8)~)UXY'&d=0q۲k녱tg6@e:!-}[t.EU=ۼ4az4U8BFm< B)!1hڣuV-h=+c;XG5fZ`lhlv$i-,M%IpR[ M(*iK:ACo'.Dhd6 &@ҪM0[d%ܣt4|IXo vu9pWb@qo 36~ x`]M@>i?v<Jx@? R6m!hʎ:2&2h%)k2y_ihXryjO}-1+J͓v_>PUk(aѸddTi_o<\u,%ۼBmI,VbvuTpaٕvO1 ,@aKw#"&>R d}z@hC|IL /FӍO;r&lF4zLKgiȢK}%ԋDmk uF𠄿Xw)=$5,Q{N@ǡ.u>0QR}ȊQu}w%keDI^̔$iUZ#;AD@q>T8 i0ȇЏN#`% n)Nu-uv<2u}]ؿ|BE; ^G>~6)n,D_MYpŵĨjY5JׇQ+)F\b)ϘmZGxtS]'2 ef`{B m=p`&5!FFKLvO/ӊJuͩcAn!9] ]@u}W)Mw EeuمE E{o$ }:ECM}I &{p#\wܣ& ,,Tt$&<+4Y>w'P;v/\7;ddoT5Cq.mhU: p5쀕y HTiTƫ?߮%{p s֒YI }lF~m倅(UpZb\2~<|[/[Wt}VMeԿ3$!QavA@ pWe@bn38%NϪCTwR#},XF"ۭܦI\‡]D_QNF2Mݟ$ݵ_q45~"?A.&c~aH'M}@kCS{f*(9`~IJ2<{_,ȉ }^5LQg':H3{kS X!%0Q<lz- m:GBܦ3 !3Tq$qh_WeUo?xswړxsƏTo~'UPc6 ඵ_E`EMOjJPߗjC0>3_ "‹$dw0` 62xzkי8O8Pݴ9!_ /%o%>[xX & +Not \_Ə0)7@҂iSp1`1 O#O{ҝgͨde6jDzh*Ԉ,MO]QდCnR7*16 `&S -nLF;g? "?8̘ܧǴKXUn\<-"=}mթE!>lYR)#emZSOŖ9YSrH*=-,MR?0qy~VM F狳weʰƞX,&C1A?̐cΊw/2(!؃AP(C8ե؈ aʒ2$" 4)*^l.־==j+ ؚ«H}ލUR/e'ܫO*B(aq[-懞%,MmC1P`^-Z=KFWmVNqGA{JH#<ӀZHYTfz"b*R񄻎#q̥]|Z6}k;&u&k\}"ʍVMkt`L #rm߶u vB5=.iF'c| 례C* ,3Nj?6zN?&I(@40BV&lΒq(%q]{T=Ԉpˑ?z҃M ][}POC`, C*1\Q6},0))pT| ^Ɨ@7 e4gn+DϦդ)/IIzLAPYGQbwra3"RJE#L1Ssj҄45A+Ƃͩ xmpx+7 lGZ7?Kt>v8UOBI)9KDd4I}f9XDAyqK/x"M~b(Ԗ<藯&-BYA` qw)_Y%ƺhP{EMX8=%!flX#z#Ŵ?Dk`О3оh=mQݔ |z(ئ7٘$her1Z"`-y-03! ,T㵔cV%)hKOA;$;a5|;/Գ!j&d56E/!DQa?Jf}>3%sYH.H`woZʘjWRU<0݇Q㞃Ϗ+V"?E<יf*g+-w0a#~&L $_nH!$ۤ^|⧨b9<<$ߞGuE F*"M^.Zp$_Gr8TЎo#/R/w'h&u:WW}G&p^.^z>z.Uo,mLEmω@Γ*^HDb7(Ev+"%õh8Xs\]*;_SX 4/յ!4d H*o"ᒍT(r\CY7ۯDR!+W٥!~Б6RMi|su5Rpkxh1[e<1LO3[ M~**vL/4@d ?3mOC o47$xҀI3_;VPpSpG+] wYCCkvErpqUG;7wiꥲ 6C=wv61%a@E ?'t> Ϧfx%QǃvCKcfͶm曶Ui۶mҶmۮTmۮD{5:sϽ玑G1"zzDe /g_^(FԵbZНb _ ^?['Kb13|mm&$#@cV#_N]J^V?v39̄~p[LECȲ{ПVp47w(Ǖ*AKQݛlB|e .uEb칋ŒCi!WC6\(qK8J $$(i{RAXLC~,Y4f5qI,ݤߖwY[,PWGE Tj8lJhEg3F1,ew*_kzBy t]Ιt8zLfM64;:XPY6=zspKrqۿEr_49xJCO+4N< }Z!.mbgy~巛/e.?EKFIGʀWqb;',apvĊB +:<Б `>AR*9jw/|r01}y`fK' QJȿ֌]Ro]?HTy1nuXaisK,4-g$SH] y&%χ.볿r\nF8ۮJK=l5 $T|B݇J`ՋZpFW jg{8sؚ Pb(cek d137$ӝEn臸x%˅`4p0Ĕ'@c4|kD5֓"B$mV۔66,;j*QÂ{=׷EFrFTTY5V`Lcy"&n?PGp 2ӫ 9|V 0c9OҲp!`!"VmO+D*_W 9;Ia3AÆCw5"'M?i7-"4_kyǎ*-պaA|F'2nVqKYģ/0 a yPmM'N R XWvB(½hrXUJǂp fg|ja//EMxlG@DTfjWUșc`,,ڌaj,;X:Ƞ$+h-DP^b繙 GG^닢{P+ Ġ\ԗ >XyQxs^ 0h/~ۚ\b1!=B_>ot+% qu8(Ehjܶx 6B.,nSUtEz^vu9Cȼ-uE5Bo"nFjkk^|}$鉶q" L.T=%uOYb W*A5oӮCΐ tλ{s˃ Љcح^٭\xѿb|VnK|K|$rPK~(`wK^&Y 7wYyt XImxXoM ?qAG G0)/ȌLuZ 6P2/*:D!sYGyPyX&fp FmUW2fl4I8Zp-<3nA?ԃeWU5mR}8^Ꞑ :֤ OހdqiY?㜻0 ]m<{BTD 9G^qHDn19*֪jAS=ὲRPols|G*ߪ蒿J ?: P!L!2 ATUƖK4/Zzp p_jnW=ԭh3"Wb?٠ްjQ۠t.S/P5Dbsk iTN 'ez@/f)00 4TOeºgPYJńTĚ|&:y[,*=ftN  B!4)8|,|Ҽl?HeUwLD3>'EB4FQ y?o}"z|]uU8_]*rJTDvdj`BAssqi>?[[[}Dh5bt low[3g=Q7a.z9򣫝ˇ ]h> [YRh[`u%Gfܴ(cA)$/=<w{JݶkF`,ܲWW~|~|alsjg9$< T?rXZ:(zDj| 4qn|H!꜒KYVd[|n,KD^\f$xnI 䘊+ZO%<جK`] ~LuMJpʓxvQbi'axZQ7|{¹UmHlP=u /L8rXM- -%AJv5m;rw)b\EW@cA ͦ}X+:WJISN5q&sW#l Q"3{8bPt V!v.0w)WA9`M}V,AVOQE)o(h>dgZ#HXVmgd%xLt/zh-qB3xf1_e7;M"ح@_?h݀'\Ce2 ,Ґ,@?[;YCQU_&ԷM1)\}wǻߺp @3Qz eAy}i|mHLvYoc/+gWQ~4cgՄBNkIe(tٚƳK/Ut"]Y*e^M/j8~-( -gL)فQFlD[z3&硎80[nf݊#jM KQ#2ςoJڟץ]mґ9D.nh$X*\U^l王$MVcD!'ᘲS`IkD˛ĦNW4VR>lEHov#q?6m { HE1/W6'2@iQ c@8v+ΛF*"/qaZ8Ud0ZNC^5{VXȊǂ>Ϋ7o`ݓGTՔ1=N&Ux{=㼊=7&YbQH9kڒSEa5님ex'?!FFL:orRrTO,J 1y$v20u!"hxᘻq|q3s8í8p7"-L Q,eXn Dg˴Dܤ!A9):I9C~3¨)>0._O2{Oڭš BK8q`93~"} L~ڽ[X3Z,&Z%XcgHȚh3IbJint~2+kOg7:؋Tf<z p!G.𭾐0#D᪸%<,-ĒǔIA፟\+ [YšjkCHR;A36j@ $-(gQxB`2چDWTc88L s@ {[pxǢd? 8'#D'~/KT;֨ľhQ{νGx4fRy+K2~L (~w^F_]IB{4ⷨ(XuB̢:_ JptXnc[5V/w&vY$gQ,4SڑMuEF#E܎Y臕ĂˀQ{yii"y5g6l06HȣFQ7DkW ӭt*_QpSӠfKVj,Mt&"9rx"%BN{; O粓#9rKK%}‡0߈,\ݿo^_sugz|s?z}M#{70cMj6vl:z`a>VЕs}_׀E{ɸZ܆Q}]uԚ$ B2䐦f={f}^tҬe;j~a=ܷJ[E\(K~([ ;N<g?,GYYL[F+US Du3b9؀8|NiP߮{C^Kxp栙vS.iÒ gI}YOIU}=7Zeah9P3Bt¯m'ā|#}}Sa# *z}5 aK9{v5 Ii; IJ?h$ph{N+36//q_e jYFZP?.Dv/y63JHS/JIvc*vwQ:;[ɷ`~V8lfA2޹ĭPP(>?39+t1[EsbJ\}'Hv:Iy/M$GzV qw3 _:2d,:(!{0qi0 R,4'a*@*wS'W[Kʕuy a圆FuOk9Ʃ4]>>ev+8dxvAc͘H[*Jo`Տ^)]{hHdg ␥FWMRN\s8%˶2;py@mQZtٸkXDN`NܚQ/:QMG0~5DΧBP4`h@-;-J8FHИ{[;PmҽvmVQf]S㟯דE5ʉ9 dGn D\ͻ'Kș7]IuiɃ+%{mlϖOPMJu]q۝7&i=TV)NSy5V>d|nza%ya̤CZ"w:&0A'"SDK O_Uޫg6P"OC`7קGz`M\7lFWJ2uElm:u)?8(Nޞ9Pϫ rj)U;& ܞ 37@ojȝw>q/,-HksUh{2< /]م jV%(+Ǎ,dB^ga|c+TL[Fj"՛ee+3M3M X,0_A>LN? ePb\9}5C7 5zD_i'aX_i2Q:$9[4'-q2pK+iKpv>bIs;ȺI")"a s" rtppQNicɛ`*n u4(ʀk0ERy _4c$(|~l={&(F#WZ(;gqډ|7=jR0u>GK3\ԹCO+(lY\bn7\-X6ÃMCDtB"mBp<ꞿq!~TPKk9w-Z4eA7JT29'sf8:hCf_¨j`v=sSoFwgޠ_p!U 6v}ޟ?ӣϦ2@?pIADTq*"OdG[!~lgX}]"Bx` %|!$ PWKBsh}/0xŴ-_KR%EPWeX3.Yҟ7SzȓDqy}-اz?Bb\e"א {.lZp .@QK,intBԩ={s6}֗D-M_ XTN{ y[sKrLPЏ [d9e~瞕z{⦣"p  {7xU"~x*̔ o"kNSYo;\ZȨ@H 8 0OJ*웫Y]}wk }~vEGMK@RqæOKةbˑu{[ `o'{Py[ǫMbky'"o|MMxEE;5ā6f"NI8m ۇBHa7 FF|"#wY#? #%b PK 4g {Q&]fAJbG#}[pJmrx7 AyӮҮB ޿jƷ k$W `r5XxՒ9Zh %Le7rBQЏ'hz+sv,JkeQEQa=ۜJL}0GA!Cг:xsyHQ58bw;~5ٔ~IbנΡtC /߃G'pH64ҿ{ۗOVb_o-+2 qI<>^T #{F,AT]$ wlBjȀ2j S3S{n=6 i>-fc<#*wHcVԑ]}[ - Mjn'9G"?ur.Y^.ŤhN* Cטt@XQ ֫5e $N öRX;Kkl X ͉1_㙳[;E'\Mxq;w5|gSR8rW@Ka]OЕihc#,m{aSmS[_?>OZD{WUeH{[f$H8h+q(QͿ/`EKMKKgvλKt^ 5ٓQ{Urڸ_s|ؖ6O$bK-+*o<#u-WiIԳBW1+o{ h8{}ye0U`1#b1j٨ǃJjvEQ-udžO6+{MCs7y5D;Gy'34Gd#{aMK";g>S-V@@@@@| ȦnR%6yI.!,]7&z+,) "X$(~.'ܜXg!KD6U/sC V$2 gʼMb3nEtݑ|^W&.|($Z86:㷗AHȁ4L+$t|nO*2+U[E7פdP'kC>j%@̓y9 5@1=WnuK^HĔ**J5| T`7}a0шJk0k(H0V(?ְ.k(%kCfq~[x)e$5[$[ʢeu ۈKzd x̧ NeϧHT*2pr7w3|gAyA!A%+%6U''nRpB%cEU̫ Ĉ6m],R}0Em¾ֳma̵{ [_z7;8LB7m#e W{5HlPݼլ6Wu;9sKH4He}{8*ľXk;p[zkCXD:!ClTtDBjJD`&-T#hbniGQH3 V`{xYaoZ>ZDTkP{a4urP\5eVXdΎ2w?p+&+X^|趣yi_߷ !xݲE;1F {.ԂJS@4_isd`~S3IB*%z醋qGi cz,)}4ts.~۫'u _J YI *΅1E;vWծ}#/pJeE"a1!+SPro$#md~3&+R(IɕySUMhޱ7;3oN[7±cO0{b IRL;܌~0SdȤ.e^iUzyA_ sFޢ ialM&*>q3`*>n. *KsÃnfʚY`rjOemcfn|WZ0LOBT`i=fO[( K@-~U>BUle=iJ1NȹbM\Y+)=p tV:"j \&q-E:ކPsLܪۑA4 D*tʆBU~P@F}sDG|S =Irр'ʧ3)TGDު^b6Σ`7֙],(rHʧwr97Xn4=)" r!?@/X_ו6Y /AE95- |:.Δ9]}/"C*4ڼ=*cj #z>[u AeM*?S#4ϲF,c 2( OSYir|daKgY, ˵N.8}]C#N'P~>g-tFاyq@i_5k+of/x"4l62:,l6 z7L> %uz xK lWХKMI Rx-C e۞|Ґi-PmֆP 뻫.pF]eKDɉKf i~ 07 qJkR`lQgA9<ߎސ1 &n(i*wH8 I2ˮ9 #c$b*|N>i@M;j֡RM:Zi$X]()i^r?Ց9I3:Y=^T4#b9ԭ=u[AWJe%VbQ§%TF"~0h}U+䑔h]؞Tb)C{6t୎ ԽVR4\$fª$[~Scp%΁SyݩMd9\PВ^}$0j06hSPKzsi`N;ߨXհF%~Ak=+Ab}lQn34~a-UQDίLSsSEśo8umR@8,x覿&tI8Êp_̈́>:X0$։x;sY8% ݈]y20 tK^IU8xI|s6=" 8رr} 1d(e\Ղt;kg1B춮#C*mN !o{a.ԊtŨa㚢]4d_r6jYG)#~%C v=tBvST,pTF.Tr7K4ERIju|( TR0yPN Φy݉o[>]e,=jnCJЌ`+`UZVbs7P <K:ꆩg2dnj#3X ɖ5N*aשGGʊnJ2댠U ؒcS HCzUH¯f.%UES.~k⃵٭D>RItQ}]&yډ%@BX䔪/@P));)yutT<' ٘pM Ylm-#K%}h+l1"OTs!vgot742֬5hڃϼ#kK5V$i[ze 2-My}e//m|s`O/*temo&yߠs"k7O^m;rKyW-hMhHVI:#I;ƅ0툏7ԏ]#6* Jh۞~Eؗ\_RQUIoFqM剸-q,$m0 >L沨ϬtފfsNj5NMS. U,*xcT; p'>ޖ\YYŠȞ*|uƍzʧl,\l=ac|p,Y lOL1,טK< d%3 !YH/rqy&],p-L1 ;:!N6ptr}8WdsVF`{\yY7 !UsyEZwR+>>Kp2d:Pڝ@(bNL!(VD'o%cZvb-ӫCf+ 73R)A(xd22Ԙzf-MȰC4TWwӻXD`XH!RF/WKz&c'%Ώ0Ed9$:ꢜp0z8]!//F;R)t3 f2My䏡?~-!.7lt^De-I*mt0bWH2HRCDX+T')kasBEI4鸀3zl꜖M6;Emz)nI$!!:VDF:'LttC6䍃U.ИM@r'8+ I4l l2Hwv͍~JP|M6n&֛twR˰aXa.A1K4=N#ZF\^R&$rAu'b@6T28i1< \uQR𴌬ȴg&Ob86 33+9[)M1~bT:'tw1|sy(u!lj{"Ӑ/l:?$ڳ InxƟɣMtuplqa3#^:,OM5R<#*w`v=xF=x,ȗaA !E4 lj&8-D;s(kO1lPnR⁨>*yxS!PU'#NF決cnjM~w eT F9S0K'w`ΝNC=]HA.ƍx*:1aglG\bZ*Z-(&j "6ec/UG=4х6e)( L%nl&%fG{@v{`i]aαEƭmO Nm?NfwMf;>CB*1OlcŃd 轕 pl>bdGׅYOtmeYnpG8g U%m[ ,-v#)Ͳs[&8Z?U y0{?0sX*R7WZrֈAge8:o{`Poq}>tf @S3Vg!煸aiJ-:!߸vOUǵKjY K(sf ~j1`?]wHE]b(K0tYٖ6rT{&3-EĖcNcS dҾ[ $k輻Sph g=wPq^C^$[Kp=lG]P$ w Ic [oV`dbޤu_zN _k,v:Ned^^-e3'ƧIEn3cE%WD]Ar|f`nc7bO.ٍHN{ g%fQ}hlA<=%2(͡!`K(.**MV$DNDY ;AWO-_%J?@<TUc~Z;14Dx;ypѡϻSG$dT΂:L U,E1'sPBE)9%&cSPJ ((ic[< \MդNzz$?vXT3{%œ%-xT'Q%'}hcC,nߪs7- zv:/8Jņ:Zٔuv;L#sZ$q{f$m>^ƵOqPԨ B_ҳQSŪ&fpqG]2sU ꁽ'b>b߆řI 1ՊdIYAgq~@&R}9N >n_;n~ `Ij;-RCzvY2%? ?7MEP Wm(V3Tgaj\Ѧ#)nZb&RDt}hB'|@s'#e*guڮ8Lg^-xَ!`y@oT\/w8Xk)qy}lWY643-(Cl;+^b|Åv<&"R!U-Y ]p#9^08GҔ܇SF6&!i4Kف1΂ʀ"t"pO}8O9! G1bO~E5߻^afpP@-2!&|*eRm8G/w:m+rn9}2]2`#Iv-Q$;+(m}=?}Ĥo JlfG낡 eB/ Q IK~Pb2W;8h7i'7:l[:uG9ŭ@ I Xsh2CكK[O|>'NT|zRJ1q[璸k)]10@.{d&A$A:ws3u50ݤːJ4{ùG?Nh/-Pi'h m GHmN1-aL5l/[ׂwkz؜mzaWGFVB&&;Pv%@7Hᔫmv-wy"ht,Wf{`򜫄NNɔNS6'D"x唆gg{,ooy˄]:'`.IY2eV'V{EyaS ǁ1g!Z詹Yy~Q+@C}""l[0<8'7 =ʂPx+w>b9i~}AwP4toFAzm] L:32\x#"e BbHw>(€p3C'r2L,=QF8 [tHz֪0}"fɫ~ 3-a+@xׂoIff/ uUl$ֱq!*"MTF!E%UF" $R].y`ɱg, X֡r\ޛ(1ۛm{JM%'8g#lX=]Ml0alx,ND[s|"GIot/sD!|Ts9wɲ Lp?fd kȜ~̜>f|Z|fcdmb9KﵱZZKϊ{FQm~`vUr,\awiÜUU- iq(T20w1}诙rD+B@ЗGGw+j*ڮCk gGjb5I6{̣F{3D\|9PuC)>/y"gCU@}%eóYt/#-pe|gD?P سc,ݚ@P>/l } fgba|#mNLEw$qғ^]}{/n*D[Njf J\kjZ3K*ΚR q;?=-WHF.S}ۆ*sq*q*mZO֙xBDl+{S˽XX6z}X q;Ҋߘd';<;E[NQ|VPQ!X\Ռ+ /+3G/oO.:iG#i71PD (nڪPMfƾ?'XfjztĪ@$nSe{>f55ugJ\QydÌpfjs<< H#~% F &iB8ן&Ս vY-ń +ށE2 VlϠ(v+A=.aG"~!.FK匞ޭP+t\1 5zY"rAɵ'{YLv;9!CnB7]Ș{0/@BuVԨ iOk @V` +z=GyHͽЙ8Gj"u߄Ǣ]41Ր6$e*'qN\}߶]G_̏mʝ ;5tp48$4E%%ˠ([V? ՓrN;t|O_ڃuዦSf~%gl(&CvjٰeY-+ր ZW]ujVu^KZ@?=YwMrAE\r#MidM @%>V3a/ob>M=sv+#lRj@H1ex6{n_Lh>9;A Յ![fWGk mmk>l0S~KoZuwX۠A:쌲੯]c0Ki_oAŮy1T<>Sb]\H{m#fH9R,9K}[d~ttPj!ԓև#lӱ0}-[gVղ: Z&~E}G'JD ޮ#1k+>\M *ׇ*l+E%]^䒌-~jJM54TglԾz>Gَb0ĈKOzK.Y:GG3wx Kb%1Í|=w ^:ɼsQTV)7<:QM1fQ5 2jٰYQ {ŗZg3ޡ¯aƞj7>\F-pL3Q4maBy[ڿ>;Id>*^Y^!W@G+ULoLԤn?.J~;9Je|ܶOʆ9EX8سEb$B W֢Ie009|C[J6c[X.n0rUl)Yx4c.E3kA'&eYY^C.*}xqZyT%=QK-ݥ!o@᪩| n¨Ɛ'E8 PDFT21P3ț/Xh5lšX5RWƫNw;$[ 3,}Q3X4NW%R9HtP#ڶqG䓂?~Ϙ6*ƒXoe/JK0kJ3{;,vU?(+sz>?P+_ MڛKR* ʳwmw)^yXMEIwˆAN)k''DJz qcJلz2Ŗy` PhV%՟QyqG< ZA: Yof jvI; Bc{ո^Mi- FK;2b"AjHSVR[Bd7tJ{K&O]sz <-@H.,0q]^ J:GOQx2-5φw|v(F zax[[' @4Y_N7t~ؙr#sS%T[,[_QzUjEܓ @<\UjD=v|qaϴj0),bBڔZk=z]]ǖO*Kz.J5§mmR "\e/c'E?Y63-@]BtNJ{N[c\_:И{ZOg"n]8݅)3;2QP),*: ^.y]r 0zIc˃^s a&oULMjI#ܖ 9O+vZ\#2O2 hҠ>cmB2sg끥T(@@!{ ^h~&@Pܦy)0s |$32ZȼD89;xPЉ81~crV^CŇCL2 DnuӱzTB M}*i4Ոi)^O՞: *5"W7" sݴ& e}ʽl}W3oΧ"\\B^`FOh \Z:TY_l .#+r0Fgk0Պm~?o1~O/m*zn1PM(|5+iGH7z3inM>p;KT30Va8$͏i'Y+V|>l!E*:_Vb4>h?-Z 88,D]Z%Yzz2Mή[ZS2/)#n>z Ϲ5F|ydf!o"vqQ^=f& ] aCſ%bˌ|iݲO/=!N ²S.'CSU%$ɮ`QNNRRa"I)\!ǵj陑qrM1KS |kZjt =QT[\t ex0Nt &:.n~yzTP8)p]Bnz G)Qw`,yS\B\<<9Uj~g,^I59(C2k,!/p ~3|p7))͹<"XA_og\:s7G J%.]ݭf$zef\[U8ދ۬L]Ҹ%㏮H-g,0$׏=x0L5CFIa& RݸŜݘ  j\azE_g@h|<0MvnPZr*ѫfDZ93T024 '&|60m:^0)W* Qz"PN/RiKA$؃1m0d-J'-szV$\`(rӪi,~p˸Rk [V}b35}( y3 SB ^0#{Y+Nm܌z,k`%v DQެ4KO>K[m]dek$ ~{z[;[vF^9sGV/Jk e?b-*yX:B@+e:pdH =ﱹhޑA[t'Fr!ޱ#}F 848 K|pT/kGݙV[g*)Ggw%+Im'sX_lM(嬝(e d7$!K߫=c6uВ rxf~z6ƛ3`b+aFg2[v9Kc4_o% +X| k14ܸW&c-EB8\V eFE|Cb̾^j 7Mx2sȴMs;l|OM }dDET$ƩIдih-BO3k{oü(w ޏ>v.#PnQY=7ǟ~kn-8ڮTгşs8@GT@d-E9zul0@n\X\zΤ†%cj呾 %jVr.m9S-`|$n* 0;b2\_ı NTUﭖO(y{ǦnFNQ}zB{` '< |45%, 0/>57crشAeDx^{ylw0 :'&"B"x SlƇMZg{i% ߔeݐUOzpBdgfmR璙!UN:I]}Ƒ\b:Gǝ~ns,Sëcs %'u^CtIliQrj8|*(~fd ^8 ?EE=PMte+9U}n~&-j6̄vGwX!Nr"=`|oygx~MRrsۗՙ Ł   G   EBBq+t.${2r2rs004l9s\p34Cߨ @X( 6LF词 / u<~;PU0TUe&T_*/%$* / * 'Hk)ݟRDN&󟍕S  `KdK?nؿaQdLm G t.x2v.?|v[7j mW8LJj'5xamLq @6맪[Md3Y@"0(d/ .悧[<&B\[*@ `A>o>w7# ?;ޖ/-3_F=@ &S1R]N8[ՖN۵Ǒ;cm2,i T$*ΙBF8{@dK)`Te i+ Ba[sP>R3xc{,!]'kIL-Os<>J=~C1&Diz\QqM?7gz ď%a _&j)8=ݿi3/h "AAmN?U,mM] mC?bbf!70D H`'b`aD$,F$,%B/"A`"):Y/VޯmS sbFQ̈‹p|P)b=v$Q y{2(%=wҗrk$yfؼRh -g{X] U1'\#XϫLNZ829swiXIʁ# R5Hsh7 S@z S-?-/' X%şXbͽ/H"e}]Sw|w{obkBIidDX>ſ;t:Nt8 _A h :6% jLsiΡ`;|-"jLgjaPª#z7>%)7@u IeD1ư1BgI3.@{gs@񍢈i3|h#SdM19$MWRI i,I}+igxцZZ9\NB2G`~F{Oainh4ډ1#sx"5OX¯t0@f LoL@'R|O37Lcïӯ@O_ZY X;YxM-+X\K?x lv6%X3`d(*Loaɑ!^ϕԸ/ TR%qku@֧=!_oON?}xD *Oļ@ *I2_W=gWU;{؅?hrӚN^QڔmII!SR.@J )C@ R  j&Wɫ#br N*0ioxj&V>4HOTi2_>ρ@\u@a$1q@KL1hAjiG4{0)ņgg FT~I#$*)@HENjmQ_ {UbyQfQBi:urP\.7HB˫%.T/k>'I0;F%!9=z6E CAL_\t;#g۾'ڍ/+hR{a]ji_-g$Műhqp>:͸C⣖ fE!TWpTWFr(|h k`SﰾccveiL_#:o E P~`J(`3qfcfa"_)2rD7@-\&Uh qÐ _gXc[:=eaGoR,lob9ׅҽnut>=?*:1,W1U\}4I 0@Wv 9^rV`fRB%ʓ6%Or5:^*ޱ"`^#ngi9- ugN%C{y?fk}r(ctrIq] 7Ip JySeJpZrZ}>$KmcH?<늓4X[\ X6`n+H"^Y} K%rxe1Ǥa#|;EQ$fÐ/\1m Иw]<^~ YLTJsqeyd[T=f(n^JkN' a + @I_s:?pf O |_!'E0HpSx eN (_4@H'&?FGv_Ѻ?K ?:*2ПCYᏏ`Ϩ"X08a"C+iL 5|qOIS{>uҤcy1OC`hjnҟK 0ڜT3my!`q WpHW )<<# -}JG jg-8Ӥ_.^H}[39~BT(FA\>l` ɥ!zhT ]c`ԧ! * 0ԃ9^_FKT`^5#t={U @j ?*M3|,9B`U7jp&?c+.++3(ŧ27œcM5@A2ti5*4tqIAH!SO@@"‰/߽! P({HyM sknP" }[C;K3Sg}cK[ z dN&dw3wwlddnhj¦``8XL8XY9YM9YYuLb.&6NNf..#V?Z?_5.dCKy\ ǧ= F3g%BZ$gΒiQI""T$*H"m$KrVY7sqroswz3k=3 $ FRPe)HBLg2p ý:y^%zQ q&8ĺyy D0z@ F5ѪS;pⳣ :TyW*%*|2Tr_WsD% ٖ &,@ΎD*!-%<h+чJ.JTPi_ *%CM|%h J0`@wD*=?WBJJPW†J|%:/qɼf6i#x1 d/sUϯFu&C?29C&|U1c+ o9nd0oߵ8D}ؾ~om OoSА3_17_*EY8TD.?GInI2NI$x8$$֐# e]{,hH1LMa<5#$IȊ܌Dtr4)t&E3Ir~;I~Z\ D.2awHHqӹPQb$j$w3wdJčN"-%F$GzsKȎ>F$8v/۹D6 k?o8>B1=^z7_.Oyz\G ok6)9HB5Yy$)TaX*(KbIJEK&+J~&hˉj6*"GS;@(cgh1DwGjVn=A&yxQ)ajABJqSY " .'7tX &|PzoOjRT_YNŔw;N,W1o6s:j״®}W,8QaRٯ=Ӣ=5&ZA5+$^.Rٗj ι}Mf%'ƕJ{!gva1 @UB;? [~a"D -ӎ%3\wm݂6NUVoω)ShŘ\V ꜗL<iXYޙi ߺYZj\dny ;F5EEUzwMKaf`0ZyY\JARlxp#"'*' B^}rFL3m齉+ZO~f׮+~` ԲH#w\xeWz^'?7QƚQ- hZZͬs vY/uE|_{!ORejJu\iz5M.֟5뎡Yc7Hܷ&sc],lX'>fg, ]Ԅ^RnuEusi;rJs͢)Y uT,:X\_~HAO XRrx[!wS X_LRw|df1S9nSС$sb 뛵,Y1;gn\uO~|N5ݣK%#ӿ> J*)7XiGqYGg+ؔ^#hf!n%:|w|<_wݳr[(vLAFf$G,٤ RY'hf)G\EYFLզWm['= wr9Û~&&N;bb"׬Q(LY 1 g # Moj OZ%㚃GW086iWa*kfxf6ܽ3ѺYpE}JF'􈱮}㊠15lmVt+&>r1혣k0'USocߞv߷O:rS+gduG0];ǰ1ZPnyɰ 㭊s8l>Ve׆R/,82b4UK3ިIRQ7uyԶCq뇃`檒e=+mIR!rSF.Hu0NLRc噺=OmT` k!mz痪[.uH1lB̭e lYj8lG*}W-MR=LI<萇xi"ٰg!?;,5HpƼj[D`MǙq\A%AKt}hS3v=5Vam!v'd4\D%6z޾O&5Cj{>‡[RR[QLMUR٭/ _{r점Y~52!!5%la UA^SIz"8qO1g-mI'ta%؜`1kˊ- 9++^zZ RM &ycTk"kWUtHo 75 !2^9cہsjcvnmL?sq)62iaQK,aoAw`w %W))ٺ.z=bȒ2ʼnf,f`r0va\o@nXϨaafBO$e9RRG剌e(fN[[DN*j .*ZC16ID}G_rу)̮ϏoFɫmQRtG!Ƅ.7 [DZ ~ ؃V kIO:#kNPsl"(ni*6+ҕRZzݩB"oɕA8j F֊@Af`qN`@2·7  DF)P]GcS0 (nq l^ 2<}GR}U8-^͋\=]Cߒ/$L^$?F](lA-!e+}L5o!%7=g=HU#kV"`lzZ[D5QRvPl΋Ő^ivjJ̭_-HoA| XJ}b/!]ackH$X_-;3U伤Ф#h$#¿a;KS&}2hBs8+c, #o|ϗnfL3ݯPDh7%^mʰz IӎT~7\hw5|y\(B]+ozDoo^[\b@q&*SH1uY>9i pQ~6R/N"=o UդfM"Ql[OC F촤yZ֑8q$ղM (THV?jп@1>!UtDIbx7EDU;߄EN5P'nQ(trBǥN2wu-i\v.&èg&_i+NKQ~6-;H> Hy3D\A^]ƨogk;yqQ/*&*-6@c]ƛ%[ ӡvn0hA%GZ##ct"BYXMyC\AƩ}7H=@[ ?4k|p dRHs i^JoA<- V~;t CaoSS/XQ}&wFb ܡ FԕDScja@Ոu-[2Wvol"R*lm΄ F*Q8LjKO*=R.ObdS"9?!>#v^_N:8TH%\ՈMOϐqåsc#wK]H-?T:ݶbdS#"10=3Bpq[+̀~suuo"ll"Wfo@'Hk9\7H8s7{#7e\53sco|Zx{H\ׇ[ ZoOuLCLEmLRS4iYs׏11˳*>LmK+VnG!ddUwL*Ss["@*M6BU|(K@C&vfǙr9%5x賶3H$r䑵yS 9G͖jQt] Hzs(I$ǘ7V9~ c62wn@2|Xx[?W@:/~2? ZZ#'X߽uxv |[g8D9vyg?и ѥw{||ʪ0zu_E.nb?I,ҭ9 98jl''Ry|dF48r_'}rxO>hDa<'O#/Wإ}3ݝSl(G<^-2y]5rI@&8UwC`pyBj7? o'tv_}-3;>gY8{j]Zrk“RGk苘QGO߶xW~+/'r7nlOGXUw?iL',O缵DicW]K;y#~;ej$h"K8;>w}B%@ʩxzK㕝U ?P}B{__k/c=cَh9c}|zʾsoO/on\K_@o|.}xgWev1`UUׯsϿ+ϻ=/_jUU5jaaF0l";!8(hc>|^$4&d0 Hq f1Z4V)Dг#ҾmBNL |bC?/!c%#7C?c3E/8 03`$Or>pIFݥ2ZRM{V {]]O}x29J7 =ex{r:]>ngvʤT| y*7WKMAh >}!"BR? БM:XjLm#knrg-(9w +IejrAVa*uC躭v4];^E!0h4 Ϋ>4~4K?J‘?.T5noxk*=;RR"=wX.#:Z( }`digb6$6gAKB+μk8pq MMgڗu^{s~.0B4YNP ~[+iX_7vp|Gކ0…eGHW  堄of8G"42}Қn D{I=%l~j?< s%~$s<_5ٝ"ɳYhA8#!y6>#AZRcsW. Do4vU_Q&HY*F@-LݾndxX:N^ 'B˙:bR1ۼfnSR?E6?yY98*i!1Zue5t!('U+Is%!/}`sω9F MR#މiY}ܗܽC1^t 0>ĠF3F˦D4{!$j :j^:HY'.+:_+'nA֊ysa&4xF3n}gEԩ`OD<$ Qѝ.fvEZ@=00(p4eE̗j > f! P CfTܻ-Bt} +)5[CA: ĸֽLڕ mDG׃(]͇GPx g7{`ŖԒAo0 FRtW O >ۣF0E#u _愛}H%2Ӫ܍3-[nSi<%KGymD#;A?oqح7ŏU]r!TwLY:'6ic*mᎀ3x `wB\F*moH0\pcbR&L0`ywAg뉧/p3y$ OY]?WF0mSٱ Jv=Bz'ݜSy@rUkgԩﵔ4,Oœ fe/Bܿ b-ybvMnsErnmVM-ljJ#{}< _)(UZmF!桷!tTe h;򏼷zy B`;\8"lJuJR钽Ԣخ4ȐNӋn+avR6de~[z SO1f'm|춦3o+;=^( h%o0'{ywpFU^yZ3.UHr0~ϻV3U,5cސ5);FM% Md ϔ^qg?Ρ-]8wDydG RxDЂ>"8"2)AzضO)>lؔˣXO´Edl/7[cޥfș OB5:AgKG6g.&HF!I K5ooGi0J8FBG`H "hZ7U@uG{qnOX9qdM:vMF/C&`<=O«6.Vf=!9|(7jesKEX3sPq + vmua'I1BcUU+)o+ LzpəiH 438J,R0" 0WHGYEx u }5,/pPm,uظd/7;JL4_:Rh&6tT۴fs<.3鲥 s zooSpUbvZhV7.e$}ZyR1R![TAeZ%BJ3 z#BfR62s5OEP`ʡAZ V!wC\OǢKѶ9aV]bb 1|?#yKqOTuݔCb,E\V]}/D3wW0Ѱ#?!+m;h,Q lJ+ s"HJ Xi7=(OڹRЖ&#-Dx&!hf:.Uet8yTS)X,4ݦ?p#svOOUKIT-fiɖd@O4?fTwski|2&oi;F/UQ;:)7e g0x׮<_k#7>bQ,]4$39JeAVM̯3 4EfzRQ{1q,-J)84:]+/#^],:d@5NqIރ$T]$r+v4?f g>|na# .ꆱ )LtZU8*1l*mo:{^JSL*TWZ?%A1n= |[h S8!@7W䬿40%/ǒF9_xGo(}\],$Tާ.dVYz&76SÆ"J4k=V<  'Ü%1osA: RJܮl D,JO%YSB!S8JIʺXc׉C0ew̼ O1Eןh}N08,y+- ̲/$d:ZVF"Q9 T,GIUɓ ,ڃpv(*yl^Q6Xi؝\7iɬj0rm'h%<a6I|UִNOd6ǘ-$f<= $\%wꇙ\_[븑W)gH͕Sjx=i_;0@a;p`-XdKvcF#-F4uk9QXYEuwD tDyk ;[6;eژt&!hkhUUUl2UQ3HG?b(eA`+b9X7#NdՎdJ]dyj |N>K/RV![x x ."2᧕"-\> qVcH7$$;(YBoƩImøx^I>fiM[^́]3O,۸Eھɢ> L[^GH%ɛ8ϣU1hR~&ޕC> @o0@E]l75` _\w^j*ӊ8,kz|hgOrnpѾ**`Dz'j)ToL&:{ ja#}IWdfCmfS_fP焟j?x3>0;y^Y!{ф`:zdFw 5FҠWiMn6f2km-_ Uq E4Lą)_ȱ[I4.#TZ>rj96*dw-m-:ޙQ q*B"x{^~ac` % Ѻ>d(搒%"9aRn)=;@] 䮔)%6ԐQǣt!Ԟ6G ckJ#I߬CW-ر&{X4a~PT(r݂A_X5X8Dµ#{ $pץCDAdF!-h!Y)%Rg&KFok}<,~Wid22ⲵ[rdNφyaFoy6{K%AC&;}_bf(`xczx-X3laYKj*slJ8VN]*=$ ޿픱bDF̊ ts-:՚}{`p2^3yvܗp8Pq!b-W_sCCt39v c&DA*bJj8S!0Y#P͘'u,7YaI${{3M/'xqͥ楱`WNcJdIgzU⯚)d.+kDstF'5F._9cmyL;5`릅p3OJ`Z3ިI'{\bP1&8WwΙJ׏r|Ledh*t16.ؕ38E(&3KQ!$<2VFA3R=<_hMdL!${sI6n\BjtL?|[`-u)Οx)FPS\cO~t6lE+EvmD]APٴTvbc55t8jߓ6'Lev'x ӌRi*}EI&_zv,bg cJ/F . ɪ.`-b+}mӽ . |iyuM) _%.`tܙd~lKF2Y e: q!&%0;?P7 | eD_'%.> }A,]N\ϛbvaև}S',_M]xv[Jo'VwNu˶˶ܳ S!sG)}ODfn2`"fI!дa{!1-$ةyH]bNAɯKJdSumx|hGRc,q vz6E c: R ًd1E*^u!82it҇aO2XÍޭ("U){~ sr=i}҆;m>xdvT7/ :o S!hq{Qya X +cORQ] jNf4lbXn6ʀiܵ?&/1,G]ӭѡϩIm8UH`Cód o*D dlg?O6\Х/J7bدtjفLl̹vsVyCZE'y׵AY`-u{8~8Փيgq'h ]N|,,~4dCzo #˱ 'p28 Wqlg9KV!xkkӢ |Geg)n{9 +#  yIeY9*Kc kpQP?HxlN];΄KplEqYy&`m:wh$msV̈́/#ղ ܛ2$형|P0Kċg9P|eY\0N(dEϧ.t _мYag;aET$W$3aYFcH"dOQa IX(/Gea/+'"ֻ6ICʞιdC #4K{ k@^`l/pkUXTzs뛂rJ'5OKR e~ ?Y ) 7 6l(tkԮbTCP/Vŵ1bW׍G`T(9 ${{GmD|3o>g- çq,Z+gi1" Us!"b_ytsI zS 5u}P.~g0~⒡T"AW3 b?-y&|ԯ"!JfY'Mbڡn)w}ĄIwJI $OЇ"[9- ŘlqM/\< "gdJ7[h$Vf ]S;sZޜQ*(K<#3XQI z(HIP`YN|@1QO!a#W亯-5 KgD$՜Y+(_ /l]Ï`:j,2dg6kG>n:)Av샕+q*J%qɄw(0J\{2pш5F4"C`bӸ-qBI;7J slRsb P:o bjdziBxwnvh\f<$Qf20{Ϣ͆I'%'X7!j;Īghq7n flz/+U-͝ !KVU{DJ244w=" 0  74}< %.,;^y`Wb`ΊZ!pC/[nz4[ K `d\_t=[^_˘UK>!3jR"V5]v3R!\ߝUW•iJ sV"@ɝ7 wl9*T;C)1~4>8{}v_*8kGy- {_` بG K7 =Cp%J҉G !!9F6ǡ*U, }형L Ev8`K%\@ki He)ύ*g`.B=IYLy.sC'-_B+ j:N]JC q*_ Σw ƷA0;vnz/C[Y.Ӵ[m?كoh9#n!8>Kx:y9 uAaL7ΡQ۴'!"f/FvH=TSmȯc7Nyx\ gL R!#ƶ ZB'ږFX%ҳЩ&ZM!ʷAK ƍ\Иػ.hږ3I#(ht+q\3FTD{(+*:8̶3 G9!Wb˩y`wΚ_=ū8Ŀn㪕{&>aclG<=}?L1Ӄr#](x`*VhR-1tSoG c.A2`jPczAӰs[jzRY1🆢'='vo3B)Ly=xVO!szz<}H@F Ihd1-|r/pS馶ŴvE3׆Sn*5 KrA}M$&_QŜ痀38}c9t}xsr 伷;ֳN]Rp'}3Ș~ǾF$'C_o~Ab4BUO^#07AoN&zSx1%Di~f./!7vo6k5b&$8!8c%`̧PXi[#>4(KDR2B3'/tSË7%=+U`57#jLX3Tx34m8q.iX9wTbܕW;D'\cs'ay;5^THM9RQ g'TР&]eiH׵of:ט&f a#"p[ᆠ&S*OGG|qy[ ?UG󩔰/vI:"Q#LWk3oF䉿P5^@gmkă"vZ.O쀱HoE{e۔|yP⍠6Zk'E:F@げAX)( 1VKmiRQJ |!XiEF>IŶa уyxYM еdNbBדI):IqѲc!4 !xCV/0pHe@7;13Q֕fWM1~ueAڲ$" n.+2ŭ4,vT;aK+vg:==7qp|~.MEcv7kǾ !ĕbh N郴&:)smݚ'ZX!C0el3kOS'Gױ.fv*.zcT&~"ЪPRFk9G`R֑_jnuo%k{6yF4ix+ .aoj2j.Zlw !n7mlD<yBf36 xT:I|[=:]KHִ0a]\1IJ9toTX365NC妹]^ Rjmrl3yB!B6^0 4C r\9xVAh5yDu ߩx_Z$Wž;/-Xхh:>OV7\??)v?Z:|p}G o?hfȇ辬U"UɯkFw\\ ܓ pv+sg]w!蠨bxSWGO}ˣє#旈(TDpZqۓ{'7LQ6 "IR}B&SgMv1ك ݔRZKj{K='XMf'ʲ{ddfTrN*a>kW oYZ"@2ڗ=C>|@V]4c@=nK8345-QN=H$\!r LdPnDӬ!;*.{F4Q5D|M?)f@=]hŨ4]·n<`Cv rh%Qd< __z$poeeVyU! 9׀z$@`%y(7j?Vm#s(ąH+JbɤzgQ/T?TF;a"{ n$2vB4CFy&xH!y5x RqhA&y/)(ZaZ(;정j䝙D|K7U 69AO&S"UfɾHt玃`ri[1\>@) ^S'1k?T8dpɕ9p&(ڌR5$m1 K,GCK 0vQ1ge<(iV[H"f 0ʕͲԇb#r8X[ UWqN92uQ>qhR/Ō03ݙKͮ|ffcMz},zu+P72B ?{Lzҡ\Gfcn_Rw]zp =l WՕnF /yГ`’V4+hO<}UկN1=9z3[ ߂YfRc"^ Q-O ȴ՛_?˃kMx›XPp'@wkzAO᪰Ъ梅4=.Ua\NE>!o#(b\+J}wRV3vqC6etYoX70|"P7:Ff<؛?a@YAB,߫!C%FC!$Ư}5z̓ -՘]aLf1ZpqPro(p4#``Tz0mm:`ddۜU-x:d`DχyBbOsl"vZ]Sj*.&jG=u T{Xv]y=lF;?64E@)s{a f$?N MGw؈3I#yE(o[T\!̾Sn߁~'FVoά|u}g?#K->&YA;&(2;lM[Ս[x"fNs 脔^->Bh+vH3Q؆G D՚|V2 G]zf3} R_EY vXyqs:|uqѩ+Ɗ ZZVU9gDbox{]g1sٌW&CM*|;| A\W z7(jƋ"C9@)ZB L* )Z)+] mtc6/U#FD$VcAөm\iXSL$:EEb/ >`VLČŋAVScea&C#'3=\SF󆢅Gn Z\9=x엛Z+i@},;eX H[xiUK3 _ճ*yKDػ=Gaz$l<8 2wrXh[cêo5:%EPMFPš4QD7V)(k'/Sq G6)^ kqx͜iٿ6|A8=tB^2^/EK;h><Bw<"w/c< y]Yf5&Vgs]nT`ܮ+@o{lZ7QnWh[gEk0AgHN/MY鑃*r4uC| `~᝔©ܥdlۦγ|tuNM8 Z4§45vQK8{B O'y}f0.|\-v 4R.u(=kx*xUc ]aDsc=|IVΒEsXIԄO/rs^J.V̸F6P7 HFAԼV!&yb04QIuKQֽzB7x =/Ll U?<&ȭ ]Ry(Q-(PXX hQ?%@yw. [[G\ۗ)u-M`/HQ0m|3сn4_ܽx7n" g4{{@6(mM]&Pkl-\-S'@-5rhyЮ/fQ4x=Z ssg(x+=e[;`i hS29Z a'gؽkγp%# ЉASHqW(+V}mt)ALc8J-bb 4t ɕ%bKS-][킳'$][o׏7E2- Rm @o(B"<"dUP[u t~ 섔']?td8#!FdAK # lQ 'D`hrc=π{T ӧGr^ʄƉ][-g}[(D'aPվ?7$bCKxhKȩbzYyn9pTYաS&x>:ȌdfǴFi=%Mr6Lx?Bgʶ:֭4râYB`CK6, 8Zq+㇕.+BxbЙoƑT9YtH:.{>y4ՇG!h:֩Wu2l?F5%Hy$ݧW=M(\QtpGTغ[T?GH›𘄒o[#м@`vc%+u|UE{SH{-^N eTڰP5, hc”aѻydóꨑҬ'$E|vBzo1jY3wU!NߠTt*R6 (P750v#^tY/YXs=4+[ȨӉ NrawVi1~,շ`#,_VUpR;Eު'Dxc;6C,%- Y+ro~~3Iq}]m1C&V.GK 5 p0NA)<9 u@vkʊSpnP԰rԧ7E[܇rGfpb.2ğ mH(ΰ Zm5"v @+Ix8S O OߓY{zB ?UgMGO]R9g瘝EDً z{" D-B뒜bNG`KO@`pZDƅX^#o 7]P?_ZBX%VLP0̵WcV5 N ^F4:HăX4t%b|il(a6uI0|zLJp 0č;tdrp9ӛPҽ)A7s:v"BjRE'+Q8=>‹_3:^̢R 6Ww7'~ݠM Llly ~orAk*Bcp1Y6TirU(HdES H\Tk }tv}|l-If-+=d霚Clp#/2!,btWNA1v_K`ձgc_yf#d{]2^*\LkHo!ŋI^yF8;FrXW:{ф>" y71HqӖrу{Erq=O:OA3_s/9[PM"TvoNLL_ QE- .\DXyj FȊV;!96IEt5"Eijb{.(02O$[.z<9Urg\rh0[X& 9Z@-rm},q+r ^8afrQeRmWKh#Ekbʏ*DŽ;8aZeD2tMbnT3vH GG#E]zɪ>(dxHs/1񩒽#kf2'iʾ)XՑh,[Wog@`>6j3h06deml?OTaC^3l̓ ']#uPa!XBa9aurI?3cM&ת0ר&`t|{ySG9(tת'MA>qu* e"WD(BBP*St%H2zO;(>MKF4P./i=̻ Uה@]\!rE9o$~rJvBܢۜB#Y.EX%%W@ŧ CKu*VK&V',\7 tBi622%!(kĎg{~ZaxrHDO<{EeM+?'f$po=:@wp%zg2m Y眆1P]vإw%}n TI^' a;a8-F;EěsC;l%Hec7 yW;fW+RaY%Fay#H&]YzJRo sΥbp=nI(c30]4|4Qh Ӳ:dZ UZ I#ۢEΜ){N \xكY8Ȧh T(hM9~݁k,>U/]߈}8C_yU}1M8'xAiV;6Yo |Z>[Q+ŁVp'Ef՛_ȜE^'E$H{T w_yr8=[̲ L:i+FZ8kÚxXpͣ7",9?P=*ɆHkZ#тBD¥ڱtϭVZu,;nDQUhJ\H {{O?lyQ*HُBf1]E C]ø^[@ C!of4!zI> p2?WHe 6i28'Di`C!\B%ޜ`I. Xps,9RAZ0HD)픆Jre\?1,>( -wsYQ5 "4Y)1 8Z de;0Eo{bSάQ2IZI"¥agKiݭ%DݼBg% M=UՋn. Ǯ3rH̆kI}|XCi}jɑeqw^-ou9L$80?&(x#NJn I4ns-ڣʂXOWdN^h$o#R ]x1ʖW޴?|K}E)_ʃE} 0ju(NJ]`\H$r { AT뱬X(X=A@GL N?LC^s0ɻʜ;f:*M*1dgyḘm.²dΩڲpCczFIAds,iΎCG/d5A}MDY)! 섑PѶA鬋ڲ'dTgV#8qsPC® 3||1XjᄆCDe{#x-rxLqBp+5.R7!EUF4(S`1L . k)$LF0(#mBsxs 5ru|]*?uS1ᡗR!zjw(K1ۄL&;R9iP`05W%g^iCZ vm^ʝ:@m:JwyK2:pۻ_4*nJ ofk|RҌ =5,N]:def:^^9)s֋⎔F]7wӵ{<yٻ8nGJa'CvJj8! ENixDS} d2DZWՎy/s^esär%ĦS$4E+,~HǴ&rr;-4|aD76uY"mmKR{$)M8"σc=4(ѓںr8ߔ][_X;HĹ/NX С&/'~Ĉ?0 8<cm><Ø/.tGp)o.~+8ߣXЧ3]={@4suT>] %\@èI0 7GTuj)N{gA0>EM,7 u{Kz7<`".l6eCOrhY9p& }$YPhpCo";Rrfl})I $t!^n1*e)C8M"I06 D9lU@ 3(@ٱO MӢX'tל :_#Z=-ˡtpm{^*o#ۡb3`&AeECF-^Z:=}hx˴bJ}M < ;u{9D7`ßgYԠ)IH%S;=“eEDz9r>buy!3 s|p>4lf)<9S=Eo A};r;Q|`(8Kk5 "SG>/s*#rtcx^*#!!iq0r0GM5՟Xݪ 'p8%3Xčݿ bB a:[x"0Ԝ%;ID II=ʱA)IEq,Ru. zf %!5Iө*7 J[&H@y (ygޜR[,CɘYk穿=bt)I-;suRah ]7f4rTce=h9̏ t=SдRKtWҭN7]Cj=aJꥏv1 ^|JYfzD3UǢU`|blGg74Q>)޴#^G$XטNL $LYO]fdbǴ\ En}4oC%YӯJ,&ԣC魸y ޮr OHA*QJ6m8.e`Ta#]L:s9{PQ M`SrUhaSA1Z"S`˫"/GѳʿRUt|F(]_3_ M,\*aub }RO=}sLre'ܼͺ Oz.LfsI8pw2dKNJz&|"`С;s>/lhb;Mȑø\YnV,LxYN8:.NCzK`DP" DSEC y<% {y1J #k,U= O4[-[lѡ:H9:S|b u3b ~W~K~%% aEb 2 +EGC3W #F3dW.\gA^Br>尋v CП!f""x 理R^;zB1ۄ, *dx%Bک88(s ; {[U~<2*T˂yAu(EPЦ=z5>~&HPD&m rD%:ܡ',3tv#z,jkou)|X&F9߈5IO> OAJ/0 emM4hSs Fdz sTNX+h|l;5t| 9l\rrg.J~YbA@-es% aFqsN$l? Z 3\Gn%7,-CNIs-ncձroB|ޫy٫ #ɥ8S<&X-8ɦǠx,`b `MGRR@{03b}$dsE{4˪35q=ˁmlzr-S<kpFmzmSݿ<<}W^Pduaqe_2I|/&ԢRobN0[Z.s |sιfRB a ,޾jS΅Ɋ]xLN[dehqQS '"7ԉ)R+ 0 gK>x^y0^v˯Jmַ'D\"l#~|j2%GU*3k%o=ES)%;\ҶkRfQ":k #6 [U6->8ifTu[̘1erCI>ưk"[4e#*{֥es*e7%i /F(I7𪇗ĥ4؃X#wY p%lD<5Y [*X״43}gs $}P~ e.ֺ yQx݁GCzb **g)ZT Vb Ѐs"\cT'o6/n]1'ÆӼCG= rѵ]LA*CvHpJu(eo0a Xb>x5 jhsK*Mz3O 뱑֔{U.3"M/?[yoCT91I-\}{EcKi5Ê黅og]{ ܪ_siBPҜOiZgPϕ<̘;G숗]V.XL6b#:|ټ7269KƏfP#]An@"Vt#}qyi'^I(:;pnpeb]gR\'2QO`Y:oGg\D*˞Ev7fQf"ٜRKD?7z_AwɦsW^4hA@2 *S䱍&O i r]wKcjSncLq'sXyLIhչ\qc4MQ<ͫGOe(:η=.{o4fwPb;댊B;%cGϝMwmv*ՐmycLZ! /`cmB~-HGSwf^i:BaDeܦ'*a~?5H+#;0RHu-:g >ٵ bAGA @a]O,Ze2p+SiL6v)/ͅbAYO[M{÷^)+&+צ12WKhQ}G1^us@)x\0-/H/ͮ f$4/)b9KLSE5YTno+ |+ op 'wuɫ_Y2>{͘nNP]&A5e>#0p[SUJs=WzSdlȲ>D"Uz1x8X'3=uu(Z|0-ѼTݽ=݃ꮐ@ٝfV7MfG3QiڃqE &%fMzMA=#.fx}x%.Gdə "tFXU:q^\#2ړ3dѲTkLϼ\cF9Q.'![0㶾\hZ np.F6[O};an&a#.+JW7]t:43(+) [,>^+Š:FnTM3)"<, CrW TR `|Fbs:}B5 DžA"0'1ed٭ ^QL&!QykA];2eшrX)whKy n+hfȤ2-\Ő !>DVWqyFfp7GͤЗ.?wp'\L'ݾu΂MZ՜|[ivg0uiK^. ,#γ۸׽νfs[Hs oAn`R:M]Y497zzsjS@ h_MJ/#"ݻ#Y xL-|z ^yʛ:܉E8dL6ܜ~rHz-1ƔiL Hd,!N#@YրR}ߘ)RJrvj陜>=\s3t/  Ku3 6T8~ư^ЪAZkܝ d# bMs2Yq!2YOm;,ӠBj  v@nYVd %tbN@TmW*5U $z Zv$mQ_ %2 {~{Н$&'+&D@|CY$&+1#`|n$ ̩{GBûRE$8xL@$ֆc\<A[!9~,{K$v. Z)K1e!dx 穼ul2g*.Yxzpp5ަ-1ŒoxnjiS~f11oG%GwmG32L;g4|qXxxvH ]C;rٜÌapN]x:9RXOb[XMhVv뵢CIQl5a&3S ;1|hSj4(T:#Wy3S6e-T\tg]avLHRH(Ka N~9&IBs 0džg)cR:;c.)E,SIeHZD1}hj$\?ʃI'&+JTd/ Qߩ]̈́AT؁ .hK}HCXS;-Q -m-N/ haj ~;Mq-go8)ϧW;=/~j,eaI`D(EDP2&3*E)9扊*Vi{~\c1fC~kلVij|;(`yjE{T>&9b•ޙΔ#(ʠMZDMpx_۹!Wh Y1l`}eG/4\n }*/uI{Ы  :by"O?G(-)Ʈ:xnGld||T x!d"R"A z嚢i}.{J,xvn0"x H-V7}]-}j(HWZc-^)NW{s;zz4C'kP?lȧFV]\f TAVXBAeK(~HxKtG ob1525^ŊU*M1_ _Nyg%ipoP) jR2o1&J["[ Nl9H?s57}arkֱ3m޷;=u_1~e6I5 9a zh 0ȱrӍ\O3w|E"AK$lTEJsSA[$ƕRM|I~E0䉛QI@q cSgi #G;,*"78g{hmIM}4OθNaJ<5Ey܂wm{Gn뿞4/8C튝؏!L\VR525~J8\VJXnnuɰڋ?kUƠ^"0>ETU" եp`u`6a^2goVRvC1 0iL* gFs>s27 +CFN~  πQ3VtӦ=|Ꜹ fʑqp;1i) (xĔu~*[a\p~wmttΠbpxG=.hzI b rC4d¥툓vf5䊣yG@1wI1̕'xC Lq6jfIw2zkߎ̀0|4zV"}~|.%[|Jj@|9R3 ܕ 4,&CrgӇqyGEƟia[˯.Nˇfϵg_߱3]܉ZU܉VXt d/W8lTI4{nj.9bJW;_p)0[yrTQ L;Ǖ7Ɖ|B^H}r_+bSF5/Ymj)<%$ЄX p4d; a4yLo \yم澦CA-<}N38i@&@ryC=ѣqPvaGl[V'=-3O.y(u/#)F0^bBǺ{ң- z[Awũ%3>i5^2w,%|;dӓBL­7W/׎]ºEeU4=X_4^!um aFS d1;m^%vjZ"Yi ݗH)k?Z j˓j런>&]p}^ fiHcIGr\԰cDfzFϧ+;_vy`yjHHFe<&T9 hnr^n@q*Irz׶JHXPXz[(5fb9ETq_r,Tۇ:pW|ɩqM䲦ʦC_)̏6?Ec |,yK)Nu%Lt]rо+P;2.05SگsEgO"uUaR#N5;H;E{ߢHү#懐\39\#a<:w*:XٴƝA'e@?N˙{ blfjZxa8sE O`'PHw:) k7(I6 Տ jt[D:.˗}^j.8 Jѡ9"T,ALAҚƐܠA|nvosw@W2J,5/fQyzS3|-bzn3! 7#y)LB 츺3Uyḱ%i E$2uxrwjJ03MH,?Ei<%qΌV(b4fñx8U#e;\92@ Skw1tk3%s<׾Lh+^!3 tUqϘ=E@"͓V]@7rc0;70 &F3~^.t8јΤ4|^-im*却Ts|ͻJ=NO^7T-|Laܜy7v Tʫ6ϣ2dt! $Nr+qܿ,J%{Iy~~7 wO3: V|Œ:N$!=wn Usv}7KḖ:YJ* \scX{B>lmxu2'-|ssYY'qtPz #/:H~_~/{bz?>u 1wm1Cyy(-]Hl|edl~H?jZ+!p`;zp@1g31B+($f, QyMhNGnEz|p KDiWBK32`HHRWֽt{C(}$$Yxl{Cw*4x+8CF3-CFxIJL0/5xNo>Stϵq !HH(L$w[*Φ5;i1c2cٓS\yRW83H0 'iRW[u:{TI7H`H Ą.]IFK-v99x*B`4TTl10.{_#T4̐*y ٮmD 10a@M&,ni]xeAڈfQ"Bs*jyK^5KE3wxJk^Xu-hm7b,w*dMtQ0o~ ~br/y`6mDϧA,N`,C+ۉrV" d"SwHg4+Us "D_1=0"Km9>cgv`%%^OȽY.~@cӉamHait GY7ֻCl&td+hqbEc36hARSx]-yTceֿ֤ڮh"ay)K4(-IvSCx;-x[ %׸7 E8~@1Jק(VZ4[/J(7i@w(9+m=./րVOQtjE!7uC]KPqZ%r}5ȝ.V2n* ѝ>^H^+qh#LCn0K"[EQv;yF֚(R2MxDfkz=:s$zN<,4Wd*әײv`e7(gᴷ>)#D-Ex.U1lUtL QHVB@=rdԨvGFʩ5>GWw]f Mxuc_); w!ډ:$ձpu%П@2=">Ȋܳ/EMHa YC{vP&l y0r 4τ|~: ڨmS&uD[1tf&Y!1V6YHAs7|HJ}Ki b[jm6e&9E(b. ]nI_f$` `'T@ԗ֌v A]6еLh1}M;6hHF:QHMU[,AT~T5Y74~Xߘ*:4Vl$H kz`PN].S7{@q`p7kS<7ZOICrOK$j6E4a32mDq+H՜ '9dz\|ViޢEUd'\A1 ̀/"ьP-QEm+ nBS0;9xFݵg05gYL=$:/gn^|2i9Kf9]K1r9L$!O/dM=-6I[Z>z ꏱ.b?F*^tMO6SrʿN,  h zLi4G|Uձ0~eTXuuK'&gGK r0ȺU0X&:+@W^_[x.z}YiDv]FȌKzv@^ɚN))e!}љiFmW/{`b)Jzpƺc.;-32!cԀ,<1y39Mߡ'\]dX r -@M=v|i26iV7Bӈ:|\6Okp 2p(]%YdE?E8W&uSHev/5}] 6& ɑH{k;R#b.xi:xGE:SLnLU~f6X˔Zv!ad  g937Ր0rZJZ8,oo_U^/VF{3}eCi%9ZEF,x-3#" 圩`+\^{P~wyO{Æeޅl? .$;k Xِ>w-dt֣lm0[cL݃<:s`=/sfqXLÃfՔ<@־)JfP/.]eqY^];~~80 N.HR\zIe2/rj˪yDgm7ÂF|aڙq)o)&,cԱz/Cjjp=e l a{$=˧] 29 `{9 i@uv =戊SKHͱHE?L~ 0@sK6\R" [jMR W|<ؖBw>3*   }ݱy4H|M Y.($S 8l2t#Ẇj2_Bq=4"V­~y۰ w>g[gjin}W"i"tކ8kς9Me喑x([ԯ5p$`3l1Y[?q"52ҽλˁQ[_/u=ݼiDld`Hda4?R'`{dwl|UޏT3;¦BWo[ YY+=o>!KLv;\8K0W( L ܉ueQ^v1=3X?ƁERiDsbz=JRD`72#=^d3t[3毀,D0͈ӳOt%;GsPb+q3`'PvnJ:fmfB[ )%TWx2F "3+1؍)M,Ԓnoƽ]IrL6+<W1R%"DY4d+鲹} k ៓i=Mg[k7*RKZVN-Ej ?1A3r8\/FG{FPg1m^~R0ax]6O=pXƓж?SւUe$ e4Gn愌lPG|/љiSwz1B"=) iV! 9enޅˉªHh8qt X6aMܬ5~֌Axt8DY D#25+oXp%ځ -ܗ* ;#ȀIrH J3ٞ]@9Iǩk&?G,׆4w]}fw,5IU=pa,Dn5>#M#wթo**\}H1A Ôgj, ! +%{_c;p,D>t%ÍJ eɿU(zCzO^qɱSܝ CCUkjZC{&T($5݈=~ƊTsC YHCZ; A.4mЯ#z}y~nb?6$h."`E:ks-OڇΕւ:Yo51GegUm0L$xN}"S<pAt]Goc9ܯ@XKtR"xÄOQ#{T~'w`!Ӷ +j[&.GvǑ8j3{9p(0ň+,;#BK5vQ$X*zzM6uwR:8ׂځ0vNe q7l>k x@Seb˰C.B%&]i+a 9KAȷŽer|~gF+ߺ{@N?c1zy.FTj-@ݑ4yΚxKg,HW rY* m{ $%-1,W7E:7a x:ZSc콗օզ1I҅f6Adل1V3B I!(=?,7S !Xo9KǮyEM9\7A8{el ĄD:jɽ5'>z]Bh%c@weoO*&Vb>f,D v/Y;)O6EgT/^˰VG CϿ9CL4%"tQ65dTI+H<{pHg,"| L#k $IlXx/C3"84ߩHvL_[qPɑC"7`j\Ɩfo'Ⱥ^CF5A3xTQ309:B\G :y B'6> o< l؄HeQdDQWh}k۵Y|o#,PRmd#xbٝYUX9XL `@qGEw5v',h9XxFNfe/+JRTzHtMT~EP;wTAI)[?./=8ȗ[:ǍjWDo?i&mdCn8ﰅ$s&^)"Α |ZU.wn\pdβ2S6K>vܣ#U 71L˖16f\=g=TmfB, S'Kci eߺ^&gCHX4TvY*;M-cYR~[V F5)̉`!WРG mqq؏ܘ'2)3rp2iB1Uffkn" _Ԭ yf\r>Q;?Yg׸9)j$g /^őT{{%i,O~z=рP N.O =_r_::)57~q|v᏾+P i}+}NP >͏ϡnmDڈJꋵYOk$.t1hy(u9~fs$_禟Z%?>ߏ?I%_=Z䛣K鉓F}߄|~__Ēk*Tߛ})R?/?4|x ͌gV7aw_xMD6@m+XN[ -?F)m6nj3D%~ozԆf'p˘О_aǾ<5um}FRyp_vNsW@є?M_!R{ [xMW?^Z(p?=جl c1)gA:[  ?`SP@0apСOo>}_am ;(dOm]Hٖ&<h$@߿M  / !@A"#~|uHb/"ʧ9}}A#qoG?o+sJNnRcqnkfrq> Hti[P>UjIԛ hfB?҉tLuyߧ>#~|?#|a~/=~@i835|%̑ߗ9H\=?F~jhl"*@b@<'h `X(aXXS,IJDT&h#f,) `pS̐6,5d42C;=SCcCs M?5Q_,a jJeF-ܨni:ABAفɁ)9A7Zf/OK/  %PH4p &4VB \(湀DٗS]mnWhNb8߃+6N%Fm(ջ~ +K33/<%rq/|2 Fg[aE w {-f&G̮c]aZ&8sb],4YqL%)XصQW+>c0obS ۂ܄,¦+B<ձ kyE$ ᬈk)C8 Tw&9d@"25/h %NHke?r_L@62f.oLއtT\U?͠M%B$#ll֪_\LOB313 Z. | /iii!4HGofq[yr _]p`_F1SjEZfhwи)A/TS*o ǿx:ż}t)% U-FiZt[qP<۾S:}RG̓;_O?Arl<$CZ6fބJM9ݶمwvxyzr]ФbK)m[0)"oNJamx*P m~V;)'K6;r`:WebկL4cHߡQ2. Ͳ\Bw_Px&A(2'>=ֵPVRjb<tV3[oKu~_[\B3k}ruEC,)YJsÉVHU*T9ߵy==:\+щ]D`i,)cG\zy=IS5|01a&6o'y ^F R ;F oO0k*#gfI7$?pM"a~X[= [|6+=#8M_[7iX:Jca AGA`pk̚7|;NV|ghMn-!kљ45֓y#qkK^#ZBE>e`8? Ff)WLE3^)bTx5@$0riRK 13{?lɡ@ f'Kq%F\U%-P[ 6=<Ũ`3CiS$c5c? Ҍ&!?<-p%)?HeOw5^øJNxV3wPTr1]plR +Eq"gA$ br zn=Ԛy¬>YhoRb63cttZo0(X}Vr.A/ľFm+^͛<0hT^cB瓡h& CsuЛ=ap(zu{s틽z+*4g}4 .#/'?U}S.xLHi6Y9, 7ucm@އ(z;\}Nőzө0KyC0J]]BE/``QUv` TW_~jRZO\fPKY?9x :-0JŵH-nUb b[ޭshV?Ru eA.* a[@ui/*+q QT'j\crEaɜLhfb- &1ȵT3+0t{.%ChY^]PțL! :o t X83<0̓?Sڝ? x'QLaTb/@Fy8aFA醥17A;I?b|spl Y69IۭԤh # ;%x&TɃs4Z}+CJ/e2L@w%^=ۍ|9v_cQGpeIAgFߞ%zY' ]$A{Ae[r *[DݾAy@,'ޯ2 0VRBãȟ4?Cї7+H~0י&iOO;zL~r I]e,G턅:ͬЫ CVܷ (ZhHؤ,&vS;A&[:eUk"М_˺K{9)wVWCE۝i2w:7yL ڸ@dr,_B-J/ 7%XtxEzo!}Yj*׬xy9deRU}b ժoZ ݢ! ߯0gq \ uWG *m]4p("ftd\adJW;Z`A#jҎ']`u؅ dn8wXh ڌY#~,cx3^ź,]EL ǗD}}"DĊjYlPx%-Ǣ*=᧮>v[ͩP MrT| ^!(ljzwxX|pQUb0K\Ib{%'NnԾPƗ)Y43Ȑ7ɟTDToahH{tH? ɣA$^քWZ{`A 3\ .?Mu6g o~cүdĸj>؁#m L> (Hw&iIbm:=4PDk7g5VNaΜYEsKϝK)Lw5~fZ -g1RIzyyNMDk&U1H!Ʊ/gGh'ks?FoA0z2=i[U(DtǁEIg_ ?gw)wb?387f =Mb F4l] o]: _LCScO5&ުsY=c#Q :6 |3QT!@[\t|,?NMOu)MkM@}lFjfeH* RѷSpYkj8dgWJfya񪒆޹⧐1C(]f Ʒkbs& +;l ,)$! ˉjk=;aNڐ ~FN:x]{u{rP/ !˛f9_"Q% h}N=xiH15(.g$t̜(|xZ޸ËvhPeٮW4Qj' Jb;̯M٪}=/eE{^!Y(!g1aWx\XbptjLB)q;Ov nǛՐKn70-SB'KK'`=Zb<Y \QîfSݐf sϠʧG`b>Y[J%}hlMEa _MRIEKyLL3}|EǠݏt:eL)FoՍJah44f\c VXϑձvY$叆KJ|}kys':EWp$_88E pI?V1Xj* MX> p\D ($Y&"#˞-\D "]YV߄pK^>jA5EϸBOy (Uu{9bNRKΕ_KOϝNPJrmz9ѵD  B{1/p62ӑ+yP;v{ϣDL;,o#ƌC0ޯ#7)?#lꪛ?l FR] PR=p.Gr%fih<No?n+Obn4m56SRf2芮A'בn/$R(#ꍚocCT#:)}f 0q=GY#IPqC~Zv 6r]9ڊ4D)֫ BKjX9'ϊhnS SWB̞9flt"3[Ume"6шBQf  QB!dVa`uj5|eJJF@z ꙜK]HA}A 57U'lUkfl/x`Eaɥ2М>FUyJ}tdx{Fwoiv?1?لÉSձh$o-d~adt:ˆ``*91:'%#5b>7:Ϳo qÔmJh#,%m{&°~}Q\'%;p, x$V mLWW1"\ŕU2 0~Fo-A/G-wؘhK% ¸U*L`9!&: e,qɷΩ}tdЊPx+Ӛ״0Jov$v+ԭ} sq3gf,Բ#>D^j$F܍u<_E\A g6h>q$U=]IScw;5 їAfNBP9nSKT?X[)Gל0Xo;ݞ;4rEуvKwC ՂO:la5Ugik{6r>&wXwU&$pv[x_૝7T/;TSge0Mte g&iu)t-i[i|<poHmJ ǿdA^}VܺfmpNtHq.`m6xg8{5׷Zd9/6 /Kv]跾Ѻv{_W[QC!Cvz /G! ׄMR#-B1AK-]3]C)4݅qr͡VJ#WV'v|%'*m@^n,dޒ?/>gw

~n+dgLw #U{E.lL<\D- ,Eތzqns LOJ *(^~ :1_DkF`M#b+1=(Z??Lu'/:wCN2N~8U :"E ,b]ڮk|['i;)R8mNa;I9qǿ-XÑnLn}CKs%O6zm۶m]]m۶.˶m۸{gof֝oݿnʓ\q2;vw,uj=Z[rMgoY5,-`r JYWX>MxXwZ@X'a̅jYP'~?/V 4c:Xd& Lj>{)Qؖe8`Sq.E5W9Y/cpv)Kvl%;DžjuxPpy][q@'=sn1iB^~):Rw1X,-Rd1ΡA;lGi y> _'F&CKG玅ɁqZoJȸĆ y ,ΥX$I%=I?$G;'h2}QznNr@}P_TyּUf-s+5]6.6w椺*"VղMV=lN;ћ!Ke z;W u5O kuH[ExܠFP W].j~_F,c(7VF6NJY'&i,ZՒekNq 6XjJrx #5 ~ޯ>2?du0tE]3 '~&4'׹9uO@|g7u.ڛu</fGPnmM/?Ro^~~XH,BO\ItWI0V"O<2Z#_RH uP:0*P#t/$8GYH2TSs5O .5cj:/$ .U A#"k8 '7gRaF4#\rv/Mj؈Nr(>Ֆk8WI L֢'ω#yoCЊj0ؗDG!Fأ~5uɕNSFvFsuOGT$l9-dԐ.Ga-r?mQQOƬ ;z^M[ln|&R٬:]tMnzO;DK5pvOPW fYH4E0܈>]!C>[sD7wV4VQ wuư:c03퍌7\W&ϴTt c =7f6tE[ 宕ݜp\Hp*_u)ּ:w?R% /3^i$mXS[7X4`欚W&0D\Dʺִ0/Gr6Lm3Ι4ZKMObPSNLB|*M cEqLi:[WkMr8l;El0!b/&~,k)87HUCZ(o0eM o&S~ &dM22k} a w6+0w{Y9"ѭ08OdT iK!鿺WD(dYdtbN'۹' ȭc|>>ڂÎ3t뻛bWSuf5QôP]9YX7`MUxizi[cMxPAe?b8Jv&se°r$VIƞrztoaBak.F~^*.5drKr$`F!Dp şBf"j;B0i|[wh~tgk{t|kp8aX[VE-uv/=+.bH9@\qxDk`ѐ-/rJfcnsHA`Rݝ/E(0P}0t NK-:B8=w͵6Di+J;Z&uWRs2E#wZAYoxiui;#l4t idžHeruukr_.9*IC]Ѭ1"4kͳwMaEwjF &R.OţpybZ9mI.fI U]Rv$h%ϽGZ@H)cF_'@u]lYCsi9X ?5k |O7mY*UmHTR$w˗hs)ޞʻ.5E N)+@.$P=ukD3rN!>٢ ͠un@iK,]sM$T>J56v>Ȳ tQa 2K 1A@`⁄{ +~W)kxVK,nVX6x'v;#1r'Ww1jAC qOzk7qL.'DPX$(Z&}UeTD|bD&ζ7RB\ҐMU5}Y*CCcǟ(y +Z3˃hhRUZ[ռX9ΦדVי?xgȤjz98k즁ǒB\Fk\pbx=&9ހ< )߈j}gl LBevw,>ܭ#)PFԢk9ݼim ("dcyTu nإ(ht3p½LW VU/Uysi6\RtEQ{D5TwFrh*#UaA o)HJ:"*ѬiD9\mJփ\֔\_M( o³6 u>=nw>$F,/BjRmȌ|4{y PW6#Mߣ<4#÷6| FD?5B/y$K\`<n/?$N nI[_kw H29K4 ΋tMp6Ie,z7Y}=K۪*O즌RJBx)I2()w DrL0Qm C+g'I+fвi$Јa{4lV/9֋1 9aw7LeS^1C7V H0 YVKy;bF]ie,V^ YߪaiBi-fmJvU SRL]u摙(٠8y }M`q]$~=9ҷ4+[ATux@b' |o/Md|T9t4f1Žx ċMPY ;ѕnԔkEыFm*)+0΢SMiVp^@k;SxKX@n{.<6m|-@܈6p6Sa9>q?n!:/g,6a3^UlԨv"^>xa;RH)G#Qz((еE/1R0_&@XK= <|6\d{G^3>66B@%:®POc"_d8z{`o RǶ?^ro]㠿}?^}JH׏N:DmaN:{JT u`֌= ao]lɮ'0}m0*s%}~-ڭ#P_XZ|0'4 }KI q,'g3F_& v c?&dd vzG6!\#zZDp*4އ]#=8EKkb%庍QɭrT%mp]B]œI=A|n.8Q 7rskUB4`%vIiazxujNbu-4i#h<+@zRt" fo_xCp>JPY+b[񥚄o R^ovN҆;@ftx*cp4ZILuk(CjzRk[qA7VH$áR)4XPfm`-N? B\tF@5W(ܶC`f/OfpN*T0H}vī,TLܞܷb";"t 5z^3:p,]GvXYl_v: §i+vvpa?<ۼ]8Y}<1{< &Ul\EH~3ykؙy-J`#O/Eo_ ;XsjqG֊c O9s V|)D;m[}ׅ\A2Ee9d)̯zp|QҬIh4 tp9gVj`šB*fsº%w\]?u!scty'oM'GJ!܅Fh$][{Gt }-u%& b"bYt-bvsZЌ<h0>a!ϻ`{yOp@=^j?qVN(%#%2hMNLi+ S5Mɩx5CR* >iI^O:Q1~i6*K>L5{i"L/F;}Ni ڭߍ/uTih+nη?+3~ym^Oq`nJxlQyƺ%UbP LJ>"1Qّ/]A}5Όq ϩf, Uޑ& eE}Ta:bćՕ]7})OϪV"gj?! d`ϮLg L0Ѱh8ijcO$M 8x.tC6-:wn%O`v2/$5p&άPh[%faw,ɞT!$%:?q`@7nixחђ ̿L`5êNN^~z%Em}{H1|WO )apûrS#l_<'p%4lO#A{Z޷=w3{sAN)027jw՜jA{D{ֲyŲETMj$c=J:k]^>{ZIqUӒq2n.|y!\m [j&ѫޱ$ؖ54i7B۹Yp8+7'{w 3NZ%)/+W/Z Fv._(¤15 PGsUHMZt{<eWS ڄ֚&?~$ZyV?G(q4X؀Tml*ŠX`A=Fu6[(_RЙZh9_~$So=˰Tx~t,c H",D ]EOa0Ԅnpz{2SvhMTR.VS> "Wbѣ]W@Q.èz MP46k:>{2~iQgpƇgM' aKuAt*KY,qsBJӂrϡ~Kb9,w ^|*~@/ x~ {93ˣ~We~D"rNM ~g>Uߨtd%y"$<˅I IV:[NBC ;a?SXqS7׫E^}"wz;?)&PA1^@oDWu K\3vG'VĨj'RG1KyNc#;@@VЖ$c|lFѩQOML@Oԉ<\,B%¿j z'Nb5=s\ )·g,'ʟPL_3O4#Ha5@ E/1׈Ff^V7P4Kfƈ:h[i`'%Evbed\I$ O^(s W$x='0wB #TH2//9KyD1y+ZJk,yXVB{)}ˤH Ʌ|Gi8s9fx<ф٩kVyFsŽqL*0 4{8A!ͰZ2ơopFڤӨCVtu,;vH%]kdp|TpF8զԹNK{&niX :賞!FZW^REܖvE?f!~ņpW%6)$F^rK/#r9GoU$z:ѩr xS/Q-jJ 517GU;7qA)$ @A{"W8 N.+Fs p?B] Nf(8:8*'oZjKVENW'-]䆚CQs57@(,+(}t :29GYSΐ$,X5O娿=M4\3[ 8lotXʱ4K)><3\bw~nT^{}8` 4@qIK .B#S%hav&śւ5Jr0elLha. p,K\N9 Wϛe$F-)dwEz-*)TQ+p4 r[ FV7JwtpJɫM9=pTg% eoGb'4WBF0u8B$U)h,K1b%վJQV$njթKad~~Q5yH ~Bmf]Ae}'e_+!Ngp2|axLͤ<?.wRHH]=nUp]=㄃j^~O XSۈwgͅKH߭4 i=Z{@-RD#EZC9pvFgy qfR'9Dƪ|5?O` t39 0[6w}_S@.!]؝VG!&EwhL8)vՏu{ b:yBr3X:`Й ~8(/@hKqҝi*tbg~faF"Ӱ83W:I*3DlP[,g,IU,y =@48 `f5T'A6P^ [#6 i}@mVjv񓂪xcO}Ӈd8&B L#.(([n :<' +ԾOCe~A=܀5g:;j V$J2`mҊSc_)AW `MM{moe\yKM"yl].b$kl} /BK$?;J詎h<[x rx O㫬k.Ď__3,vfs}Cuz>|cfRI繴WFGY^3]6J`|k~[j$f (B%TzJ\DX*mdDHiLʰ[ Fˇ! (GoW9dސ1g܍AYS2IWuuv(yBL4a~}8Bt[$7ļFV#i>7fNJ3jt^wVt!DH&/ B9">W"`6Av_u<:U93't|r1 <&^?&V$9 ]>Q key4^xR*v8:+P^-\([([*u[Q߉Au<8/}ԄEҘbc=eՇh Y$m|7K'-dȊz.x:(2%^tD3HL-G rpאUIZa-yYٖtZ-W"< Vv7[Yr2pbsiƇQs4{G$.Z yT#K|jIa7bgbVMؕZ'MhĦTBgtE@*D`ɋ!QH<ڡ?q9ہooY8ldzwu.ް DėRΔZF.3<k'g{M_=w뎙~ X?3+CFV9uv-[oJc1H[v- [~֊V7MkUJ5T$b0o##Z~jhၡ[(rKf SiW#ZȆb]&^+s4z\OToiz뮤8bˬĩm %j΂fRXʐ3;|5CP<3|f׌ҽ(jGroQG*с_5a~s' y,%Ή쯡$zbI. )Zm~5L({0'2JےyoW oϾBCc:^'fX"DޯJִH7E#:FŃ̃!Dl/~OG4CXd32}g~Zsn2w0}jU{OAQCw~~/V'Q7&B")^Ǿޛ Đ]번iIg+7R7=F l s̍ SI6T~I=\J]:0 Ϧ/ƽ!0" 6vos;`x/! m dI4̩KoDTm%EDcdg=*r5M~=3BIJs~}~|y+]{X*[\iMV׍oC1'EN\ {b>z!H8bFٷH:{QN@ah&fs Xm9(UVwj\YA+o*pq,jq:ꚏM${ﵷg*MG6G VT"G#b8go8S.d s+wiz̯7wig1ݽ"su\gF|T6#>@$?'gh+~`4l( =H'1MvV/'P0}yosωo O_OLδYi+on0})7mHm[(,;g߅Z<5ꆪuͨ阮VlIa?971c.uD>mvlߧSg4|CUZr#z[ 8Nȧ0}ܟ㪒{?h8 piw HLC[ H#dU:C2nR9qgr"x"=D8&t^\rKoz=r- nͪR.dE!$2p]/ٜRrKQ/F4`]Lӗ;} Yٲl@$!4l[Vz7EC7']f9:AJ`'.$i``t6 -D{~QT& @*L3 Gn}3bRU2snQOn c ְκ3x"4Jxwcn̦u6am'4'N/Oz!6.YՕZVß1tX xѣHK f,. gA>H=UCv1et9Y"C31`Ͷ*#{/Uۉ;ƻƭյCfR#1Unyc΋!_ Bkb޽{)bUBG"ByvždRjqKuQ y{ &pn}Y-\e/ܘ~} 53E{ `zŞv}&T_|?j_] * |KO]c+ܱ~j}_߷˃Y}/|$q)}*& {{TZ&>-~u˸<\ yC"=(>ᑂ`4`5W^]9ˍ|5(]ҝym[l`r{^PGt/7ks x@.8KkTLr$5tnBȷ VjwA.?볐7Wϟ~F, l=vy»'a۸^)wGҋ镺kL-镘1v+-(a P|lw8 eH弘Lk?܎0/QK͐|Auxkʎ-ui{C#h=MyGBt`aUC%)qX=uR&dC~+[Uh4vl}ބl[c ĉ'9[6M|$I̓tl;=p$#DY~4""%/Fҁc8'еmU2%k#t 㮐zol6; Cwѹ́'ҏ}XT8aEzMVI x8uPn*,cscB70y/ABJ' B_9u!ͼF+Y=p/>aL͚& Z.ŖTho(!%Z*]\\<1')"{խ+}=lw+kνW=r*qZ{I=hsyTk/9T{~mPZd)'2\Ͷk {=4MIˀ?2:c qPH?-ueD14G<@QZ:ͮ2K6Tk8E k> [ocoKK9J=nVum/^:¡W Woٍ[=W'%m&fuTxNdgPGyD$Ηϴ4y|rZ Qɜ:L)oQ'r q4i65?4sB:s4 ,ǟއG(!S=gAdNIoQNS6p!Rئ|[(E Y![,pӆщ-3YeDr:#}o[d _[$E(|i5q ]}c*W)g*%W ZS\m}C?tkO5۳bN4,#G^-:L)Wi$A,C`;GLLPɿXW 3MA!)gX O; TTY?&) lNPX̭)Ef:v6DߑWLs~S꩜>#wY'N.;+ẋq{qx {0UP},8m}'R$F9)L~Z<%4Pnͥ[vr}睩?+t(_z;ǑջRc ΅jɔ!7.vVA^(B >8ӒOX*'8~8e⤳h@pze=?BRYvAC*z&~̵^ ~>[ēkh{c-)+=lR3]&xco-nBQ?QIvÈwsld%Hk%[\l qwLMZ"ǵ<1h'ct5}԰_trt)3~n|lVg:4_g>OۈA(o8 ϙ].)G w$NZ7U4i)\7RIg!,wTb[ U|߽r@5.unAk1 lD.-$,uS#^7"} nB)dܱ'?4/NjyD(Wn8\oVܜkVK]@/2PbOc7eRou, D^ (5? ǹO=<= U"ŕޞ[yCR:nҀO4jxqd@GIG=x.0+ U+hS(I? "*Z~!i^TZO,\tq f“XpysE+rܔGwХz 3 rY^iAy"+S! ogA4-xq=.i^G%ɀ-#AD8㺎wVA4ѕN[vk+BBk!>~ Ż|w1WW;>@  paD<8}#/@ip|RC2 #N:7'oxB2e{c'/hO e([,sJ x}ӿF<>k gѿ&}r$ɷ ?uh]mi د JOnrUc+:4EJ)T>}Rݤ>%C&%=e~8-n  ⃺綗Io]Z0cI}^y*[?ШC4ڐ B/D^hH$J~ޒ1ʭ{*wlBd-b Gޘs%L?OD *L&z(Q۫I9d"O"la v 4<. ěO/{MIwyt z~It_vP9}"K_!ÛʮT-PcXzЀapKD\zdT?( ϗv ܱܧdzV_}>ק66sM-W s@ ߛ<@ cEuc(2/_7JIjc?@p;E(6t5ףgMtn)4#p#ZG͜Pά7 x/-<9'Sp8}D; xFq)GOjv rk`c;.AܵB5=sJiG΃~Azbmvm(51>tGskHAs_bri> J5qV%I>Z> ,aH5ݘJ1=?L,/>}u\n9:dx˱f]S̀$}8]t`!>"c#w/FQ=is`yVR+e'C/V>緬mi˥f6_P H j @Vݜ$=\RXH|$P,3>bDR%ikj׳ hT.Wz!.}3=褽GVr 9;RCdqp0<ύŗW|G\ֱao`c4o~e _N,{;6hfKc}j'A$ςYaH&HD} 0f9~{@9olZ t#U"LT%9[aW&{m9ԂJeeKŵ3P$0^جkbȥ`'KmI)`5xqyQܦl*4ϙTݟEfܜZw1Pp6)EtSR>D/oy@xWƑ+%긿o߭' jz Pݺ1^d1bjΊ(AO@x1]/+oC3= =8bIO{|.* eSǹ}? v/俢{P-֨둲%MA-q~sK!?YunhG} |yJf¹|+T]Z'dF2bR̜u')&*`fj9ΊH,`Q}xY w>Gw$NY3i/xILJf`UȚp0~ jl[qROVss6@nAtBB( ,6nv\w_RXK^Ӿ Y{m#_%g}{/0obx2EL 2k$fA bK,Ѡn^uOOp#biu"T~BɢY4/Zat .I<T%bũGJ#S9,FJ[V O&6Ŧ<-sSOSQZ2 EgVNS%y)g<kW.i;4ԇhI+2l acK]DuQ9beVYVx"r _!&H }7䏷& ӥ:2+}N =I+M! ˧sI0H?/ vUzy-"cR2U](J)]ǕY~r!^-֖CF6-Sr(B8NF!l̯ziY0~Iء b @@Ub9t;/.OFkw3Qrm̚0eq)6Pf|Y鯚-hnz˽)I9pY?Pw><3DzBu9[uSz >VMx 5WE?]rirjss?LթJKTsg`v9Y>gc?Sʾ}-;[o+7p ys{wzTY| m7N%2iX/{jan}OS F|}M'aY{?BHzH}8!^]5Q!(mO&_nel ՟l@ %߁򖐾ٜ"%,&wA9}G`PX?}\i0.!g{Y'>cݿڿ}k A}>_E?S!f?L:r7SiL0sjk2} t$$qwOz҅dO$!\ ȵJһIٞ)P^If D2(U֙$5FKVy8rmʙ8a[@p3myqmhR-69tU&he9M =Ҋ5wW]=HG9mnwI)vӨfD{mt%7|1WN0\\B_,#0$,zsi I{.\=Rk0 Srt˚R'01&c>DvlWTw3pa+4,;$ղ{ hLEfwČw= )eҀ -|* I,DY$ L?!,"N׎ߚ;b~+ܴ睵$kew|4M%є(M!)52(3uBǷ}7-Yh51Qg͵*hvV#EBo;Mz/+/IW9/F4{.Ĵx ǤJN~o 5G y&p|h |zMevXsNgxZ_=n {R|ӏ= 7G@'Y't`[zʋi#fPcǎ}iM; 5V4++W_dn/ \¯c2 ߨ>sV59ߚXK4_߶oP MO+n_ȼ 5tHj4OQtu¤- c}_IM.w;'^BG\ԯ#O@Ϲ̃C"^і+M=Ș"]T<)γ=f)V_Jy._ 0SL͛_zbzc7@ww.3$HFdkG8:] (=|Z$&KM،N&vBHսɼ1SbS]P}5A[++I?AAKda1?#1,5 '.H&!:aF8v'pJΘ{їMgFOlxZ*]%<ѡ.igW]UK=c h}$S/ԍ͖CKU&IL08F.r nW@J7iGbrP$n6ֶ#}qpMy'FGx}q%tIybEaxf]ٜEhj} \G/'~7k^~m$R!_/^ર.3'.L }X"&E(-%gcD 9`椦ǘ+_zîֺP&ITeSS1@܉UU6e|VSkD|>fCA?5ՊJ) ܷiƜ:BDA.1f .ϓOĹHG!;IcM[tإù ЄOٲoih~Q161_9Peɶ4G L80{wJg>;6h;I& #.q/Z\滻\gKWot[E]8-뤫6zD&EO4]D! KAg%fw]s(I䓩.:Y uJn 5(gFt ݿ$FX x)Lm#]&~"| B?b՗o*Z9<605IIFQTQVtZ yaM bY LǷ٩dEaN)(diqtu&~jI3F V-U291]ܥJ|plNնE,H;3 ګB. rU5GDr+C2 N5,&ʧZО[4@Qj+/+gm՟K&/e՗~(?l2;݁|rWIANN24E9ok۩`IXRd^]l=I%} bսSZ8Js T J:;vTe(! »gۼzaŽ݁HW aiټ3 \\fWd *zx# D!$0v:Z97y~n3܆VђwPI8$\aٺ狺03- ٣*Jdޣu$=tqbK>pWSوaҬwjp3Aߓ [3RXۇ;/*Z`)[OE8I|\zf~ο5jMyV'xp+|a|}g o]u46D13咜67 ڠKFEF#*+nI0́o#IZKR-)ҵI~5U;j {seƀ5]wy!r{y x?9 70\PGwo[#Tx.ѐ $ln~V$;^FL -X Y>xR91 AC%el< yYF7OyJH282ch*D3RGhGosfY-!_7o &wmϭ^*(r-W{2V\SPۦ=a𸽭1qCvud0aaHJy2&ךf\<|Xc_̚~jk`#:Hʒ7'7Lv# Ͼd.zJ U6(hV5{h "%oFf;y<}f2c)6[)rT*4sAwVeuirM+ QL7MWa "1y"}Q1ژ-ju*QSWC)љTn;Յ]rLщ5,3Eňc ?QTх.:S-tP}V 6?)5O LFC4;\l%{-ZViCR$s$ ~ :E|ר w2 ն0Po|7FDCK(j*鉎'ovC9 @AHӄ@ 㬪xWe{ZX#жtiIq.I% xx́ð,x:"^s/9=g) ;]yMSW$5-\oSgK_UR$bHcDCVαy:K{OFvېjINEU SAE1Y{clXIŜ"삲fqgh.ԧ]Yْ=5G6u'ؒ'?ٛCpW漗]K0ذ5 (`Gs*xؿ,OQ{򖒐Y.<{"te:B `ȍy9<\L,[}c)I 1m)G]ƻ1Yեv1+>k|PuSdǞQfBqY¾f\OCvV4F:?V,U=sALITtPAzm#Ơ mmQ2 ¦2ag3ܛ"yGPMUiѻQP{l 9 *'hW MˑOh 9yH(dgSB9 @}_uq B;|y׍"t0'!G'X>ɾ&+H){rؕOb*aԣ;Ŧ iv6#[+OxM2`+a$3u:J!W (z Nbݛـ8'n bG;/n~ `~\ tHbi#ċF1ۍSy15}Hx͠/έ{AKctzx$#«OEO}x÷A+.F?{T6FKD))WXz߱#7)1N>2S&\FWX=:G薙ӣƤhy΄˾}݇h<Çl>Sjᄭn׀M= k:1A ~r#x[.A?Hlsm>,bNYkO*-S @#2vFv,CpK219)ӦwH֣&;&tLʕi"_":n}YRK=_SǏg[2"& čZ(05DxT ~yZQC(ZՔ~GwOθI2]Z, QQ[V6b%t\/{s:βu+^Q4 MN NL/7דz:5ѶeLSt&*۱i9^/}ﯪ 5'O_G[KNg3Yp"UK^{4K[n#K'2n(=>@K G5{ѐE!g궶|VE['*o9 zUZxii焌 SamkK) 'Q>mX+ep>A 2fETie)r|xikCRGNK-%|7:UWLiĩb!,$)˚9~ٻ:ZZjkriVxty0cĿwkH<|O}?M5pe"w|RSdQcێIduگSaK^[kMR~.^_l]=l[')i&h _IttYYF/pRAR粆&/'m.$HĮ(znb.. ~x'00% `` dϝZÛ B^%Åc'M 懢.ꄣ[4" BT% O|P!<<NNv\Vt~tƶvIWKCKy<Ǿl!4Z1oad߳%5YEZTB-dD.*Kuud'3{?_[9y9^R?P b ?$$dbb56^ RCn0Ꮓov_6vsl_nuԍ'†ݏZY_H'UH/9w=>:R,ylV7ɕs~(Y+. OaQ&hKiJiTO|rT 9XPawW=yB=,kc&1*͆8z_`uq\FKd$cs]<1x9bOf̓{gڱ,E{f(x 4qlxu4<Q5@##.NPv $Pف#`HP0@f`D3@D?b !)w9Íl հ.c@y*ZY\ĺKp^_r3-Er|U*t4 e%eoʗo*P0QXf.y4=|FYin%2)D^ۜ*rLD_K`!P7Z_$bgۧ0QrzjLsl󨭓IebP5;'~,[eKM#c6璫a#u0w%f'HGm)wIִu掀CX˟XB;#XOH]=BHs}X)1#k;&ݡ1j>1HFun_}-QPp\d5` gf}l#c6qG{ HoFf~=|\V2{}$sz=L!)ߖwWU焁z:#SglN-teMFZo.;TjԐ:WJg3Z=70oOQaΝ#&c2} fU 4{|9z LYR:n6M\NeMQoM=_xT4n[B}8Ӧ"d f׮e˽6HgGR&~|D.A/@ ׇe|.KG|_7YsLb",ޠŀ V XkռM@MAa ݗB%Ѓ0 1j*) z0? <[ݿ~)nϻ{76cϮ<*M#oȿ <t?H(͆ ~ Ÿfk15g&xΧSġ8OPc봛E| %#tP:)l' 2L3&mWz_GXT+2{oLvѰdL3oJ?M։:c.5;VԌta{X Yu#W~F 2r `Y{:Z4< 9HP`#;қ0C"IDą m(<`ଐ''8-޼ltg٥fL7{!6$=Olv)o쩺7U$SLaUS:Lc=z^?;w=AhA)H)jQ3~ Z|7 {$pcf-vPy棹kqg;+7؜^mGnHu(6́*=4UnL6<-<{{o2j`&:橽`ybUdp5#>mSe?,٨'E9XŨof4]UZM}!ݧ\MKK}2€ VC!!j4cSp+f]?ޤM@g4vH&-Ϸf•k PNb%ߺN4zM<.gS_+W^Uf+<_|9zi@Wg "P,r5Y5IwH6>RbyB +Im_Zo~tk̝JAt%,aNRuMY 'VŦ oe18}[ݦ{D]&QCu-2e<DŽLQ#P?eߗ"SMdB ߺD)7ܾ ID5܎;RZ$iD B'l})ߖrU$s!JsUgK.wTU6lAl%+ T=(kI`czң?y,v[}igtn!B<"U-Imc 9]xC7=Q>1E`_nD_I%3\ϷMKŀYd޺Wk,%+u18İJH}y|ffNfa0*08SxAz-BST9O$!@a/N)B@u1<3-y^Wᣔ֘:D@L눙9TN OvN7xi'N {Tj`5do 6:іmyn69Fo*o[1߶-M敼d4KNr=|M\NGNŸ~K|<6/mۧmOcMT=IhNmqGwlkue۵YѬm|2{^K\kWI~J@Pr9EлL>jthRzCUߢ2g>Qftmthr1- Pl^EB@M G̓2V ceT"(Us^uԾ 8R}-ew|:߃Ao{ڍy=g5J1q벂/~J23k9nehfNyٜxA"9oϱɖ8Hbk /)Rsb^xEBq47 03զ{ax1Vm 1bS^mp-"?da*b$;Y*Rk6 /_{c)kgo1LЌ+64?tz4ЪhU:Z?® p3XCр~@p{kE^֌x8cݛϝ-/eVq b0ą@<=1ލ9:ǘUĘ6CQs|=`[haK¼z˦^'0^ЫwXLԈ,7ԠGn@8$Y?XqƬl&iXXjRx+LA|&Pb5g+#JjZs猆 ͥAkO'U~s7E@SwC|'QY0.3A*#?(z}r} N_c:4@]Po-BB # GCP;TC!9Z  ide,2&Ȑ1< p,np\Uqr0DAwX!t $yT=pd@4v8/?dMb/FP| tЋH:HxuE=]"KT- ''b~?:h48H!ʚP@2Nx8ԟLTT6$h+(Ch/D@]ڲ? B%' 3XgFI`s>>0!0 +3fLGvL00m aLK$0  *H 0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Code Signing PCA0 081022224138Z 100122225138Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1 0 U MOPR10UMicrosoft Corporation0"0  *H 0 w@OXSVc t[n;]+U-P3QnLkf)ӹuH`MUp5&l˴$w-7M4J:$mz2?&ksr~ƻu"qC,/*~[:-]C~3XKP<@,g%o?*iw_hO$ Z.>u &X%ǶփU`XY=9-Eᓟ P~8˗{00U% 0 +0U#mcfAd°hH0U0U#0WEt]CT-2H0IUB0@0><:8http://crl.microsoft.com/pki/crl/products/CodeSigPCA.crl0M+A0?0=+01http://www.microsoft.com/pki/certs/CodeSigPCA.crt0  *H Sj`}߫5z~-f:6/=AedmJ3mRx\øni LQ7~9zPbGo6?ˎ;e 0:?bo9A7"PLAa92~ɑ/G7Aa44dqL;To.I\<\Y lH-XBXkodVs+ƽ/+ɨ{00 a 0  *H 0w1 0 UUS10U Washington10URedmond10U Microsoft Corporation1!0UMicrosoft Time-Stamp PCA0 080725191250Z 110725192250Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1 0 U MOPR1'0%U nCipher DSE ESN:159C-A3F7-25701%0#UMicrosoft Time-Stamp Service0"0  *H 0 ^w[vb|h5yZlQEb&z/nægQ,ފ 4*D'Z-:VSILX%fR+86]Cac916irZL>%B>2pUS; 辂xm͘of5ɞ6 &4;>G X0:v㭕f `ⓖX"+ۢ@00U $7 jM.0U#0#4RFp @v+50TUM0K0IGEChttp://crl.microsoft.com/pki/crl/products/MicrosoftTimeStampPCA.crl0X+L0J0H+082S2npɱck gٝj`fR&;jRjx}!)b% WN*ʻ!?NRydPs5^]RQCF,$ Ʋ1~6lLg*0r ;$[9s-l1kK\32| /  Ӟ_UnBK:M+bn fyO̘00 ah40  *H 0_10 &,dcom10 &,d microsoft1-0+U$Microsoft Root Certificate Authority0 070403125309Z 210403130309Z0w1 0 UUS10U Washington10URedmond10U Microsoft Corporation1!0UMicrosoft Time-Stamp PCA0"0  *H 0 lH*|k.řQ#PN$ѧLt0 TIB\0&k{3$g,{N#SʍE ^аBlg(FS(F.'OUR ,j0nY0~֗!~SmREHJGf')fJG UxP0F#F-TxA1w̛;a "KT 00U00U#4RFp @v+50 U0 +70U#0`@V'%* SY䤡ca0_10 &,dcom10 &,d microsoft1-0+U$Microsoft Root Certificate AuthorityyJLsX.e0PUI0G0ECA?http://crl.microsoft.com/pki/crl/products/microsoftrootcert.crl0T+H0F0D+08http://www.microsoft.com/pki/certs/MicrosoftRootCert.crt0U% 0 +0  *H \D6鴭wyQM.tq[m ξ{.mbWN Pz@WXx;⾏ ȍHSOjՀ/*$"px. pNk r9g-Qb\? ?21Jv1=+r p=  a׸N5+^} B{Sr!0ʻxe\[ 3kir|_%D5( Րap-o,ݹ0qxȩg z ¼W?i00&Ԟ{ IERu{".VϩN< :ŭj"#l'~2y%B❅WY/-&)ųׅ`Z{{^4Km'Тѐ }|4lJDyh(" ,Ha#00 +70UWEt]CT-2H0 U0U00U#0`@V'%* SY䤡ca0_10 &,dcom10 &,d microsoft1-0+U$Microsoft Root Certificate AuthorityyJLsX.e0PUI0G0ECA?http://crl.microsoft.com/pki/crl/products/microsoftrootcert.crl0T+H0F0D+08http://www.microsoft.com/pki/certs/MicrosoftRootCert.crt0vU o0m0k +7/0^0\+0PNCopyright 2006 Microsoft Corporation.0U% 0 +0  *H 0 b9&a=ܬƙІ.2e^">ֆ趟ʋ;u >LdtIglfF:FBȑ7$AwO_R/>V[uSTie$%MPO "Y"t E{YL`xѺk~D@ҽKnU8HUz }۔/{kdO,4)] 8/ V1i΅ ֮8 nOL)) \\V#W &6Do阵sx NލKֺv0Go,n.a=Nj58*F( 4T&./xAFNb1-6|Jy4#vgmAf ?"GMU w2yV4ԡ*܂/ū)f#у,0 *H  1 000w1 0 UUS10U Washington10URedmond10U Microsoft Corporation1!0UMicrosoft Time-Stamp PCA a 0+]0 *H  1  *H 0 *H  1 090714143223Z0# *H  1OZi9*EtEnT0  *H V&#*=(-K YUXh%B&Ҧ}VF뱅xu\T<#Eo&.~NB|Ļ;k@jI B51Fi݂|jPkId)q׺nzk}:.&pE8&>kcqe|j.h̃'׻9;La|ڝ{8Q@b)@m֐D%`Sv7M`>̆k1$RcFXPMZ@ !L!This program cannot be run in DOS mode. $#pABBBgMBBBgMCBgMABgM@BgMDBRichBPELjkG  c  XL  x h "&@ .text  `.data@.rsrcx V @@lV:"ޜʜ|̡(rdT*Pj̢<̠ؠ\Ɲ؝ .>L^nžΞ2LhpƟ֟(>L`vN>,d؛Λz,<J\|NZdn@~bjkG#@'@ Z%s_%06u_GetClusterQuorumResourceGetNodeClusterStateCloseClusterOpenCluster\clusapi.dll\\.\?:Global\HotfixNoShutDown *** NtOpenProcessToken Failed RestorePrivilege(): Failed To Restore Privilege RestorePrivilege():Failed To Open Process TokenApplyPatchToFileAGetFilePatchSignatureAmspatcha.dlloptionspatchdll$shtdwn$.req_SFX_CAB_SHUTDOWN_REQUESTShutdownSystem: Failed InitiateSystemShutdown() Failed with error 0x%lx InitiateSystemShutdownExAadvapi32.dllFailed to Adjust ENABLE_PRIVILEGE Shutdown Initiated in Self Extractor WFP_IDLE_TRIGGERintegratepassivequietextractextract:.%03u.sysDecryptFileAruncommanddeleteverifycopy\..\deltastemp\ext%02x%sramdiskharddisk_sfx_manifest_cdtag.1_SFX_CAB_EXE_PARAMETERS_SFX_CAB_EXE_PACKAGE_SFX_CAB_EXE_PATHhKe_e  .>^~~ /?_ H(p'RSDS_-˴-A4ghsfxcab.pdb fUE S3ۅuW0VWu}upVW!|;wu z>_^[]̋U(EhPDžh txulr3@3M:̋UQ SV3SSSP SEPVh5  tf9uua=SdwnuUuS @hhh! =u?u% ^[̋U(SV5 W}jE։P 3ҹ@BRWhL"P!jPC u! =u?|+P ujPP Dž֋M_^[F9̋U, (EhPƅDžDž WOGGuV"P 5 h"Wօh"WօSht"W֋؅txhX"WօtfPjӅuWuNPtAPPPPPVu V[W ^_M7̋U,(S]VW"}fEEE?:\P] HHtHt\t3Sj_N3VVjVjhEP] ؃tVEPjEPVVhS t} t3S M_^[D7̋USVuWH@u}+8ȃz\t\BE p@u+Ƌu H˃_^[] ̋Uuj5x ]̋UVutV 95u%3^]̋U}E u ujPu +]̋U(EEVu Mu0F"W3j _0Au_FIE;sM^5̋U Vu tu uV5\!u: E"EEEPu ujVjh0 u uV@^ ̋SVWh` 5 t Pփ% t Pփ 5 1Ft(P u tt jjvӃf6;uˋ5  1Ft(P u tt jjvӃf6;uh` _^[̋UQQ} V} tE} =EtjPx!h(!5, }39ut`5$ h"VjV!E9uLEt;tjVEPj u uL;t!jP 33Vu5|!3@^̋UEV t u@WyAu+A_r34"u#"t F@u t t F@u3@^]3jZt 5 JuAr̋UUҋEM tVW133AJu_^] ̋U(S3ShjSjEEhP tVW= SQVQPׅ>92fMZuLSS@ ;@SPVPׅ9PEf9]9]}uj5x!;|SSu ;EbSPuVׅFM97ƉL8u9jY<"3u)Hr;wQPjt!@st, FA9uQA;Ӊz=! у;ȉSfHB>Rȉ;f\F@jf\AX+f_+fX+fF+fS+PSSSjVSSf_;É9Pj5x!;ÉSSPjVSSSS!u_PSSSjSS;Ét?9u7Pj5x!;t.SSVjSSV ! _^M[-/̋UQQSV ED3;t]jSSP Ep@:uSMQ+Ƌ5 !Pu5Dօt+"Wx@:uSUR+PQ5Dօ_t3Cu!^[̋UQDeV5 t PփD=t;jhjjjhh Dt#uDEt Pփ DE^̋UEEE V3+EUtHue!uEEPj(j!} h",;}Ett0PuEVPju!u| !3@!3^̋UQV39utSEPj(j!} hH#5VVVuVu!|u!3@h#u!3^33$̋U=D(EEVh#h#P+t)VQjPe*tPPh!VP Ph#P,P Xt%5 h#Phx#5XD֣@=D^u D6=@u @5M+̡XtP %XD6@5̋UEV3F8tuP$!u3E8tju P u3^]3̋U} vW]ÍEPuu u]̋UQW3WWh#!VVh#hWhjWjhV Ѓ trS3PEPWSRSdwn ![t9}uVh# !5   ^_̋UVuu =uXPhV@PhEPh 5\E!hEPP5t!duF=`th`,!%`V(!jhS.jjd5\p!%tj(̋U(SVh$3ۉEEShLDžHT8!h$;th`V4!V 9]th`h'!HP8PSjuhl$[3h\$ ;ÉPth@$P TS5$4!u3FJW= 9Ttuuu SLSTuu SSS( ;=[t!=tuh 5$4!u3FPh $hPPy= XPDžX׃\XPDžX@tlhP tVj\P!YYShjSjXhP tW0!W ;t j"_9Pt P 8P;} h#ƋM^[!'̋Uuj5x!uj]̋UVjhjjjhu uPUjj5V ^]̋UjEPuu u ujE]̋U}uGP9ErEMVu W=HȃE)PHH_^E]jEPuu u !uj̋U(VMu EEP3PPPPPPh j jEPMEEEEEE tEPj(tCF :t>3;.}u;9}v6]mEM􍷠 1 :G;}r] t tu_u+Ƌȋʃ}󤍸u MʃƄh@!tEM9ew=ǍP@u+ƒE? _C<-t\u&u W tWh E\F>uϋE_^] ̋U(S] VuEƍH@u+HWʃ󤍄x\_t\@uSP?^[tOP@!t=t9h\$ t%h %P tjQЅu 3@3MO ̋UH(SVWEEH%VPDž3hPSW9uPSj jh5h!PPhvhPjW\PPhBhPjW(tPPhh@%P!YYSSPPhhP SP؍#PP@;É hh PPtq8u8 t ؍#SQPP@hh PP]u!VW;h8%;É 5 hPSqd9uPSj jh5h!PPh7hPj PPhh@%P!YYSSPPh~hP SPP;Éuy unhWPPtQ8u8 uSQPhWPPuhP !h8%;ÉLh0%;É hPSO9uPSj jh5h!PPhYVPj>P!YkPVSSSSShGPD;Éum uZWPtIWP$!t7PVSSSSShGWDPW$!u9tKP!Y:u:tN:Ou FFGG:u3;t!h0%;ÉWZ(%WMhQjP%PPhh@%P!YYPP!j\P!YYF9uPSj jh5h!֋+ъ @:uP u?h!hP P uPhPP!RL!W{;Éh %#V;ÿ"tghQP:tQj=P!;YY|  @|:uP= |h%V@;tzhQjPtbPY PPhP0|j\P!;YYtP9uWSj jh5h!M_^[̋U(S38EEDžc:\ƅcƅcDžt x|tSShfPPPujvVWjEP, jhP tq5 WjPօtPWjPօt:WjPօt$SPjEP t t9u9thh hh  a:XhPPƅd ƅ\#P!5!$p%PօYYuhh%PօYYlPhPPPPPh :DžuWu&;rw;v,;r$w;vz39u h =t39w6r9s,9wr;s jZ9rw;r&9fw 9XhjVVP =!EPj tZPhd%S3ɊMȃ j^ t2D5Ph\%׃ F;rڀ=t3FVSt Džuu'9j utVhP%PSXPl lPXPT!lW%P3GWV.ujR399Shz>5jk5\p! ;tU8tPȍqAu+As+Њ @uSSWt Dž9t_^M[ h(9ujhau.h ̋U(SEEVu 3;W0~u3@P3fFP3fFP PPT PPPvX v 9u#;u h)SShjjPh!8t,PvW@jPh 9\t N;wPU|PB9u 9uh%v!YY[9HuW9tOh|%v!YYu;65PFV;YLujHH9u;vSj jhPh!PvhPhDžR u+hPt3@:u9t\SSPZShjSjh@P tSS65 WW\ SSSW։= j 3M_^[m ̋U DSVWj3ۿh`]=P 3F5`4  xSSV5` S;ã$ujY9TuGu h~9%=u h =u %SSSS֣,EPSShA9SS< ujj5,4!;u h95h!t,h!S5!5(5x!A5Sj jhP֡PShjj5Sjhjj59TuiSSh@EPSh|,hK,h<hX<h<h.,h;? MQWPE <9u S5!9T9hWh 5\!hhh 5\!WSj je5hSj jf5hSj ji5SShjj5EPShjj5j5!SShUSh"h@u^9u 99TWh|%hShjSjhW ErSP@ P@P;YLt6SMQ5PPu tP9Eu LHu 9H W 9Ht9t5Lc9|l9`9u5 Sj jh5֋5 !hh%h@h%5h% 8u+Vh5|D ;ÉE;rF|+Њ @:uЊ@:u+OOG:uȃjY3x@EfEEPxP5DžxDSj SSShSH 9u S5!EjPL4!EPuL u `}u]F?9u7S5!hWh 5\!h0WW5t!xL@u95hQQP&u ƣt h (9`th`,!`u(!̋UE;u t@ u8  @u3]̋UMtA< uAQ]3̋US] VuW Vt,>[uF t ~ @]up+Ht9}w3WFPS!S!_^[] ̋UE8[u@uu Po] ̋Uh(WjdMEEQPFtEVu M:utF:Au FFAAu3ɃtjdEPWyu^M_̋Uh(WjdMEEQP>tEVu M:utF:Au FFAAu3ɃtjdEPWu^M_y̋UEP/t8[u u R_u]̋USW33}s3EVu ;"t=t ,t GFu3CFt\;} wW3҅t"t u3 t$,t;t=t ~ B;Us!FuŅuG9} ju v3^_[]̋U3҃}s3(E Vu t t B;UsFu^] 3̋Uu ut u P]̋U8(S] VWEESPUj2EPjWtLDICtjXv(v(&VVVYY3^]̋U]l̋UVuV|VVO.^]̋UEMVu+D+EV +su V.} E 3@ M +3^]̋UEVu.E.E.E.E .E$.E(.E HȉFNu Vu3 V3@^]$̋USVuVWjƆ._.Ȋ%3C;.rށR.Y3Ʌ_^[]̋UVut P.&Y^]̋UU.V;W|ƋS3 ˃.;[|Ƌȋ3+΃j>Y3 j>Y3-_^]̋UE3A3҉H HH.+......]̋UE.]̋U(MU S]E .VWp}Ef}f.\]B.:u.B;s-.;s+lj ;w2].Ë} .uf_^M[ ̋UQS]VW3}..98t3jS8tjSjS Ɖ...u(.t+;+sAS.jSjS.jSjSƃ...uS.ttu SuS. ;|ȋ +ȃj>Y -Sǃ.3g9} ~j.;u |u ;t..u VPS!u VPS u VPS;D).)u u9.9.u ǃ.9} u S?9} !.;uC+E9M}MPQSE_^[̋UM.tA+Vp;+w.3ҊpWx@Ɓ.+  Љ._^]̋U]̋UEM (.Ӡ..W.V+;+r ǀ.jS3ۊ~3Ɋʀى+. ߄҉.;;+r ǀ.'3ۊ~3Ɋʊى+ ..[^_]̋UEV.j Yu +M P$^]̋UEM+SVu W<;މ] }$;+s3A;}'FB;|ߋ] ;+E } "QЊC;] rA#Ɖ.+_^[] ̋UE++;+r3=SVWjp _+Y3ҊqQ   щ+Ou_3^@[]̋U..M+M+SVu MM;WEuM3Fs\J.3ۅ}G }ۅt| s>< s <3ۉ.|.uFM9MK e*E'u3ɊnEM 3ɊȋE EEE+yM21r2AMM;s J ǂ.3}Ku߅tt?s>#!4?s <# 3ǂ.|.uBM9M] e*E#u3ɊnEM 3ɊȋE EE.~zu%j Y+Ȋ%(Ee}I3ȋEh3ɊME EE@@}E3ɊhE3ɊM EE4(&3FBBB BÍL 1tB r MGG+΋#ru0} Z؊03FAOuъEM;MV.E.E+_^[̋UU..S+E +VuEE ;WM]u3FM=s|B.3}}IE ߅MtD?= s>?= s <3.m|}.H;]? E e*ME %3Ɋk M3ɊȋE EE CC]E my E UUU@}Ms J.3}I߅Mtt?s>#!4?s <# 3ǂ.|.u=;]S e*E !3Ɋk M3ɊȋE ECCE ].M~xuE%j Y+ȋE%(E e} >3c3ɊM E  ECC} ]3c3ɊM  ECCE ]E4(&54&BBB BD 0tJ r E G+G#J2@AO]3F;EE jM .M.J#+E쉚+._^[ ̋UUVu ;})+;E|EPV+u}.E uVR^] ̋U.ME+EEE SV.;W+EU=s \B3@ 3@.3ۅ}HE ۅu tL s>  s <3ۉ.m |.;} 3ɊM* uɈM3gي EGGE+yMErAMpÃEE;s B ǂ.3E}Nu؅tts>#!4s <# 3ǂ.|E􃺼.u=;} e3ɊM* ɈM3gي EGGEE.E6ۊ%MNj#Y+΋u;}z3Ɋ%*%Ee}3g3ɊM EGGEE (&4M;} M 4eM 4(M}3ۊ3ɊM ]GGEu X3띄tMuj Y+M;}%e(E}3g3ɊM EGGE4(&E3FJJJ JˍL 1tZ r ]@@+ΉMM#Ju 1 } ru CEH׉];MuE.E.+_^[̋UU.ME .E+ESEE ;VW+M!E3A=sDB.3}G ]؅t\ s> s <3.|.u5;} (M e} 3ۊ3ɊM  ]GGE +ƉEyu ME 1P؃]M;s J ǂ.3ۅ}Kuۅtts>#!4s <# 3ǂ.|.u:;} e(E } 3g3ɊM  EGGE E]<5%MNj#Y+΋u;}v3Ɋ%e*%M } 3ۊ3ɊM  ]GGE ](&4E;} E44(E e} 3g3ɊM  EGGE uZ3렄tKuj Y+M;}%(M e} 3ۊ3ɊM  ]GGE 4(&]4(&BBB BȍL 1tB r M +#JuCCΉMM E MAKۉME ;EM .M.J#+E쉺+._^[ ̋UUVu ;}<+;E|EPV|uǂ. "+u}.E uVR^] ̋UEW +t8M Vuʃ󤃸.^t.s R +P4_] ̋U(VEEW 3jWD5F|.t3S(P(PjEPjW39u.3A=s fE(.3f}Fۅ.t\^sf*^s f(3ۉ.f|fs&f|!.DPW|3A..fuHjWЃ2;E|U+օ~# ʋ<03˃󪋽N~fujWЃf@QW؃3;E|]+ދ.3A=sfE(f$ $.f$}nDž$.$tT^s#f*^sf(f$ $.ѭf$|f$s,f$|".$DPW..uzE $+jYK;u 0FE +jY 0F;u{39.[M_^ 3̋UVuW W+Phu3 P,P.Pt. ;}<QNQj WPVtS S-PWEt<#PPjSWVc[_^]̋USVuW3ۍ4jV=C|.t3 PWV#_^[]̋UVWj3Yd339u vE`A;M r3Bu‹`jY+|@|v}t19uu%M}ȋ3΃r3kuS*];‰ur%~ˍT*3B@O;Ɖ\vwjY+3B@I\vTˋ]Mt 3@:Ew;M3@;;s#E{+ϋffË]fZM*EMESM3f92uEftf4EEf+f;}AAMufEfE@;E E33@[_^3̋U\(S] VuWjZE3}]uDEfAJujY3jfEZf|ff|If|@@Ju3f9EjYjZfl 3GI@@Jf|ujYj EZ3GIf8@@Juj 3YEEtXLf3ftffMwSf;s0+ȊE؊}fË]ʃMf1E}r3@M_^[r 3Ěp!8 t< rh!,̣!l֣4 \!lV:"ޜʜ|̡(rdT*Pj̢<̠ؠ\Ɲ؝ .>L^nžΞ2LhpƟ֟(>L`vN>,d؛Λz,<J\|NZdn@~*_vsnprintf_snprintfsprintf strchr_strnicmp_stricmpstrrchr_strlwrstrstrstrncpy_c_exit_exitO_XcptFilter_cexitexits__initenvr__getmainargsB_initterm__setusermatherr_adjust_fdiv__p__commode__p__fmode__set_app_type_except_handler3msvcrt.dll_controlfp6InitiateSystemShutdownAGetLengthSidGetTokenInformationOpenProcessTokenAllocateAndInitializeSidCryptReleaseContextCryptGenRandomCryptAcquireContextA:SetSecurityDescriptorDaclAddAccessAllowedAce3InitializeAcl4InitializeSecurityDescriptorADVAPI32.dllGetVersionExAReadFileSetFilePointeroMoveFileExARemoveDirectoryAqGetLastErrorKCreateDirectoryAGetTickCountSetErrorModeFreeLibraryGetProcAddressRLoadLibraryAGetSystemDirectoryA4CloseHandleDeviceIoControlSCreateFileASGetDriveTypeAHeapFreeFormatMessageAQLeaveCriticalSectionDeleteFileAEnterCriticalSection_TerminateProcessWaitForMultipleObjectsPCreateEventWSetEventWSleepSetEnvironmentVariableAXGetEnvironmentVariableAWideCharToMultiByteHeapAlloc)SetLastErrorWriteFilenMoveFileAExitProcessDeleteCriticalSectionFlushFileBuffersWaitForSingleObject}OpenEventABGetCurrentProcess^GetFileAttributesAGetCommandLineA}GetModuleFileNameAFindCloseFindNextFileAFindFirstFileACCopyFileASetFileAttributesA\SystemTimeToFileTimeGetSystemTimeMGetDiskFreeSpaceAQueryDosDeviceA@GetCurrentDirectoryASetEndOfFile SetFileTimeZLocalFileTimeToFileTimeDosDateTimeToFileTimeZGetExitCodeProcessfCreateProcessAExpandEnvironmentStringsAcGetFileSizeoCreateThreadOCreateEventAGetProcessHeap$InitializeCriticalSectionAndSpinCountQueryPerformanceCounterFGetCurrentThreadIdCGetCurrentProcessIdGetSystemTimeAsFileTimeoUnhandledExceptionFilterKSetUnhandledExceptionFilterKERNEL32.dllLoadStringAEndDialogfSetParentMessageBoxADialogBoxParamA;SendMessageA6SendDlgItemMessageAShowWindowUSER32.dllNtCloseNtAdjustPrivilegesTokenNtOpenProcessToken~NtShutdownSystemntdll.dllCOMCTL32.dllSHGetPathFromIDListAySHBrowseForFolderASHELL32.dll K D@(H`dxk     xx4VS_VERSION_INFO?StringFileInfo040904B0LCompanyNameMicrosoft CorporationXFileDescriptionSelf-Extracting CabinetVFileVersion6.3.0015.0 built by: dnsrv6 InternalNameSFXCAB.EXE.LegalCopyright Microsoft Corporation. All rights reserved.> OriginalFilenameSFXCAB.EXEj%ProductNameMicrosoft Windows Operating System: ProductVersion6.3.0015.0DVarFileInfo$Translation  Ȑ<Extracting FilesMS Shell DlgP :eVerifying File:P:fPC hPCiP( jmsctls_progress32 ȐDMS Shell DlgP gP  lP0(OkPP0(CancelP0(mBrowse...File is corruptExtraction CompleteExtraction FailedExtracting File:$Choose Directory For Extracted Files To Directory:JSetup was unable to shutdown system. Please shutdown your system manually.\Unable to find a volume for file extraction. Please verify that you have proper permissions.CUnable to find a volume with enough disk space for file extraction.MSCFK ,Gb"< Di9 spmsg.dllP D:= winusb.dll  i9 spuninst.exe p@<i9 spupdsvc.exe`:ψ winusb.sysB`J: syswow64\winusb.dll!`::2 update\winusb0200.cat ~}i9 update\spcustom.dll +i9 update\updspapi.dll *Gi9`update\update.exe q:, update\update_2k.inf z:, update\update_srv03.inf:, update\update_xp.inf<s:, update\updatebr.inf:Q2 update\update.ver^01[ Jq@RP?E;RvHZ%!XEpGaTR6HJRTh^24"Wv~_^f R`"7K1MKJć 4VXmHGeXkS[Z#Hv`q`QQAQ(,ҽ[W~uՌ/%'ra eKŪBLDٞB~g[~/ҿ ?'ѼW~|߃G2>xI_uxKmْ>)pXJ?Qr[[cΙG&uFLxCNo )ӕUqnᙥ7(+CN`ƖCLwC&(?<-u.2"yo8/XtLEhHDŹ@ok^iN6~|AZP(X'lN;FC H v8~D & tH_@QE+xϓ.|XakEz/ U}=M=4:B_f|sUt$֣uHȷ'=P(~.^T?>U}:ծ'=Tjtbg'VBTvoU,(ӡzx:]Y-D'R 5OEsJ^$(U3JIYYX%Q#0Ϟ5#4o_^5T럫TëjdK;"ǸOHè=1[Os8^ =pbLbLBNuO[GF.|^-Z9~N+nos(G(*߾{[}*UT"P\۟"߬5GO;[]c{/+1۠γcЭ"jO!j=rҿ* 4_I{=Cow?JXF+S S\ *{թJ_lE;{^0ygm'т=SGa2w{tcUbԾ^6OkFi|#ڸW8]}myvbsi˫i.4{*1|!CH:P\rOHzdzO*J yHq A JقʢHG00t   Au43#~0>O @Ɛ.[J[M<,|)1,`@KHHL$w4JQ n,خ LӸed*B*!u-lMmL|=iL@W j _,JS.Wږ9XM+w^ ??9GU!dSs($ &:Gp7<` /3Zg!V6ۣ7cfqMn3)#ތN{eֶɽJB#L%޶[gȋ3Gw1#*&19d8);▇1a[^#^3,e2:F,)?q7vqR&-`ɋRWi82lewj0t7;؆pqZH##k_H] p<oy0ٴl.؄넰 3jlYc-Kށ|Hp,  \]޺>Ō˔$ۨi^ `ekY:;CLhR΍Fd-H^.dKLۃ\or핕 ~_,:a,͕uahzwxUoHU;2`< -f]ȔYnY1c"/<>kv A{Mf4 Ϣ~/K!X3[(QMoN! 3R`*(ujk^ΐF/:2*2@TLDBliqWR_m{"r н*!Y9 n .ccQ.zWL U 14!(#M (ĸ:A.UKL9x\raBlg8VH)./Bv Xu6f Y@-5u$sVqJR2#+|UYg%G fF@fIKObe^xG~óTsL7yUخj sPpJ.BD O},Q`x1 g*czurzA=\UJoqCK8)u[<uEYїS޲FP[<& z1uI^j DM HPMBo22"R*Vg&R#ap51J>o>M)X7=NUBT^c C썬x\U=z^Ȯ*|dF//ƞHpSirN?5qf8S`icN ϐHv;4N#qɂwɠMge{J6+UesHҥc苈\:V Fa6TOmU$b. 1a]|G뢰W > uvk!J wsv@Cw輬FJjnk+|%< *2HMGWԎA E#("! 6a%6;{m2ˆa,.ٌkyՔ i[>LF(-Wp)حU~vÇi֗[w1^v5wX;y_FRKZq;Vz4̼xۇyWr,s 0slї /.il-{oPOL6,T޴3*U#f9g6Ŷ3ah=VtBZIz(pkѱo{Y<&黴 t':yH99ׂ~A+~I*mJ6s{ѷ[wZz|Fw5>15Z5p`QYG~~||B~Ҝ5_E>XX6G+?HB0P:Hxԋ.+mWsᤈS5Lʰ |/qB v%>[äU ]3 9_<J$+$ֵcs{_43Or[$Aڷ(pbTԫ\*EDp/634g?   d1k!NHRRqݪݲgI,G P"|Z<-N,Ԋv2SiUҸ䦐9mE~0fSlfau7qXYΜs)/Mgdzk]vPX̳f˘fע KLhlkO٠ec6WW4XͥcV$< TxhNIhwߛ$abwPy)MYׯSGﱪ<|u80-;6Y0IxuMS m[ˣSvmۡ?wy*Ws/UzwZ OHW[ `VU4/Ph xݗ;Rr~MAR~.sU{._%WXl٭c{&\nd5kGqLa2[y]h4˛Z/-ޝwnci&_2K%δ4Y{X ],3̳g# ,k-/X@P@(_&eHw{[ڰ=vE`IX?@Lr?ߵT3uj[!+cR\l I@9;@n/oF5ńpbSia jw>gIyN"DHD  `+yaSu+H0~wȺGBcCBYuD`ϿT\+}*`j/`TyyGzFui*i4]Ӥisgn9}x7Gĝ5Snbn>ω*P64mz]7*;\4YT}b+sAjR1L=f]a~5wͻ[OnIKh$5:&p zћt`SA_Ia o)F)4]0[$ lY3Im[2xap=[|{,Եd&IʝxdsύhnMA$?Uzm;B/sʔP21ҟ_ ܔ@{GQU'sb,RJ8[#դsWdozpS 5 Eto j4|L0k],mDG Ƞ41fм$*V䎰fi$ Ze{mF7ƢapΓpmvb,ˇpg%(`N.%ëR҃I`Lx|RlbN&)~Wܯs*%-x1 khvuۅ>(;Kq26tmAi ov<`b DBb% H82@A%i^)6qjG%BZ[G\˓=7/+w?K+0;XAc~?W&kD ю?'dGn6_@8 +p~/r0GXk{7v:"7ytzH9+9 {aN,ae0%4xЅPZWX+|+ 200 F<o(:O*mae5]+3ac u!Җ:81-՟qɱMNA%F-!5OP:Ta0Z&e-J@ b}8 BD*Tp E<(07psɟI+>֡|?.V.C)V7w2}!ǯ';$mWqF1" M{^i4U#TK2ӵZg}^,mS Y5R˥/Py?ruMV2$ܴ<ӷ-2]o%bg> s-KJ&2dnJL5RR/귁ZE@|JT(ͦƹqe|6HT;|lM+Hm@ߡUZr|(k\{}s2>fo!r[M J*zUl}!"0Y6ZJY7J% aL T$Z !ejYꢵYE2.*xp~gG2U0٘:SNqё0\nҿ  ap#R`|i)\fR@;;t㝀HCzmX{3*A)ǝ/02`HHX] Նg%FbMY8!-nwg+!ߪlE[?6z'}UG>We q_ , J[eB]bD uf=k!H͎F%#:^:Q([Wɼdt&SgH{G쫜"gx^ybAi0֝l41 )2%=xܐA3"RB)Hq_ Ì>`5_ '-0* +G/ ~?>,]{=d0L çMNy~!e;(IHUgX H]!|fѬG҆bhJZW+VZj\IglMIrI ]$:$\Q2e\ٻZJ$اUTrN纰Շ4dftccaߪLߙYt4rJ31eܫ3NB(و%/ֳ! nz{̗Y$6ቬdDf@j; ,nR"EV1z " 2,kvWIq|Z QJR-&X%-qqqℏ nʝ,wNx$B;I[bρI;15u`h#5b!og3n/+,27ߘ0h6qzr">|l=gh/a>HYEPJ8pR|<RiIM*UFwEnxLkd9<F ]U nt1zsE B8$g͍8/׆XJ'p Ý[5($VPA4vnL*lTع1%(OTW ?=,2+O,3ARr^{CϢ,Z(zUyrz:&͜*GKWKj<[ N9,;qu}Q>gFp@P$pJՙUȾ[ Cac0.X]VmrKa]Z6o)^3eeR:"^1eGa%C'ַWQAK浗8wД^+:MbFC?RƏe*I?^F&o ,/C[[DI=~WzAJ*mXf\pkKNS53c[K$$,dk1sA ĒM\"{^ɳ4<,#4ŘSM%AiIiڴ2[+Q C۳4PwdiQ., t(6bЃ F1Wdh909xX:j=0M-S@CD4e.9|fnu̐ _^ kj'_6Njߞ[.&;#6/6pzk|h`p.t< væo_9O>/hClTN^l6vIAj;^h./yM#AA6^g\ν8weRuc\4PE}Lva b=i9s Aoј@|eH%ñ) nvvC|O'kH2ǐbȒp6yqzRwFl)μOd΢}zTRm3cuܶ ><S;+chG4ch*dIOPaMOrZ͢𗤑tqR?Zl] +H!{"Dϝ*Zc 14 SqgRjP؏,u⨕'+0ˋ6 JC -f2TJK_@:iُH؉1øOĕA)+䆜Fvt4Wn# ~R:USgi-%$IHw7<*֕w=Uu:i;(ƀicǵ!W#I|2ꂼbcos݄^,$y`{t?4-kꌊ淥 &j |h?Mę U8RW+/:Uu52yN| wpeJ_"O.Pzg %FN㬺H1 JyT{?tܣX3+4ry-L}rxx}FOkl=_5#p38$T]2;N8!J Rhη:iE\0LuZ;'Kp0NR EYI~gKCGqum%˸ii˛xԡ,0n;:<2Tm]Eΐ6<ϡf^g*iv/-D{5;ˆo5 ZqIxBc;w!FAYxD$(A*G7ofÍiކڸ?]HܼڳKP!DŽ:Eup@ұE1N=8ưA 9Ѓ|,/ݘL17 }r\p"q=5[:>JAXhNAcC(34̀چj—O-VK*ӜI w2n$'.uk C* y_\RDDl~!:F!F;,;糸sv1TF'KF<&z^޸BlzbyQhdE%? 5G!ӮʩQnL0qZckC^1(]?<ݦm(#hmؑFIe[ȍZ(˰Ȝ#ZhGcl;U<`d$ZDGscCnp"ޙLYE8^tm/1#^>fq/jTM_ځt џܰ{&6Q-#a`@6\@Xn;< ^ S:PH 08-ζ0&BT352%g`7iwگ/ߚvZr%8m1pPqƈO4 9YUQIԢV,+旽m v:nS:}^O+4{DF?R \0G=n&,o& XxE KY]C[k3O7(V]9-(~ ߈y_!K!iGD4@Ey-1OqEaMg˜4N]RndtVxu"I˭z' ,T_ʋ%S{,r8!DϝL 縰dIήdTuWN\NFQ&z$)?*2(@bо{v~aKr8߱+WIvx1jo&E0kO''S)'N:Yy5=>}@N-j Ω%};:ixOʪta[f,ԘB F,%-Еdpۃ!Iz5|l!<U ϛn7kQ{; Q~4ìHm c͕"P(@DCFJd2VLea9mJ52fHfQRnǥڬ')& QK+35gП3i83DΕuzt4 757=X M4}l-^ͻDS{0͖*Ҿ꾩ۿ-7|h)Q) lc斎[IVH~k"VOX#D9l;QҠ$ m52Cn?ޜfc`.b[Xet4iMӦB xgC?ò.. EȄ7a~ WzCyP.;^ڿxɱ?/~;k~w~|eO&}X׶/ɯ~+{>;/xZ;[}y>Lg_Rj? '̟=_?{OF] m^-f?wۋu/q _~7"y;w y>X-5wD^?S6? dp׏w+c*/{VF;kfl|vڲ^wov݋ڵW{!o g?چ6K~ߵ柖' \8??XB^ɱ~Gzlm,e'G=k ^ M+> m_~ؓ\rr[>&K~7 K{& #^^=ZvO/v;l8]/bm{V)km{}yo݃~| 7׿ߞoB~m5 [Wc~/c܊[ۇxWQOݷf}%^w|ܻukܳ1}'` 3؉J?Z{Gm{q>}O;b5GX l=O^iZ'6{?g^nǼzovIq6<~W|:F)i S\;cM^?O ̗vc - al7Hϳl-k١8M CW^%= ܉sz ~ mMp;7>߇!6"ki#˷+U|V%bEU ڏS*14ފ_.c/;._^?q_U[nE~Y?֊\;}!ͮ{PV)6⯷+}Cӟ Z7XdixN vVbSܪo%Qc|!]la:VT-wi>L-s}H.mɭ}{^5nj wEE.89!W?UN{$;>m@8z;怮qmPC`  `~(8 YBG^xy೧.ͽnt.,فAWN8PpߠAүa`>wA68ШA x9wX = 7:p P{p@h0`|$ O9z^з zy@y c<<`9( 7n+x 5rND5A|=́47y7w~z}@n#^nz=5s`@<=wVo0݀A`H@|@om?c5XK!;8o@@ g#>+&lÀ .1n.fXAAzz`+H Pq 8qmj(=ã/zz l`m4F`k73ڻ̻vgo<<n =7oƒAAon +`h(,.n@@WzYAz Uw=xkww.~( 6zqA=tzg\czoܣGz7ߵcиhyWBYrP7EZ#  ]0|yE 0?o7Qx66&O/֠D N!k؋/jB$f!"c.Y9x#M@(k'PI ?KfK,I]6Z":41|'&f: f|Hj9ଭqV,pZ4% 4ΠUG*0".L qNG3*(7BA+C V:US|u0f+)&lg8CѣJM4UWS7(FΣzf )6sOGfx@"aTnQMGQI;(u9uȼc^=% XlHKW9.:`283N@|F&rOXe1iY-eE?'N[ dNq.<6I o(ܸ.b! ogѦROKDt&]z4ԕ1kBҍG) h6㒋_M kC*{aBK/stHWCFt\J!*v;aӿp [oL \o|~>JX:})=IQn2q@jD31½JoKY(q_i^Ф{UXr}uJH2;z ʮ.4?r6'rXv=xDr*#Yc207'. [ȋM Bǐ[Y( AZGGu( {Q:9-T.̜TyJ˓h8{+ j?ht9o(@g* K)WA-X@o$Ƞ0E fB(y9PtBj.HbC`&l @G9W]9vfy !rCmxc=RQ\&x Ʋ6L/@k$ \k о`CJX#Z[]H3#|K-?)Xf3=S[/e`S'%1Kgg@3L&3Yyq^t<[^253 ~`;~Q{ JY/ e F7yοZ߀$0 E6-LnYH8FAS$x)%AdV'Dj~L'!O xxh:X&q0nf-WY}?G$ RI!(,(BC4KeI*E_>gx8MT: ؇Bou?ֆ]ߋ)88e`_pfhu6tPc&1­"Q$K?ZI 4!ixmt~"ER'.Eh j]^A.m17A^ñ+.k]rOPZ򟊎Y +S׮'̵\o˫#t.`b $ގ, t%P[~ n+Dl!r F$DATsK s9TR8tcu9鳒UZ ,(|w4 o6YiHn#sӗU )HJFz}e*;J:2J8F6BM{ M!dž.<">SbI(T~i&{H(G H,aem<ԦFA>\k\ݿgd"j&?@̲.CSo}%2jRWa$4?u0%qҴG̼PI^f4ҙTk(]4IxO*LMU7z? 9ӧZKY˛:5{H,@tѥC$sY+¨ڎN6>xg|*w^̶ƠgAt9xvx8"J/i0_D ͱGmH$& xө&E_8x((,H$ENK{v ͝1 J5OxX8ef}!x8:w[ br]m]P^ORM%644N>NJ ncґ[]J PT2 ɪ me3/Pl;}-X%0asGn =:s&'!{;rSwI`enݒbOuKz-]1-YmJPzMc}Z<`^ 5E&'&ii_jV]6;qo{(6ڪD93)i"I 4Ay!40( 4_M.\{/е UD?tN% ^J;^]`^:,6 с~ D+cq}%ʽ"sθ!]}MH~B?w>!͝4鏡y7T"GMw(࿌#$OM \߇ `񃮃'ca"DeE{Ia>\8X&™*D`((+s- nv(`=J t}F̭Nix Z7cR<Æ.*\˅?LY:KPЭ.0kdTXiND/:G2 9'1&iЄ=#P:/# W;/%+?j{G)ZZy߶ݍI"7 oii{s|Ӑ@Hb#E.t c[ђY&`m@% rlE? YK3'}fF?&< jrIYV~f&jl{GU+ɕۑWk;Y%Ks"\fZ|ܼ#/+ߙ]A!9dyP$ ?glR$w(NgIS8V9wh>gXSN::6'dK3#[e&x:1~cNP`s,Sf-O}2e>Tg]$PiR N5ipN4oE;Cdp~9 DMh b qP8/ݍLE{;!^C\;9[LǜapW P#Bb =@7DtC+OQ?{WcߔճD\8Aq2KEoW:)ndvٽhJvc6ږ4RޞG2Bű,|ts z`C6]vRWl'ïLУaa" ϓ1TG'e,ۧbJy\g.~.]E+Y@CFr)y<;R7u#I֍4YEcE)j"rF.Ee&@O'~mc}4$ -WJbx@~ /Zf^Nu]=RQ'- dm]\ݟ$Y@@Bo ԰:0vi[߇ݝTY c)9U HS>3w}L5+" wWH8W b^siY)Rn +W慡oAVt$KQAtQ&J7NˋXT \p~J3,LLY(r~9 7lE#L4Vסj|SoѠw_<a?2GdOFG\W\<.Tq (A;V#Sk+1gSځwKXECV]ʙ$Xq8|M9Y+iϤURF;HJ ŘnIC6^xA8hxP2l$ qZRX9Iăh?YX@+Cc'HyT*U[!pHt!:VN :\r`NMK'Pރ+4i%;Bb5_4T1ƆtEzR`q5oO[)F#Ӂ*)];矌Y@wH:tthƇDXk\º<申zފγ(b:u[3AݭWf} y~]a.@AgWKdIek낍.f#QƴA|fTrjlԦIEid oNю#8 .X+g}p2Hac_;үz s$ qgal]lX]eP`F-|} ,u/`1)~ -Aś3{\h݂B_q7NH5dtE&币Tt&E,\nEU(>I3J;*]{P?~5r裉IۙSaŵXD/w@xKb@U^Q${Td6PRlOz RڧGȬ#1hu |lLik\k %v3pstRtl@$g l,-D*ڥzۧh~|:Qbd[4n&pCLK630; ש-u霟{NdQ j&)PX&]oE_͸ؾyO5f ecM*i{)!ZjRJŸǎp.K`N&XL>חLǂyP k, _-ݡb ]پB[q+_*o~5wK]tF 1|I5}mH5:Orȑ+Ym6G_Pm)tfMBXVAL RGsxv Ic m,B#b1$@߽g1NWꀊ. 1X`9GX6erl>7[II͍^$1rlvL}]]/4dm-kñ k][)- LZ_PWnȔAىo_*T oBST\dXD!^wF"R9 =w1cnJ - h4")_\Z I-Nؑaչ cWAogH#5TP ouiCB9D0>CAt̤4J6)fku}/iXѤb(Mw]VfO<E$[R̋ Fi-qܣF{¥j8t ۮxc+|V8K"+;5?2F졣{SI"7rht .#C湥+i}?tv GSQ&;? ɧGW GEM'TJ4:'B~.(h=yFOGUdGXW v>\2v}qr|uf{}mQbURF֥k:؏<ȮHA粋2U_ҟi3dCvϒOA hpk,NP3Ve lfX7Sl(D(&4r>7Y.'&ۨq?18,96߻q01qt$XvT")XGNkf]CV}\ց9`]zYG6qt6Hz,`YPi4ɕ\ݥTNL& /ŘP㽡WPo/C7[ A*!*5NO({q*.c|K;r]Q X>^}+PqwwZ $Ԧ,e!*M~,S .,I[tL ʽ?YבT(G~(;e]-RZ+6&Ѩ 5D9mD))=3.;~4$\ 6+8JæIKDA./FE%6s|78(;.E~B )tV2$Yϐ|Jw&hB/.HnگB,~цKT Kwl1GPt! dCR}4$vC%7F:^4DRʏB27AsL\dϤ?~3_b=[\(xϿjMg43 i(*,v8zpuz+8oS dC"9QM!9RG:^-,r \$ dљRghOhg#%Vўȴ$Rw\ifZUOh5&GE 0TMPSį#:stF@)Sm'%uxvƟu]ܕ9]!4Ec(BPS%ݼ\Z_<׵\n \O oxPkGu FVID&єltk'9]C>yOwP٬\m%.DN;GƉʜŰ%c{A4ʠWneu?Յm˱hJ X#r%߆ 1hEVbA!Q uDŽ;2FYCG oȧwDø"癇XX<B(R[P I?]j Qe(*3յ>'X44gkܠ5f(4DdRWem`0zucF Y|}eNsq;KP :A:E.ӫB YZ>Iuj(bHNgg Ǖ@N$sz7 a)_ܾm@J'AH<V&jﴪ:|UG"ZcQTM61Ԝix1c&ci(V*jp鲣. dkS!Un\#bUc$-;Q1C-Hʌ>>Lm0?;Ěg`)==N[YܢPDsְ}.ݎoe|*GYdegaMvIWfE7O&1V\0*8u8wl!aؿQQưvWl 9L~YVm!ϔ߶XnȄMl&&~aAi@^in7Au(M:1TbjD|>NQr%츨[~j/83w'j8Ʉ*FK2 F<3hS[p)0 D*N!TT)^U J)N"۩=ܙAeF8)r\A6ʧI5o-%NT YkΣBX5A%z%Đ "4q*ۺDpe&4*#y^9F pä|ʐCj=-cMrѼ:/yGOj/0,?-+4E&ԤT/GWt&h&URA,k;&&LWt<$ڪKq(Q/ѹd0w$‰j vE ҦD+J2: 芆j{{&n:,BZVʝ,nhr=bb;\)'%Qi.M Lȸ\6àbKB% H"`%䶦$ʋ6$Emd| dP 7jxٽ׫I%9Sڐ6sR0{~ǤocꪀCԳʞA]Zgwc._ڳWʛ4jFWg-D߽kHh4jq"Na) R>/Ѳ(Ԁ8p\jȷi eWFŢ?+A'}ҼQr?w(R0uzR':UQJ0zFYHr q!j/ ATZڪ*od>F0Yt2;I Fiazz#ƔZ*2if/KTM逐ze㒼 5r:z d4؞jJ.ZCM\b) G!S%&fԐT-:N& Alh<岷N(!ZrrW`$} {'YAd`hWx~]`:+L-%Q*N(ڡ A^t^Eq)C.ܽ%Zƭ6iC،n ('LĮk|qNQ2kcA@á[\sۚK'Kk5AR00'$T6BŨ~5.ivHT~fP$n YQWq[\-}1h]yq瑨FkR\O٧'tXp۸FVkT) ՆsjM3ToulZd{tx&yPgtSC9ٓ7֛ ,Oyˮ+٪o-nk3=#k S̨xlҎG̑Ni#O&~ EAN/Eۥ5dzoS@Z;G6xq0;=(:?D͗g|kvE%^ngϞכ0qzWV3O/\o&k8C3mKkFf(~ n-xC!qy;پ@WtԢDT( h5];z2oݒ+}WlPaAOLHRS*ڏ=;r4џ 6wMEжfD*OkSCD6=⪊r 9g/ dK"/} ~9M>ZK 5KƺaԼc7JN8l9<5cI%:2y'#7,999z9yS<aR[s$J zDqc5% r'J Y![g~7I(|g#Itzj<(g 8pjY3HQCaQqb8-bnSI8)'IRX+ $Ygd EE>6E]E$c&%i%s)zݬZ+DP!ӝ/K엯s8Ǚ\15S3.ڙ$3}gdG3\:i^L_Pw@NA_+Ɍ5wzMܨdM%\ $i4+mD Rybuq%f@cZȆɜ.ii`\8U๺^,`Tz=˧+5VHS'zk, ^xsgĒ񑀷pQ/562#_IB#zCzj< " *(/N|4Qzt3ܞPNV ‰$ JW+֯<4)LT)|>mgS?[BD_H%$_+q2K"@#O!|NDI!RjXdNȼ Lxٗef" Bwش :b~b=ZP(N3,/Fk;`g6n).Kv[w/wR-# [L IEN) c"?(E 9)ׂ g !XuWFh [YSLumiy>4GR@p2TEʳҐ"Ymm%N&V-jex4WN@iHMnДwX 휭48&Ym'[ktr>M<lK zK~ksߦ(c艡?/8C-x)0-~eIJ}EHH8~Btu&Ŝ+`)ҰV]ɴ@{S_\VFɻD}E?{}eg6xV X_55 cFGn2;zbl%/)t71FvU i)f$˩$ hxlj QwF \k*_}0ä'֠B,Uz+ 'R_7E83lڏ`й1,MCGi$ #e-ˑG(S[(z9:W,+vX$Jo$ K0Zno#gwe.t[-3}C6OYUaŀ,gHrbt,W ``@S[#Ųe#مCa-_6Vug;yD+cQvzaBO׶I Jx75VN-If@g_]d4nVfdnC(Do:O #ͥ&3ZI2I_k2R`%M!Ü?pto 18Tފ-(O=5'H=Rb)<{@JwgQ,z'7Z`CS4椱#%l_$ ;]aI#7e lb& M4\ Lf(٫dT5sن<Ǜa_@:U]U`l %sw@-ҫh"`\ȃ7 _ Τ @:]PgR6 #$ %-;jʬ .,cZ~P8 }Ӛ;$GU|n*IpY`d& !2DA)4VI.yϽ{_GIIyt .Bg\B < ]d<"R5$Y ~/S9pzbrw1{&nB ,=<_kX pcKQz҈؟`fR#z%@=?zfE8qpKV+L Ƥ64wy0[E5:$aC)IĞV+VK՛Z陼9D@B\Fby(4=Yd`'R(*#EQKnRV"jPUʠ|(Ry.4qtkxPWK-~-Db[jK?(uBcCS']ivl$xNr.G҈N]TCaޫ P9#ލ)zPdH)MJqǫAKM؞~"P2mk:DmQQCkd̯}%J0* 3fC_Ez֋:0<mR>ҡⲝ;Kd0 Hb9J8ȸ |@A\kQOܝF=>)wM`Ȁ|+l/ޭ̲mW@EpzTu593dAA}"J]J1IԒ7d2d;G!1u4 &.|>ϚpY/(g7l/W~iS6yYiV7̄8i\fpJX6Yn{`dD)2J9}uج 1gv%X&ȗKE<#gz`dU?>=؆C;) Fwg3mz^)''%uK lS1˸  }J:<:)zϢ5|do&z26}XbO'𻕝g~\f0XN#RK.)4/7V) ŭ8/EZ#L8Xzb%gzOٯʼ;*M7S;Lx߮'86YՄeiN uh]MCpx;屿AYig /Q6!> =贱D67jToEXVM@VnmYAKf\<:y`lX01)j"1netD9 DۧIY╀x-09f[(5eI4~UU@z =h|6$U1pZx lƔag(6dH<y_}7)M.x+Wݜjh)IA]{PgBCHZU-qc?]m:zK'QlͯHX`2 ׼Tx;yc79Izrzj dAϮqk=? nR6bPIX$<sdB-j642%%ILYR(h4YMG,j*ds}vPER(.ΗJv}J oO>\wY] .KI߮!j6ftI5oNKi/x1ۣQ lyks=͍$:cƼ'5ÐlM=\<07U+ۨh;~=%پ>~*i/JD$ G%aZ("=vbDHG@/?P;_q@Ӳx%sk`F|شXնަ37UomNEo ׵e3zfws)2W+Arb5$5g\.[2ij]XX <ۤ<>-iEԩfF(OiV8M )4"]=~`ᣫMYBE7%v$`jgVb~B1je؟7fTLm+@.H#zҙ{T &'.|XJ)'>$ 5ubѽpd+F$%y^,=S>>D\l 2]n} ܥ/2[ A,v/ǩ kN/O!ZQM q|[wL/$fR=/7niy,g+J7䁅Xy]gB8}L0,ҎGSD-}IșM+ V ŁwZZ& F_ |0O6RVRNqPVlFW Lm~v3 xl;w_ -pن.$߂[]WJ#`P"i#{|SGf" /K4-گWtʃ#irueSǝxd)>D,-y`%bjC{{<#[  ov 8*io*n&y >Y{,%jcKsNգŽxKͻQ* Vi,믄NpكeADXMΪ<ܻO~2̮h"+=]'W;NLN+ ǂy_: EI"L"12Ji7FHURnK]ͻ'YuXj"~?Rj5*4tdN*|MN]{bǫOG(r+vkl5)h{[ 0 .MqL\@ \(#\OS+ $8Vx1wk(I 3*- +i2{/6^$Opޯ˅ ?`5I*b`R^!T#ӯ)2V%]г~ V-W'ez2=a1ԋ}gؾzKkHdxDŽc;Z R/9)eP7kl02"5 #v̠BܺO!ߤ":d"ޡLjJ HFAZ@߫|xNŕ- cy4 mL L^=\)ǀ !`Ԅ67SWa>Zl8O z,Z<2)Q/B FC72 |92R˒$j0%NGz86qFW>;Zv%|<6W#x%S}PJ,<ٸ%I}r<<:|zdO-0k;NP-Z,0Na9¨IksQOP0M•U)[ի@U*~* [eaI-5? lMDYGBCJYtr'kjwPAv:qMbV*ܜ-k9o)6Ίb]!9Gv0CDmY[Z`bŒ$ f. 'v7}RBy\]A£s:ƚep{1_+-,&)n 6In& At 4 KlIĂʨƜcXdMZ DCx좰<3k締TݮS|M5$PY.|K|3']b$8iRPaCICZ}R7W`wHS3bELvNW}O"C@r>$ǩ^|wӽW8%-ĎP3b+T@f k"?a#yAy$C C0*b`̎Nj3.D7) UPRg|xݵ.{[lY^szo17cPSu?maKvdO6^' ^Q*I)etRqY#Xpߏ nBc.RU1Q]r1kX"%N7Xd+cNNcgʲ㾑asW{09]e0U3R/5$w+Uu`3% hozo7"nqo{_c2fZ)Sc "d4$!7苗{f3(?nZ\H˨DjB`&:`TV}* ~ vLp <;CPtQIVI3:\&մ2|/'TAb)"~Tڪ6 ?Fi 'uR$s;v P:{Rh7e<\'(M׮q*@ @] IOQ5ef <k j!Ig1&:D:nĘʋ }0h`uW:PD9[F']ֻoe1  F4 C , Ws"lH7q)[J:W፥$G$wx5-WI;f)8 sI,\+GxO1O<[L) Zh͑'\Ij6o]2ϭp|âȉpJkw} ѪDY4%[(µ 85,w'ky\ϻ0Z181plb _OԪ+~c:b*OE+2Ҡ](JL [WId=u.]&RWr<{F7Uohȿ4c0D'>/Z79k'JGnTHњ3_xitkgY/]LOUS1x{R0/ PUqq9%&?.7V>s^D9Oh7W$}% xsH~ 8`O&8);pA$*V;豧U\j8YYng!vZX 13o7l#h xC0Q7'LsRO";oLv qoXHU}߻GkZ@I򼤎IL+NS )gTli0Ǒ[cJW :epN&:*dXӥ7w>L Zx X;E^уPUi z|w٨,ȗ}2; _u) KMȇqĸ^>ugy dceLH3qˣ ƙl`S.ZK_A35d" i"OU[/_3F@y |La)'e#F\[82m2]C 3NH3FaȖl4_l.#cg^`-ojޫ/&q^@m9, JDU/dU(/ˊ[$`=/U_+ G?ml<||ܥNɒe%!-n$2}K_3˻l セL# zӂsB2`btW_-}c]WQ2JJI4R(\_ I,=t EhTb2Cj;ld,]cT =KWSAG^< ?ɰ g3oR i5!o7t;cNfc53Ӟ'~mQ=|kDlK_F:U2jUUu^>_nB*@Hgt{VC :"/!,BnܤQeJFWVד2xZsVԋyl%^%lee#[h~.4x ikHdˡ9)3C(p2 bMڋ ]ȉ2ѷWCQes~;i]w eti/a8"؁ .apZw!kC׉~1J oKD8:)͊0W-s;ŽK#m1,xQ<; R௷Wuo!uf7Vy)Y)MC8nRZ./e Ay_PZ>|! dck7>u^<ܫ06]⡇֧XeU堍N$z(0viz0F=)Pӂ7Z?CLdAVKIq]Ef2\i gIT̤$&I"n1mkdOfESu4 F~`~YR *=|zB9\4_;۪*MvMd@|t 4,d$RE =R)LëZ!og@J+BUgW+;g!5s1|a+.~0 VZI6eVDiEk'*YMha0BhVĸ~я{d# 2N;)pN5JDcoۅmIg=5]%0]Vk0bxHwe+&a]SYTQJ]Yy +^Jc=Plc g'҄NA!&s^nȔrdžyWJn)$ʘ,gce*2 pn|`[q\`cYB^^MV>Y V@S=f NdYQM ~}SS_cwO-BpP{VZXܱvփ55f0<fI&l$t'/aɂ^Ia~†Ta/[7B΅%nGELk+nwyxk(!|;oB$RZ}9q(vVzcJ_y; Gɨoi+_h'Ꮣ|xH*v>9v A0PApCVG?%zictO$%ڭ;*g. lӺ'{li_k^oF6in&`ٝpyzof.fĐn~9\S q⒵ z[ql08G[?zՏ*]ꫬD]J5Lɖo%5 kd;5?hQ5qq(f5%`Jc1#Y#I>*F-9x^ΝwpuZᖁ$HTl^x[v@}@*@}']XY$s7n+;U3/Q/7&ΌJ,)}J3O-ČW_wU%ӂo)?KaEw%5,i,ZP{D3H稓CT+%0b\r}+=4T@"6ܚSGP/apE#b$/6i7K Śwh6vV= mޕ`e֦p);VݓL PE,MY?ƥ G  ChwAǔEuOΈ`Jc<vd[Ufk,])[x׋pi&Z0GWs2B(#qQe+RXYt}0DS3__cץ?=ћJ%zb*°Rq"#gWy P!@gN=dEG`\Kp%M+|kݷ%m A`ֈ!m+VbPo|`| ө?ĕ0U埮 Ĝ|[kP9ͳıhƘz/8IJ)䬓MKaU_"~t毞ݓ[4uAFP'XAy9+۾QoWδIOVSVN,@k2kz}Q$<TJQ=N-RJ/4> Z1|5~^QmH>ŭx(܍03CYgIW~ohOX`.J%˺ܶsR5>*h*Ť6E\7Rvg'20L1X 󌝗2{ %Af~jL7,ӗ[Zgrxֲ.$V1 "Jɨ:>>R'z>>å{v')R\c<7 {G^=rp Q\xu/Z_ LU{RnADwz܅ȉ^% нZx~v]bЭTja=? *_׳/7h}C;Ucf\DjrB(/r/*l{ZI_\y>pey' ɞ[Of]#bK}!e}޹QuQ~k9.L_/syJ RއlCA ԃK5) )0frڥ2աBeQB%K ={LkGF ]N!SrD D;Ntn<d{A]8/};Y$!>Aĉ'PL@KJˮacap|T56 p9uMp]S2:sZo/ }7<<[$ހ=[6 ()˵okφu@G} y54#])_ka£KL6NM&hUݶ,_x?,j $$t.s3ͺ)Jgd IS`.A+.լtђɛ/4 o=Ԧѭ^W^pjv}Ŗ!o;P[ޠtƦ3aeq*/2j"ja 48P{$"12YiBurhJȈ vi[Qd/WR mBO`8˛hB'[Kfű@C>Tj)2:㕁P,,F1 Zҏ+IBߓKwߎ(tuSy:mkI=wWax x;&U?w $ DD!@8?\MYhMo2+6+dߋ4'݊v"ALmXښ.,-=?]rhz6L L"e(_HY\rFE~$q85cȕu\ ^wrv͋Z 9tWPRD+p 'QiI^؞-TT\d@ӿ{ݏ1:N$w&nLYz[n=X*wU-V:p]Q aJigx0.o>T?^'q:EYT+'q{[i%`a]Xm)Z$bj47_l!SY9+C]Xλ/Ƚpb"T\ o}h PշX+pp -ׄy^s 8Aٶ2L8Ixը KiY K1N,p/N}Bv*7u/wsJci =?xDS\n3DFb}I?:f0l4W]mʫj*oW+:tH)wWK(Z]iAttH9~N7¿))Y~WČ0(za#vOz ՙaCn%8EOLRaeŪZTL@ kqA'ܺ27~Ǧ x^lr*?r].|ꝕ,YcfN*p}kiO/HУCpHB9>Ŀ $$KL$^RYd}Q<~]\v1]j^7JU#Ӊ??\>y ӏ2ݧ.΅7ϞK2̩w\LHd"GAt6wLRP[^bFF WdK:-4!U}LZ6 {C4#|) *6^&*i"uvh^ 5-n rRfRޏ+j8&lC@eAJlsZcY\rj!ȰJ*pߌXAor/)̄IȑU81kL,zhlWf,X~x3GV  ) lVm׿2!9 a1@ECdM$,.uY~R/Y239ƔnN.H`}&6ab[bS񽪇W0=n\(]YA%On&2yq_Z"-\C ~HԤUo엙3N2+͔!0ZB\\cAj&e' y&Xx*(h'%A>kT;~Q'"v(}4S5UvL [܀zw连 G% ')`h:ɂG<᜻"w|eo4KgtM3 тb$k/iD"' k;d i{˼IɀTp!ElmoP:JasTٚt w%)JQk>` 8-@{㩵)-IU6,^nU!+}ȍ uK/gmBaDY=!#ÔQtŜ-y} aV.$wv}d~pIޡGaN޲!uw#nK79{b?)ṱTZXQm~ݗ UiySx#|wvUâzQ[ubK{#khzrXXT!+\Rko[ )Vt0,[K ]{'NmBmH.q]{ s@xK[1^r`y ;;, 2ldBn)Iq.оzoM ĩF$X_2`d29¿x_|[׸GM'D3 _WFva=,su P%aXLKrel@|[ٶ|D Rm"|)Wօ- ٵw XWf_/Min >U`k\RBۖnL7)\`V%s6:$3ኢ q|:#F΁. <$ "Qa'߳x޶g{˧e/)Q*2 K,Eq[l஀ti a3GqF_K/koj~A LD\ٰG*7Yh\\iKzPxo] ea%N$+ax4% gRhBI8ü˨5(LC"1'3 bE`{*[ח-}U8peM"Cp8eе?ps}}RM!8K*S! o4PEi؍ ]w,<]ǂwt w XSPځ2JIZ#3+rSq~[?NpJQb[4Ӽ!e*zjuXXaqb/@rJ!}tUxIRtȱ&v]K7V! <V=jhsT&h*X1mN7[ҽE{p}A4?_^_O+dm /lbwʳb X?NCg#ku*İ@OyŽ_ D:jShyT 6Wz|乛sҦgS, #>e"K;r Kq*~֑#]S#ZJ-o Bm@jl(coSzbRMQTB'Ϫ L*ex=Fe7PJ&!'t@Pfp%nQWр# ldJu9Ee/)T^8Cפq< AAm01j%Oٌ([7fL_VcaEFDDĔkriPEˉf{L)򥬱taԥ%@^L[ s!IX6$;TRWv 6-%n*M+Q8y5`"Ԭ#~Eq*ʶ,ӶlR“Z>Vq(c")y,k)2y*neY,) zR& r E 0zJ'D r<y7J.P3h~ rOK Z~pd.e,/G}^&'N셋]M]œ_/&sK6(;eDx!.vFǁϽ W'W"9zdzu1Ƽڕ>'~ﵢҁ},)/6zHM8zcQ$ %7{ hK,n27&uL#+<&!6PKP򭶸LD92/YJT`um{ -._`6fZLz9R/gdM7GH?%nRknN5 K#*ji]tbX1"3Z2bYܓ8cSL[cW0F{plM"Ø?0uZg4{s#|lw q[r?Zx>[,mUAYHo`ma*5vjl@6H nLT@R/Pe(hz!}0٧Ȕ}dz_"k]8pPP$)Uy@7: n:j 0lZӒVQZNA~~G,K(W!ur"Jo zMa@ y|`VNx!=9[yR'O>j. ;+U0]AK/rZ;_ T{/%~+6DjʾOZ]jr[r3,ŒK _>&!Av\i+&v2cGūji%8N`5JvcK-hd kVQ̽ghߕ`򈛊"8 nNCְ])O\qx z 2*oæ /z] 4Qw hfw?89-% Z{gb h9\Em+_[o>G%T2=zԌeDl7[zNtUSI0]R6 fv/':](ϻx<T)UUWxzKbf6d2 [$E@>p]I9=(\?L)f!>PDпձ3!70`yo)g/{fd/GixiǃzoGZRmf~\O G0+W/mxIE={zyӁ:7j]mR?}=5hȦoKil-9|ȚݚiaӤ!뿔G liD,ЋAVk):ԕ\JH,FIJQ#<~YR6|[4^eYi/fNob{FYG;Fk]őpUTb~Vfuuu|u$_%5Z*B̨탰pYHW-h_-/KŴE}1pȱh}`jLmL=R)j8}@ixi0}^~[/hhWJ"(""}T*CDOpYRHE"&Ke} )Qn\VnpSdI*m$[ 0$ r:ʸ'[ (߂DU[ĩua>Hq )Rw|f2%B椌Q{( ,_EGٱ֜[%t΍ւ9Vohqr)e{ US%:y-؊ -JS vq_e0'+޹3ةDLITѨ+,C)cJU.h.'?AXf)ё:{O`z*㳰NVZ=\ft|,y`SN{2/u; /WgB2VEP3Zȣ?DrF7h{odYg=%2\;S rg>tՠ+_`E.1[JsDtsFC]'EB3B:8CcDZq8IVZ0H)ͻnjEmE,BJ7gE]HS0v2R ҽgvdI ,V!K{}ljC{\^>QknGs쌠m'(n?Hvq1!W)N!LYy!<%mT-a/\i*} ZP(i~ FagfnfV sXWl]K+{Ֆ~Zf%y9eYH8BOG:$`Wk֊/8$8BYP,MÊs Sւ%u9Eq$O6)Xe^o($IciZ!IVFv&`)Fʑ S^vUߔx or:ŪkN'Jz*5cD-"RhLT#bS{]mW:%_rҨ:8׬W-!^]?,"fE@PlT͟QΞB`H#oJE~ڬ Ie“;|Պ$ ;fQqX.xSoe/y3g& TֳLr:u۱4&FDjHȉ!- C3V @2 @'SSVM(Fa앐JfN:v ح`%`g5zZl3RА~f$*ﷆn[۶Ёa~Iϐ"K^gyN#ke.sh:rcdgŽ.Q)I׬\]y2ګc3VBDE5QR@+_솀$[FEh3CW~[\c<B\}v$g*`H1Cc \\+V;u_ù AFj2&˄@Yؑ Qq 6h^*#ci72u:vC^Vm1Tr#ULa [)kԘ:QF YbО0&8m*_c:zHj; EnGȝCcw5D¬Gar|V՞2d"1?ai"/@3~g癡2w쩈ʌʣu{Z _Z,7SRR Oϴ?ʓL/ k/P}?O0~o/xV0_+{e Npv\|/﩯YMYR /CfywB˷+"|:M-( Oy!_9߷u݈/LcΚ:<*=*}&/a~>ė*%//dD>,GK.] Utr~L{mt:فG&WZ|ܲQČ9ѕʬ_O3:dm2qSf<~>ZDOfZo&$e}(0]`]J@ N)e?1 1s(RvXcǸ2wFr)׵".[$Jd ?`Ds,xQ:'Ȋ:Mє[vuƈ,CMSytcVJesĻ˧AR&0 Ŋ.@8O]J`%fA>%'[eށ-ZoY_,'?0Oha?~~FtRs<|<8E%B902@ybG(Gk}ÒVT"U hHތ)UtP-'C_qv<ʡ#`ʎkҵ!yYYRuwDE%O`N:~d mdˊ Y ~sIG6DLwHSBRUؽ]K~lXP6 WF3d~!EH\nSm;eҧ8aSv3fXGDS>QSW,]i8Bt\zc '*80KĶ/'Dygcgf%yֿ"o8 0UhtPy*>PLX|uׅz,CaqB$]$ʈ)9ڦN\e=0~pHӂB +VxضK2qEdEr B=Fa'^n`N ]3Cʦ'ɩJK}> 7XJczjK9KIL_i*;^Έ+]p_zdU钇?&֑ O$<5e^^y}+"KƒwyP%[ӞJߋs4PrHU(}堻_9L`' n<3e#xnfRܬ|i@VjJ8Tc5 M&]}JKgD)Z)%0mPcWw(jLST!c* FENL$(C̓_"E*_f,D/ߪLwa+j+ʬ:'oN C6ܮ7z2r•5=/V ݄[$@8"?A$M6'F`-tB\x5xS2B90*tGYNJku09`B-6k^UTJe4HRwolC: HγМs׳>,V MN`-R-7V^0*mdbg| A(!P4 .@yゞX"?5,ncer۱@)matRэ=#kl:oH:ϱ4=aԎMɌV(ivn9a&7OT8o%!_e.&Fپ 9ZWiVGcaaU Cu CݗXX9tP6#{˭˳2xo G@* 'Nx8oD Ѳaj[F'[.]ȁGoVvN*Y$…P Oj86}wjGU Njb[6t/N11S z1t >b)%JK;4vPR8W~%sqңy#a;ZŸҬHauX:3AiW/'K`u)lkfv&V;H/ HAk7'd|65a(&(ݲ쯫)7qøa"% &Ԭjf,MS(}pl[Ҿ1a Y%)6.3r䏒v+VmsWc,42pO"_n27i1?.VlL5s'+n۠Pn >{ W{KA?aW/AApEgzq&啍3p|ԩT6. ڴ+@ʈ_%?#BMla<a(A;$t&u;#qapdA9F U`#qiYcd_8b?>}ZRCHZ,#9rGsr.D m+s ^ f7jR6>̷UlͳǪW% [wGOw&>C!6֛ßBi~?h r [rVl H@hS)r&&"&ݔ.~X nrVSBK&y1bo$D!P-%hVvˊG~kh^}" 19 @bSeE8lGl|4֨&N.k@%/u]-[95X2 zzDUr,?<,=q~!G!'hXNu"Ny7Df[Lw(صyo㠇`KCZ]]M[*cD^07S"5 5^;/NZ,Cٵ3^znO 1dMF̩lJeқ! [96gE)V,y$֫v\r~x=Zm>iqeyMuRZ'v@*#f˱huyI5m:b|"N%JiԿKBjBX0坠;0F :q$ ^1(#a9U#"uW}__;+}J E繁m DؔxՋ0$[ODxOD@ 7c-]<ć 3. z|H= &/Q>eV|襥TO=OwI d@&.25pzЦCK, 2DmbLʶ^mS^+QE'tpZIg5pDZYxd~lM8ħP(9u`X(/ZB=RU$@ys)t]72cVGo%q O#[TFK,--Q49Қ?"P)PKtDfƳX[2+6 $԰X!Q (_4ȷEA\^Y#dD;7)f~ZfIVќ5'i\d_61=. Aq*Q:Hb/اbs*U-j0L@zэh~%y+\+f>Is1F)+b.ɘU5Dn* e}' j=J.{KY 5BUS}@ڜ'ȁ=jvl(OUߘ0nx޾L3W.I8$S@iv,,!es=3Ͻmq`71Y>efeܗYei#%&m4K._w$5u:r(;̱]<V-(z-Շl aMЃQT6Q9ہ0~Mga6|G67h.&a`<.+T€M2tp4/yk('=; h}O˜]e"?M.5'~h YOLmO#ՑF!Z@'T?ekdWx6%C23v\qxV(ߢ2i\x"f[%&l2*kX(&Ϸyh8]~IOWmmdӘ҆zU{b/^}, *xp+1^2vQtMiơy'Y+/jBLʄL#1E".Lީ,#Gt^apÞn$cUfcyl0dy #/͏ g0%_r"~gWNMbJeqG*|52Vr{-ͷUSg:4dn =[Iz|+)TųY pڦLJN(\8J!KLR* 18\NR]}e5MA#Q?_ݓ*z Re&T3f2n⭹lM[S_dDh}i`(o+XdǴBvjCD+>QVD| Njp?Ne^ ) CQSuán dR|me qN dM̡"X׃R0(x0Y,9QSi`Vm=^q@gڑIw5΢&jR (n+ϸ(2ZׁO>gUPSY Γ4ԑ=ud%eGcm%V"G:.f̈̀3!|i"N&\e#DZGC/CL?DX6,| EAi'l~qtn\YY$Fyq^  "6@NWr+Яc8#Gw4D1NXwH $Kk\Ty/j}aK[9ƾ\O-w7ש[E6RpGGRǖ*'- _<|mg:O7 1w^xZRnK C=)Q{^@h."< Dc+' T}*K|9>.Q]rSI S4ڕO|ik@6MH;gdA) "Ĝhs-dӼ `CT&᪴mj׀o=| c3.ZhJV%gVcKjH6߸/*kmpf cFwK%US4)\.ʣhFrb-Kk{>k{"KGh9\ס ɈYv&;M%lRִ3D%k͔Ik$ d]/]}b h3nB?ꎏ%&/$% y> |['G=iG$ZQ6#\s` i\s#⣍×65{M&0̛#KX׏(9Ճ@PbuVByJUsI?Pxp7Ei6 IاM5l/UT@7Sl$䬣OVZ;:bpbZE^\|!n6K4zPM,5q?G{;fi1J̿:qˀۘ e;rb`E{ՂW#=}{VЮaSO [|+ҬT٢*'77+ 5 g\ "XۊbkĂoCa+ /j,n1) ! R`taQn25 P"$9/jcvQEԀ|I+((,ßJOLJJLK)&Di~eQ}OZø%)ʦ)#0Yi Ɨ#2$U VRÿ])9t7G*h%W獑1YMc0 xN~ŀTijxI1)9 F=2)+ݟd 94{ŴhF)Z[4om|P)*5b+8&rr A@|t).I8N02s]2]8Ȣ襗#/`V"d`@)9'Q'NK`{lNp}RyܝW c)4 - "9rfٙ! {,eV#m Z0#'΍|DuWji:jcK,v[Іe%^)*0x[7|-OA}fn5nF7GQ˦G_z+lZY:S#\]!+Ss;zUftz8QsX4jdǫBayTp=LKw2YsλyrN8rNX_ "OpV9X\D-2dςcy[N~y.B@nF v[h:Eu PI@%m ;`5Qhōl]F 欌0 ­Ia⤬.Xn@YLcMK =a|z )5X87Fd92OxG[8'r3dŔCty$-<ϢU^NH>$C^ǂT'E=)ŔHTZ Bb6}?k ?{0C|PҮA,Cl`軴>+%%}XxFiUj (/}X* =mIlb`?>ZiO}Z2R 2A˽:H F lM@ /wkbG2㝄ZWk{Ƨ3ׄo٤ H:Ȫ{Ng.. ^L$&zD0xT5b7^japW}N6%TKa^uʉ(1 Q~5p14Fߌe`%+ nXλ@^^@`-2 & )3-C= DW܂_Bq%RnCGCG=XPpt'xȳr@Ȯ|߈~3@1NpFx%\gY2 )6$>9f%NlwMu:?КI㴔q[SH ?@sͧMOڻ/O \j1ڒX.5xvcR2׻6]5=t64$1, ЖAvd΄ l;Uzģqm,hʘYvuTu7vaI/$DnƈZzm"!]fB[fш!DF #{Q%੾3ӧ(]$I߼ifWYN|1'[]p d/tݓ9e.Oo Wߣ :S.[‡AQFT;0v/Ǵ|q7w cR ^qK/KT?l^Zq :D`g3|,. ۳l+2h!@hvEN6SLw +[CLF/J!\! }9LrxJ_m0q&RF+T: L/¡oiڀ$a[1=\yEy4]7d}5&!PQSpD>WhbΧu]K,Zj ̔+Jh+ D^/ >BBg%DKX i^5:O~:Sb5f1ǣ* 0k]{JUyI}!@$h12|]/ e)IuߨMgHA6nG@)̣^ @Sq@8zqP|0HT1Jd"jV*/E(%55Aaj\x_jJ!~D\۸:4; D=RMk!<[JJӣ'63{ǜej\ߗ>7x6\!xٓ\bo>F+SѣI{SV 0d=2KIA%6&'qv.@O+MƞI*t: խW&^L, #z&0`}pv^w'/-u^:QI^ A#>UNe>HHl,.RBDZT)<t(@6@x^XP|x=1-^2uBB[|+sE)'Owfwe: ZKb՗CQ 0PCo9,i,04y^@Lr!^9J#t0SP*@9t 4`1mNGO]:#lI*!PH<Qy/LO_dL P?֟M|L'pR> wNvBx;"vv5i^feƃϊH;$q2YĢHs; 8M bO[[ E7/9(|ĩagc:k*TzCx6mo[Nla(0 oY%ך$T>s@,uiWC;J]De;_ϨwUf[۽6л e(MEMW}%dNPfUef V7Db|V`ш86HO>c8"mwl?l᪕̨gV27~[Z&.Rt/l&uˆפBfo %<SԙJOD2+E=)毃Mb3i?)gLy#6w]qOMP.hM#q]wrfMjEy,$=cȅ8mc=ųgM,{CbPkE)*0:e$b+}%kw"Z8TROBf&`mmknvw1¿%k$F17(܉IfE}B)~np/]_f;:XM+E5CfMG_KhB\x)Sx ,پ%J6I,D ,: ]kQ8`j(]=H~]zb{2; Qd!5ṘgBk"/ ag? {X7!*hc}ݐɒ2d+E,yk=}- $4]WW14c{. ՗Vf *7 `gcעшyTZm$v-5`m~S`0el`+ RkXܟRxeET](X;t!%AP外]]ߔ+im:CgKbW_IMu֙hc&si`Ds5E`eq؇QݰG嗰;D'vϹ!N,zN1Ɂ27e}ݓ|`mGHec|"#QUdpNy H1E DIǚӒUp:"Cm2ᕪuyy$*?|yPHyB*E@P TdQL{?Air$T^-N7 Q:N- ӇF?_뎓WqFCUԺ(dx(3" f@}&r Ŭ 4kya21ª"%*=QӅl<02˅ztkI .HQ<\~&YV>L,_jϠekS54g үN@Y8b[ixR;Xg!t2mH;Y.dpDB2" ݍ}QH̓Ꮧ#D[9^6Tc‘pd֒!<- ǭn@xsz.E'Li=ߞ+< F2NW yr9ѮQp?DCQ>_EagC J2.V^]ļ^,9_/|.>T_҄Ck/K؃ ؗˉÂҗA˻K zVSHɕs8Z"ږx%W;0a" h~E?Dּ3\" ʴ%-p%伊 };JSF7Ux?X𠞾z{$0zd='~(K(W~Dax}`\׿g6L|awiz1*s6M(H4|O+OS)Bӡrdw:&Tsy_O5~OX:pIa$oh*#F28úI7 ])z l7ijW ,I?P b4wlu>1d [!c@jĪj+u9[wDU!nH=XyL%j*Ye'b{ NONvrL,2,q;-F>XpZ&sҭ,.㕈 4!İm rXӨ}<S޹1RM?a(咧ٲ:5I@QM9F(QzbYO:;Z3QXRRtg5,&bz:xPBcHKijjhEQtТ>bL3|F8SA6fvkq>ṱ4"<8=̴Y@8 s(X]{(gYQ.h!vZK#cBCELV15鼋\<~Hy"Gt=e g{vdcu,djw%iQ"-kY"KewBf8sp輼e*B.%ЙF6꽸v>T:rN+!èi-covHv5ʷl9$Qѐ(`+{H^)_g9͜}d;yoϷ0z@RvӒKrbmiw +[oQWodP,,^qWtMHഠ~ͯ I:65P?ݯI3I,o2w9ICNJ+,;fM޵P ,%! é q& g9oPx~8CMjըA<ne "v'zS")V=^`,4EecǸqщr1 oލ5GJ3H mASvk5,M2@fs,әKasW]s*/N~}N#WAl*e=-&yԓ#n[o{IER@Vywl9ߩލ<QZ$Ckͧ.lf|I_|7#1)̶EK )箘UmZCixs"5lFOY+M+Qz{n@sq~s$VNd\bW+b7Vd9%@|e!2|nP2ZSHEeϘ#E0#Yx3y /ng̹.q= 9Z`T0]X/rvfÇD+]#;6N@Ze$:A򟺾[vQ*hY3sz I1OoYVElSf6& Yצ}bOw%/ܷ̿J1ScӱFlu$`H>"Đ"jCt'13Okl\]uFANqBL1W08V sC I^.?vK׉e@$hjg w)A'&C όΐɍ^ 0߉Ovl^n{\Ҝ)eE} (kEJ**^"f!]&79HeDa'h ߛvs;6׊h^t:2G8S8gLonS8RݢF^r\(}i҅9h6,+,mxP|y螄&DR4뿧3@qKy^D) 6Q?0'^u%d)4h~s. -Q'"|@ 1\L$O-P˒GI=RF@S = /Dÿ;ap(}E EAi]p%h[omjI:icҏr[Wzc>Y6ſ6MC%N$;Xn*Y¬WGvƒFv,b7G糬>YxH#PKfC gۜo WpU D4bTԬ~LN~ߝ볫gعzP9|i,鑼RJF1-JvRBpCx9S9GIStlu/F#gQ5X\kVObZ>:2W =|Tg¿TdJ-Z`(]:ΣS*ν+975IXd(K{E0RZ#󁏳w}Br7%/g䣽 DK6&UͧĎo'߯L+ƴ%LI9K~L|Qr0B3p(r{_nԛ 3G5Kib%orlLSS4}Mf0G'i鬾lxIg6C%8gY$Z=z"@a=|sOwKU+aَND>ӄ9!v˲h 0n@:j !TW[?~~`vib_Dtʱު (cs};]Y[$YTq!aPH^\;ܨQ*U,8W6N*4<$G-+XaJ28AQh9BO*ACn̄nǰkEvA :O蚈R𬷪 ɐ9C_/(n0Sv + ѐy8xJ_.]a3E61&79Q.ɥh>a}κjooG՝X@=%/Y,`DQ* Ǚ1uvY~wDzsGC]4&/ws+.Rͼ_Z݈P-憎h")^wt!8S>lgf͜7׌R7z;-5@]xStd!gU W @̍eɘj$koI-&YOIObԓNXmIimCarCs@{(K&ZcYIaq4baߋ({tVbmJ\N0O[m Hs&n//ؾ~єG DQ1XMq|0M|ʻ-_8fGkްzJRWS[)xK2 .A ED7l&,h1jo+E䢛Ƌ2'pd)ley6z;"}>ˡ ]#&ܝ]uuAq} :Nt\ ZxrW6 ewfH;P(6 |&>hQ})#! -C̅ z# ^eEPqddob=XU#մRg#kn|5KuC\֛BGZ O>Bܳ=0+1䀼>lC?R [|On5.N͙ѭH^lQNYJ - f:E繲:xc:O Orcg4ɔ4|\oZi{=qCpZ2H Za},]5IA<=שUΜ{gdΧ뜫CWS3TXMJDӼ:T\H9J(z2 )+$~КsV]sy#4IuېZR!x0Կ|@y!nbˆspQ.ЙHJ zhәčG&baɻ߂a9Iqm|@)񆠏<15])6V/<7Z$6%5G9r}ߊ~k`F9Zk=0vgGޞDMVMI&6#,Uо֨EJ"&n#Uv Cϧ"1O8q.lӻ"X""=ؠr/500hWS,8&P 'r_VԵ# mv]mϕEd ZQwx4ğ[(%`OFl۱b(i#8 t~ ?FY a=d!6y6<{^+-Cc.! ɦaޕSP?+ 31aI>LC˖[L Gb*]bpagMXJӹNɗ>V'S</`X0 RHY7CA6bWicXq?B^m`W,6F,KA([KhU37b.fTžWJN{5Ś/\d" I'f}a@hWϊ2$+Xw*MaZ";;a:<ĵM m鲩Rj24}a%*~Ys -H bGLA ׯ,HpܽܬuM2$ )yI]W˷wdߤ~5Qn94q vgA AQr($ Y`4L<:ث```rz%> sjRe0Jx钿Yg+Wz"C+%W=0z/BzelGRy#_I}a>D~ ~#ZNv+4u)V'ں"ig"2T.Cru8f&+vؽ@tVHفiBrca6rT fr(J}Nq( P'>ki\\cde؁,{ \աV]T(o^@04YMsK5ND4})G\q2u{(>ɳeQٖRFIdVū|e/tbD/ƘRZ0@,y_Ћ_Xt/_Cf/joWP.f7ݷEF_x +"B=Wt m;y܄Z溊ÝG4wEVu]AGv9w_h7H y j8PsmKgrܧ{ =i~LޖE0Q⳿P|}ysZb`*ã 2A(byjo~|Ӡo(.#==I}AUA& 9!fJ ,6(|,INkT-ZP&Ȩ8%1X`k&1vΉ;U,ѵ8hV<ɕM@iL5 vY^<(<Ql~TQ8- NwY0]hx?ɹ^>Q_{uG[U؇Gخඨe븎4 F+ 7uOTdw첏xPx xLI$اK,kڒԴC.Xo=ǹb0ߓ9h5=:xJB?DNwMVV^5S N7hE1flGڵuqņx esA,ju-{MZBzE;h&+/]J0jAfEn1pa 9A']~{$o``$WY6WJ׾`X~mkv D"W$w#-x_%A@NS7_XS#B.>ϕRjGPoX[MV!7f/'<\76MػY"7e2/+XG3m0rxP!6a.'_+3 w5bjKP?# cf(esY @m43jEx. 8!:i_\/qJT[d|\WѵEK&Ĉ0*`J̜`X%0m Zu'Yivؗ_(SL,6ז.K4̒;}ћ^%ݓT%tOp۞dA;Po ɛpe$帩z|mҤ{c ì]{h{Y|(u ȯs M_UEy Z^>v3}Ïvn A^䚇ԙ 2dŊ I]y8x^F=+nL 0;`ᬄyWt@2Hb<+~ӕʿLݒ4^n?݁A/G;EM2)m7BJ~EEw_Yt2@LjG`b 0OVQH . ȾEc<к_YKJB_,䨺Ŵ㴓0S݀n|&_E VRNɁ9t%7-9L-Qu >y snhZlx{o|W/ϖ۟>@n2J>7!򁉨Ԧ~? #x( [= NGOY&y=껁>/!_8}G9\rsi^)z4xziWKoNi}ɖ0&"CJ YXOFYTgT'Js-uڥT Zugʩ+oy[U2}}TfB;?7ٻLW+%1 &:PE.*[a0O8,' X%>[-xd/>)N枠=AZ{LT`[ˎPqf7H4RCrlԭ(RʛJֱ.G@=^48eue\=⨆tlbmnVe*"s3B9R9qڄcJr_.q4vVX9L´X;#<#?Hh[k?klx%p)D G*{I=kbG:Q=I@[3[#3QO:y.ӖҀbs{^VLYA-i[VBLCOIxק྅`rx;ECE]1|mPIe~x6ݻc:7 lyrfJ},t ~ty1=W}ߓeY'jv{z(j)KAo26̥)I g[ܔh^"Ü'P'A1$,Ǿ4vaEQ0ŝ_ڨ[S@UT )mE3Kæ-Ж.j"|?fXV󄶛-y9pш;I"d2#L}ST͠#K;.Gnsp,GsSy(8?ōVvޒY&lXNec+)XKj7~F=D>]?D'R&mcftUR\&CU:I y<~^ F\5yQKvKɹBnم5Q5np z]{54B}CCaP(AC8!tO},. l k}e#,q/(hx:-%ℓR&g.9 Zٟ>xwĜ'S}[ ,!\`W|LOm $ p@˗HVL8&QDen|Qm+iY 8kҷ4μZ,ؚ]nk5>.on3nc6%1_)aʷ^@l녝Ov! Z6?ݡB.K20N/Zo&g.urF5IgEa~c%-Mꕏlֳ &rP'+,f" "%[%xJtY*snEjcߒon<wuKօm~ 7]o,)-7M%LHX.V2MS6V<2y:4t& k$ ɝy,s=JaKKh:#RD|]Mi=[o:tP#Ksg.Wc 9d'Sf#>QViJr qJv3weO[X8uE:^j8/q43vREK!qʂ2e\OZZ؅m|fIVz9+[Tۻ3 &v9ѵ9 k4]ii^nū]mUcbsӿ a"`PJ5<LX(fë/ X0YH}5H>eu_lgʈCqhh2-];AϽK|-w{+,DSmd5˖yQNZm!Fm=͜h).O`4u}/K/0Wz 8e:U{䉹l+rDc$Th{gkr턬Mhw,eh7{jp>F~2ĕ$&V=`1!'qgMCuEmMA+Yn ICrJy7&*Зw90UkLlR)ԦV}pCQ7AL*G'M)kVl2?5 Y)xy |&&i2D,dqߝ.td!EϦ~X &h/߃45{fnV@?t8)o{!u #^e~"x ѴiM2ޅEOQ.bs5Ys7'*ȞR:P| l[!'t9c׎ fC3s(؈t1ű*$l"['ي:7n/R"3״BB+-Bm»gi:![[PCt$a#fڥr H>T$TTQbۖlyҏOjfspC/&b7v;FA 4ǛV"cc3:{)j5f\ 4h,P^:o)S@LAgA5䁹IFFk -QN9=D'mjW6 VNn`-a!17't ؖY='CXpCG g\/>`*G?ƼDp$3Ѓp8Y(`:ee{PM:+Rv3b]B} 't'-}jE{f5Pt4yi+8-Q]}~2YZviֺY!]Q?ӃF!a"z}JH~\ojc1eNc^UIj!q*ô<emڴ{ok7b_^!2|ǔdhn.fVS lOVdwpi>-s6+|ԡx_xehU'x66>L Y]r CfoaF=SV7~dj'IaZѴ6:2`s)|rk}Nv0!Tc"!Pԉ #{6h,>H|L ?^f:rGվ(} /jI\'iq L* r}&. q gvŹP2s fG-RCCaZDOaU@鋏.c Ry=),m~젧iv&AFPuGFZwyKE>a'!\(P"oP(@3Bf?v)3Q-`CYLg3-g}!eQ3S2nE3c28+ۏ8jR7Xz.Έn㚱~T 4#k Mct'Zl2"20/:J1}Zm)E2,Zfҩ;6"8r͓ů $>섡u_P,d_tǑGyi:Jzˠi| K,~L•O O(Xaa8Kb|8i1<4t)bdi/wfx4愤Hބtic M=s&D_'6K-ʽˠǟЪ_FЗ^6E̯ӀՖQ4z=N۰*둬DeF!}wFCXY<,/%02|Ӷ4ggr-?VsT.eM({ (;?$(lbȀ W49)>-/IA)}3hqk9![0UH܉b Lz'+'q0 N^|c7,m^7Ka6=!vǬ""wle dWzz]E. ˀa'XW%6 .O[6 x߅}LJ? Lb^ѺoGվ+}û=gemN,( [iy}hO[\(xoW:U%@f<&Tc5E6̃zz(Fl)9߲L6[W!v۟ډ{rRr[%I9 '>|`h ɻHDDO?iRr=GzήDTݏ/M]**\nr{ CN%YlX|¸\$H=.1CMt}= R68X[dvEj LR}J`r)ĈD9~O pۃsPX:߳a T@uvᲚi~7G"_Dfaٷߝzd_/n[+tZkk "r. (“׳1$fF3)9*@cB^^HZhS-)}r1X ,]Tm4^=Cy9La?!\5t8获jBt{9ʇvt U7 =gꗪY-,44P1|z8֎EXCJgy1=#&T O>طtQE]x/vvd ƒ5B6xU2/VPP!\3zѕC֔]9~Q%67yUXZks*]+$ b>nJe3QFpFͼhɡ;_Ur' q: yoly~&9S} x2 ǞRs9Îjxo7S0YDnEr^lQ+x@5us> 34*GSW#q,+r`# >J{nhLF8\Uknx˓QIWPrK11Ǿ'^xa;wbKt+,տ7T;,G{cyI,ȼű?7o!N`̍asd߁M[;yZyZ7;Zi/9Vb3REZ/R)jく6?KL2Wdz}qY.zYڕBPƗIZ{mw$܁hǒTa9IIMÄCCqE*=;{cefVu/hZ~1T@M./w%n]YR]_խ|/R_:ZÃa6K)&BBb- ]@P(kz6YGD <ⲎcTf8$P 66@^S컧oC,eiccw"Z(;uov>i#s9piz4|oۂDŽyryo-yd\:49"nZkBWa]کZBIG+UGAr`y4w@lc2=U_kLQ OʻkFSo6ِ݊ʶ*;ST~ׯvR(_YYs+2gBMɪ<rP-*=Tռ%sUU":CHW6ЋI VB¸&~!tӠ eBݜ tq=auqH\}NsSy6>[7:yaj8!%V Uv*F܊«0+Ҽ& ͋arFzIaf!Ad[C˟krdB*N8P(G=?j J 6Cn@ B\[$,z-?§}M')&>BW8\=&X[KщSi1P$|qgmP۫?Rm="QyL%W_vjAq9˟MXFs1 ;x^ZㅃO}?D]{E<#F sj{]?[C<ƫkh=͛='4 WxH.BaSNQ֥Ѧ寖Nn),,OO+w*>3+Bz=UϠNAWOj̶~;rŞMRߑa<]6bǿVH[{XpKA%*_L0>'eϊ*w WJCV"UUu\r/8=!jу"3(W[m(LCIGn#)A&{Z}KS-43GkF$XE#cb݃o!CPe1_!te B6! s^;J8f0@.e~D.+x-? x5& Xп,F–gT_ ^.\GQtQWHǫi]?UAV04cOC8,Z Z?S }=(=7eM<"K[D9u{A"{sxLGwV`4j[Uh}$r#QWLD$m(|}>>-R noڳ魝4 iYswO!ʜ&4+/dDy|,1!2OG' 4$3j| ٪.tvPn\WB\ '#IWG/ 7LShRx),ՍW׋/> o^'P;1Q΋rk܉u {+E腇'51DַH¨YY#wol R1lnS@5fxҟ=@#2i(VmY 6 fvXWm^ر./  R*Ȕ׿h j֖Fy|I$ 1Р?z 3Y~E>:7_2 uu8 :;wO@gy[Ks8FP< GUl,i+yLIBq9Y=RO+Phk!}<>_eNwyx.'i.~e)NoRɂ?{]vQVJb۪yl7pC p$m[b9#_ֿNRW1SZ&:a;x}NDu0u [,IOu$b9ήV? M/~xtc[:JWtțwJj(4kVV\]JmN8W.%3^o`>fx'h+Z%urFhH]&{i{bu1ϻo esaluS:iVt^ ;c~ƴlqoAF{;U[G'6sUIߍ0Vy2+0kL.{|E9Tn?nCK/~.rφqP %ֆ^f w6b S08G_W)ټX~.\]SL?/SfT_ꄎOeɘF=g<` z?.ۡaNK:'íqjUo W_ Qp3C4VlafG Z̵t"qsxA O}|Nk&_.I@"8Vv۰i,U"NVJh.M N'!My_4\?͐,t ̌-6]J1.k!Emkykp`s[ĸYna;>$`4"d'>:뉂!TÇͰRk߷vp-c$$,DT NF^_ӾJѓ#* ԡ qɎ;'h@_p a`ag3M e qv. KgyT (!/c7.h]Ld"$lp(Ht!ZJZS ,/]17&qo@z+ J!A#uTER 64HnSxfhyA4$X;OyQ,Sf]p (R [?Pᷗϛi]r9I#J!¥| ;P όβG>R'zB" {>P2 AB*@Nȱ:!\>r*91y,c|#TA[ %Su]. nAU2gQm8`Y$lo˿3؃Ǵ(k?cAS40\+0gezA rn*|,BzLf[HugL|4Zz%D!`KDLGA._ci}f6GkI! 2Z58f\2|qxAؒ.^{dTq%,PGtJS{+eҙw!dj,Vht1Z  cR I97 Oɻlf6VOo]p 宪qDkqٮyCjNCh]4Vֹxge$B){vGb.~`=`K:/[$r6% N-_KZ۝Wl{K2o=:ȹF {gwyC셈&A8 >`aaA!j1si}L J^ O'yֱOHk{h ۾K6%qG2AZPQLrLqW;kĕIpj7r ba@< XOME0ǁLJ^ezN78X,ܬW[ /]*']tޙSŵtq]/g7gz_:n(/I1\y8\|5`|>9h=vsy1H!IF}Ri52Ǖ}cmڠ%a9Y@8 X. zz9uZ!1iqPL4#s#uy~O< Cm|Y9}(a]lܿXZ"S;3|dyJҿ;Gdy <siK0\aHZ5?2ҿ3D_A$o=s1ܭYώ.E(4R概N\Ʉ6w=]^wD-hWٳs39Ob ҙݒ4&@.ZwyfyH3.q8ߛ<-l;xW[s51.^j2qFGn=ӑ;&};@7I&h1ڦ}<@߮ΗF}}]n@#? g{㦋-{ ]J1Mړk1WW +p7IXK0ng@.݁nheג&n0kI8cȔϑ$sE#c{Oj+@˭ex|x~uBl| $j{p]BU/̆i26'yr͟w#g!M07cn5@r!_ u̙En,xe !zEh^߃ DU*݊2(i&_޴KDeiޠ%Ԓ?#- %<'+Ձ<E<5ҭ:TDڍi@[0/Xuxᱷ?Y@Ebkv0Ifm6ƽ;[SE"h—&ܾ{;So Zә JqŪٻ mWWB7bk* E #%V EblՌtZ:F~C(K(fWi}LٍX*#{}pXc-US,2Vol4j7 p^H]˟A$yzlmlm8N(G y@V`Mgr0p gY%G-Utßz|*vQr `.%[GR.c׀i*A,_>*P)S6'2/=K !4 [p_!UguۡFf0͗C0D" r;EFY[M_ 1uwjamke.ϫs$3M ,p.Bd b*;m*tNx7ho%ŽXۅ]W+GsyIzf.:bQ-VOaexTǑ)[>23Դ-Zu#<䱄fi+V~b {jcʊ(0~‹Ӛw+z!Yx)~ `/}V`>kjRtD=KkO[Е)Q$q-JHR}@ v3]U+XQs d}&$٣S0878C%+GT9dY='Op 1UN2 U. yV*;Hd+T#ݓ;U C{y(wxx26x?]R\frGs,0+_˳tA .@}_")<PJzħpE eV:)W0`a` "(nے}RU!)&^d$?L~խTejV:&y(Y}T2sDN_aݜCnz/zqp:){:m=̃¨dW+ Z@OͯB/~,b/zˈ>WշwS[xcXB~Cwg5q| I]ԹAa^*g%&ᡏ_3ѯpv£Aؖ^?IVڠ'q'FZkK-+ :XXi磛w~ sU"x7iN;Vn.4""N<Ԇ]XHYKY>w2jg5Z["& ~-9sD ;;KJt\YuѤj>{ ?!q:lR7 4KP͢M)McGRuSvlыC`B8|pA#{}qSv]P^HO5cںB=-|"m* 8QAg_SXX H#tuv'1W*E(:L೏~1u'W7^mR6R N1/66J.^ll^4N$/)J 2缬1)SKlZ &F .$kykgw>А4WTWqb(I=N0€DҰ<Ѐ,sM-~m.6z[TI [wMP}qrb=R#7"\b ߨbq FS! Hv: "6I5eXr]`:[}!|fѷwj=;,bEhci4'*ofU#f Q{'mIظ;z $9 ⪕1<G*gjSETa*0sM\Y7KiswʦX9˃|<쿳B,#{DPdƌ?Mwܯm0@ yXݩBHr½ u/TpFV-#n^wt֓A3#!{7JEs sң!u_8fy0O) E &R@OZ6U-G=LCsBvTg ~~%#H'Ηk8Ejc/L-z5Dc 2t& ҆rYAݏ,D;Կ|J?W$Pb~2A 8rJ=\ExwΊ}oUEzdYCpVRd3 8*􋳛ka. +>cs8 4: %U C4¯+í,L-NlU#Qbu:̵o,Uo3xOM0%>8Yh1a> gb||qr>8>Ⱦ'wW8 Nk5wekk{ܙ8#` eBޓzm.=F#( \Ti*oKc%B>^?D3(s)kF{.n&/,o 1>nErMlAi= `P_Q1GBpDm=#m)m:_@GCG _1?Gז8UbjL mw_ۥo$0rUɨuM":~n(xGZnjVߌP[O@h_">ɸO¶1+WжB/ۻIΖ%&LLfBb7)D 'b#LiՄo;w CF1@0yyHP7-%[hKTA-m^}z=FnFyYv^caov4Lk.%зĮ1ZAh3u(iA2 U&by >qLhÇna\B*Ѽ *0F&9"=?&C|8&|k%)d¿Mmk] 7ԵQ۱"jP˧Em)4ay%6GSE]a5qZW⋞v$E| 7I:+ ckl(Γ7[KvսWeՀ!A<58ИC4C)ϯo(Z͒ή<~WkO_P xPHHV7W,W{l޺?G:$j 4 U˛=A60Af'5v :OTY;(&[4tJV}UJ^dW~ٻ{D蓙D+-(ң%"Ú-Dnل7h;}FHijB ;(gX-Ojs]l`e/֥._o˫GRCG]Q¦G#3I24-4 QYD%YS{Mه\׬0!j?}KdJ$>V"%NFQ}!h3FXAdr =tu(气"$L)6EKOc 敢 >%īL1O"*5&ehjJUw,!0qql2MKwznuq)wWX_)ßD))ɗ7x_?$0j@[ö'/GL|.7O ^/jozyl Չ^2΋Lí+3=~(cINH$3D:e',P"\eV}bD\"CD>NQCpJElXdf$M#T׉|/[=dQVAV0ApQ?9%7OtkT. NĔp) _0 C3hYV\ao:CHu$YEfΜcd$Չe跜ys%22t"QVq]&4>X$ݶ89<С߰1(8eeF\%(iɉixY@ms$G_ejMJ̑Ux=LVj(excTn q9 lȞ* dOFvBIjd꿏ZB kcWYl(W Oh"9őp]X$ ([ 9[6W%;A>N-P9% auT4uL%K5WvAEGk E<,MؤNR:e̦_BGŭTa`Xc:Wx/l_xIQ-(nC ʣ(U$)v 0$ES7R*61i0862Ye"3/yN24V\^u1f(eV|5GmMQ/k `קTEK"Do$"E"BH(b D>DH'DDD[UC"1.ccZFاRP1xhwhwLm@Z]H[.->,.,t.Xj1,BsIӋN%1,n$T]춟_-ږ eڂ~T^[~/N K%iE8|PnQ[/KBi}u_-{**er(zE˖nt3\{~ c+P\xwζ`:Ȳ u&񪡕7_]$M|fSnxtҬ2 G åφ5=\-p㆜p E}XϞ(F}*mYe寢[9ǁș*YPiq3=͵ DǢ>5)~~\K`qm]»W% :}'iYHE1h9whDcLm֧?맞3*ğ*(3';~ڴӤ_ G?0%Z<:Zw斬}Q7e>tWɟ![ɷ;! ZDE+|6R8YFFe \+L2PFAL|NʳNDQLj5iDʞթ .3Ž gU1jϭ`u:7ʪ)'Y6ot1W8$gTdwW"yJj54~\fIW9Al A\Ok)2Qqp\Dx;Fc "9[7 <3c-b%U3O=))ڡ|)G [ÀT6kٓF&sxxm6 Ȉ=Z6 j =[Cѿq|OWb₌:}Xi=g9kQkW/ʤ=S+S7tՐ[J sgh`8V,n3eH4Cj㶪 fy^)CNRor'qiZGl=aQMڪKIo ?KZ&V}>://9cY:9>hbB<˞X4 #If,6 af3:Ya,m\G-GL>'tngt:+Yz=˿WZu"d6DB῝t3SkE#bv[kVl} R fyF3ZVȢ!s}*+ /du1[Y,EﶔDC8{)LMYz0{N`25L,L\֍IAP:&P6cw8b |1W:R~17U=;OMKIԨϦKeӁSHЉ%1/%7Xd"^1ٸ{1\֊ukT^!NE߽N_hnj,<8dQ³Ѭd<(pwʩn]k|F&م2 v(oJWe_ZJ}ֺ߳'B8B&g#JC3vbqݨ֧ Mhڳ*O5/]~_@sA!:D% LlxHdhTreZsz'}cZhy)Y3, qd먃$H6!TˈgAߩ KTU+ r.Z+Lqt9gk+($,=Xbtm?PL·> ౕr  /5sIt;r mh孧TyK9]/r G^A8$at&*c˾ rRW8Q a= 9Lx;[=`tD[*瓩jYn0O]ZPСCanb}fi `%͝EP9W3N:uH 7wzoz]$z!@Bad$Oаy8Y}\u{5^rŪ %%ΊFzkbM[ ƑCmV1a]v O1MQ^ނZu[W w`U')gd>o2_,;/eXͮa!*cycԸF\6ڣen YU noxݿcGƘ1;5¯fe+E PÝtl2y&aUh`oJ5lgIngi$je  P2̗2PBdgPmᲽ*W֙Uk(ԍבMK@ /\6\cJ^?fry5u8^Ub#7'gD^qIY j#%MMFBz!= S#eׅcDBBR =G =[}BQ Œf?m45px }׉uFBB]ض/h!|.B`c؏P45VN(UUn)gՍu9Ӱ#OJsDAm'RJpɊ(8!kjACQJ/*SʴE*&]-@EwQ?FmP[+*S3jj` =Hm Ѓ"(][-ED k B˱v#g$39 Y+) Pm!@A%(y$>>^rߴլeq_@jF:8p֣eոFyeLnDR 5UO 6^ZT*(^Zez (K@z|2|WQUCM L؜u|X%Ndp{N#Nv_͌V7VXxt J3i]v 7@n@ 55N!ќ#Wv7?bݹ &\Z*L*H_j4|U"eUbJaQ$/ \"Q(>O [*!O 3TRMxD=pC<Q?$j%@\kz+}f+ba.)4Hw皱wЬĵʚ3%z]o# ;iH`D´-\()WXԑ \@BTǐFa`DkՋR@y<ݸNUOu ]Bq~Vv>#ܵWuBF:v̵*F]Y{J[LfzY]?<6&T:Sư-[(A}'O֯jצ XNa wAêv]U{*JTӿl+h+YHauuB5v>])A]x վ5USu7svSGv$G˕AI`i,gRo>K|@$k~[E; o:sk}W{ WuޮZWǨ暇 YK :uZLDT`ۼ&+H饠TS@ёj@@,P cS 0v 1_=$ث!:0 e('P%)뱮T+t+?f됭siNd{^\2SদdJa%W~6*JGʚW^J8m{tY]Oͽyk-ͧ},*YCw]D-Uwf(*Ә^H1: 4 b*|RK:J&˨X#S?*ƪWA2XZu9ŵhzEjZOjIK2a%v'M`Z&yDԣjk|#cWuwőlpT U˽tY UUvm_4{d[fyJV+ԼhBU PAK޼ !Qa#HQyםwXs4 b5ަpu-D҂'ԫPA_9;$nF(+(zW%ђ4=g} *{{걷g+&QڑWt`b6w~k*߀wjY*0(uI5dkON8H#=B2I){ Pa S[1c+M+K]X@ND-]Yx߰vIE kZ5q-ھkM^O:; &ԭGj ]i^Y,()d#pլE#3CJSkuHaa/! 3Q&L/D3Q#f![R"ʮ\]2B<vצّ`~a]dh!b6 ]z)YX?+-@](0ǽ$P]V_wa/&F/VF,׺/\)X6 _9T̪kXjDVvh诫U4ﴪ;݇eu9xmd*IeY5 WM O-fݗхק,\XdS$( @V~5b5v jZ-1~IA{ 3V{ Fw*Yͥ{jo欤0 F W) N#\v {+_+-R)AVHp[~k:H{ 'VR[g/3zJ" GKiEL 3=3YڿhI@ˢ"Y.+﵍צxHU'Z4)V %W:QgI"-nSuav`15Ѝ#HToAA巀#3{'c3.@ T !?A t;fk Ubh ƻJqlB"SjߝkVK/"E#{Yo0[@tf-Jv%- uY}L Z]v%[7g 8@J5 m [ܹK(VЅmNDk _nVV/ j,RLЍ$nW=IT``aps 0HM^^^+t6m*RPzxW%xX,,Uw@eM"Le2htJ$NQZ$q (d u]A8).RY'N=%$2#; U=š޲Ot@  9)TF_b3j$ W]zQ«UG^B'] W{][9b32:5F@[--@9(OO L7yRGoD'x{:Õ\ؿ&9U Sz{]KAk{) o{߀Z[,8NG. WGJaXQu@`5U,!kr*q;G02ʈoW,$n!99Y WobX`jpŅHeV60E%[LȹMߑ&ǴI%Lip*5,9DB%5BĉlSBT֬._P wmGDǰZ`I[iHC]\x..t:΅P %J f0:O^ "i8}}O\+\nl5i\J$NopGb_lڶ'3߯'DZ:j ?p #To8iRv(.зp[_NivrIx䁘@4 e։$V3F֒VvDa&U!`KW囤8a~]u^+]0v;.W\x;WR@Ipjyz97gVKB(\(k B7՟ҍ>8STkVe5@ + ld[zcIJB`j?HkJ!eRUWȏZ w 򫂎`:,8QxlpGv 0l?D'go#c+56ܗW:?d!%a,/`VW޺٪Vd1Kyp$HPxBl@)c}ޝ(dUu}e-nZ7>[5kJ xuHu(a DA 4kZU[NZ 5BQUW?JqK-RYN5w{h攷HL8m8еY>+4oc]l5ل (mW'%"(UzovTxp`p"Nl;w~&vk)jFܕ594$-^!yiBMu -[QMB }D NMFBV~Qku$_-Jc'3!ánzs`"DxL{-Uv}jAmZpV}K i(B Mc_!,kM6)TZZ ^-expv_/Qs}W G,䶖p9]njhF=ѓ-W:,sMGbxi{]y܍VUӰK 75 AFqhˉ = n*UG ݠsZ_ñ򮩝UVlޑQJțJ7R{ή˰wٲo4_~Gǧ>KEݩR!tvFrgWDNAD޻[oO-魒޽+"SoR--*?$N^H$hT_&g]/Jla^jDJ_0@'X(fe@o#k5]HPUMr_~5ѝdQj 낛4]X;1:jϋW~ka!bj_UUuKVċ/;tZO Vt{lvU)컊ǴOWWG Tp[:U&(kMPгI-HDB"oPZ|Kg"<]+e/+MQ3h/[laN%Uڣ(1,PLd, +}51.PRл5&TmAZOyX\[I8ѫqX#!uo=+z~;_;ca6Ό1DSa0*)V6C8<1Q1ڀYz52bv`]a(hƔc117Θ(9]b.b>bNbc1: A!ɫU#sZw$@tbbVcn0o@ jd&% SOU#W95ULER]P[mH֬(Q^dh!B6-qnՠX',VU- @` E@I6D$` ϓa=0!w<3ĿXE: ?~@B#gc1>*]_U҉j8MCțMM$M!x^~NTy > Vl n͚e̔#YYkS,e4ffx[]U|?x۷A<ix7Q;nsQ H/ܞЙ_%a@N3\w#'SdgK`˧p!@TB/oy2:RҐ_oǠO\Ug [W }+2"*/_[%kDȖcDWspBUHZ>OyG|ؠ[h `F F E]yu=?a,oPgov(RU|ouAhl@&`̳[@TΤT3/mSo;@y) ~J>穦en]lpM5IV=ᡲM/l]%վ P=,z,&dA!K 7vA|f]> "v Y(@vVg{pòau7TSִ0ʃ#|ʱ-:3SkL)&Na6gɮ91&󘹝Z"ߏSYMy:3Omg^93qijt//i>u7^Z;P7>ȹ |PrwU'O7-\}iOiuW[Uj10S괿Hg* ѳo';)դ%䊾 TeElsnk3yVnNrOT)Q*ܳ_zt3FgUGPv!]O~ei3^wG[7Q*}z'=GF[?Xfq\ 侗}0y >=zCp,*iZsBw%墡' ^lK^t=^lD7~}ylq 6=}RÃ6\ [DDұy?(v;-e$J&9ΠBQjl.kCP7M1nNf֞Oу N9o6o1Ü_usKSlTͥm@jTG&c٩ "=Sja@)6.w~(;Sֆ\{+qw47j¹[ &# g`#,yfU뫅S̍vs}JRA)v Q`;X8^-,k;.Z}'LTGԉB͓sGΓV/نW?x<w[az4\.:mkGhz6lM33[DIa^j-&Ήb'i0ﻀz.e6n$Cl yn3cE@{yKkݰ#D %w"R( cQradUO4O}șݶ5+.mHkGXXSӝWEK?ڃ -*t w>RMt/"9"?گC\u5jb *{kR0,iQrnJ=&rEA⼙VSvFE i0s[iozմL̛Z_]K\hmgɚCv>zc[F-w$>h+<Y߮sV0ؘ$ ydnƻPo皓Za+xc[8?#ŷBzKmZF1B}VhΛҔG~oddzH6KT\ h@u2y;BItLAWio@6G$2ZPwȿ["cܧISlW݋WWTrzm,~kA{Fn}1%nʴm>fcKZXL>5_@9{3|]5+Tf^y#A#1r :ތdo6~M2 nn!sϴs<6wbmt=PAg|ɍ@-Ns Xٷ1".2ƥa+fuHt/}a3,ImouI^V%g~<~|~?i?V'!1 IS#cǷOgCS~;)jA޽;4@]}E&b + v! {W&*oC$r'~Nn%S;)鶟jPFբHh,6NĂu_Եq|;N p߼QBqXCXtʊ1 Z2leF ,|ӳM]TQkr+&Fm‚g * ΂bvOIp*O>ѕ U߭Nk5W$;i.,(I2l 0ݱJPWiDfDM7љ79-iiKϚNֆ dZQ$ktq9"k<81꜖wǔ$_ı~]d*LxRpZ' i\ Ʀ^+ $0޴JХ{BzWg+z %}mZ6yZ(bIr ZJS8-M=G5-uqE8RƽIhDc eM`*N: APE&`EX.j$KLgZ44 (/Bj )3Nд%*[Xp.BX>nC" "'%hIRIքZ';ouDYp|ATG)"3RHerȴ"/IO5TO!Sq9e: +5Rg k--iPr (jpLpm@naE֠8rLSEBR _j 9!6KxP7wQ r_BG׵T]  l&"A=8S9B'd&ejC$+`LtoN 킕(lYd Tc%N&Mz{,Z$V}:iW) qKMpI}>E)V[;ݩ:7NbRtIQXEӎ'h@^a9 +I*bŗW5nCˁ6 rm~gߟD N-i5 l򛕉@j b<"AZ+ғVHYQ6i 4Lnb> ƵΒ̈́VLZx[)DՂ[pEv2I]Dy$e %ZrL7+d+% ;WEAs' đ@ֶ圊 l&+%9꾤_Q<C(Dk8lE2E6]kҢ4f(=u"-LߊE;>z]8d"- r쮦`cq%+F\8SzPp%6*rE dha]4LTT^QSkb̀47a(Bd+&: 5٭Y wqEQ"{YVMmEbXExգOCjvQ@R圉ZLb;Ѧ!{"͊ɩ5'V^a ɾ>Eɀ3N\_U~41n؂bᛑMxـ(~*Ntp/HMn+o.|f-hJJ!NA j +-Yq_)/ًƂ p“|IA,N )nm\ST:Q5q` Y}gbfSX"Cn(ˠQESEhqixpTK6 ؉?l+.ˤ舵pdﳰPScƗ,8NZ,ڼtBpBa=DEVEQV'ZnL@;H+*=P'@MfVL1#X@IToXMmDaE4t҆?HBk,!ѳ!LYZQ6)kzCx@R{˜+vECZ"ѽ!Ʉd]^Q$m+b'` 꼨Y،-SXRM,bХ!95WTΊ,5+Ί-+SFdgYz$ hdJ i:g 3}ST -V++{aEX ((םO,Т!QY:Გcc`L7CR:o3b[uQCͲ:YupVIA:p:Cux[uQ eu@8ᬒZupZuVa d@6fց p63Q}xW[-qԮf&؜te5fvF&y9C-L# ^d `l1`e} 8L!1HSmVJ`.mc$tJl6M& KJ&G :+룋GEV.ˬ2Lfk"8zBXs (@Edj)٩<:t*Ȗ1A`NaDAN~2jK40CpyZ"/rGK;:"?HhpWD\g7 -|BM_VL c%֏u[B|# 4)b .JݍI{2Ѻ ,0Sl,}m(.nXKU??DS)l D_%Hl0UJՋz@v&ZԔu#XeG|:f ~pz&")KHOoFp.~`к!AA0WarkgR0\0vuo n?V61ؚ7o `妡|p@pbb@&2LmQCgkǥ:XoݱMcNk- EN\?Ғ>o ˩[yڱ}g0cEJl9|eRd22O[:Q3?*i#(/w? , NzC~PayP[̷dPQ=HV'zd%9ȐY?bnh>h,Pn6P<7 ;orcJ|{$}6x4D3Qc'4ՋcJ ={LӠC2h/J/ͩFVtULͧrvjr ͮU[c8\u]]Ce4ihvvV;)>^mhԹq^p4׼:;1b{NIKs8)wb1_z:pq:Gǃ҅n=΋oZ]'pq<qce2гݜ7i="#2蝰oC[@b.7CH/A3ͮNq ρ.ҹB3Ikvl9y- "́YvV{/m20f:.@2I{I7aGyoϺa xov1t\ޫK~ܙξ<>:B.>.v7gS`0O X@lK kEN_nK%MIx;F"p1JO߆I;Q㎦W 0-aLq@ŲMr 3nR1)˾22 ?yxIO(yPp(J!=))rvOc|Tf )j}ZA{uuQGP~_rUD/iِ{ʯ dRW ^\9`~j@GȈ YPfKHbEL4t8ԭϮ7rgc8=]Apƽ.E̹TIA躬1 )1\ls,Ǹ-܎`gY|Oy2Ƹ^Hr6_1\UxqP‰qskdL]ze.9}{v 7r@X|Vv)pl/-ϞXc9BxcX^tbY#N8,GڹIH7nt;½|x"fMQ2i}n1&?,6W> ,-=0ʛ)jg7yoyb5Nv/v X)`؜2|Wօ Y˻9kR nfpݗKˣZu[B=/均 Eyi.N#s$fWm'4"7/^w'E-*c`A")E8/j)\, ]0Ts,S% "xg"&V$sVqq #R 09j.WSWt,04R%e!SfÕ?EAyت>`甔h72% \#!yc,q #)$IQRDxPK,T{ n{+bcy ^T`DGg>ѕߑz7[qN6~y*WLhYӽmB-+\"ȅ9RDΣiCIq ]H\s){Ur^8Ag|o^FHNXǠ_ˡN>^tD)##.2$ۍ㤆-pJ dVNu].ۃ`rNDRŨ_1Pً{.u`_b/k6^:0NxX3LL s09Nr2Ǩ) m@ݢYu#>MkoYeg\fm#֠~6:: \޿} cߛcq/7EU^ϕLL5=t AZ<YQuM{s\[}#/^ 靊 aDm7aX,x#x2S:[_9 G 1r *}H0=Z54*v{¹-?UZ^ /BͤwU1n]㘞X3\bke:,n̿u{z1cޔc!Q_} !2#]K27|*e-}danVmQ5HƾjO狤Nf)3^u %B$ʵё]6P^CY!%z WCFDG<ڎq e{S/lՓfK7=e{hgp<7G0J;5?6Hd0^e tS p>/CM"+c@kGc-0߽;\jZ{yg[v_60 ݽpRH2~h2aЙN#Qgy&wE˖6KuH.2 }-=KK3޼r;.]pk^1JD9ұk_%0ї{.F-_vㅓ7lZHOڽ|V*E|}c9O 21;8e꾼2) -~4',,X#"}4׫!xX>7`2ICjp?Gē܉|LE x![ "fG!6.nG8B>6W/Q%GgZcWOxǐ?oiQͧRРA#='#,k0 ddz2ʎ (d71])Pf_Ǹ JKTAn>=P'hCjXQV&PBr ̥2]0dfW>b6c5N5 ~1 )/#)>٣9@&ҩ+nbݧu6ܽ1R 3t/(_UkƸ9X?p$a7՟&Geڿ#v,3Vo7 Bs VJ0Cџ]0y_ϣm?dV'1N/8;G2뮔G'>v`iFlќf!Ws%"8_ dP`M]$7K&{sSZ~O2ՠ22Ft)=Q6{x%bE `s" CJv o$2 YzJ\AzP gCR :Th7!f+9${h!f z%9ٱ%ձ(AI㌄xwP+Bѳ"@pJa3mJJa82ޥR:'e(:eKNlPCe|@4`݂ԣ* F`7:9m̛N"_ێxE!ሃy.y&nl<[rr<ow@Gp恟۱  +IaCe-~E uĚborю͠96$Ft@^xSVWA txeLq\scC7G厁_}~r3M^'qfaҼẏ(TFqΣKA^2Tl% ~4M2f#ʤiݮAq{)lA/z'?~1S`_͢[ZГF∀/<=82ʦGSK.HYmL]{mŒEp.f[=V[j?a ٠smkⴋst4=mR4U-/. _4+BKI"Ow6 tw+)A I^-_RK;MEIza U$/yO+]!˸=Nph[RU-l 2w RX˗_a<ݭEDMR)*X lĺ e}pO3C m']c6ЬogU&f : տC`Qass:2_wۍ9 MzNս(be6io)0_p Rz/ ]6pWT*(`#)ػmO<[Jy^l 9|M*Rf7ILzT)x#0PN-6Stك} il{=(+Ř9Ed  : "e) !&m'vc}V0! 4f]bл߳EhX+tn(t2L F*dx[k. C JYF^z- c+=0NIo851~lA.',H;( Ƶrw7rc`+\S p"횆 EŰS-y2KJn[?NKi$}W˄؋,! usTG]PF}X:ثz %jjWԊ>?h/6S\h{JL|dLU;bѧ ,gk}q,7mMת:#sZ~#4}dQ]KՖB&1cXFR X݀{Idso&)/ UA'F= 3`c b48NxfP:"=]q ~N[H5D6x^ۻs:~iyiKO|2AIK"qdlR[cG!18- 25)Qۧfs|*Y+vYH!63!TӔQ|q¼Gc0Ʀ1c/KL4+SM8k$Czl;38QNFT3=//@K>ީ⧻*RiY5z.hK`UUz$ՐHv v,e4FX֧P[tHqv4+Nmc!Rpu$wrٱ(n)|fZmK.*|Yq n^ce/O$1AĠ.dAn׈}Ǟ*&č'#9i2*@ eؑy kو6Tr,59qm zg#&gaHYucn"0e7#y,Nȗ4Vhrg!J}6z9Q; \ځ6WEݭ< Y~["wsy7k`Q2 -):6/6C I hM@^^n/cq.+)0و,h Ǯ!_ue`:/;vvM^6&6FV2zȨQ>W[C?벱NmTyV9 ;?Vڷm⒡IT]S2\qG7cM9 ;eN,STnrYPVjP7EeR|#%FCWҎ[39fx0z]y1$zR^z96 %jd#TUZ4M=t4Dұ8+Y#LޏQݽ ȶb2J&+]RR!@ɺ669q%*oEF+Sn룊aߜFDŽ-mJb ݿv|-!^l-%Lffw+g(̧}"Ru%(y<<޷$uehgVV&CZx(b,{ssX{ .űnVBF,@[ĜȒS2qaX&1ʫ CQ05GBrfxkGl19Zz_茱q`|~0W=W^O3wWy}^L e3Ցs;q95؄MjNZy̥˯/ Jmp;san-u31mhUv7 QNEzi(з#^ @ @ @@ ` @8s}@ [U11+r9278Rf嶦ԛe6<%r봑y'M&[9Q{* O7֮h41A\ΪgJT['eQzuޢv:K~ڀ#i5׶2 S^ǡ>%^ ¬G{=Y j pʴF/<־ѲT9n u+uR;'i-۶cOLmo*7M6}SBS3a#$m{·үzsTwQjU˿W.8_"Em祻qmmփT|rzSb79?RG|79XGMnqsԾ{n?'p}O^7w/pxm-1W^U1s"o*5>#E^ׁz"PW~cz@$h:(Gcecc3̽f\<::o@!rBHz&k?1"ˆ:W~<-1 s£T4]/GO(99?`61d{.CJJSBҧr`WR>=n_nN5CӔ`^sx>ivY"*i05vg'pj^=*ۘ67ȽÝI (xT.=;FgoGbNj#_sx pʫCf̾sMV[12N^=f48ao7|ℳ8z{=XUtrJ9-ꡁi3qH40x ʌpĬ5ֳa`7>֠"(~BPE^Ȁ7]cC L i@p0FL}^!|}'9^Ыvap#3xK L+Atg12|/ﺨ拮,%LjR N?I ohkxp: 6 \R̀N|&i NeTfkpI/Q GO!Ĕ ?:f+_LkjBeY TcrH[ m)6Qp//]K91VgﰤrB|C~A785b‰%xRaj29ɒ=KrOM}߇96`3;ď~m~h+r1+TN> m$'H  9~f f|e hUrv'WьY&m5ŁEJ]k!,eIg_g>3 "8K 5%8z>tӿFnPv QػO3'OξhNA vc3]m.>wUj'a-ccvSOl]䧃@BM &+۱=Z1fS=K̀F.zo wP7[+\GClb8^ %gMe!_[u Uⱹιpw&Ň|O =Ss>vGDy"5!? 7fvl8mu'K1.Q2?zk>VFvc.~z׉آ P^;G,xGɸ~M=( r^K =?d.pINYӏ-'c`^JPz=$ӘL~l;L'>^.enD8TRU=Vhm &zt~8M(.g 3DBpU p/h5s-f_9׽&zQ{bc#~ %yPoJP|c.pK/rA+8M LgK.ݔ!%C8(}xqRisp~,d HM +8,=̉'kry!|Ϊ57Ā^*j)&tv.4.#gnIΞ9i9}Xjnce>yVWWHq1/nZ!3d$!Qs.^uqKN*G/s[K$C* Hg$D \vH`b-тfvߗCF~,7ƃ&)P8%!h6jg064Z67!L׽ݧ-a,ƼAl2A$b8;2@6xYpJC}n]F0sǕi nh&nx ?GdE7Lf@~T7뭪=XzenNGxXr^sJ6P~oa\3ۨU4O,.6S[7K嬶~ݶ3~/۲"-Ε};B~@w{`{Xߞ1{!:'cA=w'dP%B_(qX:;+5uw[S='Ȍ/G..Vfo|4x?3ll[0-O'D~Bu/-]([16$>]11q!8,f  (ȡ5a83,+'433ǃ4vGzZRPϿĝ9{Џ~!T[ .LH0d/v0@\1HϫH aH <>ZT@e p" xH18roQ^Byŝ5 WCrqmr{/2;BܤF.&5&1"%K3 6n0Uuy7NvqچO%EU뢁;H:?b*Bi+aM 4! =DSK +|]*uL'CcvJTeI C€!jΡcR)JJ G(O8:S:;q%~n(Eң/ˀ\tYЕp4ll|:pNhKsdUea*Ɋt2}6jؿJYALecSZ69j9&t?Ͽ+SG82hUL. F9TPb (D}~lb+Z_c :nȘؚiMZyɮm+ӦI` qϮ.sQ(I1|ϡT͉ۃH~mE)SmI(VZH1gt1S<4I,ڗjOɓF3S# ix3 24Hzq.C8<ڭxn>35)W R/ nعI46k͋30&Y,KnecY,tTSYhm/_ B+k2,dW'Lb5m݆1Rqp4/Tu/)bsQ0[djqei"BCuWCL8P)22-ߐ2|2L%;}cՓ=!"I^\OLK?}d.gwu概VZ%JgEFH+ri"S']GYYY4aZ8graXf9uʈB{Q۟^ sT;Ǘ uXM䔄֙i醩sTKjzD'ծ26cذ$w(TjvE:">^.tt0;:$y]Pc1}t3*h1lB+-L#1DyY5P̢'S) UԓRSlXRkJe_:)t%QUDò )õ RqڛDĘ!_߿1bK|JnB͸FXS%:s6MN*R*ge|R%D9b&YeN*quMzO:v@a6V6 ߴLJqi\Ib_Y>E IRnv&KasqjR"B!&SbӔCYRN=z|Bo\P1M(i0>۪  qI21=R(&aLR_C%*F DIg\)SR¸F̓G\%!-syaXZ0.MDJyU׊g+%W7m1avvl3֡liRpjU~V:-wChZ5upbd61Mu/xaשbfVOvF[-хidz'1t% Fm M&- R2˰Siiz e%̓ȅiMvFDuƴz{aޅPX\ a%\)%^I, Lb H23z',E%P 65Ŧ5K*JG[Y7RUwS뻮]}$VWHi]%~uPѢUaPpgG u /NZF.hɼ*"X )/8'HJE{'Iĸ4~ :[kzt=3/?bSY_*g=R1U5W_)”,-ȹɜo8F J;~jfVW+bbW)a*ha0pgb-&W&dTI xu(|aK^< i Ehu/ru,Tϔb (:_&,u%r詺ĪM+$ J[Z?QXs[dEJ֔'/V#R= *W-6W% j9jbD@?C±Ё56{ :'kٷ,7)M#=/HY(jyKL]̺(0K8ƴ+0yك̏6)lA 27 ҼaBi=l-j߷@W/m3b@7s[<ۉ*N '%; kƗ7,/Pc?t@W5TeF ݕҬE7I\ҟWE,ݵQA2o=Ū#Wg9tkhl\jj&4sUZm"=ͨѳY']G{2RD3f# xLG.8 4BM1|h^u{C|P[~t[ M[gGMY _~FbGu5ݓiĤ^q)+靧s-IKz6Y˥pnQuޤy8BVx&|Ҋ3g'~-mLV5d)MgfSe76z⿮+|~S>1r˼uBVzYͰh?iBR^`_㖆o|{ӡ ʝ6]kM /)S^4'ݴ~# [=ԋsߖB,à $ELEL.GoSOWiiC7{Rt4|@T("Bt0"6%{*NBu`+8 PAWu6kgxU$)Жn$Ah Tw뇆ADI*ڟH)+iWd&1l҆ R׭۩ʘAnCVb~52:Pa;1v=k aƁ1vkPN޽jZ 8c@ׁR @B_V3gzÒ6 ti@B! !:y ͠uH(*ܙs|8Ggi~ܹ!kص@A9Ms'K h S0K^F2Ȓ,ώe炐h׳K7,ܚgr(ko^DP0AOp=; 2،IBuMYOmEs2xT{8卉O:%rO*> w3qX+0sѳ~2M1b^LJ268 }SJGFC2lD3[bڬZ0^bCk@N/mwV{kq3jA"(M*Dsj:_i+R=_r·tq_cSWHOmp:}:ysqǠɥQ8;ۦ Z1i C~mW\GzcTt:VjHUDd~Oi^(byZs=]YxdB+K"}VeT%B$tRDAӝ J/)*]VXQ EcZn]#.{u}i5% T7iWȾiGY=lL ]lQh]Z[ZUq}܁-p A(V=B8+B yd=B4Pvp=iOe+A|ebbj}w SCsܓ:1̄ fb7ܵikOlV=HHFg@n*"+JxLww[W O];3Ph%[6Cw^To6MK qmwȂށO/Jqwr Ngihôc;BK`Z {z+j"/`9Hg"|1zh.Ys8n*1${qHи~@tW^ ;J7^-ȁĦro=4:RaB-(v_IRk| 6mՁ|+ AA1=>:"ø+֞0:clB^jmPNJqfV[³YekA,MeJ䂊L+@RΝ'Qxt?d׽BM>3WDy0%T]Ԭ.\=&T@Ыa kc AyoJȆJ%g$ >{V6;'%I0v؃+ZO72IR-v 9mP&N#תVkqͅt͍pn)[TN{e7G Ո9neⰜLMܺ ,\!)@ZVIEDF9pJEy[ٖXCPl5&uB$u6t=4Ze^\+JgGegOA\6FGנ{Q )s+vJko70,!Tj D4IM:9lle}n0ٲQI[rҁ}썶p!8bDe2 A5n,_=le$ ~3iB?,T*i./(V 10U/C3Mgn.u{7)AN-T?b$2KUc-&@mD= .  G\J@}rGWJ偉=OI<ݥ`u4lXPћ0hh!ۊLOe^F{!R7jSĉt#`fTFzW6,x ՎbHɦ}gk&L)\ʖDjqM^h=І{U0Pw0ZO_s$&؍'B[-1/-4M K"% \;"OAI@b4yjYSȂu!"-FA}E_$&ղuAPy )c^Qe$黀qUHmgeeĭ7r)^R_\\g L P PC0H˿Ō1Sk"a[%H싏#D]YJWӼO8q#bV>5}źw{TC Z/"̀@ 7/=ְ3O|_1UEyةkH Rُ?hA~rqǒ3A55g2bf簏G2*IAGqդH4JzQ!Fz.lXӮ$?mkuLߓ0gwF_Aл:ADV}'/Go1U~rMؼ\O|;B8qF/pzc$sN bhVV8)g6~ڴRl9$Lv*QUDy@SU;N nXe6wYX,q݉*MP0ZdZ *7/Oh,UnEa}.!]k[H|BQ9Gy"0?{! W0%^ ?}qx겘|pWŅT]2b $2 n/dw%q,!Pi'06C|vS ;.PT5d.(LU,-D% D[_!OYC&&t_ ^˃314 #B SKmx%sX}dg']`^ -;XVW:4NR%R )2ׯjUWy=oCK#۱eئ[iV_hOSQjzJ+0I.*oΚ3Uʈ#fo\ܞnOOr=UChԿpF>`ٝS^ OZ /, 迧]L 끛XpGz^T99Q;nO_'ވBXnY7Ej9֡e0FWܪke"O@.U ?z%fLH`t2ffIaj*3 S5Mv.4 w5]'jS*# 7M?' diMӯ#k59N?i(%(nS&* x=5wvKf[}5l vpM "&|rJE>6Ŝ \76vnv'G[V6f\{r!C ')d 9L&cnjJALf30U¬aNwkA]s\Z"31wV̮Kj$^֧M}ǩ}=+ S2ףsit0a},8r%N:"+I݃]UZR:([uŊPheSJ\Q x &aIa$ǯ #'KEd*/oyؿf|V@eG@Mt'PW^yeT~y[6S陾eLRx w1gUd>ӖW&'8YµNlNsfJOa:<'67anpյ,q*#$zP xZ2euE'uv9['{6zNEO7kh0#t\"Jy_ g9!\9EC<,wt(х\aq!f06ǡ/ .F_qZn" rA#kdoWt5#*ƚ MSx}"-bi<GEp$̈́ "D, i5z"mCq ?܉͉IQ:3P9 u-0vt=kJQ!1Z\ׂ #g|w RC[R/SACZ@\ >&}3qlfgD¡ˆIx5WĊ夯O|C+'q6^07V5ZMh5)(W*MQ߿ɹɵ'܉/ {rٳ[q7Q+/wZ3)sÜ׫D4+%:IT33"0jݗ5N~yCW'$R 8F˅jnEoQi5"oWmJpiU3B:3vok/i~1zJiiԟ+4aBwYTxmLh:L0 dwK<=@DN]g]-]M*&1&Omfecv+ e?BT}t[2m2jRX P-V`3YD(ƚbx"V Xn0WfU.`$֮Z$6§%^v6Ruzs @86tc4'>-!cX3#HծiA}djwy!(I+ԀڻE&}B I<#GaH&5k@F0\yUuFs^:#M۹/.E>dQvoWaK6}ae ₨ns uchrIqt;Cp;`-I n B&] x3"~7B@VcL@ W_{'M|T#ws1 P{ O/d<ϹjSn\fײ>=?z)(( 9S\WfWJ_pfxw%@ I5K&㠂uqkrn<`6&.>:4BTÎ0%U 6%*-KAB)[ZYae?$k."w NZ7ᲇİNnX}Q4+9$ى"N1!p>}Gg&Q_[6$`Q STK1( 2 VK_@^) L/uhK0u?.Qm7u K L*C7T3HQHOnoqk3K)ʈFiz!C+H%v!anuOT= 7~) |zGAhò} ;JHJꉅԥOuRPH2R7`4/w0ʸX ąӮY-: ,m>k̓uyMU7P Ń48xfy7xOq'#M@bt~ER ;DY #vOWyG` I\saxF JCCjOAIq2 ƯB:/9swDu@] ~iY8Sj,(kS~nO[efh"̭=- =dRVZt>u >j;Q"B%v#݀Y l( /V!P3帻^θp3]b?[T|-YlU~&"6U?z_Lgn_>IR.<ðwHDc.6) Б8{D&{"aQc㣕o@ jP9 4*-_kA%$F{K$tϷdD6yqXFBr'O^bQ$X?lK@2bILա)D*`"l ~b=|}XG݀kL5λd_B/4| 5 ZNCrr:AC.;#iM7lŒCS{G8a=eSF,%hf|VD ^ SA{ k+Hbԡɖ K5Cc-&e0D򼏲IL2>Y;"G#/ *(*ݱwx9c 3ZQWv3 Zb>oYRR>zeB``gp`z-ez+00*UG{k`0ӿ=jǭՎ,M Q2tF$$t=/ﱨX}Y<0dZ#=UdAħ\~iGwpE/5Ӯ-=Ҫs"Ÿ e^0pCfi—YCcE Y]Gt1I8,o!YAx3Wb31# oeiY)=0<&[n/K«\;!tO<۝TGIA•H9ǒfWxj}"$sRK.G>D>&krf%]-bOS71݋x8|#܃̘ po3}Oo'LsaRs/[ xLt&Ώ 8"GĎrtpL8EpCh703> J4S-['W(U^õNݺLY[f8M٣i菇<s6BXswX!JFg#y$*:1x14esXAYldn{z]ظAY(d#plHWmaA? wqM܆V@}CB$j3Zԁ;?j{~R+uhMbYy[4ZL$Tyb\} h=V QI"g]\ۓP}ޝt(DgBT!vN-jIRDv7M&3Ad:󓍏pG#`": /~٣tʸgP9=6Gݘ@$5& TVOwn'ӼG,eŖ(Qpא2IYma(a$z$ "$iBdyȒiSqvbN3!SZYXfgc|^Dv6̉@dhC`4h; |X { ^dc<#ĺ* TgmOIUM7DIqc8&~E^~mI3u7w_q$IRv _j,AX9KZ 3 ulf &R^NՁMVӷGr'wkY{3Dq^~ &ڍaԢ8 2m\#XZxEt=7[,ZnDRRSv߮8f\aKݞۢ{R-fml9VO\Hds=W?^$tpE辡%V9+r)ЅHX#̻h߂Z̺q]S#o SEPI4{4 A箃6 sƕZ aK}}ЮJ&#(CP!\>";}GhL_D"*Dxn{%@jxQe/KCC1aЇJjCM A,3te8`;b>'aYhAn liвFkjb԰!hš.x-@j| rMW8y`|1   UЃCxl.j-N[GR)$H4.DsIˬ ZL(&~: tNj_ F9$}q4Kh״P$0$ { Ǣ5j!`:!N @!w`+0л7q8CyBxƄE;z> kiM5-HuE%DPQ>2GNw+y{-udK7.}.Ր(h^^r[uz> [N`%KT 3 $Vp59&lfDK62Fɬ*y@␳.1VźX:dfŻ]j!̎HGՠB aC p ClwtՉU3pJ9lc$];j!ٜj Z܏Tbf8'SBR͙N^f- Llf%.TCT:ܑMrZ[TxYM0F%ޗhvj^Ljj1VDta|eJ[oa5j+*UUK% ?1ΪbgP911pu=9ʬlP"VjKm l+&M.8f&5q4a/)lnJl\L{:CC1̏&kV.1\Ak_Mp[uwaͧ%\ҹj8f:_f;Aa̋]'׺~tIPH.DY:b>f:c9/Dʺ4qv54uBj!4htHBT $;jVܢ:{N›\ZO(m"G&m)V ;*9FCM݆xoo/[-Λ0ӸUQb8 7oM+ɂS'o' rnu Ό4>/ j:hX$c։ŕ)=Jn5gA a$XWf-n@+7%h{)i] oI+cX$$TG>s9 {0DT7~p\Sy*fKyʹyVSU%Nxe@r=3Jg>dJf̕0́Ĕ(w㓣[NploMb;%Kʂuv0Fji-E6Inr-n2FT+F:b#JN'j'C_vPü-:x:a7WM8b5В`ih*=.՝Ch,EpGɑRj&f ~2-YONC zX8|0tc`զgB:j>^G]U}7s& x;'x]}@w#7v߱hy٘JYͺ<gd=6V3C< 1 [MΧ#Aq\撼IKyc%p@k{U}J\Kr?~f g$bs_j΁qUC?iUu Nz?DK -yW4%@}I73 (PPA/cl ]v%۲e]sȆL̬<4Ū=烜X֢r9c|A duJ/8gs$TAi+/6+`F#n !\,%_ZẐϷ[_Jf2 aw@ IAo Z $;> [vc41mUz!2W`KTGM"J%j5(0*HfaqL A9>} &ZEp%ypi/ˈu; c(7;Ggvɗ{a$}d@~xhEcN0$u4/x͒ GgHQ#<ƙ] [E}fJع j0x/_`ipD^i@;vCBdZTOXz h `@WVg6sV +C2+Χ"jzd{i-MsB6r{9Fm8N, a/SF!;o &MNTZ#2R 7l]Xy>9&T6BX"ܼ{?NgA\ya7ƣ6TZV%(.=cbZ48o>){b {ދhṄ Dbk+S_T:pIUD%"4Kvk">}\mr9`ǭ.v/+-"Xqx3yoEϮYZ);Z#Q3YU 0eˊwu:BA14BĽ/o,L_+cTiiV܃7a,70Bb7?^WN]ݝ>)q6y~9Gh)(duj$OJ.58P-a*u|ῦTL ѿ@iU.8VLr4B΅׆^`0K_x$0u[[3eP4 _6$@O”VޛpS@MOc{r]`ü?lSW ׺@vf+AX,`2^Q,8!PA3Vέm?톂F&Ow Bcfo& 'XM)킁]@UOz[Aߢ s_,źonvܓ/$@BBo $ʣ%3GWMl n?r+"l鄊>q\ n"_~8[GQATU5+BR|vW",rh_^w/BVsT$e=+V?PV!-IjwtmF-r j`v,Zmߵje/hD+jc{g=Pa>:R,.ղ,0}~c Ct2ZٯUJMPp3Vs,sGFz6遙$>x&+5Isg\>.C%|`.F6_ #5m@2l"꩖ 6ӬwgeHAsf{$OTKYPkq8v|gp!X!ˏY~$(hUתҫTvEneg~I',Ŕõ_+Ebkp-tQpHsl֣">%VQI)i֞x y*m/4;~\帵,`#Ǔ YrĦ0M!84r&}?:G&⭐d뎃R]T0˳mlI1a kiPEN^+<«+vA$3*r%i<^|G iJ, jv^xpw ӑ/ND8aCvpvz!XR z^2 ԳM?Z!O[iMbdIq?OGWd/6Luyɴ.5W3w eS uz%8O*b[~ˋR]<]Z)ĉ,d.ŅMG@5fCf Gz:\hݣ&ҼM"3ZӔr%V{sĽɟ6v %Ob05E 0]_ fDa60aDtoWP摊"4Hjq хd O1>E.mwSC_</ӦQ]| |wDV.PȮ#1QFm(hɎ,ʰ xhSH;lR>>H9V>L'%BJa +m3FKѬekpV\99ڞ}vW-'M%^%#6q1_,jZ 0rJR[8')d.]kGb/:$o=Cg_]0N+?%΀::g%vԴ]40l> I`@3ϳ )#e͒ET:FI`"2w\h@}h7y{]>_`ia^[ܾkOٗY/ ex?o ~ Zl?#nPncߧ*'A!&mWpؕ<'^~si/!rS5r\ʹ%ԕwF*s";_/e4dk -fȱ4`&i@)`O(<(f "M 7\XfZ3Ÿ/؆bVg*{C3.{ Iq4&ZK 9xdT$WS=0(6 ]|X,؈*\;H;|VAh,\11֦˿RRuTǏI'[>ipoj 1+cd$Fu$J/<1lVr${beRۅk!o҂J̰T 0$0f&>]k[ۂR<+ uaeatZag0Xwed.1VӒbOJ>9r|brV_BCȰCavL"A<.Jj6fp-kGro2n *+}@nh+/`4Z_}u`4d_b!B,l V]?QtKcO:~Z!H YTRze bL6K7T>=}*HvЅ"z\G @X{!Z-k(JJZx׳Efűj7E'Mx~uXdw|$89 B8jdcǿo4;)! `EB bGkU׉/@4!lm0bHDӠr?}Q!L}H݉"#-bW(F7rjЃ*9-W_teʫ4u47{ENc?l(į~ͫ}|yAa$uh˔P[:s݁C}ꪢק"d I+uoL)Wx"To>JH4 ]˭KP{ ݟ+tw/lix6fm(J "]Pw{uĜ1cnqʎCͫc9j $*sH #2Le;`SаfǰN.g ݂\J3$h*TȴAJ&z1()DfvJ@eەNWa2;SDh)to>I5n8;9}ʖD\ ] u-'#h' +sDƠ 0 JK 'rDG!]Q}e{ryMd;^>I>XOAN:9M~$ RnlX.v@R*>-C-e&fDA ĴyEۓ[;o,rdIJhr=΄>^D^dWS& 3,;RJo39i=/'ʩ6 "'(2O UKJSanmT^RJ{AWTIb  Ei\J\׆̶.YcH &PmRW_ d)>%'AN+ :] D'L9VKhjsɜ˫TyHAnC6̩knQA41-AV~-?b)i`VmA3:rIZkm͔Ksj5{qo8C/q('r>D5DUz\86ڶ|62ٿXJR77Fy$ (dZ1&MZ&*}ݛa bxYV#Qc.0wQt%$҈X)6+e}T wJ~,*_m7Jbr\uwP nY O]i5SFPΊA $ :Mo ~]C%8x "@BV"j5>TUf* M~RO_T@^!4̼oε9 Hz@2#121٪U_wrQ};CJA"\w-4iD!ziwh$'MR踉܉/< j(HCLSͮhQq 11DQoF'+~1Ti7u[c#×FZsGQ}4xY" _̗ a`-;L8*aBeEs (LOaxJp@ lFY[HNp. De C ̙]0@8 +19 Ee SV_⺷KrOШ4U4al dӌL?P+Pͮ.OfgBj5~ijX,ȯ\ݓUu†"h<řFqv8)qv;A߄Q/#(O"$cgl{~5 aj$OĪDĢ Qdƨ Q0 t@$ T AZs$C 2CJyukyLl(T!bH8(<f~A C w!k'9ѼAX␒JpGØ_GEGTN]gw PĀd$HDiirx5r67R89 #n"XXrPrRrsuv"xyrqʂ'!E4SZ*tdBBD!r94j9C!H*#%EˢgQ[/$ExҴej55FG##="Gx{轈]"_ /.2*2h0ša0C15jP@ؠ Puuu0wX;8 |zHP}}`?4>(@2 q3A8B8FXFxGG#`#v#5tSBSKrDĬD乤LD IDNNXNtNNNO&NM䟘N:RQ( BC+tw?m`HGH4^?DKiT6(қ9)'H4sg"|w\U襾 x%`%qq=N\U&QQrh!2!7&>ARta&s՘ AwSCQr"T1T-jH=mç贏wϋdwgqBq ]z#5oa#M.; VY脍06ou=9źm]RB}% g˯fA_rcN`Ʀ Ҳ-ʭ4"ȐVF9/kS%bsn:Pxԙͤrp;7.dVyV50u+9duKҰ)7m[?dEC6i#?aY)]c/NםmHĒBZ%'>"&T` 48[AMpztF:uW>m4E=ZBTAWWIhg%MJmS/_pʾk:M;wZoЕfߕ: 啌sM0&q>f`g"v8 19]ܼ }V;FϑueR eB? WIL)/6u& Ұ@/}LgA|ȟvV2 /" 2U!E-@`s<iLY-|.zdкI[uNO*6vc%57kzEK~31ä07uR}yP3*gQ->X1px8YQ,H2Z.uGKT^EoQy,ʌr.9ؒΝxdWya*V&zAr0xVBӎǪ#ӍɃܨ"&(F[0sg{Wde4+$,O+5^8o8mW\U+4W*\ͫb;UBG>[ү,veMHNF"+ٿUvtRo2Tjd!q><\6QE% =ݿeJF#@_]y5,l" ѯ]؟) &P cDZaQX)G(jʅ+`>1.n-B.`iN^ 7}P<'`QK+eMyNzvZ[ZJq.q\8_"Ը6ɫӰJ q8@p588+qxqd0TCB g|?mKBՊ3G.swX8R%.$SP",i4 = si%mJobB H7M͓ ckΫGތ&(NpǼ#y)館vNdAYeõ j5Z5X˒GQM_ *^:9H;]sGLʞS~6Ma!wI%37Py=^4*gp,|Qd[Y힗UGq&ۋFFtw>Hۆ$Wf"(y2)KeBq駋+sIy٧bk%u1p x .ycΥYf.݋W;֐j dC;p; 4ӫ0Q2ΥN K?dph 22[srúrS`o]d:/ +ș(J{1Ъwbɸ$YrZo߮lUPh[% PJ\$]AR-,;Ŵ- Bh\"F?UR:a\•L34 +U} "rI)ޥ߭Qn.Y,v]{S}/xA%߳)kTa؊-d+ӋޕD^{UF"k~Z?I􏱇 UFP-'BD9mQ|9m4 gFit_0_Q)9$(艻XHT!1)uBˠUU <ɘ0U#]VũnbNj?SRʖg,g{Nlri3^IUJk)B,DWɖ_e Aybdee o˗ Z[vzqʿR^F*H H&|t!S I3 Qf ̉;-,3V,j !xPgtLh#'\!'|2 i޳VȸGJƼhU*.lHl)1Hc85" /wnl/vUjoEϷorX*ǥ)ׯscggmSNIDp =XIRjbZacIpOW)XiJA CG$LVZt9&(9qE&')zZ89ɄHc$Дtxz&q$뀦!tv' CT5jJ1iGFnsw&JLM!K!Ѿ L|D֑_B%цu䔺®w{rnrK:-I7Fufw~nma~bLazuZJ*29w o59n3: mբ|ٵ΂;l&}ϥܯ[TgT꺵D0 UJ]oZqۓ[inG@* )G|, TSV= {%¡ϛ9g7%ϗe߮;QU7w&Kj3Jf/+H^cͭ'= w^\.EF&y0EPR)sEC @ 8(y>C-U}3GYH HH'2(i&dE j1!nvH-|e1Ltns2 S?N goh7J#dѝ@Z{QnsZ`L)g7MeJ;񛟰 ag4 άZ*rWȧ,@q>cEhWusbɼ:\NiGd!xDa;\J3%\^pu 39!n]/I58USw{%!m,4,\3?oM77_ D?{3ucIgv6γ.Y} 靉k.ynߐs,f7mB()VxssIKx6N>K%4_yc9cԂ׾+ylk܀\|TGMdI`|+˱J嬯I7_\vb@de:i'/2-|hN+s{?7eou,{ϐ>'ABmY픇Yʃsջ{i5,zQ[fFw [<@ npg{tJ=:^ jsS1|My#lIqE,fZ@*rčH;(ޟE-;Bt\{"@"_ZϸךNyEl-jUE8V#8-ኻ5hN׬& ;:O/*ܟ XTe IU#KsɅڊ׃{jm|C޻SfԶq2g1n)U;4 :njwߊ빔?Ut}l|8ԨyBEKnEf׸Wޣj)ƾ3 ~>k%z L 5l繩ҼG9'|iL?Pם5ߞfm>"0W6O|aK9͓x7'A@GaE;(z#m}V5׷q }qn| e^~ڴpWg7"aEvL|(Zo.;Uhu"Cm~s~2=hRg/aO<:eb)ƅ`Meo =Õ [2,?>nI^_]=OFn VڿK5nZ.pw.{jM *>ɿ)_X1}enms$Rmv8n>7?;dٶGqZ^" M>r/$yA:p|B7.{m5_sC"W.n`U0YO"`fT'fQXẽnh+u@fA +Bf%K0Օκoݝ%|ooZ4#iIØe=R80c*Za=d7eDᴃu5C`*DB7RP'r;; /}yl1]G3h@[; ;z=H}@Qoif|~~_J[׷)bSQrm% HZ4[. nLBЈ#ǜϘ0@xų縴sEUm)/H%-sўfT& HC[>ۇwsC1 oн:qt,,K#+bs2eզGL&Th ph$C>)?F||2f[.VD8QuKoc)d--ibJyȇ"+ĿqV&gKUIE8S UL&Y̕t/Kf5L͹fLT\>&8\7VA_9^nt~ л擃@sG!G֒ :$Wt?~}.b[z%##Y+H g^ZwwzqTW&h*ԙ cd󞂰~= U7΀edt/>\|(?I,ɋ?ohziRIĴOa] AmN7yAhb:iȧڕw%&?~jfNMM |߬, n >*XNZCyh]Q_rkA Fۄan)*@qҳjy*T1zj'1M!iEݽ&a0L;eΗPA{^j/oFdЭj8E'ar·l} ouxDC!Xށ-l ŸW`vPW #o;(b$뗾"nGMg9Ak2CA|r2k# Ls9j(忲CJ *qS%Ŕvʦ^^Ǚ)ӟ\hR!~o-蛫<1 [S&iE݁at9/)ΦQ0Y>/8ot}gVZٿ= 8TPŒUUM>fgu{DŽG}q>7 rRg Uue>wiڹ`n4LzO/:&AN1ڬψ; G E$PBzPb&i`tG$M߶N=~q8!|xr ]C~R3_y_ At5~v\Cokӗ/K uJHt!IؽСEBO˲A !Hh_'4Ubb7~pԡH ؐoy?+S먟lݜ@76h-ԡH@4.o_4IAb#;gI⒨T s˝cJ }(`+"(}\l>eM1NfV0nޅjo :cm cc 5 cX]=yjBb:ංG}mr,@"v\DPg71$*Dp [桡P_V,ϥp>Rk#Ř/yxzT=ׄX;3ȓ*VTR$u3^{ D IP#C6Ul?+ϥK&؟۹UPL2dq_an3|ԳUN^k<JY{Q;{K{^wkr ڼ:⼐PGW-:^ qx߫7_[-_ּ{W}jpm׌yW_⛼)kjƼ+qTm ^ǵkSPU>鏈qUEIMGJLWTy.=z?qM=?3≪V' z%S4,8E~>B^Rxy?22323gF& +m (StH0(A p|T0T4T8Q<܇ku&yD߬⋳Qq.LOKn?s]~~6'g*Ѩ E\[R+~r{Ըư56cGgU؟H(-MI'ے5e6bf纛R%/&8zrSΔ+fOVxy?faMkH0,IHK ĀM"k =F^0!Ema,Plrr5`&,\ 0> aysA*$96VLDpSr3u m6׋zJw7{U ^ӽƈcXc^vF2͆1fP`z5'(wY#tunj3z 33OANfb$]5@`n .z.h@d;r׏/wFBhb\ P|%Xqċ.H%f , +`H` TW%^ě1q{%cgzȣg$x~PGMÞ=`ng+m؞a~x#ߺoK>kHͨG3lcXEWrtjo ;~D- Ƈ C!}†F mQr+?:;ji':Sj5|]ՀwܫUYmEv$WpgqxZQ#+*D&t:>kzSE!툴,BOAD@]WADVlXB 4n@"x( H:Ruwy 9.RY\R"duŘM:;PtUSPy1+1P8QTr <&!w.v$ lk1kud{Ӌx ???  ?C?  ?!(LR$cz*9~)SlNh't˞j%q溝T{Q!zȣ8=G;c^Nֽ{Ȣlsp9m"6@ ͗zSfy͋#oFΏקM7ѽ 9֧Xy{/izatI\=xvθd9mxo ~<>a^&/!I8u)u-?#Vm=A nOim _M'$!Z[>.xTKǓgz:wE$K{>g>(Z2Y&5?&f-¤w\Ee{{'AȈ=h?"^gh):|w9= WḯO{5n95q6<idKsZo ,HF[o~P0k"y`YnQO"xeej#㹞"G>ry~#Low%H#~iFkh!>\Lj' ̀͐Ng]˓G?q7y fAQ48bψpea`b`!g6,hਢE>8`P:d3/ /i6[OSc'-/e)ݭktXDlT|@??,FY}_-3Mvő4o~;Hn[]B1PS . 4c0}B3?1gF#` mڌ(Fqc9:yioՙn3LJLLMTrX.3>ϦhӘE & =ƏaHĆ 5f "C6izc L> LՌEl6Ğ¢>9LdDbuc1) 1B1c P=WGbJGƅަn 7#11L |,9B!?–coZVƅB Ә%L׆lq=)//6G;+aj2bLc15FӉY3d£2_c@1n oq R͆g4P0@5I0_xwM|zF@ }*ޣG|+,U?p}𒇩-5 XO=?_<`(TȌLlF8#BA%lD{; ( V`+> :dQYlolDMIѓ'P .(QգHձ*#sZݳ=UE*t])1BhhkjS7$87y8# hWu+f]|H~|IDR {"?FZOQТ9!32=1EzQ>e  hR1|с31Q2jW*MNcQ˿o'$ё(#W#0_0v59~ygOL'rXMԯn6쭴sQK y 5"SJfkMKWFYRH4BPcLf$u,g{H_!Vv%AH!LAW2.#IjZWjS+g= :~A[E=Y,fj][VW7t;wDqT(^I_+(.WXOQ*F֥kVyu# %/8]`NH.|ԢjڍX_ӗQ%ד[a8c"Cn~&ҒW+*FH[^Evi54Az5\ZO>Q>iYɾ&D~ËW)X`YU,7bܵbC:t${sbX^Lkjъ ȥVz>tV,ju J5$*(6Lv^uv7/PĶ(ؙ╾ǯQU-\eH`EE9QJ$,tn} Dj9m7 ;&0 bn)gO3֟sm;+E]KICj!45`7yа?`"xT|T 궲ozUYxTӄ*@]C(wT(4PdXGjܳ[P-G;Z$Y <|_G|,mYt18p9ZDǵ[$j'Ũad\VA('YI fj4U D^:iAD1+1B,b9eJQ5ZQZKv9ԜVo%E  yf'=vbI$X 5"9,L Cq;ti5Kr;X$YUhz{fb=d1' !L8'u!W̡$#STd[IX*6k{6&ٲ2E<7k#U?%ϹRNdiS@GOd庿bĒ==qnq"_i-rw.q>qӂ Ж~­|W@A~+":_#i5 ۷ b~nrISJh[ T-+D򒥠ԉv&A^;T.K9H~'|@e7OtǦP:RDeu+_wЊq! be먀%#ܬYzC(|`(ϸB Z֯Q05%.9<ߤZS-Z`DHi Uz!gssaƗۜ^4mѩܙtyɉZ]vx\BŞI Rܦ'>Dß=A;Nӣ@fW W>!4MQO)1w1Ω1ZFV1 Y.CdێIC-,c;nN}`,"2Ls=9gAĵ(I!xբd2 )gQ㘝zZ:PQ~bݧx\& ޣ[ h(xmkrIQ ރ@A8IF>#qf}żV? l-(?C$</Ԃ=3WqkuE5qtWC_zŰl7OR#ʎ:coIoMz@.Б>+q#Dz3 CB;O ^IㅢGJ?׆x Nm{&plSgLzFB[xO)v:16ͣ9t|H;B*hcQ,q,ibö[GQO (9]|/%Q1nb{Zw@7H لZFP[r5Ӽê=c5X/q(y=u#?J{Fpĩٹ.-wB>T@ zc N-"DL9BMe}ozKA%'5{}ܿ?(h䗁Kjb ɝpP%%'/;H&$uXP5V%奻)1-¹ vfSJlF%GfxQ6gpr5M/#O؄e4ُ'GV<~>B Bэw4FQeZd$'3 o.}}jrRS.ȫ[fF`GA6V=e$ctPN2M1(9l#"45y Ae!9=ȴѣ< s&'ݼHɼMy (|M8{iNw Xn6[zF3tװ ~Z$#D#!'2tyQ&uơSPzc!9Np^DZ,I'PkBgI=Kza+2ʋW'*)Ncj4 ;\ NCwMP(bhQ+xyq>䍆 LP? Ⴤy>_G} g6)G_+V`'z!ίAS#sWLQF"lEXHX {TQs #倷CFƕd_T(줉yn;N%(%8/hEplpt5AUD4Įas;(I2ueR",81͑Lu;D0Jcq J^3-VM6JpNhߖc*6bZcmJgKq_ݻS-bp)Js2ZHW>պSPX&MRVqуD]쪳U;a~G_4)fLXG9uؔrտ&!R${K;M,i0<ғ(AIck&-LQuoɑsj:[;& ՛##q 8_2(l "*v1[`SO-uoj&&O+cP~b0҆<"dZ֓þ`̴;f4QtQLcN1zueen54:iwIML|ʈ)MZ=S4u!,RВgk:\QK0OqM 9! S >aZ߼UJpj^4m| (Fy$ OP MOMU;@5r z&>kY.sѼq2Q &>]4Yo&(4aAB<V\FTa{!gD:9:f> M8AK-"&{^8H$գR%2x\۟т |TS<[GIii mqE|nLv$IϟWSD_CA|L`沜nz#p-zELsD#6`{Np=QKJk$##VJ tqHQaUZVU^3jW NZ%ꞓOWV[ɮoZ%jiyFhRB$UteIvˡIr f+I< BfLHyWcP+8s`O3G+yҚ| ''kV7YtӬ?-w]-Gd<m%fI4M4BZ3!S"O#@8F/ptBlOW`(*!@ <0 q_?,5aRi vI(ⶻ@wڊ~)Xcua9jdc{+< ,+iaæv'Ө3MGstb1G 'X OSJZ/:bTyQ0m`R^#P7rA)>*&ǢA]ƚLd;FchpY ] %X|qˆ}@5Aq꠸EJ) Ի:ѿܤ j†"bߓuIm=ɎkE--&NpgQ}3R,u(G[~#SNExoۤ/d(ME>xOMa)82ܱ5B:3o@ jM}oqٿ0Ά"}LvL"`mt&U1$T4NSQ9d5@4Ơ%-kOtjUYgcYrs!T!  KOʙ7ؽ~%~B#[zl3C^kQlF2 hen%ʀkŠ; J=~6sݫ36+6$>ӱցzwJTʈ謚 LPJ#GhO<~ SZ{iBեRE'cfMm$M`M]7<ƇA-npz2Ԥ;5GOΪ~o*I_>=2u崶@->PP@m4O7,8%;u|bF=%/Pޡ4<#> %xݬz/=D' r?i09t_VMuœ"rJcun2>¡j/\keO%k6ti=5 Ybk4^sidu B䎺2p%#zM!UV# aA T)CqӇmq }d! Y#vBLFM;|a3D3#(Wvp2;ċQɵ*tWF:ѫtݪ](@Z5׫l0̦#@okץnHug:)C'<#3h=^}Ls~ShT;Z7n= ˿ƍm7lO*#eҗ^T94͗M$. ?*>i`kInstqڳ{5GߦXҡe(ΌuyqTBgR:4ٟfsWsU{'ܿrլЗJtr)^yy-`v1eH;GT4S%0 E_U?7niq9@K8QVe (btXp ^rܹr/ZW b+"%# -UA*Mn!E5e3c8!+bL3n6MRaP~{jga2" 1_ϚTm6ѷRVNAAo _l.5m>L֮`Enx9,{T}Mݖ:'kbn@ rflP{r(VQVy9,~U9÷TfU6M'C4G#W[Xq]ФYkn-ȏ *Ҕ;'WEsEK-90xh}On"DNJs ;c+VyM~+Y#QDC/ǀёE:}j{_瘇\*alDitJGsrP. =j(Ė\&uvW]u{Ě4TA S iqNeZΑx~nR+* \rVt!4wP$f}ʟkUV Bxiluդ@V类*V] lm=?CI+zL"D}NTu7Ni ʛ[`F-E4Qʃ:ܟRZ8Nƫ))G+uz,v ;qI=j^JJVu/2̅vR TvV\Z7hJͲd9McUϷer6E o5}̏SMЮi.<CT!Un;Atܦ>T56.#R̓23݁ҧVCmȪb3  QCo'9YZcIG}S7>H`rE, VhyVfyo^pGaPއڴ8چfG\IeqVL/66//66!-6[}g9#$)n2z62-m"ZDR14pՑ3} 2'F*ʖ(j: \lwY|w w? az9cTWg812rb wR>(GMUY-IdDTS1wO{Jb"sV8IO,8RomZ |k3]+F.-IySoxr*mU8a{)MoVV|@a;'};RS6W +Ωw "$ 5>F7ސmg+=iFmZ.:uI-\j K"Tj,ղ Z:uyV`]ucDpOZ9vݢ|q= >IFXj"T?JNCz>5]ߑ)b:6"𻄚H6?9+s ,^2yQ$Â8ٰ=! q=fw|h\_Y~pO]a7p^9%Rg-42TJniW6"f:ŕ``D)ya}ܲ!Bs 7)h9nbPW-]!]7I*So!}Q:,y(6d9*Eas4ND_GrlNɲL"bkOucs'w1YI P3}?%{`m\-P|k+iG>El$;i(¢Jݶкa~\C-RU]oRo1Ѧu&i;H$lz(Flzޅ4㱃xbZq(Voz] dawvm݈XoAIڦLĻ+ǠqZdUWg잲a84F^#p稺Յh}׻%DnO w/BvCc };؃(LMDY'>7[~UOP|}}=6"R=qj=Z)`j:Qn 5\:w-6061=nB:Zd[9Nr-YDߺԲf{jY_z4{myZ6I, 8MZs}&]>{Ɯ7]|vPV|udN͘BuQFCبb|0H)Hĕ2vL/3 U7%LQd=Dm)o1zP[&_zv<*LpF݄k>˹vU}Ԅj3t>z|P7}3BM ^B)6LSge[?\{uxQ嵾3֓_S*KWO+W4k;(>Kϐ]_#? _wuk="{jv`-76xʠ*!E+1>p4ZFjtʣbS?(|qUwdh4rbIZf_cb7`'.۽bAasI"1 L0z@)t"{+vS`ivH\i?-oP%.`)_(c&ӓkVNi E7ZLDǤ:Nr}ζ%EUnי!Odx\uFYΌ5,&uy}>ǺiLA}kRn#(^>jk{.nx$wrlR!3 &.$`-#Wgc;s DF!1 ;:a:kItT(/y$枏@#>6_l<ݳ 3z*U5$Y~z ATm{Z7jͷ_w7ʙ){W%=Dz/x+Nq3U ܩh _xQ6H@0"tAC50ܤ݉b[B0<-9k&O`=~nԗf$QK|b\A;m\H9${nx߳D ݬ\.Ld΄;Fn6.#DZtInJ],3q /e 1-68j>T>% ~<iy1!ΨB{4u(p|1A}k-P2e;ګ |& (mZ5&ƌHojt5ydU9BɽjyfoyUh%%˅*Xپ4|xCgk= rݢZq_=bp.Fw/4h4Gv@ePl/Fނ P'W[UnRdkˏRa'q\􌗼>=:UL:Ds%?NnWYw#$nNIAFih?T &QeE]|/+WtYab3ttmN<y7>/q$v/!wSeI[:EʧN@9uSx̭.ZSpghXC 5YT5טO2 ƍ oE>;4d-Y *Q릝NѪCk;Q$jh$yr#1]qtUi\ǣ%c4@]Y(v1 Ae>ד s[#w9ݼ${)&1 hp.QڒH_2'bk ]7!],Eh E,nJ<"^Y=`G0PcMd&T*An*'fa$ DAta@0uS6y>?J"R8Q1rR9 p2@^tV{獅hoS^q{7hmCQS10'rv{ (ʭ#,="vEk6޺2CYzN+;fEڡ7]~OR.E 5FUv*'y]]N['ĶNͤLf+*إP+)΀ҿw4Z2Amܵ"QyFk4^^hh60]XQ3bMkJn݁bx+ESe9sft}$aYyl-wLY#9C嶍(N,\˶v"ռ{wv^O*6䝵{*eʀK xy ,ZiB-8_ʏG눡l ]̀}wwHyZz"16n3.n#7e@v6_J:%b@P{b|!;۩ :"=1B,ߞlvP4~0F8[o5ʔ9Ud=舠.$De%N7r9#!rhTD0޴ Eaم9Qc!:0ȻW䇚1fo:"SG)K%ՆP5g{_+SȋwI{.iQ2-^i2bڧ(I|"Gh+P)8hkxj7oW㧈2xH/mFIyG>3G K)#l5%"fpE#'-Y-KLÌ8j\;KAlf %Zmܞ5}TJNNJfHKOvXyjw4ٰ^~];K$lISqOǒ[rޡL_Igytk¯{vGUU;m$.R6X I]LĘ-hVZ쭻Pj^ޏjQ1MM-G򑦿1RU}>Xe< =H]8"눵~FJ`N\٧8U/kTn2 &݊V^dꞌ Fa0nHGޤB#TZML׳PӁf0q/Gmψwlk 7˓.5r}x7i>tqUpQTc |eMBY}fp=P]xU!J#mx{ۯKL/6(mXuzY7vNԛ#w*QW ev>H*x\@*lWD$TFl&sN [AyMa@ӤCSF $pPQw&E Tt"B@'߭{U{VRD}g_I3\JjoDt:>}o(?xyDr.`[V&w#[ ۈ ZaKO[EHYrESa`קꍉ(AW$8&}[~ӶD*pQ]l# f$#7#qyN\0-5̞kJF\n^jzG/Qݍ}rNXȱMH{s -ZIAqP\L;t-UhmLڬo ^TxcE^ me7֣&Teb9+;~fx'^ Sn2A!ܥ?TrP}@ɰ.RbGѶ% 2636䔁qֿT/{Nw3`*n gF$6UcWahv 0q::ߒV%C"d)d1/@$|{xeܺ*95*{ꀮp/B׭;y_G&UsM?p*L 5`Am9c^f3-gn a X Wk3:L땇:ݗ_ $J  26oV3wvA</AC]0ũ'U%HOg<bOvo,Kwվl j#|YHwb!OD]ZEy?04d\^P[x$>ZPFRĉ;E"$tn߄*x_H&Qjч8=cŏ2{-H[=7&cT1ToL_U􂆻8֮g q[=2:W{]G^=ye&Mmp+[7$m٥|UQ`fwMt7dhLX;nt&ȯ]L_kN0z2`7ށHgKB 􃭄ñp27З>^%N_ۛ'sպ j[Eu<,~NsAl17^PӁK_wt{- H@G43f+b~+f|֤O4(jԜ)SóY?>2ڣTn7}̩;zd1"xW 8'v^3w~{Og'#Odds5TUǏr;POJKaB/~I{AxW$@n49:u"43|\1~qr-%)hAOEA6K4oFbHdԬ.2>VyЛ9xrRkn;1@%ԩ2qO9|qTz o(LnWeˌLד.P7AXR_2hp]d7G(N32t\V*kM=Zϸ$rwkB'=I&qՕ>[Q:XrWy[)|{=z޼9xG[o/ 8?_]EOټ  IqJ?; 6'=qbDQ7 YZA"u*F|3hRGZX$W?ٴ4hǨe{v#w2,=Қ]jn Y> &5Hsb ^jEvbT &g꟦*~צE*w`(1Ɵ>V.{I$J[4xx,D^Ρǒc6`L$9[-,qIk.t=wlkLM =,׽ަz#;dRbZn/u$|7>2Gm!bD#ϐC=\Ҵ[ԟ u[ ny7@0(my?Nꤿ8 xCe%j U^ߓKwϒ]әF9rޘ;m o])~98GQ'hzV0<SѦ X$ܖ,RA1^oQRrG7U\N{<]REn!W_#seޱ,Ѐ%Jt^x{|yn)>եRpy|e7ri\cԦSF^xXDrǓd G~y+V0ŪGNMT)O(ߚG4C5S6eQ~@{a[^e5 \g @I_rʝ.CڥV=ߗn6E|oǎ*Æ$KdnPMlnL%SAʭPq9Ojaƙv`Mdxox>p`3ق }PQk0w'%m+uU:sX"@}J[CFMj+e}sxAZ%X̞UF ChMh5Ir+GUzq6F]/ɪm m٤L=˲PanX;ti5QbҞ?,`pLXl`,Lu 2>H5V1Fۘ9zGp=h1њh vph:8GLaK% 릊=:'(u*. ę OX]Ny,nT0gTr=Fn*+b~Jڊ ΀&F'ӃsJdu͟!%"k\%qKeHFm_ &;g{7~Dvʅf F㣭s6.C~V[ s J;ywtY~7WISW \F>x/&gUm Z+\dYYTZϒE_a 3ˈKdƜO}y=ɳ&xEok-S8{{1p GޤOK’mnѾ5veA$ }&Yn/"'l\ī̶f =3NAUR{hc KR=t_[ l6gRQ!E &B(Hb֔PZ*قSgG9ewp!O'9 Köq8O; t0U³Ki%[aW}$Ǜ |l.(|H ʻNeI_"z>}P=E9n- '?L}PkޔQG k1y~PO|m;z;dmR78 w*=n)r-C밆F]>]}ڑB YFQXos(~%ö x^tFZŕ'3u;O ,qZDyŨtWE1} ÝΘcH[)K?мaٹao_J2a4^j<å&q֮ss9RŀWqڶGLI6?]J#~LvkQdI"z; K9"tޘt\.2qFϛ~ztI!f*LkT+oI*Mfٞ h*WK3!R4~*%?HL~bvRgY<k=DWH`T]&˯Xyq<ӜJ]%™SDZnj[!s;e7eh%Y7Apn{c':fΈ YfԫkE`hVp!? C#kf>D,dLM:qUF Ű7 ?]ى2uE}&2{#%߶#yIB}܁K*TydKBfwè'6Z.!gaG(?EIƎ:gdrfػX AL/E5A^Cg%f^}E= t088p>CDp#@h*Q+O>SIN0׵:P*OgZbNW eǙZ[ޒ`5ß@hMy|-X()HTmDTb+VFjS:OaӳSc2݁O ث pE%[UVϮ4Rmr(2_)`nt+.o2 '-Zأ-Hh$n i4A5 4K I-9$> \ ؁y@msu8zijn ǢM!RA|>݊ Bv"7#d"i3!#6 }2-- )8l< wWf fQ' HAUtܕs-IdwR0Lx)սҞ4tP.JI!-s`ݣ/5x=Ҍ< AWQrABDuC\:X(KO_.) mt2+i$Y?w-\J"x5꡴i]!uB XA _6%l$@H ViXIRUM`]Vy~{ר~/(| /'J!Rۗ*3 s4utǡ7,HsQcI$eSORΉOWrRoRna--q_ i>U*XE/Ӫl~!asUzՒ֣_0P6+il6Md6ܛy^X|3`Fv1SbBnӝ asZ>qܱV /7E;A>'V])=p!2eQpҺ ,SI򚏙3#6~ 9Zž i({L =9q`-.Sk+&`P2qFB;&w%(tGtbk$쑡$n&:ըp25Ts(@NHQyMT,đNhYr}34ۚ. J(baҚ$ phDj,Y~I]"hgK]O݉G%-Y!W}J%10_lĘ4{Oۜ ͮlj ܻi!A u²Y:'4KJce оHyߓb`\W ֠pP'T*ퟭV 2-;Hq}F tll乊FI<PS΢!d(!"*D0t2~*8P4u9%_)`HfetrXZg GeED\" ɱӌ14@&gD yJ[uF.a>ig OӲEYhV-l~>E׃04T@m1-pLӂ SVԋz^lO<1`k<{mkjSZ*k=aj(ma awYxg L瀀`t;;/$;HIZgĭ |CaLtdh_MĕG9Q5 6_ w]\EOyۖ@*8.%s?ыe,lq0 &҆^Z(蔂:s|>ZS&8 ,Gm#i&2vxl5u5$w N S,o;bk8Uj͒ 9Gx%H."(! k4tm"*}? 1XvU5{r3rML":5-T25}:URUZ4_YzTf<..=GUHR[9k7?7s'Ȍ!vtK$B FѐpХw<5OODns Suq (-Hz1Ug$7BI$|UN~z 495;WQ٦MYCٌ:=gd"#/~ BP\&pO`ћ͍B`Fl`bB2iqpwߛ l>(KtjF^ 6«-4F4OvKl>SŞ0:u,2$B*t:ĕG[6O\'5K^; ]$sK԰6/t#bM7ՊzOM̔SNu2uV^z)2Hdbx3!v6+!~3E:K<t̰5o*3eD̙$tAg_P&Uܑ=#9F S?JJީWo@~NQ=2{B i&փO}!($tqgmwǛ—1jC*zy'_^ٓGMeK'9m gc( >l,{S|[=z3-KYU)wwD cWZN:prSBoBi<1(\DS7%or(IbC+ _tTS՚, סT.(Q9=ƴwRۅ{iyEuaD'¬4!t ?>p` xlP<1 #}HG%M 4-##Ţ5G^)FgM|B#"©sFb_5Ԥ<"QlHd( }󳸨dLzp#'xշl - dp{m$P̼!?prh9i,L͐N`9#/` .X~"R]Vu>Ŀwuo3R]WF" g&ତ~Ar,m. -HS$Nxbj/Z؝dﳻ g)I>%(e#֋=3b\3 vflRq ]Jlj%H+:'Jv /7j^0a!uԅ$n T#h6'Y'³gV 䆔q Â%~nRoӱCE0!'b瞌ws&z!PU잙i#_IFX_f\C[<ƣO0vת%.)uҲ\܌]_"Uu8 ~ ƅƘ*9!k$.=զDr^%!'5/=I6|GXtFUAk9Raxq,Ih^PPm#RVF\hPSZ(Ϗ6T\=6S%sQRZ kwK/ה2Od(Dϙ$XFgDlvRaI=jLcS{Uq\AbUٯE]i\sr x5&XT7Ķh&$`W1ZW$zS6yxH%V?ǶR*93GXe OQ=6*R[:K!h10[x ZζIZyYh)'_Zֲ{$'Yk-ӽi9Lp!iW39RVFɑ[`Ź=}uX' .۬)o֐Be3VubE4(z4PU,ЫSU!)ỶɆXs6T"-! #mWjv>¬zqVO[8rJq+4yļ-E' PWZyݷf Xeܒ~#q9]5*Kp]N^x74]3Ha{Җݿ$ga1sYJH^ XQ3*Ԙٍ]!YcV1,5a3S=l;^{)v}qv\ƛ4HAA^$Q#HK6HSYo(4JNKT,mYva b%;qݤuɰ&{vdE׮?״m { IZI-d4=l,]ieu#Y&6Pu[~KMIlE zM;q?r`֕;JlջR7 ǜGRuyDGF#\O森aH1 6;@Olgک/DQlgᒃ؃Ӡ4\C9%. %IBP/)PQoȕ(,eBS0k e "8z8tʷmS(uAJ}*p?oL;ξP;x$mf= &elL,=^S{&~ԙdAH2d&$Q/Xtl$m @= kZb?,7u7ÅqOo"vvpcI{vZ*`_`70snfgHH]XuihK0u~n80Lk I9☵:uMDIaM+Jzه+USWKW kk(&q*&gk;-[il/yhbx(M(G< 1Lx]U67sm2TF^HZ$ԟ 3mR E v- ˆug:!0(Q©T;X ͗.Hp'nQ@&8 ef$4,fz74V8cZrKs:VHm[D=Jt2#  !m>9^H@w`&6Epw >I'!21g}u[eއʑ$W~&]$9 /u O[pu R Vq}UG.b}0.Ff= A-D7-וI*cSzvC 7׫ M$%U~?.D`bL.=m lesp+\?ׁY--#xYVG"^j*w%ҶHv:I]&+  '+u'3 ~a9-8 bDbx.PM$ђeN-^kf?MDs6nK/"cV~`ƦW>x0y9ٳHA]y-i$mO>?1eBω$v:(l_>Ԏ3MXHm0~XZr9&*lu"/tR%B>v/Wx4p4^!ȍoV=d6X,_Mcӿf>q]<$e"ԩ:qC>r[م*صNjR(B'(Dv3d<Ք"( Mޒ55mk;rofXHR݂AԎ\)rm֝}+)릮NTs6c_&r#f9Z T[e*ƾ$ V.v]s{L^6*S2zw ->oQw؆W!#Vd}_7%;iZ Ag =r^$KI='!V cxɾ "˩lU6ts'#{qk a#zGїN{!Ni|ˈT]Sh#$ȝe%x.FGd@;qcg ixiS0l$e1L$kZAm%e6]~( k2)q4?B_P-ɔ4I߹cu|ۧACѺ%n‡pÔ .Ѩo^Dy˻  "N?!eox=VXT7~2Uc4ky0x2E BCC-ήc)k)^ۦQ^\g|bXGUR!vfՖឌwyf4{~:k0rй ʳ#"rvL`S-v:(3uC2 kĩ$q#s3='`U,LkXڅO1SjvϽ}Xxt4Tw9L(DʼnQ^G?*@⮟  ;Tq(WG[T$AG9$CbNoh J=qa03gQy3'[dyh:!Ќqm Q@D̨E!6ڤ$s-DO*L+|*$7n\ڟe z:flPiw]QzBބns)gc&umՐT+;k?gRh+a60XjE+*~_kB,V+D15gJQ7< jY5/t$_봭&k2U%&#йYTWWbbBb@b>B7/L,"g@p*qJȞ*qxTXyarH܂x)^қҗ(b*9n'To9QpeT;7OnYSk9r>ʛ잫e;͖䖾/4U d#$7;RVSp W I;{Oyt,򸱠'^tO 핚ۨ{d>~pLx˫#IwY.V_(yɸ9{s&'Qn_@g}n~\w$$C8ZM@tS`ITM s9@D{q؍1zbiyv /E#!^Z+3C:1%yZOwpR* ~=2'#GǮU9$Z6 DDoxɜw^͘ARol d6{"u /'&J[\_%]*VVxҽϔV;=ٝǗɥȸLC䝚ڽA2z4-]P 'Zm?;:Q_?3NW]@ '\o'jClG:5o;CKcW/bAaLsWoExc&r+")rK Od}@/<3Z(Ů?ȱ(6傄$ᴎCؓ)zصfN1B[x_ H)0T*/?U_r!䀅TpCʛX9y{ /6pZslt t'sl{dc]YkW lq?FآC-{w0; =w49Jji. #߱h"W`m7:.˲ e^:wKѺ5CttkN' S~\/탼y^SŸzmrˣz;l@lWebg(GV,z^].ʤYu i?U~?OK xJ F݀R{zVgt|,O띚/9E1@8E+DU:J?d [#ް)k9sU $8 'K8qb9~2(%is{gቀ(js{k帚&ijg殭a!P|Nnք,8'KmrV>wn)Z Jw ]FwM l?P$.™#M.{GҤ&HgDI%m懃 pg6:k2}'RATV]``AT,47Nu@-N^e1|_KϿN2J{t1je"A:)"L_?WLu GC% ?B]ͧ#]͋bJ0ZhUj!YᅴMol=8FNH|iZ3<lzR|ΧN߽Ny b@uDd'K{ i\36k]<&JSa²wqIB? ?sk`B83N|*UNKz8-v]E\Z32bOO6/6w]d}Ɨ3.qvF̅8o(&)\EtdYDjU|?|τ~t7]~+:X7Gdgu:ƾ 4"_ 7ʙ4(%vX^Z@M!ʍwWf[xNh^u8ٍK<SyTBpNVwH* F+Gt6(*kؔqޓJ~Qp.TV(GL)4c| ^Ad_ȱ(@aҐZTShN5d{),IM]~4}*鮦Ψ}?:K.;oZ#T78_%>E>ӵ2Վ*o v~M\\]HZ#A`>K.i2sl&XYg<7u/3t! TA}s q*ٵ>ÒOd"50C{[<>w|(HXXr4%cf L&*؄pt)m+ ٥ 3K9[cY){',qVs \~#/Xɼ%s>>iu#"s-D$C#Vt"Sd`r柮H =M_)<|&E(&z5.WW a=csTT׀6yHm`[dkS4s?02@R\.RV9_iƖgt.2%VXƘI|peba.t0xPH]y("͹c&ylY kQګf} _HOfPʶgox-K7 ĥצ kZ")u/:&W\}x~ S%$H- okQ5 xsiY?-bpxk5<-6+5סW=ܜU~En&2DFy;lpm&TY|@Ix~Г(2р]ȵϕA~M2- f0{2;o]LxTeê=,1F1 /9XӢ'lX&o^+Ҳ8A.MA2CS`-ϫq73}1"gNZy"rL:wePr|S׈) Wڳ*]_'ޭۻ ؍% Q9˳?Dڑ> ծiԬՔ]f$rtvEՄqQJs& F:z9֦ɤVV{ʾ$Z4xWvPLfR\gdՋ$Sa-~M%RL&qE =Ll4C^3q f8پ1(y fC!_\d[4Z_?b]j‹ʮ'C~$_u"^ Nηv>dsqvj㟗muw&P!oi諐=^G"_'{ǤiKe%-*e"95c?{qbkHZJ,ǃSpvX*sZ˔p--sV~ZO}fUhITe`j,8 i]"s\C!ץ3yUI|]  %G{C65U.)s29G(DEٔQחHۅ+β=m:{_/eXa1Ą=*,"h^a.T w=f9ٳ[(୵90 p=i^Pti UMЕn. ]c&!&h: eɱ$ Z# 2+ ɷ unIw۬OyP-C}nn}й`VFʬF[=n'=6wU^Lh\Jȿ͡)hn;-YBOwkAADK5BM;.Ұ&M2)xcv^WJ{QX4ƍuT>l>W~[eFKkg]h s+NiߴxS)BTŪ0vȡ»\ֹ^wuf|ʃiu+sb31sjyEt͐pn<ra#PH iÁC |7*TR](/hOLBYL{S(D~wמI+6Pb$zIvpb8<84(u=̳]qg#x66حd9xwΟʧWʓSm:t\rpISC;}Mv.xsr[B۳O~!(Ζ 1P7v2 ]|> 0"F]ѯZ JapMB˔ )2oD>=qhʝ'kk&%y4\n /[!]l Ԛ>9[m@|a&f)`֑,$[Txc(ǀ@{HIKf ԃ+U{G`r&Nok#_op‚~!Sp0aX'VÎeDOŒ'@g\|IlokX:,0Rl#3g~br'nTVRʫKw#/UW6CULP<%[k/ӤyVڳ[Lc7iUU]BŚbZ"'@~$L|[ /Tj@+爫t_-T˾Ccߗh u^buՁw8"ڈ!͙[M:MIqdS֟f(۩JD6%=qLS"? DI~Wq|J'šؕS#^v 5^Ra6a"9OФp50ڷV2N\ѻQH]OgT}~ADӯ:d^k%uυ",I9ִ\~@Xځ/EB5tW_2fG8yP|>ǖU6MWn='F>FZj% T~Mer Lqy;V.jTM&P.e{ Qs{Ίsx-W5q7>m[g*Mb![4۹'C[Tb}I_ƜO:aZ~ 6&VT|{ &u{zu%I޽ͽ&sņO;6 N*z1ta9Al(cy5uߔ0Ii; czW6w_Q8[| A涽j_k "|E{|w@*8g B#g7 @hx*.skt ETwX_j߂'pNER31LQBOZ+ 'IquG T='+_M#g3f%^DJweiqeEœثd[pM0tccM#c+(-BAq7hI[vwʠA.dvhuCܻS&7$_rgqP>١ϧXՀGK/t^oMl]ImL9y@6 l{wٲ;Jy-F]lS|ƴ f/QUXy"@Ƴn}J1}}, VA "./A?+f>s+-z!'gc}xKoI˃iK,]Jx ?ք&uA֐3<0 bu}GJ{զkm:WWE,b蒙dc^!,507O†P[# ںmcmgkJBpwfw=rVb赮n r61WѬ,^O:ri(9U8y:$hs7cOfjxA{<{3\Y0+ؓz)h^Fne@R.l<ޔc fHdYٻQ0L׉ W%]2Ѵ^'4t|A~|0-|M2ALl0+'7 LWEk."yseUɎvK%h3Y{ב_|ݕwk rr!x0 X  [=_2€ arředk5 ٩9yo/>))!Q}Eb̋ͬ+l_I>=&靅Q3#6ׅBd_%R3ȧ6,ȹ S$@aе̋>0ƀɵh!}=5:UhM?7r>O8ꕅi<5r"W{fՓ?b ^^5ީ{uB%?qfsMI_D/~z#θU*qKxġll2EDF;k=Mi Nu8"q%QTKѮ", ^/<>%133pL)ax9̖~\|"eD* MS;Vp/hy%C+UvT[PYw{~ۯ>#`>T 6{Y$̃4[~3 `6P[X'TST9gm n6Zj ʂJDQrF5_WBI_iJח3a5JZ;0/\_.H^kS/jiBh7;δ{B'?w0_Bf/N$ &.hJotU?#ީ-ЖR2F!FYY~!w9D(`ծA~~u̢X9 LAS%O,'y<*^@;pU `as*)媊ٷ/~dUw|3jhh?߿h}>DyPU bUʡ;% <(u-j"|VPi;N|CWleEj!`>]"^Ŋ82qL7w YϤQiN}j u"FZ<vaU0  hS"+X.֛Sˆ7+ ܋i6bHyCL(_; B3hL7PC?':P^_ X(onH9);DŽ[ YO?Pݮ,ɻ?9É^~1WQ+-{}=5,* JcZۜr*;MEtrC]6.Olg "Tu9mqi鐐F_^y +Mj: 1ڈv7p?p>^eb(NHlAJ>}idGDS,׬ΰ0Qlz [?/aNP4e'~plۈPd֞<9׾ WYWΦ&aO>{lC'ٽA'1?֯MۇP[DIez'ͯriIj+/޿Nleí|(ExHZwrnqh^*zߙ1a~#fyd|5ƍ𥼰<_~W%ιŎVh lup[YH(xg~;$._bY_mV-~ s>Nx)3(-5 R!e^3B˥i9֙Dp"2ve7/]Zp9{(Uk rF [q]iSqhgɺF PlfMkQٶEB E,7v ǀ Z~cS$E Ź] ;%{E%p,Gx ,ʒ;6n_2o@;~%a඼P_#)8O&#.ZwN[t& 4HRg(”QJX\L|߿E0rd&6E0=ߖ YsYz4*Zv^;O$mFdAZ$[ˈ7'E4kEv<8!u q-v unvdVFT9/-p,"e %~@[ &MԴ pWWW+{}:W2aijܩLǷ-9&Ѻyv>I,t±Mt*ċ콝MRF 7eTg!"LvّoǼ&0:W!5;+e?vMR~sZ߯(.?~ds1${-&i[fLa4uT S]/(4g UbSi&rFʽ\1ZU8:|޳{lVuVhR3g2B5G4 &ׇNAzA9bL6ޱ0:|>mM"֗A3*j6,izJA[by$獳)ZG{Wjך.S<n]ApNN6/Mɛ/]$_ Ց(C颞8~ZjBaoEn]џڵ7Üb5^5w5({Hu0³|bGxq $qUdtY'M?̧HƳYF&=xt]H4w p8e%5=5=AB=/XXdY45!#q 4B cnfN$2P8ᤛsOG|bAُN,!iR?7k"xR]_+%K-CjMڝ Ap sݥk7( Z# [`aSa!!>RNAw Z=aij|dDj_NpxEXx4C wP{Z/D>$S/k !ϮΊbB`w;s7<v(#qAd,d8<~/AI8\=<5{5fk^oV ~AE3&;ó‚7QdVE~-ؾ Bʻ-yyޮ|C.>Uaoo*/۟$(xohMR}`qQ8ɗAxqq66p7TOxsM~z_aPN|^Ss` 4ZdϼcޕH8 7iiL^vcT_<"=%Ҁ ˨7Y{p j8+.#3W?Ȍ(d'ߚ~5._S}p$k53Th^jJ;02KTų?eդ( o 7cCc Υ|E[b>CH8 5^d迡#6,Ezn~$k3⾤Ba26(MC8>;ƕx8 \5Iy29Y8Y[r{?IxXQfҞj+~d(WOVN]u2Pa18hzqXPeh@P,[‰/AџTsV5>⌨/7q^#ŷIK@ɀXBЊQV$×+Jm0L`}?r} }_ _oy}stQ'%.i=mIRW`P`hsCd%͋,113Я gh2Hȵ|vF͍ 7OT3npz^rQENclP}~o3c5t $VA&ix9@ c@;U^ߣgy,@}NEh-_)5)L|^S/ړk#}`2WMjK4B90Zp-0nlu0CSH캌VA|ע[ui*^O'/~- -MID$0Z"6c~ UpF 3ȂVQ yնt5D2n^XFMQ(кX8!EH95(|*G9D=Dyʂ9xlE MW;OXF})sTZIjF#5>J yzy(ư<os{7afQ% =^/ V%8Ǜ$2qɦT=ZɱMaP .r /TQ&k5ux? O 7 f1*e)wggRl*%.Q|֣3@HϊoUyF +(ĕo]2Os!pMIl/.'J2> (Kς]P1}OތҧDJ/56q GizжtiZ*5N=wSI)U 9Bf:ոZwKҾ^xM;"-֫/ܻ QAE <~'j&BBq *ڕhlWrVS2^QQd1s8|:#xg 6xPr208&pk5|%-VpܐtMeu@j\i ̮1竿89n6J;$\A@F{ayk\aJ˺TygʥV)'^.FZ_E,N ,wsi*jk=iYSt7t_q} tf:e6/ktoƋol$K@wUH`5(<#JbQ V`&CV֓>uc #ɮ4w(jOZ< n9v~"F=(#8 rN7V3 %S3vf 8 M*oMR P{_kڪ|m<SyV  & .&0?HH),{裵#|n/GPwexo <- f,:XDt@ Jos' ۷8M0c>T[}+*É_ {x3)et">BT5^*,?2%t]#-E ]>Il!Q1EomMRz)Sc$"//>we抴Ϙޝ4s9Ыz*GX'j4i .B ꒨#xN-rRm翱\KFIΰGtcuac\^bq*i)?Qs~mLFSrlQg)YR{K_%M(s=[Y/Hw]w\7Gl'T BAxc>ƥ7FFV% T=v̯Dq/?~zfruq"3p?Gl+gy+f WVeVxWxeRWF ήg0߭ڙ+cy%:TwX \:0K ǺeҲd!"+gQ24 r $ &ou ۫X?SLw%pi\/dỏiM ߀NB=x RU>#g88tH%Woiۚ-ܚ0p_ ߥ?L (hZ_mm=yxמWTr!XGsclwptZΡEB&5Yi.|X6Tғ;L5xrz_ gՉ fݍ}6IEEsy1]\7W6ls4K[W-TImpۼTF]NB:S˻Fs6Ɖd%__S⫥u!iX'UE1vʅ).1 Mƛl_" [H#o d&2h$<[4b+`u+@u΀ &U^6&L&f͒KDHY[^! 2]Bm#|+pSk^Y rGζ' 79ma 2-;S~00w'>ksr'FPDsSxՆT=+Ev& aF9+d:9*;G$-'}RhATEس1Ý`b[?v~3u6 +>AQU mkTlr^ĸ3e,#\xm/zu4Xcu_  &!%- mtb{4l{0h+mѕeŖ׃Iܫo<6=o>vǽ"`VPњ=nI\^8[v^-]u 0[ZǦW:+@>1Ćx:JD &sOp,Cx0Bخ/5T2Ȭ(n7NS`"w|)88/6otBӴKvr[ '-F9;ME.ap<'a,ZD>l#$08UsxD;l(,?;>zH?ᐷ5xL!?0W`ff/E;GXoWG&~喀wx#S~r/Ն6f[alǸ9eGcugcZ'TʡPZ$8[mtDh0Gů9)\hGEiNFIZBcս{h")ꖤr31$&++x P-~aZ-WhiV-_y`*gMuMmTŮ'HbZF҆sWNI:Do`sEuz C|D ,&0!4M:ߡb XҦk#A8% <5ܴ׿wCm_W5#4_Uؘb2^98>\$]yte>{Qxy0IWy33i+jׄ+!3Uu¼wE}wegV9I< 'E-./(A֩WR0H+̱s-ѡ=2hl!Ȝn{Ddhնf<:I??-T94甄 ńPX[!fwP:CDnWXaX) `,6~ȕ D͵GH b&Px౗@)lLA0_j-Ùi{;V-_Ya"/ܔPS\t ǵ47Y3硥[.-Yzzќ4PXlԓ"C)UcdpRh2+Uor|=Z`H",Iβ]isG6.{x+<ﮉ4ϨCf* GIؐxϜNDh,"qۤմZuK r+f#c@.q59c6{Fߨo[5[jz3*ߗNE Jn~wEЬ_a>B|ӣ`63wO&pF)W#֒2-  Damk4!E=ߔrjwBtŌj_>3׼%d~0)!4b7xFc60iLOl 7|XLƾʹ}Z*\?&_Ckt/A;$,81ݿ-hk8 ܟ}#Q=CxWwAYS0$cil9 E}Mp~8{(i?_ۑm!W<38Oqi|{lxNѸho=ߊl+̹̹=>n=2m96V<֖3k/\fPAGnfDbD <)Myd9ZKai}ɀ6B:Zr/lbp,4=e`OO[k"살G~ %b&kխ)ꑞ doϵ\Xs-;Fⓣ ID~Xג?'"Ư6% ō[lڕtv|5tOA1 K2/?_*RG1!.Q%浥 E=%}'KSė`x/kDxXoȽB{t 9mOs톗t V1]H1B ^2L?%~<7rky<׾(7m$h3?|jU:Ⱥw[2>5IHuֱ4R&vz% G_O4H8(Y rS( hFjV MK_ҧEߠ)xK4"ۿFM݉@6*S䭩iT۶xFS5?c`Mo! Č92ʍe^[x&+9AD}()O}j d󑎽E mkGZ4*粹ϑnvkRGb%"Ei9O9ϩ33Ҽ]ˍt/%~` p?ևLxLjM {-~Pg_,Z\j|)f ȎZyԥppR-&f+ RMFMgR0Z8:No[mDT47z/5Oh0 4wv|,_k~*.~SY:zPr!3l\7X(1cdx,K2f声s#ځɪ*|2B%jm0IOӌ9}DWJ:y7>Bū,<,~5~s9o-(޷G3*KB,4KȐ"]OiY1L=*2yVBT<}p LJSf9_1_c] H*Mc@5G['C7PKZשgd(%z" "˚rLE51+Z]i86,Cvխ F?0f7 "҈%st`Umze,].n{)o-_y80J _]LƫzjE\sJnS*0{[DK'9;ȃz;h^n[ͺȿmcetl=h& eu,VIZx!JEUXNC'yyi>(HCf9D҄I8y|a=wRZ3 F\7x>_e3DfbbokHBANruni՟B㜟cxUCb.bFZh/s; vq$qyOW8Mָeɮ+6% xBخa?+'M/'HƊDW4ZR%A$l(N㓷˾RC z a%3:|o]z 7݂7OCg:Sg鷫@S#RB_;$ʭ:&s*Ӣ79ʹ*? $4=Z!͇]`1_ެ:޲6HK؄5=BvlC5~C rm&tvȧە2S%4q")@A񴢶EIu[5'!Lqow!*z\aϘPҊ(ָ=3a\} b\D5϶BF eeD&1.u$潰5P.ֵ% {1&3*DP$Ez-gC^,#1poXv-:t1fz+Z Ѷ|ۥ B6\1xK} &> Yt|x8  وT:Dgr8;UAė4؋{@C4YP_G5XyZC!ϙΒs/cx$^lB$'cyu9Q1{1|d2R^27kANÊ'\m;s>{ai"ɍ]KAj-G*kv72?7<.{>aU)'UkGYMKbG< q jOم"A4']coD,6y5"+ TP<vT#$.Ҥ̇奀OJ)] K(1~uϐ~~Y-/ĬUDTW HnMh+&*9R=K}XQZ l%ixAK|ᵐ'. rUZV%n25SQYX I%m,ՁXj"w(H3o^_5U-.92tԯ<+=]t bUPVh{YJL.I@ { O~i|0@tk GU\mRhpXcEF}` &J0(]=QYν&:qwsߪ*)4>"޷ʯTYaO9IKF`0Pd~Z &ŹPNj {/7^GT_]8NBP\Vh$( Γ[}"b۩fS[^]ɼTES,x+n3=Z9:|T@gj?5~ E)/רZr#DoĖ%,*NrGY2SIM[iH-EfrNfuF*J/f6a$]֡Սy Ed8KOh٧ _=Qy_W 1?Dmi 5,>P1\gɓWm :%oh<\z ցM<{HIG;pich>,k7^fsk/ 7ɦÛjxlh.εP߾\|z|RwQpyRW@tĀ0aa=B'cжT@?m5جZɉ>")i'Sr`wV}:ce mRg-ĭ>,N{VVzĀ'W y"A޲ndn6ci 3PhаmoQ 'EQNZXh_GftS v8p{+N[Ez=.N]@Z. 1*k + o1QB_@ү 6o:$l5Tӵ+ψ][2+T1@>&MJ]iZw Q^)6:.~Od`Y@ a'}J!xDO,D %ֵWHR0nP[k[|ˮ``-L[;tdag@DP126vi-us:A҇ti#w89qcprRپ/LV B"ec/ MF)Z u(7)>pH0E íe2_Xkv]+٩NlBAj.tsde*)nf,R=ebq!RgÒ/ (4mx^*l /?JFgILT1HR#ׄ[kI-or^7毧 E1,M3x%lez&Dעi{GaOoR'O=tTRZjHG77K+n|kY[~D=n3MD8 I$;@ٗ#UR  ŒK-I,M@w-\cDIr,oSV2qcHiڐx)|L.`y PѴxԱ} hZ 1 : A$!0o2RD"n0iߌDɱ>(nOiǁb "fLwRcB@Du~b_ 5x]%f 4x*bbB#ecma ,004^Kєd1LEvM)*xxEi;f9]4VwXn[Gr[ink"x#PU\xB|9t~OBIsV'/'`۠g;uI\@;V =_Q1̎so$7? 3cLe6U-tk0v .00+6(2$|2" 2}Pt&OV"/Z;WnQU>qi^seіރSZ.!)T5)i!ВV(7#IW<=HT7 |\E0W[HI>=/PdO5qk\k_hpl|)*1xXPbaW5FۊIFƋ|gO^E Sa}s$!|C-HS%=wa(L? 8Ln% ͳH~rt-[Mk9baaȅ"1K;K|^gͅqLfTːyCμήQCMF-YwiLbXc\sa4ZrE1e R-U3(q)lٱ}mko,2'CBJC8NQ;:oM=OA/%q\OċZ'}A/x~=|jE>v}8wyw_bM$ɑ2`-8ߌv6BEs8J lt`se֨N4ЗyNXh9,EvЩhdElD >X^Z嶎On=;כ $ɮN/GI{ct#T협ctfEǫ6lQH ͷVZ}H;R0aV Q3'R=_69/_S?KdRKfA݆']Ħȸa-I^@@39 f>9HȊP(nx@Z:-(<؞]Jw+ s BWշsQi03Z#xst.2yNՒg1{<1P_m^Ȃ.䏙o?VGX,X8D4`# 8G f{OB[s:%k*5v IbGIWd.Y|'T:^4Z\64U_LXK6}. :@I撃7XH(qn>lܥX/HIpꆗp:>8GJ`5>#aJs>kKNjHĖúy"@Yb~C3o)9-%X!yL:b|mMKz2t\ABj;abU-d% UĦb^W%.-D UAodWoKX,l[2 /& TVz>kLIlPщX柄 6a9|!fpoVfcRq=]0}bKR#Uͳ)<=rUBQ<pdamr~T0k(Dtd G5/\jYȡFZrFΎ[^Ty>u8vI=VBt{3`UL3(+ s7"}|6qe|n*|L ߔ<:nk$*4m㩏jJ˕TUV$g6IM}>$p\kn:d]'e{1M)X 215nޔC/!#mGҺJ&"{ʬVwʣJػ1K+LIZj -g xcYUIIfஇ쾜X f,72L1^g(~GTdIuwu|Zk. q[H|"qx$n<ΊPPkj:/?+[X>QL_rOk2{mS2cN1?,/Zdmc _3#&о5qOyVx0<zzS`)N|Uˢ{_`ԢF ԄO Cx kLՒ["' z9|/NSæU;bR>Ջ08 kKW"c<;ɹЖ(1FN7%~vLvGrIgQGcP'zьA$sՊmD GDTqM?b9q;mMj\"jUqQTHXl|YBG>wl/=թr*y]Fb`z62U_:K!熷r@24n&X^1l%/[2 6!hB% 7VЯs.()i(I r>Ny}Nbʀ }6[cKy!?;F&Vz(]Գ>r͕*_4:ɏ,8Hx$-/Uu {+aј(ݷˏd b+lgYǪ6!_iq~i& {WYbW-"}6k|]^C"lޖk,56'־E-4Й3r )Fm糭]*cHftD6"y¤Ho~ng)\f4KˡgJvhWς@_eh\AJ_ 2Â}EMWa#V -- *w2+Y($Q>嶯̥i9gs?|3Z <_ ?w;%jMw%_> u~3FzX ,w.i0# 'LFLX)sQie׹()'A( ;OxYeH3= _1 wsZ/'}"B ?8K~UQlz<~bgdR1LSz$M(4bHCjߗQ*Ơz;\|ۻVyXQ[1ua"lmMQP-`l='ʉG륊DYw Q'R_]6@=o = %W(jIl- }DucVDzaMU 4p9 anܼs3>qsZ1 3L0F ʭC!%?>f;h!ͥl0KDRTq M|05`.ucH &UZZL9BsY^ I(jV>Q:I5ʥ:xs|hrT5>F{屁FQ C}eN KbC_TUf)Fl;0+V|j/wN z hrZ 8ᬟ8ܜ1钀Ic۶% R}f9Dw z[`ͧNGeȥX 6= #EQ?vjp\'. J8Q< s,>%Ep͜z;'4Jؕj%͹oMwthPSI"9cXZ ,*?d]nA>2t 89C/lcQu⯡ 5{tt=]?I$9iYxh^J.pldߵ?/w(A1ScҴ2.>YK_~^D1j[gs %rMJXgZ qcײ^^)*r%'=ؚRUg(iK,P^'Ѿ ʧV^}1IABSKy7+hC\%ȟe7Y^nL{3 q]l5eb~a[U6`b[ɯ_]䍄`Ϟq-r${SNAa59Sb#Hˆ9\Z 4%#gMqULL0-{%!@@p9)Hى{|!iߐBђz},$jgx׃IJ  Fp2#\7nF}D' t;Cr>wTi2.`X74,t0W'N;*xQr&f:ql& D$ =9GLDŽJ"x0F ǣz8^>cAmns|T߃- ~Q ?˽qQ}Ơ]k rY? -1o>Y0i6%fO,#\'9.jZ:qeE %`u;aBFWY[U)Ml˫BsP7MJ z bj4e)WW/a޸OD"pd9vdP/* #Gqw|6?Ap, #Eӈ#떆&?`oդjhcΠ.ɹ В=e2Y +7ZX X)E7?~UAA` >{,%mL~ *›^L-<ϰ5ׅkD3x/!)?47UTQE*0hw=b`]֚ԝ@ ` wv/'ǜ4Lޖu\Q (~ÓN ֍ay0m ̣{a 5ф&Čpzle^8Lw!2㷦wtY_592tuO4ikqOqjGuF~LQ{w4"5>\%fi:s'Q5kq ms$`Fֶd!g62˃<5Ɂ HҲIES`띕gְ* njnh wUв;I]Z˨rV'ߚgUx#lAR*I.=l2XT+W+(/||J[{9wcdgM$Ti,tD|**ϩv_b{qu^a GYei3h ޚ˽>E33u{4Q JoWr|dGbdo`|;fwm>]?v"Y:1쳁EHb6UTO-zS:b7AyL y(gx>.bjQV-Y|oXf֍*XjVxJ E%I͟ߧ|Ƴp.=^:Ro>[{?\vX8KRe|ʯ_E~Ry w)xK{ ?eڢ)TbxbhtlSIMo[xވQdr=TewU}&dtN?8D8*Z3My>g syg΅x=iMޖQM}ry(W'" sZ ;nOY|ۮ(QOv̭=}GKsP[>d*;˞W=9o1c^o0] m M1i٪\՝#vRC97)}<@ ,j*ʲ΃ O+v W<ƈ˽b+4Cn@ZyК)PuRA ؎̣?X^: HL/YB'g@gQj /qi1d{}MVC̻0 >0@ Qfe# UF|,DJ_D?&d/57#rx(LJBcǠA^",Rf$,a3UZD 'a ue8)0N%'b0mOpd҆B_jI ))E%2KJlbhr{jQFVzU M4$t5N\o ;'_mtЇ²ǽCYc#yxZ 쪻Q-/;d$<vMj4dR@Lܽwfv3~2$;X3DJwX5 \#[?~T+orWiV pq-aH+VrK J%WtMC\~Ƽjb3ىyDnή!)6C 16+K?1 JW qRPPe}LlUU^5>~$|? OF-7+dwC0R,smWiY Ov$k4vCYkoP)&)uKE\b'Lni+L\9 s~._C+_>p\HM/5D[pk(b\6_/da.ϢYkZ_ahU۟T#Ͽ 6$h !gu ޖO2Γ_&o ܥQ4҃SAVU7@N<=7~:[I޹ ÍX\^ 8Fm­&.EHV]Wh-*Ӵ^MQ˶G~6Z&Xwh(Dз2rP,@TLё4yҐoT8ymj_ i]2tSGq5^?jNd' C/8'7Ra%'VX:9~>B+~Q5kuqJrU>.Cel{sBCkGKPƢ]Yb!UoEᘿ*bA3HR*`jHqմ%n 8hO49Is(%p+/!;Y\) >Q&KdE d⍨?m/MnM|]aN,I;ӑ2|?4b2tYSKNvbuh--̛o%6qa"Jd'y,=#X5g+~4Ǖ[69wnC뿆_B9ټ^A5/ڄZSL!E"|*^W,-8w)jr 9.!a 5zpsK|Pٳ "۴(1k17x_&^b)SH(W z$xftkRIJӟ`ѡc;yp m4o2s[nJ͊p嚩xiq5W;ID10yl;\ޗaB,t+rro.?ZV%/g2SO)yu3l5qnRje)EM_Q\Mq,k{c21& vdb]`ʓv|AmԶ|<@@.^x_.i 7|N `C;ѳ8'v>ymHbv<6~S"+f؀.n/`d^{|m_NF+vJ| 4YY WaH}X"!Qrjb8mK->u_xPzx6TݕOj; SA-ؿvT)/ﵡpMW=Q1uDgJO\Ex1'* K iCUJ&QUkyPFO<}f,lG-=5e'~ȭtƱA/.;4 MImz D3$7 U"bL Hf'ν"]'k>A'É2k!wHt εIMb.񶈦6E& A]g MJpQ.[9p#j=,H3Nl9r2DsR2?Z<]i)aY ̈zT^z_,ԑ{rt R+#b{P Q TsLřpS{.Ep #E0a9.w31#,5mt莘C3Fl:H /0?'Tpgu0gz1^-JB ws|ѩzi|cr <D􄬏gl/*hLKL=MrZMkP'H ~5pxbZ}1z3YBGX"5EgK_o~V`XYĚܐV!QTV܊J 5f`k=;]RETlߎTkˠP[na K5jO%51e9ZzlDq)bѰSUIC-"r. $w젆K~kӶUb/}=2tw&3XIX~F8VBdqΧ)*U,bիX$3x>џ V-IZ |', @\/_HWMl"[}Xa H'QA>#Xv""2S)GEwD·a:'S|=c|dzi8QFVK-(/'Mֱ/&,ђKcAH)վ)(o)`5ƞ4zMMY_⪊p+eF br˹0hmjQ72o  fݧ<iE3'OG43rR:G_3aR͂|n맧l Iz xD9j7RØt3Dx4!H_Z/dnb81Px?i$\csxa?o׾s% s_,]LjH2u3ƒWֳg⯦ECDVhZ@ulMNשlcjef6zizl-?ߕyPhzJOR8["?֎@1*VY1Ӂ}(_ l(9a<ϭ)XyQQE[y?RE 5O4eo '"V򉩌hqoK鷲6Fl T%li* Ni`(d8<06g"݋rt 6ξRlX|4hb߫d.c~n_xv׆W0c@h6v/ζ( ܀42i[BX$3|S}_@иɩ_as8H^%HzQLLy͸8Ԡg521u$CцB Zxf` GZMY5C(?)/R96eX]b&O||Ӄ5#2?oy&Zt7d\a;ƽ!T w ϊ6}o 2 "ņrʺURy"L\)D[' 8Uw:CCjSV)n=Ĩ"CE[a  ˞;Ybj-ŠMyV Fw8n ҾM[ bdEu\ ՖP I$K1N8R@g1omƩxcgc,^9 oՉ=tH=zNft람29P.#u=_wU܁lř^?z8-'ڻ#L,X,_kNy19IJU8a1T^N}(Z@zBZ)PBx|@6\9,wlR6t v~u}i_Sh 8=(4%F0hM>LxTk'oi(g QO|)|= Q͜Ov&L+Za h4ec"@2,bj̕ھ2 8Tz ^Уn%28Fjk_(Յ.2E.WEЗ(3OxmS8q 6 o^N o_*Z!?* ~4S-LK[]]Wc y_v&~x[4\V 8-V'p+ /DM? oB763،@eP@Wr"ɖx;]+o &֞ݕ\d1HⰣ)q6uW4쇬M:$VٮBc-a>P%P{N,*$))CCy EԢnp zke5 ~C#GY*D3]>ؿI;v|U:]l}/cƚRSzPc H 30 /"IɘөVcA_Qqoٛ鯻KE颔Hpx [lBrr18&9\%^`Y4rcA,RVO1_b&jѐ8 ".*:Ǻ?FdeWޑSd&@CN[F.cXQO>KBj9U?~+ "gOxv\=;9f1Zbհ6*뤅h)"|S8ҁ;71XD(=3{>9eRPԡdѿ|N~Jz7UhNFt-:L GQ<_3 :%Q98[Z_mW`70' UIU<(|< eٷG\ kLe@wH(Tw)|3(VMQU[b5IqFR]F؛Mh;}? SeWnu/f#Q}oꃜ/ 塚 G'D ^PLrDAw}oXtOǪ)IE(#Koz;giTX{}h<8[xO۲ H2T,oQnCAa\<4֯C|̜ub%+@baGdd\Ms;nd _6Pej]}z +}yt)dƁ$QDg䖛 2L?>U$O rc}{W&Jѥũ}Nlƿf"R\!f%}+u Znh1IOl%-kڧ?DRVʛ'"G.v:N׬$ʰ8 KIG&fN8 [rE]ŃrQNZGd U=<;9]Fd8kW}1?;wLèW0{xy`8fL( ʯ8-PU!̻\D_WמgNg#!cLV6!@7jkla_QeHx)t;ba}jεB* |@e5AMw^z4Ώ2&Re+m٧>ogneؗ&2s9k[̒&8%{W>3 Q)Y͎ퟁ)ҶBh*-Fca|#6?) B ;MBdy/rD뾔r.Xc7_0Os՟Uo `^ZAD~.挬WV`Zx]YWw4o HűK AiiW32 CjH%g-619le_ &e+ H~m*nY sp7Sỹ*J@,Wxo, xx^ŴXcU1W7R;٧0fhn33`d~pCjiUim&, z$^v*O*YE(6$ R0-0l8HzSyxam~"!2cQT DJC(|ѿ:ny _ƽ]rb5} 1NOJ4d#nv5^az:9BWCjnrpj`qtN1;]<^_CcrZU5$jAg>b:ћo:1Z±|Pa} (Q% Mo@n4>R t-x$aZ"=%:L.\맇 -'ۑEz;<˪ۄ=4ue.KIbd*D̀PaE5 *4#a,I I&ᇱC>yIJ Z{!h0)S\8-6RŞ/8Ա?PҲ /icXGWxۙ䈞-ߏ:|b<4T>'?t~ES@ਂZYFc`AAGiI앬` :np>V^ Z b  fEyL:02ٲ VWkOmUbOJ[ũOVNOV:.!(F~զn1]_!/O޴dקǖ4vŔN>gR"w)K'=gO|L C6cu^s[ΩI1߈zf QpBe#ߖqlZa9: 1n`Jߥ?޺Z&@ F߆ܷq'jv,x Xoކ#70B _qS#c8zRb: ZDRN!1OX{_B\q Yš#Tӽj`.WrhR;ԩlF(9`~dcJc˱b bl؎l`O9mlA*NN)ǦDlUih9X:D-L1lp}$ݬ<(hT<:)$6#S񲤲>aűe|zcӈW·meչ2 |#6#^eN)dS& 7_lRdG0}AaNwD4}5OC6C9t {Ȧx/2nr~!,[V8H7 teǑN2G7& /(Pb|)zɊɚHDz|h5K+Z9`!nxɦ+a4o 䊘lu5z\b!jL$ñ[6. m'!*m vƠE=דɪtnPvS]ػ?'9iEfL%iDq_T"ٝ/ k^;e^)9 _FR114Uv,u[j'#Fo21ۜ͜^]OI%NK 4ґ!ӆ,0Z̊"μ )ZR@Myţ*]q%Tb~Κu0) ~Q&)==YodVQ(s=,P6Q7pCC8bl'?S(`,>GLn\[I\=ADg# ݜmr6~܄_v:?Թg 'yFŦLldԜJ t&(k$نhϤD͟4DSz7\Ƿ}Smi/\U㸲Zq=9lT! GBvLM .I;P!P+̭|P@NCT 9.TJA9c|E^'H6;V(^zco(@| LOR- "&kvz.TsRNֲĶP7P Q+i7xn0]aЅؔޤ*UzCh{;w : hv\f]\]V.Y%+`pNqɟߧ̪k5,DJ4Okdޠ-++ծ- ZVd:i aZ-+8`+Hv<)&.{xܢ-{ >K__%Ƣll|rRն*á)w+~+SSaяkrՆ7^-D Q;L,AUT_d0,>W1"ծ^,]+7;jm%&濛+(D̜=fךqKC2%mD₈]B[:tf _8&lYhX_j%'~DU<:߿>ēBVB8/LO֗+$ ZǍ2{1mNi夞?w>mɶ}9~"\XtMۀ<鶩H; "YZ8LwQ6l.jI2C z&VqTǝHG0,۞/ eD61B%Utbxr4_ǿ[ zO}-zY⦚&MW/2X&*Rbێ\Yk*krE?_zHկu IEcه$ȜGJ&M'=J\X='a_oECF6`hUdebeJyYLt)@2t_Wi$Lq*kI2f,D^ghP\DZ+} G;jks Ż#8ES'i)yŝ8,rKO97˯)R]w+KVS w,8CyDL6SbH-I~'Y){+tM9XŃ hA sO&DQ%Ύv nz@-dǑƥG||0;i$bswHAahsʕX^o\kݖ9LRE-w Uw;9OO C#ØAk3ˤnV.SC#ʹי CcM Z{'Ҽ/:^6Uz-xXoB-O_&aBbdNFS~LC"**O(7:gpcӼ]<*>J[]~p2X,nՠ5*zOmY)C7lpFgX&eEPt2y&)T|sڪP`'I飼?fʨӅѿȔ(ѪQй#ɏ&J=H19iZJhfKku&ܱzkc,Q9d,hKާƣ -ٰVȣ=Dg]>RBK387+*S ?@mbJuBCP8)E;Q3KQK3׳m/vqkBmMh̝K.D Oy/ZkgTx lj7%s0pQ/Aˆ Y@ &7ZҴVٳ,l*y^ nEә}U1g0 8 Y_곛t4QΜol+;lEr:;4 `ȋmT=K'BWcVwm^*~9,ŬqhGW,/ ̤Yv=/cĮVvŀ6#1s߰0~(AJ_86ӜA.v:HȟXw!s[ 7Tihp9*J+괟~$A3yd;KlÛl*'_`qer"8kKu#*rQ=eAuPȫ*i۬u&<ζDУ`v,dLg\$ɹsDf\-hkl!^t+ L+?LsO6?{l6Trz˻/Q*p? Ͼjr޻K:j8ջL%Er̔w^?1=}3t0EM Ϲsq v K$M;k ]>dɐ=1(=*zo!q0xm=K(W _B4K>=Gg"O5Kq%mr:e??$tQi\GKfCqMlwB$>ȯvғx%8T֦!;QQL@Is9x̣ugR xCBr-{ x-3!{NpApz; 1f=6Sޗ__$81-3?3_z2|zF^=xe7<\ UD3CѶCGrYq??{>>qBY*w1Uۧc޴PٜV? ljo -7g^E{wوm\\\&`88tJ-y3DK0&ރ8px_Y0M*(j$TV(?e9yn- ]sZja/ލDȯTa2ðܮ{?h3s1od9)P͸RkC{ _ہܰQTC|2>x`l~2J=|T13[eǐӛ3ƌ~n>/ >^YjTe +Òciܲױ#׾=k"1a`6dQGZ=OXCUc1[W{Yu 7 -4q n\Z7O-~njzd {l*^j`wY j>z1Jྥ.ɚZ1ޮ\OCOWFRz^Qrzt f-&;Q$υҀ@ ֲAH~Y384l@\sTV i 4Wy"E:1P[-:6d&hO8F`SS$&9<ͪ#G jѭ4!+iPCŵ]ޏjX8xb3 6HB@ ͒!r0JgT*eo' ڻkf5hj豜InlЏ3Kw'>DE24n/l<*F Oƒ nYMWh:xr$éNLCR[J|Ց }X^'f>rŽ">׶7IG1Yh5邂-PjdtCS[ܔ JƔEjc?+N_{͛lÓ&nu !24.0NENyf*H>8W\I2JS=]UnM d[GC:`FLm6luЈW ߌ8 ]٨n`(ՑP0m|RlM5햁>+-]gx'U$P)&;tH&et`ddԌlҪaCN/TW,($`RlwpE& - !Z̩ 4KҊBi>å(VKv50uЋHw%p]҆85}HNYQsvKGJuY'] sjކ+@i5fo]¿ld (+P_F:+2r򸞂h<aA}NNwɢC*' 1HeQ?mĕV08y6?*>=D2"?痕ct<!];o蒖q 2o*Sj.KϝD^[9|w/Y;ϹP#PrWGO>p.d (av:0黥Dg`ڭSNb-\DuЅ%1?2iM҃/uzlqƧpx5h'e|HeCȫl:H"{K9HYc#@edpJO `rMEX*Mпyd7hPUi'1U"I҄}\ɔ|uZ2&ȟh_6J[Yio] NJ3xoG,͗i(?5&k01~~>6$ ;w|8ogڼe!.H2s $0nGeQuyJGY2h(Yn֖[2U||p ! ۹]DoE*Od_=0*;d lˋ?RV,\U&4N^aZlٹ»5I/UFGb] P6@ LY(% K`# *?>YvVє|) $4DUa̳--YAzhl(J-˭NHˌtR]fϟ4.;*\I^/P݇ Ͱ +qns В3g1#pl@ ˧m:cPi1_DPjbǔX\*v~N-.}*Wϻ:= «>xSwoh J)sW^poJˎ\oН\^2ilz>keyCe!=$c 4}:MG7 r#_gwH@D԰j9ߐCxͮ<-G7rsYB'-eIbL5G֥:Wy$хrt'*,яIݮP/=bL%,?|O1,Z XVAX>5[|!+k0Xj*޽XR]W4fI,^s߄:5:d*O2޲w-^ :>Ozj:E46Z?9M]u*1Hu] BOB(cF`H+L]gfq;z/Y{Û=M-P:A\5'r%m NiTrU՚%*RGLd|~1RKq։kqwĩsF:dߍog]B'QХ\CeʊQ>:zGbTI 9)F'R@pzIE9*ZQ8T|V$$*/ J2 eYO)Na.19|51.񗲣c0tSBɴףM0D׿Pv\YD}X6ּI@SrXy]V]!j[tH"P W: SWfµéɻ{>o<2hV^腳U'd,' T6oTToHCs:%t=WK f گFc?zNٵЩup2ࡂX=@N;rՆKP*4{2C  CŭLH<8()IgepܖKݽQJ6ٜsAb) kQ%5pU?'f?$ˏӤJ?ZsDA?ꯚ&Xȼ3=s1Wï^c*'=ʘdV LojwW%gu=#& ['{P[&-ip Ԕ`:g|\㻙1'u35bLVeO$ToUHq09H~˘/( lRr ѠH>\!N@VW XxNL2ѩiK@ ah BO5 hzZf⧟z.($C '#;]3s5RS@}ɍ{,Hwq*E8\N@$_\JGZax AY;Z :p* H-rfur*tl&?:vf|)oo<5A^݇ډvx ( E( G@c w RW@W*UBP004'#4ax>fG6&ayzqqns䥫4Yf!TPtu}#+`zMS J1.3쒒(Vh6h^PVUHUHrưS"b#}t󷐫QI;'5NJV@ͼ9CrJJiT^.5\J%2o#42iIױNN4tSHD/M;A0''\󾥉:b2"IZj3bzhāh4C}.]3\?t'h_hZ39Xhb  1U-ӬṰ4xSB;p؂x iU;; :U SΨ*Qc7~):*WհUk ,v 4LfJnLb;cv1`-UI:Y+urPIvlAp"h]o5c\tLޖ ݐ?5BA,[C>\ 1mSu| 334X)eILKi]j2Z2қHmN$net}4ٮ$̹x}o4fL]fR8j秢X2ƃX>Bb魃 'ʫR +cӬEbL#Y!l'  r9J9_,2ieMpl" wGuN-ttE4/+JIOȹ\ڧ'Y򡰕xftԧ YZT}=W lǏǷWǓn.tZ{C*%ٔU^Vv_5)JutַUO((U1H|˼KVܻ /چ\"\4c[`#˱̐fv̫> PdhYl Uԡ m ~BeDKI7I".Y4Y=si"h}Y,aPHV0Os+lVFՊ"@ Ҁ&! jfI5T;f~^C| -GЭ!lwQ$c: ֻGx䪇+uUN674'qJ˝5p,#b4˱pm [E-BU/fZOx!Rk]|S\՝!s"_F5ER-)60i@ v r7@xNn mg\)0Lf$jM̊omk3}卨ERKTP_jSp:<{X,В-N>NO&YEF-]Z q`r=crPnNd$Y*W-gxs߹ɍyk'a:.ST5Q}um|ꉀW1YE@ 1|-Uy>uTm]L$Q7&.o%P}ѽ(ߩݷS謏Hvό;i;UɎAv&h829[߶w7,k:lnqQr.:y'T|-(8ZwpPމbˌ7z^xky3Q2]'H#zkݍG߭lrƇU:b=y7nQ۟I}5GTĿ|~:a9ԫ| ~|EVS@jyhIs<)D$j JڀW" u92>P袶-J])J|AS8te UBe#ZP7ZZe`2KtB,zN;/ryH+q(].\Q맽\c+>v +F]`RrųhO[GiL@jï%[ʘcM#") i VڏEA^C'z V0frNK%YH>O.Hv~ƁU$T\ۯZ顔':2R@C\!b!7 +A$[u>R`hYrY!%(+ Kh@xjw tqV./p -j1Ndp tP(4A]NJ*@q> lV? dGDhZ:Y,QS DO*/H Ԕ`3r2]zh =}A15}H;Ua;3(*Isp4[,~"ꯤ"wrʎ2NfƉF>fM\.I>#ї12x _GLVn^@6-|)7̹<0^ N13 uyc q3ܲ yW{¥_u'ߞ-<83g<[+VGcXXzf[ug0Lr^ɬnXHqA-* Y/ Z>-P>g!3=>k~~hޮS!;vuAu.gyC> Q[?%fOuX >-'3QL.D=+1ʿWƯizk2\P?Ap?<_ww+ݩX<qWOa{K%XoIɷ'#)*HȫhD+Kj{cPzĵv Rs6o_~QFVQ C_ID`.k]H>|ujVql|trt98_|~NJ,' r,֎:+aIA݇grڐgW! _ߟ m]xJʬqL^pOzBOsE|o~Z).7$H'׍ 6- UQ B~>[X}'9NZD p:Yz}"(CQ.NVBײG;N_&'Lz-#[19wr^9"}y[QJ<9l~b)*T#y뷌,MW ^G ^"lNtP`0 sg@46}4p0 @# ,`8A#0E<`X?SXh W)>W6TP%D*-N9ݒ%RϥR ϚZ)4U{ǃ>>i= /'…Q6 #QaC9JG[;{F}?^e:ř2SmqƄ:-UleUXCxaJeCbY[^U-F8{)X9;N=ƪvLU'8+zk -r<܇AVrdl?y~-. '@ɻ(ôUGFeGZxvݘ_/-M+ (*ҫ(&/>HD,Bbj};bZMPה)EW'gOGNyP m5WkU$/K>(.u꯬*> \B=G4nUV=pe(i)&il@8>H"^\#D*v[Mu 0q#JʌvHl#PqРY"(M+p>2q"1aqd+/~9>-C֓rLu>2GЈ중9=o*PxN4Paqy՚mKԋpIcTǯ.z:A>uhA3:{>rN3&[r OhW嚌7ɘ>A7%#r8_P`[a\f<`uʼʹH("3%a^ kMbF+arpLQ#/gà3Еco>8b})>4&dnG(!d%g|% !]XEul4h|geSl~$@g@JU$6,P6^4SU'u5}>>Pj4YQڵwPSt|8e wRE7VL,n/:lq 0?Nh_FQڐ@B]fid[Vx`#a_.rBCaÊ'zB^`MGm@pc ܄ I7Ina-pު"g=N~VK?u]l 7 b\CRz"QRCVHT\ĀW\`͜$pTaJ1jr]3,ܤ6Dv $6qZW@sfT>e)+" a]SDvi]3IBIa1K/L%ScČg & lf\^aNDi# 8|LKlbROOhfǧkj|FZG}0 TiMMmvqPGZkzauBV`ǹr}d Q$x5kFv&NGhSvc|-e]B_+kx.H6s1O[Yfh~f5_]S6E~p6y:0 >=&ʴ}#p.d,IGupmD%}dD0*=)[+jlG6\/2CGr[^Q2B]` G~nvuj{Zwa /G;sݠWwZ"Y4JQ,)D}<0|Dԛ&M'4|hE`.@xɉԒ~R߿we8cx0H* A$Ep}'NFPWOxVu޸, aRm@Gt0:>i2Ej$ =A]7} L+u" È6qaHPw.לsx31bffҝ:Rr|e2H2@HDu H8 aL.\+w(Sf9Lߝ07GQ+)h/(p"u3#fz:s#08=rԷpQgH2 :i,'w2CdHMpO̼{0DFIgzmbgKB T1 6ܪE0ˈ̱SJGȚWp L6$:pO'' ]iH]AiZïfsL ePCSE@$c]-5^C GQoU$gh@Lج&e n<#рwhPԣ;bfmODGMpq Ũ>DgP"umN2gg`3Pq"R#a(lj~Q`j{k^ggQ*}SXVDr[Ͱ3mꀒ<Hu%;5;pkQ,rG?!9mí ,#Z:7sDoHk4.(|˘s??yU؊9E R葃aK7%XC^jp|3}pJ33GSGfG3}w`*yy] h pa/@:Q OFE|tp(K|%Ռ=[H88G{2J9!6(a, 7[mT?8Q3>#TCVa-GyR}cā/fKJ1r?6<ˤ-0pBg2*=nn쁦%EF28# ~"E*qxuWizl'yn|ca.u܌$$z;peO(9r[?7t[U|?,|ޮ0H*kb(%baH2>vT]p 980N@N'``'j \|L@ ?hAJQƃhJ'yg1DQ6Սδ1785dȃ68F1'$R}h/ađfLi`j)t /U!@J`*QB6{ @.yD\1 Qu hHA 'Ve6c*cM!q A)vj3^ּڂBBBBPSy[-m[-‹m[=ImҶi[-ږmK%ےmI[-iK%mQۨmԶj[-mEۢmQ[-jEmY۬mֶk[-ږm˶e۲mY[-kem¶a۰mضl[-d WX syjCw2"Hvm}vU.j2SskyNPDKi@j.cT^oM$W0XYײ.>].=uw.8pmʺ7]] JwBv Q z!O Ӑ%#2z!q2 hႧloG<"(rR6RWrU,Oqh7lAe,kQ6;].Q]!˅20c1v/ 囍*m.%(XyV&Ԫ2梔!_eph { VUnGXĚ|!^{.bmr!̩͸8xF HW"+*;!ےl!/^*|wx=8kv&H` ͷ"IR("BIoS/Ut`[|61'L 0Ix(k"2N_].=6kpU4FUvwzռWSUV޴]z%(B$a1e~- )dwS(_~9ƌ(n{Ng771|vBɊwhޑ2"~7~Nfd2WG7~ GzasG?u[zR_nؾ_ϤۭFcSo'V_Wz"_1IsH?#7p~_s<)}~QSΊ,vtg\ԏ'I>nMJ~;)hSMyf5D5GG3WF}QQ$)o!?ϐԧk(ߤ؝~=%U޻`_[X,Q&i,QU ^MrL_7_i5T޻O]/T{W!g$b[ODI=  myeN 5U/F{쟺uM8PUCn|)RT4*K['Qg8g(é=]O f!9?;P8w75;TjR gaeIrɺ@r.?إ`'y I:u8qWM\iZ4f @Ȓ HJ4/x)(ZI.ڵ׮XAJtKaT O ~6`Իwi(oW| |8 032 :JDI7[[y5y--v0b+ .ZlZ`j̃s5l]`Y0l0Zԙ.*Ҥ0g N )ފS΅2P͌laX؉0rXc,xU QQ>}:{) &*-tI}{]'RWCRa.SOq@8$"wcvgϓ`56FlTFKKr*ktTFVE S̔@,..7ۑ3'S`MlDGOXOGy~㺤k֘1T))v֮@7QNs._ :J{2\`Y t*XtNn3YhD/_n| 9(@@̋X@dV]< /*i!a^ձhS85ʘrԈ9cy-ߖj\./, s䚛,r:Wqqqfa֒r+Ú^ˢB\ΪwŽt99XK׆W{7|*.c^~ K|{҂[e;jOI" Ԍ CX-<ڰQI6k:$,e{O'rИVpqy~P[,R$)7Damq5LD*֥JGiF3W֖?Ue͞d +V'f햷r/-[r׵޼ ugqyem}iv |*0eukXYyWi-wMSE?M-8@No\.muEJ5~NΦfwf!"6%fgGpA[wX@s3# $ZO?!Qg4>347ߢּ{,zXW˖@3킜9>Kj/?je/_:J%iZTSR*ҁv~͕|=RR(0Pnv!6X+(1h/X.s9@AM d!ATb=IedXK2 A/Wwd[RЌak2l^W1yX1Թ  tե;.0k@6Hᑣ`,Aeh+] ZV%J`M@ :PWt;ԹUz!W pd*8*̀A35 ̘x^ɴ-^*rww([p%&@KṕLM,rhʉ#8*190CӥU.Ч+%撀NY&ˠ-L6;$~1Ja( |/,B.S!k]@Dh eq2W(bM1HUWY3tPmh9eJL S9TԭCtKn-dR0]8T{$"% IhDmeI/Y 1^֪ń.\NCdF-b7o4s;} >'fa/~;9PZNؗbX{?ՋRͧED_997n| `lp j(~Kf4~0Y*˵ōZrUNOs2$Ztڻm:tYֺ{WJzYJ7e_W- Kы?5`j%&>2}KԯXkWYU,Zn AV϶`}Je=bֲD5waڕtȶ`y*:1n̮[Dɛv%=Hq68DcVXiS қbw@z?N?0=\l{lH\'YQOh0>HWkw.qu L Hp4D@ |l*ş<2f K>~Y`~zx C*t :S:&jqO/z;0C?_'feేeaqM # ً%bʅ.,Ef$lV]xIhUvK RW$/VzԟʁVz'I9?/ޓ7Qz΃ήQ j9ɦ'LɱH獜翴fLp@&RrD.qw#%Iڔs{'UH{StWon< gJE3KFxG6١DϜd8% 3{]^ W eaJ,X H 7kuy&nRfIеwQfP(B f׋]ÓpSͿFMw.4hjѸNQ?i^aSWS(2hјoo_ȷcĊ%`52v ^^QM4Ga.ť 1bh: D08o!+<>jOMi 4zoG4vw.Yi$R+hA iP`٩,C狞 VHjAI%H*V9hV㸦nfQ5Q¦YQz}lumw+p (@͓Oaj[0=@CQ%yop.G HW48E_>TE:fB;@ 7>5_m"DD 'R4 ECJ#Sw& 4KV]ɨrEBJ ,]䐺{/hhv6yNp(:@u Fpiۙkl799aO c T`H{g QnbNx}_9% /wQ2 ~*قbE?1U?5z,JD PJ(Ȧ益2wX |%_,@UV4X6]Q6n(؟{$oL |>șDx={:-س*$O"%O嫥 SW8VW ?&@z"6KV{H>?)|'MXguOΞD.>;lj=ڑA1ّ{%H|D-%[?Y0A_kqݑ^4hOc~L4?{bT3J GycZJ4JE&}gg8rҢg<_-jsQrƫ IU(iԕ>7\HJ>`bj}ds ʗNyPN$wo,鴦0FlE琢KwSlHl~w\p=Dpc@r|ͺ|QT݁"3ݴ{=ܓ(S%)iGY\k)jb,gFMa( *;Hl!@RQOK!@xws/~4#EncŢơEP3hn w4p¢w .V,W820[dO?ʳVm;י~>u~p2frPI⒮<&kbj;}S ܯ8&HAihUqz8v6RY5"EiqI=2!ST.mϞB@X! ERsҤoDҭD|'j5U G(,rswBY cZgB~KMz?7AIXm;8v,8EQumc[ S)'% %W:'~2*(i6 `ð_U`nٳ Dh˂eķ xL.nX~X ` a]ow1澔=4WǘN\PD街ү@[r[(D`"B,Z!؈g6M4Ux.QH7].[͚j yDd% hIƅbl+|wtYJP{I/gC \agem=2jLDl҈<[{o):OBQv !MW'l5R0Ɠzm{#jvqЧ1[ {(' ˯6SzBzk[C.DIސixB"v"BAHD8w"y1cO#VE ^$Tՙr䵑"1d$A["w=lW"]s]ۤE4 ynfGx^mg/~0CV(/5k. aaق P8@Ѕ r/w 8E{72o Uea??AnZچI ӯ A 5[JZ=^M\dM>eN5܁޼[CxnUh}Hǣ- :V~z"RO2a&h[:)9G4L/-;8N$.ƂPAnSLHm#k/" :u9|=Q0 #WD8>.H"A t&ON'>dτ_娴,[2?j("/$D1R Lp3e-~*@$TF 4hbкVRlW%PZ*F]~q}K1]UY9!N( P崧@V: P߅Q )IpG[䤧ϔe5"ϭn/8$(`lWa{8;كȬkzWƗ!Dj5ɒE-Ba^e ABU2c@Piw6pl{pՏ?aߦe5nOF)!]%QMo4hGD}WN,k$Zș_F2ʉ&xC]={/㎸(]ih+pIP`߆){2NwX*bSKimɤ[UKhIk['Jq( ĕ۬ DH^K_}M0?iێ(kۋfX Er+l99&6sf#AwYqғ_8|5IЩ{)ݮmxs_$s^tT[MKZrRMS L||4럍j&Il-LK/m2Kz6-y[uXhe|UKytCm2ٽ&kOM-,׹2[5iލw[ lܵ_aih[Gfcͷu:j&ǿӠmE\a["C'"ٌ]bGv/\gK iϔ{DQ-bpw,@2H4lqc}Jr%t5>o}`˹ꨔzϴ=gG^۟KP^_ϴRP cgfIJDcplz="Vu[8 ?͛{&>r0?^ʳ Ӟ=bfI_x(k Qb Z[ +<3Eaft[ĔY+j*8mq\Fk+kMCYQi,KϺ֝9~h}4:y-ڴQmK.k(tNt ]Hg-/7ş&Km[m;v[JRniEߙwwi۶.4Wv$ g%ܥX3AG]{JQ~ &O(pm\1=p?lqwwT$=EZζj[Fd=`}f0 Rf.[UuD [UE&i4 -Ee$_TݢYw(*/qwIQXA>OKGҪY{qly[_Tڝ:Z²c|,kφ~۰A}.!?D:nl0?{$-q(&ɭmG}+ӯ]c׮[" IMl"v;=T-j*;XsUӦwbS*1`0떕UaP]'i/qS<ي:azwvX/YMrEĞRp5MS'?q[ZlTxrF2}%WZ"Thb3fˮevGҩ9A׌\D)5U({g)C*g%Z~{HX_Y.Z3/3MdUǫʣ|)B!oU1id`񤟨?~v|gq;#COcʗ/NC~awlމw G Ԫ}~и/u~m4)Q,̝ c?|rV?n1}q@^O>iF>è6CqJ_np|ӸrYHo{ {ZG`2+!gz`O?+3n kԿ?H.ܜƦSMOga ҪfH)bPHNGwց~z4lgd67Ǫdv!JUP|tũGSY{[q*Ÿ kr9ރ PyLaO1q?RX |65AN?=vjaWP!AhRD_1am%Bª=2XpI@ya' !f㚁fEҎMAEF*Ti嵡IPw³V6͐Zlgʖ,S7):Kƶ&+:mC7E8R7/FJN ܯ&^`lָLN۬=Qmp VM];f(f?(al<_vxn#/LKtۉRiIT\OZdo`շZ.8I)u2xs"Z"Y%k*6smUlXϮQ-9VmmsjS-Z" M뵵NsGL9d]xUоvU*p[-iYiwUۅ;u~ME:BdG6>4!H:ٜ0^7 TdR6ݫM{N. %̳o"9:ENasGmiZN! g]YO^>8ONR,Yc]_'>f& sy|cRKgfuCͪrwr%8PHp#yUvsctz2$sEe_[?|`UHЮj\s2(*ER9JC5I- H>LTu֪~:15vbh҉S7} ȵ:ңp -I#!ZW*yNߚT }d-$SW֗Kckb\UNkUjg)vy#if o,q2vX5od/-<Żx+%򶔵;*w+"8B~&v FaH?HgPMQ~XBmPaw1=i_'#XQ)̔&9BWiCMLrf"CL'ǜ}?u41JHHȲblu4h79]"=;}?qwAn|g4A$~6 _#wUzn~r}s|:_7M+ (["⯂ vd!8" "?S#}[GثϘm(Z u03|nhT#WfǍ[a+yu @h0t;:< p? tzZ:y3^7=8}g;s$bv^pTp.ǮYr{qg)f38u;݉@ V Xa >T|*>sRuFE8ra &VS,x0lh 4;lp4?C}g9ΰaŧD^Hzpf=3eN`lCƐ}1PÈSHh/EL&Z,xQ= YI8Zgl| ffT5ui$h<“ Tӭ S3S!n>j fsZ8 zƗuBİi++ä͞p2%%=U2,O8|$f43,lV`ڌo;!Jf8AjkU3W4 Ԁ2MSWnvvhȐ<<ʠd-^8H1ʘJĺc{2X_!#orn iB[F;|0}3 y<MfY[F2#12?I 4@ƌS!l!#-r]$,HCMC#&dFS4K14Civ88pns3CgyA&[r| \4.*ZDf4Ҧuc2tD)HzsMgILߑ U2@) FNWSҶRhX!Qҡu!oDingT-]Ɛ#4f,< (F22P D#X2£)#a|ͤHjb I,2XEfY"* ¸6=ebhuŸd%4c0Î$34OCc8#7 )J}(e%,`f whZ58˄]i ;Mo&kT$ sVfPY8`2;d)IMiPPƚݖeײ?}*&f[z$]}>iލ۔ltP+PscMK@q'SO Y|rTbaۺ/k[ JWRscX|50.l[S iV]jٰ6V7l;575ؑ,8xFUx-f>v ׺A?#[J&MrEEh]}*{WK1b& ur`xP11?3jS-1+( (FJVszx&4*4B枦 V s&92Z`ImhI*+1QbR-wfO$7rfS$i")y0M5b1uPbivُ%e2?FVi0{& MQeH&,`%5ed5/oHj-5\Yl!يjc\2}yZ<{!26Y'}-kg\ Vr/Kf"b@%]S[\Uc}S(J)‡a%=ti1Zr}l+{`. <b^Lv_-F7`A׽n zM\+%moO{vҘ[lzM)L"Xu?]]pCdspx7~Bg:|W6$[CFyYY=Mia7΅  ^/T\`'ZhEHw۟3up:).;gn3(d}aV۷T\b laI~%%V)RZ٣u޳Ol):ÇP(jrV4jY}~DjaU=&scDF{G!MAt$ͥa~LzȔ.d t" B %'DNgL>垮HCSQ݂̅rNt^% M76zּA>4iB>|<(X꠨k\ \DU()VRzzE;~69Y;s P<eրzJ,)YZDY0,9-nX v!E/@|#2L目0{e +R&~wq+~b<%(İ 2YྉRB_ǒ9D©82G5y-,KnZ'd:sqq9*:o5 '%@uWY,qviS L'<T4yߧ5> 3d3Xj68{(%ճpݘ!/p1HzF[gt3ڪΑȳ Y)L..Y*ebT19xNM ,0&q2Oc;g-P]b V($Y\QT? L5xoįmf{0-$0IX800RUKҾ-3z$NP<1δS%@o97o|$0W5Qsn-iLn9ݐ~Q)"Gk(ԾoD#-9p!p`ygDԽYk /eѴ Ct6YyyێEˮH'4 cMj҈̠[ӮgDy2I…R'ũ~pXspؙۯ7k"k;| E:@ܷH9E4ۿ{y+m|lߒߊ' ^ #>?& -.7߈XF ?5h,#r{L%3:U[>xǦbC|mzeiUO +.g*n,/Lz .[t =v4E X0HnaL'8t[i2whtb8w2 Q^~{ߋUv[\üEQl&N^Dg.a+BfcsRC.lĻw``qE7/)`/Ztq)׻~wUzp-KZj*`^t !t n.X O-j 6P2aB1QOÕ":\Dy 3Bg*rԿEbj Uzl"ƍ<2t?*@d`♪R-&nY*#EG Ah[P‰7q%5KO$}ꧾٺ'4F_Ϋ}LL[XX\xeF~$챺;,[oB+FNX;nWE9 ˦l'RZrtT".s,),?A<ȫS} ,Օ@]e8fJ~q,/1 &Ϸی)UX{q ;Zϼi> !]UsAn6B#Qӑf1Y%n<#қizh5WPװq^#}jv+Oz8a/1+e++*o >o0NQ ?F1 QFc='Oί"CJKi9_hK??;+'l^TNF.v]R +|JjYYYZY_Œ0~-oKC Om(.v([?OhgJaa6K-t%E"|aqGlT3Z)ϸ ֤ uzW82EIMTPa{pgo|y95}Nh(j?;{:Ag}Ϋ( 2[I-% jDsjb(#y_?`FsAugxT:Wsc!3?%K߿E^f1hصOdէ+M;W*cʚ6uN60ɗ+sq:xgʦ;/ w u2Pqf0OS]TI੥B 2J|} 3 VvB[v((XRzm\6$&v7O0"SPV#(Rw%K@Juũ2pvS96.:;pv Ur x~D:&-!Ma.ge B`n$}ؒo ~'`U>^8S/&2 HH2H`='2rG\rrUSyFI%:_-2`5􏞼w)ѽ=)KSȖ;]J'xQVi;3\ޥG18%r:i<vw'f)1lNV/)3V2sHhw~@oZC٣A* c_PA9?˜Y <٫L^͖s}+Ae̙r<b١FrĘ۪)Y-&/‡`,d薦6q/LM~^Q;"A|嬎yj|lnן>Ľ6FHo% )F8s\mw BJ#\B~n_(8YcW!0v,dt.:l.Irs׵v,U} Oό7PߵjW3{djG?O=ed]7~ |`p`T{aZvHbyd&F:r~hkW!߰!,Uۮn-)6I79B<%ǶpX_H֖UaɰBn5KӮu붃zwe=\uܶ-ϦebUkVkkد)\%¥N=|رի;Ը.C-Ōb`y5%f[t\]"w/s?( V%ATۿoJoC@.ItUilv{muUBQvኻ="imy/ᷲGxCJ_+߶Box^ӧWX}DSqQ\/gz @~R4ʿ[X#5d`R4ˬgMdΆ*UӉlKK wckg3L< X^OG7*E1w&om: !76F G8fQBE6wqdžj*6cbvltZ5l#D6FAz6;PݎN|%&̚nml3kf!nQ$r Tl##)(C?}ܗ7o^/CJa+/G6 M* Q G k;,}QJpc'igtZGgaK<-='ݐB"t H`r&ސ(%n|P rV%_C[/uߥiHEfFLkV*+/27{O4*:mG}[gꊜ,^թ]i 6iU6Y,G=G=piͣ HOړ&-:ipavprϕx{2>Y3yy6KSkWLLEuKzO[ *I BkVeq Kus7!VWڷN0T(cXKޯ%Ӷ ׃X G1oנ@% pcn$i>~a$9}كI::^ld Jޣ5, g0( wy$VTzݿ봺^3sҤm/i'ɤ[(_ξSH$ȲCK /=WuVqt/un꩝!/d}@^-1D5C?UIZDx-%‴,̙k T->jE>80)(lj!Vh>WhbmEWhpY6lu'/` _a+Āc v1^رV\V1@,>l))()SSHivPbB67A%SP \a@1*w-Z+ލ ԁv)i(dO󶍡 lfS?LU)y)T0 m *܅ؽ6ѴK$,n++SW` F/Qٔ49k0oi@n&ܵ]?}@>NUy `qv>Z ,)t\/+d H|C|-MĔ#gHB0d";E]1 w< SrucSE9} C:! I7^XQ}vc1OZ@#'-5`!1_uQVT@ +D`R@ vzxBa éߩ90C|UXsy Uƍ͂Yt/ ƻ$EK#3c@Մ3 >Ʈvc#v(l$2e@&$a/xd)Xp1F<US9:MFO:. "T{XMSK % PO`|ìi7 Bq.W<~" !lCu> и]CjxkR^anɨSwH-DsRg\˺s/ EWm h 2@x^:iV a c6 1Y3bLF.+MeR0"aːg33d3[>3F,ִ?Cփ噞 RKRN)d bHb{@1,G!j }`nGc)|ylGoV#AciU )U LWI]L/DF2*>C@cE/+n|X0Йҙ+4fbgvhmf,w3IXҋU$I ƸDHKÙg Ϯ@lL 3,^,1DWh6fDy;0ohRU] ZXI̸KcȘm🆕s7"s':bg brFi_VCD4:>- ,XywbO/)jeZ3%c&R"p--泌 ̠9o8ϗF[b y k&Ͽ\^1!M(O yZπ60'=ջTu_D~ `]fwHϡ B5A;4^Cjg'GŦV.wyP2R@mfκO416{|HqDװiu<~A b:?'Rg1{sM s4•R.]h7_A"%owjRɑsFC1x[9 $zF@dM@^ƐqK# (Lm#q2F5.ӳ'=iTM*X_ϓÌޓ8^Fj.i̠Dr@-IS阆DaN )ㅽe| !IfC9{PyR R'azw5k?]CR)s !8 qe+_m4,s打BNY*'8Rt z:~Y[X1”21o1ϢtȖ[o4<"Hoo{TtIV۪d3V" bRmr=BPwQ@d oOA?`@5?'@(q/4qo&Qf,7EӦzsooߌcH9㎓ݼ:ԋe÷l5nǑO'N +}[t^~oD N5K.+ 2sgֳ{>>3{ޗeYqzWH@,tFV1t] 5ofnѦ?mŦ*mmF~ k l"ύ\$AX%@pA$I<*5c65Z0dǓE%A30M"J-@Y-J"YtI]DS>_DR+<{%6\٫O.8}g yY0W$f@#eDe8P(̏CCW bn/JoBIo\*$  +S"6c;V": ~G!$Qj5X@Tޝ-4Ms?PP톞65q*D46I> ޛXTMM&#ת5ϓm綁S7a>wffؔ2^>JzH9s;/arlʹ +u dVCl<*'L}I&PT"&Y.sdA2^&& a|O $&\HW9~dў8uC݀7d$ hho/ e~+)ȂκhܔdΞ>Qt=oalC颇WKwOQPk24Z'؞LM IkG' r O$Č(O'Qÿl+La󸩽vHP5ZDS 9A y" PGqҹBz)Q!=@?9P=w8M B̹';JHOz5'4u3Ab {",t -0T,Ӄ_Ñ'ξ3 D*ENӌUǿyY0L'#3JS(,ܩRO|Q5Ndɣ!p&Wę-=_c?N{%Jaudo^kxbY? h<<{ ǃHm@OOV"7fR3n&}4ݔ&Ƶ{x?UU5)x  5DӲeskȉ63]\slv }vqcmXr>`Ot[zٝAc{J~5NZ4M ]WT&:d13_sh,iI'Ro. ;`_wI?Ρ':G؛x͏i9 ?(I'MIenD 9f s,IEa-H2$&{ȍDV1x2}qT[cH2%zN-0(Q-sFHõ'ʳ5?=wOLĉS)6V (_)E=D'lĝ#^7C ZQN6wCI _d~_SPdETÇ1$ɘߍ{,jd[N-wq*viV"+ 6qeiZNX0Q{Da$g!]*Fp>@; M&’[G/+N-2 ?C8^WOu%wDWſ֟O_!^f i'Ճ}i !CȐ2d C C!!Ȑ2dCؐ!_18{5)?JБl8!c3-HBޜJN},K 3CT[T  @O8ǟ5C!'Rd2 !Cː a٧uִѢ`=(gzx,EAO67*8"֐q$L4-:'I]A(N HTO Nn@7qwb7@חH+֟g!4;.rz,`Z7Fsw$Wt'SLV(qPՙb YBۀ*۹#gxKAXk:f u0K2 ݼr=d'ħQz2Yy[sKzk£ag1ٙh_"-bm,($ON\'GVtP֜~%lۃfNW'u:]PjSʀ/I~8`kAacA۫`,CJ)@!uvt?*{W/;ZRX$ʎ=VMb^%Х}Z ud{KG3wztdno011TsՈFo.A$Rz+OAtaw\IwoP#| v~s?4V*<5;PPaJМ!Vh g6jJBrBtW[Az ۥe #.U1_0+"skcf] ϑTă9 A;`n k- 78Ngw,N`*eÀC7Z迍6*YWSD^sNxuz`r_gXI`*Q##4ov@tߘL4dox;4$fϏrwO{̒t:iogva?:oP\WcYfKRH0Oy}+h\#YKq|dLX7 e^eA]3A=&಼9;uJϳ,8 +6#Q)+ U61 xT@?8˛}rl'?x!lȐ2d C!6o_58./ՇydbBQ@>u[\Uęa5qApO⼬|vt7;s#9jr1&]:9++BK< "wSo[ GI$/gxpH.N /JGVpo1TM)l+_}1c WRhZ\x$)!SoK>m.ٶ[& ̂ՋJ)B~6S!웞'OXŢ&X 3i1ظJ{)e#TYF%k O2 צJ:lIT w8AB@"{Kn;OJG/L&|M%tmT8[ؗw"{4F-iɉ%%YY*h枥.Kh/ePGx1VQVHGC,8>WҖxtdSP,ׁ#aHb L !iOKw^N6:>xMȿ9eJ=O{J(M^Ɓ{Vk1*B9S]R,,őjb.|Yٴ4XLhx P_RX )ae.*E+zT<|Uɿ􍯜t(A( JKϴ㋈bC~m2U']Q*%z 3pkhJ2Eg{9x L^e#.bݻ;U1I d ,ה%aX[|Nz&ڼQMoBGI& !H`NQv*键IG<Vob *~6 屙r랉.Iҭ-[`*o헢#DfLi-y"o.K%՗/Չ6j1MC`,"jϡKYi ΀3a-(M.oǁ5#*Q #RM|4Y--D,uMhxLԜ֙Įι=Ox3>x? #F:n,Z ֕Afj?Suǝ#(-Θ\5M!{tV>72yHj؃Q#ӎZP]j#CAҡA5F mYE!OUw.LX(ɖˣhy!&`օ.m꽟J$8 $xJZ&j("3Eʚ.E(:¤(to%Nu֤]ǤZW"E51Y4,LIՍ s- Eݽ58鏭K`n=Md+F0tis?kx(Lhj=m5rn˛is+'=ov8]l^x* |efc̐˛bPz$ȾT$lT$䢵O[o~O@zl{r'bHDVCfvxPu_-V$h ZL Һ+pJkw|Ì<XKa,sneqHaAzughZ5LwiFR+ o|t,ECh3 6#\J"M]^T܄n ͉(o+f\(8^TBO)^brtx!@\dMy HSl &|qx{;2G.a3˗UpJλ+ꥶʊN,QwbeT>RLbNW_|F.D>9% HRv&=Cxi9d1 5rf{YbBTXa ih. mrL(/sV"u/, q]27SU 7I_6 G? }iؕ'Fhu5#q6 DzžQi_e(8߰rϔ]jw/ sϴ{ivnkӑK:9Zɠz~PƢHg;ZiNΚ>_mBOgˁh7lzXI-v{RBò^M:) qkF6n,Gw?8 7roM߄!5O^zB[p7&f}^Xq=ij1PgɒXkl$,M,FtfһEKq?ɝ 4Ţ&E/tₑJTQ80a)S; kqu^)e tCk4ABufI?|ܨn}e2{{4Nꄚ+`.wH;30f<[j%3Q~T(h6GVJY 2rIf{ PPP5=޸CI?;>lr=}"&؛zQ{~L^ W kvT8| Fe-/^"LZ7f}ٽqܤY|[W".KErml鰗Q*DѶ9 S3s6A5!QKf$?1:39}ϵo.}WU1xNQ{vG2כ5<8&CQ8M{\E᠂D79I2Y6k^H{V;)(7θ^^ 56h9i<>5"®cn(mi]rlx(~^ij/E/~+@p"1Ri޹tua~^}/T|XEM:/yy1k~Yt8cxY+nc2a(mCm%M4< 7üGzhfЍ?i_kljmnHKQSM8T}pʻ/jL.āXMɺyX`G`w[ZOPOS:R\9‚} E|r^J.`M_R fG>w;Vv]pSKtt 1Q"m; ׀pss f^b`Ǹ ywus@yHn7#9Xޮf ŗ[o_~B_KzX08p C:2 v:L[l]8ٲyZ^ ˶Vs[/, 3d0ڼrr;w^PlBu- tRMXP]v7#KX+1C$!Ɛ |]udtAP%?V3?7Fj[b`a1cbH Z%ǽuĴy!BE0GЏWB D:v1؁s4z ;;;o/lnIJq8Rx3({ue5C8h1X7܌=ClDgJ_%&0ҷiH cfj٨bhT$VQ R9fQk,OSyv 3̽[@\63RKkVâ+m{ ..@RV:Aɖ"t4^5 ~ޚ^u8=ЬGy'\[͛^ I{ YL2ҸAХ"Ҥ8nA}[ QO%=Qu7YԞVͧU1(s*suy7W8*DŽ_g qeGC5H$؍.A(99nRk'=}+΅}FIdV"AG;@y7ΡGCHJbFY^Ed#-TⰌ# UsXX M'KZFBT-ĢZ,250)+0-QgEI*xxCݹ Ct )3]¤މ@wF3 XoK۫kWql,0#&0$sɦaOQF-1D}4Pg.6QRA h眞C̤ B=ž_wP W0R&p޾  O-<++d 1!9]Xg~M2L>=oۥJ|(޳PA1>g?+CJ}-EIh'e}cxT?m^ ->^/Pγ iJPPVVQ+ƕo̡D FIJgL'<\aMGHEDl 1#h~-(ř-5}ج1Y su&fx('hwt2Xlk n c=4n #5>89ZԀFLVrrKv^Vqڞ.ӱ$q"8 kd#}ܣGF FH߰O9&S\4Z So>yL 8dy7Щ2&}RO@*L»EnK#BLc@D4=,j])l9>HD(J)TR h[Ҹ:+41 NgޙٯڿHl)̀Д@7N&Uk's=2Jߣ^%r+"+1ej4ƈn04H>&Zx.%`"c8ӆ.LX6Q| 1^xy[Y"-#30_ire2/A4$㠒B[0i?.?ҚU:BB zZjry9Kޟf eI:P\Qb ;ʩIH-;g6&RG/ORF*q׉'*⧮煉L )ds+lFp~ӹ5i\=T* LP~|і(TCMdBi'g/vO ֘ Š"Η02QQ-,]&/0uʤg^|;z<.RDQ>O]J h:ڴY`t,iGę,IEWыY.Ocsu ˛[Z"п[eZEJ#hy+?JNJe.I^.l[&}QPmtBkɠ6.AD { r*8bͿf@k&@e h]>C7P/Q2LL5lriF龧|]5/7P|9C5v= UGwWׯ-^744 d(QS[_~vrQ,VAMZʫ̴[-"Jk2|Z56""&C#mF=pFAg "fSoiʲ~ﳇ؇G6tXys*dLR*}tvV\t!)0otpVxv=QNq\uU?oj<;@H0] ZɂM5E*tsӱO"_Qb$aBy3Wsk&٣4.%Kłw=RIZɒgd^e^TLeS ߊCߤH WO9yLS NlfD2%b3_S#shfx#4p=NQɚ{i2e&\FŐ8DuYF* 1]J&)?9nRbYCG83,@@06c}YMY58򎴰(7($\B8J졕ԩ+fA:cٓ5CĦ]uxD+PLP8 'GX0P7~wC)QkNћ>@~azm+5EkK(ƞ6/2L98k@ƾ,doə6㘱'$dQ~愓ʫWN2s&n&k1KK; .8pcM8<U_)Zů~lE5QKcnN|Sa Tmq޹,z5K,#%',eڣAϱT?\`QmhG;] K 1M+ !]}p`B`_St'? Cr &geUbH|&k`!%n9CXo|33D.nG ǎ**FgvfZ0;*b(lG,Tl(MRbgj,#LF*\-μ{ d"˭fim;@}u7{r:TK=.LbBd;iIB @j;!0]vJR?4c]SUoxn8ɲJ,I}UWA>YhCA3QYP\ ࣘ%iZNhx;(zbW蹷#fD%|T Tu ȭB0<87D«p@TrhDCg^IԞ:Adb.Y:+"*С+f`br(`]iDN!-mm__Ȟ𾇕WyOGk=䠸U2PoU/TuFg 2O6xM[v>o"a'ֽPA`GzwF|y9]E-zDipNډ":< 0V.APN#҂ҨyUB)LK@g1`ќ ]@>]{74w9Zd,vcnȅYdE]D8! y$-b%@% /ﻜL yI,ݜ}Eɞ|X^!ss C9JJ`IWn.~+X=w)6w Xa^<1S+UCnG?1&ۣM]oε]i:Z[W0 =9sJJnP; R|-l4;q6V [ GܞƜh5E=z;SZK3X9Ƹ?[S:Yo3cҢ݊-KC jU(!}9G3ew4Q#ɦ>ĄNa_!GdxeOв׿=ؾǡyqVUţ+ʵ#*立cb+DoGnO\FM\1k- >)qva+uPuAojzqu oJ@G׍Z`R]hƵqOAtgD=n_UȰvjvh&I?y$:1+5xsKu nabg84~ǭj9[K>^2A;e^ uWbFZ'{%ٚS]>k\JtGh~6c;Ӝ',p!U$D2m-HKgA/w5]hQ,C8[dD>=UBJ\Epݣ'7r^w"k7W9 ץFڠ{`HȋQl1h.]~ϗr,C=ErQ Z򌉤@$P$!%Lv(U9ݣ'ͻF}uQ'M¶Z:,n[kNԮp+Mܢ\jAX$a~ܭ @Hmi\6QzVWw.(k֜l[\ - /ji#Tҟ)G\~_"nI9":|S*βB#HusKe/*uA2pLlm|VY5-ⱉaBOUL4|K=Zizߝ#ֱ/IZhtFMƟ04t)BCw1;xA|f%B8f*[rM}aHu7kmK,P2(@A\=x cKLA`s2(YU5`NF< s{'e,"W?8ߙɝ-&%k >~K#]$s*/cnO5p1"*uCϹ,p` ])XHXLfvSJܲv=IO}˓1qxRO>{r5uKƫ>LuZ]DHe{T4!0YS!)QT;y|R= iտIsHc}w.LOhɩNM /z?EqEHK2c?*LoXa&܂wV/R}k|cIdWpWm dB v6q=4@N/e^wE!~b.;# w%vaMz28ʳZ| 0FmKrxL|}%ȻS'nݩM]AˋDq҂}T])GÄ\5ԫ.ah /֢qhn$Gg ܖKv4ϙȳpD5?J6NB_Rv)-ԂI0X*jEdM^GJ L n㋣+M4za_JLlL!i*{_UGթ~is91O6<VwTk^.cWW;U FYe9 㻎dڑ⺞+zR4Xqr;7֡SنkX VL4NC/ZWgw٢8hSV×x"g;O%g܅7B֮¾4':/`HW`&;lj6 +}Ki/J]с(3$G$tHF [xSŽ3{/:#Y}rU0fKo2#gckP#]-xW)ٟrT\T61b6"=Ejљf>QXsBXnEs؇2_dfk/ɪ UWNiu#rIlX+Y\*@nxHcdIGhާP(ZI,g{A/VBT5+ g4JQ,P-28vMeA0Tã 93_ s80Xl_743MiԵ| Ye0L|)%*jcf#hnL?6drR<.`OAdBN6}nyi5uQIrJs Gr9, 0lFunsfsv( c '< ˑrDZ}(xWփ WJlKeg6|a/*Rx !Fr1*i  pjdo\j~ci_'A &XΪþ(Y +8#E'/TDljhqBԑ6]Ή!+dMђuNhfQ1m]yN+Y%e0*WO^ۼBxSfx4_/]!,TmUcX9'=R\2yx D-156Ty(تU Ү>ʻt9(D>p{\^w H}Yx?dOXO0CPL\zytZؓFLZ(hp7$Gwa"I%,*wmQ|\!׼p)nPJbsUWnuͲ'/M4!ؠ V6#F(볉!8#VyGC wPo/!|"5GPu)aK"(á{PO.(-ktw0^9Ej,@F re H584w;hoܶq9G-!H:Z),p+'F+˅5uy[\ݶشc(y#_<6CcLB[.<++]pL)FOَۦv?܏F%#&)Cv^^dTO&?a33PV!7ƫ n[-\ca|u-ۗI]쭱Y_inaL={NSOf'#ᶐ.J-a3E;+$kùQǞC Ǯl7 L FA L5a9sDD+=.{]Z|OGq3Ȑsuk}z6On^Xf#VZO꘩nY.vEB)hc)E}sWg_||3%R13F.AF?0hzҢېqz+>YRJ/1yɖq ?"ieU#+XGs"E=bN9QNNȀQ?f}3Uai,ݑVs(%? p'*T}¶jnS*R+]a(:$BzG p\IpP:p]i6pH%b3st|Aڙ]d$"#NlC' gK 3{ b,SAiG}/Mм5̉S̙BWėE܇5$5_3H7:>D+{•%K9vI[M5N5pYllZB᳦msi(H2$}LmLo_r;#d1(飜a\>7&N 1/3^mחSٞN\ڗUqdL) d*EY4}np8ULP:l"d8g]h0w~d'k3V9 ׻: 1HhkU <R aA+4Fz:2):2"k{H,>#e~g|O_F%J`̔qiqt>T*g MB=i< TuGJa5 }< f2Cm66 ?묦"g է]2!rHi%\1O0z$Z3Pvw? ʔ>TGl<8^`ǰi0("DsVa{W-fhcZnBɺU0ߞ,cY֊\& qX9MSR7a7p+yf$u2AiL~lR\5%X'KCQEpI[3cRȥ?S"A3MY|ce2^+3Uu?PL} Zz[kIʺ%Mjt>_C2R!@3Ohl(@ɕtr)$t,HwKEы DuZkV{ZJy? d&/˧XfrRgM Y:0l8Q1)v܈1̞,_#kp#Dflc.=\Y!WRch@sK iP-P8[sKl˜f >U~ 7%τ.=d'S*\{ꦿ2uqSe04bݮ "ܦc7]%o;S %oG? \^qD%nW]gmNt^9*ǤW/ρ2EqX>ש\ˡЫlS{[8Ct#U;߃i4Phw39DC.Hx򲣛S~nOMo=v`&OG*\fVtMw밬P!=6{'6I' _\jMؾfdJGsg8PI#qA4}7!RQ? +յ iM3h,\28Ih@8F$^8'C;97' P%x/%X[lb8N?̋u P\2xKM~zhACO7o?t>"ӛX"cǒ063z o =6) 2|6eu9ۦʝSv= -/˒ y+3nCM"^?.px{'l9Xp°LwNJMa-`W6%Ŀ"=MQ(S-Ou)݂AdkKhy.M \'Mǵ/) rQ|/+:9Jk`Vь%My yTd*Ϛ|},k's X? ˈkϮp]¸rjg ߷\2z~'y'\Qԕz,w]x⬎ʷeo4&%hKDC}#.'4[:Ϛ:gWqWa'7HkOմ}|LuGD9}ml7J-IF=os!qFnG[q> Q&\.[ϘH gG K8l\knqŐ*a`%SrRG~^{eK2ؼC}rΟy fL=7ټ'{5j3 pl?SQ+zsMThYn&MN8iV>]W/h !Xzݵ\"c& rݻmXCc"֌~l>4I'K8‘dM$o߽ h4 k]P͒,!ɿ3H~Vf6Xi.o+|SHx,2=N0p$t͒FE Ny!?*M@FUPy񇍀[ɱi% plEZ7FqiH7S8H7ii]X$qGM;Ǹz+;8?19Ľen?`G|؃am+!2d?}(ᡀB.0&ɼ ?@}&NoZOA"BGF,wgGI'O۟t. xsm\2B6G ;!>KxIIU9qՖ?pvibqQ}o*Ixب+ ǩqzP8F) +YFl@?G8Sg$ lB2ֱ UN`'FVn|0-[گt[a~6ׂe_ xbUH!;P;]):ѓS"><"YkAy.ɨ3N̒uB=΍⸭qtcѪ)E~0ǭ֧p:j]v[$v{]x)r]ǔr}"v@Clks. \pMDIHOMy9xt>ߥ $'7v6| ‡Hn1(Xئ/|i^5eAP@퀵I H  l;awɑp N?t`+":ZD9^-OJפ &-ً? *{t(?1yvXh kx5QȺZ,- ճݯeȄ2y->e]R/!d<M1B~|LQWw*&QVd`7s?A@. =99MQ@o\2lN<̅7o7{6cO @ՒD1mS %̻c2RK f<&)dU2Ϡ@C[ʳc2nL,/(<۵,U  P9=*`!A#"beƿ3edƩ\;6"quװzU ѱzlyi4㛳C$ޫΨ5MoK01 CZmo //]$A[̔7hCMNPlw9NFp8 vD,jl7?ƨb$KWWPLfR?d!zڙ{rj۔)8Vf@`=u cRg;T=Ezw+JԴҚa\càVZb&FLd߲FQKBƿXׯ 4"T`[dˌ6pG~F~}53|̊E]Yr#^z5lVgv:R)`܋tЃ1ѽZ@UO# ̓I{ 7#!(u?*T|mKzҕ8u'6H'e !P սtUMu8Hq32!EAJ|2`ML;{[lxh);|$'Ҹ[!jH<M %0p,(dLfϫ2/,aAjT(:iܪ,5GUq)25OyX*m 3L%Z8?{OjȰ|CK΋R t,ta1 'msSF,i&1#w‰@// #H[2i*Yiz{(p;o2#\SYe\ȍ;ך|(R@ FGm֐7n Z΢mJuOgb Af犰CKk<ԢAYx1o2"P^Xm*y#D /i@U=2.ad9 yXVn#[nU#n)h;3o+::'?b ՜7+ HyuM6^BA4Y5[|Ura.N ^ƽl ޖdpPۭ o#zzt$# ]d` 7ۛĺt((>A ay\Uo[;GmqH@~_CMLi<_f{ eDE:2/a*50M@$cFtd(jXL-q1Ph`\R& UJ P@[);riD)Rf=(*nW4[[X87Yh8H=Q-;(̯MP*0DGx>Y+ ij:r:4J'hڛG^7Axۍ-$nLON{ יa1,iSx䂘#v)6f+-]'1+01tw |*T`Uj1`'mty}erNx?ý!q)ԹdD]CD_GCwX.q:-3!\T|͟6/(38&O0")]}Yxe BQ NZdrz f.Slʟ&EFT 7 RC3'wb!?T)vu˿Ӏ yF|p6%3&~Ƶm, ^UY/a"%+ t ˉ{fM3ntӵп8Wm˼Zn u]^*(t>#D ;^5ۋmVΐ!;QT|kj/pvQ؋e2_| 9` !(vx:8 k(w>!v֣)1,쵣7Xqzonf#}G_1f?\*[,ce: SRCfTb N/4k1k)! \qg"V jKT|u_WX._6RBɶj1ևeS3uҶ z !2ufģMwԉۮ’,=:P V#nI>NK4~J ;FVBD&IA&W$dp4@h¢|ũph6@qr\1eZG'ɸdeжIϯeyHߩڵt=yK(<::B(HiX#($!b ?#k5uZ%BWeY)FX-NϤL9\89~!P#Eam+[T$KN*'f+/yУm][6{HYڝiGMi=miM=mi;Ns>5i:|9(w~Gg齇CG’sFA-bk_;v;!??C`?I!oG?C?G?Cm:֏.woXώꯝ}7XN=xj+ۜ||ч|׆;׀g'Rߝu*6k׺b_սC~5xԯ~޿6PWѦ6.~uWw*x蠍J wĻ^ȕq;S]}[x.>Q_'olY>{gO׏ N}yIm?7;f.3vS ] NuB3^WK{xzC?wg~۾nw>{y5?:qwoQؙ?zٶf̿ir}}]G{*w8Zooṡc}! 5gzNOd﫵ж:>𻾜yvs'qL ݡзo֡w?~iץ5!R+}]-q|d_;>1=s .|}{鱮V揨>r·wuy^J~czR?9/6pߝ_l@yz]ɏ z~)x}l?gGR^s>S_W ^ ZWNw~xqys?vq 6}v?wVЗp݇O; @-<Y>s7nB)R[pN y ?:6_TAb/up!ǧ(چ?}WV{J‹DQ'8 gDN['@;xMQFDtx#>.~G;AXkPP>k;eׄՄԑ=wmԈ#Mjw$@ܯ}sΈ<%JDx'c\kxnnE߱Tps'މς@}MO'k޿wjBkRm'}ڭCWH<<4OU'%@J1G;@X4"O'kVp~PMEobxX<'}}DB\m}D4O'v%6k1B Qw6(U%O>Ol'" mC>MN#̟(I#BEk@->{'.VПcU)[^sHi[B׳=OY oxM<џ('Vp'c ~׹;:7DFDZδ[;J̌. Zzxb;A%JFPD /+~/xHjrZ*>Գ~[{wc~':ݝO'!Ε@}gnJl9vW?MO D61*qS"b[׉ۮWB:zO/)odd;.fz`kw{~E;gخ\(;D=B\1W&'h#55(jz_mX$O'y<޾ ع\xJF' xb?O'6P8.㉶`O'݉D;Axv3"Ĉ&'O'l yb6'~GEæ>6_ADR3AWw;uj.`OYWdĒj覺" 5uUtj7e,LɞMd%ai>K>깦+\48> 9f7(׻Q~7ҧ^=~.lY݋r;=t/҅!vVBK[b.tNT%Q&Xq#N647Ka[Jq.-;`u.HjS9cA@L>֞ӔeMjF֖6KүAӃST\  {-,  bZbZ-/ t$` >\ڥ"t #,T iIi aX`WvYW VkISV I,L iM'6Ɔ _KDbE4*ϙ>b mWJRc| њg]^Y֣ _sSrQP M.l\ c_4۔3[ u^wЇvP)XZځ^43k%5y#Ӯڕ*TyƩVHF>G;3\gҦ/jٗkJ +/7mȺZ C+N5qOfi-%Ku-|3BiJϕЋOQҠPKuuhu5w{4}X"aaq0 H Iii<롍늺%gcyF.:Vg,B]j  u8o$~'Z ʥЗwʻCVBOHo,4a||,Iw 48 D4>^l.&']Db`X]YUe蔋?3& UYQ]$aݻoҦẙi'N=%K*M;ݵ߁.κq-,;n4WH8}4l,3h'_y-?[+⼒d=J@95yXǠBKt&,_eyT^aPҿjpBxrvwg$w/@/ƺlBWߑ}[^d]]I4_V~bsjuO9\`wǎi5kOSۭDd'G*.%o{Yyō?X8l5K[NQ'>)/"Y])\}ԏoHvNbB6p#nuzG+B/1_?ajˈ{N; ._մkX_{ s'ڈfYRi~Htr۳/ [jLi3=OwE{Aa"ѷV=zҗnZzs?K[6QSI;1#q)蒇֞tĵ2|k\@@QWjL;lR47O-Z:3S& 쳆ľ mKL,-6N?-kqgڑ\Bn<=! 8|B3 KF V @kpFV+ӘrKECrgS{϶7uxq|f{(Ɇ'Ξ- {iS&G@y g.VeۃuGISgdKw6jZڔ%OO܍T9ȕ`ǜk]$M>`M^kld}_~u [ 7]+&[3i6>XZܒ9RF]ngRƨK :?w^~= GYD]q:GVѭ."g b7F{=*|\#c BBj@+]!t5J4x4Q0N˕x4*&TkR.~Ox?s1Co*m-^ v*ȯ!,HPfM>kW^`/ԏM9eeƷ!{D!!4qCbYD/{,=:@mmNƇ}/-KdCH5r|d^2/7^ &{]SIuiq嚶HЫ6jf|l@xL_P|wDiePӂJ# !ywRVN%0b}ҲҟRTF"cG`ƒ#/B  =FF%~C!N Z`ѐag:һ1nJ[k8;v eT[Gq kmC\i2u_8љ&,pI0ٸTxgK|Z֎V# K$UZXջ[ b r=C',cpt7AHT&T(^\CT9%/aA^YF3Wl̓3.MjOB ~=2& JtnneN.M}FE[\KQ&<T~):'W v!mHE0}n 4tlƋ+DUNٍzu^rA7f\fk8Ǎh &SOLt2FwqPrc2j!;adn~n 睶TB6][zT絣| 3dfAAzcpmb[X7C8P!Ǿ?!Fo.api?[A+54%'9Ѓ>~3 eY:*V˒bKٻem>c{ Ksc=hAl RB^m0xJ$h)##E+<3.x1rCD" {B&|! eO|{J*,a0e{ʛ_KSS;&^ʌ,G~ܩ/`c<}}?ڞ$~ E"^$D|cJ=EeC/ppt&- ;eˉvLb?5ۖLF?l `SRvq[㦮ܿWLwImMnu,"m&RD%˲WjM(D9 >ON=j>s2dYO.I_es.yxY،%J*4ddN%^T&<{Cm ,[eurJPv!s(JXAw J Ql}H~vc-m6[Y.Eqjt)'+rR^x poiN2QAQQha~t0*s#//$=&@cjpdOO-a"tUCa4 F⵴(} z=*"ɕ5C 7on:ƆN*dJ%4qVU.urTo;{C)&lDz#]>N|glhbE" ³/0'_g#_{??>A?>RkMozn 4?bAZʫb&Y^Δẍ|`l[SZu>/lV<DB9g ˜jp8k@\Ri~u>e2ґ$t -Nynλ;`0o4ڧ}XtU|bHXgPsف#jL/B$1hO(N+ɶ-iV39iօ\إb3\A x$:֭$\O-lN1:]V&{?p69\Dlƒ,hstkd|6Z YMP G?p-5,f`qbh9B&m3*u$:O1hmcP*TOҔ_.)$EgV8p0? ^Xa!Klv̇+͓?"\줰E?˅ ,`jCvoQ@L)6zɡE2A%u6D @qi+"4NaN¾mL92v_FPطiU.8yB<\^/"b.mC"JL|uun\v&D4k:Ճ Lqm.4!h{ a,D֭j?5jX$/Tħ h]_&6(YyHӎ Nx:+Ğ˖[$+DB}n"cr0eBTGZcG:·/uM^&AINx=J>w"ƲFp7O^ΡfyD_x"ZQ-%]"LU-\1[x(/`32P ,$lkKg,1r Hhfj@ );<&gҊMN]{t[-A)Mꡈ~QxPa3Z%B0!mm:w+& aS[z+E >h/'rULJN2*RQ>zjyH{q iuc)S! dEvۗ)Wf IavLU"^!U `O1$f-F.r`=8 1ѵVcL݀SAn Ѽbb[{5}F\d<6oXrpU ]%) gHgRE,nLVҁ&j4SlA'm40389gL p)67亦oC]]- )a5`DZcRCF~MٱwmHqtpA1&5X(Tj5LǛɶśAѼOo#*=pLp1AMyvsy0 g8夽XB2Kyt1I* d PB)Lal'rNS"uœ[|OI /VL '189/@b3 LHc|3c;{K)*9WGTOV}V5t ml umrHW$/^`7 %tʲeS#mA]4( 1E!A!k Pk={-[^mY )`Pd\W B|[Ԭn3=/7Kx*\`OItR6J?Fq=B%wu ͟p=;kbH =X>.6Y ,xYX9Z O)aQQ&.W=)R%q2MM.(?p/9[ tfXJ]E*(}0[|򧝾*$WJ,Y@f ?`6(yI0 ^Z8#y)[Ah2Y.x=H| -q19°1r"FFfT4bL}]$WͩT2)3^>)g?_h1WOנRUz!0fWEwaӴOD?.l9y1%K+7ABaWz/SUӳno~kJ1xk>0q*)yaЪԻe9^3n(d"p>Vm8#!1XPN:rHG%¬~5(8PBz 83Sq@d4tobSev鈩DTx8[ŝ}D®,rҼN#cuJ^u[Bil t:9WF*wݕrpS)o=쉭%#3 tMJP!feJ PX9yA,3_5< Qj4])G.rCQ))cŅ*ƥÇ B#)4v:*f(MOTl,!Ƈ ]SpKdd /A]v;]U$-^dSǴux˺"'^eֲ݈æm{ 0\G6+msUzkD9B`;2b8|8~ # ZTR;*21B oQ~޶z#RLhl }:~ ٤XpI `.}f zTzz rRKC^P9< f^Mk-PEef̫a(C|ys "^ap!1t>CDo`r][RN+5d#^Sl~ݢw&B׆kbaF;4>0^!er4SmR߄xNĿк=}j7ZMFӔ]tR}T& iy ý3fO.~"!]%oh<áI7tDv`JOh0&*4z P00tyHd=*G m(eq(<E[֓rRQ7jy1T`}4X_26*&X  H ;6)jF?2*T#R?ݤ se,c`ah͸o/}66j&4q ̎ TzzG<F |+HΣ}Mg%4%DpsyR,yXgFɭaB|Mʆ^ǠbQ) ~=^X2DHw(tUjz9'=OA@"!`,B Uߒ~Oc]mW? \Gq>(J8LyswqAq{]vգOiQ>.:n$CNgG&-iԷ[Y0hm ̺ 1Cmc7^j/mSژy)~n aHpev 6/?7כ>Xa]pgkB`d<C]~fE,s9ضӪ{ c%Q1J.z]1*E[*6Ҁ܈j8g]~Q, hPR/Z݈NX䑝=Rϡl>{tRyꒆIל5>/Q%HtB疍 ',g8eYj.θ7y?JP֑+[ڽ _.2{G[GfH ,wy;)(ܦeR:t6RLLN6(Uxs_SY3"'@M')x$&Qc,램ag+Sf/d-oy2+LgkPN\Mix.Zpq,}mi0M~Xr-8cnlԡ4oa#ó)k?ZH̤:0~@MuD$/zʦԡ=R1RI*\V( >`SǥieVlҵ_ʦ.;C]m_ $O߂MTW{(4M(&Rd+}k)1P'}@ G6{qP`U's B(eԮ T\߅Z4z/D_l8+)qA U!?nNO~gȊݧ.ch2R ?<ŵ.éXĐPiV֮ZX(W TjʆlQSJN1yM H]*hא~zBvrQMKRQ!% Aj#R%QTl2xe*e/ lF}+R"U3٪߰Z3bؚZF<ׅE;)zuwWZ䠿!;5\/0/$4@c ҥ0>"&{d'iǟƤ鞐jrlBE!h5iHn3-x << f\XfLfJIgJΕ(2@iI{T@5*%" b=Uk:WΠ$\=QefhP ߦ[,Eu]`hG_Sl߭`ͣXG/L$aB_ -X™*(Zda!5Bgw ':2 C5a``rƓm$ˤ#HHF$]GzZ5ND&Ub;9zH/-zĊ9|Z|.q5e(CVSynnhN u11:Q.*BIYV_52U͔IJۿk}Z%KŴ૨Y̶% R3peRx3gf&{a"o{w\ᯕ%T3QXVL0ƒUfj|O{A>w=gQmN[T̟(ǜAص0$;0nN]Z*RajQU9rmtKt>EV珘7-AgF虍_nEZ|lF/Y\5V]~\e&FAp|;)a+ɳ!c+[ L;CG;%@}4.3LF&mou3reZc2Q8/o1.ţfTTp{P y Pȯ01d EU5X98_)> T;h39ƞDf  'o_vwDTd:ȶ|Z 3Kn)C؍yӓcs!P^N-xz$ɉ)ipxR צy 8]V4}}A/V3p0E؉\z :q  5+ bj܋g>̩*|zr$uV U"-ghZr5mtT--QfӂFѪV&%R97l ܙ"E?ZB*[A`B %N/[fLT3i. tLE*HtQn8q" &s<Qt+kI_ 2T ĔeID^$k%+H cG|3@`'QYQ^w0[̺둉mmJ|L_&=\i3ZF2) GC9)ĎKHW=#3Im R2IF!Rߺr};+v@Eyu5c޳ߵQpi2N kיe鮊 ORt+69jse G of 5c t;M+s= .Kg6Mn{,=Q*ƺuPgP!a B]; g < Gϗ20vn0mI&rkGHؔY{"h6}-*RWgTuPV84O gXNoZFB!m4=4"j\ nT← %4XhK\a-7G0 cKF_[O9h*XVX{e#Bn}jWutXb8s,^,OcxUϵ"W 3~S9D[R$jp JeM1po;2?c~6u`ojTr 5'B@l%ZaBBGe%{y>Nލcaqw}[ٷ b.r'3K(P^ϛ,ةmyAmaQ"N+V3N6+\5ڻȀ([ :d͌&GPJsP)1=4vw3mzBL[׉T\le}=~ lHi 'NFiح>Ǜ9ۂU WnQA$Ƙa,4ؤ; U>HO7Gjx˄3dD 62EѨךǓsi俙|󶅆ټUFg\UDXij}bc.#/eu0nGc(F!N{}2*8 0ŏ<'R"LBxJu(~F(`ޛ:_]!Tΐ `dFBN>ZD!I$c`ckCJ *h൯|gItˆ>[rrexU:]g=ߤTRb┰Mi/96UFhn*'X nŕGOI:&Z GpA cTX! Gj>GQ-~<@qNX"^ƫ1Eg12`YƼMgƠjg:3P9nԪlPfAA T@Ug O BcTE8[ːKJy{&'uE-Va2kj / IrW5523a$*דተwlif 3c~ɟXg҃WT]VEP;j,ԝ鿽^coalij8fS*xL6Ҍ2c{:&;yq%~ˎˆuyLIeC>Ϯ|"ih@||2\@љ @VO;x~/!w-N=åp3zm:Kfb5WvfI{z8c\szMONpd>gR58rvdYr:*lUbR!1^3(D{"S>VmY$̨[63!(&sfB]f<*gC,[Zƅdpޥ%34 Vf~rJ00O )9K)Y4QCFwUTquq;8ׂG| gەA QUNn3m Ka'/ [vS4GuCwAچn% #{ֆ(M\#cO* hR& ߯vrr}ob Q 7(謯5sJFqa:nq{sR8`˦e+\#g=kz21jx NA6ؕTiXKY&J>7oVh8YOk)HU ff> ya2C+jŊr2sоUN}'nIy%J-8,ɃyqNޏCwș k>sҎ![PyjRJRՐP{^@q% ]pCe9k~1㱣E͸4C$ IwyꙅR!^ b7bYsOT~Ubs)#QW}VOĚo

*-ТHZYu\f:l6Ay;\ڦrr30TRf+HjTyYP8G S)V Vh.U842ҤSpi FvkzZ9QBϟe֥Vųr7S'$&*R D`Xl_%^b<1NI|>B%Rܥϕ+i~A,A t &1!c͒\-ROPgi!%5$>5 1j$X2gd;w۪X@V/@@e_" ^gHSȡFW9rZr^gGMu+酑 rRD! @:Kҕ_ha#a1p %Gjl͌i%Bj`~'6>SyJJw*9҇h W؊+ZW>%}ՉA(J~7n*ɔebr٤ ;V: +k;Be_=͊-Vgk֔ʌ95DjʵF$V8%YriW]b^2AyTYh}Y6[ OE80Sl)Wi(y#N nY9}ۉ3sa\;D-KNrZOʀ{(HsFHxd$[6 'U3G^ J`j$`3̌3{ca*1ˬTBQ;8Ӟ?槑~L__nEQBKC7qDI biF3{Otz*O,Û.WNmgh_:Q%Ӧ;}3Y*G9NA/w& uG6韻%t҂?B߸G(>BW9i?ѐx5΢Uܒ㵢+۸< 2TlYh,s NT\)-_Ng6R  3)i;`Ůvh+ }&k3$NΏ?l [b4- L$V*`TIړx|/y3Ҏ'\ݗBvNNB"s'`L-zsyޑJ?[bj>'Y=QqoF#,79렊2BJ*NܓQj`aheb1 mՖg̺ ^MnTiroGNԷ v4էÅ>V3;KVM!_Ο+R9~L*E}sGgPևBR*=^ ^ (%T.0Rpc7$f`27aWH'D=Md;z[ 46uEϼCL$U>U:=Z*Ml H2}l9%G'ϗ/ROi2bGìFca}:!-YaȖϲmߖF>p"KFb|{}@RFPCN@ Nsǀ2Rs96v$+A3&,NƣbNd.#ÀIn|JSg‚XTCIywsy!rŸ K/TG#[#e e،Fi =$.'7^Q'2gd"{ru`]jl;͠4A2x irSG-;`GY1F`}O^,׋H'` NPN&P~[Ҿd=@&2ff1@nbR-G2]m:*n5Bv9Y^Y  V1t]Yxg401RIN[BvJ&7:HTw 1'^ L)UR^vuAOJ޼1RlW9(o0+\pW&`@ki(p^K(BSXt"59|Ɵ2N0۾8"+BIӚ70hY3&*[\0RMF[d5, |'#F~OboITa+860B8_7P>ǭJeyY'ʐ+WkC ʝ^i]аK`2;y[ŕ)Җպ7WDK9w2$a|o35پ8ʏB"O܂Tz`X:܍)Fß%թW>#Ƨkk<%eK=GiJ7 C`K ?J.6+*ّ^\բjp 臹tECJ`2䤝a))qoE01 xy7+ S@`';\9g\psuI*pvMEO +7hD2{KNf +gHhnǶ0730E%a$r1̴|@gnf @L {I_؉EJK#$*+Mq;}p A7lފFN>q5? 3&|-ȭȨ x`NCS0"r}er;MAfsҒ.)ERmX1ˁ.8oWv *,Z`hTӳ:|~ſ(dnX>êSBy^#m݌4bGή +q -/lUB/OʬS wp v!mv7t\Bumrp|N=Re* +ȆT豗J})x͜ráҥ)s-_Հ@eeS}v)KjTf=Y?Z؞<ɔ|B5Кods0DZS6 GO>Ĩ&tUİuTv:@rrO=c'ٞc3,+C|&Kt-|@ꩳȺ"`; ۂZRܭ×DS=:'~ͅwA*@7鞳l#{E$ I=.p'bȻ?yd@:svx 斊Kʹ;h=0EРx.r|Nο%MR4Jm G6u<Yp2 X܅E!~:q۲1Bdv^RiGlceެ7FoENlWTV2,9QbԊ&Fk4S?گs41.4$Fÿ1v8%3S` zױX"::xG,f#Pt< ÄSP) 2Pv^ 1CJI3 g'\@^uΩĹo3c'XiCDO4 Rzan(R1 ^IJo{h2}хW`Jmr)o@-QJ < Ƞ=j_\II'".'W%32 Пz,QfP*AcFd'tj#8XWi Gq|ir3zbؐ8P㌷oxnOFpoPh>*)-W49gClFPG0sp!,JإWη0H3<2$ %" =rg13ѱ~9:Bp㮃Ӛu:L0El,|1?q:]qQ_g>if8!kBHlܑNL /PV)uϯaE`s\6(ʔƔ?PYȄ6&>ʱG 2ܫ(Rf: Վq2baN t)V!N2% {(ZEAtR^|i^N~,5st$R7d5 8Ǒdu61ACnݼ*c-96 1(pW&+"/IwWnPͯvmkͯkXcFTa$U`9=97HEOA g7R4=T$c:Q]X.%cU.= ؇cdج+an{gcs҃'Nqegqo>TRT#08—7a&oZޒOzLoLr"_'E_.wHG %ejXq'x6;8܈2RϱmHLT^mdUDȷ6[cR,dՄ$%>eL*j|ԋ&vD*FMU4T^B),m*[B((\JƪX(/HD AjZh-:Rkr0kÌ P>I ;cG_hQ9mg)08.;o sfR^F9O2&7ɇR%+~LÙT,0b8MduZ<R@ifЇ dvZs#Y*sRh ~{=m4ohz:ldWbu/BJ53[`1 s>@MYK94l\ٕ6|&sìennp~Q11E9?AHg%h7I!O_?R~&MhSgB\re(ȋB!G#2ge;'$Օa P"aFA#}B-'^lKJ,xBy~RҩzֵQX>K@4CxC(Aߪ`,<J!)؊SF0 YdSQ浳`Zw@?09jhJP${, ]̢u!-]s 4W -k~A"_*&<;8[Y |T)o*YtM7Я{zd8&O)4phN:N3iPVH^d"#*c0L2LX*>[kX r#_%=X.qR1:0{?pR@ŏX kK^:`B v^L3" 5:1\ jaъa=İ;z>=IF\RQ<(b(2*fܺ5;\$*,5'+X0&&I\G;F?͢0kHgf=vM[؟X Vu۞6|'K.?G<#AVǜ3fo`]FB\ظzؔ^ H.Cnɋ`"_!̍s Dzz$F]bK%#rm{ʍN B;3|bxVdM>eW?V>Q@r*:T^","ѰLyhH J;?z͏T8(Ds`z=% ((io <|a9? Jy@'[mSTb}*86^EƺDA8d$>IVXձͩ O0SD`.Ջ;a׶W7R{݂",dc*6LBKz/MoPS{8z z_[[%wqt1ފ&Ȧa A=k^X#;b֘pIvw_#j_r6!B1h4t!X*QO0gc/~Ӗ|/Cu>ą1 etc^n FYT`B9_!BVPɡs9!kb?b,*0.8 !vE -DHZN?_xC0}Ҿ S-Ѓ:Tu땜rQK]Yo# _On(K\U&j=Uo铥.IRۜ6Y! RT#s d9;|tOV.k]i߳"zxCRjto2#RջVzJdaLɳP/I.AD1H<*ZtmC ^/aَy".Ԏ|HbDUx'Okc#k9mo A+;hqZ;v@6ŝG9YI9$WlUOhc57| -V|&y^p[R&@F0qr^0Te[)cڞlӟsA?ѫF Ef^!ӫàG3ɉk)\\C@&_ e׊cY1&&W" 40FWxj Cc&I3$3}rG$Js+R ()cvN^ J#x<]ZdIU KF,HwO[$jTK\jrXb*OZlGT-Ei LE<4 >(&uaVnxE2Dq\99rL'D9Y==uVI-:ZfwjZ=d-ZMuu{WI<(u VL5mԨBEa j=JKRt]AC%5=էDGL<PB4ܱCN #dI~`G{o+`(uZQQ@==b% [pr_2K|ܒgi [>{~3I&AR~@TK+imy?Mr00}Ùp!D)8X==9#唤͘.a Ϸ -~`T%rĥL߷C߮Ojpoɩ) !+Mh½gn0d Z n\^2TU6sUMJ;NS:n=T,,"' Ru(%]:OL-t~4*ո0Kj`-^i4Șta- zڔ= wAtMVl&3G4=$z~[ƚ  cA{tpe<ϋ1*c/`m w #/9 AN".8 ['4$}+,͝g=cf>Й([9eX7 agb`(Q \;; 5(Qt al0d 0@;AJ,6 vPS@p PH0uTpD@};?? ?m ߁}>fpx}>(x~? ?( X0oA`y~?hl`6``66``66``66``66``66``66``66``66``66``66``66``66``66``66``66``66``66``66``66``66``66``66``66``66``66``66``66``66``66``66``6v`t="WMg 롚=m FÓ^Á9-c__Ć!8 }24/3>J 4 bC(N bC?DLs-K3V-x︜0ŨieoVo3K3[nKJ31[J3ZƓ -?^>Ob6|l7f?[T=iā9#A&;ٍ/Nʥ^z0#7Ʌ`2Ju7x5k\ҝV8k}qb l;MlPf*1f0f&MD*E呠`@q/԰GgǦ){h:@fux0)ǫg>chzLN _8|>]Ѵ>;@ ,1'UOmqGrA\3p ⶙bLf~3#O J3q?D3&}pݟ.QJ31Dx9l} azu4 )#g`NU(*9ܹE6W(Ab_gأSR@И,5eNHnR[QJ@P4CsxK}$uJz 9h45č1R$s׵FgJ3F'O(]q g&i.Q?J3q^؎ :NC?C? iNCgJ/x8Gh> ?Ôʴ#[/`]O4>EEo܆ST~m 2oe>{[s"q;}W?*W| rٹ[^ Tv8x ꡺ h,苃JuWƝ5_p5:=k9?^M39^ſMppޤgCz'4YQTݘ%F-Qu3XkRPL(7rϖrn1ƅmi3x3(#1մh|/ZZS?⭤y~VN.IO|5o'Xe}W4PAo6+2`&Q,Uls!bb\Fwع6H0)Ĭʪ|9gcҜ,Ӂ=Vb'H#ַHd7qLF+5z g|9o'+R9x&/Pd~"^=mT8 >Iyvn/A"Ո3ŭ`!D.*!KanyDM!>j)j~G CF ?F/|Erg/>C;ïK JELz AgHe9h9^ \?pfsq7R(7O.DjDSpFANx"߉7 JM 2lB=#-n[.? X}şP tB#SzX.~Thasq`V۠3r~M^HC i  3ImBHi} ق#s4{&HO:gVv,HD8=Uy`U3زrpvq3nfN1 p^T#-8x4k@R :4r:i+ ̖ UHL !8n&o 519^T#mG(ط`4A0e2#ϗޣ內`'a($3]MKH"$x |$Bx"l0)?Yʼn5BUL:'?8jI@!F[֑d)8;R>PXرbt SAeNò8W ."YU *#,#_S1uwe&.1ez6cݰkTV SjXr:֟@:3;:~NnX~bt2kqnȪiֈLzr[dseI)8Ǧ(cHSCMXc®*atT0_͝TV% 6X'..s3d_Q "Fb9hpwfw#N(ëE <3Gپ_A(@gMVMHM&Olmޗr]!UɔkmFrǃ~0_?+Qo@~q5~-A!lM XXKZ\AHϸ)[kb2}6@y(dJ? %zzʿ|8*x7q~vD#JṚV'KIh?u4pf@. Y= V`+**58kժ?X&wʋn? S YF%,ݭz-j=xvaw\ghG \Z#1lfOܙA&M.Ј[s6Z:¥&XG}93f{赍-_ +b=ǪNm5311z&$b+ZBn:U rFiZpVاR\Y-7,݈,>'͛r<uPdl+)7|^,tN& \uYӼޱ@9 ȇX.暫 ~|ujR=?xru{aY86pB"rņjRHAYZiBGlb` #ru}R yb)OԸ O] AWJ<>]R6,s_hg}E4Bs^a%e!k#y0gtB{G5]rSO@G lle:EN8zRGO7 văSJί#H=hj7b!L M= \{ZĞV? |K ]84ݢ:uE(]k磬önTɇ< ^}]IN't(6ڐVe$ACkS>0m: [ZL'MU|Bھqnt/y`~]JNla7R44v"LObCr]s'Rs`&zjeFXzXaKDR@3I ~`6r]"0؎{ģӻ?PW"yddhyah`i(^Q Qe> RBqoez]_jGTOSM6WE_zb B&rpۈTufp6x}-.&PGbԏO`4WTgJK {C{bt 1EpBTruBZr'3XD2K+ ǹhu(/}Wen"GPXP]>h'T&@^&+L:7D1m|)fڣr?%Mn (lۧtIh2B)FarDs(AY˕fqy)8. on:CKQwmG15uڼLs)2E#@޷/{ $fC twBHA67i7$I10sU{kN5Z7^i২ZDD">L9ϚԐ[T;s> 0A$554 ^0%-1oDoބb[#n`"jrS@DzUI_PFsOH} ue MK^;륅cNf'wIoɜc4SNճ|j+b{NOA7=1}؜oB}{ͧQ1P}zsן~A5;H+,HZ>%B)-}yGZ-8ק#>z]t?s-&y[{H_ Yxm$cCXNͣO6T#/ OIADݿ?BvLGJ/N~E$2eu UQЕLAHZZ$pOl 9DPgL{?IWtv)~H:BA_"F64D?=QE) n߬RVMEģo82\MPhG>Rü~HJe(e?F=s).Bb3˴܎cB \33\=޳TG\_MEB36ix<*G> dIzU}d_KO?6MgRO,ġd^uK)r&9 @eR5 Qfu傗~7Am [v De:io$O)<iKժzyN,w }x^R6(qԾyn{Q#r?crQ@7-$잃H*^?2FPKoH"QX<"ܴ A%:yFmA2tE.ޒr1x\!04HWs(1  Df!fFQ?=߹|5Vl'kOc418DZ$8a@"!f;1x0#B"i^bT]V8́#'KQR['ptoR.X%Zh À ߼_MSxFޱC<4+h$MR&j;'~oJѬCuwr9Dx75s_ה2#A]Qi$/M֫ |Nk*\n lՒmІl!r9N3Agf2I2`X$?lAN!i%ٕ! |=bdr!$9OMUw۪e|c$֗ckW7~\=S6Hΐ%'o3 zƀj;sCx'w3/7/;OϸwwՉ 3LϐI׿?i\iK[HNb-k2Vf()S_{kwۨ}XOU8`^vaˠ{P6?Oq(KM.-۫){ /²1zkOfTо0sC< \ѹ |>_O 4r P7g<@ r>* )ɅQ}R&8Q́F2!=/ DUuh}JO)*ײx\b5 8dV|Ü#}ژE;v̭QfjV)ߘ:zwnfC>G]&/GASXIIXl:n##emU^H|oIl+ _3qV_WfѤd/=+*o-6/budɭRbu/G*HXc%R(}z~WUP1\&lׯer"(; bi.D闣Z逯R"bE4[Kcd`)h `#=7Hy_(yl'zaH>71z}~Y;>>81ᤑ=o"ZHyP^ )PWqmWk7*-j1RZG!ɷzkZ2iǘgz_OuzFBDWMpqUN'Z"}'/:{OJ~F&~q D>?z2ͣ} }>O>9do'iǥ5T=>_Tg5ћy|=^ KSu5ZCbO寫A~.7Q$Z``]ސl-pdmA{%dtVXҾXxlrq/j ,}aJ*K|\O<"cL.l%p|삇:> B85D…%pK!Dp1#9@Ba1JLtLo\%-E'Sv#?~~Ge UM I3MVP`{tTP!<)? x8*VE[ڳET}+,E א?- S+`oZ ݧ]=(8t| F B&l<+(φGa[ 67Fs\ڳ/0Vgρ2DJW$ t^Ȳ|(./H{M5z`?í #8@' ! W ɑTx,E68YIG,xgG[I*T̰xA( .1ڼ=?Vhy7կPva\Q66s꫘P!1rqfǪW!u`%^W T[nW _ZO/WAI<Չ# -ZZ/A{c w-U&0'|pm:-te%7^]]GoX>|< Mmթ55 ^r':P,ڦk9k~߻f,oZgINHԈEl`bcPYXvCvTџaM |hy׬`c_j/sjHk8O+ά8Y Ղ],V.~$rw;~v8J*caVzI4z>&Ak&P:^U،0 .?g vDoVŝJQ3fN "[NgrRMek̒l(o-"Yak +u\vI 텆@% HUw׫)SHP#޲MY4P0,ƠLMrwn(f k|[ZԪoQUƉؿ_!q:'1`K(=Ox,.W7S oct+V\QM: ͣjKL%T.Ě'eaz{K$W |I5͎j&"fÒ8n]_^1%\c_Xvj:w4<8V)JI_=mB\ĸX̉Ddrf^b9 WNi>*C ym*e*dۗ '+CCIT8CIoVmM}p&[ ,jD5A(LM4a E^`ٛ!/f :PKIg䞗rW+P/ jm1s&,k~&r5/K$~_-"wd~.DO<*ieTHJ!)6&^DנuRYs6+d EBq|9H# LOT(I" #Ro06KeN/hJLF%X %Ú 7g!RUPLC|cUDccLՏd7PTߞa蟮1Z>q>[ Hc6qDv%Fܹң%S@ys|.qiN%iU0@ $}GSdxS8=mBjL%pK!.l9nBD3Tͷɗ6ASN2x`&zi<5S=vC]’m,sE=LDiV_ja|hPIcP 4L}`&XeM',O;Bg2q dNm2_=gщIG&UWgyT]/2AAn|$+&EHJ&>X*]E+JdMgqI%|=#S>hFo$GCMD֝;]P y~[}Z ⁅Uhͻ_r 8۠Rc{'s -ѣpF T̙^y_mcZڄ)zoכgQG-qU>N`'!3u0_D! S׆ E6.5,0Q4WS31S&ysJS?"!ƨFqۤ!*^!7N7BL rٗ{3e+^믥\R%p6YRǝ=G[7 !^+ [ r~FL 1]ȯ?*P+Pff(%NW(ҜȨެ)TRi] {'>ǃ5P&2~௄g(.98+7 )ও|#'۶D:RxP'd^!lH>#PO%(*i|% Ovuh= T)xYK?wBuESmyiCk%t1}.A|vH=%mLc5{bюȊdg8K@{m$!]yd.IJ "h)%7v!g$ąIGG_l<픆Ϣ8"2.hpLh{03؏AX+Vwϱa$XWI%`ɇ)bd{VPP {N\4_eUEHi-aNZBD韂O&lT{T7$lY`' 1=ܮ,_nO֙(H'ZǥСeHXA2Zӧ"Q@CARE;8=pn9PK.w>혗)8b#~9` /8*qWl( ' ;|Jȷ׻MjMjÝzw?tTgp_Z,AI1DW&oȾNh_Ɖ}IJRw^ḳTXtޫCY%$yy jZ'TUUݣCC:(i_e1KFf qANn4"qq7KU&UY(M;vJ8r;տaWدʿV,@Ilj9=PԯPW"콯5^ $Y06?VP;ENH OY&3U6F/r?m%/%86>/vp¤8] n\P-[8J`ڟ^T@Ҿ?Fp ƴ}:Mea6I>Nd2iߌ[PثG!Փ,Dt5`?(e=GҰYy9N= y9wq7|ʡ--+5$N#VEu-~S:t/p \ %:&蠗nx,OXX4̢/$cP +-BrYa,Qp Lv n0i;OO\cV x;O7sBӿ8D|ȾdT*K j&;``w?+qQ1ˏ!la{Z?gM~TV~B&b=`H}URnPӆ!!=ȶcd>"|mcRJX{rU8ٓ (oDO.lHt5)z}i4ĂW%кZk[=Q[ G ֪HDdeЦ2鿙x;;i 5jWB[c(;V$f/Ȼʎ42Q~s~3ZA _3Hxs-'ԧ~ڇU2g .G1eRR?F?`m3* #[cngSڊmO%p PУ&N?>GuMkYM?|5Z*I~eS_; 1B<nbWk\yyNfwt=?C51)qy/Sn@<7duZpw?EәUs1TB<|văoTba94õn6F5;j; _&6PIivtz~{;L蝐X[}>T1-TPs?d8R" ٦T:2Wm't<ۖ@]mݱ*"dY hKMhBcf-ljY:\=t <+ԓmC`ͳ.uJ 7m1hZ>72G=5NC`AD4?+)4NS1'MᮦS{ON[ RܯF`EBJ}K:PNS!:pZ{'VU, {1l*i:bZ MHQ}*m'7ߋUBl4 WE+J_ߗR  >!wX}'&sԸH6>BjBDjE-.fs誹Bk@Ev%OȹQ,YSIbۼVJX`:xk[ǕeεcXM@P\7N$ԽaBa*e;xh3]*~z-⹱䮯FiPMTk PвK`P~iL`^nM :=^JUű&( җ'8yW):[VK#uf Ǥ@Xp<7R$>fy]DU u ?YIr]{r7M{({ǪZRI6I͑RBJ⹇ʁ*gf+'vqb,M$:<(l.kTb⬭Ur`' 3 gHE$[b0`&ibbR #1I.y{AC0J T9XWukL'nj Yy˷ڽuۼdl㨺׶}KꙄXT"%)}@Z|HX. 3E%Tn7pTRŏCby0{EOˍxá,Y[j8:{ 5OLձm@QɊ<4ɜ1D JcPɸć+C=<\ C6JDcvȓ3m!}r=R c=TZA5pk.V]$*-X,p91{N{hfKLm1ge#hE[PblNԭuOw+! 2b+@mDbGص3&)m:u_V1e(ɯ'%h_ S)Y j_Nzg= b7!G(h[QGvlj{(ä́'+ Ab=mȜ79˸'KB32qU}#_gipe؃_w$;a4a XBk Do3E-x(@7ؽ˃EHJ`dE>#>AR<7 NDٸ#K%NM",:s$VPP-7UzYiHo%y&^ns-8lu'l&Υqv--mw:ɫvrhU`F5NLD<4oB`llMFo~nop_aq::ਔ9X 8$ܜ FK8kTsE&@f|{uWWl,h R@l~_/zXD1OF:lDĎNdak!_)'Ja ѕ*]R(sPfnGSqyOE0uzpB%VB8*`FS D}iP$]3S}5W_5NeP$S֥n=3q_C>tjk1g*ߨ[V%Qt2ױDo&l-r>#t3w`&N*18ZRSDΛ}jJ9<IJeԼ&VTX l;ٯmxl@Gȫw#d\æ7ٸOS 3v>Dg[:P)3צ!\u(']'g%ՏNKzg9G[/yoN˫ ^P)CgKPp9]eyom:4[)aD(#m_M-mfYG3G:Gi&KIVSեsNk-([4$$HCx8ݦ7oϵ]T$c@hU\h뤑@P TH:duH,@^b` vI uGGxSPd==vzفh*>gvb-e‚k6pEmEʣLVСr[аgt-d-ū29pϗ%Uv n2.k`CR4bW+w7"u=F~MMfI@q]-{_{vp"ʠwSt:*8:*@?³ A[I3왪VbQrxA;jdGgQd 6kqcSu58T]_!)D&J=5+oP9%n: 2d*/ʬVj3jK *h_2 U пCP>#bO`j|l@"ȲJ;w x<7Z7Jzvt᜶H!3?z%m="l{$$W9^=btW;I浵f` y!ga.vJZ_aGM'yl2程V3?HlE}>-fT浩V؃2_PM֎icc"g!5_r/u!bVa(~F*dӑX~:ev_u|/,lrMJ|{,L_~k'QK54QS"6Ub86!)% \?T-Cg $9:+b"t,^;Uf0aQI,aN~ʪcU 陰h}d9@f"]3.,d$oD෋8-ޡ-ItfϿ2f+8*,[rVdqB`Az۬^tӯI cy'u_1< )M6%-LcYvWVΙdLt:/b2ߎᅧhTU"JB9$ɭHWRi4UE}XHҔ*a˓^ɶUG~dnG7ZA?U_~3VR ;O Z#2'C_ QM"eA {bhMM0t;<_2gUkx{*iݯ E饜Q.xQnJ4ө;a-KTe9$biUo|IP@~.q^D@dSG%^>c[$>x#:J'`uQb ."B , 0TCnђ{/j_2 =f$KEvMXVu:Q%7wYŠ~ oq!/ּׇKs^݊{w2zޱ)C"Wy)ad=6Xfzط$&sU$l[?K/9Ti wyK7w8]y$$in ;!b&y2j$/+~gTv3Wx ?mz] 0LZ˨ǯ_2W!Y( ԫlsTmWUYY4MzV>RbADD9Q,@Z?ֺS9>5OsrKdGIKB80dUCpYGüwU8G -`r\mϞ0_(&{}J} 1Uĕ|!'٥쐸 o11?0vT##P }!2"3%qb6?'D Ӡ,v_V0Z8Ah:'Q׺b:U?3o~Ui6z/#HlLzDWkƢ69"?1tɁ'>ԟoQr H]y> @818.6qJ ȳv\\+?儧Oc #D7@`mRŚ I18 ǂ9YwS|#runv泙i}옚I'(6[c,irr,!D͉WsdÎ0avtPU20_?Yl?;+Q/N>+s8uL TP[ R/o"%·U32)|%G|kQ,nw75Of\!]H4^%;LXk9%$fY9;gU .rX_EN,*>OJ`20d:VdVlAi+D"=[|u=@XƭrzS6n)K^pj#LMg.v`w3skrd;efQzA\d}vh<Ȍ1skt  O9FmM;2F,~ˍG`4G n/7AkG̣9du|&R cSX8wG t/ѯ͞p/fLRХϏCYs&A@}\qɵL|ےu2y 玀0q\QΤH2y ;\NY{]5eY4[_]Z_#;hn"EOa%zBu/8Z_yUK"NP#a1ܶz΁t. ޳S ٰ^¯qVRkg $_\gߕu8V2AtY@}jweL9-Kz.$B]TnɚP~ٺD<P! ufM`s8\9dyӴ<{Ցj +>Դdjk_!>wDΝ{?,V@edTIGv/i ªiLRPd8۟n^uez#,6ej6:JgVwj5,MSSq{"PR c.ZL|TpB"87&6?.oZށg_W-0{aֵXXPGzyѷTWD;Cn_5Ⱦv`i^Ϥuu 2EaCu-nK0rbsƫFF=f~uV@4f#z  \rE;_]pMTD7ͥL4`vNlC3fIJ\]™nR=;W*SLIP_ 4lo E'Dufј.* J YfR.2$ފP6,z8 !_RIL'j%hVĤM~W1[OıhUHvW@$2ʿ9]JY3;QXMY_;UW/3 tb@>I,uiɝ3~!VnK'6:sy)2qζaˬx_?^{v؜(& ӫ҈TMK\]Wt5Dh#qT |A0)qKo*hYJ3~XH[vͻ_8=R45MX^|F@eNJ'u~T୚|x*:jE/G8,GW+y?~rEϴ% duǤ2hb)쯣~`-04f&#$+ԋ1}J|~#1X^~ - S͂$r=B#&W,Gd)c'BKFoPaJeWYH Y&!'T468=J.,7d>~Hp(޴xn6kkOFREr-8+C5&?g-?TAv9PW*&=V\O;-Hu|UtF(r|S P`֫FѾu;ԁn LE1;@TY0'ps{JD!JUżZp"^|)[]+(fjV)xZgb"wJh<]{U.#tު. OumY+elAۧU8NjKmcL'gMYԘ?Q gjg %1yu(ϿE/ nS](&2yv@C \TN8ϿM3SgSO c#2Av y>ly: .;ĥY67(eQ8s(BIBt=vgpqq~}@ 6@v7p dZv6H߁NwrDX*X3Pδ=y8/d߃PD4g 6 !6ˍ=&VD8~#yЅsS9!y3p=r$ ڄJ  7g?v2~`,QW]!c{`FޑZwM߃ν%F ~ӜMf_d*?0O UA?v)ȱ( "ZR0ÊuW4e HD9a~%h2~.X LNܕK_*v1%"`CeCw]LεӮ~c|NQCQeS|T#zke{AQoeUn$x(:9G(%p{e򖮣)B,:f"YYg?K]Nʷ[X90 *Mf[Y3rRr[bGe,ΗMq;pT57kt~s:cO_n/jG,H` cb$™.2yۙrlT?kr$mw)"`h!kFG>]{fP.~`4uYa602TZ~O0 GhGmSyV}.cخܹX['1IZ6DK!ʘ]j]ʇapn=q,&sWӤY͞:0U5#`Ȥ-7yp%y݂׀KPT}75 AfS]:ۑFrzIM4XQ1xv(P؁%&S.~_| ʹ" qgNvo {FEC ,Gߓ`​N; ˢOyx4lp灒@{iLB.5%VmYһP:_+34bT\&GzؾR~QQmWRzK29be+_]T0ۧYqTRm ;KE"z10ۭnK,+QHmoh7p,iJc,>SX"XMA 䊤c#t ȈJrQXCx۰ f?,QMc1s0>NxϘ6WM^? X LC!oG:h}O%u:>1DvC<@҄.G xEuus,T(W;[OBfgȌF2؅bh!biÍl.Q3BP :9RwIV5:=S~{ &"0W%j JE&Ѿ/2~iƳsڍ Gz>zO83{ e3ڶg)/)/տâ|XUA*?cx ]iM'RtQ%/UL0`8y>*i6IX,W .Ҋ8Bܢy8#Y^&j6hMS^[!$F^k0 jQB3J,b_BŨTO&2C_#/f eK^Z޶|)=Naػ*&TQuQ mM1Rȥsͭ3?[@.jP FQTPc272ț?)Q{+Gt\%FJTLolr[HaT NQ*K1g@@86TVhB "B9WD!CyhGp.Tv}X%}.q F6,9g"I\ؠaJ,Ȋ [Xj=FăFi3ہ7V?)3? re [_Q.4Jx@h=fq?Cq!X5$X;)(E {WE4_~"zIcIܵߙ&FIKMיBUܱq:4YoZD;R6\-L4gV՜~sa9naFxy?)K7ys3MuG>ςRoF3LuK~&vN6q,`C {P1TPzJ;uhۅyCǒmUCgRk\k"i-޿Xu_sjS=:PX9Rtv#qA|DzsOJZ+?\VMr^ :w@0ՙԨT>=6m[D)Eto.'ei3M*}͈A̔qJ[Fb|EDZ6+r0FR|*HUP|]F?3**w)Z q tFikx,sv ߼tq<+Se@N`vH+B +lVN6> <ַ8Ώc,4@*}=Y| q)'hʿ(xlK.OuښC }|ކ6Uxst@0gi=>|P', ~'6dq>ro_g2xx1zh8Ψ`kڬ  <; bL[u\ ;Jy@"iF ]CΡZy+PNZqιҍ7 *'8 ZT{1|i0U\ 鮕DRxY 1FQnR7 h]S(LFS(#'{t! 1"9#('⧁&.ٺ5Gր_Qɴ}tu!EM}(?@0<|vԦ pwwDɖQAZq_QIu짭iq d׭Zهς̦?q#=foPEOuqԅbr kd޴?0nw :$"MibD&O~BI=}5-NtWX Cr^b0nMP/]@s$7sZv5O$ Ⱥ8䇌ijZb =X_,y;-S#JA;<)\ԱA63UQ#a\gw-DRpT9 P~d>[:b& {a*ń8p"\Z 1Uq!ŸVqDFmyـ/Nϐ {ȐV+ݍg,mdWS` |P"ut2v$KlŭDnRƣ ^2|<b"*5τ>9SE qDzXc3H)V%o(ς@Lg}1GgX9mnDPsA.82h1# [e'K1 ;׻ƭ@@W`E1@-9ysFo+/()9M<]k+4Ot6ipM)/9r4n c~5n%\K`}Lٮl؟Ju2G))q 㰝AE&9u'[e\y Y[n{E1(`戀kh%1>.uFB#A WT%n&xNkKC3LOJ:5iM(rz );i_[Ee2֨[HU[pj='H./ƿ8|0wRm& M_B{youXn^5ݍ[4DlL$q(|*=RS *Ȉ0rêC=c66eTy @G{uT\b|3O /C pk`7{nkJz)ĶI#*6$.n1\UƬJ|h_<קl9qJ9qW^g#3^, sM)CUϨX&JqK}?4@ŮSk=bor F_Vms4{%Nb"{ =w(/QLHaD MD2ߒ>S-_51=6(_F{'pj~j9,KBc) JVwL=7,5VxRL<  KI-@YѲd˼n<[T,Pz@ oݏj=] ,A)UEGoo5ɇ%&+%e x4;Xbӕñ=dJĀ&uR,#Co\;Ega_:-EIc7 GyK᜴ w` =Z R# 0Thh@/m0[9G\wHͥAwm!53̤m+bDϦB\KJMJqpP$0uC"pΏV2ZKE2`l&R`XvD۰g(qn%BY4h}%+^baE{Bf#r`IE>7mϮmY"6K'&| _EݷDKu-S/]ɖ&yw3d*_cO1'ח8,'QUHi܃ Q9} |LAE҂GJ+7wXEdn;ee5o2'`^NI`ccNSǒ]!`^A%ڪIꩨY-9&= ^hc +ZHm>pNH,p1zN.(|b!60)MFu3{kg]6~EJkn~wp0(>'x=˒9*fK ,KҺ&D|;\xXa"ͥyu06\Xy*G[=/d'hZ-vY&gJEVmJO\%*Y:<&^Z &M:`k7Za q% ;<ѼPBąxN 2bBdH|L?e*-nfwʔUڀLfvᴵQ%7"odOdcatT$75}W%Qզ-W+E8rdʛ j 7?i*p=( r[(b0)YX2cT9]%|K{?YE{ hC*},9иL%AJCA'h5%]=13:^j(Z-[IeaJp}XΡJ^B`BbB@Y&x(?V^a?"xV\܁ے &[ۍ&b[>[׉ia"C%R0"Բb68 U4|mjsڱˡVClvi̅6,|ѮWǬNkL H1TżX$ۭnDq_Zju@^ O\$;G݉Bhx0r-ɐf& ~v81o{h[4SVƏm>z_hp٭1,SpCT]<qtl61?>"jfeIO꿿Qk|$VP{1p6ǽ֟U B}l;үOقnb x*YVST,z"rM%oq XRKE3t1d]}vu0$sKIAwYW"!nQ;[yAd[ШNJr5kg@ǯ=F{2Llw;iJ a4CV)'Q1߰&(WkF'.q]u> NUT ܍D3UbCwgst9EqHμ l#ѐ7|/gj-P FSCdc ٝ8} 4cdhMKݩ"3"p d҈lr򯽁H>Tw-P!g ;g 5zKL;w08m;_:gXuD,$_j o%& ̳]o|Co>V I~X78O?SƇM-Ʈ) DLjUuThB_nuH}vK K+fw = AQ03!DǐZ Ž1/m! ;흣-VlF%eE ܷS_2KP;h:L=qK} 6ac3&O(#?ٮܨ:e_Q/ ե*ڏs1(EC FK\8(|w|;=rez9p?o#5,T"c٠/NAEbNb _ciF_XA|(5*ͩ/:[hu%*UHDBEL8U.0Lͅ\JnkJ%9}2qF91/4ʍ1w'Q r{+d܊8T'i׉-ᤐ{+8j5^*#5) ų'\r~cJz;Uno1p)b,A_*8Asf׮aJC=]+~..mW2I AW |_Z`N,_%mM؋ =Tg-;6yhh]($zS=߁g< Kx-mIk%$k)+Ҭ оw9FAP8tfD\?o{BZc*OYyc1z$(ݙ=md+,YɲL [@Tlqw*B[XQ*W&dnKcקՅ;iXQH) Yn43;,9#V5&G$iAz_s%]#6aeųO}FIxh4VbVJ& nXj3"~L1ADVaDE#A W/NJ*L6YH湮;Ek`ImaMa,Q|`;>> h":d,e-W=/#Lw`ӬhΓ-^ɜ]j#tCs0PzvWugפֶS`ܧo{hWbM٭}_sOȇ{QT@U{:jSJAEXݦщ6 qC/N*ЉY %6ln MmFov:pqΰZ%r^B;5Y(ꯚ (r.gf$:Lg敆̂4Dee5 k!íyhkfn8R 0ߎV`t1]@WE`"pY1N,ח&6uvff6RtW(P/UdS5zАjtze c$Ñ,6t ewFh꒔"glgNz-W" mh|9!t4Ln"zЇEAZ^;O0C42,`ԃvHNv9G%b)(cohз)X5Umjia> \Iq%V#P tϰ|{,1ѹWٔM?|US+97ey r1-KX.oѢH*v [ʴ'|IJST{7Lni Gv٪@G+s "iLvi$^_xd1pz7Q,3p:X%rWG|mBN]/!Z ,ÕK͋&& O:\+AUs"vK&ҕWogU5I( ]"a4ձm㿸ȧq>w[7U\Y-~LuXӾ|&[(=jBn8t- ">>8^_p(yM7Dsdkq tFsUj1A5 םyX]]-/-bн8 %;{Ү^QbOI6x\s  oXdNp:j>< mNɲ8~+ nŽ,_cjG=Bs[Wɜt^kdP޷sL+8|Su Ĕ)/(6cih~ÅnmM ikbұ 9wi1Pza)ۘΰ8#KC;LkSYa})?`CdjEB[5 {V9˱b#umBe2"i 3,F_٘*~sYVͤUޭG``>Χ Ѕݷ~jqZbXDqM?ʠ)YVpM _WP6x R&1fp_J?-Lt KQpn#rvC5J Xr!1«QF;( .™7+)B,]rшK11lWA^{@|ͱ|]R7EӼ^CX͟>Cm{eM2W_級a_)V] W@x}K vUisS"̖[ED}c1mS^- Ь:2r^2חӥqwu(y>du{quK n& If'6x}3p? ԩ=9a[U -&l*E/]tNi=/iO[}{GI4"&⩓bJ؏u~@0c.RC[Im6Ԩڄ Nnͧ8}kTmlf']&_RN*TPgb:Qi&ЋkҀ]W Q԰pV:qЃdS}v;c4C86!n#RoOx,6^#h,vA,y-GӀ$?c8~=_JZ:sZ z3K p ۈ7 hA/e5htí''O?P(֜CxU&_ ;AJ㳭OR"xTSKmu'-f_"JBoiሌx%EK%muۚV΃lsָ<AM6isS.ERlW $4tȱLE0]^WHCCtۛ+U; ⹥9 zX&tn+m5Qv$ ڽe@` Y΅\L>>g;Ogoͳ2{Ij#g/|$'p:7V+r'(ôB`Ɩ8* %lYt|A.t>Λ%i#N?GFɪ~%lGC5R[FMB7syg!H޷CxWn)xf;=(e2<%|S(R]WK% &\g^*x_0FNri4;W.qO;Ldjpkɂ"0dJ>E,@$Qc/O\a"[׳!<4TS7wqh&ޏ{anU bѸ³2327 _G{q"z9KCݿ+LDq'q0$hkr2%Mn(Jy|G9 zV|wcLۘ׿~C9y\Bmc~HVoxAЕ0f6^* ;/s+&j_P Xʼn]"Bo اs&R}:gث;n(J|q9SNΦ+:[9hN o0h$ұMc1kxO0{)T]"]p&\W ˥brrбE6l9pQdRBEK(Qn'@_+!'s?+HnJ 1.5ƥF+3S*8ye ɺiJ72ʋ-סzqBOJ 0]"Z eWPIvYEtX/@m'+5a=nULË|Är80{^fcQ?s Fnڃ2NR=3C:gQZ2HcL 3d2aW+F&K;C\Tq_<~~9_uoӁTE?|'\KCʌ/@*]KȂhfZ0>(Jijv 88%Y}0.6.% I=wIycd.tmHچGٟh.gSRRTgTh< KFD\9CG;p:/ PiԨH,/:{ nK{"7&_ꢀM9n;+'rx"uήu(pkјt|TЇ~CF[oxCCxPoˌ'pTTsuƝQGr뉉D|uTd+W1{̼Vw,2(`]p1&2%__= پ 3-c&W3A}wWһ[WEQ~/*U 4T|TQ tEt/W:N^B."u-ϙA@ʥͩE!Gis*?yLaq|y¹CgSqegs@B+cr,ҡ* ATLg%1|w۝|xzsqBAZ"]x)~9t6 nܖbwcBހd߱NP(7sm\ٔ&p R)Fty[X8)DrG˫NљEY}ԱTIpש8+PFlE䔄6z( rGgӍȇ$pXTR?%͇MU2!nRVޢ6Qtı+}^]BX!}䈐9gy5JCFtռVY> Qk)5 5r,1X+*Kp,gghd^ H>`j?:f\uVceRiXW8ؼ1Lrrӣm w S^G)YN=sGޖ0lAЪ.T4&wi;p&NPHB4Lou\ǣe&~ lS;Qc D蕟fYSt4U3(A;'p,)kmp wwψmcc]~®Tpk/MTaw;8~ ևFA)_-V^8k0|CE[syɟN$sVŋ[˥+/r:SJy_ ,&dx*-?$>w p9-g^x*Z6WOvEƲdtϦML_%}hµ'*\A+ټﺵoA/\9 "&~V sDxM <@%6J{'lMZED8st(gQy ۛil] 6-6K3fMtX#n-= XOԗ~ς: ZFw-u Z//tN(ǚyF(E}VDnEPQZ ͥ!iL:^٧i_pT' 4d;z2ɸiKi:Ri`:VebC CThĶͅp3Cp%peeuR Hxx| 7pR* x~UҐ*\ۣFX$HmAgZ>_%jS>(p](PAuT3‡8,s uL$Cj?Imx# äL.+P '}Bᕵ9E #-7aML-9$Ba^Za*.*[$AtR0=1 vOZԤR6;E*Xfjh?!>5JИ6u['`2z]d}SZ\e?8x{NQ"9{fCz~[i(bwҝLN\x# # *118qNRaQ*ߑN]2|LJƹC{+S;mn=to|*PL{x飦=zQmLAܒlAycZ7tn44&V@1U=g^ vcώSQDw#c1&۹!OLg0@(ˮ I4 <8Vidz?FQ}] "peat ϲ*gny`2!u+gushpocqWA@s*Gi@f\M\Y. D9#uQEE9"DS~ Cea=I$~'9A1skC_Z47P݂}CzR#$H хWNR\? G#9t_byUL_`)3zUV?t]8^ #x6ό@r]h{%YEJ{.mE j(𼉙N&I1t X1Fs\芾M!7DDžj\#:]Z|[F̝K㒆[3@TAq&L@d"lQ'y3؝\?qo%쨥{!i^md'uPlȥRll finP"K&[瀛3@;͆*ĭ~(ߓ۾r=3ƻ"= ܠm3uϙlJDEk +;K yAr 9m3geb8?ذ+^ PW̌<< :Ls~9#!`x°ˮa9՚6!, |Q!jfŭ5(o߁Otbb6;"#.' 1mw'{U,/%ݼrgT-C7~fvӒ-łqPźK)á+z9y糩"'Y[nND dԟUE}FFE-?c\kc!~3?'5CBpVx5讓I"T0.3, vZ:rq7qe?2{g: ՝%(\H^̻E""Ud+,$ gN}}[W󍂆pi4cn%X|3W"`Q`{c6DboQSefU@:|Vݙ52xFlը^[g aJ&+亄P3 .oЊ)aGC;:u< .0E h۔Jk-V~KT CtK1?25ЊgZDZT֍XR^(&rK1_^բl7.h\tq^^ O-"(7?Pok\'Yg YLX㽈@@,}Z֪s,Tt5~sE RRSy QSC:[BBU5|ʱTxrlbK8¡V)Z~{=̬Q`/:QJ( ?;Q'R a)WT6."~H.bJg$u+:wK Z8Hn*ڣntMml~L3Q,[ 1 #({)+bK7#X˄B4h2k:^n|!t=w+{J Qa!,dK?%*p^TOQd,XW.y&׆mX>Ýc92C.b9çznpH7ݷpc=w\WCX0e\]02SXk7û*Pk1_zTߍM n'f wXy Y~lȡ;׺vK/PaQ_s^h;hI??%30Y"VoyHk|1@]',XcQ_3޹fNŲ*"Yoijn{{%đ\8R3+?GdA1K,(ǽ 4߷j'mBֈf6m^J#7.}"Kz(dξګGp(|zU%p4mp&/r cQ1hl(&1ƨG I͘%8́e G6Kf+߱ o2>{)"%$*D F^c^C Ui`~Ig@ob/Ev7~_)C+M b&g{P1w w\OPƉJfcb:J_FHU ɧGN yј%fmf=W^Ƹf`n H jGu.!ـI`t|H]ZrGގ$k"t{%"%772[R_Q?ؿdyNٗb"W>0w% 2 (Y;5IKE.C3X>,xfB+uwaۥ^_{2 [Ka=pWr)[[G81SGOrBF`c4r,Gnp pݏr87 "#DDkwUP˒ܬ5 [IE2S Q̄N3 ')h\& ص TLbucjޱ3x IDqʩV0B#)/ Y2.*"פuR$@ G o6ܔaK}y.R[qm# :1yqg+5B!̴.3|K=cDn gWx? >-;C_De:LUKK^J%}l*=:L #^qܘ> h 6aHfO b8Wf["_[/#a?I/ڂv@ !O}TW;T^k!UF޳\{ ,o>,,J\YrcRR8Y(a\z ,TY\1w {1xݕ ' =D#Jh5C rnGOMdlR2LvoK~V(RhɁO*6S_0mְuOgv'}߷'< O^fhEMGO)[~'pVbg+\:m7P;FHO){ӣz'>:a`W=Ts4U?JDf^Sc^dB2)FjctnLr.PnaIf,/)/@u*H38R(R.0*zc*aęaPUL?QI4z Bsa`45-KtK5ÕLvKit_a{a,"c,i[%ZRPNgTg>zAJejd) l#k}dɠ&8;0ڙf9V$ <5H*?IeA) W6XJdk[O1Ѡ^k^8,T=(zҟRL"y) l_W' KtSl:7| W"dG Fo"6 LNRInV.*N\{h6 n36U6WςAT{alZRV"1=_uWl >Vc)+Fi,>9YO2t"UӪx6usIRqm"la*Ӯu3T 0JjJ:kG.߶VW,i-]2DޛgdiG4$jD,#øUs j\g:I%%B.ibǭ:6֯wa=9Ivĝ9ڻKYzEBA4aNEtnw$`6_,N,)95=.K@p7˥U ! Cag ޵'+3mC ?ѥ[J(xW ֖^4,qqoj,_*pM<<|x\^BMi)«g3~Sp(Y{&/Ņc,׌ 4G &3E}''uJ4)آ^J7ײ.XdYͥ-n*fc+3$}nbQyx '¨s9녟ԕQJҐ9iН/s [xy앤_ȴ>ws+F0MGѱDz(E(HD>@j' Z8U3)Ϻo`O 9c]:ϝ0 Ңu*-|G &M>zIQZ1%9ЙSڟ֧:)UEI$q_ ,&\x5VnG&dЮ :P˼>Վv[_.-<2IuM&;Zd*j)mGe.NrF)mDdkrE~َ(bYя+:; )SwDAd.nZأnü{ ez¶(7nk?FѬ5|mR#qHZ>t}s^>߬Ļz#H΄esł'zW`XOEpz=v]Swc.)=IC#:є Nj1濻 +.6ZxHdAU|xz{ܦYq:mzR$y/ YasEUhS/t_բ\TQ0aRR-2ScDZ1oz?JuEkLuWQHҲsoWN vzFf-6?Ǟx4"z3}3&I&\?ʸUK $ԅAX+;y^ 8W2.8+Wi;*-IVT9&7)Ƒ#? rdJXU5Fg2u8*bv]|o}IS[_q+WUA|Pcn*ٻwBD-t售+w!; VUB4p{IzrZگ/b $&*2@%W9<_lpo2y$7 :PZ?` H1V65 *ecڱIw/2 [+WK!~ց% 6uCT+Ytv95688;ý79uF(ġ;\ EAmEjw\Ivz/JId~4EA*?~'?5 QnNLFkKtJj-إ+xbB}`BvV c4d~R2!meU 9iF `RG9G˥&P.vk"-zGi"\\x8݌- t@!t8}bp2~۩MI;GxMס,rae5J: 7P0Ad Ɓ\X3x_4p'}#%e\cII=EX iqV $ޜK2H#%o5mdT,Pҍ!,i xL#b-zc=H>;ٷ`(٢ &:5V|]һAaI'H0~12-{-f KÍ )+NbAaLl2C9A^_Ggy xVe8g&\@]T3Q%hΐ6 g Ya8)g B a䘖<0^ jda0.HP@ۣt%%59nAn KH٪ȃb2q5%tvi :톕\up>~&4k}Z*<LÃ2t\WA) Ӿ'~gldeM_+66|]KK|8wP`]#3WH`U/ogwB1$RN'g3{0xt?S -z]T 7zҚ(J g0jx 4J{kˆL)gMNaKR~"y8`OkLFq/yоU-Ij KsC# 916|aVzx(\위ֳ>Ӕ etkeDb9Q`hd(\3'aj$Ŏ @ȼygD;AFuawc@ + f[gѝ*BكP/+r3P $:'mf mAw1/dڹAQMs\̬-0,2K+T&_zy񑞗ƈ:9.s+kIڊ@ 4׹0èаˠ|cIz%Q7Q)ffX ,hKؖTE2Qf8%8Jf4IC 0+\g2hD+n3{/r %-h. >ug\d-psII>X)%QkuTZ$}D {EpWDxӤBb:c~`dDLG9rkis̞Xgd Jl*=GZPWx%;:08Bp'])?8ƾ-X q#Tcx`:mK@8U"+ΒS TC>C߼@'I}Pp/2;<7uQ<yU8GSnT "0Gĭxok.v>*{tf2>~'qxoIf 2~ZQ=!>M.8=&7(3Xɡ?P]Ky\ kٛP/:L$e)t{@6'p')U]Q{ЧԄoR⁧=TR|_Z8WCxacGozHl[6;)KPE:$5JSՕر\Υnh_¼E7Hv8ce Ѣ@P3b"ޢ=*A`>l1LhCvմj/p|BbT_aq@(B."nJoV2⎉ de)4z(GHgq>\{;qBsVͭZ*mM߶$qSOV+9]*R哗6 14l+m[7VԡbQ@<b9ZOҩ~Җ\.fp Ol l$o4{M$m]>&'cv؅9mDN8py^[B&zl`Q!h0m+QjҪT>ji\wg,r|I||ہ9?X8S֌WWئ8OE@Im1o јW{>͹+7miA΃R?TxzBj*m sK[2ӚQMŤcK0&Vkp.QP!2Dlكn%<=[{`ͭxS9mKۓ_C6Ct--}{AŘV]̼y ;oR>,Ҏ96CcP]sFC+{OU DI o GR^BTЊޮb'›PD VYOHʸLƦkmc9C3D11@#uԩY<2q#i(^zd:|eK mƎD=;iH(k;.3fҴ#wnrnfvRVf+Ӳr5)Qʱ0 (y*դ&mxQh<1v5CF[,d=L o+: 1K?յG~Ϊ0ZUKN֢ޯաUlDXjD1ER_5J9 `vU#O ՜J&wC?{5\CEVO%~6g >J#[Sә*ZC\6='.?J +co8y̏|HH񴞸YLZ@D䟒Bߙ"yj_ʋ) P~Bنs3gcb:֤(!c詜PޘaBA3/Nv+~zȣ,. y~4W<`R˜>7EجgdPS}ww7WsP-jkk?̙HWm;H&qku AD}͙SQƔ5dvjfābn%jagD-:[~P1q(y n#zI5#Covx`E0?j7=A UY= gV;{KُQ8Jh #ߛ^5M,a7(Zgω%čMrλd8N(GF|[yv3/!S80uj,VQ ]W^n75JI$6 wI%_jE.h)ǎEu@YX faĕF&eo][O3e"8)5"]7u S|fv*J)iDxpl#QްBn-pc1ۆ :!(Რy+^^w `I?5ґLO&& b}d'/,p*Ne3yL"_KAտ)Z=Rar/7IdZ/]Ň^XS!"ϣ!t M(Wƨ0R_16j0&w$|swD^..!U:9@pH۝ψ8{H?8|🁵 j#/$sD3NAv0Oh0L t:apSAWNX:谵JvGI$W̡Q:x,hNf֏C_<"Ho؛4)_OnIo6] -8D ]{..ך dA|j+⾸G~kE XZs7Nu5O(n 㤕ڸ]oh.䧚?8eiB/*xt^1.o:(Ș8D`د>IK|J㗵l/ЩfB^0-X u4Y:U`˸RB K{^ۑ]죸bObh[J9t:7y :I%@G.eV:.)՟.sT%䢮"?{n m!rȂI' P^Y8yè9aa^5o 2/ʐ'kK϶ȵ p=,*CJhT(^$ 'ϟDg)]/Lt}}dnE9``?Ql TXv00UaM~eŵٶx[n\mUEa>FnP@q#rUAOe#epv͇&ޕuCyN;TPS\%sqXZE$y߯/7^]EhzSd~m G?CZ2,/p3.P].fc@Sȇ_|Lb#l Ѧqz6-}Gq(Qwիy#۟6t,Մ2o'#dFPGne勡{uEc*I #5>Z;aNI#G`15;; Evq$h JúU#`BF(ۢP^ W ɗ 'sm3wQc=BȀ TpL(͘~uF^005lb2TK׳0q.pC*k}Pu~/8! H [MgT^~O1 0!:N>6ľ)۪<̝[P*g-ƙD:u.2m(5#y?!Ɖ+T3KJ\?0,ˆo%}en]w&e`1Yռ6,:Kﯔ|aQBlSeIa0thYJ mPR'0V|kJ{&S򕂜6w0*^݌}bQV&+O.a:$X&U_/b *pc}C0v A3c" AiI&w֧7L; ?Hkf|@ %D-viVG$l2砭lXUqo &,M8Kg/>{S0"Į3ԏ+ |W脐 `xjLv% 7g" a mr*LN8'8˹m_ I"c,vl 0Z6vBn(#m}hlq%u eA|ȷl\'  4VX?mX 0cMd`O\KV3]9DmqS4zMwO3IIi%:W'( i'96O4dPw Cp$"bQ?AK>Kx4њ:\5:> iEbMTpqwYR%<.&/A %Esl [V^^A>vT f 㼢Sl%>܈^ p[/杳]I !iy|O:)t)۟ꟀWsֈOG1" 'w yuP$=FHd|{MhD7Jj|ԛ]m3pB{T*.,F.E@'+d7S;ZQ)47tOЊ صt/HOq.-)^b(KwZ)= J UYn"mcTb~\۲\s1]ir'Z%xi{TCf*6JֆDnZ&-˕CеkO"@`"-,R9[li8Gθn3'-KU ]3wjTnRUJr<ϳꚿLp'/VF!DQ9!֤+80x;?:nvʮ.73"\ }od$9'dw2YU@ؤ$m-`%5v$Զ uDC ˂4:Pܶ{t9MpE-M4 Sy;FFS=[|`WK[x֗N@l&`y==@{)C@=x حocT:tv.a\֊Ax,G_J2RV<[LB Kq @whs$ۭbe$C-s -q #{Xױܯ^9c@_9:Fc΁~^2 hUP%hO`/uFs%/s!SzOU" UAJAGAu7ҭhjsaR8Ƽn' -PU_`>8ԩ|Yih;m2b5Vy 43o/aw3W^ _+FR^U9D7Ɋx{5\xm82tr]u >\Vjh%pdA?ylO&0 2JkQZOԏ-{ϼA^EJj2.=9reuBD!kr 卪#/ ,1&#Ьbl]E.NEH-HHe!9R ~Z5̂/ ַT o/j4S;Aק&I$89T!P4 w~겔=>-NY7 7b^_3U tsT{jQ$XtV[^ŭ7H\+ͼ|3uΧ'XE;s1f=n(9pM5gAڬԀT8f Q"5DRmf_tSJ&L6e`~<!A'_ߟ`WZ D](Do8 xt'7Oqrlfxŋ?wϷW:Cr3;B26 4u'tN'Hg9V=}>{5ai`O+?687I]xJűE0l=9xow~Cr|i0HRL7}=Z0oӛO65썤.煙2>;,cwE)5ec7l1Wt[<z뿭xźc;t!ShZjAmC!*{I#7`sQ&U=4c lP3PJ3Dz1`f}XOsՄ:Ùk8 rI.ۉ[sԭ3xoMx6F7ЄKmNgZ=z8Q2F[X`&%]ZRޜI6B+UkW Eg<2^]s?w;/ ͅHŻ,D$ƻ5v>{Hu}}>Z[cN=x7̲l{":F{?sR/0UHXyʕ"(m*{9i^#'8]/y"^lZ5KgMhf^<|m*R 7P{J#o/NT o(şT4/WyH{*~Jup#BG4¸gD8 D@k~4+d|,+-M?ՐvCPZ[ՍWoyk[[ G@?݉d*yML(&Sٽ&v4zTkX2%@vr.PyHq+_AtjN}jCg }YG7~ +f>C:3iw54VЗBI1o :`Nm1eUEe*dQz`V$ |c:#IOPϴY4$ mHz dHiAXø\~o<NM{e-EJ̎NUsJN۪![u1Ӥ;R4ָC9!*,-*6!G $Dm]%m$%I#47ͫJx-9oxXO3rKf2> a_On2BAÅsI>=<`CQ9YQ|Ȅt%5 }sB9R(&O`/?귝P(%K#X#cm5JY^#ƍcXKݯm9>*#vw؝pjсނc8Y){)퉮 D ֐R>yH q .P\#'ȁNiڝDWe䧷{e*Y^?|~_0r+a']X#h GP#(7֍Һ `a1X,ChM-ci^^4_3 g}3E-c!<٦ oN7DsoZ]?+C~B#yEdMqm슪k~-_]os~Y5`ʲ׬om@3|?N*4/X#8!txt Z]sŋ΄غ~׎5dNdSGNz GԞmůU% 9UVGRn:Tn <2hJb,:mywNqv%tG6WqŚ*2̥hw7E^!96_RDCVvN$"51%[,9[5zlT)"H|~ (q:Pvrco3TCʇGc^.53y;+.( e{p4eu(yP[W &S>Ⱦr\(:@Kί8)aNzHecۣ[1yɑx)R.CpIΗS5zT_o^.X4c@Vsm-xD8Q-g]'VeMkA RKwO23¤z&_1)d5a/Lb *ˆ·{4,7;>-`IưĠC100Q*dfbK.3+hP]L/dYJ.%Іȩ4Geۘ4yʗX୫]'tRb'D!]*y6-3Z&AOd\&Kg'm(|ByS+GNusM$h rH/|SS=2+bZG,w͵i ,xZ:YNk|FU(t%FGc~m[{5CϫJdFQ,eZjUWgu:/M{karD[{sDI ܇kWۉk 18c+a'oQJ-Ű2+F!y#*w-=kC`pe1L9Pv2rР{'7xyŽZ8)\` ]$;3[G*mgM ]}Mٮ63IMm=B )%}c ̺P_N3pRS< QѸ4& .[]T̟3٧L^gs `%Tg~sũ#a1*pdj&'APe\( wGVy"4+&vjzF9Xu gDDI\B_{YCEm+-̭InN;#m@hp[+90|d~ՠ#&^+6d[Pa1ئ`#tAy ;;oL:$5cő\AXҚ2\N3nָ -Tp LSLd}Ƌ>cK*ZVԵ=A#uS%V2Ў!4$#8I14[~8?֋\U>42V_[vLD]PK_^"[ w$ ⌲M't'T,&)ZyS"WNV4u܅b>"F6vǪ_ق;-?}7%w~/z,>}p(ocD[H'gN=~* &lCa ϒM_m|%ر3ͬp蚿|&BĂEMc)yޫ}6?WJy}?:elMNeʴ6F9y9AݽY&2.*Bg(ru5JEdFL7=۩ _o:q8[`_A8Ғh-O>pTBWA)>QH*aR]N 4͌#AJK~1^®WUw_nH03*4.O\qmlPa6u{?8; ّ>2Bu3] 7qЦ_%PaRz j"d,%;|U\XֳYKZ9 T@@lކ#&9v@O%8A*Q)9+K.,`ɦ 5Ldc_W3\u"=!p F-hfצK1&%7pP&(ռk× 5!Q:ۛd]]9OT:)D-0[ ~,vѓ>p[!`k&0_9!I.҃b(+7n|ǟNxS#FCR;QsؕO&d#]T&I߀t8(>xCc؍=:Iʼ7M6CG~V8/719 8G1˥L1>>>qF QxI`($/Xt+gF4+d"6\3#D`i 祓x 6hibF6?V$!#kG ٔOSUL)p`V:b8jttȳ'Hſȕ+GzQGB+`%(ZgFr"J(_ <B\MpVO~/ZdL?pN4fPAWpȘDhhhCl iC1cдxg*D w?*'G׆̜tҧaV"HQ^626 |lh! XPC0P0<E30VTI0Z+mUNV &<<_8OǏ [DA1`X!oB֛SqSLYDZ:}e~^/MǘYeA>+8.uB t7H4r g@h8&VB3F`+Iud.`lwKKFe]_mùnԵz1EGZs )2L0JOƤ~ #mu/4ʡ~ˢjtYDFZŽv*3yǭ'䴉hs[{1)]A50!=25aSxouxhև\P*_`Gv/юyݓY[ "<[%<3$OLeOC_6׶7g {17mrzXTn{cl×%r>]T~:D3Kc-Hߓ ?Vp¹l&=7Ð|݁|Մ:•cwD\\T-z)v?pp?>g6%IP~6I)c]Е o@e?9#/B+=*kku0-d{R.i)RS Kۯ(󛒨9C 2EE̿^[0b:2JeەAuRN ? (Lz r y$kN\6߬DJaVKooo`m`*g&f;>I&]n| Hcc>%,L}ڞ26N}Ga[ |H\E^[ ԍӵe&:o'76}~Z#Ӊ(BN)q+zf'{RhE܎*#]ՁWL~4T(#r{]E\ '`u[[)^ֻ: nFQxqqTwJP-pC,!~Mke֚[m%dG,LQ" ϬGCxjڲnJ>R3S)/媨`x9+F$Cg` 3rE7 \ ea/M<&346#XvmERiPC)isy1o|rW{l<2X)u]<ҿzޅ> %8s>Zt%~*\Bغyz'#),<背=8# Ji 3/)øT"m^yyOq{ik_%{׾}Ɵv6y4TL1dcxi2 [%~NE7KkEYb :?9j&. !k " =Q6;}ל@?͙U@iAv|6Z9 ~I H*hfR {IA SM'?YL)}O ?eVҷ_Jss-/Pq|P~|Jec;To$3293 sL#\zh92G޽)-+SY皞BW/ RSRju568x2Na TJD)мӚv,zXr2ܶX)RoI2fJVx"W:w,f/`=ߎWo]7EzEœJ3 nE1zAH^BD&wkCFլnM*uwRthk&]V}3gD3 'E#( ʕ3)sUB9.TfT mj)F)*6Eī^/$ld vͺNӂx(Hmf50uUGkp}5;T "ĪR0º˹>+j ~ fC%FQ`KJs{ AwIf\2Hm}\\Qϭ_Qw/nQfowlK>pp!5÷ Z.5LԔ-` {p7:44֥W]E lF=KB:ZyUZ\L%!T[gF7ڌÇxLbiXGă VK8ϧOh`V[\+]j-lmʟs-;N( XjT=xUt$P)%G*- ;$Y=hY"R%Wߊu7[]$QJi=A$(+#WDb[_ޥzux;"i!(;iAMh.WW6-Q[Op/ Χ N#\ںbf")zm`'/T+5J$] ӟ(bTpΰ 0|@3>U Ov3XnXJ[|'XPP.|d?PAoݲzi]rry{1:yѡǨm|+al%~'Q0?pS~zVCj j޹L>?^ sڴI`"$l H F_G&魏+3oM,!hвzC:.qIńwwc-Sa43E@muįچ&[ [*FTU%qqPbgmhٕZ*Z2n  +),h~"_b;z`"Uw B&Q.s4:2-fח=qJ٥x|VG97Cx:;l\[L޳*E32&H<7f9q=ڼdm񹧒]挰"tqt7lﮟADE)P/@"Dgn}V=.sP8"o:h>$'tp1CT/e6sb<-2Izɐڊs;_xU3c1w\UzoK(+TeA՚;ɨ ɰЖܪ6DQt n`ϙ+؍-S-`N=}e7G![Mzp앭?Ytw|6$o΂C#C1T?+߳ey `c.a BEcoq Z+ڊ8< mlK#[5kx7U q-?gAXn0 pGJMv 7Cq?s4қM)2`iͨ~b-,HJ+{u}Fb, G6nZ^^XyΌ~ BwSv/X BtH? lB-ay f_jkp5 =rV`$Fn  FtBYYJBىoȭ(c[G#s^K濰_xG-VX ˦,>vC=eb9P_Q)p[+ qƆ]0_i]p`( ͓_Gt8#Is23G0R+&z^hb` ޣn+ɡc! †-y]ؑl',7zDUlxk:!;X[_h3 oW3`TPb8KMdF҂̥WF^Yצ $+CQ4F) 2@Hyydl2F!*7zVkIQ>d0gg-[͆s^w[׺`  zr.1TH¢]2Olv7f "6SRcN,^wsűxݮ~dM89mFgWrɓSˍ(5O{|la/ eF<̷z_\"v}}:5 A*l>ޢ )KAY7=U Sp=nۿzlYw'*"%?KQu ^/Jt~r1dg"o+x@)̛%J[&䅾 ?"hdOڑAK_b*vh2*kRRU2"a v\zż-p=K`kBҲlP36R'%ҫkBN}iP# ?3\qX -Z]2 dׁybW%ϼ\`=*? wT+2!CwgeQ NnkJ2sZ@HW%~9gˠ*<_RiQ<,)yj-kha9zggq۝GӜO0\3AUh/Xsb;dw M@KC$u~*Jք_$ޓH 1-F5Q!R;Bg?w~ҁ0.n{YV +5Myh%>P^>h1b @$s;YU%&ɊK5{ͳy`/GX` ugDl,1/:~;l.`hƲLq\goyK'}ӵ 07+2)^Xm۪jptҳ0t511Xe998mVROC&]y,G3߃q84tУ 7.-mIh_ْ+2C~t,^/ )ŋνI9ÿ<ڑywr[eds*!] A-lʱ 5;pU>̶?tZ*m7_9HKkI *I3̂uREA tԅ~+#=0a$p֐?3H _7Qzqkv(A֥#"_Oe|]IՓ|̚lxbhw{9n:^~/g `!Rl*^DHe, ,,Y]\-{rB`Tu#O/N Fm{hbNC| ^T/Fscs^K C1'}ՇzK*݇ %`;K{ >,Vn4 NJðI\Z|NVoSu_-wy%Uz=%Eώp s2hg-LSoj\q?_>abғ^F͡lR =y g'l' \`T oO`EeWvY"݃po$8[8s`*m)ANivBc;<`UnIB4~p h(NCG8_@%#Hl9. =LxEM|2! >N;4ȗeL,*O(5NaA X–d#/2A.ݩ \LECSwSY/ㆤ(y1_)N/Vѻ3<gikk{QtE!:.lL-V2}7؟t6r9-YhI " jЬTD,0B |x1\zj KIAƈ6b 4Ł$/4mg x<͂fb5QΆeCd%1d%I\ʠZ NOQDllftͨyوm~dB1b' ,bd1mT)Q!cdmFF} <1,6bHE <$˺Ie`թ!58i 7 awb ~ ᔡL)N6,:*4}:#3 鎜Sa?_MկT3|OHFX+gR#k>{;-!"8]jk2||W;v+uD|gYDf|X8 x\Ly&ĠDZdz] u8$zl;_F,^PؖǷsc>++D?*r,+_5Y!{'K#{,H'4E0х-~$5NxcdrJ|8궥ȇ*aV?B}9xZf%$aF,̥OfIT%1֐;v]hf@%oGeY6V8:Amt rւTzpi1B!GS7fpl=[#w>3)%rDNI,҄E`"t۸ϝf3WΐM^IT1 jaBQx`5vԍS {+s]:?BҾŢW53Dayg2<xH;D|u(t'y;qP?R,!ټo`5#ި@Ӯ%IO9-+4ǘ8C$t;p#Ffa>`i=eZp2@/uʝnU.}mH @0_{\_B${((ϻqrxK$]T*ukb(~UFI@<"O9R 6;hmkA.V L8鳣Canz%#\K%+fxiQ^*Ѓ j4j"}"Q*z 0Z,NQ>Yԟ{G oL.}{vy(^ߍ&oQlePR8Ԇ& ,uYvkzqgyhM{Hr:BrjN׉{5R; kuU:?a&u;L=x]7-m(%եɉ1*{9~rK̈́vT e\__X"-AZ`LCKI\Nk2gN JmNAW5{]|/~L\eZw~$yso1saDpah-D$IVwkt$؝NMnO8Ș_^jϴI eG"ml-.sla''>B#n٪޸_'1Nebd4+jl㬉a=#~0tj=UlһS2/=B{r`ďUJӢ@%BU4^sT #~4 .js`R%ZO) OhAO52 *+l:-EAJr@yX6F<@ f$H0c$쮽kM(0#QLmިbpK.pI)"k:Q,J,ך'^5 :69Y f.$҅ r>@?S 㛛x2  A?1zdҦ9>-v Z`֏gfͅdZ=&&DI%,S܋Zg2zĉ)mƬ-tn-B]'Dq;\T>cVxzmzVQtTqF-V;s^ɡhgzODV4d HwST?N`w,tVPR邪c4kЁXx+ؼjᆱ }3vсT^ )fXQO\ǃ(c"8̫zTZG#PqI-x+&K^F$m֋k1QJ|ۘ텊4?\X7=ljкZmzqbCV57q]C:r k' 2TW7=$ۖ\ATZ3-]/:AéW ~7.ި-'4֘!^IifBbwx˵u& \,zw|P;6NoK"h mTB2ٙ5=!l~"YI['kn[ng'污K%;L֋V˪g2粡ܠyMUl!Q-n?!(mkifeC@cr x[rHm'-zee.!olO[D $,Xf *^Db基 {dԸ6 O6ٷ m25.+%8mkļ"Xy}TЇw-SW\@$fST 0!<}EF.[S֎:Md쓋 >k@d9.hg*#l?sCAVpEEUG_Vgu|:lxupQFHD-hfXOFˏ,f 0@ "5 v ylHs5!,Ⴅz*|WkGkQ3mbFY< #w^O/`7s=D/I#1T *ˢ s(^;ȼ]wO༱ l-nHf'y#:"^69M|iyyõMn>xi|`Gp Rsk_$6@'Pu6誱}b!Vx+Iw޲%{xSfS K `{'-xhZlM^1O#`bW}354Zr :Ȇ 6 d|4`b~IM~h`cfr3o~+ %!C@?L*n@N][%+HߞA>j:…s}Ψ2AuxUĂmY hPt - \f:gwԌ)d'!7_yRg!~OO|.:m%ͩT+[ /sWt]d..`-fgwp;~:>_@֭I爫QQa:P.'Nr3>JAAbwх#n"/jg_$o2e;#! &ә1` 2B% I\*A03c# JDɝqd7%b^P+T䓁AHix~"l|D,q9T&rbnvgagWT  1&RA~N@=0 ~,f2o?ψ ՆGMf BgP,.iqBG3gm EI}y@A/`+1}j4-+fv-#no#+GW:{kb8 ׸'C@N:^à=ʾlaie$Pno'tr{`îbw_O+u[.H/PŹN?HF?T.eDa cEr`XE ȰFpApw(w$B:[V ۱sRDwl$(XVT"˙J(NʼnAoHȎ`NG:j6&]~ A0msM&6bJb2RncI?ahLRl͛jAibF68,XT|@RdnYzTt*zc{aFza[%/yJY$FEPo+'" 81:(1h#ΡK%f)DS*K{u68^- rqTZ=sO].So[KڽU| O7W~mUFX^. E8XCN[;<\n7O>PZqyKHRoυeLFT(rL8?KLȳI>FΖ x \l2Lzؗ^ _8N͓fsh;. 3NQnFEFɃwQZr,<SUV6vG i/"a6U1{X5 YL ?F"՝=raDڻ2qhfb^Kp1btʃ *kO'b$tXJJ DtP0:rj? wrA IP0J3ix0`Tr*aa"şQaiL*w"'KUlj5 hb:j:}]?>ߚZ{rGY\VDUjP^× g(楮e~aNM H05l^.Qb4L2>~? q<Г3<)Hl1gtl=U3+grpX Ϝ;%u3Ʉ x;Zۃ_JQp9D_ʯ8Mtu1szah41h݄Nt{w8Y1/X G1'bex h?J@% 5O ᑋd^f\saM"|0XҭHO<TҦCk7G yQIء٨1-sH3tNGj<)>'Ae8/rLPˆa*NuV ;i% k9nd ضmۚ6k?-ΣnDGl oxI\dm{)揥 bm7ၰz09%Y1mds@B R}:}:DUgo>Z80Kad|JDS*iPATo 9f 69a +ӛΰ`}LC̰>;9ug҇! -j0l3,oՒ\ډ7X2s8 2cTq[o+.)Mz1C88Vɑ BE4L0yBNVwɈCu:> us~KyI*2j8ܧFQKG:Hk畏o/`X2o_X4y0jjo|XbDwci@f ƭ7:^?Z{0Kj=yỒ/'2`@0Mz 4@hHҁ@I^͚58ѣM,K;ާMjH&! @I t H(=DwC⽝Ly7sV{.xһl-i"̅J> W5:L)2t_(vGN@)G)"Dᧀǧ׏@hSKpgy +jp>3yh7"rz%n~d IQÓskĂ#OxJtimRoeR$h_,Dk:׽z eul/).3y'dw!S@Qh.&~*P%}ISp[7Ndfgr^2-kwR|20)0p?XϥQ۰S7"Z':^ ~L^fYp[LjJw AtPUojZ&6B7b @s5ZzPe(4{ޢd-u &wЅj~AFфn4k5kzO`)MH ~%ȵɦdPo톺Y\za=FQzPBz3 EbG .\9N\G>>%m: `v-Y}m*ķA0Lm-Rr,fn79u{rx3Tl9fQWЖugޥt2pdQ,L2d׿ȋ+=oL(^*BK(|( m'POB1wDaGcIŔhs^{u }<̖Tft\אH& ux9tfBdKTc1l6R ;)0 Qk,5'z' Lyp?.zQ>M{I!\LGfTcSd0<֕bޭϴ 6xou\/"_\E?MEn_ //ޮ!t|]T.fE,-Z c3].1z`S*E&yTg9(wëw{eu WȡӁvNկǛO [el]Oݎ(sQ>]1?YC8ue> Kio`YvD$Ų2FSP~phVc`Y&@tz-T殕?”B 'F0FV G'M&w+Y1oONǥ[R΃ Dݝp QO%0mVl-e/nMゼ +9fFZEJ"1>QBAqlTBW${0G:!= >|ܔ|TpFh;ޢ=ztFV %n;sUJYIԅz?m6*{L7.{6 T6Ӡ+;x~51MB} ӳxPj;"ڽEџ )YUWL{8څBRewQhzTnq&l|'Q4[ѢV{ACj(٤dtAVXRl+!6a= !ba&j_(y FxQ](>ǣ/Mr5p'Tm/凥 \ܜBRg,\3eꡠKvj_qNvq _jE~iĶ1# r| : Vy$ruLšU'[LOIkI`y%2zs/JcFv?wY{ _ i"ryd)1a:3Rrr {%xfcI2h55kQHS٠E` EOEa%o^ ġ縿bgG;Sj. -y2[^b QP͖4{Z 3>; pE.6Mm 9KD׆!^LG)ʽm!efm)]4♮u^ FuQtP>>pW0Tc=as07Xbܒ㱬hK47YT*@YO:q^~rqI΋dL^4e* kBmUD}9Bq S;?ʝrFcbo^|)1nxa7֙Dv_waSҖgEoSťQrn"_ z=efuT ^$ÎZ I,C,_e 3̓? @cq#*PrBeh#K L\D스A @2W.3gLZfk RSI>A@p12t G] "&ԱS(I(6ңFU%ac/&lBeRA=&"Ɖ'g}4YLV! ԭ6vq?`C޵ rG'f[D~',Ic\]P,AZa˓='>|h@5 KkQ=#T]#w9j]bʩ:/ QsQ=zMuZP3ձt],qp̃tċTBfhAa43zw%̓ͳLQ'L$ F2&z<sQDG(]ǩ3 L ݪ*Y]&3S#mݦ |6_1{tq79S5gF) U@5/al<$$\{hbX=X.CD1 N,ga y49(3 B󍍒V;`)۲HSO3fED$R>f5̾/ϕޣ[*"SW-&}МZ. [@Q=sV7* wXzr6< ۊ-|*A焜|Ðoߖ6Mq~]G"sôOp)ؖȥ@h?UO`Q=o]EzqQl##>m#?h(Ħ(yGAn˒ޖzfXHڬ;[MpaD5l} 44gKA^u?1Ky? hzZ z7p7e/ TFa%b w&zts[쿾R+Ww[ 3h0aNuMLhEGPŬWy8@(G۾vlP|]ĭ`Е 3f[tk ^SlVi*xRcY7(,sNOFeA7`FBZt$~A5 S =i8/ewnQ^Ll\Rc_(8&X Ais(p.<^ꋙ%7lbbOLg@ *?RޅG®Si(T5$MNiҥ<_yo7oX,8YSG)0bǧǎKtb9^/I۞g5Y.|JRfr T h~+/1=Ye#s1Wmau۞Hi)e(l9M >utQ0'0~q ~ UҲKkIg- Z KPʙ0r#qBÿ/d^%TlA_P B'Ph\3▫ i Fs1S0Z L>[&s"eAhV,UU8`WjV`3"nKԩCY>D0%I%(@'o}X_Ȯ2?u_tKBN[tw1Cw,ٺ ݱ;O9Ŕpr!u=[@7d"0;TK~#J-J;587+/%G9زգ5VRvȯhY/ .:L<2Șt Z/%Xƌ]x 30B\dF#Tį8=6Fmu&J{gMq.=i"y $N1dn,就!"4 F2X p(>rwROh|INC m(m*=yՖNT 6rB_tT&g^xs=ꘑޤi%S[y^[U#2)OG n-7E9ڡѸ &tϰ Bvp TMs.rmCq4 qH셷r~]r:?!g Rfm t?e?G C܇H^,42uɂvӰX}J){?4>jO\y)ٵ'+:2m'$}.xa NO➍Q'7dV|'#ܻD܊%Ɉ!Hvrļj$Oy.Ò̳ \sr?9Z~jG/ Z0M+9 2YV=-rE%kn]d$%pl#M lA;T8A@VR2r$1J0ݭu,ގ3/?M T{Z;rr0Ϯ.QDF2}ut*7 X񻀁w`Ǖn~v= Nex(2=/A`th`2t- RL2VL8aO~dC˒ ޏ ZU odm__Z])F"7SG;|oN99/'C"+hQMx%VH)B+MrZ4?SM8xrC%CD*jdJ\(Z~Z94jlsun:rZfPcyGp?cؐ{9-A\hJvҒMc!qT΃1F/V~*检k FgJF⦪iF^86P6ԭ54~^p\(j e(b!73TL|))'b$kL3 Cw) `$•&TVG26Fʤ"^ qA˺p0 t_fbwf}ssÿܙr AtBBNXmix#:\óG㱟L{o 'S5%l^RQ,TLPVځaZ:"W+CeBI.|L]ev=VJvقvKkxsϳiO._bF;b=65 lk98ƄJdhlϾsKC8|\LeĚH]>lxP gq1z q r5\m6fަUkD8cK0 ibCh:sUT̽W*.Xm *]|@-Z)-4@%:ؗVuN҃;irƈigr;ze 9jNV /(?y2DvێܦUL3D9em 8p׶'Bo,OCߡp6$sw`CEqHE~LOm:~R&x@ƪ`_!Hܝߠ5ݥӉc׻!Ɲgn~ʔvMMOP?7mB]}6-oI '{pɁ|yk[ހs̪;<$],ŃC;\M>d@/m9 #N֌@%?q;遾G{;Zm8ppϻqߒ AjP\6#9%&袱QS|^'Cj 9Z}m.6_V"" N}[zG{JCg4eڜ)"W(Z~3HKcc$Ȇ4r#\(]c0q7s1%a0Kscpo_Cu[ -GC:뼍@ʏ 1isC݁q$s/Ynq.3a;ZK= ^CqnQH)@nw͜YҳZrGi.  ϟ\&A|MP3 BA4W IK5=&]~-܌U;@zф + o Z9o6xak(زkXCC C gFŷ@|=7m "E/ X#JMNj3vq`6ް< g)yEr[0n+*\?6B@ST?fEu?!ayf8ACix>dEj`Wj?C5C$Ez$BFӤe3)F"J;M5au".Ҁ8HVVd SܩN;[7u0PTEG29w2͌Y.19Ãjs }6`0W4z } p@$ o_7-ZXD:}PE=Wp|H~T`x@u6DMOUmF D)l/'4\Mdj%-Mo}"\l߰`n}hxܹL WPr:it""_X$BUKgS6u4`BhΟ_1(pSWs!GͬwBDbc@1<6W MVYxL*+hZbaq\ˈ:M2>xIg"|,sK_WOȸZޚ(ǂDGnJ,RQ2W3pOWe9cq|9 obin߆ХS3;*sk=#Flaխꙇu:sQ!lf#v7T1I&I:2&lV_qF B0wi7 vfйuk;hGf]֥͊I^?{r'[~: @d$+,粒hJŃUYjtG h*fF,ttZ]W#SHOL?-\>xZ嬒IҎ\j# Ͳ#EdqO9]k\XAK|-F2y0 Ԙ 7CntBOraao1){45%#Jb9魘֗rnVQ.kϝV#ڽaŌM:B4C&ƨY=#b$aIfȘ5(o$nYkCԩbx՜RzxL"gCp\5Cl!BmDm"؁CYPhVC,kwtax =*;UHö&]6h:IS(i"d7Ђ2F N>_y0_SwHOcHcWORw+/BԷ{ ;7: pD{E!lnG1seO&,C()OǶsFͺGz!A˪'í+]T7o:u+,Z,>4qh2ޫ[@iH,\\2b{؟ZpiZ 3jH0k[Z:OeT$"៊^4mC]'G<ǚfs=ʡ5=""2xښy68|_wVnV#Q9 U.P9=%Lyupҝ5]cxWHͪ"S].Y5{,@-ZAeQ-̟N6d vem& _HVaїw A:pLa,^y(x$y3U9m$=*],v̧Ȍ"b9%Y گMO"4d|֎!LţǬ_4[8f4>}ڻ}SfZWv %ބ{h?ܼ9(Do/A)U9}ٞ]c,ZCb)dRm%*Qyۇ@="H umKGgA3X4=K4l@-S 4+#U?ΗdXy l  <"<Ҍw/Is/f!¬~b7[k7:!n\ݦirU\`ױ?zק!6 A3vQf@{MoG2rBtIҢ=Kv$l۬=T"6+m$CJ GΞ{pV]ȡ)#5n|*ÅnRK_GԒAFA\! Gm/!MEHR38ZH$r0pn.* mB;!!~]o&fjkYWQ(Hːl`h@l0I& s9C-C~R(wD(md1;)5=)F;%h;O{KI fD>+I`񯋚CK# k Df'-\ G%Hyx #IW>` GjICa,fPX_j\+G9'иHqa0(;a$\p--Xb21p[ʉ4TTQ`j ۠71~vRr])o !E%!1m^y2&Ӆx.יM_JJ8>yy8[ )vǵP~kF1$!͜.!;0U BhQa :Gy)-l*qX[\ IS {^A ގ!K<\ l 2Ԍ,Mr05%e5ĸ~~/)Qa I{:S Щgc6r:4[Tt\*KmHk )ѦF)HcbFq IB;Ubdx rRd@޷..8<3# iat)4 hwQ'.Tt/fhypՓ%1!kWfC6gl8} Έ{]|F2ӾF'ƅ"O6yꞠtY\]. !g ]WXAnaxnC̿H:+6qx1vxjK"X9f``;4H*-><[Sn:R\[|H!KA5,p6C-Qcq1:]L#qR8w I$| k.ӛm^AIPl: 9$\ٺ%bv«%WRRFd+bd|%a"S`Vu@+[m Z5U|*L#A&z%M,Mm._#EIpqMҰ!:^ U[` P>ӷ+qNS3b9]btKylֿfo)=6*.RvZ:JtrFiГ;%F*M27 k w EАE_ԺM p+WkćAUU9@Hd5i6^qm!Y5U"gc1'*0بw5ϐkZAnAPiЙxej 65P^ f?nOf3S. U̢!ClI'Ȩ ]ʞXlH5-`.;&X۝8d1O x16F,NYO UM Dޘ A='V?.~Nt\q"+'y*A3MEMԬ'&2,~ۘQs%Qnw LSљ10HU*+Y-$[i}K$ty}H5Q_ :))q6v렦 {l4v W e7DlV@MoL=WE>?xz,ynGj2zvyGqj,0Zu-c=ȖyzD^;B5c=8òQZAv}ˇw<;_9":CFRj,C6m $;.eysb!q8hW8kvRN3Jf#'WsNyCgY"HpH5F?ws:p_ ,F횠|3VI[6  ޹V"b2>?Lfjԟd9]qcK9kChhL\h)L{!Xrɚ^4qv.C [s.$u2?Q0d C[붣.H$9;bR}36˯\bMQGښeK_ N^bh`DW!;̤nu{jF% @]QÎp' D;VC%2i^ B9Y]Kcpj_o9>qDb¸ѳzC'gʾ܄U tN\X0BYD醞eL2w1UiLsiXLUudܣy!3~86aĈa)[EVrNJB0K-/"pO>nq7WD^.u6YQAqF_Lҙ-վCZ Fo ƀݞy6 V+!L`m|QՇ[9Bb:C0@R.!hM qETQJ^h'd/KB6F$\"Th2KչƒlhR4 ڻv|ĎrP5,4>YӜr.G>%KpZ${\)pꃳ_h{⻬%O{kf..|c#CP{fLY yS-L:ǙG5"U4M|\ AV0xl ZCmC}A!-9Lx%ejjK7QꂼSê2k| a!jD>3,<ڃ|$ؐ5_vx$羆T~W bṶ-szeBAE/c;=^b4 tM&ЩD6EbC- yp=-=Hzp(\McmMޜam2Y4-3J 3P])`3o5lH!j'g{jNQ8qL)|'LH⻐#EdmbzDLn 8ڎo/!tOcLWj1ٳz~N?58=2|ܴMŖwXػ;9֥8N9*BF.F8I79,( ~XLT'( ;^aF59O6PܟkWlBR)ǩ5xňa3㐅>;,eUƙ?fq-?a\3!4.ޠ[oчc3!}f'lĕUev'q*h^݊{h^DwBGS(ىD%!8IJEҞd4]V]ww(^l.6NqzAer&XKn4YL"C9(۴!ڄ#aT xGAB hܑWs`@rhi([aПba..zh,B?z 4'|^dM]ۛ~ xl>k+L\m*:lQln.i^HO]g5l؁MJa|{?MB:Op^7٤҅9v>*j )"`~alO=oG9 J̰й{CDMjHY-7` ^G ?ZnEJ7T:ҽd ?(7; ԄMYNxZJ۶]1Z@؃K ߥ xbO(PDVn.EU<$ 4)J&.Bxx^G>6pRs 573wm^5`#?nw(3]nFp]p jՋ$V:8u!Hi뙑cz)ެaٖj g#'Q_ `j\EGc]ڳUnVf?*s`V|^=qw&R._n@.+f \@V17Y9NJŵGm5#7bh3]C@8Eлv;HZ:CS\թH v\ *c [AH~~z@ߙƻ&Yvbҝw#%ҿ"u̷l`%xEecn1sAш|yRu3<հ<$ 3{g7Ik ^DJCŝ?~'W{464/K48.*p2U[]!|?%RmRg.@ ˝xR"b ._.飙Tpκn4@fb7r$ɻɛŀ@b.[;?sxn2u6REk6נI7 xrLʔݳӓ+^JzxEq7fٗ91ӯݰtzQ6I5?lՌcVb=`Ծu!RY1OJwsr-͢)Ln "1yW[c!Q9vc0E-AD 21DbR#qܕ[ eaiw9]REYLFz͢9И3̦ƃd `ti8@3tV` ΃KlW\B\M+:-[6}O{db3LӘ)XcyMxi_⍖]-WFMz NB ׇ)vҴ6H 6I]aj aj4d~ǹÜϔ0# jLtCmPdBIZ.<><6*;S&;;yrI zF%H-Cl6lI}EV D1&N#n$ EC P\4$g:OI*b^mV}QxϾVTMKZSqJ^0['88٦jY w+p)gQ9A0Ԏ'sZ lmyPzRY%ӄ8'i  %1*(JRjʍPQ;dzB5h8l1ePMz@u!e >Ȯ8~? ;uNwKjgkw_Ӧ-bи\SddfAfk~P$86$Ɋf ,qf7{q=g֓E$?T˙"$Y>A& {fnQ G+f'GZ{Iq*:ƾȝHdd~b#>28 c:827+EmDr@-F$1Ep֤@7: ^e9%%@{K,>jQ|\AjGw̠U&@ó8|TLƺ[(|KR>w] AY0Jٽdov{CבB9g `;0krFA]&*[u;.n6gq3n[nRhow|ju4\&/lBk Hp8hYX4L }*pwʂ,gfALiLg܈N2p5gA-/}))YdC.,א1}T3gDK.jؽ޿ƴr6{GsvsOӀt* U4љ 0@^EWhlXv01%+l/TD0O;++{+hi&<ˁDl! {"yQy+)Z S`y -~x1 1 <,SE9B7 h_i˩RSW-ϼ]4.{5;N݊E!l ,C% ]{"@tx-#>9> ;1N]sSnl%`: /->5EAf>.j1:!?06[ybEPk]Tl&k jy}GsLͶJVnbl ol#@+Ju=~L}8 4~EB6-y3H6}^]6:`KUИБc,u!6l%b 97="Gj] 2+;B['xMgᠾUfwDZ)aNdS4NwS4g,1!a m Ơa 8 ~jVՠ4,,KҀ=qx $Em$evvxj> ܌jInt1hIs]~?4H3)ú1y|tvW#)ӱJmBa1T8$Dnz֦CI$ 3QH'gfPnS KbVH" ]qu;d8aW$xbܝz#Ƴ=E(6p \eИʚap ?.wHH7ġn/zX;+؈+QAkC'e7-&n0#M*μQb3kMYItKdM[r9SͽFd̖O,!m$g#QDo/g[qpt')O)Q0qUQj Vl0LvOam_,݅7-(p`;ڥ4T9VjEr!V*$D|h&bu`*`J)a-Rjӷ  .37~*NjL7 qsħHR|B [ /W-so^YV͡{KP)6!S^ҧՈZ ɆX Ue^ߞ廏97ff\8uZc#34pUEiuX R#f$ ?ay7E{鍧|yVeH/ -Z@{r P~_U:8 n!ylJY$/)Ju[p=A+WB*fi4 S1gǑ}rc8 "5@XLd!L%FB:.4PZxZۋtŴ_}c@ /pK՜ynt.^LWT!}%+SΎl7L$z+ݡ.P{F`ߊT,NKĹV`8wѢA&uDp>RhՋ\tzQz.=p7WHh2Relâ-h<_6qNMW'W.Ge/ $7fp&%@@[/ـ)Xmh 6edR͖k֘2*p!x|lt3v3Pa).E?SNm=fN{֒cS[MB`!3Wݹp-ِRu[pI١gnZNrbh;ؐ&W76-Q&xT[U9֜%G 8V38MZRTZD%M?s<sgdZ-L_CMKd!7Sׁk˖䂈]*[*;2 #j!n^j-ZxZwV y^VJz(upQX;4l c Tԍ%tjūH8D7x5O N~;;zS-=ЀX(G5 TiaH*hH]TLhm$Zq\ ]'ʱ ~C^WOJ ?ǘƆYÅdVYp/h﫽b >SW @/8z*b-"iL(X9G}b !~ < Gn50}˷"<) Ε BhLD6VmRǒ\W*Х/ |5Pt6Κ[}O'6z|%^wq~g*xto9V-x|hXf"O;N_v)ָY8:35n(1v[|k̉r7oܹftO9A'^NR &NׯMI}*eÙgx|L)g&(e(c>/\1#BJJ椇'?ܗ#+pio/|^;R/w˽9Fh%*u#*pivs<sp E5';v~ُI# G:3͓v7[YM''Q1p "`/P=;e,ˑ^:$ YVGy3156;:m, fQJp|u|kNHWsH6F0_ߑ"$zL`A2[F̲So`H#uXiM2n'btMGaAʹZh{"5V\r1]l!0Xg{JMSoYy=)E[@D)L\}{fYۜL8_j?)#tI0>F[Lo wp!aagqg?2,--Q4?;Iji=/~(<׿1c#|1=sW>Km(`"e> x2jUJjc4=uӿ$A$ʪavVTc28, s+W&ڞgꥏfs(&Y#L : Їf rOǽi`'}#$n3:|/NHu5K ",կ]=PwVFVDIJyU:y~Rt~/$t߀Xmnժ0r` y \tpz\F$iG߇8ɣnzi)jI@ZAe7>x4;})3uуi`g FUf>{ rߒ/ qل,(UP8k{욟jnrPp Y*c?=R~Va+;rob"{g An'Oxw:R[-j-1i SbF;r';qRZ^ QWTSvUKy9k#twŨuumob +e^dOY!g";s1Pቮw{vAQw ''Y}(\tGx3~W6CU;*wf6Ů_!sK/WgVt5KIVWT>Pߕ!jC1%at M\}緖r5C*FC]ǥq=^W3TA)̅Slfvؖw-C&puOX41j,dKđJy>yHGxe yO\h:1 >JV[h*pS`FFœ-@LRNI0͏:{S*@/jX^~Q<ܹĽ'xBϭ.PHe}) 2TOyZXm0(F`A+ޖ('4e:4X鍟w+{=/ؼ4I"SMDM`Yݨ9)| d)T5ɨn;! POݣCȲp7h>3ˆNu~WV<kCe )aˢa&$8`Ya#/+/ꓯ/kcrVJoS?(:U^՝&M>sNp~x'kшT+t NDkm=^GAzd)GƊ PxT=fٔ m86ʼRf̬lH!I 7[G&4Sr<8m1PCf/ :*B-k`{óߍ=4aTb =zuM_i*-x+^y*TJ_1?fZ=NϻLrR|AOt# C^.&\=$!xLJˤ J\]\)TF%1}6*MT_=+MY(6jq,89-=se 0iKh%\?zć|WhJ EO~E̺|I)Np7,!Φ $Ҋ׆ByChݷ_6[ ,8Z5G\{1LU|8>:!"3^v~qG2fdQ!Άu<ntnSSЮj2Z,L=%5Bg11蹠Y 01^v>-F [#嬉u~co T^p2+˝j@G5x4 hltD'U0ȆU$ncKh )A m\:W 4#Yh~X6=&d%3tlBgB:u'eqp#:udcݤ:&ȥ+=Jx᫰Q"(r D[YA6j5uA} %u%ү8X5~-\$PLNIw* aq!́w33/>:xp[5WH"E,Vqw[GG_hm'd lkvn'#\%ֵ&"n5##W3$::f)Ӷ5[xzm ږ+"i=l1 ~6f\5@@<N8{u3߭P4[ŶϸuXZEZ,n ~;YÁe틖Zu%+^i-@X=Ѥ-Ke.ֽW،E\]߫jLW==יhoceiN+o؂`r\-9=QeBf}K(I)kcCŧ4Ĺ% hj *P|1 Кe0IveBެ""FY3PLf[Y_ pKwv#;`{8Ҧ?&,lO-`Fz?R ;.椣m|@$ ;Pޝ޵T%|n"਍\&Nr޶)S*lB&U 2ĢSv(ڰ]Z~v=:_3a?&@uD!.yitbѕ6\7d[t7 &/_%lWI+8׆xCalg;Ԭ[}_!f-]IOd1sc1 gQ1xgBTZϐ˖;H[vvl?|'z9ƚ`DŬGY,zqA͞vbW0/{ n6*JZhu-;k+y(B Ħ5d&JB[dyalIkc 85k>@m%wQffVd?$jcu{6+Tu2U-.S}{ApvRz%I`>jCeLAU!;%aq5mI(̿=[6x VQS|UaMlmUm w\vUdnXdx.>~}Et^o>pEɻ{YO;+oykf3ȘZ^{3xܕx< R ]jIA x8-hw.v #E=;IImJ`is'M" "Yp^ @@I. pGI*C`Yѫcv2utBd0{vL%>K.*XA[M.bg"JcU-~)[W3z6jq(O!E !}U6鿌 "Tp<[{iȬ\$ FBvz h[k0м@"fK@ .[qӻupwUQv}E$YH]/FDE#HJ͞L.b%-<>}ExOPu.q6{!vn0ӃFW8 rfq:K:K6ܸw}7ɨL񳯴j}%]+cn G͞[{nJu+lJ6ѵv2Toda@3^\% ( ZO% .-.)< &z SVQBq1ʴX T"+굯 4//3jOw mմ.WrxB 1.2nIYg< t\nߤW~Qv5-mh 6_\Z=yWn9 58zո=Au/0 YD[eIĺ{tRTp;@˖eS&Gbej` 6 hxxY'Xf2isTꬫAe弒[ȀPV5uwQvA8Jj31CD󨆃xOSU;ѥ=GjH$@H.$i {(835*`YK˕b=Ɖ2 jNxG^4MЌQZE,Dʔ)3i(es5ߙRj.nz҃3NJ_z bR]!mYA w5Fʤ*L$_w0C/uaRʲ+DU[dzטzv qI}'n1v4:0:r۩VB{; Z7d ptHA3 CּMMdgai_~u3j5 q?]a|u6g %u{=%bIV4* ٯgϞ?3hx:LApڲ]aL4癠ǘR~wSڶ!_C T(?Ø&u"/jnU,ϖr0ʭz,/bǥzrF0G#tw7[ΨxgM rp-ښމϺbg]v|%J!|z5-k|L"dF˪I6F2x7u(ӿ:VtϡL.z+ZNź4 p'A\+V/[)\EQMw||xC4\8˺% < j l&x1ENWnA e#dhWjLSտ.7>wlk+zsvIԊ=xXƑ=%UdK9<ٔeVGj.਍ztk'ϚgJNGc# '̪-DB{K)t* f[~,2F@(1s2+zz$~}E~}@`HZf)U,[̧8&x&.,iu\3|e) ,J >lvאدx s"sz 7Yw[')ڕvHUĩ+}%.s*] 9y׌0LWzсyC0j*+J|vծo=gp#tjUi0fC x *0t XP+x=jΘg]mvVC#_'ER*̷ ×_꠰Cx_z5M`^~]]ՆwllDb 7-*ǴUAHKӑ- 5Zs<'W^'y]2xumЮ!(t`zg6:ApjTd1wWW+]ߓQ=\0ʼΖ7뗙e[T7VN m,1 LcSyC5/hW 6suJdT-78n(mF_W>>?ɕ(](wLqOurlN^EyE^* E(К\ޭ |^^g6{ߝ.nWdrqqlx pm[&}|0%V~Ƶ/v3n:_^K]ϽX0pض.LU~U1WF~%hwORks.2!T&7/^-KF5wmX\ݵ̲ yM;tt[v,Nދ(6,q\g8g`}5yFbdʌ)b4E.8s GtERWӹyƺ: Nރ<)3q ҥbk?@0kf/~0!HBXĒHTez۝-(`C(\{sAЪJ4[ oZ iIK^Ъ:IR?$Med3pD0T4`N@r+ycG0F$#aPCN &&X+C#d+)Q1 Q~~)}}tvpt$Ʈ]@u?a/2ic7oWjN-yZM7cKw8^oE!]s祣ܯ'Mu>^)%&=g m1vXu:өz\6 V=]|R [yЕ]{XK#&@,$eGIj?̺zZk($a q>q:XM/s;+aF fRBfF]o"o~Я~2-qZJn;Pɒ=ȏdda>zy9|a[yg7r~[oX2fz$[ekon@:SD/ඥ_}Kcx*u/WBzsdK>i Ktl1AQѠDoy]$|_ɀLEy}r;L=U b%MѐK,-"̍]u$ZWi5#RJGnTK:{z+oڳFwOOuu?jMsHVWXYR{;4je\t#|._޿ ز+vu\>F6 +ig-9Uϥ;9(b0'޵ H<{*h^B:껸84珲NSfˎY{p}iS7ZT3v}4Hw -5o#cղ `RJu)gR&mD6 S>(twbFP{jԇOq0YK BUbdh$@[cńs-ʢycJ=G-NP|(%4$@V5هZGDŽ2;޿%br qEnT "}o$D׼uЫٴe 7ǕFaxR%8?=Q fQ|/oDzQcϧZQƣ}Z9"7jquKʱϣ]ZH>]5ASܕ{\nW{ځ(`eTb^B\ <'ƸO˫>+$1>W#Zh:1Kו6U;sOG כ}ƼP SFXtu}bE&Rzk $]z>s7o}\Az͈e51qЦjuL˼Zͥܰ[*VZU|}qEB:u qX10O; +kQY Yl; 1l*@`w_ٹ|yMB~4*{Y֏v(#lmqRUxW)z"Y5n!V! a(5>*WQյFˢ{(Zm_ Mw_#Al]d鱰Ti/[dm%ٴ_e$i3* Kte\IJ{9}]~w:QC,/<qd,;": 20ã4 +E + JX<їi+@&<7d)J[,m*Gn&7C{ 3c xBf 򳾹I]J}=Nϸ^ipH|Ci67X$\!=^H|[*wixZ:Vh'+7{BC M1cc^\vԉe xsWDHۭW_Οn%CyKUvg(З VeyٱZ[pXb/5bwM̒1uUosfŃʖBmeeJ/wGh}iheVVj)粢[3\ <DKd NOd! B*'8!دZiĽAs2$~i}@i ,r6͇?%?uFȘU~G )Ou2yfIoBӴ?zCoFSX81:\:]uGOVevuq|ƫ#R#dtw*y-`CO$Q^맹>)\!aϤ zj-t%; 8ўRoƕFZ=[/HO}F42ll3WbGt  8p1ezrm\@^#SRqoo+oD(}J탧[h/µ97O*7l'a Jfx'®ôtUwvib;1G( [cͲbnPrZ^(\S2vM4Ɯa ]&~<DGaSGsE+O&58ewGL_۸`eNC~#[l )Af? Q­Sp&xvCvhswlך!z^N9+3pƑ!im>/sn6ۭ 6)[.C l7HB" =vl}!/cq-$Rl[x!Q`l_P.$;BQ<xYLr |a 8Z<8 C f:Jtwʔtrnڟ# A&pskgCSm,7%ݱhq]oflze[O _J>Huz~W0>!xajTVGMHrki7T=Kj(Cq:9Y(OtgH}mfnལzp3ffgk׳,Z?ޘxC`%#(oK@9c tm[uK຾g*xxD05us#fʏ؃ڒE]fx&%'~f'Bm  x7N:U[eⲅP|N@Ӎh/(&;IXxum~odѳdYG|ԩdYP ݚ Wp2br`sG[q9CRdhNVO1{>`UPr 9.ʰ3F~prKqӭNXYma%&Ek5U}!@_T[RF +s㾅uIޟ-VKf&e{!qܞ$<=lWp6hf˕7B1ևQ6l='U kM3Lvl'ӒgffB9#ʂO^K`ˤB,ytƉx^E݆].xz^b( d~xyxYZc1Ihtdy{&fBU2xT9W ݭ|2+J"3Ɔ=1L\?u%jC Jw[%h$w}3P>Lj?/#{i6bqoMRXA~cc+/WgQiTB~?*A0g ͞//Z +AfR aeiO!GWlUo )]ҥ(UV{TZ8T)"cdkDkA#S3hE}DkA }B*_NOdl=`wZU i$b(tGCqy C_nXlX9cC# 8ur`ռ@:` \}a TlR; 'tinY~}'W$<Qb]"Drh3j$OuK='~"X)J yңcdf'fJ8o[K~f'ǫlX\2L5qne ֖4D?,?D($|O6Mz'BmM7x2T?0vGwM|8kA9U-H TaI8tKKR&oWR63+=Zedhwu-PHhԏ*`cE<\Kb^aZD]G1jLDg8º{ iC+Ү dݡGf& xJ 4tryk=PFAUBBp.%@-#~>*th/VV=^nDBE !UN:/. l|c$?R@Q}s-]k.j'E3܉YV56;]nrVNXyNB[̈ 倢;5䠆Ab/^XJ}5{ub||EBd-DwӅH\ӒcYe DֿtkamtETZ|Ƒ@?d j0ͦ-.Kbɏ8} =3_Io#ШWf :V32^]su #uW,j2!v]T&<) ty56۷1[٣ȸIUj伈 ֛*wl(UD,h}g5OQLꖽG>ӢHaæ3K993 r7Z\{0Ho\#-"WO߿WwkD50oÁۑ#/2>t:n  vVN/4n8= (lm+R#I8HJy 86S4>>=Ewdf͐m n7fb3ehZ{PTd\5'/6cıNQ԰.jY "b\~_H|K 4QLHR:]F&݁7xz= ʰքT;%Z;D(P=! y/)9紃UѫͶ C2Knh~ݘk.K-6#Ag ?؁[ף ~mG^zp$ԊS:+.OV-NYIgklC=j٦LnT<ُP*7ܞ K4v]9}W<}qD}Vn׷|bZ^OET J=+ijLL5?Χd:n-NRD?2Fˀ_Ǯq'0l.Pt(1R~reS!>/t;90`Vj7hץ?#11#CN8b_E t|ycan %D8L;Vl f嘮\W_RUt׎\Jg:ŷG B Zk6z~Grkcr`Lv߭H$Yetןy%˒5$2-mGN􄹖dҫS-˄~_Hm4tXQ^J«xMK،֘k9"L3s06OŅKbK9Tvdפo]kR˨RW!`sC R#b'Ei)RHbp逽'#1$mŵˆEBz?pz\}:uJ6=2AIVνg*!)$d<;Ɯ@Ր1=xn\zXK>p=\1 r~yJۙr i?*]F+gʺ*9tFNn\Ʈ902b`.%=ǪhXuU)V%k=9b0_ip-];Zp4g5\h2e2 ^Fe9.ԭ,c0h<~-ˣC`̎,Lsrx1nitlGnaW@ORָ// Dsx^LJF  uќL,+T,e*7$]g/to*+1T%zp]t¶yײVj9zV˕+fD \wJB#'gvf~iGJ91%.rGHL!Xj,;tg.,\mr}nqn_ʒR/ +hթ~r^FV.tFrK$mf2V_2a?wx+]Yl"1otLdwv9&|cϚ6'le(53d;!\*C`m^ƊO{wda1߷z:ofwƢ>B{ev˼pHܭw#"qk,+$ByҔ/ݖB[*X czwj(5?1wER nNy&$τ2O.#J[.5 5JUv!dH{rD1g#}s={C3|YOL|qhq͙@69QӐU{B~[$xӅ__HCN?A3roZT['km " )XV^ x֫&h+I '`lf7֍;5 錗'嫄]-ӎ+9?ח7V#(ۚ+͈ %Lgu=?Q^ ƘIl~ ()`6L2M~'PRiC܆ r"xnyߗz냄}ٔndeL\%D~[ vҘVyjWVVJZ(%2J xJꅇM~\)h^C_'W(\J(>-tW3+vdDlwڔy_r~[efERlȣY5Ʋl3 cDog\PPVP+.<@ $*NB!yL~b&jߖ^ o#AtnD) #>>կMm 3So}rPzNMn&t/:ΔV_Jd]--Q. df!.T[z.U  `ϽkrdL:kE0߫ D'Kd_H~ xs\:<3")&_h,8t}I]:e-} QO7xdhWl<፯ƛ9d̹D<-e^#i65Nv")?xf8ͿHRWlˏWTԯ`ީ$3C #Q`Ő\\Z^=+CEsaH+upSi\d4?b>O=^v{V^pnzsPylR=z(E@ӟd0V)kڵ_n]D؟=eOY)S5)ؠ;eBqj~jliP6Y+(<4O|A rv3]NM֧t,T,R66YӲA8F:b?0l%j% }+8;VQ?rUSˍ';+)Em!T6>wB~(ͨUn^![ryû6%Eb{-h>~'Zu|{;5ʁ`3 *{O!UPl tџZKXubx¯4o7L(lJY~§wtd6aX-:@|^, rp`Ǖ [Rg KjǶ{)N,p]lEtS(&t2EÉ`֘j;ݵ-/2|.{Hӌ8#4*q.hVmnYly^AT ί75@?ce+kgm:6C;D|BKOǵI>\2R5l}(͵X@r9"|{AoX[u[nqC2mWLDRH=)'υ=6WOŕ͗!&ț鼮~ 5lz9H˄mTWL%7PuiIdmQE-wk"DR|f72Lcq[rĿaVrp!@Vɋ!Ȩ'O-]GMC|7^̥bPS$XKݩ^+c1LgrybXby $e =&Ws`Zb UG?&PO}Mn+y_[9gLq X O~;8)%91r2f*{ʌQSRأck|ɯu*#HDB'4tDr<,Ԑ܋el5>7ja},ND_] ?E Ӧ4`MǨ OgF8pL{fAy#_zxy0yw}΄@٘{v/Cp߲\0(TSnрGˈ>@Nhcd:VpSP0`>+V l:ҲrWݭc ZgQY/BOK E0b1o?Ю1gEgVuԍm6h;ߨ?kgSlp0׃7ogX?{V@-Oc^e$Tk'-zZ$W"03N9kYP S+|K, 76u16?  tu$" n{FuZ2Su-!x U񑭍&*;P,\SZC ЃJo$8="x ً Y2;˱15Ƶ)MYMS}}}"8;JMXMMEc+5IR]D|H̛,ی6[⽆a}t4.Xz>pS+$F44go37f # 6C2qmG4)|eRc6sh/QIusG+f5H3rlqvo/F_*C&A<[>= $:)pjG 7w]QDž(L9wNZQc8$YS))nZnU]J'4aAlgОɋa4MN*<7m'k\fLDžž0GuM#zp5".7_>8Ud\6j-( NĵY{b $E7 ykRçǙH0_y.=+8I7W KNȝm ca0 +g#V!Bzs𛖸 5 YrRуYScl}S+]4;H:6+mhI]R:1 4RRٲXsOADt(*,VȮozxuEgֽ%a \N?IWd5P7Y2h>5"NmYe}t:!: 5`&!AE5H:C[WIr%KUed9V!rT2p#e$8Wh^ֽUޓQ&؏ҫ>S{1*WUGyoX^ʲW}FeZoe[Z,& US4]b߳& 룲O2L?MoTGZ[H+5P6$#ej+&Sml#)-kfx5,n~:wtіq:iuIQlMGpA , ʠoz} ??Ei=vZ`+=ϩtUhD>(<>(nKD5-2&hpॗZWW:w2e>.)NM{CXw}V߳=Τnm&Rix>CQVy~TwlU,4|v[~p(s81Jh|4?\F| FnU()N\NDհǴf|0'u fo4G{AԾ$ʁ0S|DfQ&2 Qʪ5㼙:;C*A :S8j)~y)z/e !4o9F^NvA5=|嗚-\*@1A vFCQ[/?j憸åL ȬKjha`CUN? 7d]v٥U:2P~o"S$#gV1ImcPྲy'6@S}%?@QT)bQţH*ߌi$'PyPi=NuSGa?lM@2z0?P 1ͭC&HKÿ͊$5KHS4wܨoNխ 5 n)Nb'gN?1BX!'l{1EX:+)N۪I^,qYƯ0ׁ7 Y HK+7/WV)K!5+1~-6IVԥfV|O/FChrzњ˔|UɔP%)^( T6*yK>}`ܖQu^y,vG<_'k^^42D`j=I#هgEcgcC.aT{ iTBmP'qe IP$>=FD5iM%J.xzKx5L&Z%9eI vQ%2U߾x-z;KM 5O׫xET;G O#VpKrOWZـmgEplɩϸxg!Tv4njFGPkN\7Cp6Ak _9B׌w '^%91Z$(U^K)lRvIZwKNBr y>VǒvyƢ0%uU*bM Jr i#Uięڿē20jGƭ)1'.𜷧xnD 6ݯkh$q\S- YljWZO%*:IYV»&n4Gb X+k==R`3Y l av򠝉 bl6s /9=zp{Ж?<19MR #iD. |C/h6?UNsЅ{-ƾDkf͘Ȣ/Ykao (CJt!v^]򬧢ӢW!JٻW$wٓ&|tMYEwaX a;Q3=h\_ob x.Nq+˧!Sˍs9?׀F}j*w_C.܂ó#d#36#cR_XOmK P{ebTOLOw֯8.ܪkr #-ooT<GdM *rvߤ)a  /t86zXZ-'5Z 4}fOSsw{! ĘNkm=\=#kɞpƁRg3O>_EQm ৞ \84"B7zKY \S/a+ǻf./6^25aӀƬ潒[hm.[t92?58K?~yRX[K ox+ew|Аg7E3qGDʲ%u.zϒse3Ϊ7 enrSd@4zl.}KHpʔb,9~,4Z#,"}8$LB-MfnA#[Â/Eۈ_t[ }iy\8U\a.r2Ԧu:ib~z5?]K!7LFNoʽ4}@eQTٶ}=.t5ܳ&Pߴw*m.$;[z2wQ7K>޳< Xl݅f*"(=ΫMaa}ʬoTCs;+#n;ߝ,5Y kwNXdQ fxoA&cԍS#sy+Pi<%|lzFF]Wʆ@gxK!z[*IX8.yGP 宽 &3zGp`3]QYŔIem/< ӜyFqC{RV#xrDK6,<4$pF&qnu],,ݥ!iL1ajIgdthifʹ_`νzl/t Fd .,*Ԋفf&.Ȩʼ}FLAJZ7KuRx_zLs \cv\ >Q@@1@KŗjL9YI;ZiڷXb>u#"f٦S}"Uة!S~ t_-W]c1y׸\WPYlȑwc"=.cnpPaSwy2$r ?:dDb 6r+WJ~Dъ\e&7b=<&hwFڃe@SSkeiK5v6Ley)rkx@?,PPf"~,a+D%?c!<@hCѴ+MSQ'ޢCEVŎ ɓ#Z%μ;uh.7/ ^(=d?ٹ:UvVo)X7GT|ss`XpBy3m s ICG^Xi^[c l#Z؏ Ӌ 1qISQpƢ(;-ˆͣqRH+Wq*nɫ,N z1%S}d B#4\| 9ۚ8vCVqUBcty[o4x4MRFQ z~rh!`'&k|P*s6P)?KVȘQ Ey\ 1Ӛ@T-4eά[}JXV[xFA)sNQ HUIA$ q}7qE0=Pd!}!`_0-?%oEMEe̤F 5i4vA-b'[$ݠ|Cyԏ2TnmE)7lI{ߪr3>:1 i#TҔdƘ hľH&RG#< /hPz SQeI"f54#?A5d[툐|^\ڜ B.U(ڦKFti0YͰbGo>ި\EcU~esxZJ.ܿO#''rs6Naє?UX(yM =7p1hB).&NnTfa{KN :L1)JB~.o nզE"dxy8Yȩ"ٷKRH, xKEPӼ4u [tj%Xa/6p܌/8%6#/*kX=--)gqj]fe29Z:8(2#"h3%͊) Y(.WJSIqS%%J /U)~/mZ^8 |']HF#$e+\#Ftk ȈQB,粓|T3B"z)o]'ѷ}9 MT\{FWi'nZ Ŵ蚶\/NrxP)ŋ˛o~!oY3B>s{ޭrf/@@4*/eʶnD[ViúOFڞzWN$/uP %յȀ syk]+(cg,G Q'7i.+SU:O& S*;dLOK0"3ǹɤі)EjdV+F`KEo~L^@4mph!Fg)e_YL?lJW ~c)Bece6$Ha2L[~Ktłgfo` Tt|B6it?, : wuv$iO^"|Y"`%YsKK`ūYi&f/*p'e\eө$!0'y+?=P#aMB|<Cb 5BXq|+VGCʠF79Fφl!ޕue$-xJPX19e=g|_aɮvΦ-%orid m &Bdnfǯ >䒽!cim|7iJz#`x߅:fg\ Df8w&[ߨN`@垤cւRb:]RquܠYBۍhgEkcW| ۔ij@ #h2%l􂃙ed w(>*^o[8kQM|t_"?D%]mr.g k+ѩ;/M<4Ii;K*A!lx>!#xo~f'*8:yhR!}odF&ig؝W*"d,FpSncҜV,=[g鋘] ȈH. 5IJ+K%(Q1F~ξ2'TRV% =vp۠?O RC-#7o'Ҷ4VqQV Q=>F_H q>Q9FZ4In#+ڄ'W>0+ 났m+%@|*_5K_ 2|BTt(v'+3bszVٽ ;ƙ\'ƟSj'k-xk f2nȇs. ׵c4ωƌ'Q1M\I1yߌ==˭GHJ\ P 5(e T{qLM kmR-< G@(pHV\XJ h+gP'Pr [ `q;_[;`ܺ%ǀv)GS6]!lMR{Mz@Š.HH:'@B"9j'"`6X-$!ώ%j'?5%H"̌v<{8 q:|=Jo*;fg; I*gSxۑdnL_4EyR5 '2d,(n0aO/#l%ʥS*sn3yJڄy6":؎uX1k[yl|H65?SS7U^gaxuMy.Q#u,)TjHRVEr<;ۊ)mu)<{P7*ܔW|;5mBx*2iAŷwSqW̲V^ux!3"_t)Nsq+kpPۘ~JC*i: MSLsOߞ;k2&] тQsIRI*eWƕTuY&_c"*p^A]Ly;1PlŲ]BDFBF>ݰ _~q7Mbif ު/፩GKztZ8fsv'gcf́A]ĥO<- Om2T24f*\ߞ1;(R6~\SeR8U\S'sc j_rZ\sd& *,R$lҷ>wЮU׹6drLs0b^Aʃ"i-[љ)'I'ÄkpN}3(Pl`P./;98:2d(IbJ cpK(=כ69H#H}EubKGvGWc~}ADᆥ(G'nffjzfZX3qZTH`1S|xØt`r1:ISr<)5J/pr#)Unk>g/( !ڵh=Llvd$Eթ"`;Vo2rj=`‚ϝxtU{,mZK248F֣%9 ,v.X2 IA|:^ܽʓG[y:=x.N(ٟz='1Jo2 HGDwst>k|0:\_bx#px *M`;3/DHZp⣂xD\><'hm(- zpݠ_}}:a:ǗR9GO}'w{<ҶBޔ7|\$O`)x -h)z:-YCCoW+78=!Z]830!h";>{@oZBcNC?1*]ȴ0?JOV,<ڄ/[S+C}xT_;I#|n EP~&< ^$?ߩ,U-"l1Ω?ӏg9%7DG&I-Np.ԱBٺG b%"u]qÌ Th *&eh;1sqV4'nPO;n,IzA(.67q?(_e+(-*ԾSD1\6z!ь\(k17D b,mAGLu CQTvWbljnrxkO6,Kc(Woc/ZVE:h"҈{2,)Œx[wT2E}tT>0n<:|FZ]ixKGQcp'NwykJ󸭈?2/nU^Rua]j[zY1χUU&?Ց(>c\c};B8z,%#QfYD5FU7q n[n\bؘ$F{N 챠QgXJ Ĵ`psok~yj/(2@t2ܩ*YQC]"+瑱jTaP_^ߢt/sXN%V 6枽D`)زuF$:SW9aA>j)hv(6_+5oBNf[;$$4O:1e/h?xH+]kʗon/glY[u.s bW"a V܉ 6iq)qh[Rmy )gn6RAmE7WdR}Ndyn~אy;oQU 3;c_ jZ~Wp!=ٿKvV=M#έfU1"íXU[ݎS?Vp-VuUOkK@@OR$<>=>Zl8(p%q2h 7'5B0tM&)xƣa([;8Rm 7g-RR&E(cs):n>r(5;~4O.8۬F/}w68i 7˰̫*oǗ UckI]suHۥ(;+D N<8=Pv jjKn5ξk\$"͚pq!ϚpEGA-%0S_'!E6D=?W,ϷS}*d":.ZW 9M]X#5VXkR U9tjwqbVAiϤR^!'ԖnnK&[qE4.6!Xz /kVcTJssB,T.bgD[i}/P7B.~Q\+r%5Aa˿)V*O b?RВϪZ+s\S6:LjK;EXQu^QK+xyoUM,zB-DQz9겻(Q&Zt }>?WhSk]5g(l\o9w^AV"8ۃyUklߣMn_x QOўxh]݀?SEh F6)n.2bmrkOqs2SV!?D-3b55?1v問z$<#xeG.mWq̱^k/>RM'}Ω=(]!vqxᄈ^P_qv킊Y;,ۑf1[yEKӖ{QbHΊ? f7c}@w&#:--o7YZugkg|xPpPVb>?X^t cx +#Ff&)[eveƕmrgʚƯݠqc 7yӐzD ,jƐB\$Vd;ĐTSLÐWNWa3g|M ~g C?i{S T;/ 緿V;i-uՓPqxT2hCj>SX.qg(;E,GzonSms'-`MwF!"7:.?ʯҖmY?ކD()>"KYw< S*i2 \/)4KƄķLj,A;m-"8@]XQD_\XVJy3RH:0/ӏ7nP |w} \>*#s}C3,J*$^ ?rjPWl{qy:ޡh5$SSڒ21*5Rm.R{ʕ_nu]|5.t!,~T?Y ETA_zx+믑#BSc t52Ѥ<u&rHe\mv%/rl/ӧ0e-kWF,eT0BM7\v?շ.M;od yvbT% vTӟ4U=ËjߟomnZGy>?-$$S r,=?ZҬJ/0fc:eS"BmB{B雤gj KzRc׻Ͻi$p᫈snHՐ]cӳKI0>tQ U'aRƛ$":L)4%Y7nU _; t'K$G f"Q0ryDXt q ʛz'f .oTfk¹s['^ G9ZTk_w5V\ [5|C_;UedAqou#q eT#}5uݣ>џFǝD@;Ͻ#*7Yk!D-dy%?Rs|V+I<[ؾl1hkai/ ɫNJ-N/13TEMa `0q b/܌Bm?"Didno &vDʩ0g}ID-ꐊxf)cj Ubmv;uӫ oQZOԝ4题l'zyRB7n9VtrP^Yh~xCwu ݞ4H UC ͻ2pҤ&*I8`|]ɤ5sGWtn`3CibݓL÷H%ZM.UUv0Ӑ)V}~gCh#w;RklvuڵoM@ #LLI߭h x v$?sŒKu-6 >Z0QpoxHx?CqSDN9{injp TJxquO)o%AV&n=;0 ldo׎oBيڶr9Dep"gY_z^/1,niˣ"h=BuůJod3ǝ]n7W^ ii\^O7;>?wQpGMķ"gC$ϼ'z'9$_ F@ϫ<[J:I$I#=_ܕӤRi'Œ wO Y0Ru?n2iן#2g24 3hf{In _]FSA_gہmzMl͋XNvSs;U9Gүc̤iFj^=t>UKCH:R6Tilzf2]`J`+Iy82A-|L7AK IUONT(LIsEux`p4R%fP;ѻsG-Ԑ/{5[H]F]%=%+a@Rr+<_u#_ UmX:m07ͣ9Hd'ErJ:O{|*6M &|(j[#gcvnɅX]/n<{:˧igf}6dA-$%>"IL!߻m`!˶ΐ%'hVަVQT$g|s\"YP{L>Z:O*ulV$,\CGм\oI/Gw/MLS]fFLwSaf:#Kx<7qzQnF$&P v>' gB:+d3=& ڹ8hNLLh[oFԛz5ԡf` +0b싐^uJֳ@Q- %KnBzy_$z!bn# Ԕq>:FNXv X$4^L}I翔uHd#icqǐ5M_R1bRzHHuiLpNI{~swQ5>^ȃ=c&I}`wI#T0L)^R ՕB]=!`+1|l3?xA7Mzi*xHG_:A&AVK qu{;t5U,~|y1`\-xcN䖋$\EU#+~Q E!$[P2k}p0+ikc2}VH܌ҟXϫZc0N2l!+^& QbVP$Y6Ald.r@XxErʺ-CVc?TL/in NBi}3|"ٺqP[RbԗG\x~qU%x]|X|XZ $2T]~H /M灧h$Hfw-n#}b']zmyzZReqMŎ &>Td)^vwJяmsQ #:?hfn̯kߟ+P{VŤ"dnL;Dy~7(֪YqMոS(h("W}' k\67Er9zc/s4KZ""+BVA4V] UtIȄF\VcFDbh̎jZsD(RG=k!fS`Y^rXf$Yks`ccGG~6}w掞Ht%hcOCoh/u٢9GJGڱөI :ӑdgH Bs L̾YP򚁂8pagtxп4 X*Dɝ^_Ho"l\ttU2P7r$J$i݅&ZLM"ek<\wDfZ35Csi{)ESnV},wOV_\`^/uUd#I/$F~xǴBbA=܁!(C1h[%\:kW9Mh;KTzyFvI+ܫf䩙$+dt1йYW04{he t})'rlie t`!SRW2=z5rv?zwOI֪ID c4AkM"Ž`5sl.8vaR;a!0"Q&YbcF'{T)P~ s>TN=.+L ৅EDM{j(_:9TSt-DUdR1UO#T^&R9 @ώHthSE[xܛȎQ҂|uB`V y[p'tuU? -u} nS勾H]A5MN$k}"::֌mSτt6pTySp/|G='n_U-vD8?٩1:w#.vi Y++i1R:W-G㥐IK_Yr~#']U59`:z&*unIR4q<-%rH'v\c aBp 9گpQ{zېS{Qϸ\rXM?9a-^v 1uC^D|2$IQr|rEyiUN-((=$"flG1`FJ?Wr2}^KTgT,w@qحH7Jn6qM.`{sv]*h|NiR? -_/>H;(t+VB WܺƸp~X簹I!TP%+ 5xI@8)5—mARS΋30.u2;"'G'<Cl!R#t Svn`%xr @xz/"SLYRqq/~G=@zYؓg#HAvTIPa85'ǼgXW?<^`6OoX޲PDYU:agq) ?EkCg>WauϣljV>1 zaHKYsP5׭A|ؙm'f| ~U r)y],N|<|8Wtb3+( vZFyOQ/aS2]C[vzVͶOC\Bi'#eD%ՙ8K rٝO)bdzed]v1DWY6O!J2ߋע䶠\q4>c$0/uEBZISmU;- V$h|Z%v4+cjV~Vbh$6ki(uf;U,/nIL3"TF:C)Bk}ˈWؤƤ[Aݨf3]z}*P9`LTwO:6zfnIs~yFD#DJRlׯp2> l2p_N4"/D]xȑN3ݛ mM) 2e9Ŷam<$]Nxp % ZL9ZEow;g5f-H%/2-;M/qɔy~m D wa muTGV,g4pGS7mPYq7%6U CbDS V,R: 0WD2Q` ƂMPFn#s,<ʎw|v[9x%3EQeshțHJy$S Sƣr]13V,!@ͫA7k3b7JDX- )X"0$Օ\QE"XlrrڛscL{](Mx`4܉寐 oD3NzĿA  D8M3&j~+՗_%Bt;H69@c}(DLѤVkߓOA-ulE^?ExaZ6u_ 2^k H>Ԋf_D.OVf`S~#~"1{FVsP|1$i|8P⑂{ՙWA.^ND jo;Y/`δ[>lMiüL{~ C_=ŅC@kфD"W8: nEGj4fE* אgg&uMYs#[_J$B^2$g Us-h)i52X.cQrՔZ,;+c9n$n#15vڹhn9sAN>ѤECWM6=*+Q1Ԯ~9n4 !ƥqp%slF8UB/fFۨdxVDhm !M`&H9MA,_P /J~q[&w?]J\grMm@f׏D۷,#f;wC4, Kr%u:z-3x7] Bt1@\{ |ϑ>(ϓ[>(5|bs&\ A^̘t+4ωnng[=_avx4 ,- ȩGap<`|l=L$!8s(kHepCw=pGN+xpWa.!YXV^m ^/P+8-SZ`5@o?w8nj6̍Ås2EOm^p6]HmfzB7|( v΋M7)9ټ?`߭ 4QZn`?RگRqpfD,"acI17rbs/G*, UZxvZof@7كhDj#8E Ш l!z37pNА," +fN1&5|}NL, A9)?3O_(F=o \X0\-CbTWg1eH*sϿ N0KV2󴵰̕SeY L4HALx Y&5V f Vq2߽|:]D7%v-tO|0+PN!'fmPUT\܍BÎ턃o:x[2tFQ> ^y \XHԅ0o*4Gi@]1Dk$SzN; >*}яS̏\B}h0FaeH~Y^2d'23ۆnHݯIRR&aMoWȼ!JAPFPWkǦ_fTe /2M7 /PPkbo CFŃDh\lUbg.K4w+_W'q琇z<@7yXێ2PY5ʵI֔q,[a؛T<^ {fϥRͱC~kNUXD!h#K"=!(9}fZ 2K@.q{,ny+`2W&6-@[_YR13rvox79ъ>ioB6R+`O*q'ч4`4]f&k `y'f=3e"\҃^D8$L\2}6s3kX\ߖ:~"YcZÂZ"W^->|?d;Y|-Ҝp/3qak)XͨߗTcK'mS|6S '[٭2J'5a{`_OoADsƶ0] @%2Ŵ:K=Xiaf1PDg,z*Wy%M'vv:  q`rs`0&tQC°F8<=clp&7ap0y,S5>bCo%W3~6[&ʍrD7Lmi54c }@ ..ZߍwÖȎPtx_칳xeggޟ4i84O'`'/tat QSWwWJƤ^_z26k.-^>EGT|O7wgP̴מ*N,&6fMϋX$;7p;'Hw!@>HWY'hpNcX`2ܔZL/>' er f҈u]FDQ`[U͕CXF^W4c.t=[Kt51њ-wbBeZ%kd< ]tPz"bUil>灕Zam7ToK,6NV5=xh/\AbLu3vc 8p9FάE҆}>lƎAX]2%mxͨ8s:cAr쫊((vɿLdF[fqP>PzsE)\U$ Սc./pSݴvZG{>W a !guaYm1O(sPZ)(_%E%8N͎r*OFro>^<Ƌ0L_oգT u7~UK''+JoveNv^ҩMr Y_;wAԥowd%uq<փ?9"KAčSzc;.O/GҤh!![2a(r6)D2lrׁY[*CIf&&\bhg7)B̍ rGtip4',x f~cԥ+Ay?hwv\/'Jl}ًb$|M4x]'g; vpLnЬ,,.;W3Bs. A츝ch % 3$(I%xܒ }skx*~]{m[eR@pԉde~?|52^lͅ]'ŎhGՏ$amJPsϱc)c`Dc j*U~R8puWWv;l<{2˫n#>8hi:|aqD q(Uvf)J𳠯M(w(>yIaXU-,/! {icw:@l@_dHh B" 2ۍLÌv I*Xn?j4ꥌ, &:1Mۜ4nȾl! 0)s İ5T>koB;4r`ݔ&Z$c@4a TVIʕ-FЫe4&j8"[N<WtW-R 2 yEw0ɘ "sM'hpLT E3o`<RpX#<{`B8݁7Rr`QИ_#ۗ{;⮵!uߘ(QSqa&'4?eKY9<,MĤW41b"ifdh 8nqqSsljm5Lymn =, yxv:z_ }K/cpCvBbҩL.H*S ƲX:L{^VC43lMڗ~w/ =W1'0a L4XdwSy쫹 2r`8EpPgn9K0B8j g9ɾܩLpE~}cf`.DNa٤Sȗ'/Ꮻ`I(DgQdIFLp@6xމ>ʗ$_ʯQk k#gV `e腟oS`Ay3x qìE/V ' ״s!@(5^]j)scbuY Q7 8J\^sb/s 243l: :5;.]zۋޞ8_"l8af= ^S)qبu7{?oEަ)9Hg =RSL.o/Oy;Y{URLA.-=n1 xC  ITP@B#Qʤ١QD˄cXt(106uJ6 Ӧ #?]<b2]ÖkwS y624ѤQ 6u~\V2 !V vذ6;G<.B9$\=u mcˋOGf pw!HXNR$ N G 4LP]°^KC8M>ۆ+- 0z7Dפ.:;STmAж"L8)P;ۇ/a#A^ DLӓ'Yĕ۴4Q#Ί&[KzKUm 6{e:S* 0-Xqu~<>V(Ї>玩Ro ֊/3p2Z6q᱾  pa4ge'v`ͨ$Hʠ]= 6[J|.`v`F,x:/&vA!䲤1eR R.LsJxȸS>L:A3 iNсGS2a8`z+y2^e'@V Ex^2z$lk1);nq X@̷L&7H eN3=ъ3Lf xy@㨠 ;ė Y0q2K4q[A掣X+{m3ϒ 9΋-͑b]EQf˰OdKԘD^Zik ?NU9mHƶFEsnV &ǘںzfH[Rp ?Q ؅-Q{5"R9_l@s 䥧5;؊a`lA[!8Gj̪Z KVx 4I-Qκ.'[%o&uDM]Ll)^]@Zmft,qYJN"e/ 5|h|](E@IYp)(5df)&mctnh5}ձL[ϣb 7H㎫N8E{p~62&%́(wR'ehyhk+Bmqm>q["EziU4:x oHh3kE_T#h L_t>_~.6EuBX`$G_IڵHg0Q%;ufS3o!Ta_'@bR M(vs#dW}ogf%;0k^*vϵ9<2/[>]'V<Ư7Tl v&4".0p=zf5CA? Cp~V>y;ّn&)ƒ$Gn?ծL8|!A/k]!0F\l]WpxfUTu9+@4j ~p&L/JWBٌ oDRP_ LWv1=`bR@9P |xXLLa͆ʊω&xdhKsnF'4ep@&NqnMc~DL8r@1fYwju]ɹTy)!n:zꨗ2>&@ɄeɬM\_-jx&6i жhNuQPqd2}Y86Cl1cAGOD,EEda&332tI̙-hDP =i$~$p = !o`LCFk`1?WEBkgB<_3 js{4vnB( R Ҡj @~} 3^4`^.{sҴ`qg_ d5;ĺkaw&&f4$nL\c)4LƳ0r[\ BP% 9WPާP@m9H&Ljͣ`A0kx@jfgV15SVCLhGPx#dc1^(iH|!2ݧ{"L_m<) v/ Lg~3b}ޡ~=?¾7./jԑ7ypcB?a!"AMcXpGY9'nS_^t*c7?ArM}: x$Z'ݫ,fw4DWڒW̮;JM1Q9i]~}@|+ N*پ?M> (E0\#JR,O7%~Êz[l,ɐx~`=1ۆɽ+hA8YnZ|47 $.ݕ>*/( M\ L7.W A6BX2tj j3UJ&,;_ =.mL"$`W/+: 㚭-kRٱ!+fpUeK޶D3MnNF-"9N[1X^7}Voj$YZzSCrHvt/k VKnh˯AMqF-Y:khZ&oBz]jW%yݞ%A}Bg2cmn"0_a}sP[^;t-vC) U`'. ޏ ArȽ8&m7%Gn=[~J[bY}0Q0$|7lH lq0;ȞAE%qV&bɁ~xx~Oը!H #=pcD sc~\i|\pf0xFwsrYa圵g}HN/{L%Q}lkǔ6^/ש ۚ׀0:g1O{O]W~djaV4rl Ӻ$kP1-Ѿp1}kx ^P`jD5DHSgZ*7U`mzBM4<g=|0B>5iRf࿐6m#`3gABp9f&;yG>hs?ax6߲y"|4^0;c$JP}?֬Rj& RSFksÇ$mi`؍mw[Q4fp=V[e5ֽ<̵k-چ9-SO>L<`  `C{z;nbφ~ZblF%OI*Rf`Ĭ̲G<~psW; 搴so),@RXpXXt rYiC# 5TcFgwB܍Ew׌= Sw܅Ļvh'6lqVȥtpIٔ ѼΙ+7 5VB{_[X v;)x@ΔDw% U&WS]Nl럼|8xҕw*|(xd5%J%t,P>Z;:!a2Csm)[,YZ[4-4KKD$`H g.-kZ(<FK!c&\s$cJ$nY:ZT4Ss8x&P ]ʼ3< FCv90{G<4-D[.[`v_ƈYZY8ygeh۱V0pDffc\EL󘟳c区nf[,&6U[-ז=-WY 44zm@U|j/,!<1H>50l+cVl,1-9D-互vU./A s1:bg3C FŞEon4LU{@-j-ԋ'iEh'h SSkbHX*h0GW _SE*c]D^?\C?~jԮ7B!rAjM/%PG*N@>1p9\CD7Ǒй02i> ʪfNt1pu)o^?M'v֮Vl\J{dI͐҆;/O*v$䡢a$eo"hr~ؑ]~&܀$Gn aW19PTbAXypqX@=^$ܓiA#:(l[&yOp)^/ZZ&`b&!{X|/+- xl]G1Һ.( T+o.ă2Ny/][]T6ֿ8!Q^7Ilx<cD٪:7߈T0QUkE Y-,{G|if k`*zI&XdQR$s-M#M h(K%&P-,^/L0=}EKb7C5X,qqj.tu;6h8PA%Xb"4F nfݽ搿heoƾ>r [C.d3a9gσA9(mI߭Wu\U:c;Q!nAy%q'R)w?4c 9gxGYypGzL`eT;:^#udKmx~8>R'YH}u˕Oӧqv:ɛy[iBϐ S3T|5r2PP-|燐G.78@A: 2s}W4Z=tKp5Ϙ Kfӄ%lx/Xr sPM%  sbKLQ8M>Cqfy nb5@8ze \GKݠ}V`&6#NQsIKwHSO.윦;ԷۜCجQuhQ5(r7+GpHles9ߢFǔ%ɐ Mם`@w8C)2׍ly'50]?c~L5=x{-enPwӱ#4\cmψ9ZH܎Tnȵ\Wr;Ȁ B2$Ɣ|ZO%0B g媁!ԛ, _ B2O0ф@&> YQyvm@p(+$m6r\4N:*(V_t2p?" VirDQ&ukE \Ғ:wi7Nݝџ kxɜI璘IBI Cg0!PWe$j6hQC % MxN9vkOaW˶I,(DH>Ʃș ʳz^g| JC(е=*%G{= 1ӥ8UH)pL8h6/#  +Yy7 Y:DŽ>3 $Nu6ӡ4X~+汳MZ;10 3 @@-I҅Ka`5!))BBwEJ3.in0ZfU-u\l@hcL#"Z@j24SZQtMܧ4 2 g[,8 &T ^ӭD39+DKl4H9GSV- ^0[X:g%CM:66UAhÎGJ-IG:Df~c9v{tg~(K l<H2V~]adm۔"#܁Ġ>a| ]~0:9J|l:C@(yى EkƘ @+"F{{"Q绬<&80R3?$XIw?0@pJL(PFt'X:U6=&8E0>) o`b(nX>=?ppa$8zYNH֚oxOGΣ-cEwط[lޞ ~Lr0N]$7/ =vR|H=]0W뙵GnS(zދBLƯu9첒ٵӪq jTB2:6'߷L/W+Xn+_"FxLm=TogېlKDESloO^)5}ϐ{\А6ph(5%`W m:mnR4&t+ߝI<)m:\ח2`X 7k[(0T c eNqIS[U@CG~ɖ5^|kk4`aNLV@~81|tѢA%-^@^l7P, KD?f4V\PDXf=koqWpǗZ7/T­2cla2,M?.ͅp*?Loh>mfd^fqÌ$[ ֛19D*K1AΗ^(!=QePE&~ʒ™ ,g>RˁOs5rU9Jp-A@;]\o#(s"$_i]1t<\ 2 o"Wl34}Mh[6g6.IWP]4cFDOU$/P4ݢQvb[gk8^q_~}k~6?%`{GћzAٸs߷R-ƎUfhVB \__9N4{c~ d{02ƾ#4X9|lkl{xlrc[\ JNX9_D*_`XvIoDWdg!dԍ4lq䐺`}/rugW;]5m'Šksݦ/QP7K|K҃j*yB|Ax'38S =`o~,SObAwRjrbyL+*0>lT .or(h#j]'~+N j&M.%yej&,֋+Pi{GyYY`B8kH1MoV) ,6(k 7r"9\@.s1"[~%MFDUVq?,!# keNEr*qkE˛R|Էtx 2s} [%{]ssI.@9,oem9Zajm#G^>8iǫB)J-:NE Dek[$M ]}H=f,^J ]\;+G-]`mC'f8:" cMh$q5<^^^@[6A%JkzviKP`+[j <5ޜ#̗z2S5ڃ鴁פ܁⇑P%O@.0ns0!њ@O $43w^~ai9T=: Mja@i0;@eǻDru$(-P' NoIz" _4Y QL訵+a0q\H|}2=*$r ƅe+]n@ iKGg!:wQl/ ͜Xw<j |hKaixDF $/^Hlt>A#H~16d !4'L9cC+59 ZYTy߼n99o $f~>XÀqŦ\#Oʙ4yTlöMD7,/@`m\4C !XCgOІ&e6Q˛{ydEa^%Y7C2JA$C ^o*}u85Z' 1-EJǿIs۸ .fq  ?3i@#8kS辁n v@ͦɚ0x`6ar/M(O^e37@0n>-+LNԡKV9ch=Q@2jŚ7[hpE#|gj[!$ď%{8H|{y4={[$7Z6F!4]+l5j X6pD΁~ ap4DN2:H 8zY4K ,ˬ-@6iYs>%ȤV>PnxFŹ8y@chf'oR74$/6#-d'@rm,hV(챁cրel$6Їs%d#qK2!y7˿dJz^5Uˀe A~KB UlQ "usE5fJs]u\"RqV&Yډ慄sXx35rXj DIѠ}Ɨh_bh==T} 5샾t ps3@+]44@?d~ >ڮH -L= NJq2fZ 3/qc3=9qXHT|t9 52ī(_sammI/h!i#<0lC*:<JfФ@7欁'_WHHy ޻Pdeȶɡ@A? .|LzYp&5\ayk;^ ~MHR dwd5:м$<PF` ],Pw:F`ʀ1Ȓ&Yz \2s@t9 )e Ӝ9FZϐ:?e\mRs 0] >/ 6٦Q9O ά6i}:cy̜IC棴,| jU1:Y}$ *p<)^;\= PǠQ?( %h sΤ-vVk(C&.H$b;9$/̕ ݮ|9"!۰MPrpԨ6Lp ?u7 ~.G6E?d v f+V$fm]#3o+<Nj¸CkIB2gnszH$_"'3##o=^fēO6?V(OUqN|^{{ BeGy(~@fj:j{AVPFPkxTKtp㎣ ݥG)TJAB6MllC:!gP&7YSC&MZ&wMru?c@&z p2'b#;B6Gf2\pn s$Z[8Rf0Yc]C!H2Q= dd:GP_P8zJ8y:hc@Bo&c r.9>8 PJ%*CLl9+y0!5mL A~gb T6W sR+蕆LGh+ RT!ϙ N@2ԓ@Fʚ0/d6WT&CC+?nΰC6sM9X` `2"﬑+Cܕ#`B$TIc~aszQuMW\Ƭ&$+8 3EKH~HrB2dx6ivx!Dz V<8}r\qMH@Q r'ujx6Pɀ5[!9%0NF9'j!er`6U9c@$? A(8_r< i=0Yd[44% w1uYqH܆4$@z|8 :IށW:Pk@aro%nGiԢ{/.CԊღ8b8x(@wFAs)biEZ;{\M,7t _t>>/utr!,R"2d)߁+Xy $;>; |T9ܡvӞCTσ/$!;|xy+ptpcDz"'țvER`]ZB%x$$89}Hם;aT:(1S?wP 0T`d~=}zI !`H#d8S s9s ߀Niv2d3,6H~p,d4tKb [< B;gtiIUٌl%΅v(8cf0,C:8:#8y`*3 qH HUuId0?fd{U'X1 |+JՃ9p$,3nl c l5dm8zHj!v_AF P1 ]e pg¬5W,y4ZW עaIa@ }LN7$-`yBxwv63Dr~4l >S lPe4r7p~Z _\{9] 6p .r u#d33Ura,} jW4`;<|_TkdGʀ?S}.6Z@E8w؊;hvEcpPnT0ґ)[Q̓9I~ H$C`<?1q +i6X oib|Hִ\ӆ7|Gl (ӿSoO^ȫ\r} g\G L86/e•@gq9 (N7rsdg@䅓,MÕ;?PCĔ&/&7~yqy{ ]WL0y)-Nr٬s+_l!6= T|m "%>>VJ\@Vƶqp~높8,5h׈!<ټ*|Fe q6EWɛNb5)eL_q'ơg-KW^lޱ Tx.\ϰ˙zdWrrܺcj(b<7IwjvMSB?i&!Y`8q?_a.K [.ELz3&e 1X[\o8c';QPZՋNJwU r*ohي&?)|x hebE=<>,z wXD\3h) iC[Zр[ Ckzh 7A\ Id01 >ӎM}r' Db蹉M= UW V]+Fp3y3Z,лFR׿zr{є{> v@:F>J~:? I?kp⇨ř` d)*>h*Fi[.H\᲏!a?R5*:uƆ6qr<żPM⡝fM}CnR4ҖVd_wp1^k2٥pG#m&:ϭ>٣aԘ"`* qRKJM&e1eTMU/+.]aJO4^;̸@ ;nZ*oCvN3@lޯ..E k$ďO8nCۘMᶸVOlɦ 6r~>ظxQ-wKf4w~J+I FwuK}77څDg6Mg:3;|U*tUaX"N{6bz:C»U 7ZqFua > -t) _m:'TN2"֞ޛy4FKI ;ء ?Gfx#qE@!\ӪEWGTbIE%jGYD -P/ZST)dL`ﰣ[_6/6% q37Rm3nٌCL.>c{# -yE A5q0(؇؋<ڂE4Ÿ17 5fǶo6(T-]0'ܹ7 L HqX"&ozO/;$)}q&nS ~xïyg6;ʘ;&]h?Vvػj9 ^?,{~X7Ai/l`VP60Il\|ATe !xj# 1nMtdf6uδ33 ;4]|o6HP&߶&oV1&? 4K 9<ƧU!GUҶn&Ia(1Y݇+Q{F#.〗*y۸vcљ6CwaF! .\"@Wu`a&/.򝈣$3#@a`O1m^yr nq1M(ѹ$`kL[F@ R150v|YGB=`huk=Z\ #U#{szjeFKJ)OM:)VhZ84jE.rbEMbd=(FUx8-mw vhRZ;QdOhvb&R1[x\bHsCU 4GbWɍ)>g)`h(c癳Lkt| gwi/5CpАӑ+ mgH2) &897\ =N'@ಪ|$'W 7r/*%$ pkzk r2B@ሔ))#xI5y}ӐPw?L bums<[ܪ`p>o%?r:n-r}*~%T gN{ۤc*&!.݌"坬*'=Pdh-nP5/-KVwE חGPEKE:"$wAbg/&'HjLn #\E֫pܦ9R_myD(֤VSz?H>h'&D6W'{`Dmj؁9^v끏塞HeKA '~ևwNK˽4#>o3)] C5inO5:I?G ̄P ٦ ) gQգebvìLwdF/!VZ`jj 슋63ycI FTݸ-|R5$X1sh4[Y؁|cR#$٧_jpv f.q7LɸlDlot+l>CiIT:>#mg;}uMn%J7R}cW/QZ*U>|f!;\OEސ s'%7ܺU~] R0-wN7NqZ~ oW>_eƎ! j29rLUNv"JT@H.o<)*Ksv:4b|sC믊+LD#%lq*k QGxң|~3͎ql~0F"jz:8]\""h`>)KLӜX|F~x}@ w͇_`#dٓu<49g \臫'n}G@٪|N-b]E{Lk\M];FYycn!0Ŧz/.THryKnk.qq/MNnSGNjDR]JqHvVȎP0' M nb_@7HSȱ7J9 }rM#3:cB{sPhzt[Z u06ye9t#:+'DwCO")3{У[s(nn$W]ˇ)!6Jc?BXn z7&Ujȍ:ӊ \WjvoMcK_Lfs >19…wa]J$<),b*!K~PxЛԇ\~<(f v㻗d>ϼ+v7t78 6qy}c-H0tX"`gcgx(OэQŪՐ֥<;z֦ .ƅM6Ћ`H'ga^Vה-shW Mg>4-Cv L\zC v%p`gװy&YG+hb_qaOlMltnn#6 .%i&YiWevTzB54 B\ -\.)_Xasf~ \t"Af.?V7YWf813Ⴘ0z4#.ss +0>(yFee,v|or\rj0'/`E4ܗޚm.lP/2$F0+ٙ;>VU̗ MXRSK :giLiSÆæ7N6`Kiu=F، |XW&Ku+kP&&G_bP0c.r.qc4vP"q-\jn fnS\/5:ql= P] i+.iŇ7@5@0=\"*!N7`bod(Q}d:tC2\Rr 6F#d1K'˪vyrQ. fy̋˿!2a([hxb",dbPAY0KJjszpJ5 [X8t0tɺYCpT(ǔ4|LuL`R`gb c0(ip. vc(Ks0A9&3ڐ I $WX\_#F\&rQ51-p]+5n׆ uFX6LCsɕjfgԱe.+w^:%ʤf!R-M3e l鸰Cp$pIJxu3r$Z>j]+ ѕ0GVXaNY..νԯ&Bš1‚C a!Qcl5za&S pl/aخas+pD آաԏ7ϋib2 oRm`(LH=O/dB.j \w HRCV4fƩE`X:6aDfHҀw( mgX h]!0f_^i<(2i@XrQmĶ6j,@#hLm%PJJR0􀓏 Ā5{YI$!dymsoҗ-d n#Y`@%VSPaK'!"OHB!,9P}ߣsy߆ ?]{~@ ِ@@!]kSښ:Y=ɑ3vyKf.aӐThF9ª}9}Sp!¤ 2^^(1 h\s:j`Nk64p: q5Ҁח1yrĐɛK$R jTS|&!UbQ OiN'j N f '$8<̴n@0. mx8-L㇡$Cw?=,cUWAu%4ד4Tw0˓|zU%=xtQ_d:֐4;7AE! +eiFpţ^PX{~ V5p]ĦwZ";SUxd%):([qI,">~F%u-~%V;9%`zx8@$WZ(. >\+2Ũ ?rdS`)yRbw`g %C.di¼۾ zO/2w b\m|lF8*=Yp)$I?yex`_Q^T+F CmpT3rPݿℬ*^kŪ3Ros#UԀ&jR;}_A 0$Œ4Vm57?jWC^XeS7הZCC q G.u1 ?dXl?%$ۦDMo%4'{R s)k#ٚJKcY$~ HRTi DLREH-:G+9p&? :)V7bY%E6MRԬ'8Xegstġ@8`fJZ!&m˦7>x"+e@1"Ыr3FQH,U\`yҝ!/v:1V_^ 2Ԃ!̅4>9]+.9WBj uv+km@& :NŽD̻ 0EB.mR4 5A,MrC]Hr9K_LJrRxrv3H2%GT\MC+ayJ` UI|ar MWR|gPj}Ť =IZ_ZO:' P/38Ean#l_4*c~?lg6s'jOTӤ(/&P$6IVmX~ vW\۾tqЗͥJUh<@X+agLEsZRJ&A4C Ĝ0 r|F}:f3K7- p TAP;,ڿy(*2e֫jvU!b*r!t^H-<Ca>*&?n#y0l$ Ԇ̜kը/UY[5)Vm(E8{{ :ĬI~cYUٰjt$bLH;i u`k3>oi5ѐiaKfrĕ}Gq='7O V@Th?%)ZَYwItP?9tj!F~ T`lS|4Jx8pg>vBB6P`gwqb5N }ot=%82x!B iQ l]~)v:?07p= jчY$h]`'{Pq٤[[A&--'ݹh;ZvŪ5<FAr$9f!V-kʀoD$xӨ7GEw<| keϢP<^")bHmab*9S> #ٜ BD^^P%?_MJ/twf4W8jTu޸у\^[w OG zvTibFe*(!2< ӴJ^8@ l\cg]z&"0 ֕Z?1پbsjݧ" ~/{(4`Oji-_?0TP*SpsH˨'Ae82MvvܢI}~ ;iWg 6V9In zUw0=ld+^XJQ(Y_ FD<^9sJ#U)!OܑFՃE O9 \;q8lDj*EzʸS +1a2P |;DpDy!MOމp*?W[ώg;W6 e^)d*#^t.3iA9 D;/i^t]3nٚYsC%S+0NWmZXC(cS%XhXLvdve:B10H*F_% LBΩ[ZjSΓLh(.!Œ:9Xr⨿><t:Ik%zLi$[cU5솺`QVLr_uI3BÝ3v:tȢ)/`A!L " +QƿT东$O5 pr%6Yd(߭xB^v@nj]fJ$_ōu#'yx\$tLӲ3ñ)尽 ;'GRo*ruR[ nЇPr 6_YVQ%- ֚o7+ȹ9hnV6JN!0t8ziw)1;41٘VIE1I=&IgV`,M4I&7z!&W,m}-8(Z 6x~ }UC /l#W Eo h"7rR`zBopz&X`\ad7'Ux<")k]SDD$![S1yR|,F#Ť=c=2iI1$iVW zQ p+ >(q6sFVIC ]֥5,&V̱R>[\cN+"_ |:͎/rɵUɑYcbfŤ&v,--@`ȏF,i8^[UNmk~UMg%FJVM!i7HR%wZ|~dVx1iEal.tvF?p??ƃ5lG=m(]t.GLp 'I܄}%9->Ƶ˩ ғ|^NOGQb% y!`rh J,r,c\>VTdnL_k5αˆfDVԷLC/'gE>\CնH%ɯ0-Ul2 K'1iɗ(|@\H xV|h*lj[K_Iwdj|N`2ލ',L:? u5#2l<f*JLM4rI^>!-o2xz'C_Y9ϖ%E8}&ih#)#Ù-K9tN&[-`҆lgU'Ǒ30aN@8ӑw%ydd$l<-@Mw+R=8LX!|Kw-׉ȋ8"]ih1Gml> iE\9*Ʋ=ߍ Y>:GEaAb^#&>hGYڠϠ(5UVl؉233SrX=(CpH5 WP:84&B!̘X 9; MM\*$%Z9 -P䀭 SnnCsiZ/*.dD4p&rRpԎ14e:c|x\.. p5Z2a$ǥK+m8$^ .#뼡zBbB("tBaA{Ow:Al'q| J2 Q-߃[;<3ٵJGmMSKضOtbkCeQ-z T×3&r9  .BYʗl$Ut% *JKij~Ϗ#ڎn 5a$÷2 ,I'.{‹+nZJP2X3yᖞ~xߋN4K34` Ib\O&!H 6?r#ܘdPqN_Nk"\J"VۚOT<K?*mHd&麆3A)sXL>9glV YQ Mo DZyp C\fDyo:H') \*rc>\$0~e1.l02NTh_PXxPM|ɬ bM`3 I.RL؁ RU\8*@"g{$\"pw W]`iFen/ɚ@|V f"ut ptƈGa0yPb,+ wLU=IʊFIYijs.bj\Wճ ͷKѫ&_ObȾ~<<`'w} :ET[sJQJhIxD \SG:1 e ]V5ϦvhKg.9T: b7L=joCdC (5DN+$D Z'g! =Weܸhʚ{_>QA5eBTS-O+|a1rM$Q3K\ ߞU)G+~W Mi ņ"04z/S~цa֧.ƇӰciINQK*2G+($<hj J7a"u$vh`0M$%PlP(ث+Z`"/&)֍DfTi\=ݳ$u$8S)XvZRn!Qv]2bhڤ󦕥 H/& !/#0{f^^.[*|9P L?2ľ88BLMɠʘ7DǛ]\X r$[`nz~V6(rn~҂a6.6P0C ߷2϶cGM.Cps޼:+1WaGCHȤp+_W^1v\|oãJȎ]dBl_cjruFttF BP[Q4SPn9zpK>,;Ԕb(v~K?0:˰Ep 녖N<<53GJV`7&Ͻ ՈEԵ~]?d6uїȡ_F> (< n3vj!3$9oRg j`myKRn6ns}u1WCSƹ^Qx.~u-"Ssb=nno6{8%EDSY0t44pqmO'8 MツRWVFk:Q ~^6Clil*G@k/k&N$JǸ<~!)h]Q䱃iӆ؜!v}ZINވ!7Җ7%1D/QXN&٦ݮ Cs/[Ư!XOgeE /tWJ"7(2~ض8yN(9$+~$1r:{ړ{3{D=LMv̄-V,wb ,&K,9;Vϑc ?K:%N>/9eq`*F_BVH#iu yx36|1}$jIh%[QFtPΠqdWX,7!|d*ޜPjaDM@BgP-qOio zlN )PÍ(7z6v7w؎|([P,dKM# i}`Q,=R/d_>Z.e E':QZBtHV`؉!qXGf!4<\G'6wlz/#L* .hIX醆JAe<_(S9+s8gAsǝ||+Yq-njIt|'cdxp иAej8`y *9asi|包6^i-ږ8@3%IjC_*H0I:h /"\ h+EN oy>n\zM, (xaU| zmPݚDEkJ+! `+/;L6CWR"\:\Po1^CyDMƾhu0'ӋS8kbyϥHZޛJFT΋.@/EOfyIQgsmWT1i e\#L-(h_hͿF%YcUh_7bpKJXwK0WOR!"VEy;-V<'nJ~dCh,zXvMnZWݪҢk^yԬ C ,M#ixwKQMJA\^tB߂PWq-bfovt^vf$ =mWEG(K(6#6+#4n]?DD=Q2j錊G+ Y(vwT:F ~ $R|v˥'\K)zXx11J XHQki$$H¼HT (bQARe9'/ڥ-%DK_8 ![A}w;I6TS=9$_<[jsz#G6P OcyqB&Tl4E/ąIv>9t?Qu@MQccd*t[{JZ{/~3 G{٢z\ T rNI`XVJu($ HN{╶ p/2(8~I %RrA{A/߸;'wo5Wݍ+QT@|: BQ{> KDB*fMA0SkOUo Rot2<!J.9uKZzf$Ԫ#%N4 &t*ѽBqw TdҎC+285x[ Mk4!l}:uE6"ov`AV&J+LRJ4cBd6G@:Z|KudqDY M,ۑNJĘсmP{m_ ,T g8'KE81gQPOśOA!X,#ZV̳M2k=k% ՝3D>Zi[Iv o73{ ' gzo83Ěh, npW5}4H34Q|t9С`?/$A DL#-G`͐ xbf㢜0I67)_CO2(VKG(K`\w2w O-RR&/K-O,Ф> Db#f] /8fR{ղ%Z0ghn,0C& )w(![D Azë~3"s-XH(S l(vH1;3JG7 Hnvu "r. bfv /Ś / b ,MUV,'xZq="y[`籞9D& kv"T;LB|0s"ЁfZP.7<;C$Z+r-^pġF^D(G4͆Q&4GV@6UowGs緶NZ\ԇ9Oȭp~ks$iDd$/.=1a*8EBH" qyA7F=^[PoYr\ٌȒ.D_ $ 4o~s*ʅn1YCMYNGu'zuL~Or鞐/PCjrL1$!C*!!mm$@!HDH<e[9B=`n`xyb)(DHF;+!J`eX _).F0ļiьNjF"1V1,#s#!v23,́zY ]w\zQ&t"C_,(y(cjBGVa,(,3' vwoZ,t8BȴwǭBQ!>?Gjaaeok/35$E歹S)f&Gx$NJg/LblY{OJ*fՒ/#}X˴^e·&\IUh7],^ )ȺgM&׺?RH߮2k8Ɖc:;`7/ 튌;TAZOmjB6q?;*qdDJ>Ĉ F Ƹ7|uݼA]lj~ ?'٧aʷ?MPFj^OrqN|7W֊_=H^rp)DMDɒVV&1Wsj<W?+r%< jlѻ%As'"bQVa~h6yH56WJO Ԓг[㈭0G"u$6%,n-7 n3Ljx|.O/U fs0b`84YSL }C\cc $t{ԭP"n@eKm42ɏ=mCS|.T  %$;$kR9ڦ_q>KZ<7 ͐A{y l:ζb͆ ّaInrxS*!6YeF/27T Go&gq0h2le1YK`r(/V V 4#ܷpĿ9h㣸U\TSFX-;62OkYuu_̶f#|jHsOnNVNޱ4glߊ*|C΁q"!*L{s8gࠡd%-م79t]:TE?xсgjBY"2Wr*rPu5̷t-g"paN,AрJ00HӨ|o2]zH޵C(S_&)6*?I3Psc{" _^$p7iv*X@Cl"lWB.Kocu@X#}uo\/CͶ>0;MU4G'` )?zt~#k룀)3&@|5DXYcv6^A?6KFq#+$Аc'Yۆ> +#I9':f2 ;:)AJGDfr/"--Wx7a7 t.ŲZ0&l,M79౓>!9]Ds Ex;pdC<RSHvKEU@, K!v6>C.u M:>B%xP [J98 COaf@G =+u% 5Wh 7^9%I{@#9]$ۅmڮ%!8!C҄NA\(xVo) ;A 5>eTbPjHs_hЖPLպc Bӗ6(1;ӥyC!%{v0?ESFwHO-KEv-fM]3EH5 hGl K4cбyZy~龂.H)4KQ+rJ`x37x??ظwM&֡GșwE]X9/\JKF=&GyM'@2';6n۷Qv[Ș7Y&c)hyPFZND{秩M}I[5TQa.}`lc ,Peޥ|4|#hvb68P|;7\̀|J™J($eF %k;(YQT T("fiZKUbleUW: Ƅ~JliVTW̥XkiM\Oúq%zyYo7  B[p|nR^f<+d\ޯ@ED Aډ 2гnJ|:f`WC^) 2xu`Zi3%@lus:Q6WjaA7XrMDCv~z~+Q>fWz 9wiW^Lv(]"Ka9m'0;){1UE:?L=H`shV Épbc[R+AI R|€dKerՆ'KΝ=GS>'|&RƵr|#/LLS w,Ҫ d_k_D&vQ$tL'M%4G q?֡ G0/Kalp+ J)|IiiX8ҨcpzKTW5ΣGA^9|'BQLEFwDNI.O*UK9N>!j爐LL+XyhRL-LAA)Xޑe^ ft Bl'D+&oB"oaD&/zF4nAhjЮ~6Cnsx;yygrjXO()+gyw"ثFRc5(+&+SC+՞|qS:yC$IِTSs-La|ɵ)">T>2`k}ԗFVb݌$vz`^1#n$v)O@R+ٳa0S-`61>SAK-h uHR'ɅaeYh{TWD(ٛKb"^ C]^doRaqM|Rq*>ȫ0ai^{iOG-.%xנNʼnnXmÝ vB$E:΂꾽b+]-^Cgs"9ӯ|+ >GG""n2RjsuIZV͌T= m"I e1 U̸$E+/RJ[ ~YTBBX^ˡ8:8|3T=*+B3x`aZĦ8l _m ]Ry!t1b 񝌹Z'&y["]vzG>9D |m.Feۏ!wʺ=2ߴ1Y)FBwa;eh@ݪL>Gz(Us9jF3G A+6_w;F}G&N)P.p=,s\BM׍y3uox:Uk^ѿ\t,x/uzm&m=X _R\>%˼Ì:Ųi*J۴¨`>V[乛cẵpPK\euP:#`0У>13['kP˼h-*kId9jT%xF$/Q,Zj0Run_w 9*%J`*hų))xLL9)]iSd#hRLsZ &W}rOBXhx=5 E _J: 7%;Yo{R(W3sLM2kd'Yw];T@6!ǭ] (bp(_yόG9avGnO1 B_փj~;PjKK2VclKy[q Gۡphk,xԪ+H ޤ2ky 8=2ʬm&48v_{ש9=36k|  l/VdJ\Th܆7RjVږY&<#lmu%5=bLtqʥ eT9,X1\w5{Y )M+:M1<0Wȷ!UG~aCRi.Chp=yz }󅲮Qt7|YWc$vқh55ĺNrq@4HNשl-T$Z70la72|w J㦽4ZRTυ_2ut%h7(:M/--w->@(0bZo+yb#gޙ^Q$06!H9\?_ фRK3ntnUkqN\4ݸJƦXG?y~+}]KZLk +dVl$ E[T/lPm\w0)l%`c8ܩ͞s|& ~=_k;)ѯL$+UK AT6Y%@m5ٝ:}|$!O&$bCyCTku&efqJJIMډ 62;dWiZ"lW(cqv1py7 &@n/: 'h&kp_ag7>(yY}JګK kbJ_5׽VeoêlKʥ Q"w\0{T eKؒJ}#r=EdEi_B<""/|?{MArb9+I"Y6Z# XrTp WćKQt 7dљdbJmIoBAr)8q H)QuCO8f,,2個34z3M#2|s-!6Z\l&Z&P]J:e"hȚ,Xj+O|(8[(WP:eE'"6+ȦjWȟ i@_q:4?q[|mܥQlO7>hvrHGJs>"_- .Қ7W*-KJlٜ 3gwqFyoT`kf./8壞'0|،[Ťd#T u&֣ uS' l;CD ҂kXl` Dh x`c]eIM눋3@؍HI&86L[W34(9凶HuUPJ7RPL3`Vz`J;_ёJ^ͭ <ږ4,W\ckroY}q4`m<Ýט~_B`Nm_XB%Հ8pC85Z ^)ZKLm`FvZ+9QFuzț$f \J7-6ɭ eedͩp+J̸,M:B0|HIDp^ d4#\zO,|B 46qRT/~=kb +Y[ȩI֐A @78ZxX9MP/^6^lyѡE5D<9 א;%@GM՚aWCs뾩6 vfmZj^&~J8J8,F }^~b_R 2yG"/`t>$Kv"|1Mcuʼ̷G\yX?\&%D>iDx3R 15q(U6{E#/Gc)%)fTN6pGykڀ8F\R}TಡmG[J˴I4P[7; HTu&Gm(M~%"I$cBX'g'#1PdUe<6^84.ZHQPcɉ) :f 3I +hD (X➿-ފ@ij T ^ p74,'̅&`=;-=!c["E"7ptecSt݅w%"R\JB= ܣAJM%3~Y5 )qK`&xNE }X-[U[RU{S b!F VeFgOgKT϶ڦ`:c1WVJч0u@6M`mi=|r}#=FmaB-p@dA(>+9% MJÕ|CW +0MP4(X?2] ƕBQN[hbbh[/t<؜Ana+w6o]?oڑU 3wF)2ڛ.8IXvd|0; ,A;bV:4p9C 2c"bF%J1|(~u騲iG C;n-V!ezj<=O(l|ᜫ"|j<ݸlV:||؃{fɡm_L>NݔQ`e Q}n@pC= ^-b`u|+o@uF@PG5N^?%MzuTTM⊞e&VϖwCk7^Aow r8*zxpجO "G#V>k"}0LD<$ Q]f;  vCIׅe!\mlxtcKs(~_SFk+X%WX]14CÿBū:淶,Aŗ۠c(|ug+$B1Z[(i~tk8ќXt+a+:g'2Hؠ$CWDʸEj$9 :x6չ b%y|+\$/Q90Bǻ7|'ك@^LV,W0ú(%U+[\d〲bLЎͶbT֋*I^e.f;ew]`Jl>*Դ"bz;b[k7hp ,^f4rWTVb2.߽*J 3InC+XuLցcKC@̷ itHoۺVV{$ت!MW G@瀈4/K`mRq)zgOu}2cZya]+R- 0B}% [l$\JȮwp ɰ/)3ZEC͈WQKr}e;+(.;.sF1MbG -~,GR)ǟ bIEO^.r'-D%D%Q%~RϾ#JwNZS0s?$8S;Sf{~$Q_2F CVt[RAʂu1;0N5: !z V)į:h]ХYJ 6*:ԭ˘׵{SΤSĚ2&0`1sJ XP8 '|\XLVeA&cg7&P=/xh{P=+PIdfZ _(ϗ>JlX ZK \ ۋy4z)d|2E/[-AΜIQķ$=(dkCdJ9_2.I'Ϛd!pDN,Pq Z'aթr?FhوӭsזLc J <+{+Tw iv#?ӵR̿\y:D%)wn$Oe:6g- kf2:9]W W\[2 ;C?'^n_ޟ4K,݂M_]q,S[N g6u GŒ0Q+2 ڣe!>CQdtV;F|c^~aVD֬HWX'7|" O81 `q8@'&|¬㓟d6e0Y2D]*ƪ*n va(Ŵgn=JV%cOjYbZֱ\l䈩FyjK3$ϯO'IQ=>'PRdV/[WڒYX@r[ ¥ΟË{ZvLG K.Dw]Xζ*"O>S8Kؙ />YeoW-:_^]Z9VDo }rMA^D:gȊϭ؛w}E5eRau陯+OUeZ6tbRE#8֬!zۊYK̎7jev LUEPn 3?sIPǵ0RyҺrS;&gy klE׃pcRz3͇>jk=7q^ʍ. |ui{VfWV|kBic^no\P kAalH:j""~G|&#TO ]IHXgySRI)=X}zZ/'L{eiFdOSԠT1A%{ 9_,67\ *#:b:T )T+WJ%N2gKt#u-P^_w}K\wLWqz r NfgC5>肚ONIB #4cG k\^oXC*׀KsFg/(^S)B5CWd&"*J~PrX-؀1o` ڬ##;9bMq>l-B}_N[E6A yᅣ{L.#M69EQIZ(;̵{9B "ZXNT v`6.[]O~V6N-Z&SIw?2h\`ϵ7Ź}VL$(V]Ҳowy =?ڜO6'(0i >)XHX-{t3--_KJu5ez1o{&MoqGCAlϚqhP+v*^[tcxz'Ӱޡ+~*hj}U@C;Gs:Hߥ9p㲊A%N (jZ oHdIOyӀل;n2@B^1zk1.'Mܢ3Ux̤(&`G\iUmƺ7+o`p,fr}JX͹Y,gOFlI[ZAV尛Cc?pE4:w+}!G^(QVQ-ǵi/=ڕUPpی0!}'\ž8oߌwoJrjM!UIXbr`MsNiX @$bAp\~UYL\i|1(w/ q9A4, KE-E<J ao@ӤZ_#h #-=vo/  ]S8.`?IxEuJ4jr1ieLM9 @[tȓT0>wl,Y;.~=7p*mIh L[$KrcL^R OmfsCT4xChf zϠnO[O aU\weuM!]C`0@@KNfɤS^Oiy,7? [hV┅_2>T.ߢ8V)ER'z5*^TogFU'G9bF֜uGuLf7O3U>F;tYanOసavx4ʟ=)IV98Ruha^QmqʪxB,l`. usB_}&~`_'a)KwQ_#C*0y&/ᅌ1՞4B׿#WVXJN0N5SI!iY̋؝}|n'jV&OGw$pO\;Ϭ$o)_n|h!Ski(-@ڥ#. 7XHG``3|%OA&e1d'Pdt2X>X0Z2: 3>`x Șšt+&!K}BL]ejfA+B8N*YB,STZg]qgőD%Cķ£p{%tba}Y-"ӂU5(>>&5D?(}*Y[<R{$R46>_eV\昲#o- mgi vIr2;Y;Cצ/3&z7-Zh*Ռ:p\dq~1a6akC&*\nW })5nF`Z Yt9[^%ơ]h:y3GșqѲ!;W+GKwK-D{EL~ O4%L>i'$Z!a&_l~1b{ "4H/4(SMCU(\41T$F -CiRdQc5oHgYq@&ІFIYRH=NO+ݬ*[spɱ6u}n.fCU(so *zr|;bJGu+DN&c/Gyc$x{1\$tU# NZ][UjY^M#\7.I3Y̛ Y+b/?s>c-^[g){wﳊU)ݕ j4ȹ}Mېg~*(b~1yb02K9]}?ݶL©R&pF(~~AH'[ b,ƽ&J"2wD@%g䢿r*-|#a ?8T:{TOxHNɩx./M&o:.{][O Nr mҔh]*o*H$ ^) Qd{CSU(وa;>OX?!R!FA.rs)S8JLjīts XyղƚS;- }/? օ+WfKTO2Qc7B@G3LXw;YR~Y*)4˥e h8Kݥaڥaۭz{~RVڵ-S=6S|K7׎؜lU SqJQ4WWAɓ7ylou;ʣT؟S&¿(PK=<_2T-J!A.Ia"H{I) NӜO#6m,t*MzaF o)w#L*+\{ #I# )?Z> E`*j?4I%4dyGBQPДZU4'"Av?D9մJ~'CuO9m8LELPbD1Fa$_dDK@UGIGRUyEZv<=D&]fJ;٫xzkLĆ#1g~Rه O` '+̧b{Yb/c!$e836GI=ܱ -DpfےB԰&|愵fL"3*@dz4LrRt-g#2nScݡmg _p߹oR%POB8C-;kRW(f$F{.\wn 6[^Mr N?i+\eKƐƁH< 2uU&T A[Rt yG*1L ;|Wj|#ljgԖ%$Ps0(KφVh% !*ERQ cgk GzMoևz͕+(9 .B/;Z04E~$b2|FG:h!q$ T@'8l/(Po r#*"JbsNnuLY0kd$%IJF?qs)1=y5S[bqٹ2VpMPkW{<b\FPӺ~w[jKh'ƥcBCͅ-+#H?YZo'@ p"Y+|ZDbXS HdjKO0w -/$d%װ70z$(K-$8( 6{O/VPh{vq䀴Z6.6b )5d9grD)9\_Zlil5tv߻Hsψ*姳|;}RMj"V׃_¡HՓcX4w-ÝpwT0i @@f+rsvo"' ۧG`,cA_M~qMVeoΘ4(Gٮe|+WW'`\'Gi7ٌIR/T]]4N%t2˖1> o3ŕXayݫe$ kt<. 0˔gH sJ[gƆbVj*T;:O7$źXw)G+̟A`vWjp%SAW[hV=+Ô ̷h1. rueX}aKcrB'8TW+sQ4`HXz'֌-c #C"QdPxf?`LlimgaEqP;d4%սmq٧,%Aqd_wkT@.RPhz+;%͠./N%a&B{) CJPHOJ?׹ŽUц4PVc^`sGtQ @*.bMҏ2¼cBm(.*D(p* R4BKQJJ#Wo$BRyG:1^EbU+.;m?;edLM>?N%L԰5oDany%v/b|{),#>dᒅO"s;:W>h\F5 .U,J`ںR;jwF !f8HK7&p侰zݫG_5G/ur=L\ g>``НJO*FVAHƽ_gzȲļ2*BG?OX Hon#1D5TI@ <~mQȖ7bThӜX2?fN'KpnbNK'*qI5]g[$֝ĵp׼)ĢW$Y`AyˀP{`ap$K+8\$C!EtVOQYl3{1D.`J}/%jZ;@綩-Rz['ˡWMyPyWH/IXzA7n*˜e mSLu4J;bmU~RxbVMHK=lX1Q}}/*j)x>V};xe,' ^Z2\;[ǺV E>(acѭQd|R!R!# }j BVBegt$nRڗ_:SpNƘ3Qى8Ɠ8s äcrXHHJ3"|o=\ ız,JΖyc̢)gwS5@Jf 057ǚ* c&E^8.Y(a'UAtb%C=5M3Lq72f4auĐ_׋%ׅK\ۅhGT@Q( Oojs"+8$Q{D2seȶ?6 ޸i+VKQ֯bo[\O+3&Kj0ԑ/C\&MƩM.YN1U7wCF`B,YYܛ-d9Qq?TJv[!V@-<֒ɢw^\:0oʹanvf7}Cؼh2z"QboD}a~)ܝzo+u \R) ET TF!t Vr);d[DrB[e٢56o-CyVNRKIGhډ%pn]]AG[NE-/TB[ԋcIuYUiѬ$/ JʦbUK: |L׈xm{%=vGVQ"gI#~%BrEZu9+=ܐTE)'.0G7Tޠn4c ~V S+Pc=Ss@xb?:[ҐoYx$%`ebDP+&ziiх{Sx H;t#|)@FHiWX0B SL1%l 6yU+pZ Hzrŭ FR8BRRx01?վX۞\MtWC@gG f!eB\8e;wF,2)_bBV.L׉(6 [2gթH94qF5]P;#io6oz'$q]ŻxdHD?v۸uK_U"e7ܖB*U%r ͟2~n@KRJ:;?_fz4 myA0&)8 JW &KES{( otxdD;=8ă#) `jVpc[Xa9 Yl :ЭWQO-k>`` h]>ؖ BHD` JbiڬHL+ڌ˶jENB[;LM\81xN0Y|." jOc*S *gj°Fљюa7\ݬe! ,IKGlQx`BLh.Wo㾡=yj5}SlՅ$,KTkR^ߔW&K;ԊvU4#chO MYp we%sl(P oz) *N26P_*,__yrdsd_7%BzvKH8%{%9ǎZe7f$HDV8145cZt|&8  hJ Ű%CTE0BD =-MpCBfmqoxToh \~nN-S3| L&my Qw~-DH OU ]2]fz gIz{븈&%.g\f,_#nvͳRp9B":!GB,Ns†3` {EXVl!z"rvG?U& 1;=omNihN_EΜh|)#*-,a6 qi8@Whqd!dXinwNCC"w$r33weZ4rh}0kvȩ qLNr1~p,դ:^~@z@S/O!]qf89&74= #~" 9fL0ntojEQ A%+ae-q(%)4)(1U,Z4$Ww>]& ^1iډ4cH.n%P`lG'DtFT`7WeQ|V.9.a@|K}c {A1R$JY{sؤƶ tU8bvvmWW{Ų2֨3^AQ:~n'|}V.F_r|H-Vf9mCӜ/W3'‚uYn{/箼[r͓)#Gc[{ G-gYgb^} ϊYc. k>j<,U- 5l̽Es9"fTIqp[PHufJ@,fnѪ)b˛]nf l. A, b6@Xzr7m=7oqx$5h*׷Zsʈڤ]QBĀ";>-={]JJLK Nt /Y W.Fc./PߗIŰX Ae % Gba۽ {ïHJ<{+̒-bke1O"\dMssj}G0YU8.v=,5j []cQJj2sGሣqP*N1i L'K~ƭO!qcK%+sq3eKT;7$|9eJ9fqAOAX&,,lle 7Yi`8o _munw҂5ZKf b8hDԶq;KK:Y{#շ5n˼LYWi>15hL1ބ TT-%/R)~#A-YHQԠ3 ޚ 6'wTziYB4Dpα#`-FnL{:7k׈w|IE.bfUz!a#A GI C5 >uHN)6ii JpP$KScL\K5-Ԇ1%[lJ8HXrvC2[;3y>zВ܁'b1Lji& 5⨽0YDuC^a-,3X JAf H+6=zb.@^S{3țY>bUyH͝UEuĺFr"*_eŊȲ,*2tZ*7mΨMNJw4K?X%uN4 ldp N~B{:فw}v?Bjc2}< *ze m-KrUe ;1!, WqxThZ=$ѽzA-T![;4oזJ\9-Z&1d*9Օk.dvݡM.FƠܣ %֖UcolwI`(10 HIj^7%g$"Tm-M8*dc0YD8E]$EnRȨˆ wCt e;O#J3Ъf\Fq]qNhIb8#O5!DiEzڰzHݷU SjuvQagBh n\5˚3,965.4K =?t5m,$܅%?̷\7T }Vr">2FxD~wPdmXMŠ޾ +X[l՘iͷ˰Gm[VZ/lYEVv CM]2!#N*Ԏ=\wE+sG]V ZcputD&c 8GQotpuĹRv[AFg2_|>_ή W?:Ճ-tng |K$k3_(gTU@i/V Va5u fQ]X,Sm]&Zt>ai6>(ڼlX jԍW TlFU7 NQKsjLpc0 21Å.naw+Lê5OfCٖnhw9Qih;MwBAހJ ltSa1J| Q}ߌYP&՞ `5E@_}lIzuDsZ6T{ei4(~"ޱl`rX ]/0zbCdZnTtHb~mgR`۩7Y`5;n30 0BR,t`zƄLuo 䒷;n TYbSc%7rQ頚WEDsq<$nn8$^YhmtE̱B9SKlo<'1E ^Aǁg$E+p+3pԁ3-7~AM[ YڤKa=dsMŻP.HcP PK ޣ@e?Xdn DWu"/A 5āb`Ҵ]@ۇ7CiX;`Ołrf+;>m6I:܌=b=&&Iw,9 ,t'YZbǦ[ewous feڒPU 퓘,jγuQB?8nLl+%u\/WAq /Cf6 M zU`wC\%)\-wɲL%o QbzޖGp5eآ2#<Ӫ2i&XLps4.l8 yTeJ>ϔwOm^b\ ?i %બDIqN k2$R#Rl#7_qL^Dk(&^TzSr/u;mr]HZucW55*z{! 7D Ed-. !VDS+ pV@Cc7=2VdԭR tQ ofbd]'@ F$31NQz ILM]W80<ߒ'zy%a#L{@| OkP+9TjzuvDwO|B)gШ(HA IRPʙ/!L₹8]KE =` /ɐ,tc,5Ndvl42yR0ۓ [>"R.9OJAm63/h/7S:X6x8Q<T^׼nzG[dp-NQ aEe͘O+Xmfnrd"RXpD{[2P1#*w4yv OҩIǾti(ߍ%e% mc[؄'ߌ~@*45ume*ii 1gSIDWb}K鰧xȚr:s#AqzgELrDܝS;lsmlSb^H'0mT͋L 6ۇ':E]gACX}HA;$0]eGSe8'X{I_P@LR@ܳhHۑnz>L@XEpQ8V&\4ڑ',"qb?cp NnB GHƩQۜ%/>=d{nC;y1IE tlAǡ͢Ðݗ5")&)&[#x/$|!po-9mn؄ c 1^+~(Mų.">wg)E6B rӾ`#-?m &"F!' ˽}߼/f2A%+nA93Am7-2@&  `nGV4L@Z$%]uI{eǝ`ݤ=lYt]܇j+EV ib`*2fohш"Y. V+qX٬=bC\v%V 8+,} |fdGmi,G%ޅ ^%|Yd {? 4Ȣd, >v ēC(ۺĺ**l$tDlpD( +YC"dQDBKZ&k$%d(L&,]#!zo" VKf-LjK7][!Q= "qPW?e[\(du<7 bR^8()JhנdYY 8KQOhHyjskCuk6VwRF:d.[-xCZd Ę ULp`FYȐ oޫYupndB3dZ'F}+\k! +H8|!ym Q5 Τ뭮mtX9RO|m:-бLʚRhG+Wbt>Šc;# MfJ&V By0a hbp?cWdK k v6&FVfV1RW8 }ܬ@q|LzF4RVCë\1P@+LE? TUIvb˩ {6 3Ũ3p$Lޛ+WT&lSMf5I~Zk%R#EI2GNfh"!v2m Eg?!Ig}fތi+DQO^͸`>C1#5ڜ]fL(}%T`Aqb_/ΓZB'Yd#ba;#h ҉f̢ۣ=h s(DlsNiN3[>& /7?S9?g8% ԲnY+ 4a:Z;TZGA3y6k1kx߳qߧ8c:E@u6>kr}Z-KZK*͡?>&z'_V%GW}C\j-]4_+7.RK5Wr<Z>:ʓ,l۰"w~3Y=} DWwXb+ekH;pHtQ1\o>Lj;ZҮt4^k"Z䷻%_:?[=,!0dGmMpZ",O+#HCErNnC_쒱%B4EM@w|ZvlNcV7) zM>VޢڶH+x|}_ۏJlkC`%$nӊ>!:4ȅGN@(Q kͷ3);Q,:*<` mH%NqL g0WӬDdޝ=>8oGGסrȍr/!!]A.M}`yYZo-,ků_CX _Ń F̬ȋ„\)e֌f=f [ e>tǖYl`LH4zA+HG^<_@ٖҒ9 JيlCudEcEQ$Glܤ;SɁjEY3'uEE},5S~gۢ5ntItjMFE&U.*H.TDB&G25K[MnٳZFT.T= EBg$6W7M;GXU`qNeWm;jȪ+{i.W:#ȜX\k\K[|2}- 3̪ef.S[:PofuN[V"yYjށV@>j?r 'HWăiN\ @'-B"Q#I_VKvSuWdb~Ets @PMN|D-[бE4GiMnP;LjR#]D: ͅЗS#T;.%`MMHL Lu<ar#Nd&ƛ(-,p#Iˏ; v]S--n:mDUopKkS-ă0Lu9sw[H~tA(<\&:l]<\8<]zX?+IqDfC$ʎ ǜQE˂#:Y˾F#CD|t`@ ꓪ욿yxjVz rs>`Z[$\y^~f +0B- 4aY.y hXx|TbK) S]>b;k9u!%GUB=ILDw%kBCQ/CsaҬR,ŌVr [&}f$]0-*)akyK\-1@|1B;*e@c&]^Q1̝ B5nm\[t+2AHzd$.CTB'Ī%΃L#%~ At2vG":ύ,W#Y Y1oARޒoʣeqYCѿ:K ܮ!ُ$4B9 ED̔/[dƟ %ri#vDjܞgBoM.i^+";&_1fю`Kdpm:2dQuCEL6{ }HnKe78J*~mI抆6-3)Y7hEM}GSH y%G i=!bhѼaY+ >Z-kR?jBWtPCi{(BV#ep EjILr_cOulTu'jdO,ň" в;u:BG^Im̒ۍ:t! C[2&}dCys7}N %cKcqTB1R"R1}!eD>ڟ| h~|NWL_TI^B9/B5`b_/B5VҜMؖn,/)GHmoAgQ =(yA;$ru =~N%\܍Z& <_ŋ;&\Jw!& 41L.Ғ7㬼3Z JFXM݃޼P,D&!RUwHPtox52e0e)#M$U cu:Q&uXY`~kD{;bb 0 Մ0 6v ՙj'j-I6G^RH#x&ȚeYs=.ւ?14Ϋ˚bdl[.Hi} ZEݬm~?$ / rJ`P\%^׺Ekmy%9|G~q%cLژ\qN$Y\Kks;=$0lbg)Ǥ\f~WXgn qD)*%ٗ;aVPmÕj>_[X\_%@ѷVXlХOL+?,y%977B{/[@`N#qm_^A˲z9۪bzk@}<\Gh)]@m; z)6#E c;C&8ᕾ9Y,!ciW_6ֶ?4#UXk{4W]Dy)AiUY?UyvMT\:OE+ zuzyyXʈbPJ^zonnW鷏!ZVV_ Z_n' [g'"i[WI9T?3@fiGspyv}7KVp.٥6`@xnpwp筼78Kʪ ~Û xKnd9tԣԜn~ aׯa  *"q.<rGUK,;~GQ\b tfQiC`ZbVlj 'Ms\X ſg.+`AqPᾠV4ȂjzE;ig!#lzfr%qZ wIRElЁ=s# 7%ׄ.#=au}XzpʆNX>I#ǏgczH$GVҺc?5ϙZ) y~(3\<3Z*O`TF4O5Fp5r;_ V9MvOHaGThSaFa0R[u"eiy>ld -h(#a>D2֏ϔ9m`yY)z2^0*1,i4*Ca6ayl>RѽM[ȋ {wxR( 7p%_+*puIۑ~gV`WSȒ?SSI0_}~ FX"'p:٢^b 44OC|rH',S ޼\u~glǻbd<#j~ fyO׎}yH( ڟ (F#E׮ $śR5Ց\!hBɸP ]XjʊBdfVUA].ޗC7Ĝ{zicy,c-s!ۖ#Y-,}8n 0Oq],+Se~|)?_Aa*,ai}Q}ؐ4:HQl{.-fmKV}DV # sk^KAxiR^рfmPM(L\Ϝ7Au췢^?e# s`9H8ݶD1\th#Yc}O:υ۳ v=! [-PσbTt'ΡAOBԡc`SWM>TL^ C|w?źIPAh.yɶhނ4O]7ObG,c\eX)ʞwI#\޽iBƑ. @Sv>ڣ18fz#ZZZZB n0ah CJP 0D[5)ݖYG!%2|%4HzE&ĉW8 0h @znk57WQt2s IH߯FMEonA+ b̞T-7Bn7xhcp7G?A-r 8BukFRi1 C_WYR$aVodM EG~ ^MqWzVu}Wh E]BA&9kᔰ^^+GU6 Ux6ج%')(oK2WAS+&# IDgo aiIwav7DؐaNݒ)NWK6GoPF͂l:KX0vAy&54l3jv2?dѩS0[8_V/Z~1YH 5V#Lwdۮ8vӤӚuh0L8qmHgV5ƛ<_9ꡐ|o?l#l vGgPM!d]%ʑ(dV3O Av,XpD-Dqm {ؾcȂ*pXfA+g`Llˇ94ՑH2L$==h֨Mrop ۜ.SFh3k2'Gs`὿.qDRHhh+5Z a rn@X'?;ANAVAA 7HD~fA oP8( qPWHl47J]<ŃZA9AW Al @q SPTUj6dT3?A6VzHl+_+nŮD6엲boE9/}~ ٕ`y3GWSz5+c/᥾•r ^+,\үERGE~̺,햊,K,tE`ʯkq-^=+,{"o)O+b,NJ_WcYWYu4%fyc$p[Ll3[zmiMׅlx'- X:_>*&g< %ҾFȒ͒ٿdXI$眃Թ(TX;dp6>Z_mPVk%j)1&@JEu:UT]&Vҥf!رmnEay1jl#6%c["̻KhWvj>jek(OGZ|e[*aNJ%|\/Sm*IvI#ɤ;&N/ukз6 w{3|'hg2.6 .":iW~^1xͿO~߬4,@p95 Q\>> 0ѬzfuZfjغuE`"@L@DEE"E3,4:G, @7RL$2ɗL߲(TI&dƿGTr&IdzΕ\K&9ORƒz^6f7CTXƆ֞*d0f#ɭKVtc٪q!ǧ'峼){R;冹{ō{w ;Y}ߞdEC?}|ލ1uAN#3՟+is{gq +G RN112cKYch1d~΂v6kziV:wcO/V~:oY,?.@>߇wmͳa) NTUl1~]|o9![c8aDj&G!䕝 ,P(9̏ N)N ߼D5\~Z߇6oYgDqBCl(n~u?:%NBTjS!gCȇdzg#!|xE( ;NGYr|g;N YhhkΪU; AT(WoZ>¼yde2SrSc;!sZ):) vޱ VCʅ}u vYzHcN]TKߚ2wBI3bsP-tK/ZϮWߛcnogM+=酆9U>Զdw>'Cz>h wDߤB[Kb|̪UxS*4pf_`ak)PX^ʈ*AYwW^'fٷhMǴRh!y}XæhYoͷJ6e!lOZ4#tC@V NϐC}du 2͊gB:vh;xn +Ov|ȋzG  sUO:DV(#C*^XdwށGmOtMApd-ZvxHBy7nRG?`?\!{cP{[V fyvӗY3w]Xz?n_ʜ6f34ƍэ

㟉3U@ /᷐C^)9 ~PY8u߱z0:*82u2pcedco Pȹdqә{bU(S;V,rYnl<~`𫡰,nB&ry0U"TJ$M~bcRaR%R/rY; N ]sGxU Ɵ(Sfnag ڀJ~ofjÔMfnmv.f,EM_͇ib,$Şs311WH#03LܚXjS#J^EfL5 =i3LlO/\ ~^8d3s=\ OFFj~M 3AFw>K4|h:?ag?ef~:X KV0f!w@9N5v6~]~!l6>ξK˱W~Ν7|uĮۍY63~}9_m?#2_ٌ۴nG,%!On+}W=WY۲);_4,ep_1А+Khtg|+C ѻ٘[Pcc1ѢSK_!/W?pQp߭Գ3ZNd9gh5>ki16LS<jd S?ei%MO3Sz2gz񖫖x2yPsIӽ|2Nз996s%̗5-\vҜe(s]r)=)$DkǙ-P8CZYِɤ_2`˷٠i\ev3iy( 2G;xYb}e=~Gn1a^FKJvʜ{]V{ܶx<KAsS=[vߧS9ŜrAs9\v.>'ڜ}U:ϣs\.:-ױs5\Wu:ss9y<ρHsnǮFs+9Nt:iisݹxƓWߦٿ2=Mʿ[z'KX摴C*8^siRAwk:%3 X]F%ߔGQRJ-8׃8 /ymzs+z)ǀ Ae+O cʕ G>CqS)tǷb?bR@57ڙ2(8[zKmG ۘЏ<ѣٹNaLjP0AS 5 u;(LG+ ^4t <4ARDV`iYj|)}D?6AQ]1( vkAR&#z$Zp(3ŕy*OD5y|/T ڍ ^֯eS#80ǐK܂5(h5`}3T  Um/1 U*B&Q`?Wvz5'mdAa>2vv'q2vVGc͙~q%T{9)#o"ej(2 /E#}%;bS=N/۾[W.[\ς % Y/e3e8&)t4!lo Htb>V{(b+|zSAZK;Seli@zDvs db8y{Q)jfo)eO[v౹ڋ1ԠҬ:Ay0kb >6.@k2;^Uv^ cȵb? ];{NqO*kaiGi,PPffs0S2й-.PzD|7]) A^jؒ #ڲ2]c *(bbH>S>S>@Sl$Mm٩d  yXX{E MѮa/t]hKl?*,A ?}8첀zKq(M $>k \ Ƀm6%aoocm[o[{1|;t`Ap>TR#ٺ(x (G@L:^B7}Ĭ<&}8eQM˃WBM&v&oPK&WN GJ ,/h/ޘq (IqŠ ! `r碨LMg'^ѢTasE gb?ARr\ Vh{&#ta,= Y CMg; _1{Z͘tEAT%,[vlA~^ye95I 0J ? S M4eAdyXam8A'k1 ֬s6j)!ߔDF@L\N'b:>U`Q7؀-t|d?!znJ>bSӯxM;ʻ8Ly}yOo̯AG8 ys{GL 7(Ō~$BҒ{91n+ĕ c ,Ϥ"&''\efrPo{Q\o(1eL4^Qb1yO!AO/Su"Ǐ,$^ʹꙥGin.b)dv> pQWn 7Jʽ\;H; )@A28e,i)|vP )e쀍12 dr/w`AN^zmeGeIKɝ<ZtɂAN^{=bt} (/Rta/*Gk=4.MPp:XLYcL5$'8ehfs$>w,ze6y)K;O<I#e\e3>bR>R܀`9A6^/x/Te^e 248±uzY`9A*~sS Q~3A$;0#*+#ڰNk`+q>FԝmN1;܆ӱ*VB .4qz"OYpMY5qQFȈy*)0Bu; x *+G߲pŬ,fZm.aex;Ի^܍o|#9o)z͏fK=N7ʔsܴLh^,W9~A2K !q7{GigR-_e9Dڄ&!6z1h])+$ÏϢP D eJ.Ga-2it8Bl.npD6>1nO&Y\ IhN*|ljPZXk.?bWSY4)+k[K2eX5!dN#fcB{&1HB:հ:keb5lbR֚+RKHoۖx&$o &6p: "4e`6}3:R{GdNk.4`ML:b60#$][ vh_AeOz#g1r 6\C/{V}ĮL+$.1aD^ԑGcҤi\.Dk[/( UWItuً+218u s) k1+0Jfޣ#|'$xE ΏY Ǧ,3ZF X,O~Q#elR.8:hmt:>9rtWsa lFcli#4\al3,7 (t){;y*ܑ -ڢS BT)jY{i Д'[|rJ[ryM>f(kI Ak^'M@14bME`Y;:JiؔpOdNqD{q(;[OS/D4GGe-:¤ƖhNd:9`PLJ$ j $x* v#a~KkM7pb41 *uRC)b-FM. DʔRP yJz~tɏ! x Ri}bT~G`ٞMhQV %(!{q!*DGWx8z7y {[:vE<_{x O<Ԝ =O2xS- w ^Q78d|)^ q ^h*?bSXzEn:.:IA #:QNb2mLNPzI_,XJǔ'ʭxI>@BWMnK11)tMjd0N{L MBB͛1(jRtafs-ȕNΐn$k(2wAG30LYgؠj~yL_`+[L^; K n/4c0E zILBN]S&. 4)A.䤥LsN onpLNݰ/cކ;B\x~KMuwRxjWA2*LFJhT_dN<2QhCFa՛vM|);y ? 2МKۓI ݔ ;yڂHٵDnjVjTJ;>KY0 >sB5e!` Af+e&nڹ(#y{)N9kp#(z)3,Z L5] W>)Hr[L/ݫVM$Ԛy{ ]{\o'\}q0tO؄9n k;S==gJq"HC NAM#z)V rĖ^WtĨ}ɯp"%J#ҵӟdE 鹠fGzđ< jQ %/*$뵕x#(1 w1]ٰau/h1Q܀6}M JC{Id#ЏJ(\L'hѤQ3pycQmn/ic);MKux*AB{ ۊV1h'#۴(rak/z>ۿS$B f{g6n؍Iڏ^.dʚ$=aJ^/G߉$}nTQOvкA`x( /L>l?bW2d˴kxX?b+ r{zGxW|'hD< ϏNvS@LZjb>Uj_⁷^^c=!MB/2!u &>U @7BՁ@\%80>;˱qޘҀRE!LzKlGLc SS4NK 6$@\fqKXٙLey#) @N0m&½< mQyKKH~P'S 6(rя^;HDg>~ZgBP 6{)ɤfjJkjX#b8>U(+gkTq 5 f by6i $B ^1.F&f>~T^ 1 qrkʜ>2a{KUA\@!Kـg^ ,eB6e?geϔInh%n8gj;}5#)`3BR=#e1a1%殝<#//qGV/ ,pS"*Ύf@Kʻ =fpXA4 ^s1 )@K~G|RXcWnt]GYJA#t6{`ҫGih޻AK2E,*=jPқ"!Y'{^ӂML ^ch1_b#*i:<7@bK7YsrD qB{H jj&< !~{b1K)) kɖ2rҏua ?±Y2(LТR=kɛfV]lؔzѤ~Z\ }\j ~:)-$Nhe 0r MY=gv,fǮv11DeY4a OK4mQӎ66E?er[z ~vf 7h<#e{ 2T B]6j0[v;ޢq ̠Q4ooN;;b1.c({'L?4GNEؔw5U/w1 p7N}qiFʀtڹ,D8 ^xB( Fdtf A-6> Kc00 5 `'QӤwz#[8+PdP^ᵃMgk<4൥I\gc|n-cjPr q@ s\ k_ kI[rG,͏p* ^`(Ca{27$0a ru`-p 4[ L6ȯ j,gz(Q^1fS`MPdL`B$%TX--UvI$(7Mow3V[J jp0N`db`i6,g e퀷jw#<_A)K~F`{W{k &-Ws4D&`Ca>%ˍC_3Z遾aRrai5`f0LVڰ$& i+5#0 + 3.x,@q@.DaOk\GV -6Lri2;ʵ^]H#1OT&c ]t+耀Ktͥz Uk >&6j:wZx C6* B&'lBΥʢ xn2ZØq:@b9,BFܝ HL#=uQLXFjXrW1g2VjZO@$xX_Y;м!$L'@KS~1M@2$2,8ed^; t5Raװel4Ѵ@wF>'e*(P{b=6ܼ F|1.)f.F+ tT2. 44/66l2 46I!87Ķ}q 쉳Hd(̣ Q9W4FVffP`IP/,ó.fth0Kcwv4yK#3OC[LX-b)~$^ng1)+@PKv+f $ԂB^5x=/Rs1!(ictg>T2洛BBziLyY,1Rfo? 1vLYfAf@#"q{QNSNt^ #u )t  ꀳ1P.Ӕ 5k r=,_]";Y 1},2܀9׀@ Kr[gFFMd.tv5@\YO-Pـk8DtnZi#0&h(u)4n&L=6tP)tn{rk%xFRF[q9;ցGzά4)e`p&X10AkaKuee2H#dp,.eԂ؄t!|k.X,)!Rc21%|1z,zzGh##*]܃1Ȇ 򷉓/)fDŽJfa#k_e~_?+9rјa^4Y!i d04s5[1}.ޢm+9TVqm4OSgd}jZkK1r6N2@wa4 (Ni \I>С`&$rxɓ c 5T+T @XB1nO@5qD:F B* Be%p1WF!+Ɗ&,ӐYcBцEK&b%EbQRJI1)F(%8U(YY((YY((YOmmǷNtmꘗIU[P'# אr&g5g=1$M9뒤]$պ%i.I5#:7%TRKo6lkE6dMHf۠R5pΐИ|zrw mk9yFNvcNC6`\3uoy Ǻ8(宊yI\~ :X(ćPUF؝㍏H+;~n):7O>q;kxIT2Ngi+h3V/'ڤ?2ɓL$L2I&d/$L2$ErؓL%i*&> ,=wCˏ%+ MND[{!>W\-Tό䞳Vtv}{UϏi@~sJ=eݾK~V6,5 檖}qsPReVV R*ԜϒܧHe`̵L=bgT 3򪂝fwQtB/h]\+X~?W0`P׵bz<K1Wͽ2SlhipW\p)eM?e(e eWVgıvK:O8(?8;/3B'?Uou_#nĆ-8NnOT<ȯT/8٬o{tE`*O 2y>- D`ƽ"KS,AwW7ˠjI2oݷUNU 2Ka*U;Y,#7h*s\FQa2ZЍJ.|v^F}q)S;WOϰ{-Qw{틷$D]Ue-/ho%H7ӱw鑺ۚF'09pˮ3SN@+knhYEOz-͎Ug{jbG {IQJpZ+ p@ˎG2zKZǙ> 4%wicUYRD964ryDm:ͯ}R}%ct m-=,ej}-e#CCd3j+{_ٌʖ 3ê^1S3m?˹MhmcEO$UyЇ;;LU/<[f ӌͶ?WF𽼒7&UL#Uw9EerR(GUUHXK*E]MB,FjGZ*Մ(}F}/ @[oqط;ΟjE?Zbj%qma=>(aJŗEU*b^׸v,FCjv;2W|m$L2$IR+dI&d&IJZ$L2$2JRI&d&IVɤL2$2ɔLI&d&IdL2$2ɓL$%Id&Id%)Lj$2ɓL$+IdR&IdK&@;mU|IdI&d&IdJ&IdI&V2ɓL$R}*HK4 !<~*(ET|W_խ }*d*dvVFq ÿɭK?+򗞛vse<[t _yWfOgږ[Wg.]ukש+FjꊚxO뤝z:O^}żMt͏߭uu^B'яz>$~}?8gIX\Ο}3Vaj\bD^,_5JVf"6|"޷>fƱnQxvQݣJufN+bf ^w^*iW1 k%W/R+jWuܣyYhRu QJK)+N# mRJh̕JMJRJh+W)%J4)QIWR"䊲W)%J4)Q\IjVvQJI)RJJ]WD{%%a])IRMJ:D&AJ/.e{@^fW|)^-O_Z,^ƌz|}^_w]&7"߷]ߢ>_~Unܷ wvW]Vqou[Տޮ8ߞkO{}׾7_Mo>Tx_^Y䅣=ν"'uUygwzZgi~swԱ^⠸!WAb\Dyܶ>~'mD{inW£W\UVi.yecڻ7)ѥDjzM[Wj;^DW}Seۖ4+wsgѕj?s:K篫OB>OmoxRgFW i+j&mIu*mSGJ'vg8W⪲eTäWۡNQیT>mUO:Ѥ4Ռmb6|*l[e9[i%ӧ_^QyijԵCxKv~^e֍ !}87FI}fW}ԛXgx٪ʓ}d-}Hэ#yQi>_U J~JyՌ*>q]{E<okHy'HvP_<urg+La^}H޿sW{k)%49}ם֯$lɑW^ya˻εI&M`@!ILC+6ʼn!*:Nwiiq Y0rS]l`MQKnm V`Ak}#;2*""!tmdd O*>C!B"2>q15 y|¨꽍$\d{l& Ϲx\5 :t3tu#NI@ߞ)t݇#t4DTf4`@5`>柊UEJacFe2GG0i@ ֐L{}kg6j7FG CE279IѼv2(I4xMeQh3:ApPvAD ʘ1Uefd~ ,cPfisL[f_ zZP}Ϧ̚b50q*vyb,)&Dbsc}zPpԮ80SP_m\3:it3W}2x-e*uj+?ɦf1-ʲj* * ᪱9п̝Ӳ@oMJ&*(fp/cFn5C8s6c*2Hm29dwcK+;9;1"ޣ` -%s_7'%H< ˧H+CU33X-z6&P2fAڜfJc"jr>i7'ǰegW!#;*7 Ѐܭ_b5<_dtˡf|\}|btv0YKY nmZ>՛k[єrb[%A9r=c:g݄\c%lQy@/O>ͦZ":?(< Vt$ `UN[xZskt֘A-9][埳#X5ҾA;; Ʃ'2=՝ؘK~ݼ&5-J6?Px$ 8]YkW?{<_eq]Mo3=^1 R]I@]vpzT%GhmOvw4bդi$RkRrlOH]R:{3`/Mȡ'mO]Y]ܿ^)y`dL料+`qBѮn "P n@ߔl?J֭Mǽ>*gg[Ԧ DA=Wfc |;@tlnkV曖KY8|| j N>NH59fw3.JccW_*G,]"}Vao63oŲkUTtwA2ݮBORuIcssop󷮹e#"h"L!u)'#L`PD,}f65&r\Hݥv9ux;1RLU36K]:8fb_WSYt$K3rú L5AnkZ3sMqw035҇9i 潁HXR@3$3 v0i.g-E7Yb-72؟֪}6 S$b79ΰh@LC@YDͱ_>:1rNqb{| ^Yy2j^WQU|}~![>Ph=\5$ETZ<[?+rҏe?ܛSi !0к.kb +{U:]ftXx=sNP&-D+^0-|DAkhʉGo Ć%ΟrjKobBjPr~1k`fuY;U[E1n?|)fdAv9Qg$݉n#^A8$73FgE.߂1vc-EUz La3.Ū~"mU]ez E3XLI12}S yiHϷ;ĐªfzقXk90 Y cȪrj X/l=+U5[5!!X7:苦vZWnl~5q"Bj_ˆ}#Dxj}3 \8}WfY~ߔ ~5y_[]*NҐTdr3IJ!Cf콲DDWCq4!#M" j"5kD`#A HcN9[\,YYPe=iF9l7eHC;Shvsa㢟#Q&"Ck2ᢅT8PKBA-(HB'.Ok3 F7bŹXm9{5e-k~vqv?ujJAd \]`;p7ڂ¶Ҡ$*C1Paacti*s%hj@?z\ ZSkѴOqYɡxJoƅ+e\蝩πɸ\_c 6Z{I&1ӥs9] k.(!>9%Y;lԭݒ&ogqvͱ$oV S|\*ĭUm~nkS?} <u l8N}Wm,fvJݴ ځEKy$J{h7Ճ_Ѧ}"qE49X?> ei`u Qf~y}Ƥ0}[I=8 /SVSEdaM^̱ @EjZ~E-& o  h /-Ӓ|<1~o+]?ZA앭5oSݴEmRְ7 aBtu^?',)b_DWڑOD5-Ti B8( X98"6A ֧97Omb55h& rio-X=U7P/4)\xXC\e@4Ln]P6}ᬦl*Z[URM:!6*UuU56=]TP%X!`2UjfƴFq L^n8R+# m?Pŗ<~NƺFYL|@qǀzBz|`8'@x(lj mڊycDMZs&P-hjJxEc)\Mjq?ŕѱ\+0b{nRJutl L"3.N̓M)# ,6ś!:|ɍRHߋҁ T! f')J63z0IfEMB .%D|Jخ\ԯ,8蓫FT GcGliv$ۉpiK" 9l I@$ B–F>mM!`> 8X1V\5UEUFNVZ(v ްm2Ua`|`YO9 n{6`0ʩ)1 !lQ %8R"L=ctBuHV0ގ70?pM޷c$@97 5+fHwWFntQZfփTntZa  J0Iኇݹq 8t%( H:;>b|yč{9dQ$v+aagtg3;@B=!2<~ ×(Bl~ql,V=oJ^K1@EObP 7I6Ap:Ŋne`q!0G@U1.nͰpb @Bhs*Oq9a|N4}"8C>rd.`/ TZ8 –vrd [e41 ^6 :_𛡘vݥ.L<ڥ ,~c-kv k=7wz}_@I4X0NBħrgl(p&ҝt:CP!|l uhf%n [,c=RS{ r2LosK1,lvXjȠFHN25#?eW0/71'ž{ RF{}uπӥXutli{0^o)SMdJrHM'j: (GpwQf{!%Kr& HPWf f z#'7Rlseh Lf9#Q0ޟABE%|,Fd; mӹ\hx[u,3.Gn͞q{Qxg}aYCZ%]☌CEcpyqb(aCpFf9m^xG?ٔ5C)Dc]Y>w&$03 ȏVȞqqdDrtӘ](J#}3g 'e#N&1|+(Alհ˛ BIhX&\]rGC\7S˼wb䫮Jģw*S4-F Tai0!qrƼфq:j^M>dxX0?$\CK=* $,1e@6DA: NEYoh$5vM.ZƢ1n1AT7[C4ohEFF cucŷmAi2()RZlqJCU>5Ǚ?m\w)š,MpaE@iJ9;O4h0f r m6Gj2WvV$`N,{mD/8^{2׸9g3kTY]Z*|xEP>zc!w㗓™sF,; Wf ô},'?"OR#tD*/y(B?i5,5YϣOo"zk".mbmdVbFC N"1;`4G2Y0BleV&e !1eWO8p1wK!#|`0#\jX!4j~!Q#vbh(@׋u8Cb"NFIA<0!}~(rs_0I q, 2h Fj<6#CRڼ`eDx'ZtXF ʖECy $ | m,ƃK4'bS-v_P2IGtλs;{Y:@[L_ la{i2aB%MV.0ȕ\0>`[KQ`9`F~UMa05[Ԋ:ҸM^os?Ax!S(+1FB )sf܆FJљO4іD~}_.|< Zϵonb?Z/}B.vka8|_^ >[qh4=$b`"u n|)T-Xi(+=%Zh^/LJQ&%iX< j0>P_3DLl($5Ì͕CBօ Ijqh}O05Pͧh<=q⢚ jl@-%dpA϶O q"if b4 $ıW\ebD)ȇm)Ss|"7j$B79n&5ǹJ^P4 35R \Ab/XHdADUaMFSQ\5dmS|YM"]S_]U n*X,R`'J,Ζ䘘 2١"]`ˣFnJ[8(b8 dK5t-~l# {5% Ȉ촫D !#T`@MTDW?^K6܏bJM蒾qtrT8idzpz}4JEBKKpm sOJi`<s~EQ~W9~wѼ| +$Rx!H-qƇ r;2C Xp?Rdqؕ\r!QYNJhM٢e O_!\w A4=7>&ğI$A)o2݁r4eDtB6yX`]SLI"J$YRfMD:-E jvR+ I.ֆ4/s5zr_P`Ҫ\"8ouꨰ߾.(-!٤ٰD5G>CJR;(;@{t׆GuM$&f#D/  \yi1TntqCsËY+ɯ^֤P`!> -h%p _Ioׇ}p~/߁N4;Od"- 0 !0N,1m'O|O(ZwJ,bँ( X٦bLpe3[ˋDtO?ik0ɚ^wƚw a"+<&Ơ7_[d"@P0Ѵ37DNwN6| D^91hZHDr@|DbIjzґEnQQ`Pm e`Eˤ#:$)z>iqeAe"Ch@fţKr+:_έ)v2ۼQuTuwfD&Gtc{1 HAS%(Ҋ;$wȳps@MjHLkx?L&# $yh`#@Qeס}>Rl3Id z(F4-TŦwL+@ zLϯٯ?Txou*Fj𷑋9Ӯ)FO5J̫l$v(A$DTcK5l}ٰ[0Hfy(gu x;ٟmpBΣ%z}Mފ`l ȉKp(Or.c(5.6{:QREYa򴝾~aW̠ *?TuNJL9fB>#ȭ_gIi묊8Γg{j3+|~4s+55X*ka2ꆢ>. AYƼ ِdijQ2dweP8!}@FSɔ3tQ\$pMF$\Qj0܊+q;!M⚾oe(NL.Hו}B12XqDb[#B_ui]؞˰ # ]66{l\ C dH쀟fehKnd&Æ,Nq;S1ޣ}g]7gW{/IpYǁf[Pyf;u"Nv暑wڞ40wʘ:شn)S!u6N<Res(8NƂ0܋FGpe1,0/)BQqU3lS+9%rSn}]j[Q} AFiXEHL1c1[R1 Jz4NQ'N/ęI-|ը\C"Y8f%0_ |B&FYocl^T=tOU h .F-|c Z-,~@ (ê- cx$K_oo%`8JB;]oPk8R6SسA1ZN Y@N =)|cWFpr$2J#}ɉoa-<nj65ۍza7o,qkY~{PA5o;l~soT5FTn5F5̨FܪBF7nTѨFՐFzըjTQMw_GUu[If 9l~YFjZ_Q4k`{Lp7'۰wR3 @hnl_ {[M{]C} 畡SۮW d֯"Y[t?)#{aicϱEkPmPv 9~|':mEk]Pqhxo=ԟe6^jz͙lðp-g&2^+LfϙeVq8֬7ބnv;e6 -[9[n^7h w|OqkzGjGϴQZݘgޗQ= ]Ί3"?ìF]Wmw;zu/nJTӺڞXl3hpò?p 2Ž:dO8kӿW7[jylt]9Yk_ OY>boӞgZvp|!b5VO>RO~ZYizSh5JZk^=J+~z[m[8;L/ͷfo`f.Np{n|즏?flל?؄5m}wZ ^vԓSяoUvKi!ЧeS"} ˝ϡͣws,A;yt'=߮$f9:_Kajsv}rYqQɹ: :[P,_;\v|.{R[yS|Ͻx$Fs[k(~vk O] aѤw,<]ߗ? vJU K,;\.om1LWPAyCo~-ێ ?,^DN\Xu'wjW?]aIX>H7\_ q̘>GJow`"mr/^ (.|WzM/4=IMﲬ'arvK /oH(MRL_`Nkk`+^W0OR>IdԃH|J9]Og?)sʞg,1T7vhcAػT{&d(6)ܭv}+mǨB 0ެE.G{Y| 5TwEkыO;TPwNv~utvwzVyxuyw?~0,uutJH/\sPRuqNwiy?A?;T=ߟ` %p` ތ1yH+(ͷwu=_= 5/x{{yt݇=^u@v\h0Z *H K0G1 0 +0h +7Z0X03 +70% <<<Obsolete>>>0!0 +`܍^`"@!{xcB$0`0L .P\0 +0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority0 070822223102Z 120825070000Z0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Code Signing PCA0"0  *H 0 y}]E941%5IwEqFԌkLRbMIl/$>e# HuEP%+ #A$bEJͳ/"J-|o;99ݽ)f;-2'Hlc\򸔣8P'N0==l9.4. }bxfs Oc,2EJ;PSfQyV>Pn5{$Rf=N+~3nGўJnS00U% 0 +0U0[pir#Q~Mˡr0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority<<>c@0U00Uvp[NQD.Dc0 U0 +{~J&μNtX't*uLxMi|CʇSŸVocDDȚ  )}s9=j8m҈#i 4|.)Bk(q8 ]hͽAkf4|zB{ p֒O8|-=4 b7j#\cZ9`U3; _,˫ 0  *RA^0(ip΀Brv0z0b a'0  *H 0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Code Signing PCA0 081022212455Z 100122213455Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1 0 U MOPR10UMicrosoft Corporation0"0  *H 0 rt`\6=z)F"SF:[ WLwGpgt'g׊D0ɺ:VDO h$WN!7,/B!(Wz)6͞U̻"# )Z>c=,I {yqCZ㣳 U% ^3-(WUj 2Dflo8ݘ<iyNF์um-BQZxE.|+]a(C jB2)"00U% 0 +0U#s*L!qĦ0U0U#0vp[NQD.Dc0DU=0;09753http://crl.microsoft.com/pki/crl/products/CSPCA.crl0H+<0:08+0,http://www.microsoft.com/pki/certs/CSPCA.crt0  *H C)clsmÙm ;Hsz%,7{4#ξ\ykQ cr}Q*(* q)V /e-mME)VrO?jAby\w(.ǜ+* z^S`Owq`[9ӫEQt#'5—`'+ˎς רMC@uw\kdgT!EJhT^\gx\$ prpŸ00 aGR0  *H 0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA0 060916015300Z 110916020300Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1'0%U nCipher DSE ESN:D8A9-CFCC-579C1'0%UMicrosoft Timestamping Service0"0  *H 0 m܆Q2;7:%oaA;ZxgU~AS(Tp;'H~C2/&Jvwɩ!X~ $D5:T 3,~A ٰ%%ӎmI ÇnFmSF?$~|,y(EO6kSQ ۼʇ 2JQ|,jsrW؛K'3m2hn:."C dɣTx)>Xߪܮeӝg00UOxY |"0U#0oN?4K;AC0DU=0;09753http://crl.microsoft.com/pki/crl/products/tspca.crl0H+<0:08+0,http://www.microsoft.com/pki/certs/tspca.crt0U% 0 +0U0  *H 7'@e&>dĐ>WC @g*ܴ6 3|._P{a1ބiX|'Ep_W^;C?aq}{nZ0 5%aN2t+zrK+:T`ا٩mDk c 2N~7_gFKm}ҾntipKe5D}9nP!>wšWi}io*"73:r0P:ŷ\ͳ00j O%EXzg0  *H 0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority0 060916010447Z 190915070000Z0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA0"0  *H 0 7nBJqH>S,2ORȃ>3I1(dPKuǨծipfx'f趷 Y")/@VvmdmJT޿ǀL7VhGv\/}%V[jc|<%M9wt]\؆7,u9 |vlnz>q_*Ob`2҃N+"\hE/Pl%ׅvs6ƕz`3[AXn,HoCj&k(0$0U% 0 +0U0[pir#Q~Mˡr0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority<<>c@0 +70UoN?4K;AC0 +7  SubCA0 U0U00  *H M1|PapEsT? -QS9V ތ;ɷQ!oi~k"Flm|"Fӄ6~p]Eݎ*|ɮ2Շc6!v;s!شTeJ(&`;exHϭ:ObX099!dcC/{FeJtn ̝(a|H!8Ŗ2@S=f7"̰wTQ:rD#1000y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Code Signing PCA a'0 +0 *H  1  +70 +7 10  +70# *H  1D\_H+@p0l +7 1^0\><User-Mode Driver Framework 1.9http://www.microsoft.com0  *H 9/BfD2ȁhK3hz>>0!0 +*}Lf:Qµx,t00 aGR0  *H 0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA0 060916015300Z 110916020300Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1'0%U nCipher DSE ESN:D8A9-CFCC-579C1'0%UMicrosoft Timestamping Service0"0  *H 0 m܆Q2;7:%oaA;ZxgU~AS(Tp;'H~C2/&Jvwɩ!X~ $D5:T 3,~A ٰ%%ӎmI ÇnFmSF?$~|,y(EO6kSQ ۼʇ 2JQ|,jsrW؛K'3m2hn:."C dɣTx)>Xߪܮeӝg00UOxY |"0U#0oN?4K;AC0DU=0;09753http://crl.microsoft.com/pki/crl/products/tspca.crl0H+<0:08+0,http://www.microsoft.com/pki/certs/tspca.crt0U% 0 +0U0  *H 7'@e&>dĐ>WC @g*ܴ6 3|._P{a1ބiX|'Ep_W^;C?aq}{nZ0 5%aN2t+zrK+:T`ا٩mDk c 2N~7_gFKm}ҾntipKe5D}9nP!>wšWi}io*"73:r0P:ŷ\ͳ00j O%EXzg0  *H 0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority0 060916010447Z 190915070000Z0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA0"0  *H 0 7nBJqH>S,2ORȃ>3I1(dPKuǨծipfx'f趷 Y")/@VvmdmJT޿ǀL7VhGv\/}%V[jc|<%M9wt]\؆7,u9 |vlnz>q_*Ob`2҃N+"\hE/Pl%ׅvs6ƕz`3[AXn,HoCj&k(0$0U% 0 +0U0[pir#Q~Mˡr0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority<<>c@0 +70UoN?4K;AC0 +7  SubCA0 U0U00  *H M1|PapEsT? -QS9V ތ;ɷQ!oi~k"Flm|"Fӄ6~p]Eݎ*|ɮ2Շc6!v;s!شTeJ(&`;exHϭ:ObX099!dcC/{FeJtn ̝(a|H!8Ŗ2@S=f7"̰wTQ:rD#00j O:0 +0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority0 051011215520Z 100426070000Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1806U/Microsoft Windows Verification Intermediate PCA0"0  *H 0 DwIրu,W,a/EDsuQf79y5Vy52v;dqec_%mC+o |J^ GJOղ36m1CSs[Y3F\G>Vk^ӸRe,&{3LS8.ed bsܯ0(?! O{BfӦWlr']i25L':_QJuU}G4000U%0+ +7 0U0[pir#Q~Mˡr0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority<<>c@0 +70U[3A BrvWo%Sz0 +7  SubCA0 U0U00 +[hQͻN ' 9\}Gkj5mHB p2 j͠(ÒEIEHuk^92\zc@sk5 j6egz\Yw s_O(Zg7#TТY7ttVbss=VAz&D.f\ )S-c1qʝƹ`갓6Rγ} ;J^+v2&&cX"J/п٦(o=l#NX*Z!8I00p a 0  *H 01 0 UUS10U Washington10URedmond10U Microsoft Corporation1806U/Microsoft Windows Verification Intermediate PCA0 090411055819Z 100426070000Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1 0 U MOPR1.0,U%Microsoft Windows Component Publisher0"0  *H 0 EvM4_יV 1g=;D禽u@6orH*BFEʠ{ȡ @U}@sB˰Z*#*P,;ԈxQ[ñ޷9gwу߮q'HTLAe7giE6 yo!x3nVY" uiғ+KoZ{1e5|Fzfthy<źeF%>f!jc(FjTm 00U%0+ +7 0U=yCFe]+^y0U0U#0[3A BrvWo%Sz0HUA0?0=;97http://crl.microsoft.com/pki/crl/products/WinIntPCA.crl0U+I0G0E+09http://www.microsoft.com/pki/certs/MicrosoftWinIntPCA.crt0U 00 +7/00@+4https://www.microsoft.com/pki/ssl/cps/WindowsPCA.htm0f+0ZXCopyright 1999-2005 Microsoft Corporation.0  *H CYN:?BnyEΊY wYTR+(2G*c"%Nv{رT BMMݜRǢ91ݔ" "` B%ym楮0-(&Ma<User-Mode Driver Framework 1.9http://www.microsoft.com0  *H er1KVlJZU V Tރ?WJOFcڅ};T[S5Y V%8>EQ?hBi6f˥fԗꌭ5dS@]/WU9g޻m(ݠ۴$[>~ecZ{V7 ۡNC w\ABJ7lG=z{_$(^w+UnGYP@&0=ɻwo0 *H  1 000y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA aGR0+]0 *H  1  *H 0 *H  1 090714143757Z0# *H  1D ~G+ fQS/o|D0  *H n0>wcf2;C1XM5QLcUSSFJЃ: ӲW0t.>٘Ld[L VۊFpաX0]RFXJ}tH<:`5cg%F'ŽGu >Y/Ȱ/hIc߁}^!~{iyaUs*&غ]!6pM"=yjQqa~ {\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch11\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;} {\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;} {\f11\fbidi \fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f34\fbidi \froman\fcharset1\fprq2{\*\panose 02040503050406030204}Cambria Math;} {\f36\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f38\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;} {\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Trebuchet MS{\*\falt Univers};}{\f40\fbidi \fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}@MS Mincho;} {\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} {\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} {\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} {\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f41\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} {\f42\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f44\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f45\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f46\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} {\f47\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f48\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f49\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f61\fbidi \fmodern\fcharset238\fprq1 Courier New CE;} {\f62\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f64\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f65\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f66\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);} {\f67\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f68\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f69\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);} {\f153\fbidi \fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f151\fbidi \fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};} {\f152\fbidi \fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f154\fbidi \fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};} {\f155\fbidi \fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f158\fbidi \fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f401\fbidi \froman\fcharset238\fprq2 Cambria CE;} {\f402\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\f404\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\f405\fbidi \froman\fcharset162\fprq2 Cambria Tur;}{\f408\fbidi \froman\fcharset186\fprq2 Cambria Baltic;} {\f409\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\f411\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f412\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f414\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;} {\f415\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f418\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f419\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\f421\fbidi \fswiss\fcharset238\fprq2 Tahoma CE;} {\f422\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f424\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek;}{\f425\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur;}{\f426\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);} {\f427\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f428\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic;}{\f429\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f430\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai);} {\f431\fbidi \fswiss\fcharset238\fprq2 Trebuchet MS CE{\*\falt Univers};}{\f432\fbidi \fswiss\fcharset204\fprq2 Trebuchet MS Cyr{\*\falt Univers};}{\f434\fbidi \fswiss\fcharset161\fprq2 Trebuchet MS Greek{\*\falt Univers};} {\f435\fbidi \fswiss\fcharset162\fprq2 Trebuchet MS Tur{\*\falt Univers};}{\f438\fbidi \fswiss\fcharset186\fprq2 Trebuchet MS Baltic{\*\falt Univers};}{\f443\fbidi \fmodern\fcharset0\fprq1 @MS Mincho Western;} {\f441\fbidi \fmodern\fcharset238\fprq1 @MS Mincho CE;}{\f442\fbidi \fmodern\fcharset204\fprq1 @MS Mincho Cyr;}{\f444\fbidi \fmodern\fcharset161\fprq1 @MS Mincho Greek;}{\f445\fbidi \fmodern\fcharset162\fprq1 @MS Mincho Tur;} {\f448\fbidi \fmodern\fcharset186\fprq1 @MS Mincho Baltic;}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} {\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} {\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} {\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} {\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} {\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;} {\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;} {\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} {\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} {\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} {\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} {\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} {\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} {\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} {\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} {\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;} {\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;} {\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} {\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} {\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} {\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0; \red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp \dbch\af11 }{\*\defpap \ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 \styrsid13320821 Normal;}{\s1\ql \fi-357\li357\ri0\widctlpar\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls17\outlinelevel0\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext1 \slink15 \sqformat \styrsid724517 heading 1;}{\s2\ql \fi-363\li720\ri0\widctlpar \jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls17\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext2 \slink16 \sqformat \styrsid724517 heading 2;}{\s3\ql \fi-357\li1077\ri0\widctlpar\tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls17\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext3 \slink17 \sqformat \styrsid724517 heading 3;}{\s4\ql \fi-358\li1435\ri0\widctlpar \jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls17\ilvl3\outlinelevel3\adjustright\rin0\lin1435\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext4 \slink18 \sqformat \styrsid724517 heading 4;}{\s5\ql \fi-357\li1792\ri0\widctlpar\tx1792\jclisttab\tx2155\wrapdefault\aspalpha\aspnum\faauto\ls17\ilvl4\outlinelevel4\adjustright\rin0\lin1792\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext5 \slink19 \sqformat \styrsid724517 heading 5;}{\s6\ql \fi-357\li2149\ri0\widctlpar \jclisttab\tx2152\wrapdefault\aspalpha\aspnum\faauto\ls17\ilvl5\outlinelevel5\adjustright\rin0\lin2149\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext6 \slink20 \sqformat \styrsid724517 heading 6;}{\s7\ql \fi-357\li2506\ri0\widctlpar\jclisttab\tx2509\wrapdefault\aspalpha\aspnum\faauto\ls17\ilvl6\outlinelevel6\adjustright\rin0\lin2506\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext7 \slink21 \sqformat \styrsid724517 heading 7;}{\s8\ql \fi-357\li2863\ri0\widctlpar \jclisttab\tx2866\wrapdefault\aspalpha\aspnum\faauto\ls17\ilvl7\outlinelevel7\adjustright\rin0\lin2863\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext8 \slink22 \sqformat \styrsid724517 heading 8;}{\s9\ql \fi-358\li3221\ri0\widctlpar\jclisttab\tx3223\wrapdefault\aspalpha\aspnum\faauto\ls17\ilvl8\outlinelevel8\adjustright\rin0\lin3221\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext9 \slink23 \sqformat \styrsid724517 heading 9;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* \ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\f0\hich\af0\dbch\af11\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused \sqformat Normal Table;}{\*\cs15 \additive \rtlch\fcs1 \ab\af0\afs32 \ltrch\fcs0 \b\f36\fs32\kerning32 \sbasedon10 \slink1 \slocked \spriority9 \styrsid724517 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\af0\afs24 \ltrch\fcs0 \b\fs24\dbch\af0 \sbasedon10 \slink2 \slocked \styrsid724517 Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \ab\af0\afs26 \ltrch\fcs0 \b\f36\fs26 \sbasedon10 \slink3 \slocked \ssemihidden \spriority9 \styrsid724517 Heading 3 Char;}{\*\cs18 \additive \rtlch\fcs1 \ab\af0\afs28 \ltrch\fcs0 \b\f37\fs28 \sbasedon10 \slink4 \slocked \ssemihidden \spriority9 \styrsid724517 Heading 4 Char;}{\*\cs19 \additive \rtlch\fcs1 \ab\ai\af0\afs26 \ltrch\fcs0 \b\i\f37\fs26 \sbasedon10 \slink5 \slocked \ssemihidden \spriority9 \styrsid724517 Heading 5 Char;}{\*\cs20 \additive \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\f37 \sbasedon10 \slink6 \slocked \ssemihidden \spriority9 \styrsid724517 Heading 6 Char;}{\*\cs21 \additive \rtlch\fcs1 \af0\afs24 \ltrch\fcs0 \f37\fs24 \sbasedon10 \slink7 \slocked \ssemihidden \spriority9 \styrsid724517 Heading 7 Char;}{\*\cs22 \additive \rtlch\fcs1 \ai\af0\afs24 \ltrch\fcs0 \i\f37\fs24 \sbasedon10 \slink8 \slocked \ssemihidden \spriority9 \styrsid724517 Heading 8 Char;}{\*\cs23 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \f36 \sbasedon10 \slink9 \slocked \ssemihidden \spriority9 \styrsid724517 Heading 9 Char;}{ \s24\ql \li357\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext24 \styrsid724517 Body 1;}{ \s25\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext25 \styrsid724517 Body 2;}{ \s26\ql \li1077\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext26 \styrsid724517 Body 3;}{ \s27\ql \li1435\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1435\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext27 \styrsid724517 Body 4;}{ \s28\ql \li1803\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1803\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext28 \styrsid724517 Body 5;}{ \s29\ql \li2160\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2160\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext29 \styrsid724517 Body 6;}{ \s30\ql \li2506\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2506\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext30 \styrsid724517 Body 7;}{ \s31\ql \li2863\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2863\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext31 \styrsid724517 Body 8;}{ \s32\ql \li3221\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin3221\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext32 \styrsid724517 Body 9;}{ \s33\ql \fi-357\li357\ri0\widctlpar\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext33 \styrsid724517 Bullet 1;}{\s34\ql \fi-363\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext34 \styrsid724517 Bullet 2;}{\s35\ql \fi-357\li1077\ri0\widctlpar\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext35 \styrsid724517 Bullet 3;}{\s36\ql \fi-358\li1888\ri0\widctlpar \jclisttab\tx1890\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin1888\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext36 \styrsid724517 Bullet 4;}{ \s37\ql \fi-357\li1792\ri0\widctlpar\jclisttab\tx1795\wrapdefault\aspalpha\aspnum\faauto\ls5\adjustright\rin0\lin1792\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext37 \styrsid724517 Bullet 5;}{\s38\ql \fi-357\li2149\ri0\widctlpar\jclisttab\tx2152\wrapdefault\aspalpha\aspnum\faauto\ls6\adjustright\rin0\lin2149\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext38 \styrsid724517 Bullet 6;}{\s39\ql \fi-357\li2506\ri0\widctlpar\jclisttab\tx2509\wrapdefault\aspalpha\aspnum\faauto\ls7\adjustright\rin0\lin2506\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext39 \styrsid724517 Bullet 7;}{\s40\ql \fi-357\li2863\ri0\widctlpar \jclisttab\tx2866\wrapdefault\aspalpha\aspnum\faauto\ls8\adjustright\rin0\lin2863\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext40 \styrsid724517 Bullet 8;}{ \s41\ql \fi-358\li3221\ri0\widctlpar\jclisttab\tx3223\wrapdefault\aspalpha\aspnum\faauto\ls9\adjustright\rin0\lin3221\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon32 \snext41 \styrsid724517 Bullet 9;}{\s42\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \styrsid724517 Heading EULA;}{\s43\ql \li0\ri0\widctlpar\brdrb\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \styrsid724517 Heading Software Title;}{\s44\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext44 \styrsid724517 Preamble;}{\s45\ql \li0\ri0\widctlpar\brdrb\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext1 \styrsid724517 Preamble Border;}{\s46\qc \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext46 \styrsid724517 Heading Warranty;}{\s47\ql \fi-360\li360\ri0\widctlpar \jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls11\outlinelevel0\adjustright\rin0\lin360\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \styrsid724517 Heading 1 Warranty;}{\s48\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls11\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \styrsid724517 Heading 2 Warranty;}{\s49\ql \fi-357\li1077\ri0\widctlpar \tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls10\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon3 \snext49 \styrsid724517 Heading 3 Bold;}{\s50\ql \fi-358\li1888\ri0\widctlpar\jclisttab\tx1890\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin1888\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\ul\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon36 \snext50 \styrsid724517 Bullet 4 Underline;}{\s51\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\ul\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon35 \snext51 \styrsid724517 Bullet 3 Underline;}{\s52\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\ul\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon25 \snext52 \styrsid724517 Body 2 Underline;}{\s53\ql \li1077\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\ul\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon26 \snext53 \styrsid724517 Body 3 Underline;}{\s54\ql \li0\ri0\sl480\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext54 \slink55 \styrsid724517 Body Text 2;}{\*\cs55 \additive \rtlch\fcs1 \af38\afs19 \ltrch\fcs0 \f38\fs19 \sbasedon10 \slink54 \slocked \ssemihidden \styrsid724517 Body Text 2 Char;}{\s56\ql \fi-358\li1888\ri0\widctlpar\jclisttab\tx1890\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin1888\itap0 \rtlch\fcs1 \ai\af0\afs24\alang1025 \ltrch\fcs0 \i\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon36 \snext56 \styrsid724517 Bullet 4 Italics;}{\*\cs57 \additive \rtlch\fcs1 \af38 \ltrch\fcs0 \f38\lang1033\langfe1033\langnp1033\langfenp1033 \sbasedon10 \slocked \styrsid724517 Body 2 Char;}{\*\cs58 \additive \rtlch\fcs1 \af38 \ltrch\fcs0 \f38\lang1033\langfe1033\langnp1033\langfenp1033 \sbasedon10 \slocked \styrsid724517 Body 3 Char;}{\*\cs59 \additive \rtlch\fcs1 \af38 \ltrch\fcs0 \f38\lang1033\langfe1033\langnp1033\langfenp1033 \sbasedon10 \slocked \styrsid724517 Body 4 Char;}{\*\cs60 \additive \rtlch\fcs1 \af38 \ltrch\fcs0 \f38\lang1033\langfe1033\langnp1033\langfenp1033 \sbasedon10 \slocked \styrsid724517 Body 1 Char;}{\s61\ql \li0\ri0\widctlpar\brdrt\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon44 \snext61 \styrsid724517 Preamble Border Above;}{ \s62\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext62 \slink63 \ssemihidden \styrsid724517 footnote text;}{\*\cs63 \additive \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20 \sbasedon10 \slink62 \slocked \ssemihidden \styrsid724517 Footnote Text Char;}{\*\cs64 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \super \sbasedon10 \ssemihidden \styrsid724517 footnote reference;}{\s65\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext65 \slink66 \ssemihidden \styrsid724517 endnote text;}{\*\cs66 \additive \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20 \sbasedon10 \slink65 \slocked \ssemihidden \styrsid724517 Endnote Text Char;}{\*\cs67 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \super \sbasedon10 \ssemihidden \styrsid724517 endnote reference;}{\s68\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext68 \slink69 \ssemihidden \styrsid724517 annotation text;}{\*\cs69 \additive \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20 \sbasedon10 \slink68 \slocked \ssemihidden \styrsid724517 Comment Text Char;}{\*\cs70 \additive \rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \fs16 \sbasedon10 \ssemihidden \styrsid724517 annotation reference;}{\s71\ql \li0\ri0\sa160\sl-240\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext71 \styrsid724517 Char;}{\s72\ql \li0\ri0\sa160\sl-240\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext72 \styrsid724517 Char Char Char Char;}{\*\cs73 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf2 \sbasedon10 \styrsid724517 Hyperlink;}{ \s74\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs16\alang1025 \ltrch\fcs0 \fs16\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext74 \slink75 \ssemihidden \styrsid724517 Balloon Text;}{\*\cs75 \additive \rtlch\fcs1 \af38\afs16 \ltrch\fcs0 \f38\fs16 \sbasedon10 \slink74 \slocked \ssemihidden \styrsid724517 Balloon Text Char;}{\*\cs76 \additive \rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang1033\langfe1033\langnp1033\langfenp1033 \sbasedon10 \styrsid724517 Heading 2 Char1;}{\*\cs77 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \sbasedon10 \styrsid724517 page number;}{\s78\ql \li0\ri0\sa160\sl-240\slmult0 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext78 \styrsid724517 Char Char Char Char1;}{ \s79\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \styrsid8999754 Body 0 Bold;}{\s80\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \styrsid8999754 Body 0;}}{\*\listtable{\list\listtemplateid176468498\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid692200086 \'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \s41\fi-358\li3221\jclisttab\tx3223\lin3221 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691 \'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 \'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689 \'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691 \'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 \'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689 \'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691 \'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 \'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid196815738}{\list\listtemplateid-1793664660{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 \levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\fbias0\hres0\chhres0 \s47\fi-360\li360\jclisttab\tx360\lin360 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 \levelindent0{\leveltext\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\fbias0\hres0\chhres0 \s48\fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 \levelindent0{\leveltext\'02\'02);}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0\hres0\chhres0 \fi-360\li1080\jclisttab\tx1080\lin1080 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0 {\leveltext\'03(\'03);}{\levelnumbers\'02;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \'03(\'04);}{\levelnumbers\'02;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0\hres0\chhres0 \fi-360\li1800\jclisttab\tx1800\lin1800 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \'03(\'05);}{\levelnumbers\'02;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0\hres0\chhres0 \fi-360\li2520\jclisttab\tx2520\lin2520 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0\hres0\chhres0 \fi-360\li3240\jclisttab\tx3240\lin3240 }{\listname ;}\listid394402059}{\list\listtemplateid1928476992{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0 \levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0 \levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0\hres0\chhres0 \fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0 \leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af38\afs20 \ltrch\fcs0 \b\i0\f38\fs20\fbias0\hres0\chhres0 \s49\fi-357\li1077\jclisttab\tx1440\lin1077 }{\listlevel\levelnfc3 \levelnfcn3\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0\hres0\chhres0 \fi-358\li1435 \jclisttab\tx1437\lin1435 }{\listlevel\levelnfc1\levelnfcn1\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0\hres0\chhres0 \fi-357\li1792\jclisttab\tx2155\lin1792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;} \rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0 {\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid398796681}{\list\listtemplateid789093748\listhybrid{\listlevel\levelnfc23 \levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-317712510\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \s34\fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23 \leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0 \levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 \levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1 \levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0 {\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 \'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid477573462}{\list\listtemplateid1948578256{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 \levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1 \levelspace0\levelindent0{\leveltext\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af0\afs20 \ltrch\fcs0 \b\i0\fs20\fbias0\hres0\chhres0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0 \levelstartat1\levelspace0\levelindent0{\leveltext\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li1077\jclisttab\tx1440\lin1077 }{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0 \levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0\hres0\chhres0 \fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc1 \levelnfcn1\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0\hres0\chhres0 \fi-357\li1792 \jclisttab\tx2155\lin1792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid630479929}{\list\listtemplateid67698717{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1 \levelspace0\levelindent0{\leveltext\'02\'00);}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li360\jclisttab\tx360\lin360 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0 {\leveltext\'02\'01);}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \'02\'02);}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li1080\jclisttab\tx1080\lin1080 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \'03(\'03);}{\levelnumbers\'02;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \'03(\'04);}{\levelnumbers\'02;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li1800\jclisttab\tx1800\lin1800 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \'03(\'05);}{\levelnumbers\'02;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li2520\jclisttab\tx2520\lin2520 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'07.;}{\levelnumbers \'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li3240\jclisttab\tx3240\lin3240 }{\listname ;}\listid700712945}{\list\listtemplateid680715664{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0\hres0\chhres0 \s1\fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0 {\leveltext\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0\hres0\chhres0 \s2\fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 \levelindent0{\leveltext\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af38\afs20 \ltrch\fcs0 \b\i0\f38\fs20\fbias0\hres0\chhres0 \s3\fi-357\li1077\jclisttab\tx1440\lin1077 }{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0\levelfollow0 \levelstartat1\levelspace0\levelindent0{\leveltext\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0\hres0\chhres0 \s4\fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc1\levelnfcn1 \leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0\hres0\chhres0 \s5\fi-357\li1792\jclisttab\tx2155\lin1792 } {\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \s6\fi-357\li2149 \jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \s7\fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \s8\fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \s9\fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid752163927}{\list\listtemplateid2088029282{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 \levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1 \levelspace0\levelindent0{\leveltext\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0\hres0\chhres0 \fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0 \levelstartat1\levelspace0\levelindent0{\leveltext\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af38\afs20 \ltrch\fcs0 \b\i0\f38\fs20\fbias0\hres0\chhres0 \fi-357\li1077\jclisttab\tx1440\lin1077 }{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0 \levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0\hres0\chhres0 \fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc1 \levelnfcn1\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0\hres0\chhres0 \fi-357\li1792 \jclisttab\tx2155\lin1792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid800729109}{\list\listtemplateid-296591990\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 \levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-48305026\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \s40\fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 \levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 \levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0 {\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 \'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689 \'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691 \'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 \'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid810947713}{\list\listtemplateid1567531878{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 \levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1 \levelspace0\levelindent0{\leveltext\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0\hres0\chhres0 \fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0 \levelstartat1\levelspace0\levelindent0{\leveltext\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li1077\jclisttab\tx1440\lin1077 }{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0 \levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0\hres0\chhres0 \fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc1 \levelnfcn1\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0\hres0\chhres0 \fi-357\li1792 \jclisttab\tx2155\lin1792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid826823576}{\list\listtemplateid2088029282{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1 \levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0 \levelstartat1\levelspace0\levelindent0{\leveltext\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0\hres0\chhres0 \fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0 \levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af38\afs20 \ltrch\fcs0 \b\i0\f38\fs20\fbias0\hres0\chhres0 \fi-357\li1077\jclisttab\tx1440\lin1077 }{\listlevel\levelnfc3\levelnfcn3\leveljc0 \leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0\hres0\chhres0 \fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel \levelnfc1\levelnfcn1\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0\hres0\chhres0 \fi-357\li1792 \jclisttab\tx2155\lin1792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0\hres0\chhres0 \fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid974869818}{\list\listtemplateid-1813845996\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 \levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid2033377338\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \s39\fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 \levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 \levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0 {\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 \'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689 \'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691 \'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 \'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1219436735}{\list\listtemplateid-41362566\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1 \levelspace0\levelindent0{\leveltext\leveltemplateid-1175557160\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \s36\fi-358\li1888\jclisttab\tx1890\lin1888 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1 \levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0 {\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 \'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689 \'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691 \'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 \'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1559511898}{\list\listtemplateid-743794326\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1 \levelspace0\levelindent0{\leveltext\leveltemplateid1229593488\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \s35\fi-357\li1077\jclisttab\tx1080\lin1077 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 \levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 \'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689 \'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691 \'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 \'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1567649130}{\list\listtemplateid1363474438\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1 \levelspace0\levelindent0{\leveltext\leveltemplateid1637229796\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \s37\fi-357\li1792\jclisttab\tx1795\lin1792 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 \levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 \'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689 \'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691 \'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 \'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1848404271}{\list\listtemplateid-1802592190\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1 \levelspace0\levelindent0{\leveltext\leveltemplateid961321180\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \s38\fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 \levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 \'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689 \'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691 \'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 \'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1877695764}{\list\listtemplateid1186249844\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1 \levelspace0\levelindent0{\leveltext\leveltemplateid1182702444\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \s33\fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 \levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 \'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689 \'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691 \'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693 \'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid2054619191}}{\*\listoverridetable{\listoverride\listid2054619191\listoverridecount0\ls1}{\listoverride\listid477573462 \listoverridecount0\ls2}{\listoverride\listid1567649130\listoverridecount0\ls3}{\listoverride\listid1559511898\listoverridecount0\ls4}{\listoverride\listid1848404271\listoverridecount0\ls5}{\listoverride\listid1877695764\listoverridecount0\ls6} {\listoverride\listid1219436735\listoverridecount0\ls7}{\listoverride\listid810947713\listoverridecount0\ls8}{\listoverride\listid196815738\listoverridecount0\ls9}{\listoverride\listid398796681\listoverridecount0\ls10}{\listoverride\listid394402059 \listoverridecount0\ls11}{\listoverride\listid700712945\listoverridecount0\ls12}{\listoverride\listid826823576\listoverridecount0\ls13}{\listoverride\listid630479929\listoverridecount0\ls14}{\listoverride\listid800729109\listoverridecount0\ls15} {\listoverride\listid974869818\listoverridecount0\ls16}{\listoverride\listid752163927\listoverridecount0\ls17}{\listoverride\listid752163927\listoverridecount0\ls18}}{\*\rsidtbl \rsid17701\rsid345491\rsid480810\rsid535495\rsid555183\rsid724517\rsid787759 \rsid788381\rsid1012355\rsid1070219\rsid1122066\rsid1528414\rsid1845488\rsid2033734\rsid2184830\rsid2633396\rsid2653025\rsid2784514\rsid3042060\rsid3099421\rsid3162620\rsid3370445\rsid3416253\rsid3557965\rsid3611186\rsid3739474\rsid4022155\rsid4534868 \rsid4739523\rsid4855514\rsid4865423\rsid4995346\rsid5046615\rsid5066947\rsid5185544\rsid5459775\rsid6184270\rsid6498245\rsid6758513\rsid6829298\rsid6977589\rsid7029628\rsid7226971\rsid7290457\rsid7345747\rsid7433926\rsid7438204\rsid7619174\rsid7692510 \rsid7694270\rsid7878867\rsid8324055\rsid8325040\rsid8419363\rsid8458805\rsid8481517\rsid8528517\rsid8673039\rsid8738620\rsid8812012\rsid8858237\rsid8999754\rsid9058130\rsid9321702\rsid9372746\rsid9387892\rsid9642481\rsid9651656\rsid9857610\rsid9860938 \rsid9964378\rsid10163324\rsid10685283\rsid10813938\rsid10974630\rsid11142543\rsid11347136\rsid11754382\rsid11874088\rsid12000701\rsid12203714\rsid12271515\rsid12585274\rsid12596065\rsid12664082\rsid13320821\rsid13323708\rsid13334496\rsid13704504 \rsid13908819\rsid14114191\rsid14168694\rsid14235961\rsid14251566\rsid14293847\rsid14491415\rsid14633722\rsid14705568\rsid14771509\rsid14894057\rsid14897950\rsid14943232\rsid15100805\rsid15493712\rsid15601712\rsid15754779\rsid15872081\rsid15925451 \rsid16141742\rsid16395859\rsid16450365\rsid16661796\rsid16712132}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info {\title MICROSOFT [PRE-RELEASE ][EVALUATION ]SOFTWARE LICENSE TERMS}{\creatim\yr2009\mo6\dy17\hr10\min33}{\revtim\yr2009\mo6\dy17\hr10\min33}{\printim\yr2005\mo7\dy21\hr9\min25}{\version1}{\edmins0}{\nofpages3}{\nofwords1604}{\nofchars8319} {\nofcharsws9904}{\vern32893}}{\*\userprops {\propname db_build_version}\proptype30{\staticval 2.6}{\propname db_charger_document_reference}\proptype3{\staticval 20008}{\propname db_charger_client_name}\proptype30{\staticval tbc}{\propname db_charger_matt er_number}\proptype30{\staticval tbc}{\propname autosave}\proptype30{\staticval false}{\propname owner}\proptype30{\staticval REDMOND\'5clilylu}{\propname db_master_reference}\proptype30{\staticval USETERMS_OTHERSUPER_ENGLISH}{\propname db_master_version} \proptype30{\staticval 20060329}{\propname db_master_clock}\proptype3{\staticval 564}{\propname db_master_name}\proptype30{\staticval List of Beta, Evaluation or Standalone Software License Terms Languages}{\propname db_master_description}\proptype30 {\staticval }{\propname db_output_filter_reference}\proptype30{\staticval }{\propname db_base_url}\proptype30{\staticval http://usetermassembly/dealbuilder_live/DealBuilderNET/dealbuilder.aspx}{\propname ProductVersion}\proptype30{\staticval 0} {\propname MScom}\proptype11{\staticval 0}{\propname Language}\proptype30{\staticval English}{\propname CanadaAvail}\proptype11{\staticval 1}{\propname CanadaFrench}\proptype11{\staticval 0}{\propname FileFormat}\proptype11{\staticval 1}{\propname Mandato ryActivation}\proptype11{\staticval 0}{\propname SoftwareType}\proptype30{\staticval Free, Standalone Software}{\propname ProductName}\proptype30{\staticval Windows Driver Kit for Windows Server 2008}{\propname NumberOfCopies}\proptype30{\staticval Any nu mber of copies}{\propname StandaloneUseRight}\proptype30{\staticval For one user to use any number of copies to design, develop and test the user's programs}{\propname MediaElementsTemplates}\proptype11{\staticval 0}{\propname DistributableCode} \proptype11{\staticval 1}{\propname DistributableCodeType}\proptype30{\staticval Redist.txt\'3bSample Code}{\propname Transfer}\proptype30{\staticval No transfer permitted}{\propname OtherMicrosoftPrograms}\proptype11{\staticval 1}{\propname OtherMicrosof tProgramsTerms}\proptype30{\staticval The separate license terms associated with the other Microsoft programs}{\propname PrereleaseCode}\proptype11{\staticval 0}{\propname ThirdPartyPrograms}\proptype11{\staticval 1}{\propname Benchmarking}\proptype11 {\staticval 0}{\propname MPEG}\proptype11{\staticval 0}{\propname InternetBasedServices}\proptype11{\staticval 0}{\propname InternetBasedServicesFeaturesDesc}\proptype30{\staticval }{\propname db_commit}\proptype30{\staticval ProductVersion}} {\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect \widowctrl\ftnbj\aenddoc\trackmoves1\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\noxlattoyen \expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1440\dgvorigin1440\dghshow1\dgvshow1 \jexpand\viewkind1\viewscale146\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\rempersonalinfo\allowfieldendsel \wrppunct\asianbrkrule\rsidroot10813938\newtblstyruls\nogrowautofit\viewbksp1\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0{\*\wgrffmtfilter 013f}\nofeaturethrottle1\ilfomacatclnup0{\*\template C:\\Documents and Settings\\sabrinap\\Application Data\\Microsoft\\Templates\\EULA.dot} {\*\docvar {db_xml}{\'0a\'0ahttp://usetermassembly/dealbuilder_live/DealBuilderNET/dealbuilder.aspxmicrosoftmicrosoftmicrosoft20007tbctbcUSETERMS_OTHERSUPER_ENGLISH2.6List of Beta, Evaluation or Stand alone Software License Terms Languages 20060329564trueuniquetruetruetruetruetruetruetruelazyday_month_year,.day_month_year,._blankrtffalsedraftingindefinitetrueautosave |text|falseowner|text|REDMOND\'5clilylutruefalsetruepromptvaluepagegroupsureunsureunknowndeferredfalsealias falseascending< Value>falsetruefalseRepeatCheckPromptAnswerDeferralGuidanceInsert your comments belowVariable/dealbuilder_live/help/dealbuilder/help.htmlonsubmittruetruefalsetruefalsefalsetru e2dropdownsureUnknownfirstOtherlast20204Specify others:Specify other:11, and and/or or YesNo(%1 of %2)&\'3bnbsp\'3bvisibledigitsPrevNext&\'3bnbsp\'3b|&\'3bnbsp\'3b*afteraftertruefalse client_side<\'3bU>\'3bWARNING:<\'3b/U>\'3b That page is no longer relevant because of answers given on this page or a previous page!enabledrelevant_pages00English101Free, Standalone SoftwareWindows Driver Kit for Windows Server 2008Any number of copiesFor one user to use any number of copies to design, develop and test the user&apos\'3bs programs01Redist.txtSample CodeNo transfer permitted1The separate license terms associated with the other Microsoft programs01000}}{\*\ftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15100805 \chftnsep \par }}{\*\ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15100805 \chftnsepc \par }}{\*\aftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15100805 \chftnsep \par }}{\*\aftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15100805 \chftnsepc \par }}\ltrpar \sectd \ltrsect\psz1\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid4739523\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3 \pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}} {\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar \s42\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14114191 \rtlch\fcs1 \ab\af0\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38 \ltrch\fcs0 \f38\insrsid9964378\charrsid7029628 MICROSOFT SOFTWARE LICENSE TERMS \par }\pard\plain \ltrpar\s43\ql \li0\ri0\widctlpar\brdrb\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14114191 \rtlch\fcs1 \ab\af0\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38 \ltrch\fcs0 \f38\insrsid9964378\charrsid7029628 MICROSOFT }{\rtlch\fcs1 \af38 \ltrch\fcs0 \f38\insrsid14114191\charrsid7029628 WINDOWS DRIVER KIT}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14114191\charrsid7029628 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9964378\charrsid14235961 \par }\pard\plain \ltrpar\s44\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14114191 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid9964378\charrsid7029628 These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft \par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s34\ql \fi-363\li720\ri0\widctlpar \jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid14114191 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 updates, \par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}supplements, \par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Internet-based services, and \par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}support services \par }\pard\plain \ltrpar\s44\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14114191 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid9964378\charrsid7029628 for this software, unless other terms accompany those items. If so, those terms apply. \par }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 By using the software, you accept these terms. If you do not accept them, do not use the software. \par }\pard\plain \ltrpar\s61\ql \li0\ri0\widctlpar\brdrt\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14114191 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 If you comply with these license terms, you have the rights below. \par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\f39\fs20\insrsid9964378\charrsid7029628 \hich\af39\dbch\af0\loch\f39 1.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\widctlpar \jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls17\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid14114191 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 INSTALLATION AND USE RIGHTS. \par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\f39\fs20\insrsid9964378\charrsid7029628 \hich\af39\dbch\af0\loch\f39 a.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\widctlpar \jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls17\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid14114191 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 Installation and Use.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs57\b0\f38\fs20\insrsid9964378\charrsid7029628 One user may install and use any number of copies of }{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs57\b0\f38\fs20\insrsid555183\charrsid7029628 the software on your devices}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs57\b0\f38\fs20\insrsid787759\charrsid7029628 }{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs57\b0\f38\fs20\insrsid555183\charrsid7029628 to design, develop and test your programs.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \cs57\f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\f39\fs20\insrsid9964378\charrsid7029628 \hich\af39\dbch\af0\loch\f39 b.\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 Included Microsoft Programs.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs57\b0\f38\fs20\insrsid9964378\charrsid7029628 }{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs57\b0\f38\fs20\insrsid9964378\charrsid8528517 }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid14633722\charrsid8528517 The software contains other Microsoft programs. In some cases, those programs and the license terms that apply to your use of them are ad dressed specifically in these license terms. For all other included Microsoft programs, these license terms govern your use}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs57\b0\f38\fs20\insrsid9964378\charrsid8528517 .}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \cs57\f38\fs20\insrsid9964378\charrsid8528517 \par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\f39\fs20\insrsid6977589\charrsid8528517 \hich\af39\dbch\af0\loch\f39 c.\tab}}\pard \ltrpar\s2\ql \fi-363\li720\ri0\widctlpar \jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls17\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid8528517 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid6977589\charrsid8528517 Device Simulation Framework. }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid6977589\charrsid8528517 One user may install and use any number of copies of the Device Simulation Framework on your devices for the sole purpose of testing the interoperability of your devices, drivers and firmware with Windows.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid15754779\charrsid8528517 For the avoidance of doubt, the Device Simulation Framework shall not be used for testing software }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid8528517 you have}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid15754779\charrsid8528517 designed and developed using }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid2653025\charrsid8528517 a }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid15754779\charrsid8528517 software development kit other than the Windows Driver Kit.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid7694270\charrsid8528517 \par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\f39\fs20\insrsid9964378\charrsid7029628 \hich\af39\dbch\af0\loch\f39 d.\tab}}\pard \ltrpar\s2\ql \fi-363\li720\ri0\widctlpar \jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls17\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid14114191 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 Third Party Programs.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs57\b0\f38\fs20\insrsid9964378\charrsid7029628 The software contains third party programs. The}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs57\b0\f38\fs20\insrsid5046615\charrsid7029628 se}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs57\b0\f38\fs20\insrsid9964378\charrsid7029628 license terms }{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs57\b0\f38\fs20\insrsid12203714 as well as any license terms}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs57\b0\f38\fs20\insrsid2033734 accompanying the}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs57\b0\f38\fs20\insrsid12203714 third party program files }{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs57\b0\f38\fs20\insrsid9964378\charrsid7029628 apply to your use of them.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\f39\fs20\insrsid9964378\charrsid7029628 \hich\af39\dbch\af0\loch\f39 2.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\widctlpar \jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls17\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid14114191 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. \par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\f39\fs20\insrsid9964378\charrsid7029628 \hich\af39\dbch\af0\loch\f39 a.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\widctlpar \jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls17\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid14114191 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 Distributable Code.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs57\b0\f38\fs20\insrsid9964378\charrsid7029628 The software contains code that you are permitted to distribute in programs you develop if you comply with the terms below.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s49 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\f38\fs20\insrsid9964378\charrsid7029628 \hich\af38\dbch\af0\loch\f38 i.\tab}}\pard\plain \ltrpar\s49\ql \fi-357\li1077\ri0\widctlpar \jclisttab\tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls10\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0\pararsid14114191 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 { \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 Right to Use and Distribute.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs58\b0\f38\fs20\insrsid9964378\charrsid7029628 The code and text files listed below are \'93 Distributable Code.\'94}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s50 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s50\ql \fi-358\li1888\ri0\widctlpar \jclisttab\tx1890\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin1888\itap0\pararsid14114191 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\ul\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 REDIST.TXT Files}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\ulnone\insrsid9964378\charrsid7029628 . You may copy and distribute the object code form of code listed in REDIST.TXT files.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s50 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid13320821\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid13320821\charrsid7029628 Sample Code. }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\ulnone\insrsid13320821\charrsid10685283 You may modif}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\ulnone\insrsid8528517 y, copy and distribute only in object code form }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\ulnone\insrsid10163324 the}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\ulnone\insrsid10163324\charrsid10685283 }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\ulnone\insrsid13320821\charrsid10685283 sample code }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\ulnone\insrsid10163324 found }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\ulnone\insrsid13320821\charrsid10685283 in the }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\ulnone\insrsid10163324 SRC directory of the Windows Driver Kit, except that}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\ulnone\insrsid8528517 }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\ulnone\insrsid10163324 y}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\ulnone\insrsid10163324\charrsid10685283 ou may }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\ulnone\insrsid10163324 also }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\ulnone\insrsid8528517 modify, copy, and di stribute in source code form the sample code}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\ulnone\insrsid10163324\charrsid10685283 listed in the SAMPLES.TXT file.\~}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\ulnone\insrsid13320821\charrsid10685283 \par {\listtext\pard\plain\ltrpar \s50 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 Third Party Distribution}{ \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\ulnone\insrsid9964378\charrsid7029628 . You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s49 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\f38\fs20\insrsid9964378\charrsid7029628 \hich\af38\dbch\af0\loch\f38 ii.\tab}}\pard\plain \ltrpar\s49\ql \fi-357\li1077\ri0\widctlpar \jclisttab\tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls10\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0\pararsid14114191 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 { \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 Distribution Requirements}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid9964378\charrsid7029628 .}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs58\b0\f38\fs20\insrsid9964378\charrsid7029628 For any Distributable Code you distribute, you must}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s36\ql \fi-358\li1888\ri0\widctlpar \jclisttab\tx1890\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin1888\itap0\pararsid14114191 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 add significant primary functionality to it in your programs; \par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab} require distributors and external end users to agree to terms that protect it at least as much as this agreement; \par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}display your valid copyright notice on your programs; and \par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}indemnify, defend, and hold harmless Microsoft from any claims, including attorneys\rquote fees, related to the distribution or use of your programs. \par {\listtext\pard\plain\ltrpar \s49 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\f38\fs20\insrsid9964378\charrsid7029628 \hich\af38\dbch\af0\loch\f38 iii.\tab}}\pard\plain \ltrpar\s49\ql \fi-357\li1077\ri0\widctlpar \jclisttab\tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls10\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0\pararsid14114191 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 { \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 Distribution Restrictions.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \cs58\f38\fs20\insrsid9964378\charrsid7029628 }{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs58\b0\f38\fs20\insrsid9964378\charrsid7029628 You may not}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s36\ql \fi-358\li1888\ri0\widctlpar \jclisttab\tx1890\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin1888\itap0\pararsid14114191 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 alter any copyright, trademark or patent notice in the Distributable Code; \par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}use Microsoft\rquote s trademarks in your programs\rquote names or in a way that suggests your programs come from or are endorsed by Microsoft; \par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}distribute Distributable Code to run on a platform other than the Windows platform; \par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}include Distributable Code in malicious, deceptive or unlawful programs; or \par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab} modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that \par {\listtext\pard\plain\ltrpar \s37 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s37\ql \fi-357\li1792\ri0\widctlpar \jclisttab\tx1795\wrapdefault\aspalpha\aspnum\faauto\ls5\adjustright\rin0\lin1792\itap0\pararsid14114191 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 the code be disclosed or distributed in source code form; or \par {\listtext\pard\plain\ltrpar \s37 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}others have the right to modify it. \par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\caps\f39\fs20\insrsid9964378\charrsid7029628 \hich\af39\dbch\af0\loch\f39 3.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\widctlpar \jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls17\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid14114191 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \caps\f38\fs20\insrsid9964378\charrsid7029628 Scope of License}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 .}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid9964378\charrsid7029628 The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the softwar e that only allow you to use it in certain ways. You may not}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s34\ql \fi-363\li720\ri0\widctlpar \jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid14114191 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 work around any technical limitations in the software}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid2184830\charrsid7029628 ;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab} reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid2184830\charrsid7029628 ;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab} make more copies of the software than specified in this agreement or allowed by applicable law, despite this limitation}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid2184830\charrsid7029628 ;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}publish the software for others to copy}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid2184830\charrsid7029628 ;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}rent, lease or lend the software}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid2184830\charrsid7029628 ;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}transfer the software or this agreement to any third party}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid2184830\charrsid7029628 ; or}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}use the software for commercial software hosting services}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid2184830\charrsid7029628 .}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\f39\fs20\insrsid9964378\charrsid7029628 \hich\af39\dbch\af0\loch\f39 4.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\widctlpar \jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls17\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid14114191 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 BACKUP COPY.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid9964378\charrsid7029628 You may make one backup copy of the software. You may use it only to reinstall the software.}{ \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\f39\fs20\insrsid9964378\charrsid7029628 \hich\af39\dbch\af0\loch\f39 5.\tab}DOCUMENTATION.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid9964378\charrsid7029628 Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\caps\f39\fs20\insrsid9964378\charrsid7029628 \hich\af39\dbch\af0\loch\f39 6.\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \caps\f38\fs20\insrsid9964378\charrsid7029628 Export Restrictions}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 .}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid9964378\charrsid7029628 The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulati ons that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7694270 HYPERLINK "http://www.microsoft.com/exporting"}}{\fldrslt {\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs73\b0\f38\fs20\ul\cf2\insrsid9964378\charrsid7029628 www.microsoft.com/exporting}}}\sectd \ltrsect \psz1\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid4739523\sftnbj {\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid9964378\charrsid7029628 .}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \cs73\f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\caps\f39\fs20\insrsid9651656\charrsid7029628 \hich\af39\dbch\af0\loch\f39 7.\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \caps\f38\fs20\insrsid9651656\charrsid7029628 SUPPORT SERVICES.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9651656\charrsid7029628 }{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid9651656\charrsid7029628 Because this software is \'93as is,\'94 we may not provide support services for it.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9651656\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\caps\f39\fs20\insrsid9964378\charrsid7029628 \hich\af39\dbch\af0\loch\f39 8.\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \caps\f38\fs20\insrsid9964378\charrsid7029628 Entire Agreement.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid9964378\charrsid7029628 This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. \par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\caps\f39\fs20\cf1\insrsid9964378\charrsid7029628 \hich\af39\dbch\af0\loch\f39 9.\tab}}\pard \ltrpar \s1\ql \fi-360\li360\ri0\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls17\outlinelevel0\adjustright\rin0\lin360\itap0\pararsid14114191 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \caps\f38\fs20\cf1\insrsid9964378\charrsid7029628 Applicable Law}{ \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\cf1\insrsid9964378\charrsid7029628 . \par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\f39\fs20\insrsid9964378\charrsid7029628 \hich\af39\dbch\af0\loch\f39 a.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\widctlpar \jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls17\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid14114191 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 United States.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid9964378\charrsid7029628 If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state w here you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\f39\fs20\insrsid9964378\charrsid7029628 \hich\af39\dbch\af0\loch\f39 b.\tab}Outside the United States.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid9964378\charrsid7029628 If you acquired the software in any other country, the laws of that country apply.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\caps\f39\fs20\insrsid9964378\charrsid7029628 \hich\af39\dbch\af0\loch\f39 10.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\widctlpar \jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls17\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid14114191 \rtlch\fcs1 \ab\af0\afs24\alang1025 \ltrch\fcs0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \caps\f38\fs20\insrsid9964378\charrsid7029628 Legal Effect.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\f38\fs20\insrsid9964378\charrsid7029628 This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \caps\f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\caps\f39\fs20\insrsid9964378\charrsid7029628 \hich\af39\dbch\af0\loch\f39 11.\tab}Disclaimer of Warranty.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 The software is licensed \'93as-is.\'94 You bear the risk of using it. Microsoft gives no express warranties, guarantees or conditions. You may have additional co nsumer rights under your local laws which this agreement cannot change. To the extent permitted under your local laws, Microsoft excludes the implied warranties of merchantability, fitness for a particular purpose and non-infringement.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \caps\f38\fs20\insrsid9964378\charrsid7029628 \par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af39\afs20 \ltrch\fcs0 \b\caps\f39\fs20\insrsid9964378\charrsid7029628 \hich\af39\dbch\af0\loch\f39 12.\tab}}\pard \ltrpar\s1\ql \fi-360\li360\ri0\widctlpar \jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls17\outlinelevel0\adjustright\rin0\lin360\itap0\pararsid14114191 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \caps\f38\fs20\insrsid9964378\charrsid7029628 Limitation on and E xclusion of Remedies and Damages. }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 You can recover from Microsoft and its suppliers only direct damages up to U.S. $5.00. You cannot recover any other damages, including consequential, lost profits, special, indirect or incidental damages.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \caps\f38\fs20\insrsid9964378\charrsid7029628 \par }\pard\plain \ltrpar\s24\ql \li357\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin357\itap0\pararsid14114191 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 This limitation applies to \par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s34\ql \fi-363\li720\ri0\widctlpar \jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid14114191 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and \par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid9964378\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab} claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law. \par }\pard\plain \ltrpar\ql \li360\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid14114191 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid9964378\charrsid7029628 It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or li mitation of incidental, consequential or other damages. \par }\pard\plain \ltrpar\s79\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14114191 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid8999754\charrsid7029628 \hich\af38\dbch\af11\loch\f38 Please note: As this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French. \par }\pard \ltrpar\s79\ql \li0\ri0\sb240\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14114191 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid8999754\charrsid7029628 \hich\af38\dbch\af11\loch\f38 Remarque}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid480810\charrsid7029628 \hich\af38\dbch\af11\loch\f38 }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid8999754\charrsid7029628 \hich\af38\dbch\af11\loch\f38 \hich\f38 : Ce logiciel \'e9\loch\f38 \hich\f38 tant distribu\'e9\loch\f38 \hich\f38 au Qu\'e9\loch\f38 bec, Canada, certaines \hich\af38\dbch\af11\loch\f38 \hich\f38 des clauses dans ce contrat sont fournies ci-dessous en fran\'e7\loch\f38 ais. \par }\pard\plain \ltrpar\s80\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14114191 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\insrsid8999754\charrsid7029628 \hich\af38\dbch\af11\loch\f38 \hich\f38 EXON\'c9\loch\f38 RATION DE GARANTIE.}{ \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid8999754\charrsid7029628 \hich\af38\dbch\af11\loch\f38 \hich\f38 Le logiciel vis\'e9\loch\f38 \hich\f38 par une licence est offert \'ab\loch\f38 \hich\f38 tel quel \'bb\loch\f38 \hich\f38 . Toute utilisation de ce logiciel est \'e0\loch\f38 \hich\f38 votre seule risque et p\'e9\loch\f38 ril. Microsoft n\hich\f38 \rquote \loch\f38 accorde aucune autre garant\hich\af38\dbch\af11\loch\f38 ie expresse. }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\langnp1036\insrsid8999754\charrsid7029628 \hich\af38\dbch\af11\loch\f38 \hich\f38 Vous pouvez b\'e9\loch\f38 \hich\f38 n\'e9\loch\f38 ficier de droits additionnels en vertu du }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\langnp1036\insrsid1070219\charrsid7029628 \hich\af38\dbch\af11\loch\f38 droit local sur la protection d}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\langnp1036\insrsid8999754\charrsid7029628 \hich\af38\dbch\af11\loch\f38 es consommateurs, que ce contrat ne peut modifier. }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid8999754\charrsid7029628 \hich\af38\dbch\af11\loch\f38 \hich\f38 La ou elles sont permises par le droit locale, les garanties implicites de qualit\'e9\loch\f38 marchande, d\hich\f38 \rquote \loch\f38 \hich\f38 ad\'e9\loch\f38 quat\hich\af38\dbch\af11\loch\f38 \hich\f38 ion \'e0\loch\f38 un usage particulier et d \hich\f38 \rquote \loch\f38 \hich\f38 absence de contrefa\'e7\loch\f38 on sont exclues. \par }\pard \ltrpar\s80\ql \li0\ri0\sb120\sa120\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14114191 {\rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\insrsid8999754\charrsid7029628 \hich\af38\dbch\af11\loch\f38 \hich\f38 LIMITATION DES DOMMAGES-INT\'c9\loch\f38 \hich\f38 R\'ca\loch\f38 \hich\f38 TS ET EXCLUSION DE RESPONSABILIT\'c9\loch\f38 POUR LES DOMMAGES.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid8999754\charrsid7029628 \hich\af38\dbch\af11\loch\f38 Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs un\hich\af38\dbch\af11\loch\f38 \hich\f38 iquement \'e0\loch\f38 \hich\f38 hauteur de 5,00 $ US. Vous ne pouvez pr\'e9 \loch\f38 \hich\f38 tendre \'e0\loch\f38 \hich\f38 aucune indemnisation pour les autres dommages, y compris les dommages sp\'e9\loch\f38 \hich\f38 ciaux, indirects ou accessoires et pertes de b\'e9\loch\f38 \hich\f38 n\'e9\loch\f38 fices. \par \hich\af38\dbch\af11\loch\f38 Cette limitation concerne}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid480810\charrsid7029628 \hich\af38\dbch\af11\loch\f38 }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid8999754\charrsid7029628 \hich\af38\dbch\af11\loch\f38 : \par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid8999754\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s34\ql \fi-360\li720\ri0\keepn\widctlpar \jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid14114191 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid8999754\charrsid7029628 tout ce qui est reli\'e9 au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid480810\charrsid7029628 }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid8999754\charrsid7029628 ; et \par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid8999754\charrsid7029628 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\s34\ql \fi-363\li720\ri0\widctlpar \jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid14114191 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid8999754\charrsid7029628 les r\'e9 clamations au titre de violation de contrat ou de garantie, ou au titre de responsabilit\'e9 stricte, de n\'e9gligence ou d\rquote une autre faute dans la limite autoris\'e9e par la loi en vigueur. \par }\pard\plain \ltrpar\s80\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14114191 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid8999754\charrsid7029628 \hich\af38\dbch\af11\loch\f38 Elle s\hich\f38 \rquote \loch\f38 \hich\f38 applique \'e9 \loch\f38 \hich\f38 galement, m\'ea\loch\f38 \hich\f38 me si Microsoft connaissait ou devrait conna\'ee\loch\f38 tre l\hich\f38 \rquote \'e9\loch\f38 \hich\f38 ventualit\'e9\loch\f38 d\hich\f38 \rquote \loch\f38 un tel dommage. Si votre pays n\hich\f38 \rquote \loch\f38 autorise pas l\hich\f38 \rquote \loch\f38 \hich\f38 exclusion ou la limitation de responsabilit\'e9\loch\f38 pour les dommages \hich\af38\dbch\af11\loch\f38 indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l\hich\f38 \rquote \loch\f38 exclusion ci-dessus ne s\hich\f38 \rquote \loch\f38 \hich\f38 appliquera pas \'e0\loch\f38 \hich\f38 votre \'e9\loch\f38 gard. \par }{\rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\insrsid8999754\charrsid7029628 \hich\af38\dbch\af11\loch\f38 EFFET JURIDIQUE.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid8999754\charrsid7029628 \hich\af38\dbch\af11\loch\f38 \hich\f38 Le pr\'e9 \loch\f38 \hich\f38 sent contrat d\'e9\loch\f38 crit certains droits juridiques. Vous pourriez avoir d\hich\f38 \rquote \loch\f38 autres droits pr\loch\af38\dbch\af11\hich\f38 \'e9\loch\f38 vus par les lois de votre pays. }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\langnp1036\insrsid8999754\charrsid7029628 \hich\af38\dbch\af11\loch\f38 \hich\f38 Le pr\'e9\loch\f38 \hich\f38 sent contrat ne modifie pas les droits que vous conf\'e8\loch\f38 rent l}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\langnp1036\insrsid15601712\charrsid7029628 \hich\af38\dbch\af11\loch\f38 es lois de votre pays si celles-}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\langnp1036\insrsid8999754\charrsid7029628 \hich\af38\dbch\af11\loch\f38 ci ne le permettent pas.}{\rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\lang1036\langfe1033\langnp1036\insrsid9964378\charrsid7029628 \par }{\*\themedata 504b030414000600080000002100828abc13fa0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb6ac3301045f785fe83d0b6d8 72ba28a5d8cea249777d2cd20f18e4b12d6a8f843409c9df77ecb850ba082d74231062ce997b55ae8fe3a00e1893f354e9555e6885647de3a8abf4fbee29bbd7 2a3150038327acf409935ed7d757e5ee14302999a654e99e393c18936c8f23a4dc072479697d1c81e51a3b13c07e4087e6b628ee8cf5c4489cf1c4d075f92a0b 44d7a07a83c82f308ac7b0a0f0fbf90c2480980b58abc733615aa2d210c2e02cb04430076a7ee833dfb6ce62e3ed7e14693e8317d8cd0433bf5c60f53fea2fe7 065bd80facb647e9e25c7fc421fd2ddb526b2e9373fed4bb902e182e97b7b461e6bfad3f010000ffff0300504b030414000600080000002100a5d6a7e7c00000 00360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4fc7060abb08 84a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b63095120f88d94fbc 52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462a1a82fe353 bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f7468656d652f7468 656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b4b0d592c9c 070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b4757e8d3f7 29e245eb2b260a0238fd010000ffff0300504b03041400060008000000210096b5ade296060000501b0000160000007468656d652f7468656d652f7468656d65 312e786d6cec594f6fdb3614bf0fd87720746f6327761a07758ad8b19b2d4d1bc46e871e698996d850a240d2497d1bdae38001c3ba618715d86d87615b8116d8 a5fb34d93a6c1dd0afb0475292c5585e9236d88aad3e2412f9e3fbff1e1fa9abd7eec70c1d1221294fda5efd72cd4324f1794093b0eddd1ef62fad79482a9c04 98f184b4bd2991deb58df7dfbb8ad755446282607d22d771db8b944ad79796a40fc3585ee62949606ecc458c15bc8a702910f808e8c66c69b9565b5d8a314d3c 94e018c8de1a8fa94fd05093f43672e23d06af89927ac06762a049136785c10607758d9053d965021d62d6f6804fc08f86e4bef210c352c144dbab999fb7b471 7509af678b985ab0b6b4ae6f7ed9ba6c4170b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83a6569632cd467faddec9699640f671 9e76b7d6ac355c7c89feca9cccad4ea7d36c65b258a206641f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257e7f0fd2badd5868b37a088d1 e4600ead1ddaef67d40bc898b3ed4af81ac0d76a197c86826828a24bb318f3442d8ab518dfe3a20f000d6458d104a9694ac6d88728eee2782428d60cf03ac1a5 193be4cbb921cd0b495fd054b5bd0f530c1931a3f7eaf9f7af9e3f45c70f9e1d3ff8e9f8e1c3e3073f5a42ceaa6d9c84e5552fbffdeccfc71fa33f9e7ef3f2d1 17d57859c6fffac327bffcfc793510d26726ce8b2f9ffcf6ecc98baf3efdfdbb4715f04d814765f890c644a29be408edf3181433567125272371be15c308d3f2 8acd249438c19a4b05fd9e8a1cf4cd296699771c393ac4b5e01d01e5a30a787d72cf1178108989a2159c77a2d801ee72ce3a5c545a6147f32a99793849c26ae6 6252c6ed637c58c5bb8b13c7bfbd490a75330f4b47f16e441c31f7184e140e494214d273fc80900aedee52ead87597fa824b3e56e82e451d4c2b4d32a423279a 668bb6690c7e9956e90cfe766cb37b077538abd27a8b1cba48c80acc2a841f12e698f13a9e281c57911ce298950d7e03aba84ac8c154f8655c4f2af074481847 bd804859b5e696007d4b4edfc150b12addbecba6b18b148a1e54d1bc81392f23b7f84137c2715a851dd0242a633f900710a218ed715505dfe56e86e877f0034e 16bafb0e258ebb4faf06b769e888340b103d3311da9750aa9d0a1cd3e4efca31a3508f6d0c5c5c398602f8e2ebc71591f5b616e24dd893aa3261fb44f95d843b 5974bb5c04f4edafb95b7892ec1108f3f98de75dc97d5772bdff7cc95d94cf672db4b3da0a6557f70db629362d72bcb0431e53c6066acac80d699a6409fb44d0 8741bdce9c0e4971624a2378cceaba830b05366b90e0ea23aaa241845368b0eb9e2612ca8c742851ca251ceccc70256d8d87265dd96361531f186c3d9058edf2 c00eafe8e1fc5c509031bb4d680e9f39a3154de0accc56ae644441edd76156d7429d995bdd88664a9dc3ad50197c38af1a0c16d684060441db02565e85f3b966 0d0713cc48a0ed6ef7dedc2dc60b17e92219e180643ed27acffba86e9c94c78ab90980d8a9f0913ee49d62b512b79626fb06dccee2a432bbc60276b9f7dec44b 7904cfbca4f3f6443ab2a49c9c2c41476dafd55c6e7ac8c769db1bc399161ee314bc2e75cf8759081743be1236ec4f4d6693e5336fb672c5dc24a8c33585b5fb 9cc24e1d4885545b58463634cc5416022cd19cacfccb4d30eb45296023fd35a458598360f8d7a4003bbaae25e331f155d9d9a5116d3bfb9a95523e51440ca2e0 088dd844ec6370bf0e55d027a012ae264c45d02f708fa6ad6da6dce29c255df9f6cae0ec38666984b372ab5334cf640b37795cc860de4ae2816e95b21be5ceaf 8a49f90b52a51cc6ff3355f47e0237052b81f6800fd7b802239daf6d8f0b1571a8426944fdbe80c6c1d40e8816b88b8569082ab84c36ff0539d4ff6dce591a26 ade1c0a7f669880485fd484582903d284b26fa4e2156cff62e4b9265844c4495c495a9157b440e091bea1ab8aaf7760f4510eaa69a6465c0e04ec69ffb9e65d0 28d44d4e39df9c1a52ecbd3607fee9cec7263328e5d661d3d0e4f62f44acd855ed7ab33cdf7bcb8ae889599bd5c8b3029895b6825696f6af29c239b75a5bb1e6 345e6ee6c28117e73586c1a2214ae1be07e93fb0ff51e133fb65426fa843be0fb515c187064d0cc206a2fa926d3c902e907670048d931db4c1a44959d366ad93 b65abe595f70a75bf03d616c2dd959fc7d4e6317cd99cbcec9c58b34766661c7d6766ca1a9c1b327531486c6f941c638c67cd22a7f75e2a37be0e82db8df9f30 254d30c1372581a1f51c983c80e4b71ccdd28dbf000000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f74 68656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f24 51eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e3198 720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9850528 a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100828abc13fa0000001c0200001300000000000000000000000000 000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b000000000000000000000000 002b0100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c00000000000000000000000000140200007468 656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d001400060008000000210096b5ade296060000501b000016000000000000000000 00000000d10200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b010000270000000000 00000000000000009b0900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000960a00000000} {\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d 617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169 6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363 656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e} {\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal; \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdlocked0 heading 2;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3; \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6; \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9; \lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7; \lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font; \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis; \lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing; \lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid; \lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1; \lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2; \lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading; \lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1; \lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1; \lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision; \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote; \lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1; \lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1; \lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2; \lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2; \lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2; \lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2; \lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2; \lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3; \lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3; \lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3; \lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3; \lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3; \lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4; \lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4; \lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4; \lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4; \lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5; \lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5; \lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5; \lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5; \lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5; \lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6; \lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6; \lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6; \lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6; \lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6; \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis; \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference; \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000 4d73786d6c322e534158584d4c5265616465722e352e3000000000000000000000060000 d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffffec69d9888b8b3d4c859eaf6cd158be0f000000000000000000000000b08e b9bc71efc901feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000105000000000000}}MZ@ !L!This program cannot be run in DOS mode. $l2&(SH(SH(SHqp["SH5/SH(SISH3+SH&'SH2)SH%mSH6)SH4)SH0)SHRich(SHPELΫ+N! "?@G@`  6@l.text `.data$ @.rsrc@@.reloc@Btjv>"t^P8,tl\J<(xhF& hT@( 0>Jp`N<*x`P<,\RF<4*zrj`VH>2\jv(  @Ϋ+NX878+creating event failed: win error: %s%smemory allocation error invalid endpoint 0x%02x _usb_setup_asyncinvalid endpoint 0x%02xsubmitting request failed, win error: %sinvalid interface %d invalid configuration %d device not open usb_submit_asyncinvalid contextusb_free_asyncinvalid context found %s bus-0usb_os_find_bussesmemory allocation failed virtual-hubcould not set config %d: win error: %scan't change configuration, an interface is still in use (claimed) usb_set_configurationerror: device not open could not claim interface %d, win error: %scould not claim interface %d, invalid configuration %d usb_claim_interfacecould not release interface %d, win error: %scould not release interface %d, invalid configuration %d usb_release_interfacecould not set alt interface %d/%d: win error: %scould not set alt interface %d: no interface claimed could not set alt interface %d: invalid configuration %d usb_set_altinterfacesending control message failed, win error: %s invalid request 0x%xinvalid or unsupported request type: %xusb_control_msgfound %s on %s %s--0x%04x-0x%04xusb_os_find_devicescouldn't read device descriptor %s%04d\\.\libusb0-setting debug level faileddriver version: %d.%d.%d.%d getting driver version failed usb_os_initdll version: %d.%d.%d.%d could not reset ep 0x%02x, win error: %s could not abort ep 0x%02x, win error: %s usb_resetepcould not clear halt, ep 0x%02x, win error: %susb_clear_haltcould not reset device, win error: %s usb_resetusb_reset_exsetting debug level failed usb_set_debugsetting debugging level to %d (%s) offon_usb_abort_epdevice not openusb_get_configurationsending get cached configuration ioctl failed, win error: %s failed to open %s: win error: %sinvalid file name %s --invalid file name usb_os_openinvalid device handle %preaping request failed, win error: %s timeout error _usb_reap_asyncusb_cancel_asyncUSB_DEBUGusb_usb_registry_unknowndbgwrnerrNo errorUnknown error%s:[%s] %s:%s [%s] nonelibusb0-dll-w-w=--wait=-p-p=--prompt=-f=--inf=-di=--device-id=-d=--device=-c=--class=-dc--device-classes-ad--all-devices-ac--all-classesh-?/?-hhelp--helpu-uuninstalli-iinstalll-llistPress any key to exit..This will add libusb-win32 as a driver for all usb devices on the PC. This function is for development purposes only. Improper use of the libusb-win32 filter driver can cause devices to malfunction and in some cases complete system failure.libusb-win32-installer-{1298B356-F6E3-4455-9FEC-3932714AF49B} usb_install_find_model_section.inf file does not contain a valid Manufacturer section .inf file does not contain a valid model-section-name %s.%sManufacturerloading exported functions of advapi32.dll failedControlServiceQueryServiceStatusStartServiceADeleteServiceCreateServiceACloseServiceHandleChangeServiceConfigAOpenServiceAOpenSCManagerAusb_service_load_dllloading DLL advapi32.dll failed advapi32.dllcreating service '%s' failed: %schanging config of service '%s' failed: %susb_service_createopening service control manager failed: %sServicesActivestopping service '%s' failed: %sgetting status of service '%s' failed: %susb_service_stopstopping %s service.. deleting service '%s' failed: %sdeleting %s service.. usb_service_delete arabrb;added by libusb to break this file's digital signature;added by libusb to break this file's digital signaturerestart needed usb_install_needs_restart_npgetting device info set failed LIBUSB_NEEDS_REBOOT1%s memory allocation failureSTATICTahomaRichEdit20A device lower filters:%s device upper filters:%s %s %s - %s (%s) class lower filters:%s class upper filters:%s %s (%s) usb_install_reportIsWow64Processusb_install_iswow64loading kernel32.dll failed kernel32.dllfailed creating service %s system32\drivers\libusb0.sysusb_install_servicecreating %s service.. libusb0libusb-win32 - Kernel Driver, Version %d.%d.%d.%dlibusbdinvalid hardware id %s failed RemoveDevice for device %s failed UninstallDevice for device %s failed RollBackDriver for device %s USB%s device %s.. installingremovingusb\unable to open .inf file %s .inf file %s not found loading setupapi.dll failed SetupCopyOEMInfAsetupapi.dllDiRollbackDriverDiUninstallDeviceUpdateDriverForPlugAndPlayDevicesAloading newdev.dll failed newdev.dllusb_install_inf_npThis is a 64bit operating system and requires the 64bit libusb-win32 installer application. failed adding device upper filter key %ls failed wcstombs %ls invalid argument %ls multiple commands not allowed: %ls failed adding inf %ls failed adding class name at argument %ls failed adding class guid at argument %ls {%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}usb_install_parse_filter_contextfailed CommandLineToArgvW:%XCommandLineToArgvWshell32unknown filter_mode command installing inf %s.. invalid switch for install operation (%ls) uninstalling inf %s.. -ac and -dc switches are incompatible with -c= switch libusb-win32 installer (v%u.%u.%u.%u) command not specified. Use %ls, %ls, or %ls. usb_install_consolelibusb-win32 installer requires administrative privileges. Click the [X] close button to exit.libusb-win32 installer errors!libusb-win32 installer finishedOperation completed successfuly.Operation completed with errors!libusb-win32 installer running..GradientFillmsimg32?Unable to create progress dialog libusb-win32 installerusb_install_windowcan't register class libusbwin32_progress_classriched32libusb-win32 installer errorusb_install_npWmemory allocation failure i -dcu -accouldn't allocate memory for endpoint extra descriptors invalid descriptor length of %d skipped %d class/vendor specific endpoint descriptors skipping descriptor 0x%X bbbbwbbbbbwbbbunexpected descriptor 0x%X, expecting endpoint descriptor, type 0x%X ran out of descriptors parsing bbcouldn't allocate memory for ifp->endpoint too many endpoints couldn't allocate memory for interface extra descriptors couldn't malloc interface->altsetting skipped %d class/vendor specific interface descriptors bbbbbbbbbcouldn't allocate memory for config extra descriptors out of memory too many interfaces bbwbbbbbUnable to allocate memory for descriptors Config descriptor too short (expected %d, got %d) Unable to get descriptor (%d) Unable to parse descriptors Descriptor data still left bbwUnable to allocate memory for config descriptor Not enough configurations (%d < %d) Too many configurations (%d > %d) {50dd5230-ba8a-11d1-bf5d-0000f805f530}{4d36e96d-e325-11ce-bfc1-08002be10318}{4d36e96c-e325-11ce-bfc1-08002be10318}{6bdd1fc6-810f-11d0-bec7-08002be2092f}{4d36e972-e325-11ce-bfc1-08002be10318}{745a17a0-74d3-11d0-b6fe-00a0c90f57da}{36fc9e60-c465-11cf-8056-444553540000}libusb0.sysusb_registry_set_propertyreading registry key failed deleting property '%s' failedsetting property '%s' failedUpperFiltersLowerFiltersrev_%04urev_mi_%02xmi_pid_%04xpid_vid_%04xvid_usb_registry_remove_device_regvalueremoved %s from device registry.. calling class installer failed usb_registry_set_device_statesetting class install parameters failed stopping devices.. usb_registry_stop_libusb_devicesstarting devices.. usb_registry_start_libusb_devicesusb_registry_get_hardware_idfailed restarting root hub #%d.. root_hubrestarting devices.. usb_registry_restart_all_devicesunable to get SPDRP_MFG unable to get SPDRP_DEVICEDESC unable to get SPDRP_HARDWAREID usb_registry_get_filter_device_keysunable to get device instance id unable to set registry value usb_registry_insert_class_filterinserting class filter %s.. failed removing class filter %s.. usb_registry_remove_class_filterremoving class filter %s.. usb_registry_match_filter_devicefailed getting device id inserting device %s filter %s.. lowerupperusb_registry_insert_device_filterrestarting device %s.. SurpriseRemovalOK%s%sSYSTEM\CurrentControlSet\Control\Class\usb_registry_get_usb_class_keysClassSYSTEM\CurrentControlSet\Services\Class\removing device lower filter %s.. removing device upper filter %s.. usb_registry_remove_device_filterfailed adding lower device filter for %s failed adding upper device filter for %s usb_registry_insert_device_filters@8@EEE00P('8PW700PP (```hhhxppwppH<@7@RSDSpmOBrU#z:\projects\libusb-win32-stage\ddk_make\output\i386\libusb0.pdbPU) "tM "u"E tE Ph@h@_ jX]Á. "tR "uE u E Ph@Wj<`@3;Yuh@h@h@ jXlj5Ph@h@O3_]̋UVuuh@h@h@r jXxuh@׋H Qhp@͋@}PhX@뾋E v8f0f4FEF @F(Pjv FvjPv$p@u.@=t!cPh,@h@ }3^]̋UVuuh@h@h@ jXp8@6d@&Y3^]̋UEVWj<`@u 3;Yuh@h@h@> jXpj`Ph@h@z3_u SuM "uu [^]̋UVWj<`@u 3EYtL;uh@h@h@k jXj`Ph@h@z3_^]̋USVV`@؅Yuh@h@h@ jX2WVjS褁C@Ph@h@fE3_^[]̸@̋UVW3}諫3;ޫt3VVjV@;ƉEu3_^ÍEPVuuuuu u@u@=t u@jEPEPu@t;tE3F̋UESV,V`@؅YWVjS藀E{,@f fƃ ƃ fǃƃ ƃƃƃ@fǃƃƃƃƃ_3@^[]̋UVut6VYY^]̋UVuFuh@h@h@ jXW} 9~ tx39N|h`@h@h@c jXWSQQjMQh "P3ۉ}E[u"PWh8@h@ NN~ 3_^̋UVuFuh@h@h8@ jXu39N uQu h@h8@W} 9~tJSQQjMQhT "P3ۉ}I[u"PWh@h8@l f~3_^̋UVuFuh@h@h@& jXq39N uQu h|@h@SW} QQjMQhX "P3ۉ}u"RPWhL@h@k NN3_[^̋UVuNuh@h@hx@} jXF Pu h<@hx@XًF} u h@SW} jjEjEPh "Q3ۉ}Eu%PWvh@hx@~3_[^̋U,E eSVW}EExju[uh@h@h@ jXGE$U Eԋƒ`tO t @tRh@ɋE؋ƒE܋EEEEEE$0 "E"MtxHtUHHt1ƒEEEEE܋EEE$ "ƒE؋EE܋EEE "ƒE؋EE܋EEE "ƒE؋EEE "zƒEEEEE܋EEE "UtGHt5Ht#Ht Qh@EE؋EEE "%EEE "EEE "E "UeuW] S`@YEuh@h@h@ j:jYu uuPzu 3}uEWSVu]p\u/ Ph@h@ }uVd@Y}u Vd@E YE_^[̋U4<@3ʼnEESVWE 3Džht@hl@hPT@,S`@;|SWVy Wh@jWW&WP@u Vd@Yj QjQh$ "PDžDž},hH@h@h4@Vd@@sPPPh @^hST@@;tp>PSh@h4@~b3M_^3[xh@h@h4@: jX̋U(<@3ʼnESVW3Wjj3CSh@@V6ht@hl@hPT@Wh@jWWWP@tLjQjQhH "PKt s:h@h@Vl @VSRQPh@V@ @@@@WWjPhD "30uh@h@V @M_^3[v̋UE@uh@h@h`@u jXSW} jjjMQh< "P3ۉ}Eu PWh4@/jjjEPEh8 "p3u" PWh@h`@ 3_[̋UE@uh@h@h@ jXSVu jjjMQh8 "P3ۉuELu" PVhl@h@p 3^[̋UE@uh@h@h@2 jXSjjjMQh@ "P3E[u!z Ph@h@ 3̋UE@uh@h@h@ jXËM SjjMjMQh\ "P3ED[u! Ph@h@h  3̋U<@3ʼnESVW= }3u;t";D@u@@PWh@h @FW 3YCSht@hl@hPT@Vh@jVVVP@u C|N VVjPhD "W3Iuh@h@h @o W@M_^3[s̋UVuVY(tPd@Yƀ''u'P`@Y(t3ɋ(u3^]̋U@uhX@h@hH@ jXSjjjMQh< "P3ۉuE[u" PVh4@hH@<  3̋UVut,6YtP6YV\YY^]̋U} u 7PY3@] ̋U}thSWjY3j}EPjPh$"r]EH_[u!Ph@hh@k  E}jXÊM"hjE PjjjhRSM |̋U<@3ʼnESVu3;uSh @h@ jXFW;É~^ ~~u h@h@6+Њ @:uh@PP@;YYuFPh@h@| @Sh@jSSSP@;ljFu$PFPh@h@: jXjf;Y~ F ~~3_M^3[Jp̋UVu~t%F| PVYYv@NNN3^]̋Vwjw8@^̋UQeWuh@h@ht@ jXvuw8@=u&} thd@h@ht@G jjEPG(Pp@u!Ph<@ht@ E_̋UEju CYY]̋UEju (YY]̋UW}uh@h@h@ jXxuh@3_]̋UQSVW39}}uMuu uu |Tu;~Vuu |%uu&YY|)EE}~;tEP;Y_^[̋Uu) "uuju uQ]̋Uu. "uuju u']̋V5H@W@WօYtWPL@P! _^=̋UVj`@Yu34EFVFNNN Y} Vd@Yʋ^]̋UE huuuPjhu ]̋U<@3ʼnES]VW}VPjjW}jXz VQPu W\|Nu;~jj^3;~)MI;}!5t? 5@FF;|M_^3[Hl̋UVuud@YY^]̋UE@]̋UVW}Wc?(5d@Wփ _^]̡d@̋U]%d@̋U WE3P};Y  d@;VSE;Nj]t5py:utW:Vu GGFFu3҃tu3A;t35HtMtPQ` PH3 d@;tQPQy9'EYM;Y[E;tGP;׋t M;tPQx8 d@;tA8E;xd@uE^_̋UeSVW=d@}d}EPWYYNE]t6py:utW:Vu GGFFu3҃tu͋}At46HtMtPQ` P}"tQPa!QEYMUutzN3;ʋtE;tNH9VuVYtW=WYY}39t;tpEN;ًuW?Y}E_^[̡t@t'HtHuh@=^~ P4@Yø@øx@ø@̋Vjhh@Vh@Pjh@^@t&tWtyt =tjjtjXj X3̋UEjY; p@p@]̡p@̋UEl@]̡l@̋U <@3ʼnEME VuMjZ;ʉE~9 p@} S @W3!;ʉ~fEt,VVP,@t<5D@*t0;t'PSP@;YYuP@u+؃uЅu@t8P@u+t*Sh@VPT@"Sh@VPT@|4+ȉQP,@~}3F9Ƅ=u#WPhx@0@ Ƈx@5t@l@t'WQSuЃu9p@| P@_[M3^e̋Uuuu h@u]̋UEPuu u]̋Uuu uj]̋Uuu uj]̋Uuu ujg]̋UEPu u ]̋UEPu u ]̋UEPu u ]̋U<@3ʼnEVVhjPdh 3hFP5@@tbjX9xuWlu1pt@9pu @19pu)@lrtX@M3^*d̋U Wu 3u}uEPE E@M3Ʌ_̋UEtt P@]3]̋U}u3]u u@@]̋U4<@3ʼnEM EV5(@Qjh@PօSWj3Y3CjhPS$@tP$@HCYrv|+ӊ @ujPօuGt8PSh@P(@jPօt3_[t0d@F8Yuꃽuh@hH@h@h(@ M3^ b̋W80h@@3;ǣ@uh@h@h@ 3_V5@h@Ph@5@@hp@5@@h\@5@@hL@5@@h<@5@@h,@5@@h@5@@h@5@@9=@@^t<9=@t49=@t,9=@t$9=@t9=@t9=@t 9=@t;u5@@h@3@_̡@tP@3@̋UQQV3uh?h @V@;ƉEuPhX @hD @ WhSP@;t9uVVVVVu juuW@uiZPSh @hD @U@=$uHVVVVVu juuh uSu@;u PSh@hD @}E;tW@u@_E^̋U(evuVSh @ @Va h?h @j@EuPhX @V hSP@Eu EMQP@u8PSh @VjW3G9}u}[EPWu@uPSh @2EPu@th@9}܉}uPSh @VD_}t u@u@E^̋UQeBuSVuL!@h4!@V* h?h @j@؅uJPhX @V TWhuS@t$W@uPuh!@VEtW@S@_E^[̋UL <@3ʼnES]VWjYj!@}Yx!@TPDž@uhp!@S@ӅYYtċ= @P TPTP@YYuTVP׃ u Dž5@փYhl!@ӋTWP@Wփ=@hh!@SׅYY@PEPTPP@YYuTVPӃ u Dž@ӃYuBhd!@׋5 @P`!@WEPWӃ$3M_^3[[̋UP<@3ʼnESV3jVVVE@h"@hp"@@uhP"@h@h0"@ 3EPV5 @SօtrW3PEPSDž(,@t,ft!h "@h@h0"@ DžEPSօu_S@M^3[Z̋US]V3tKFWPPF P@FP@F =d@ tPYF$f tPYf$V׃#Y_^[]̋U }VW=@u׋5@MQP֍EPu֋EM+E+M;|}|}|EM+E+M;} ׍MQP֋E+EjA+‹UȋE™+j+jPE+E+‹UȋE™++Pju@_^̋UD<@3ʼnES] VuWuH@u+P`@YV@uh"@h"@@YY3~$$@+Auw+Au+Au]5@PPhSփ}EE<E@EEtE}tMEPjhDSWjhSWd@YjjhS3@M_^3[KX̋U$SV5@Wj-j.E֋؍EPu@Eu܍}쥥EP3VEP@EVPEP@EM++Ù3j+P+ˋ+E'3+PSuV5@Wu֋@PӋE+Ej3+PE+E3+Puujh'uPjjhWuP@_3^@[̋UH<@3ʼnEUR zE ERu0RSVW3S5x@h'PjXPPPPQSh"@h@j<^VEESPVuEE̪ "@}ڥEPfjhDu5@SShQuj@PShCuS5x@h'ujXPPPPh PSh"@S@uYM_3^3@[NV̋UUW3j YE EB 3@_]̋US39]Vt_M ;tXE;tQ;tGpf@@fu+t0f|q=uVQu@ Qu@YYtC u3^[]ËM EMp3@̋UQEVpuSWd#@uth`!@h@SWP PhX#@SWsH@u+t*j,P],YYtPh<#@SW5P@u+t*j,P,YYtPh #@SW PFPPh #@SWPh#@SW(H@u+t*j,P+YYtPh"@SWzP@u+t*j,Pd+YYtPh"@SW<6FEEr_[^̋UQeh#@@uh#@h@h#@f 3Vhx#@P@tEP@Pօu!EE^̋U<@3ʼnES39@]]]]]EuR=@3@EEPSSSSSSh j jEP@;ÉEtEPuS@u]u @EM3[R̋UQQj@EtPWh,h$'j@t6SWj@Wj@tP@tjMQSPu@[_̋U<@3ʼnESVW}-8)txhjPRjjjjh<$@hPT@4$@Sh$@$@Vjjh#@P;DuSh#@V $.WJW8YYt ?2g3M_^3[Q̋Uz(u]SVp$@Su~ Yu~tVGYVw9~Yt 1f^3[]̋Ul<@3ʼnEES3ۉ0th@&@h@h(&@ PWh&@@;uh&@h@h(&@z V5@h%@W;Éuh&@Bh%@Wh%@Wh%@@;th%@P;Éu hp%@h@]SPhDž@u hX%@)SjSP@uh8%@h(&@ /PV8YYjXShQPP@jh0%@P@9] $%@u%@QPh%@h(&@H9] u?9]tSSSSSjSPu]PjPPSjSh%@S@6PSW @ShPSjPW@W8EV@PVP@ uƍP@:u+t8u9] 9t2PSSPWVh$@h(&@ 9t=PSPWStDžVh$@h(&@ PW@uVh$@h(&@o _SPP @ u?SjPSj PW@t jPj PW@PW @aW@ShPP$@PPP@V@9t,c-4Phx$@h(&@r V@9] u %((3^_M3[L̋Ujju> ]̋UuY]̋U\<@3ʼnES] VuW}'=@Džu\@uh(@@@th(@P@@=@u%@Ph'@h'@ WS@u%@Ph'@h'@K ]?E;}뉅PP3@# BPP3T@ t~#FPP3d@ t~FPP3t@ t~F~PP3@Y tUPP3@0 t,PP3@ t FPP3@ PP3@ PP3@ h3ۍSPyIhP@& {}PPPPPPPPPPP'@WP@4 WP(@PV6<;ÉT4hd'@ SP@PQPFP)-;É 4h8'@PP3@ h3WPGhP@ƄPPFP* 9g4h '@PP3@# tePf@@fu+tR=@hj׋؃ [S`@SF P׃8N L@P@u+@P`@YF L@A@uPP3@] taPf@@fu+tN=@hj׋؃ S`@SF$P׃rN$5P@P@u+@P`@YF$ P@A@uhP@ JƄPP3@o tP@PPPPQ8PP3@5 t$P@PPPPPPF P& ;F4h&@=4h&@h'@n ҋ4h&@ɋ4h&@듋4h&@h'@ tF8tPa8Yt |@M_^3[C̋UQS39@VW|@;h'P@;E u+Eu;~| u\H;> uFH;E%HtHt SSj@PjShf @SShVW3@<5@jփt+;t'}uj;ttSMQu uP@3_^[̋UQS3ۉ]u hL)@h@h8)@ Mth@&@Vu9^u-5t@5d@5T@h)@h8)@SMW~9u9^ u9^uu 9^u&Sjjjh(@8)@Sh?tth(@h@SW8Fu{u 9u9F t*3uGWV0YYu M-WV3YYtVKYEv"~Wh(@SjjW~|6u~t5@h\(@SY u 9u9F t73uGWV0YY^WV2YYMVYE|uv&~WhD(@SjjW6uDu,PV/YYjV2YYVBYh$(@h@S _^E[̋UVuv YjPhovF@^]%@̋UE M+S]VW(HHtttY t2E=C@CC C$X=@QD@u@@uY%@b}=|@Ë@Whx@x@aYYWW<@$@x@3F;u!3SShoW@Sj VW5@8@3'f^ss}𥥥<@E E+EPE+EPs8@Pu E4@jjEPu 4@jjEP@39=@ty9=@50@t#h@@,@PEEPu h@uj l@PEPu h@h WWu s(s$s ss(@u @@uU5@@jjE@Et j@?X+?ÉEE p*@MeA]ˉE;ȉM~}3 ffff;fUM~}3 ff;ȉ]M~}3 ffɋ}]fex}|;fufUfM~E}effɉMff;fU M~}3 ff;ȉUM~}3 ffы]Mȉ]f]f]3;MfufUf]~;}3 fUf9E~9]}3 fU f9E~9]}3 fUf9E؉MMMf}fufUf]~9]}3 fMf9E~9]}3 fMf9E9]}3 fEfuuuu3F9@fUfMfEf]]uu6@;uhh*@@;ã@thX*@P@@9@ta} SVEPjxPW@SVEPjEPW@Eh SSWp(p$p pp(@W@@u0@jl@PEPu h@u - HH-n=@j^tHtf%@=@uMVu3;tSPp@h4*@ut@hx@Sh|@@@ @tM=@?h'u5@ׅEtL=@jVt'Sh@PjVSh*@u(j@Ph)@u]jSx@ PjS|@VSׅtVPp@=@uh)@h)@St@@X$tÍP@u+3tjP@ˊ:utP:Qu @@AAu3u)@jVj@PSh'uPhjju@=@uuD@u@@h@x@jjh'u@P@3@839@tfufuPPhou@Suu u@_^[̋ULS39]VW9] 9@uh*@@@uu hx@I j0_WESP`8 EP*@Vu d@S}EE|@]ĉ]@WSE`@WSEE\@jEЉu܉]l@EԍEPX@fu+h*@h@h*@ j Y3x@_^[Ë}Su SWhh@jdjdhĆh*@Vh@;uhx*@렉5|@@;tSWp@VT@5P@tEPL@EPH@SSSEP;u@;t jWp@@j 3Yx@H̋UuY]̋U Sjj5H@E3P]u[VSuYYuEPY^Wut9t4=`@|P@@h+@Pփ E)E E} }}t=`@|u@@h+@Pփ ]+}u.!{ c a=`@|P@@h+@Pփ ?W`@YC u=`@|@@hd+@PYYWuPw1 { E[_^̋U ec} VWC@kP3@YYKkVhx-@uAKKEE)E E 3} E|lEPh,@ufE <t"ttt)E EEG} }t!=`@|@W@h@-@P@ }+}u~ ~%W`@YF NWuPZ0 ~3EPh,@u| } |}}F< (kP`@;YF NkQWP/ ~}vYEPh,@uE ;E F u PEmYYEE)E FE9E|~ } |Exu x#E=`@|h-@@@P@YY=`@|P@@h+@P@ ҃=`@|@@h,@P@YYf뭃=`@|h,@댃=`@|h,@y=`@|hx,@f3_^̋U VuWVh-@u F~ < v$=`@|@@h-@P@YYkSP`@3;YF u(=`@@@h-@P@YYNQSP.E +8^^ ^]w [_^3ۃE E]EPh,@u fE؃ ;<t@t;t6t1=`@|P@@h+@P@ E] +}}t#=`@|u@@h+@P@ ] +]t%~uS`@YF tlSuP- ^F MWu YYE +FE9E=`@|@P@@h+@P@ #=`@|@@h-@P@YYf̋USVu398]]W}9_ ]G M39t|9CE~kE3uF tPd@Y39F t;8FEv)EF MD tPd@YFEE9E|v d@YEEE;C|u3d@YGE9Ee3w d@YEE9E#_d@Y^[̋U8<@3ʼnES]Vs<]v/=`@(jPh /@@@P@<s=`@jPh.@kWP`@3;Yu'=`@@@h.@P@YkQWP* }}=@]j EPujSe EPEh.@P]S`@ESPuju;EuP_=`@YY|~h.@}hp.@@@PYYud@EE9EY>=`@P@}@hP.@P׃ sj @h.@P׃a=`@|X@@h-@PYD=`@|2P}@@hP.@P׃ EP@@h.@P׃ud@Yd@Y_M^3[ )t@=̋UQVuVjuu( EPVuEPuuu @^̋UUW3t.SV:t%3GqAu+эJ8tE хu^[_]̋UQEVtHt3;BE0@ 4E0@SWFtR}~'uuuuu @uh0@p3SSuuu @uh0@KM39,ux@:u+ǍL8uh?jSjuu @uhp0@h@hT0@9 P}~ uuVSuW@t8uh0@uW@t uh0@hT0@ W @3 W @3@_[^̋USV5P@Wh01@uօ@} YYtWh$1@PӃ h1@uօYYtOQh1@PM Ӄ GE h 1@uօYYtOQh1@PӃ Oh0@uօYYtO Qh0@PӃ O ?_^[t E 8t3@]3]̋UVh?jjju u@t6uV@u!uh\1@h81@ V @3@ V @3^]̋UW3}쫫EejEEPuEu EE@_uh1@h@h1@? 3uu j@uh1@3@̋Uu ujg ]̋Uu ujK ]̋Uu uj/ ]̋U <@3ʼnES] VuW}@u@&hPSWjt P@YY3AuM_^3[y$̋U(<@3ʼnESWj3Sh%@SE]@uhP"@h@h2@ dVh1@h@h2@ 5 @ EPS0EPEPW t9]t EPWYYE܍EPuWօuW@^M_3[#̋U(<@3ʼnESWj3Sh%@SE]@uhP"@h@h82@$ dVh$2@h@h82@F5 @ EPS0EPEPW+ t9]t EPWYYE܍EPuWօuW@^M_3["̋UVuhVu ujuh|2@h@h\2@菽 3 3Ɔ@^]̋UQQESVuWP3SV]E3]" EPh?Suh@u2EPVEPSu u@uG9}u8t 8,u@8u9]t u @_^[̋UQSVW3ۉ]3uu8tH8t 8u,8uEPh?Suh@u;}~"uVtjSu u@ju u@u3G9]t u @_^[̋UW}t ?tVȍqAu+΍D8u^+@_]̋UVu"u VP@YYuP@u+t>u3^]̋UVuR}tu V@YY(M Ɗ:utP:Qu @@AAu3tP@u+t>u3^]̋UVuƍP@u+t>uE H@u+Pu V= E H@u+3V@^]̋UVuu u! teSW3>t(X@u+ÍLP@u+8|u؋ƍH@u+WD0PV@uu Vu_[3@^]̋UVuV@YH@u+t>u^]̋U,<@3ʼnESV3jVh%@VDž@؃uhP"@h@h2@ι 3Wh2@h@2@W PV5 @zPPS tLP$2@PtYYt'h2@W耹PS"PSօ{S@3@_M^3[=̋UES]$V0#Wt6E P@u+tu P@YYt6u3;u. W`@YWjVE3 0E +Њ @uE+Њ @uEP@u+tEV+Њ @uEP@u+tE +Њ @uEP@u+tuPuPE P@u+tu Pu V3@_^[]̋US]V3W}'u FP@YYt6uW`@Yu07)WjV|M F +AuE033@_^[]̋U$<@3ʼnEE Vt7t3jVPw@t&hh3@h@hD3@ 3M3^VPWSjuh$3@VPWSjuh3@h@hD3@艶 VPWSj uh2@h@hD3@Z VPWSjuVPWSjdPPPPPPPH ̋UQESV0E E WP@u+=tD@Nx@u+u uPu QӅYYuE0E8u6uƒ} W`@YWjVHM F +AuE +Њ @uE+Њ @uE0E0VRh5@P(@jPVh@PPO(3M_3^C̋UD<@3ʼnES3VuW9@@ 5@H@u+P@u+‹=s;Qh 5@h5@P(@jP7h@PFPr(<@?s3ҋFu  u_;‰u 9U jRh%@RDž@؃u(hP"@h@hH5@诪 3uuhPjD~PPSu WPPSjP@WPPSjV 5@H@u+ȍP@u+;syPh 5@h5@P(@#E PPPPPFP(tP;YPS @S@3@M_^3[a̋U<<@3ʼnEMAS3Ht)HtHHu29] u6@Dž! u 9] Dž 5@u Džp5@Ph?Sh@VVSPk PSSSPPS@sWP@Yx@:u+NjH@:u+;VSP Ph5@P(@Ph?SPh@PPPShh5@@#E PPPPPPM;t Y @VSP PSSSPP@_ @^M33@[ ̋U8<@3ʼnEES3ۉDž 5@u Džp5@Ph?Sh@VVSP PSSSPPS@GWP@Yx@:u+NjH@:u+;VSP Ph5@P(@Ph?SPh@uePPPShh5@@ @jPPPPVSP PSSSPP@_ @^M33@[ ̋US]V3tW>PVd@YYu_#3^@[]̋U0<@3ʼnES]VW6@u@j3Vh%@VDž@uhP"@h@h5@讣 3PVW @5@PPW {uPC WP# jhPPWjyjP\ ttPh5@V0jPPPPPWj0{u"Ph4@VޢPWhPPWjjP ttPh5@V{jPEPPPPWj0{u"Ph4@V)PWPW @3W@3@M_^3[̋U0<@3ʼnESVu39^ u3@WjSh%@SDž@uhP"@h@h`6@. 3PSW @PPW >1SPPWj PF WPr SFPPWjuh3@h@h`6@胠 S PPWj uh2@h@h`6@N t ]D$T$UL$)qqq( ]UVWS33333[_^]Ëj33333USVWjjh@QS_^[]Ul$RQt$ ]̋UES]Vs30WEE{t N3 8U N V3 :U E@fMK[ EEEt`[LɍDEEtE|<CEu΀}t t N3 8U N V3 :U E_^[]E͋E8csmu)=@t h@tMjQ@ME9X tURWӋEMH t N3 8U N V3 :U EHF9S WMQW_&U T$|$l$T$D$t"t^P8,tl\J<(xhF& hT@( 0>Jp`N<*x`P<,\RF<4*zrj`VH>2\jv(  freemallocmemsetmemcpy/_snprintf&strstratoigetenvstrerror strncpy_vsnprintf sprintfZ_strdupfputsfgetsfputwsfclosedwcsstrfgetwsfopenprintf_wcsicmp_wcsnicmpstrncmpb_strlwrsscanfiwcstombsR_endthread_beginthread_getchmbstowcsfprintf_iobrealloc^_stricmpmemmovej_XcptFilter_initterm_amsg_exit_adjust_fdivmsvcrt.dllSetupGetStringFieldASetupFindFirstLineA:SetupDiDestroyDeviceInfoListWSetupDiGetDeviceInstallParamsA=SetupDiEnumDeviceInfoJSetupDiGetClassDevsASetupCloseInfFileSetupFindNextLineSetupDiSetDeviceRegistryPropertyAJCM_Get_DevNode_StatusSetupDiRemoveDevice^SetupDiGetDeviceRegistryPropertyASetupOpenInfFileA}SetupDiOpenDevRegKeySetupDiCallClassInstallerSetupDiSetClassInstallParamsALCM_Get_Device_IDASETUPAPI.dll4CreateEventA1GetLastErrorgDeviceIoControlVResetEventCloseHandleKGetOverlappedResult8CreateFileAWaitForSingleObjectFormatMessageAOutputDebugStringAGetVersionExANCreateSemaphoreAFreeLibraryWGetProcAddressLoadLibraryASleepSetEnvironmentVariableA GetCurrentProcess>GetModuleHandleAWriteConsoleALockResourceLoadResourceSizeofResourceFindResourceAlGetStdHandle-GetFullPathNameALocalFreeInterlockedIncrementGetVersionInterlockedExchangeInterlockedCompareExchange[RtlUnwind/QueryPerformanceCounterGetTickCountGetCurrentThreadIdGetCurrentProcessIdzGetSystemTimeAsFileTimeTerminateProcessUnhandledExceptionFilterSetUnhandledExceptionFilterKERNEL32.dllFreeSid5CheckTokenMembershipAllocateAndInitializeSidRegCloseKeyRegDeleteValueARegSetValueExARegQueryValueExARegOpenKeyExARegEnumKeyExAADVAPI32.dll`SetWindowPos`GetWindowRectGetDesktopWindowSendMessageAcGetWindowTextLengthAGetDlgItemuInflateRectOffsetRectGetClientRectIGetSystemMetricsFGetSysColorZCreateWindowExAPostMessageADefWindowProcA~InvalidateRectRedrawWindow]SetWindowLongAZGetWindowLongAcSetWindowTextAEnableWindowGGetSysColorBrushFillRectDrawEdgeWSetTimer8GetParentDestroyWindowPostQuitMessageDispatchMessageATranslateMessage-GetMessageAUpdateWindowRegisterClassExALoadCursorALoadIconAGetClassInfoExAMessageBoxAUSER32.dllQDeleteDCBitBltNCreateSolidBrushTDeleteObjectSelectObject*CreateCompatibleBitmap+CreateCompatibleDCGDI32.dllΫ+N//(nO:DOnN8>QG0QU@UQQRr9Q[#PXP;OpZaqLjnO:DO9O8NSN>GZHF?y=HsT8_q߈ -<Mapz+;DZw,@\et 2Oh  !"#$%&'()*+,-.libusb0.dllusb_bulk_readusb_bulk_setup_asyncusb_bulk_writeusb_cancel_asyncusb_claim_interfaceusb_clear_haltusb_closeusb_control_msgusb_deviceusb_find_bussesusb_find_devicesusb_free_asyncusb_get_bussesusb_get_descriptorusb_get_descriptor_by_endpointusb_get_stringusb_get_string_simpleusb_get_versionusb_initusb_install_driver_npusb_install_driver_np_rundllusb_install_needs_restart_npusb_install_npAusb_install_npWusb_install_np_rundllusb_install_service_npusb_install_service_np_rundllusb_interrupt_readusb_interrupt_setup_asyncusb_interrupt_writeusb_isochronous_setup_asyncusb_openusb_reap_asyncusb_reap_async_nocancelusb_release_interfaceusb_resetusb_reset_exusb_resetepusb_set_altinterfaceusb_set_configurationusb_set_debugusb_strerrorusb_submit_asyncusb_touch_inf_file_npusb_touch_inf_file_np_rundllusb_uninstall_service_npusb_uninstall_service_np_rundll@@@@@@@@@8@@@@@@@@@@@@@t@h@`@X@P@L@0@(@ @@@@@@@@@x@h@`@L@D@<@,@$@@4$@H0@ 0@/@/@/@/@X/@0/@N@D 5 @ @@@@ @P@$@@ @4@N@ p+ŝi@]%O@qוC)@D@<զIx@oGAkU'9p|Bݎ~QCv)/&D(DJzEeǑF e uuvHMXB䧓9;5SM]=];Z] T7aZ%]g']݀nLɛ R`%u?q= ףp= ף?Zd;On?,eX?#GGŧ?@il7?3=BzՔ?aw̫?/L[Mľ?S;uD?g9Eϔ?$#⼺;1az?aUY~S|_?/D?$?9'*?}d|FU>c{#Tw=:zc%C1 >M>R>W>t>y>>>>>?!?&?`?e???????@,010}0000112>2C2H22222253:3L3X333444(474U4d4s4444445*5/5O5T5`5{5555666 6&6e6j666666,717e7j7o77777778<8n8s8x8888 999 989=9O9j99999 :L::::::;;"<8<=>>|>>>>????P<0d0E11111]2222t4444444444(5/5;5N5Z5p5556616Y66666677&7-727i7x778889989|9999::X:o:::;7;>;C;H;};;;;;;;;;;;;;;;;;;;;< <<<<"<)>>1>L>j>z>>>>>>>?6?;?N?V?g???????`00030^0e0y000001 1&1?1t11111222!2+20252O2222223h3r344A4K4T4Y4_4s44595X5}55556+6X6l6w66666677778878u888809n999999999::=:b:w:::::::;;S;e;j;p;u;;;;P >>>x>>>>>>L?Q???????p 0$0>0S0s00000031M1e1n1t1{111111111111&2K22223B3o3333}4445+5b5|55 6&6Y6666667F7l7777778,888889+909e99999:-:_::::::::::; ;=;B;;;;K<<<</>I>V>g>u>}>>>>>>>>>>?6?hp11111111111 222'252X2k2r22222222222233%3+3B3Q3a3g3o3v3}33333444$4.444F4M4Z4z44444445 5&525B5P5a5n5x5}5555555555566+686>6H6666666V7e77778F8a8p88889:T:\:d:k::::::::;,;8;@;f;q;y;;;;;;;;* >>>,>8>@>G>R>Z>b>i>w>>>>>>>>>>>??+?3?:??????40 0002000000000P1x111112%272<2F2X2j2z222222 33[3i3r3w3333333334 44'4/4>4K4m44,5:5j5z555555566+676<6K6V6p6v666666667M7]7i7n7}77777788~888899*969;9@9P9U9Z9e999999:::: :+:s::::;.;X;;;;;W<<==>)>F>R>W>\>q>v>{>>>> ?o??001O1X1]1b1111111122334<4x444455Y5^55556`6e66667:7C7H7M777{8888 9%9J9Q9[9`999:;:B::;;F;;;;;+>`>k>r>>>#????0)000000>1111112b2x22223)353333!484?4I4f4r4w4|4445555<6l6{66666667777777:8?88888%9-929S9[9e9p9999999999 ::!:(:?:E:Y:_:l:|:::::::::;;-;\<<1=\=h=s===>00(0$111.2:2E2b222223333*3A3I3b3h3n3t3z333333333333333333444 4+42444L5h5p5t5|5555555555555555x 0$0(0,0004080<0D0H0L0P0T0X0\0d0h0l0t0x0|00000000000000000000000011 1111 1$1(1,10141` 0 O *H  @0 <1 0 +0h +7Z0X03 +70% <<<Obsolete>>>0!0 +VFq"~U60 0 #0  *H 0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0 990128130000Z 170127120000Z01 0 UBE10U GlobalSign nv-sa1%0#U Primary Object Publishing CA100.U'GlobalSign Primary Object Publishing CA0"0  *H 0 u* q$ߡb)ܞusVWiVOȼX&r `UWɡt@lS7y>R8,3RpJ]bg^JʼݍGe[Kk͎.P補&k6cApD_%uyP}_F UGӑFh'AQzDhqXoB fuFD0cDpVoX*'.qRmF+HdRtE xs r^s00U0U00UQy| Y:x-M03U,0*0(&$"http://crl.globalsign.net/Root.crl0U% 0 +0U#0`{fE ʉP/}4K0  *H x|}jq)0`bCns v[}NI/@oT*= ܙ zw/@ČNr|d+lך|FMB;ۜ?2aW6fDo7NV%mbby\BӜ#dE-~[NÊ)xA4N,\%%1Mr)KH7oNJE~/1Rg4_'jfRZǬ0, 8+:E{ sV*Ql/00  f0  *H 0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0 090318110000Z 280128120000Z0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA0"0  *H 0   Mh36<S{Fbw7~O"PƗ=yT}LĈ,ơ_:d+> zVτ΍5:4l-w0g: D:CrAFud%lGGގc}Udros?99\IcC"֫t0OZm:34;bz-MK0 y}ӗjZM _Pl`R.tޗE!{Udtk_llC$7IHvIP!ʅs <].^M2eVű?'I0;ŧp[Z]a4XQ2Te+l gcZ$t# fdIU^ZV*-5761z;…00U#02357ev.E,0<U50301/-+http://crl.globalsign.net/Timestamping1.crl0Uds֕yȏϥ`)0 U00U0U% 0 +0KU D0B0@ +20301+%http://www.globalsign.net/repository/0  *H 6U\yzmVU+Ȼ`{Gm@>Վ/RhrJ`+02http://secure.globalsign.net/cacert/ObjectSign.crt09U2000.,*(http://crl.globalsign.net/ObjectSign.crl0 U00U0U% 0 +0KU D0B0@ +220301+%http://www.globalsign.net/repository/0 `HB0  *H Q$yPx}1E윕[=f4°a?[oJ#XBNGDQ/UXH,%Citʐq$ӹzW{Y;h͇l +T`.\ z /~v's)FnFWS] q 1h>-g)0:OxYzxZH BגE|fxk?-4bǵ=Fn=~p,!zzKs[D3;00 #$0  *H 01 0 UBE10U GlobalSign nv-sa1%0#U Primary Object Publishing CA100.U'GlobalSign Primary Object Publishing CA0 040122100000Z 170127100000Z0c1 0 UBE10U GlobalSign nv-sa10U  ObjectSign CA1!0UGlobalSign ObjectSign CA0"0  *H 0 pÌ &ogYL±ESuA6op(|mr%e: {^78KX IX&Ymƹ%bN l]pӛ) X|Չ5W˛俔_wty@!c8sڥEM*<(u|`%N-ֵ4<8:=ıg0c0U0U00U[K&K]V.8NS0JU C0A0? +220200+$http://www.globalsign.net/repository09U2000.,*(http://crl.globalsign.net/primobject.crl0N+B0@0>+02http://secure.globalsign.net/cacert/PrimObject.crt0 `HB0U% 0 +0U#0Qy| Y:x-M0  *H jm"pe.]30lxKōzjX9k (]v|o6C1Y8أ;gXa>;[ADk&^ee?w륆*X)V@W,ca7f%9 .6%|~ӣvu0vA5!h^\`@]Tnng+۷Mf!>GBa,&=ɧxnt,Fr 500g a k0  *H 01 0 UUS10U Washington10URedmond10U Microsoft Corporation1)0'U Microsoft Code Verification Root0 060523170051Z 160523171051Z0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0"0  *H 0 晍ΣO~%kH*cgfH+)e-˫Lp= 0OԌPP.R}m50^CsAj㲉:V98o:-7o캬j<ߋ%笼bE1ݤ rxC̺9]Z^FQ3զXgfXʭ!ښn t(_M]%i%TDÛ)3<S*'3.|XmN_󚝌Q:Z\/5T5R34:j :e3N&I끒M2K#3qk漷lA:q3Pt;]>L&86 cyԮ/a6JK3rA~F9{uAYBGpwKF#rտiX<\FՁneYw2ddSɠ(*l8сΘ@,C&_D0S /z`'RB7(yH0] R-g f(o$a100r0c1 0 UBE10U GlobalSign nv-sa10U  ObjectSign CA1!0UGlobalSign ObjectSign CA /s0 +p0 +7 100 *H  1  +70 +7 10  +70# *H  1_Bݠ+|,^f0  *H /N+*n?N4ҡ $$֣у M[ a2t٢4 Śd`Te",+B 'fVПK$=6 ~Z{ܣ;YPxQK.R]0 *H  100c0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA %0 +0 *H  1  *H 0 *H  1 110724052223Z0# *H  1 4'q}0 *H   1000}k$}[[A~Il0g0XV0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA %0  *H  0?+Sn8GQW@߰BӸCR;ا:S63庍ۥTjlYkr4yfqvJ68u0v(m>Ҝ!Y:,9F zeH$Q75ڗDjqTbl);PvbbJ0I2Z?(TP_1=Td*7u1ZY"di`'X ON$ >MZ@ !L!This program cannot be run in DOS mode. $^ESn$==$==$==\=$==\=$==\=$==+`=$==$<=$==\=R$===C=$==\=$==\=$==Rich$==PELN  0U@ |p)@H.textf `.data$ @.rsrc@@.reloc @BЍڍ.@Td.H $8LXhʏ6Ɩ~h܎ƎxJJ2bvƒܒ,HhvdTB4ΔΓޔ "2DXlzʕ ֑‘rdXPB:0 ֐ʐxl`TJ@6,":Na0*0-w-w=--wait=-p-p=--prompt=-f=--inf=-di=--device-id=-d=--device=-c=--class=-dc--device-classes-ad--all-devices-ac--all-classesh-?/?-hhelp--helpu-uuninstalli-iinstalll-llistPress any key to exit..This will add libusb-win32 as a driver for all usb devices on the PC. This function is for development purposes only. Improper use of the libusb-win32 filter driver can cause devices to malfunction and in some cases complete system failure.libusb-win32-installer-{1298B356-F6E3-4455-9FEC-3932714AF49B} usb_install_find_model_section%s.inf file does not contain a valid Manufacturer section .inf file does not contain a valid model-section-name %s.%sManufacturerloading exported functions of advapi32.dll failedControlServiceQueryServiceStatusStartServiceADeleteServiceCreateServiceACloseServiceHandleChangeServiceConfigAOpenServiceAOpenSCManagerAusb_service_load_dllloading DLL advapi32.dll failed advapi32.dllcreating service '%s' failed: %schanging config of service '%s' failed: %susb_service_createopening service control manager failed: %sServicesActivestopping service '%s' failed: %sgetting status of service '%s' failed: %susb_service_stopstopping %s service.. deleting service '%s' failed: %sdeleting %s service.. usb_service_delete getting device info set failed %s memory allocation failureSTATICTahomaRichEdit20A device lower filters:%s device upper filters:%s %s %s - %s (%s) class lower filters:%s class upper filters:%s %s (%s) usb_install_reportIsWow64Processusb_install_iswow64loading kernel32.dll failed kernel32.dllfailed creating service %s system32\drivers\libusb0.sysusb_install_servicecreating %s service.. libusb0libusb-win32 - Kernel Driver, Version %d.%d.%d.%dlibusbdinvalid hardware id %s failed RemoveDevice for device %s failed UninstallDevice for device %s failed RollBackDriver for device %s USB%s device %s.. installingremovingusb\unable to open .inf file %s .inf file %s not found loading setupapi.dll failed SetupCopyOEMInfAsetupapi.dllDiRollbackDriverDiUninstallDeviceUpdateDriverForPlugAndPlayDevicesAloading newdev.dll failed newdev.dllusb_install_inf_npThis is a 64bit operating system and requires the 64bit libusb-win32 installer application. failed adding device upper filter key %ls failed wcstombs %ls invalid argument %ls multiple commands not allowed: %ls failed adding inf %ls failed adding class name at argument %ls failed adding class guid at argument %ls {%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}usb_install_parse_filter_contextfailed CommandLineToArgvW:%XCommandLineToArgvWshell32unknown filter_mode command installing inf %s.. invalid switch for install operation (%ls) uninstalling inf %s.. -ac and -dc switches are incompatible with -c= switch libusb-win32 installer (v%u.%u.%u.%u) command not specified. Use %ls, %ls, or %ls. usb_install_consolelibusb-win32 installer requires administrative privileges. Click the [X] close button to exit.libusb-win32 installer errors!libusb-win32 installer finishedOperation completed successfuly.Operation completed with errors!libusb-win32 installer running..GradientFillmsimg32?Unable to create progress dialog libusb-win32 installerusb_install_windowcan't register class libusbwin32_progress_classriched32libusb-win32 installer errorusb_install_npWmemory allocation failure {50dd5230-ba8a-11d1-bf5d-0000f805f530}{4d36e96d-e325-11ce-bfc1-08002be10318}{4d36e96c-e325-11ce-bfc1-08002be10318}{6bdd1fc6-810f-11d0-bec7-08002be2092f}{4d36e972-e325-11ce-bfc1-08002be10318}{745a17a0-74d3-11d0-b6fe-00a0c90f57da}{36fc9e60-c465-11cf-8056-444553540000}libusb0.sysusb_registry_set_propertyreading registry key failed deleting property '%s' failedsetting property '%s' failedUpperFiltersLowerFiltersrev_%04urev_mi_%02xmi_pid_%04xpid_vid_%04xvid_usb_registry_remove_device_regvalueremoved %s from device registry.. calling class installer failed usb_registry_set_device_statesetting class install parameters failed stopping devices.. usb_registry_stop_libusb_devicesstarting devices.. usb_registry_start_libusb_devicesusb_registry_get_hardware_idfailed restarting root hub #%d.. root_hubrestarting devices.. usb_registry_restart_all_devicesunable to get SPDRP_MFG unable to get SPDRP_DEVICEDESC unable to get SPDRP_HARDWAREID usb_registry_get_filter_device_keysunable to get device instance id unable to set registry value usb_registry_insert_class_filterinserting class filter %s.. failed removing class filter %s.. usb_registry_remove_class_filterremoving class filter %s.. usb_registry_match_filter_devicefailed getting device id inserting device %s filter %s.. lowerupperusb_registry_insert_device_filterrestarting device %s.. SurpriseRemovalOK%s%sSYSTEM\CurrentControlSet\Control\Class\usb_registry_get_usb_class_keysClassSYSTEM\CurrentControlSet\Services\Class\removing device lower filter %s.. removing device upper filter %s.. usb_registry_remove_device_filterfailed adding lower device filter for %s failed adding upper device filter for %s usb_registry_insert_device_filtersusb_usb_registry_unknowndbgwrnerroffNo errorUnknown error%s: install-filter@EEE00P('8PW700PP (```hhhxppwppH*RSDS/P;LEZז!d:\src\libusb-win32\trunk\libusb\ddk_make\output\i386\install-filter.pdbt"jPjj*̋U3ʼnEVVhjPVh 3hFP5tbjX9xuWlu1pt@9pu 19pu)lrtXM3^*V̋U Wu 3u}uEPE EM3Ʌ_̋UEtt P]3]̋U}u3]u u@]̋U43ʼnEM EV5Qjh8PօSWj3Y3CjhPStP4HCYrv|+ӊ @ujP։uGt8PSh0P8jP։t3_[t0<F8Yuꃽuhhhh#Q M3^ T̋W)0hXH3x;uh4hhP 3_V5hh Ph5xh5xh5xh5xh5xh5xh5xh|5x֣^9=t<9=t49=t,9=t$9=t9=t9=t 9=t;u5xhH3@_̡xtP3@̋UQQV3uh?hVE;uLPhh^O WhSP;t9uVVVVVu juuWuiALPShhOUL=$uHVVVVVu juuh uSu;uKPShhhNE;tWu_E^̋U(evuVShlXVN h?hjEugKPhV9N hSPEu EMQPuKPSh,VMjW3G9}u}[EPWuuJPSh2EPuthP}9}uJPSh,VM_}t uuE^̋UQeBuSVuhVkM h?hj؅u1JPhVM TWhuSt$WuIPuhVLEtWS_E^[̋US]V3tKFWPlDF P84FP/4F =< tPYF$f tPYf$V׃#Y_^[]̋U }VW=Xu׋5\MQP֍EPu֋EM+E+M;|}|}|EM+E+M;} ׍MQP֋E+EjA+‹UȋE™+j+jPE+E+‹UȋE™++Pju`_^̋UD3ʼnES] VuWuH@u+P(YVPuhh,YY3~$+Auw+Au+Au]5TPPhSփ}EE<E@EEtE}tMEPjhDSWjhSW<YjjhS3@M_^3[\M̋U$SV5Wj-j.E֋؍EPu@Eu܍}쥥EP3VEPDEVPEPHEM++Ù3j+P+ˋ+E'3+PSuV5LWu֋`PӋE+Ej3+PE+E3+Puujh'uPjjhWuPT_3^@[̋UH3ʼnEUR zE ERu0RSVW3S5@h'PjXPPPPQSh(h4j<^VEESP LuEE̪ }ڥEPfjhDu5TSShQuj8PShCuS5@h'ujXPPPPh PShS4uYM_3^3@[_K̋UUW3j YE EB 3@_]̋US3V9]t_M ;tXE;tQ;tGpf@@fu+t0f|q=uVQu  Qu$YYtC u3^[]ËM EMp3@̋UQEVpuSWuthhSWFP PhSWFH@u+t*j,PYYtPhSWFP@u+t*j,PYYtPhSWIF PFPPh|SWFPhtSW F(H@u+t*j,P;YYtPhTSWEP@u+t*j,PYYtPh4SWE6FEEr_[^̋UQeh,Xuh hhE 3VhPhtEPTPօu!EE^̋U3ʼnES3ۈ]]]]]E9uc=3@EEPSSSSSSh j jEPE;tEPuSu]uEM3[G̋UQQjpEtPWh,h$'jlt6SWjWjdtP`tjMQSPu\[_̋U3ʼnESVW}j!txhjPNGjjjjhhPShxVBDjjhXPLDuSh<VC $!Ww>WE,YYt %g3M_^3[F̋Uu]SVS u~ Yu~tV;YV-~Yt p%f^3[]̋Ul3ʼnEES3ۉ0thhhB PWhH;uhphhB V5hhLW։;uhpBh8Wh$WhX;thP։;u hh]SPhDžtu h)SjSPuhhA /PVIYYjXShQPPjhP9] uQPhxhA9] u?9]tSSSSSjSPu]PjPPSjShtS6PSWShPSjPWW8EVPV0 uƍP@:u+t8u9] 9t2PSSPWVhLh+@ 9t=PSPWStDžVh$h? PWuVhh? _SPP u?SjPSj PWt jPj PWPWaWShPPPPPV9t, 4Phh> V9] u 3^_M3[A̋U\3ʼnES] VuW}'=|Džu\luhHlthxPh|=|u%LPhXh4> WS|u%LPhXh4= ]?E;}뉅PP3<U BPP3 0 t~#FPP3 t~FPP3, t~F~PP3X tUPP3pb t,PP3d9 t FPP3 PP3 PP3| h3ۍSP>hP& {}PPPPPPPPPPPWP4 WP8PV^*<;T4h SPPQPFP ; 4hPP3 h3WP&=hPƄPPFPr 9g4hPP3U tePf@@fu+tR=hj׋؃ [S(SF P׃8N P@u+@P(YF A@uPP3 taPf@@fu+tN=hj׋؃ S(SF$P׃rN$5P@u+@P(YF$ A@uhP JƄPP3 tPPPPPQ8PP3g t$PPPPPPPF P ;F4hl=4hTh46 ҋ4h<ɋ4hT듋4hh4~6 tF8tP.,Yt xM_^3[89̋UQS3VW9HD;h'PL;E u+Eu;~| u\H;> uFH;E%HtHt SSj8PjShf dSShVW3@<5pjփt+;t'}uj;ttSMQu uP\3_^[̋UQS3ۉ]u hhh5 M'thVu9^u-5,55 hxh4MW~9u9^ u9^uu 9^u&SjjjhPSh 4?tthhS4WR,Fu{u 9u9F t*3uGWV$YYu M-WVR'YYtV}YEv"~WhS74jjW|6u~t5dhS3 u 9u9F t73uGWV#YY^WV&YYMVYE|uv&~WhS3jjW6uDu,PV#YYjVR&YYVtYhhS3 _^E[̋UVuv YjPhovF0^]%̋UE MS]VW+cHHtttY t2xC@CC C$XW=`Q|ux5-uY%Hb}=DË@Wh@@YYWWt$\|3F;u!3SShoW0Sj VW5Hp3'ss}𥥥<E E+EPE+EPs8Pu E4jjEPu ljjEPH39=`ty509=dt#h@@,PEEPu huj dPEPu hh WWu s(s$s ss(u @u58\jjE։E@t j@?X+?ÉEE M6]ˉE;ȉMؾ~}3 fˋfff;fUM~}3 fʋf;ȉ]M~}3 fˋfɋ]x]|]f}fM3;fUfM~E}effɉMff;fU M~}3 fʋf;ȉUM~}3fʺfы]Mȉ]f]f]fU33;MfufU~;}3fUܾf9E~9]}3fU f9E~9]}3fUf3ۉMMM39Ef}fufUfM~9]}3fMf9E~9]}3fMf9E9]}3fEfuuuu3fE3FfUfMfE]u9u6p;uh Hp;th Ph9tcS] VEPjxPS3WVEPjEPSEh WWSp(p$p pp(S@u0jdPEPu hu - HH-n=Lj^tHtf%`=PuMVu3;tSP<h uh@ShKd  PtM=`?h'u5`׉EtL=djVt'ShPjVSh u(j8Ph\ u]jS PjS VSׅtVP<=duh< h SLX$tÍP@u+3tjˊ:utP:Qu @@AAu3ujVj8PSh'uPhjju$=duu|uxh\|jjh'uLP(3@839`tfufuPPhou0Suu u,_^[̋ULS3VW9]9] 9huhl!Hhuu h@@ j0_WESP- EPP!Vu S}EEK]ĉ]XWSEWSEEjEЉu܉]dEԍEPfu+h8!hh$!) j Y3@_^[Ë}Su SWhh@jdjdhĆh !Vh4;uh 렉5DX;tSW<V5tEPEPSSSEP;uX;t jW<Tj 3Y@H̋U Sjj5E3P]u[VSu0YYuEPY^WU&uu3^]̋UVuR}tu VYY(M Ɗ:utP:Qu @@AAu3tP@u+t>u3^]̋UVuƍP@u+t>uE H@u+Pu V!E H@u+3V@^]̋UVuu u! teSW3>t(X@u+ÍLP@u+|8u؋ƍH@u+WD0PVuu Vu_[3@^]̋UVuVYH@u+t>u^]̋U,3ʼnESV3jVhtVDž؃uhhhX% 3Wh@%hX%W PV5zPPS tLP$4%PtYYt'h%W9PS"PSօ{S3@_M^3[̋UES]$V0#Wt6E P@u+tu PYYt6u3;u. W(YWjVWE3 0E +Њ @uE+Њ @uEP@u+tEV+Њ @uEP@u+tE +Њ @uEP@u+tuPuPE P@u+tu Pu V3@_^[]̋US]V3W}'u FPYYt6uW(Yu07)WjV!M F +AuE033@_^[]̋U$3ʼnEE Vt7t3jVPw t&h%hh% 3M3^nVPWSjuh%VPWSjuh%hh%B VPWSj uh|%hh% VPWSjuVPWSjdPPPPPPPH ̋UQESV0E E WP@u+=tDNx@u+u uPu QYYuE0E8u6uƒ} W(YWjVM F +AuE +Њ @uE+Њ @uE0E0VRh'P8jPVhPPO(3M_3^̋UD3ʼnES3VuW9ԠԠ'H@u+P@u+‹=s;Qh'h'P8jP7hPFPr(<Ԡ?s3ҋFu  u_;u 9U jRhtRDž؉u(hhh'h 3uuhPjD~PPSu WPPSjPWPPSjV'H@u+ȍP@u+;syPh'h'P8#E PPPPPFP(tP;YPSS3@M_^3[̋U<3ʼnEMAS3Ht)HtHHu49] u8BDž#;u 9] Dž'u Dž(Ph?ShVVSP PSSSPPS sWPYx@:u+NjH@:u+;VSPPh'P8Ph?SPhPPPSh'#E PPPPPPK;t Y VSP PSSSPP _ ^M33@[: ̋U83ʼnEES3ۉDž'u Dž(Ph?ShVVSP PSSSPPS GWPYx@:u+NjH@:u+;VSPB Ph'P8Ph?SPhuePPPSh' jPPPPVSP PSSSPP _ ^M33@[ ̋US]V3tW>PV<YYu_#3^@[]̋U03ʼnES]VW4̠uРj3VhtVDžuhhhx(e 3PVWx(PPW {uPC WP! jhPPWjwjPZ ttPhT(VjPPPPPWj0{u"Ph'VPW~hPPWjjP ttPh0(V2jPCPPPPWj0{u"Ph'VPWPW3W3@M_^3[X̋U03ʼnESVu3ۉ9^ u3@WjShtSDžuhhh( 3PSWPPW >1SPPWjPF WPp SFPPWjuh%hh(: S PPWj uh|%hh( t ]D$T$UL$)qqq( ]UVWS33333[_^]Ëj;33333USVWjjhQ_^[]Ul$RQt$ ]̋UES]Vs30WEE{t N3 8U N V3 :U E@fMK[ EEEt`[LDEEtE|<CE؃u΀}t t N3 8U N V3 :U E_^[]E͋E8csmu)=t htMjQME9X tURWӋEMH t N3 8U N V3 :U EHJ9S WMQWc&U T$|$l$T$D$tGetCurrentThreadId<GetCurrentProcessIdGetSystemTimeAsFileTimeJTerminateProcess[UnhandledExceptionFilterT`H<40 |tPH4,"""d"<""!!D)@)<)8)0) )) N@D 5 @ @@@@ @P@$@@ @4@N@ p+ŝi@]%O@qוC)@D@<զIx@oGAkU'9p|Bݎ~QCv)/&D(DJzEeǑF e uuvHMXB䧓9;5SM]=];Z] T7aZ%]g']݀nLɛ R`%u?q= ףp= ף?Zd;On?,eX?#GGŧ?@il7?3=BzՔ?aw̫?/L[Mľ?S;uD?g9Eϔ?$#⼺;1az?aUY~S|_?/D?$?9'*?}d|FU>c{#Tw=:zc%C1 <-dc> <-ad> <-c=> <-d=> <-f=> <-p=> <-w=> Commands: Compatible Switches: install (i/-i) <-ac> <-c=> <-d=> <-f=> <-p=> <-w=> uninstall (u/-u) <-ac> <-c=> <-d=> <-f=> <-p=> <-w=> <-ad> list (l/-l) <-ac> <-dc> <-c=> <-p=> <-w=> NOTE: * If no switches are specified, the default class key list is used. * 64bit OSes must use the 64bit version of this application. Switches For Class Filters: --all-classes (-ac) install : Adds libusb-win32 as an upper class filter for all classes in the USB enumerator. (Same as -dc in install mode) uninstall: Removes libusb-win32 as an upper class filter for all known classes. This is a FULL class removal. list : Displays all known classes. --device-classes (-dc) install : Adds libusb-win32 as an upper class filter for all classes in the USB enumerator. uninstall: Removes libusb-win32 as an upper class filter for all classes in the USB enumerator. list : Displays all classes in the USB enumerator and the devices contained within them. --class= (-c=) install : Adds libusb-win32 as an upper class filter for the specified class only. Classes can be specified by name or guid. uninstall: Removes libusb-win32 as an upper class filter for the specified class only. Classes can be specified by name or guid. list : Displays information about the specified classes and the devices contained within them. Switches For Device Filters: --device= (-d=) install : Adds libusb-win32 as an upper device filter for the specified device. uninstall: Removes libusb-win32 as an upper device filter for the specified device. list : --all-devices (-ad) install install : uninstall: Removes libusb-win32 device filters from all devices in the USB enumerator. list : Switches For INF Files: --inf= (-f=) install : Installs usb device(s) from an inf file. uninstall: Attempts to roll back a device driver installation. If rollback fails or is unavailable, the device is removed and all root hubs are restarted. list : Common Switches: --prompt= (-p=) Prompts the user with the specified string before running. To include spaces in the prompt string, place the entire switch in double quotes. Example: "-p=Are you sure?" --wait= (-w=) After the operation completes, displays the specified string and waits for user input. To include spaces in the prompt string, place the entire switch in double quotes. Example: "-w=Press any key.." Examples: install-filter install --device-classes install-filter uninstall --all-classes install-filter list --device-classes install-filter install --class={00000000-0000-0000-0000-000000000000} install-filter install "--device=USB\Vid_04d8&Pid_000c&Rev_0000" install-filter install --device=USB\Vid_04d8.Pid_000c.Rev_0000 install-filter install --inf=your_file.inf L2X2\2 |99$:(:::;;D;X;{;;;<0> >>>>$>*>/>6><>A>H>N>S>Z>`>e>l>r>w>~>>>>>>>>>>>>>>>>?2?9?K?P?k????????0< 00B0G0Z0b0t00000011(1A1J1y1~111111122O22243J3s3}33333374k444444C5]55555566168666/7G7L7i7778$8b8888888999A9b9o999999:::3:L::::::::/;;;;;;;;;;;;<<<-<9=K=P=====>&>~>>>>>>>?2?V?p????????@30M0e0n0t0y000000000000&1K11112B2o2222}3334+4b4|44 5&5Y5555556F6l6666667,777778+808e888889-9_9999999999: :=:B::::K;;;;;d6>Pl0000000001%1E1L1U1b1p11111111111122+2<2K2`2f2}222222222 33?3J3V3_3i3o33333333444=4G4a4m4}4444444445555+52585I5S5f5s5y55556666z6666!7(787}77858E8Z8j88888888999!9;9A9L9[9k999999:(:4:9:H:T:::::::I;f;m;;;;;<< << <%<0=z=====#>}>>>>"?d?`000011"1'1<1A1F1]1111:2[2w3334#4(4-4a4444444q556667C7^7e7}777$8)8w8888+909d9999::::L::F;o;v;;;;<<&<+<|<<<= ====>b>z>>>> ?F?Q?V??????p0*0<0A0F000+161=1111d2r2222M3T3v333 4R4g44444/5E5555556u66667 7737?7D7I7g7t78T88 999H9o9999999::::::; ;L;Q;s;;;;;;;;;;;;?@?F?K?P?U?Z?`?h?u?????????0 000'080>0E0Y0_0e0k0x0~00000000000B1N1T1[1d1j1r1x1111111123(404H4z5555<6J666664797X7o778=8J8V8^8f8r88888888888888889 999&9/949:9D9M9X9f9k9q9|99/:8::::::::x000 0000 0$0,00040<0@0D0H0L0P0X0\0d0h0p0t0|00000000000000000000000000111 111MZ@X !L!This program cannot be run in DOS mode. $1{uq(uq(uq(uq(Mq(,R(pq(R(oq(R(tq(R(tq(Richuq(PELЫ+N rvpGDv<|` pqp.textkl h.rdata\pp@H.datauu@INITvv .rsrc||@B.reloc@BU`VWuSu hSVBNj3Y}}9GPuhShSVM nEPu WPuhShSVM ChuEh"PWfEfEW(|}}uWh`SVrM_^ ̋UVW}WhTTVME xPuhrThSV+M \ |WhTTVM AiɈxXuWh6T؋H\U ;ttWhSVL P\3_^] ̋USVW}OtG ɹTuTPQhTTSLu3Ƀ9NPt9Xq9t/fO QW\q0(u(@Pu VhrThSS)L _^[] ̋U`S]VWu}WSu dUh,UV#LjPEjPpLE $t;Ht0Ht%HthUhSVK efE"fEfEfEhuEh"PufEPf}f]5&|}}uWhTVPK_^[̋UESVp(E Wx`PVtW3ۅtg+tuu up _^]̋UeEPhjupEES] VWPEPpE}D8hUSB0PjEptSujVE EPuEVjPupE|F ;wFWPSqEE 8jVpup_^[E̋UQQEteMQh?tPp|`hXEPpjE PjjEPup|u hPXh6XrDhWhSh6X$D uphWhSh6XD ̋U`SVWuYhYVDj`EjP]D} huEh"PufE&fEPE}`؅|"}|PhXVCEM uShXV_CE _^[̋UdS]Vu eWu(ZVuuSuhYWMCjPEjPCE,t3Ht(HthUhSWB afE$fE(fE EU MfEPEU]Mfu}EX8;ufhu(Mh"QP!;ƉE|4}s"uhYWhu(Eh"PV&;ÉE|x9]|s9XqEuaM Y;rVhUSB0Sjpuh"YhSWA ESu XqPAE fP\qFTM$auPhfYW@E$Hhu(Eh"PuuE|}| E$MuPhfYW@E$ E_^[$̋UESVW}VW3SSSjjEPu?hUSB0j Sp;u h"Y8]]vEMVuSuSjj Wu|1E ;~ O;t;;}9Et2EEM9E|SWp}hdZhShNZ? GSE WphUSB0u Sp;^VuuSVSju Wu|E0h,ZhShNZ=? 3_^[̋U`VWu} WhZZVC?ExPuhShSV> |Sj`EjPi?] huEh"PufE'fEPE]f}h|}|PhZV> uWhZVo>[_^̋USVW} OtG ɹTuTu([PQh [SX>u39FPtt9XqtlfO PW\qXq؅u_uEPCPVE|CgEjWG\qXq|tEhrThSS= _^[] ̋U`VWu}Wu [hr[V=j`EjP=E t;Ht0Ht%HthUhSV%= ~fE!fEfEfEEhuEh"EPufEPEf}|}| EMuWh:[V<E _^̋UE eSX`K Vp @MKWuMKeMuE/}jH Eȁ) "H ?wMe9MWX ";$";x; ";ȁ "tdtD t(3C9]r 6VvuOp ]h h^`hSG 6vvun' 6vu"3 6vv vuo&- "trt? }wh8`6EPv EvvvPƃPu8%뙅t }r6EPVvvu;uh`B6vv vuSt)}t#6EPv vvvuVu&h_@ ";-0 "tst2t$6vu6vu }tu h_6EPjuVvvv vvu46EPEHjQ΃#P6u~`-D "tVt vsu8jX9Er#3Cf^FF ^EGh_v60vsu $";!;.-\ "-tbt2tEPvEuVpKhz_P}rEPuEVvpXhN_%}rI~sUˆrH@u+@;EE~EEHPRV8E D9h&_v6uA3;t93C9]r1;uE9xP}@P6EPVuh^q-$"tXtD}r>~ }s h^FEyttRh^WtN}vHE~ TEshX^-FuBMEytt3h0^hSh ^7 #4$";-$$"t܃tFt HH렃}t*F PFPFPFPFPEtMQj5js}tF PFPFPFPFPEtMQjuuu P(}r%Vsuz)Eh]-8$"tNt)}r6Vuh]}r6Vu#h]}rVsuqhz]hZ]hSh ^5 jh {tB}t<}r6EPvuAvhH]h]h ^:5,hH]}t+t'}r!EPvuvh]h]}}EPvuu vh\hMAtuyvh\0My3ۋ$C:tWhH]h\$yuvhH]h\h ^f4 E3 ^tvuhH]hV\W;4MF uAQj EX;ЉUu*fuuUu9UvvRvQPS #RuSPQhH]h[W3 E3 ^tvuh\hV\W3M^ uYA$j  EX9Eu?fu3u9]uvvSvQPju uv )5[&+ 3ۋC#RuSPQh\Bh\}EPvuu vh[rEHtu*N uHuuvvQvPj 9MjQEx3ۋπC:t Wh]#uN uHuuvvQvPj Qj XPjPRh]h[h ^nh[h[h ^ 2 uWu u _^[̋UQQV3tB@t;jPEPp|'upuup tFEPp^jjjjh`h`1̋UMEVu 2҉qAp^] ̋Ujjup] ̋UU S]t*Vr`WFjYM@B`$_XH @^B#B`$EHp[]̋UE @dt#HE;u3@x(utt;Ht3]̋UUSVu3W`39Bt;] t@ |Aˆ |3_^[] iɈkMDd3Ʌ̋UUSVu3W`39Bt;] t@ |Aˆ |3_^[] iɈkMD`3Ʌ̋UEhqXjP,0 ]̋UQS] u3C< Vr3 WVhTha/E i<j GXGdY` Iu!M9K sh} F^ SPEPh`ha*/FMGGFGFGFɉGtCÙ+;}~ Ù+;^ t!Swh`ha. uEE M_ ;H E3@_^[̋UVujjFPpfF^]̋UEVH3F239Pt1u RRPpV3^]̋UEHujjPp]̋UVuVFV3PPPPVp^]̋UEVWt4Hu ;r)#;w xuP:UuP:Ut +Džu3_^]̋Uu3ʼnEEVuW}ht|hPx|- u3G9E vE S;U 3|ft_f;t @ | fOf~f|f~N ftFt;O9u#N ftEFt f;~O9Nt,)U xx} N3[M_3^\,ff~fF fN GGFttM ̋U$MVu F`W$fEfE3MWH@ "WEPpF`$M@|!H @EH pWWWWEPpE_^̋U4u3ʼnEES] WWPSuhchShc* 3V5phcPօYYtehcPօYYuQhcPօYYt=hcPօYYt)WPSwu*hchShc_* 3^M_3[*hcPօYYuًs_39= ut u0Ph>aV & PppS {(t7KK @% AC@,A,C@ A C H Xqt jPpKT3\qCP`Szh(aV% ̋UE SVW3;~9E~E9}EWWEPp]EPWjWWWWs uq;u F`M H$xF`$M@|!H @K p=puBEiEEPWWWEPU=uhchShcb$ VqWWWWEPӋ~2ҋp_^[̋UWjjjjhdhcM$UjYrz8B@h'B40!3_]̋UE MS33C8P!Vq(t@`XFX t Y 9V(u[9V,uVWq;tHhPV\ }8?qPuhbdhPdr# Wh"dhPd]#_V^,p^3[] ̋UE x!MQ(t@`HBf@ uaR/3] ̋UEP(E x!H`VtNx|.z(ur0A 3p1pqWjYdq_R3^] ̋Uu3ʼnEE SX`VuWVO3;}WPC+;HHHH HqPF( NPhvehhe~,7"9tt5jVBtWPqt9;tttPq;Xq;tWPpNT;\q~PIH;Ϻ tQt PWhn/9~(uN0C 3H1HWh/~,VkWWqPF( NPh@eheSW!9tt29~,t-jV]WtPq}hehSS V~,%WWVqPv4hdS v4h6chchPp$PPpPp9tt9tt tPqXq;tWPpvNT;\q~P q6pxqPF( NPhdheS' `qj6q9tt&jtPq}hdhSS Wh.VM_^3[̋UM yA`S]Vp |OxFuPhehe`qBWPhehes`q ;7 Vj3q7_hehSheB S!^3[] ̋Ujjup]̋US] VuWqPCPhehe39}WWt7EPpWEPh3Sjvq=uWWWWEPp WSjvq_^[ ̋UE H`SVq 38X!WtрJ9X}|c9YqPFPu(h2fhfCS`qdqWBhfhf`q;3 Vj7q3hehShf W_^3[] ̋US] VuW{`VaE }SC q2ҋpE G E uƄqVHPhdfhTfl1qQHPh:fhTfOE ;`q~ Pj6qS qs`FjYM@y(uruC`$@`4 C`$@*3@SH qq"S qC#C`$SvqV_^[]̋UVW}WhTgVE3҃ 9PPuhrThSV> a |WhTTV# FiɈ9PXuWhgًH\;uWhf;M tWh~fV P\3_^] ̋USVW}OtG ɹTuTPQhT.gSu3Ƀ9NPt9Xq9t/fO QW\q06u(@Pu VhrThSS7 _^[] ̋UVu Vh\ghDgAE j \Y90u Iu3^]̋UQSVWhhhSgSE u Et'Wu h"jVeE}PhgS Et'Wu h"jV8E}PhgS[ Xqt jPp3NT_\qFPE^[ ̋Uju u.]̋U`SVuhu hSV]{PuhShSV zWjY3}EPu fESfEuhShSV 7huEh"PS1|}}uWh`SVL_^[ ̋U|SVu 3;W}]]~9wPu3f;}9_Pt ƙ3+H9GTtj`ESP ;u[huEh"PWf]fE<;|9]|EWGL_PuVShhhhM u ;}3+H;T|huhPQhhSEPEPVWuhhhSS' oF9GPu:Xqt ;t jPpEe\q3FGPEGT)FhUSB0PjpEuhphhSS EN QjPee ~vhE E}'juuVEu E} |E@EE@Ph\hS^EUMF E9E|uVpE?e~vAMex ~ eUEEDU;P |FE9E|huh"uW_EEx@WGLe~v]3WFE9E|鍟Xqt ;t jPpE쉇\q3FGPEGTIuh*hS  E &puu hhS}| E@EjVp39ut Vup9ut VupE_^[ ̋U`S]VWu(} WSupiuuhYVjPEjPE,t0Ht%HthUhSVA xfE%fE)fE EEE hu(EEEh"EPufEP]f}|}| E$MuWh4iV_^[$̋U`S]VWu}WSu ihiVjPEjPE $t;Ht0Ht%HthUhSVX efE#fEfEfE huEh"PufEPf}f]|}}uWhiV_^[̋USVWujuu hjVExPJXq<uu \qQ u!uuu hNjVq_khUSB08Sjpuh4jhShj2SjVEffFHLN^f$OeN fOfkf$f ONO NvKEW9U|huh"VPs|~|SujVp>vWhihjtjVphrThSVQ _^[]̋UVu V$tN NSWTM TuـtF tuu SPQhjhjjVu\qXq_[uuH@QPV^] ̋UQE@(S] V3{!WuEtC`HK;΋}|=9p|6Hf uPUf u@EuwhbkhPkg: uwh4khPk pQwhjhPkV75pjW֋EuC_^3[ ̋UQS3W3} XuX9Muhkhk E};Whkԁ~ hkhSGk E EHEhUSB0PQpuh"YhShk$ hujPfMfE fAM XHMHMH u$xL~33ɋLTUTXʃ Ou3_[̋UQQSVW}Ew@EE3ҍHBUH]Q M;u38] t G%P,qME;tU=pEUPqF8X$uPqFuv(qSvv $qSV׋ME;u_^[̋Ui; ;M;E~E]̋Uf VuuD0pk !jH^hUSB0VjpuVjPf0 fX3^]@t 8uÃHűUVuFff= u?EFuFE@uN4u u,EFHtMFHf=EFuF^]̋U`ESVW3jP8EWP6uE(fM0fU4]$ uuuuEfE, }u]EeMmUufEPfE}hltblRQPE(PPu Vh lkVR $Wu Eh"Pu;|9}|EMPhkV uSh`SV _^[0̋USVW3uG8G]E39uuKM} uVu0u3WPhlhl u03WPhnlhl hUSB0jVpuuXVhu ~u0u,uuuN؅}jVpujSu(~} G`u$$H@ "G`$p @A@6uWVN p_^[],̋UeSVW}7O^@C SEF`@EE @EMU|y|fy t A @EAE%e= tqPRuhFmh.m E P8qMfy u{FttAtnMvgV;W$sV@t@ j 3QQjQP4quu!Euhlh.m #O$uQNQ0q ;MsEEFGOH9uEE3N8}Et 3N8Eu ,q}tjVGu$w(qpjww $qjWӀ}t4vuuhlh.m" f2ҋpEp(_^[ ̋Uju ]̋U0SV3WuCCu39E ]uNM 9EuNM}EE} M0EFE܉Mu;u ETD3u}PWQ6ESuhnhnI $3E ;~E}D3PWQ6ESuhnhn ] UuM,C@P p@E@ @0E؋AAEuVRh\nhn-}hUSB0VjpEu"uuh&nhnXVjPe, ehUSB0j(jpj 3YK@QFPAEM,4Eju؉F$FDqEu]FE}ԍM3;}PPPu~u@q؅uE u^ SpIoGetDevicePropertyHExFreePoolWithTagObfDereferenceObjectObQueryNameStringObReferenceObjectByHandleURtlGUIDFromStringYZwQueryValueKeyZwClose:ExAllocatePoolWithTaghRtlInitUnicodeStringVIoOpenDeviceRegistryKeymemcpymZwSetValueKeyUIoOpenDeviceInterfaceRegistryKeyPRtlFreeAnsiStringstrstrRtlUnicodeStringToAnsiStringIofCompleteRequestKeSetEventIofCallDriverKeInitializeEventKeWaitForSingleObject IoAttachDeviceToDeviceStackcIoRegisterDeviceInterface'IoDeleteSymbolicLink%IoDeleteDevice!IoCreateSymbolicLinkIoCreateDevice_snwprintf6IoGetAttachedDeviceReferenceIoCancelIrp IoBuildDeviceIoControlRequestPoSetPowerState(IoDetachDeviceTRtlFreeUnicodeStringwIoSetDeviceInterfaceStatePoRequestPowerIrpPoCallDriverPoStartNextPowerIrp3IoFreeMdl2IoFreeIrpjIoReleaseCancelSpinLockmemmoveQMmMapLockedPagesSpecifyCacheIoAcquireCancelSpinLock IoBuildPartialMdlIoAllocateMdlIoAllocateIrp-DbgPrint_snprintf_vsnprintf KeTickCountKeBugCheckExntoskrnl.exe_USBD_CreateConfigurationRequestEx@8USBD.SYS0 H`|PP4VS_VERSION_INFO?StringFileInfo040904b0h$CompanyNamehttp://libusb-win32.sourceforge.netbFileDescriptionLibUSB-Win32 - Kernel Driver0FileVersion1.2.5.08 InternalNamelibusb0.sysn%LegalCopyright2002-2009 S. Meyer; 2010 T. Robinson@ OriginalFilenamelibusb0.sysZProductNameLibUSB-Win32 - Kernel Driver4ProductVersion1.2.5.0DVarFileInfo$Translation 44444445Z5_5v5{555566"6'6x6}66666V7R88889F9K9V9a9y99999:9:J:Z:k:{:::::::::::::;;!;+;E;N;S;X;n;s;x;;;;-<2;>E>\>h>m>y>~>>>>>>>>+?G?????j0001111!22222233,3`3e3j33333#474p4w44455K5P5|555H7M778P88i99:w::;=;g;;;;<<< === =c=h=m=====!>:>?>S>X>]>s>>>>>?%?*???? C0000000011 191>1k111L3Q33344s444$55#737H7V7t7777777 88>8C8H8n8888888899"989N9j9~99999: :(:7:<:W:::::; ;2;7;D;w;;;;;;;<<,<1>;>@>E>T>k>>>>>>0?5?E?J?0000001.1S1111111 22222?2\2p2222222223N3S3g3l3333333344+4@4O44444444485B5n5s5555555666F6K6c6h666667 777j7o7777778K8i8888899Z9 ::A:H:P:W:z::::::;;{<<<<<<,=7=`=e==>>I>N>>>>5?`?k?p?u?@!0.030D0P0U00000s1x111111 2262E2J2n2y2~22X3h3333"4d4o4b5i5555550656K6P6f66677777778f888888899999 ::8:J:O:::;8;;>>6>M>d>{>>>>>>>>? ?.?>>0!0 +.[@hdqؠ0 0 #0  *H 0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0 990128130000Z 170127120000Z01 0 UBE10U GlobalSign nv-sa1%0#U Primary Object Publishing CA100.U'GlobalSign Primary Object Publishing CA0"0  *H 0 u* q$ߡb)ܞusVWiVOȼX&r `UWɡt@lS7y>R8,3RpJ]bg^JʼݍGe[Kk͎.P補&k6cApD_%uyP}_F UGӑFh'AQzDhqXoB fuFD0cDpVoX*'.qRmF+HdRtE xs r^s00U0U00UQy| Y:x-M03U,0*0(&$"http://crl.globalsign.net/Root.crl0U% 0 +0U#0`{fE ʉP/}4K0  *H x|}jq)0`bCns v[}NI/@oT*= ܙ zw/@ČNr|d+lך|FMB;ۜ?2aW6fDo7NV%mbby\BӜ#dE-~[NÊ)xA4N,\%%1Mr)KH7oNJE~/1Rg4_'jfRZǬ0, 8+:E{ sV*Ql/00  f0  *H 0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0 090318110000Z 280128120000Z0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA0"0  *H 0   Mh36<S{Fbw7~O"PƗ=yT}LĈ,ơ_:d+> zVτ΍5:4l-w0g: D:CrAFud%lGGގc}Udros?99\IcC"֫t0OZm:34;bz-MK0 y}ӗjZM _Pl`R.tޗE!{Udtk_llC$7IHvIP!ʅs <].^M2eVű?'I0;ŧp[Z]a4XQ2Te+l gcZ$t# fdIU^ZV*-5761z;…00U#02357ev.E,0<U50301/-+http://crl.globalsign.net/Timestamping1.crl0Uds֕yȏϥ`)0 U00U0U% 0 +0KU D0B0@ +20301+%http://www.globalsign.net/repository/0  *H 6U\yzmVU+Ȼ`{Gm@>Վ/RhrJ`+02http://secure.globalsign.net/cacert/ObjectSign.crt09U2000.,*(http://crl.globalsign.net/ObjectSign.crl0 U00U0U% 0 +0KU D0B0@ +220301+%http://www.globalsign.net/repository/0 `HB0  *H Q$yPx}1E윕[=f4°a?[oJ#XBNGDQ/UXH,%Citʐq$ӹzW{Y;h͇l +T`.\ z /~v's)FnFWS] q 1h>-g)0:OxYzxZH BגE|fxk?-4bǵ=Fn=~p,!zzKs[D3;00 #$0  *H 01 0 UBE10U GlobalSign nv-sa1%0#U Primary Object Publishing CA100.U'GlobalSign Primary Object Publishing CA0 040122100000Z 170127100000Z0c1 0 UBE10U GlobalSign nv-sa10U  ObjectSign CA1!0UGlobalSign ObjectSign CA0"0  *H 0 pÌ &ogYL±ESuA6op(|mr%e: {^78KX IX&Ymƹ%bN l]pӛ) X|Չ5W˛俔_wty@!c8sڥEM*<(u|`%N-ֵ4<8:=ıg0c0U0U00U[K&K]V.8NS0JU C0A0? +220200+$http://www.globalsign.net/repository09U2000.,*(http://crl.globalsign.net/primobject.crl0N+B0@0>+02http://secure.globalsign.net/cacert/PrimObject.crt0 `HB0U% 0 +0U#0Qy| Y:x-M0  *H jm"pe.]30lxKōzjX9k (]v|o6C1Y8أ;gXa>;[ADk&^ee?w륆*X)V@W,ca7f%9 .6%|~ӣvu0vA5!h^\`@]Tnng+۷Mf!>GBa,&=ɧxnt,Fr 500g a k0  *H 01 0 UUS10U Washington10URedmond10U Microsoft Corporation1)0'U Microsoft Code Verification Root0 060523170051Z 160523171051Z0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0"0  *H 0 晍ΣO~%kH*cgfH+)e-˫Lp= 0OԌPP.R}m50^CsAj㲉:V98o:-7o캬j<ߋ%笼bE1ݤ rxC̺9]Z^FQ3զXgfXʭ!ښn t(_M]%i%TDÛ)3<S*'3.|XmN_󚝌Q:Z\/5T5R34:j :e3N&I끒M2K#3qk漷lA:q3Pt;]>L&86 cyԮ/a6JK3rA~F9{uAYBGpwKF#rտiX<\FՁneYw2ddSɠ(*l8сΘ@,C&_D0S /z`'RB7(yH0] R-g f(o$a100r0c1 0 UBE10U GlobalSign nv-sa10U  ObjectSign CA1!0UGlobalSign ObjectSign CA /s0 +p0 +7 100 *H  1  +70 +7 10  +70# *H  1ڂfCH0  *H WMR^121cp.%̢ ?*Anѡ`4f,Bc$$>6P{iy^&zۀTi?k&<2!i3)n~Jp`lB`C[FwUrjL-hmeT)YQF_)YI&UG$)}u +*߭fkKfϣ Kݳ"iFPN./*D|vZ*4'QMZ@ !L!This program cannot be run in DOS mode. $̓u&&&0&&k&&k&&k&&&L&k&&0&&k&&k&&k&&k&&k&&Rich&PEdի+N"  4@P@X0   ` @.textX `.data@.pdata  @@.rsrc0@@.reloc`@@BLVn0Tn@~dP6"xdRJ6&xhRD`J2| zbRF2$nZJ6"$hD6*rxpdVLB8," @ի+NY<0A AEEE00P('8PW700PP (```hhhxppwppsending get cached configuration ioctl failed, win error: %s usb_get_configurationinvalid device handle %pusb_os_openinvalid file name %s--invalid file name %s failed to open %s: win error: %serror: device not open usb_set_configurationcan't change configuration, an interface is still in use (claimed) could not set config %d: win error: %sdevice not open usb_claim_interfacecould not claim interface %d, invalid configuration %d could not claim interface %d, win error: %susb_release_interfacecould not release interface %d, invalid configuration %d could not release interface %d, win error: %susb_set_altinterfacecould not set alt interface %d: invalid configuration %d could not set alt interface %d: no interface claimed could not set alt interface %d/%d: win error: %sinvalid endpoint 0x%02x_usb_setup_asyncinvalid endpoint 0x%02x memory allocation error creating event failed: win error: %sinvalid contextusb_submit_asyncinvalid configuration %d invalid interface %d submitting request failed, win error: %sinvalid context _usb_reap_asynctimeout error reaping request failed, win error: %s usb_cancel_asyncusb_free_asyncusb_control_msginvalid request 0x%xinvalid or unsupported request type: %xmemory allocation failed sending control message failed, win error: %s usb_os_find_bussesbus-0found %s \\.\libusb0-%s%04dusb_os_find_devicescouldn't read device descriptor %s--0x%04x-0x%04xfound %s on %s dll version: %d.%d.%d.%d usb_os_initgetting driver version failed driver version: %d.%d.%d.%d setting debug level failedusb_resetepcould not abort ep 0x%02x, win error: %s could not reset ep 0x%02x, win error: %s usb_clear_haltcould not clear halt, ep 0x%02x, win error: %susb_resetcould not reset device, win error: %s usb_reset_exonoffsetting debugging level to %d (%s) usb_set_debugsetting debug level failed device not open_usb_abort_epvirtual-hubUSB_DEBUGusb_usb_registry_unknowndbgwrnerrNo errorUnknown errorlibusb0-dllnone%s:%s [%s] %s:[%s] -w-w=--wait=-p-p=--prompt=-f=--inf=-di=--device-id=-d=--device=-c=--class=-dc--device-classes-ad--all-devices-ac--all-classesh-?/?-hhelp--helpu-uuninstalli-iinstalll-llistPress any key to exit..This will add libusb-win32 as a driver for all usb devices on the PC. This function is for development purposes only. Improper use of the libusb-win32 filter driver can cause devices to malfunction and in some cases complete system failure.libusb-win32-installer-{1298B356-F6E3-4455-9FEC-3932714AF49B}libusb0libusb-win32 - Kernel Driver, Version %d.%d.%d.%dcreating %s service.. usb_install_servicesystem32\drivers\libusb0.sysfailed creating service %s i -dclibusbdu -acManufacturer%s.%s.inf file does not contain a valid model-section-name usb_install_find_model_section.inf file does not contain a valid Manufacturer section This is a 64bit operating system and requires the 64bit libusb-win32 installer application. usb_install_inf_npnewdev.dllloading newdev.dll failed UpdateDriverForPlugAndPlayDevicesADiUninstallDeviceDiRollbackDriversetupapi.dllloading setupapi.dll failed SetupCopyOEMInfA.inf file %s not found unable to open .inf file %s usb\invalid hardware id %s removinginstalling%s device %s.. USBfailed RollBackDriver for device %s failed UninstallDevice for device %s failed RemoveDevice for device %s advapi32.dllloading DLL advapi32.dll failed usb_service_load_dllOpenSCManagerAOpenServiceAChangeServiceConfigACloseServiceHandleCreateServiceADeleteServiceStartServiceAQueryServiceStatusControlServiceloading exported functions of advapi32.dll failedServicesActiveopening service control manager failed: %susb_service_createchanging config of service '%s' failed: %screating service '%s' failed: %sstopping %s service.. usb_service_stopgetting status of service '%s' failed: %sstopping service '%s' failed: %sdeleting %s service.. usb_service_deletedeleting service '%s' failed: %s;added by libusb to break this file's digital signature;added by libusb to break this file's digital signaturerbabra 1LIBUSB_NEEDS_REBOOTgetting device info set failed usb_install_needs_restart_nprestart needed shell32CommandLineToArgvWfailed CommandLineToArgvW:%Xusb_install_parse_filter_contextmultiple commands not allowed: %ls invalid argument %ls failed adding device upper filter key %ls {%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}failed adding class name at argument %ls failed adding class guid at argument %ls failed adding inf %ls failed wcstombs %ls memory allocation failure usb_install_npWlibusb-win32 installer errorlibusb-win32 installerlibusb-win32 installer requires administrative privileges. usb_install_consolecommand not specified. Use %ls, %ls, or %ls. libusb-win32 installer (v%u.%u.%u.%u) -ac and -dc switches are incompatible with -c= switch uninstalling inf %s.. invalid switch for install operation (%ls) installing inf %s.. unknown filter_mode command memory allocation failure%s RichEdit20ATahomaSTATIClibusb-win32 installer running..Operation completed with errors!Operation completed successfuly.libusb-win32 installer finishedlibusb-win32 installer errors!Click the [X] close button to exit.msimg32GradientFillriched32libusbwin32_progress_classcan't register class usb_install_windowUnable to create progress dialog usb_install_report%s (%s) class upper filters:%s class lower filters:%s %s - %s (%s) %s device upper filters:%s device lower filters:%s kernel32.dllloading kernel32.dll failed usb_install_iswow64IsWow64Processbbran out of descriptors parsing unexpected descriptor 0x%X, expecting endpoint descriptor, type 0x%X bbbbwbbbbbbbwbinvalid descriptor length of %d skipping descriptor 0x%X skipped %d class/vendor specific endpoint descriptors couldn't allocate memory for endpoint extra descriptors couldn't malloc interface->altsetting bbbbbbbbbskipped %d class/vendor specific interface descriptors couldn't allocate memory for interface extra descriptors too many endpoints couldn't allocate memory for ifp->endpoint bbwbbbbbtoo many interfaces out of memory couldn't allocate memory for config extra descriptors Too many configurations (%d > %d) Not enough configurations (%d < %d) Unable to allocate memory for config descriptor Unable to get descriptor (%d) Config descriptor too short (expected %d, got %d) bbwUnable to allocate memory for descriptors Descriptor data still left Unable to parse descriptors {50dd5230-ba8a-11d1-bf5d-0000f805f530}{4d36e96d-e325-11ce-bfc1-08002be10318}{4d36e96c-e325-11ce-bfc1-08002be10318}{6bdd1fc6-810f-11d0-bec7-08002be2092f}{4d36e972-e325-11ce-bfc1-08002be10318}{745a17a0-74d3-11d0-b6fe-00a0c90f57da}{36fc9e60-c465-11cf-8056-444553540000}libusb0.sysLowerFiltersUpperFilterssetting property '%s' failedusb_registry_set_propertydeleting property '%s' failedreading registry key failed inserting class filter %s.. usb_registry_insert_class_filterunable to set registry value removing class filter %s.. usb_registry_remove_class_filterfailed removing class filter %s.. usb_registry_remove_device_filterremoving device upper filter %s.. restarting device %s.. removing device lower filter %s.. vid_vid_%04xpid_pid_%04xmi_mi_%02xrev_rev_%04ufailed getting device id usb_registry_match_filter_deviceremoved %s from device registry.. usb_registry_remove_device_regvalueSurpriseRemovalOKusb_registry_insert_device_filterupperlowerinserting device %s filter %s.. usb_registry_insert_device_filtersunable to get SPDRP_DEVICEDESC unable to get SPDRP_MFG failed adding upper device filter for %s failed adding lower device filter for %s setting class install parameters failed usb_registry_set_device_statecalling class installer failed usb_registry_stop_libusb_devicesstopping devices.. usb_registry_start_libusb_devicesstarting devices.. failed usb_registry_get_hardware_idusb_registry_restart_all_devicesrestarting devices.. root_hubrestarting root hub #%d.. unable to get device instance id usb_registry_get_filter_device_keysunable to get SPDRP_HARDWAREID SYSTEM\CurrentControlSet\Control\Class\%s%susb_registry_get_usb_class_keysSYSTEM\CurrentControlSet\Services\Class\Class?RSDSٽӾZt@Qz:\projects\libusb-win32-stage\ddk_make\output\amd64\libusb0.pdbH(u H H(H\$VHpHPH3H$`HHuH.H GE3O%CtaHHq(qq HIHu$L$H1H %4HT$`H+ъ HuHHL$`hHuLCHIHd$0HL$`E3E33D$(@D$ 6H;HC(u(#LCHH nILr$\3ALD$HHL$HHL$PHL$XHL$@$"D$HHL$0HL$HDL$(HL$ Hu$~#HH L$#D$@} xD$H~ Css 3H$`H3+H$Hp^H\$WH`HHI(Hu!LHH y#~9Stw{| LHd$0d$(Hd$ T$DLD$@A "D$@u'"HH LD #" KK {3H\$pH`_H\$WH`HHI(Hu$LHH "{uDH HE3"9St\Hd$0d$(Hd$ T$DLD$@AT "u'!HH \LD1"! c {3H\$pH`_H\$WH`HHI(Hu$LHH ~!{uDH _HpE3!Hd$0d$(Hd$ T$DLD$@AX "u' HlH LDb! ! KK 3H\$pH`_H\$WH`HHI(Hu$L$H)H 6 !DKEDH H% ՋCyDH HF Hd$0d$(Hd$ T$HLD$@A "D$DD$@u-DCH-H DHD$ a { 3H\$pH`_H\$Hl$Ht$WH A) "AAHHtM "u&@y!HH D. "tR "u@x HȹPPHHu$LHH 3HDBPΞL@I+HE3ɉH HD$PAHAQE33ɉX,HHAHHHyHu.H&HH .L3H\$0Hl$8Ht$@H _@SH@HEHu$LhHH jHHx(u LD@EHPH 1D@Ey HRa@aDHQ DI(HIHC(H S,HI(L[0L\$8Hd$0D$(HC LCAHD$ u1=t${HH L3H@[H\$WH d$0HAHu"LHH CHIH2=u-tH3LHH uHH HS0LD$0HI(Au$HH kL3D$0H\$8H _A!E3H(Hu!LHH JHHx(u LR3H(@SH HH Hu!LHH uHIHH H#3H [LI[IkIsWATAUH@D$IcE3DEISDD!\$ xs$H$AHL$0A;AOHDx3HL$0AALcxA+AI~D;u AHL$0H\$`Hl$hHt$pH@A]A\_HHD$pD$0DL$(LD$ DE3ɺ. "HHHHD$pD$0DL$(LD$ DE3ɺ) "HHH\$Hl$Ht$WATAUH EPLEAHHY3H;HL3HL@M+HVH HE3D`HE33@,R "HHAHHH9YHHHH TLD3H;Hu!L_H,H  }L3H@L@M+HE3ɉH HAQD`HE33@,M "MHHAHHH9YHu-GH HH L<؋Hl$HHt$PH\$@H A]A\_HHXHhHpHx ATH EPLAHH3H;HL3HXL@M#HVH HE3ɉXHE33@,. "gHHAHHH9YH]H!HH LR#3H;Hu!LHH |o|L3H裗L@M#HE3ɉH HAQXHE33@,) "HHAHHH9YHu-HoHdH L؋Hl$8Ht$@H|$HH\$0H A\HHXHhVWATAUAVH`Lc$`Hy(L$ELHpu$LHH k$D$@Ã`tY t@tDHDD$LDL$PD$DÃD$H$D$T$0 "[EA6+ +tp+tb+tO+t6;tH`H I4$DL$H "D$D$ "D$DDL$D " "ÿ "D$PAD$DAD$H$D$Lÿ$ "D$PAD$DAD$H$D$LYDL$H "D$D$D$L9DL$H "D$D$D$Lÿ "D$D$D$HujIL$HHu"LiHH fCHL$@MIHHHAHFHAHNHFpE3E3AT$IM(H$DHD$0DT$(LƋLt$ i u1\HH Lu HmuHWA$L\$`I[8Ik@IA^A]A\_^H\$Hl$ VWATAUAVHpHLH3H$`3LLwd$@L LHL$`t$ DHHn3ADHXHd$0HL$`E3E33D$(@L@:D$ qHHuH_d$Xd$Pd$THL$@HLD$HHL$0A$ "HD$(D$LD$HHD$ |$@}.LHlH LHHo "LL$`D$(L$ LHKH^Ht H;H_H#HcMNLCHH YHI\I<$3LHH %H$`H3L$pI[@IkHIA^A]A\_^H\$WHpH$H3H$`Hd$(AHH 7EAD$ L zLHL$`\$ oHd$0HL$`E3E33D$(@D$ ^HHtbHD$@LD$HAHD$0HD$HH "HD$(HD$ t|$@s7LHH ydH6L$TD$XDD$LDL$PD$( cL$ H`H )DBD ?AHd$0d$(d$HHd$ LD$HAD "HωD$L0uLHH HH$`H3H$Hp_H\$WH`HHI(Hu$L`HeH EHd$0d$(Hd$ T$DLD$@A< "D$@qu'dHH rDL>Hd$0HK(d$(Hd$ LD$@A8 "uHd3H\$pH`_@SH`HI(Hu!L{HH U`_Hd$0d$(Hd$ T$DLD$@A8 "D$@u'HH LD3H`[HhHI(Hu!LHH XHd$0d$(Hd$ LD$@A@ "D$@u$ HH Lp3HhHhHI(Hu!LKHPH 0\Hd$0d$(Hd$ T$DLD$@A\ "D$@_u$R H'H HL 3HhHٱH\$WHpHtH3H$`=ut*HDL HH LE ;O؉hXL LHL$`\$ Hd$0HL$`E3E33D$(@D$ HHu |_Hd$0d$(d$@Hd$ LD$@AD "HωD$DuLYHH ; HH$`H3݇H$Hp_H\$Ht$WH`Hq HHH(Hu!L H@H Z3LD$@< "H\$0DK\$(t$DD$@H\$ R;u'E HjH LD s HOH3CHt$xH\$pH`_HHXHhHpWATAUH`D3MHDB HHA譊H$3H;tE3E33AQʺH;HD$Xu3HD$@DMHD$8$H\$0D$(H$AHHD$ `;u f=u3L$HT$@AHK;tH;t $HL$X L\$`I[ Ik(Is0IA]A\_HtUH\$WH HH HHtHHtH%HH̼H\$0H _HtSH HH HkH [H\$Hl$Ht$WH $3H`HHu"LHνH FbL3HLCAHH fA@ H=vHHHH*Ht2LZLQIM+DF E+u HEuEtH HuHBHt:H(8HQHtHHHHHtHAHBHaH!t(HH HtHBHAHbH"HMHHLH=HtTHCH HtHHHtHCHBHcH#Ht H;H_H#HcHHHuH=VH\$0Hl$8Ht$@H _H\$Hl$Ht$ WATAUH H=E3EHT$@H]A;HH\$@I;I;H2Ht2LZLQIM+DF E+u HEuE;tH I;uHBI;tHQI;tHHHH\$@HI;tHAHBLiL)*HH I;tHBHAHLjL*AI;HHI;HCH3I;tH0Ht$@H I;tHCHAL9*LkL+u)HI;HtH0OHL9*t'HI;t HHXL+LkAHI;HnL9DI;H/3ADH蔅H=HC;HƃƃfǃCƃ DDƃ@fD fD"fǃ$D&D'D(D)HHH<I;tAHD;H ;H I;Hu;HLHL<HI;t!MHH<IHII;uH?I;#AH\$HHl$PHt$XH A]A\_H(H [HtH IHHH(`H\$WH H00HHu37HxHK KKHHCy HHH\$0H _HHD$pMD$8D$0DLT$(DD$ DBNHHH\$ UVWH@HʢH3H$0II؋LL$0E33HHD$ x} DD$3D$2LL$0AHD HD$ 7xc|$1uDD$0D;~J3DRE;~6D^HLL$2A;}%Ayt?AAHIE;|HcʋH$0H3t~H$xH@_^]@SH Hy(Ht#QxHK(*HK(KK HL3H [HAHL$SUVWATAUAVAWH(H*HCE3D8)&3L*J|' 3B8l'$3Nl' J<.3B9\.$3N4.IL.HtI|. tO3A8T.T$xv73ID. HL Ht iT$xAD.H;ЉT$x|ҋ$IL. >HB;\.$|$J .BD'H ;艬$-H\$pJL' )AHD;H*dzH<HH(A_A^A]A\_^][H%H H( t2t$u ެ^~,HHڬHH(@SH@Hd$0HKD3ҹAD$(H\$ HH@[H(t2t&Wtyt=tt 3H(LISMCMK H8ICLLHDICH8LISMCMK H8ICLLHICH8LISMCMK H8ICLLHĻICBH8LMCMK H8MIC LHIC H8H\$UVWATAUAVAWH`HƝH3H$PL$DM;O9-} 3HcL%{!|$@M$;OAIs%HL$PMMźΰMtOH9=cH5\t:Ht:;t0HH̰H;uH>H3HHHHH>uHuHMt>H3IHHt*L \LmHL$PH\$(Ld$ S#L 2LSHL$PH\$ .x,D$@M+MHcHcHLP֯~yHcD4Pu#L-HT$PLIB.-kHXHt,HL$P|$0HHL$(L$@LˉL$ AMЅu9-)| HL$PLH$PH3TxH$H`A_A^A]A\_^]LME333LEE3333IDB@SH`HDH3H$PH9Z=HL$@3A~{Hd$0LHL$@AD$(D$ LܻHH &iL2HT$@H AD$  uLH!H &SZHSHKI{(t 8_c(3H$PH3vH`[H\$Hl$ VWATHHH3H$H3LDB@HL$0czHt$0Hd$ LD$pAHtHL$pHHrăHt$0vrHT$pHH+֊ HuHT$pLE3Iu@H|$0HLMt/H9HL$pLHT$pLE3It3HtHD$0HܬHHD0H8uuLH7H H$H3muL$I[0Ik8IA\_^H\$UVWATAUAVAWHHH3H$LcHD$HE35t"LHH DRH HjHHu LCHZHQHHH$tHbH1HjHH$H jHD$PߧHu Lc\HwHHLHD$XtL$E3ɺHDŽ$ uLHGE3H$3EAcHHH$uLH(LL$hHE3HstHT$hHLQHFH #&3uHIHd$ AL$HL$hAAVH$AD|$LHH$AةH aJHLEL$HLEd$DHu_\$H3;t1HD$8HD$0D$(DGH$E33HD$ A#ˉL$HHD$DL$H$A3HD$ H0AE33HHL$3HE3ĦH$L|$PHd$0E3H$H$EAHD$(HD$ \$H$}HH$HܨHuHHHH8uICEIMtHE3ɺEAL\$`I[IkIs I{(IA\LI[IkWHHrH3H$HA0RxHARDDIcICIC'ISl$8Hl$0HE3l$(l$ sDE7HL$`3HRΞHL$zD$`<D$dD$lLL$`fADEAH˺D؃E3E3QHăM E3CDHHd$XH~HT$PHD$H'H|$@l$8l$0H,A PE33ɉl$(l$ H#EH$H3NL$I[Ik I_H\$Hl$Ht$ WATAUAVAWH+MIL^½++t}tc t93L;AA@AAAA AA$Xr39}1AJI1M3L;B083ۉ}rH }IAHH p}Hi}tI IHv};u-E3E3oI|E3HEA Ỉ-)}3A'3L;AoA(II D$PFDD$\T$XD+D$T+T$PIM LH$HIHH$DKDCHT$PIbIHL$PEA]9|9|t*@@~HT$PILHH~ lHT$PILAE4EM0EE,AU(IM D$@ \$8\$0L|$(D$ p~I_~HN~H={D؀@@D$pt @f?f+ @f%?f*D$X¹*@;D$hY kYH,~f;}f@ffDf$AD;~fD;}ff@Ɖt$l;D$t~f;}f@fD$PEf$$D$TAD;f$f$$f$~fD;}fAfEfAA;~f;}fAfEAEAD;~fD;}fAfD;D|$\f$f$f$D$$f$~fD;}fAf;~f;}fAfD;~fD;}fAft$Tf$D$h;$$f$f$f$~f;}f |$pfD;~fD;}f $fD$t;;}f L$lfD$XL$$D$\f$$Ho{f$H;f$f$\$`l$duhH+{H;u"H {H;H{u H{HH{H{H;u}HT$PIL|wLL$`H$AIω\$(l$ LL$`H$AIω\$(l$ zAE4EM0EE,AU(IM D$@ \$8\$0L|$(D$ kzIZzH$Dz=-53I-nt ;@fH9wwuT|H;t 3H|HI|LWwH @3҉wz}I;HXwI9]wfA'Ỉ-HwA|H;HtW95wt+AHbDHEʼn\$ EH{HDDHω\$ I̋${IHL{I{H;t H{9vIHftH}{H`vHP8H;t3IHHH+HH;t`HH5ۈH5UHE.{AI̋{DDHHȉ\$ AE33Iz;9uuMzI4{ -u'zE33HzH?39ut$fAuIHf;uE3E3ozMLƋI^zL$I[0Ik@IsHIA_A^A]A\_HHXHpHxL` AVHHIHH\HSH==wuH \wH'wA@H t3M0HH5tAt$H$L3H=t HL5L$IHy$$H3H$$DŽ$?wH3H$xH3H$H$|yH$AL$L$H$yH$H$RxfuLLnH{H xH sM3GL$I[IsI{ Mc(IA^Hd$XH|$PHd$HH\$@dD$8D$0@D$(LAĆIֹD$ +xHHu LYHs*xH;t 3HjxHYxtHL$`wHL$`$xHL$`E3E33)wuwH;tHxrH rM3FHHXHhHpHx ATAUAVH E3HIILLtaMt\L!*IM!(HtNIH3HfHHHt3LcIfB|B=uJxzxt1HAHHu3H\$@Hl$HHt$PH|$XH A^A]A\Ic͸HTHcI$INHH\$Hl$Ht$WATAUH0HYHH-AIH tL LyHA?H LLZHAHD$ 3LIIHHt ,ItL+HA3LIIHHt ,ItLHAH HNHL HD$(HL$ LAHlLLHAS3LIIHHt ,ItLđHA3LIIHHt ,ItLHAH6H9HHeH\$PHl$XHt$`H0A]A\_@SH d$0H vrHuLtHwH 36HHrHHtrHT$0H#D$0D$0H [H8H2bH3H$ qD$pD$qD$rD$sD$tD$ucH$3AVBH$DŽ$qq$$$uRqu>q&qHD$hHL$pA HD$Pd$Hd$@d$8d$0d$(d$ A ]pD$`t-HT$hLD$`3p#L$`L$`HL$hoD$`H$ H3h=H8ø9$r$$XsspHhp`p1H\$Ht$WH0pHHt`$'3A,pHHtEH3wpH3ɋpHt(H,pHtHd$ LL$@DHHpH\$HHt$PH0_H\$Hl$Ht$WATAUH@Hc$H$ADLLH3A@D$8DAAl$0AIDAH|$(d$ ˨H\$`Hl$hHt$pH@A]A\_HHXHhHpHx ATH@Hct$pAL3LII?D$8D˺At$0DBDIHl$(d$ CH\$PHl$XHt$`H|$hH@A\LL:Dtp:Wta:btL:dt#:wujAIAff fAIILAAAI AA A AAIIAfAA IAIH:pM+AHHXHhHp WATAUAVAWH HEHL@HH D\$`EE;~)=j|H pHH`0qD$a<t2=j|"H XpHٌDH`Ap3jA r H ArHLH-qjAE+HE3ALLD$`H;HS\$`D$a<tL<tH<tD<t@|"H oHDH`Pp-iAHD+DA}Et&|!H hoHEH` p-iA+u5Hf foH .oHDH`oHcHoHHF u|H nHTH`oLIHn<~AH\$PHl$XHt$hH A_A^A]A\_H\$UVWATAUAVAWH E3AHD!iA LhAGIHcHkUnHLIsIcGHHHAGHkILDE3IA+ELHt$`||LD$pHVHnD\$pAD$q<t%<t!<t<tAAHA+D}Et&|!H mHEH`LngDE+u HgD!g-McI_nHHGdHT$`MH:DgLD$pHH|D$q<<G<  HkmHHG DG3HMk:E3D8gvcLD$pH$HHL$PEHHL$dHH fHL$PEHHL$PLL$PLD$0HӹD$ I|$u-L$dHH 3LD$0Hӹ@ELD$0HAX\HO\AH$H3'L$I[(Ik0Is8IA_A]A\H\$Hl$Ht$WH HH.H^3H;tH#LH^ HHR^HsH;tH LH]HH!^H;tLCHH]KHۀH]H;tLC HʀH]K ;t >tH\$0Hl$8Ht$@H _@SVWHpHIH3H$`ILD$@I u7LdH^H vѪ3H$`H3'&Hp_^[HL$@\HT$ HL$@ztHtH3HHHHt H[sH H$PH+ъ HuH$P\\HT$0H$P t2D$09D$ u(D$49D$$uD$8t9D$(uD$HD$8HT$`LAIHD$ uL H|H p|ۥ t;HD$8HT$`LE3IHD$ YuL H|H ,|藥AHALD$8rUH˅2iUH$H3 L$I[Ik Mc(IA]LI[WH@3IHICICL$(D$0!D$0DHMCHHD$ D$$D$,TuL5|HXH W|ʤ3#LH׹eTu LR|˸H\$PH@_H\$ UVWHPHRCH3H$@A IHHSH 5d=H=awLL$0HBLHֹD$ DtHL$0AH%Ht LL$0LHֹD$ tHL$0AHHt H$@H3 H$HP_^]H\$ UVWHPH^BH3H$@IHH,RH EcH-vv=LL$0LHB&HӹD$ QtHL$0HTuH$@H3nH$HP_^]H\$ UVWH`HAH3H$PIHH|QH bH=u=LL$@LHB#HֹD$ t6HL$@HTtLD$0HHt |$0t;H$PH3H$H`_^]H\$WHPH@H3HD$H3H&eE3DO3D$( QHUH yHHuLiġ\Ly631LD$ HT$(t|$ tLD$(HӹJLD$(HcQH˅u^QHL$HH3H\$`HP_H\$WHPH@H3HD$H3HNdE3DO3D$( 'QHUH yHHuL9h\Ly^31LD$ HT$(/t|$ tLD$(HӹrLD$(HPH˅uPHL$HH3H\$`HP_@SH0IMLHѹD$ huLxHNTH xn3 ƃH0[HHXHpDH WH@H`IHA3HD@ 3#L\$8A?E3HHL\$ MuHHL$8HD$hLL$0HD$(HrE3H|$ Mup9t$0u ?,uH?uHL$8Ht4MH\$PHt$XH@_HHXHhHpWH@H`AIH3M=r!@8;HtHH@89t@88u,@89HuHD$0A?E3HHHD$ Luo~NMHL$0E3=t$(HqH\$ sEHLu7x2DpLu HL$0HqvLDHL$0Ht$LH\$PHl$XHt$`H@_H|$HLHu3 9tH3HHH8uA+ЍBH|$H\$Ht$WH 9HHt%HHVOt'H3HHH8u3H\$0Ht$8H _HH\$Ht$H|$ATH I9HHt3HIHH8u3HIHLAH{3HHt$8IH|$@HшD  H\$0H A\H\$Ht$H|$ATH AHHHttIE3HD8t03IHHHHT 3IHHH8EDu3IHMcHHHAHHHHuH\$0Ht$8H|$@H A\HHXHhHpHx ATH`H:H3H$PE3H8_E3EL$33D$ LHPHHH QtuL cӛ3L]t@3LD$@HT$ :D$@H\$@t"HMH3HHH8uD$@H\$@t(HtHMHuHHHH8u3Ht,AHsH sE衛LD$ HչLD$ HJHͅ8JH$PH3>L$`I[IkIs I{(IA\HHXHhHpHx ATAUAVH Ll$xHIIeHMHLt=H3HHHtHHKt HHtI]I}u4(HLHHL3HYII]HIHH+͊E)HuH I+A$B!IuH3HHHHtHKH+Ί1HuHT$`3HHHHtHH+ʊHuLL$h3HIHHtI,HILcLL$p3HIHHtIHILcPH\$@Hl$HHt$PH|$XH A^A]A\@SUVWATHH7H3H$HIIHHt;KAH$EE3ZHt:LoqHLH q輘3H$H3HİA\_^][L$pLH׹Dd$ [u LdqL$PLH3Dd$ 4uLnHLH q:LL$@LH׹ Dd$ uLnHKH pL$`LH׹Dd$ L$LH׹Dd$ Hl$8H$HD$0H$`H HD$(HD$@L$PL$pH$HD$ H\$Hl$Ht$ WATAUAVAWHH5H3H$E3DT$@LEAL9=8IH-8L58H}H3H=pHHQHHHHHsYLMLoHoH$HLMIL$HLRH$HD$0HD$HD|$(HD$ L|$HaHI,L9}bDt$@A|$u A$ A|$uA$A;u A|$E;HYAE33D$P EHHu!L\HIH #o螕33HTA|$LD$@HT$PuA;#D9|$@LL$pLD$PHֹD$ XA;HL$pHGL$LD$PHֹD$ "H3H=InH|$pHHQHHHHHLL$pLnH3nH$FIL$AHA;LL$pHD$0AEHD$HT$(L$H$HD$ L|$HHL$HI;tI;L|$HtLL$HLD$PH[AHALD$PDHA;DH$H3oL$I[8Ik@IsHIA_A^A]A\_H\$Hl$VWATAUAVHH2H3H$AE3HAt#t(u#A;u'u u A;&BH lL%l=HD$PA?LCE3HIHD$ 4AA;AHL$p3EDD$@QHT$hHT$83ZHL$p EH3IH|$pHHQHHHHH;H$L3LL$pHlH$MDHT$HA?HT$ H$E3Hi@A;HL$HHD$@LL$`HD$(H$HlE3|$@HD$ @HNHA;LL$pHD$0AEHD$XT$(L$H$HD$ Lt$X HL$XI;t HT$HHL$H?HL$pL3HD$hA|$@AHD$8HL$PLt$0LL$@LD$pLt$(Lt$ z?A;yHL$P>?H$H3 L$I[8Ik@IA^A]A\_^H\$Hl$VWAUHH/H3H$H?H j=HD$HH4jHCA?E3HHHD$ >AHL$p3M3Dl$@HT$hHT$8H!t$0H!t$(H!t$ 3JHL$pBH3HH|$pHHQHHHHI;H$M3yLL$pHiH$LTBHT$PA?HT$ H$E3H=uHL$PHD$@LL$`HD$(H$HiE3Dl$@HD$ =HL$P=HEHd$XHD$0HD$XLL$pL$H$HD$(HD$ HL$pM3HD$hHD$8Hd$0Hd$(Hd$ Dl$@HL$HLL$@LD$p=HL$H<H$H3_ L$I[(Ik0IA]_^HHXHhHpHx ATAUAVH LH3HMIHHHH#Ll$`H\$p@H3H{HHu H HHHK?uI]I}u-HHu9\$h0H@HHuMHKH+͊E)HuHI+A$B!IuH H+ފ 3Hu`L3H HOH+͊E)HuHI+A$B!IuH H+Ί1HuII}HI>H\$@Hl$HHt$PH|$XH A^A]A\H\$Hl$Ht$WH H9HHt9H H/HtH?HHuH H?HHuH&H\$0Hl$8Ht$@H _LI[Is WH0HHICHICMKH_E3HI[D$@|:t3AH HD$@HLL$PHD$(H{_E3HH\$ D$@2:t3AHn H\$HHt$XH0_H(>HH:H:uH 3H(H\$Hl$VWATAUAVH 3ML;/;{+lj/ :3H=:u:tFH- :H;t7H59HHH;tHH;sH=H9H99H93;eH%0HpH;t93H5l9u\9;t WH5Y=L5b==89I;s;uHH;tHI;r;jH=H =8;u HH8H99t!H 8;tMĺI8=_.H\$PHl$XH A^A]A\_^LD$T$HL$SVWH@H\$ (u9 .u 3ۉ\$ tunH`8Ht'L$pЋ؉D$ 3ۉ\$ $hH$`t/L$pH؉D$ 3ۉ\$ $hH$` L$pHwc؉D$ 3ۉ\$ $hH$`usuoE33HDc$hH$`\$ E33H$hH$`\$ Hv7HtE33H$hH$`\$ tu\L$pH؉D$ 3ۉ\$ $hH$`t)H7HtL$pHЋ؉D$ 3ۉ\$ 'H@_^[@UH HHHHUPEP=csmuHMPE0E0E0H ]@UH HHHHUpEp=csmuHMpE8E8E8H ]@UH HH0HHU`E`=csmuHM`BEHEHEHH ]@UH HH HH=csmuHE$E$E$H ]@UH HHHHU(E(=csmuHM(E4E4E4H ]@UH HHHHU@E@=csmuHM@"ELELELH ]@UH HH(HHUXEX=csmuHMXEhEhEhH ]@UH HH8HHUxEx=csmuHMxb DžH ]@UH H#H ]H\$Ht$WH IHu+LNjHH\$0Ht$8H _fffffffH; i#uHfuH%5@SH EHLAALtA@McPLHcL#IcJHCHHKAt AHLL3IH [iH(MA8HIH(%N53f9MZuHcQ<< PEu f|  LcASendMessageA|GetWindowTextLengthAGetClientRectLoadIconAGGetParentGetClassInfoExAFillRectPostQuitMessageRegisterClassExAqGetWindowLongPtrAxGetWindowRectSetTimer<GetMessageADestroyWindowUSER32.dllPCreateSolidBrush,CreateCompatibleBitmap-CreateCompatibleDCSelectObjectDeleteObjectDeleteDCBitBltGDI32.dllԫ+N//pFHF8EH?R8_`J_4XZE(a] ^hT,],nedvX ``e`eFHF$Gp]E(E@xT8a0CXtHt|e|e 1@JZeu *Gdt,5D\r|8  !"#$%&'()*+,-.libusb0.dllusb_bulk_readusb_bulk_setup_asyncusb_bulk_writeusb_cancel_asyncusb_claim_interfaceusb_clear_haltusb_closeusb_control_msgusb_deviceusb_find_bussesusb_find_devicesusb_free_asyncusb_get_bussesusb_get_descriptorusb_get_descriptor_by_endpointusb_get_stringusb_get_string_simpleusb_get_versionusb_initusb_install_driver_npusb_install_driver_np_rundllusb_install_needs_restart_npusb_install_npAusb_install_npWusb_install_np_rundllusb_install_service_npusb_install_service_np_rundllusb_interrupt_readusb_interrupt_setup_asyncusb_interrupt_writeusb_isochronous_setup_asyncusb_openusb_reap_asyncusb_reap_async_nocancelusb_release_interfaceusb_resetusb_reset_exusb_resetepusb_set_altinterfaceusb_set_configurationusb_set_debugusb_strerrorusb_submit_asyncusb_touch_inf_file_npusb_touch_inf_file_np_rundllusb_uninstall_service_npusb_uninstall_service_np_rundll2-+] fu5 @ @@@@ @P@$@@ @4@N@ p+ŝi@]%O@qוC)@D@<զIx@oGAkU'9p|Bݎ~QCv)/&D(DJzEeǑF e uuvHMXB䧓9;5SM]=];Z] T7aZ%]g']݀nLɛ R`%u?q= ףp= ף?Zd;On?,eX?#GGŧ?@il7?3=BzՔ?aw̫?/L[Mľ?S;uD?g9Eϔ?$#⼺;1az?aUY~S|_?/D?$?9'*?}d|FU>c{#Tw=:zc%C1|>??H?@@@@AA*C0C8D@D E8EEhEEEFFFFG$GHHYJ`JMMOxOQ`QRR4SX>>0!0 +]]ɕHٶ_?o0 0 #0  *H 0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0 990128130000Z 170127120000Z01 0 UBE10U GlobalSign nv-sa1%0#U Primary Object Publishing CA100.U'GlobalSign Primary Object Publishing CA0"0  *H 0 u* q$ߡb)ܞusVWiVOȼX&r `UWɡt@lS7y>R8,3RpJ]bg^JʼݍGe[Kk͎.P補&k6cApD_%uyP}_F UGӑFh'AQzDhqXoB fuFD0cDpVoX*'.qRmF+HdRtE xs r^s00U0U00UQy| Y:x-M03U,0*0(&$"http://crl.globalsign.net/Root.crl0U% 0 +0U#0`{fE ʉP/}4K0  *H x|}jq)0`bCns v[}NI/@oT*= ܙ zw/@ČNr|d+lך|FMB;ۜ?2aW6fDo7NV%mbby\BӜ#dE-~[NÊ)xA4N,\%%1Mr)KH7oNJE~/1Rg4_'jfRZǬ0, 8+:E{ sV*Ql/00  f0  *H 0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0 090318110000Z 280128120000Z0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA0"0  *H 0   Mh36<S{Fbw7~O"PƗ=yT}LĈ,ơ_:d+> zVτ΍5:4l-w0g: D:CrAFud%lGGގc}Udros?99\IcC"֫t0OZm:34;bz-MK0 y}ӗjZM _Pl`R.tޗE!{Udtk_llC$7IHvIP!ʅs <].^M2eVű?'I0;ŧp[Z]a4XQ2Te+l gcZ$t# fdIU^ZV*-5761z;…00U#02357ev.E,0<U50301/-+http://crl.globalsign.net/Timestamping1.crl0Uds֕yȏϥ`)0 U00U0U% 0 +0KU D0B0@ +20301+%http://www.globalsign.net/repository/0  *H 6U\yzmVU+Ȼ`{Gm@>Վ/RhrJ`+02http://secure.globalsign.net/cacert/ObjectSign.crt09U2000.,*(http://crl.globalsign.net/ObjectSign.crl0 U00U0U% 0 +0KU D0B0@ +220301+%http://www.globalsign.net/repository/0 `HB0  *H Q$yPx}1E윕[=f4°a?[oJ#XBNGDQ/UXH,%Citʐq$ӹzW{Y;h͇l +T`.\ z /~v's)FnFWS] q 1h>-g)0:OxYzxZH BגE|fxk?-4bǵ=Fn=~p,!zzKs[D3;00 #$0  *H 01 0 UBE10U GlobalSign nv-sa1%0#U Primary Object Publishing CA100.U'GlobalSign Primary Object Publishing CA0 040122100000Z 170127100000Z0c1 0 UBE10U GlobalSign nv-sa10U  ObjectSign CA1!0UGlobalSign ObjectSign CA0"0  *H 0 pÌ &ogYL±ESuA6op(|mr%e: {^78KX IX&Ymƹ%bN l]pӛ) X|Չ5W˛俔_wty@!c8sڥEM*<(u|`%N-ֵ4<8:=ıg0c0U0U00U[K&K]V.8NS0JU C0A0? +220200+$http://www.globalsign.net/repository09U2000.,*(http://crl.globalsign.net/primobject.crl0N+B0@0>+02http://secure.globalsign.net/cacert/PrimObject.crt0 `HB0U% 0 +0U#0Qy| Y:x-M0  *H jm"pe.]30lxKōzjX9k (]v|o6C1Y8أ;gXa>;[ADk&^ee?w륆*X)V@W,ca7f%9 .6%|~ӣvu0vA5!h^\`@]Tnng+۷Mf!>GBa,&=ɧxnt,Fr 500g a k0  *H 01 0 UUS10U Washington10URedmond10U Microsoft Corporation1)0'U Microsoft Code Verification Root0 060523170051Z 160523171051Z0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0"0  *H 0 晍ΣO~%kH*cgfH+)e-˫Lp= 0OԌPP.R}m50^CsAj㲉:V98o:-7o캬j<ߋ%笼bE1ݤ rxC̺9]Z^FQ3զXgfXʭ!ښn t(_M]%i%TDÛ)3<S*'3.|XmN_󚝌Q:Z\/5T5R34:j :e3N&I끒M2K#3qk漷lA:q3Pt;]>L&86 cyԮ/a6JK3rA~F9{uAYBGpwKF#rտiX<\FՁneYw2ddSɠ(*l8сΘ@,C&_D0S /z`'RB7(yH0] R-g f(o$a100r0c1 0 UBE10U GlobalSign nv-sa10U  ObjectSign CA1!0UGlobalSign ObjectSign CA /s0 +p0 +7 100 *H  1  +70 +7 10  +70# *H  1%IիVK ./0  *H &$+-NVm'DUJo8O;~}_3iew>J:,T/G1w"Ӎ'΂q˽ceW8Oh#6 sNh%'qLGl J>m }nZUe}#plk5{5K;*pdLT?a;LGԥ+:뺉Jc;pO6-rʭooSZ +tuI0 *H  100c0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA %0 +0 *H  1  *H 0 *H  1 110724052220Z0# *H  1!YW@דG0 *H   1000}k$}[[A~Il0g0XV0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA %0  *H .b pkt:^xggp"k~QSpߪ=‘]`E+(I8r EA>A=!H2q#~O3¾ =IQeeSi("SDnlޏZgXL\̄qv/ {뜇yP"`^/yٔ0Ȩ4cxRƉ~v0n,ӓ~{;,P>XSNH$Ol4fMZ@ !L!This program cannot be run in DOS mode. $红iiihi?i?ididi?idididiRichiPEd׫+N" CMd<` 8.textI h.rdataT@H.data@.pdata@HINIT .rsrc@B.reloc@BH\$Ht$WHAEȋDHH1hH Jh`3HL$0DB(f{pu$L8hHQhH h_LD$HH.u!L1hHhH g_ THT$0DA"HfD$0(fD$2D$  ,DL$4xEyHgH gDA_L$I[IsI_H\$Hl$Ht$WH IcHHH-gHgDHn_puLgHNgH^m |HgDH^ OHHi|8xu HgH8H;t&HtHgDHo^ H83H\$0Hl$8Ht$@H _H\$Ht$WH A@IH$HtEH EH gLgLEH gHgo^ptEHxt;fK HxE3L/Hu1D@HHLfH fH cg]H\$0Ht$8H _HHXHhHpHx ATH$AALl$(DL$ EDHgH Ug]HL$03ActKt=t/t!L4gH]eH g\ fD$2"fD$2fD$2fD$2HT$0DA"IfD$0f$f$D$ #)DL$4xEyHfH fDY\L$I[IkIs I{(IA\Hl$Ht$WH Hq@HH<-<HHHHH;t!~@H;Ntn<t/<t<w0~Dt{HHHj0H {H`{L[H H9.uH&HHu(~Dt*tuHDK7g03w0Hg83H[GCHBHHHHN=HH.0H~uHg83HG0B HH3Hl$0Ht$8H _H\$ UVWHPHBH3H$@3IH;HL;3AH`HL$@3A`L\$0LL$@AHL\$ A;|DDD$0D;t:At%HLL$@sAIHA;rH3H$@H3\H$HP_^]HSUVWATAUAVHpE3HHII;L`L`u3AL$AADcHǃDk@fA;QHcHL$@HcHL$`HdHL$P߈3AUSB0TI;Hu,H$HdH 0dAXD3AHDŽ$E_$H$L$HT$@L\$(LEʼnD$ lA;|uGAD9$8Dc@KHD9c@H5cL5`3AHDŽ$^$H$L$HT$PL\$(LEʼnD$ A;/%WHL$0HHHL$0A;HLdI;uHI;uAA;u Lb6HI;puHI;xuAA;uLbIHHHL$0zIHA;|LcVD L#cJV3AHDŽ$\$H$L$HT$`L\$(LEʼnD$ A;|u G 8H$H$E3E3Ld$(HD$ ЅA;3AHDŽ$<\D$H$L$HkA;|=HOHðAfD9!t$D$AA;sHAՈIfD9!uD#H2bDH#UH$1H@bDHUH$3H|AHpA^A]A\_^][HHXHhHpWHPH`AAHLHAHTHL$@[D\$BAUSB0AL;L$03ąHHtnDD$03HZL$0L\$0L\$(L$ HL$8HT$@LAx#9{ SHF{ HDTWL$A;3H~HL$8H\$`Hl$hHt$pHP_̉T$HHHd$PLD$PHȥ?rxxH`HL$0THL$PHD$XAHT$0E3DL$(HD$ <H axDD$XH`SLaH[SHL$P L/aHx[H `RHHH\$Hl$Ht$WHHHIHaH "aEA3SHL$03AEYHT$0DA"HfD$2&fD$0D$THl$XD$  DL$4x'Ex"DEHaH `RD\$TDH`H `D R&L$I[IkIs I_H\$Hl$Ht$WATAUAVAWH$PD$@D$8D$0D$8HHDl$0H`H `Dd$(ED|$ A3 RHL$@3AXEAt@t2t$L[HYH `LQ fD$B$fD$B(fD$B AfD$@l$dHt$hD$D$fD$E3E;-E;$E;EfA;D8sPD$PHT$@A"HD$ BDL$DA;ƋDD$dE;s(H_H _qPH$HD0E;HHCPHFHCXFfC`HCPHHCXHFC`fFH$HD AIE3E;@E;7 .D8sPt)CaD;| H_H _EPPHxI;t*D9ctu$BH;OLcRL$HA+.D$PHT$@A"HD$ DL$DA;ƋE;L9xL$duqn;riAUSB0H3I;u$L _HWH N^OLHHHx:RH$HDspDct(tH$HhE3D$PHT$@A"HD$ >DL$DA;Ƌ|E;|H$HD$d!H]H ]DcNL$HE3L$I[0Ik8Is@IA_A^A]A\_HHXHhVWATAUAVHpA!@L@```MAMEAHPLCA<$8 3AUSB0HHu L]3@8|$aD$@Ld$8d$0AHIEA|$(d$ f~ C;ty;tD$a;C3Hˉ$}Hc$3AUSB0i~HHKD$D$@Ld$8d$0AHIΉ|$(d$ x A}HCL]HUH \L3H'}L\HTH \wL3L\$pI[0Ik8IA^A]A\_^H\$Hl$Ht$WHHAHHL$03AARHT$0DA"HfD$2'fD$0D$THl$Xf$D$ DL$4xExDEH\H n\5LHp\H Y\DKL$I[IkIs I_H\$Hl$VWATH0BAH$HtDJ D H TLTLEHY\H r\t$ KpHxfK HxE3LHHu D`Hf[H [ED@KpuLSH SH Y[JHT$PEDH6xEcE3ɉD$PLÉCHx>HDL8SHRH z[1JH\$XHl$`H0A\_^HHXHhHpHx ATH$IAEȋLDH9[H b[t$ EJHL$03AWPtNt@t2t$LSHRH [I fD$2!fD$2fD$2fD$2HT$0DA"IfD$0D$THl$Xf$D$ DL$4xExH$L$T "HZH ZDHL$A#L$I[IkIs I{(IA\LI[ISUVWATAUAVAWHpHHrLzH3HD$`AKxDhLc`IK HE3A;}H$G0LG8 -) " +A ;vI;:AE=+D;X ";$ ";(- "J++++++td; AwL(\HO DNEED$@H$HVHD$8F H͉D$0FD$(FD$ , I;t-Ar'DFVD$(H$LHHD$ Lp[sDNDF VH͉D$ r렋DNDF VH͉D$ -I;t~Arx>^H>WH WWDDGE3D9mpu$LNHNH .WuF DDHHA;ŋ DŽ$ L{ZDDFVH8.DVH&I;tDE;t?DNEĉD$@H$HHD$8F H͉D$0FD$(FD$ LZ/0 "9++++t|+te+t#  HT$`DFHHR0<Ar,FFV DFFDŽ$ LVZF;O‰t AH#DVHDVH$E;tI;u LY5D$PH$HD$HD$@Dd$8Ht$0FDN DFVD$(FH͉D$ #A2HNAUD$PH$AHD$HDD$@IDȉT$8HL$0HT$`DFHHR0! $";-\ "j-++A+tQt};,I;tgAra~ D;s$L:ZHLH UC#Ft FtإܥALYI;t@Av:~ AE;s LRYFuFFtإ벉ܥLX[I;tPArJ$"u'D9EpD$yEpDŽ$dDL$HHpLVI;t%DNHMH$EHHD$ :LXAr]H}^I;I;E;M3HHH$E3LEċHHD$ D$8rLdWwArRD9FPH3HHH#A;AỎ$AHLc EHc$E3Dl2 L`WDF$$"+.+++tdt<;Ar"DHVHE3A;LXqArDHVHF+L-XNArHT$`LFHHR0LW%ArHT$`LFHHR0puLxWM;F fD$XFfD$PFfD$HFD$@FD$8إD$0H$HD$(D$ NM;F fD$XFfD$PFfD$HFD$@FD$8ܥD$0H$HD$(DD$ H$EMHH:PLSHDHH Q?H$E3Lo8 (I;tWM;tRArL^L$H͋E3A;u"L SDHQH Qa?H$LRM;tAI;t3AwA;t!LQHPH FPẺ\$ V>N A;uOG$,҃ uf%HLХ5HL$PfAUHD9LD$HHȥ?L|$HreA;|oHBHL$pSeHL$HADL$(HT$pE3Ll$ @eHA;|EEHO5LCH='5HL$H(eL7CH=H5HA;}4LOH]=H4HL$PeAHL$@$eHL$@HYeI;LHCuTL$HNOH4HL$PdHL$@dC uHK(E33dD9{@t9HCHCAC0HL$@% A0HCHHHD$@HHHCH4HD$@H4HCHD$@H0 HxI;t3dLxDStD{pHD$@p0C uHK(E33dHNDH$4sH8Hd$(AHNH NEAD$ 3H8H\$Hl$Ht$ WH$AAHH~;OظHL$`NE33{cHVHD$PHD$@Hd$8D$0d$(Hd$ E3E3cHHu HH HH`HhHHHHL$`@HHHNKc=u[iHL$`E3HcE33H$H$HD$ b=u#LMH:H M62HbHd$ HL$`E3E33b_03HbL$I[Ik Is(I_H(I3E36bH(H\$Hl$Ht$WH MIHHt3HA8HZH4CHH`Hp@ BCHHHMHH\$0Hl$8Ht$@H _H%aH\$Ht$H|$3I؋HLIDLA9AtLI91t(IH(I |IAII }(HcMcHMiJ LѐL;LH\$Ht$H|$H\$Ht$H|$3I؋HLIDLA9AtLI91t(IH(I |IAII }(HcMcHMiJ LшL;LH\$Ht$H|$HHXHhHpHx ATAUAVH0HHHu3EZ sH8H "KD&0HL۹ HiMiD0xI3`H H(HuE3E3D9gHoI3I Du]DEHJH JEΉ\$ /EL]L^ED6FEFEFEFtHÙA+A;};~ ٙA+;]t&DFHJH *JD. ۸D؉^ AIHH(D;o6H\$PHl$XHt$`H|$hH0A^A]A\H(A y$tA uH(E33^V3H(H\$Hl$Ht$ WHHnH3H$IHHDBHL$ y4HC;GDD;{u|3HcfL Cftf;t  |HcfD"Hcfd"fD f tGtG ;C9u#O ft'Gt Hcf;L"C9GtIA+H]HfO HcT"fW KKO3H$H3/L$I[IkIs(I_H\$Hl$ VWATHPHpmH3H$@HHH7E3A;ċ}3HωG0Lg8\MA;N C@LHHH IHDcDEA AN,D9t>H-Hȥ3\L9ХDtHȥ\LХHxI;t3:\LxDDcpstOHHHI;ta0 sh0 LD9c@uCHHM 3A%1ALaDcDC uHK(E33[GCHHHKH[3C@LHFH "GEA AN^+D9t?D9cDt9HHȥ3y[A;}LFH3H F*DcDC$C uHK(E33ZC uHK(E33ZHK(E3E33Ld$ ZGCHHHKHZDCLLHFH ?F*D[LL mBLVBHL$@D\$ !ZHT$@HL$0YHL$0YD9tL9Хt HȥZHxI;t3#ZHKLxDDcpstD$DA;|(A;|#HD$`HKx3ADspHCh%Hd?H ?DE3D$ JNA;}3+ƒH 'L?L%i?A;H?DLLỈt$ xLL$0L$(HI;Hu L?H?&I @9Cpu@HxI;t H;t3+N$(HxFCpD$0CtF3AUSB0HcHNI;Lu L)?H%I6FF3IσLcI#E3@8~D$8L|$8A DF$(HHA;r)t,;w%u D8wuD8otH+H3Hu4AA |H>EI3Hο ME3AHtDGH>IHL$8D$8H9FAHD;D$8HL$8*IHKE3I;LD8vEv>IWL EE9q~IcAH @AD(L E;Q|FAHD;|D$0A"IHD$ EA;ƋE9uIM 3AHKhHKx"D8vEv!IoHUHfFAHD;|HxI;t H;t3K$(HxFCpD$0Ct1AEH<DDỈD$ A;|A}3HoKM;t 3I_KM;t 3IOKH$ HA_A^A]A\_^]H\$Hl$Ht$WATAUAVAWH$PD$@D$8$0l$8LLDd$0H))H <Dl$(A\$ AHL$@3A t@t2t$LG$Hp"H Y< fD$B%fD$B)fD$B HT$@DA"IfD$@t$dLt$h@$D$fD$D$ *DL$DxExH$HL$d H;H ;DPL$I[0Ik8Is@IA_A^A]A\_HHXHhHpHx ATH$AALl$(DL$ EDH;H ;THL$03AftKt=t/t!L"H!H ; fD$2#fD$2fD$2fD$2 HT$0DA"IfD$0f$f$D$ DL$4xEyH$;H ;DL$I[IkIs I{(IA\HHXHhHpHx ATAUAWH0EDHAEȋDHL=#;H:I ~pHxHCH;r't*;w#{u @8ku@8{t +HH3Hu$H:DDIDd$ -@CAUSB0 @,P3LcIeHHHu L:H_IM3HpfGf/HFhfG 03HGCG0KfffffO CG"CG#8SvHOHCH;|EA"HHD$ x!|HW HA3HFCDOH9DI3HFLHdIH\$PHl$XHt$`H|$hH0A_A]A\H\$Ht$WH@DJHAAHtDS DSAtK  LLIt$0DT$(IEEDH 9Hm9MEHD$ HxE3LHuD@PDHH\$PHt$XH@_HHXHhHp D@WATAUAVAWH@EHHٽ-ZVH$H hGy L`LD$EuDgD$A H 9Du!d$8Dt$0Dd$(T$ H8Dt$(T$ H83AUSB0xEHLuC uHK(E33ZDYH$D$Dt$8HD$0EIHDd$(H|$ y83I@DC uHK(E33CHf83HΉ~0DgD$AmHAIEA"HAHH WHHLh@$MEHHˉD$ HKHCL\$@I[0Ik8IsHIA_A^A]A\_H\$Hl$Ht$WH0Hi@3I8ZAHt HHDJ0D;|8I9X|0fx uX$fx uX$E@Hx7H 7DCA uE@H7H |7c!IE@H7HL$ H Y7@H3B3HBLcL^8E uHM(E33qBH\$@Hl$HHt$P3H0_HHXHhHpDH WATAUAVAWH HD$pD$l$x3A EH:LxHڋul; DH.7H G7 Ař;Nj DH27=~LB7HH 7K뻍@D$AIcAUSB03BH;Hu!L !HH 6}Mc3HLL$hfE#H fHHLxHDp HDh$H H$HA0u3HHcH;׉~"HH 8HH8u3H\$PHl$XHt$`H A_A^A]A\_DL$ DD$HL$SUVWATAUAVAWHAL=Q$ L$uAjD$EuEz$A AB$L%y M`MĀA IB$@H$u\Ai;;;O3D|$@D3L55Hx5D$8\$0t$(L$ DMIΉ$@B;L55O3DύD3MH5D$8\$0t$(L$ IΉ$@IExL`xH@HH$H@@L$ H$8H,HH HL$puHj5DMI$@AUSB03HD$`HH?HHD$huHP5MDInD$@3HI$@d$PHD$hHD$xP3AUSB0?HHD$Xo3HDBPHT$XIExHHLZIIKL$ LXHD$xH$L*BHB(3>HHH$f$ HD$XHH0uBD;A$ @3$$8HAUSB0H3H$>HH$jL$3HL$D$8$HL$pHd$ fEfACHD$XE3E3LX8>HH$8HL$XLD$pDHA@IMH=H$H$D$HA$A H$8DL\$p+A HA0Y$$E3D8$t3tbHLȃ"A;DBvEA+D3H Iu3t/HLA;DBv ED:A+D3H IuA H$HHH@@"HH HHHL$X@HHuAi;; ;;O݋D$P$@$HD$x;D$P,A}DIHH!IEhtLH|$h$0H$HD$(ILC8H͉t$ HS0HM;HHl$`uHL$h3r;Hq2LH52DMIλ H1$H1 L|$hMtv$@va$@IHuHt?HN0Htm;HN8Ht3:HN@Ht=;3H:HD$`HHHD$`u3I:Ie83IA]0:H1DMIΉ\$ H$@ uHH(E33(:HĨA_A^A]A\_^][H\$UVWATAUAVAWH@IIx8J0HL{xMH@(EGMW@2E3HD$0D$L$xD9w|f w$t8HG0Dp(.3 t$GEH1D$(L$ H 51M H$':f AHKHDo AD$HH9C8suA tLIE3E3D$( d$ 9LMu,$L$H0H 0DM3g4HC8AT$HDI I @A;ABL$$HC8ID$IL$HHAM9?u @23HChE2@t 3HChH@Ŋ$ 9@t 3HAD$(u.IL$08IL$83E8IL$@83I/8EtTHC8H0H /DMHD$ c03H7L\$0IK@A uH(E337H$H@A_A^A]A\_^]Hʲ@SH0LQxHD$ LD$ M LHD$(M;LD$ t0AA HD$(IILD$ LHAHHL$(M M;uLD$ thAKE7WIHL$ IXHD$ HHHK0yDu6C(u+HK07HK836HK@[73H6LD$ HD$ L;uH0[H\$Hl$Ht$WHpA` fAx A@ AIHHAuA@ Ar AH HL$`fD$JfD$H HL$HE3HHHL$03@"@ 6LHHICHD$0ACICHM.6Hd$ HL$0E3E335L$`y$ȉ AuA@ L\$pI[IkIs I_H\$Hl$Ht$WHH$(HIeHL$P3AAv $P$XD$HD$@D$8Hd$xA$f$D$$EfD$H$$L-fD$H=r-$$ fD$P $ fD$RD$pAЉD$@L$8T$0DL$(D$0L,H,HMDÉ\$tDT$ PD$0d$ HT$PA"HTDL$TxExDD$tH,HDEH# DHtL$I[IkIs I_HHXHhHp HHWATAUAVAWHH$HAڃeHL$03AE AA+A;tL@-HY H b, H=F HO,L,HH9HA+tcA+tCA;t#H,DfD$2@$ Lw,HfD$2 L<,HfD$2L,HfD$2L+HfD$2H={ H+Lm+HHnHHtdA+tJA+t0A;tL  L+3fD$2=L+fD$2(LR+ fD$2L+fD$2H+EHD$ H+EHD$(H+EHD$8H+EH$@H׃HL+tL+hD$PH-HQD$PH$Hd$`d$ ƃHT$0A"D$PH$0fD$0Dt$TD$fD$HD$XfD$DL$4x$ExDD$TuDEH)HHDH)L$I[8Ik@IsHIA_A^A]A\_LISMCMK H8ICLLH*ICH8LISMCMK H8ICLLHp*ICNH8LISMCMK H8ICLLH0*ICH8H\$UVWATAUAVAWH`H?H3H$PL$DM;O9-@} 3HcL%?!|$@M$;OAIs)HL$PMMź/t$@MtOH9=?H5?t:Ht:;t0HH.H;uH>H3HHHHH>uHuH()Mt>H3IHHt*L (L)HL$PH\$(Ld$ ?/#L (L(HL$PH\$ /x,M+MHcHcHLP.~y t$@HcDPH@?Ht(HL$P|$0HS(HL$(LMAωt$ Ѕu9- ?|HT$PH H$PH32H$H`A_A^A]A\_^]fffffffH; =uHfuH H8L =L=Hd$ Hѹ.fffffffLH+Irbt7t  IȈHtf IfHt  IHMIuPMItH HHIuIMuIff HIuIffffffffffffffffIsBH LT H HALQHD LT IHALQuIrfffffffffHr  D @HuH@L LT L LQLL LT LILQLL LT (H@LILQLL LT LILQuIIq $ffffffffffffffftoIIrat6t HɊ IȈtHf Ift H IMIuPMItHH IHuIMuIffHɊ IȈuIffffffffffffffffIsBHD LT H HALQHD L IHALuIsffffffffffHw H D @uH@LL LT LILQLL LT LILQLL LT H@LILQLL L LILuIIq $%*fffffffHIrSIII@rHكtL+HHMI?Iu9MIItfffHHIuMt HIuffffffffIs0HHQHQH@HQHQIHQHQHQuffffHHQHQH@HQHQIHQHQHQu $T@SH EHLAALtA@McPLHcL#IcJHCHHKAt AHLL3IH [H(MA8HIH(endpoint: 0x%02x timeout: %d abort_endpointinvalid configuration 0 %sgetting endpoint pipe failed request failed: status: 0x%x, urb-status: 0x%x interface %d claim_interfacedevice is not configured interface number %d too high interface %d does not exist could not claim interface %d, interface is already claimed indexnumberinterface-%s=%d claim_interface_exrecipient: %02d index: %04d feature: %04d timeout: %d clear_featureinvalid recipient clearing feature failed: status: 0x%x, urb-status: 0x%x SurpriseRemovalOKInitialConfigValueDeviceInterfaceGUIDsExAllocatePool failed allocating %d bytes reg_get_propertieslibusbK default device DeviceInterfaceGUID found. skippng.. libusb0 filter DeviceInterfaceGUID found. skippng.. libusb0 device DeviceInterfaceGUID found. skippng.. found user specified device interface guid. invalid user specified device interface guid.using default device interface guid. failed using default device interface guid. ObQueryNameString failed. status=%Xh ObReferenceObjectByHandle failed. status=%Xh LUsb0updated interface registry with LUsb0 direct-access symbolic link. id=%d set_filter_interface_keyIoOpenDeviceInterfaceRegistryKey:ZwSetValueKey failed IoOpenDeviceInterfaceRegistryKey failed timeout: %d get_configurationgetting configuration failed: status: 0x%x, urb-status: 0x%x current configuration is: %d buffer size: %d type: %04d recipient: %04d index: %04d language id: %04d timeout: %d get_descriptorInvalid device decriptor length %d getting descriptor failed: status: 0x%x, urb-status: 0x%x config descriptor index %d out of range. memory allocation error getting device descriptor failed get_config_descriptorgetting configuration descriptor failed interface: %d timeout: %d get_interfacegetting interface failed: status: 0x%x, urb-status: 0x%x current altsetting is %d interface-%s=%d timeout=%d get_interface_exrecipient: %02d index: %04d timeout: %d get_statusgetting status failed: status: 0x%x, urb-status: 0x%x INTERRUPT_OR_BULK_READ%s: invalid transfer request dispatch_ioctl%s: failed getting pipe info for endpoint: %02Xh %s: wMaxPacketSize=0 for endpoint %02Xh. %s: buffer length %d is not an interval wMaxPacketSize for endpoint %02Xh. %s: not compatible with endpoint %02Xh. urbFunction =%Xh usbdDirection =%Xh pipeFunction =%Xh pipeDirection =%Xh INTERRUPT_OR_BULK_WRITEISOCHRONOUS_READ%s: incorrect pipe type: %02Xh ISOCHRONOUS_WRITEinvalid input or output buffer get_configuration: invalid output buffer get_interface: invalid output buffer get_status: invalid output buffer set_descriptor: invalid input buffer get_descriptor: invalid output buffer vendor_read: invalid output buffer get_version: invalid output buffer get_device_property: invalid output buffer get_custom_reg_property: invalid buffer get_object_name: invalid output buffer set_pipe_policy: invalid output buffer set_pipe_policy:pipe_transfer_timeout: invalid input buffer get_pipe_policy: invalid output buffer get_pipe_policy:pipe_transfer_timeout: invalid output buffer claim_interfaceK: invalid output buffer release_interfaceK: invalid output buffer set_interfaceK: invalid output buffer get_interfaceK: invalid output buffer [loading-driver] v%d.%d.%d.%d DriverEntryunable to read registry add_deviceusb\hubvid_pid_class_09\Device\libusb0%s%04d\DosDevices\libusb0-device #%d created for %s creating device failed creating symbolic link failed getting device properties failed [FILTER-MODE-MISMATCH] device is reporting itself as filter when there are no attached device(s). %s [FILTER-MODE-MISMATCH] device is reporting itself as normal when there are already attached device(s). %s creating device interface failed updated interface registry with LUsb0 direct-access symbolic link. id=%04d remove_lock_acquire failed attaching %s to device stack failed complete status=%08X [unloading-driver] v%d.%d.%d.%d unloadrequest timed out call_usbd_exupdate_pipe_infoEP%02Xh maximum-packet-size=%d maximum-transfer-size=%d overriding EP%02Xh maximum-transfer-size=%d IRP_MN_REMOVE_DEVICE: is-filter=%c %s dispatch_pnpIRP_MN_REMOVE_DEVICE: disabling device interface failed deleting device #%d %s IRP_MN_SURPRISE_REMOVAL: is-filter=%c %s IRP_MN_START_DEVICE: is-filter=%c %s IRP_MN_START_DEVICE: enabling device interface failed failed applying active configuration for %s on_start_completefailed applying InitialConfigValue %d for %s IRP_MN_SET_POWER: S%d %s dispatch_powerIRP_MN_SET_POWER: D%d %s S%d %s on_power_state_completeD%d %s failed S%d on_filter_power_state_completeD%d setting device power state to D%d %s power_set_device_staterelease_interfaceinvalid interface %02d could not release interface %d, interface is not claimed could not release interface %d, interface is not bound to this file object release_interface_exreleasing all interfaces bound to file object 0x%x release_all_interfacesresetting device reset_device_exIOCTL_INTERNAL_USB_RESET_PORT failed: status: 0x%x IOCTL_INTERNAL_USB_CYCLE_PORT failed: status: 0x%x reset_endpointsetting configuration %d failed: status: 0x%x, urb-status: 0x%x set_configurationvaluesetting configuration %s %d timeout=%dgetting configuration descriptor failedmemory allocation failed unable to find interface descriptor at index %d found interface %d set_descriptorsetting descriptor failed: status: 0x%x, urb-status: 0x%x recipient: %02d index: %04d feature %04d timeout: %d set_featuresetting feature failed: status: 0x%x, urb-status: 0x%x interface-number=%d alt-number=%d timeout=%d set_interfaceinterface-number=%d alt-number=%d does not exists. memory_allocation error setting interface failed: status: 0x%x, urb-status: 0x%x interface-%s=%d alt-%s=%d timeout=%d set_interface_ex[%s #%d] EP%02Xh packet-size=%d length=%d reset-status=%08Xh transfer[%s #%d] EP%02Xh length %d sequence %d: %d bytes transmitted transfer_completesequence %d: timeout error sequence %d: transfer failed: status: 0x%x, urb-status: 0x%x invalid packet size=%d create_urbinvalid number of packets=%d transfer size too large [%s #%d] EP%02Xh total-size=%d stage-size=%d IRPs=%d packet-size=%d large_transfer[%s #%d] EP%02Xh total-size=%d stage-size=%d IRPs=%d [%s #%d] MmGetMdlVirtualAddress failed [%s #%d] failed allocating sub request context array [%s #%d] failed allocating sub request context [%s #%d] failed allocating subIrp [%s #%d] failed allocating subUrb [%s #%d] failed allocating subMdl [%s #%d] ntStatus=%Xh [%s #%d] failed. status=%Xh urb-status=%Xh large_transfer_complete[%s #%d] failed translating a virtual address range [%s #%d] done. total transferred=%d readwrite[%s] timeout=%d request_type=%02Xh request=%02Xh value=%04Xh index=%04Xh length=%04Xh control_transfer%d bytes transmitted type: class vendor_class_requestrecipient: device recipient: interface recipient: endpoint recipient: other type: vendor recipient: reserved (0x%02x) invalid type request: 0x%02x value: 0x%04x index: 0x%04x size: %d direction: in direction: out libusb0-sysnone%s:%s [%s] %s:[%s] x| 2Jdz:H^h0BZn $4@NZvP׫+NY{20343A29-6DA1-4DB8-8A3C-16E774057BF5}{F9F3FF14-AE21-48A0-8A25-8011A7A931D9}!H%1):4 mM<t{ubilbsw-in32-WDF\driver\wudfrd\driver\winusb\driver\libusb0\driver\picoppint-writebulk-writeiso-writectrl-writeint-readbulk-readiso-readctrl-readusb_usb_registry_unknowndbgwrnerroffRSDSbHO%Pz:\projects\libusb-win32-stage\ddk_make\output\amd64\libusb0.pdb) 4UL p`PTX>t>8|>>@??t?A@tH@AXAB8 BnC8tCGGMHLTHH8HIL IvJ@|JK(K;L\LM $MN@ NNNOOPhQUܦUWWKXhTXxZLZI[̦P[B]0H]F^L^__ffi0ijؤ j%k,kll6p̥RtlInitUnicodeStringIoOpenDeviceInterfaceRegistryKeyZwSetValueKeyHObQueryNameStringpZwQueryValueKey&RtlGUIDFromString%ZwCloseJObReferenceObjectByHandleRObfDereferenceObjectIoOpenDeviceRegistryKey~IoGetDeviceProperty<IoBuildDeviceIoControlRequestaIoDeleteSymbolicLink_snwprintfIoRegisterDeviceInterfacestrstr_IoDeleteDeviceyKeSetEvent.KeInitializeEventRtlUnicodeStringToAnsiStringAIoCancelIrpIofCompleteRequestKeWaitForSingleObject!RtlFreeAnsiStringuIoGetAttachedDeviceReference9IoAttachDeviceToDeviceStackUIoCreateSymbolicLinkLIoCreateDeviceIofCallDriverIoSetDeviceInterfaceStatebIoDetachDeviceaPoSetPowerState%RtlFreeUnicodeString^PoRequestPowerIrpdPoStartNextPowerIrpXPoCallDriver=IoBuildPartialMdlrIoFreeMdlMmMapLockedPagesSpecifyCacheqIoFreeIrp2IoAllocateIrpIoReleaseCancelSpinLock*IoAcquireCancelSpinLock3IoAllocateMdl_snprintf_vsnprintf1DbgPrintKeBugCheckExntoskrnl.exeUSBD_CreateConfigurationRequestExUSBD.SYS0 H`PP4VS_VERSION_INFO?StringFileInfo040904b0h$CompanyNamehttp://libusb-win32.sourceforge.netbFileDescriptionLibUSB-Win32 - Kernel Driver0FileVersion1.2.5.08 InternalNamelibusb0.sysn%LegalCopyright2002-2009 S. Meyer; 2010 T. Robinson@ OriginalFilenamelibusb0.sysZProductNameLibUSB-Win32 - Kernel Driver4ProductVersion1.2.5.0DVarFileInfo$Translation 8 (08@HX`hpxСء` 0 O *H  @0 <1 0 +0h +7Z0X03 +70% <<<Obsolete>>>0!0 +$̓#}t)A8sȦ0 0 #0  *H 0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0 990128130000Z 170127120000Z01 0 UBE10U GlobalSign nv-sa1%0#U Primary Object Publishing CA100.U'GlobalSign Primary Object Publishing CA0"0  *H 0 u* q$ߡb)ܞusVWiVOȼX&r `UWɡt@lS7y>R8,3RpJ]bg^JʼݍGe[Kk͎.P補&k6cApD_%uyP}_F UGӑFh'AQzDhqXoB fuFD0cDpVoX*'.qRmF+HdRtE xs r^s00U0U00UQy| Y:x-M03U,0*0(&$"http://crl.globalsign.net/Root.crl0U% 0 +0U#0`{fE ʉP/}4K0  *H x|}jq)0`bCns v[}NI/@oT*= ܙ zw/@ČNr|d+lך|FMB;ۜ?2aW6fDo7NV%mbby\BӜ#dE-~[NÊ)xA4N,\%%1Mr)KH7oNJE~/1Rg4_'jfRZǬ0, 8+:E{ sV*Ql/00  f0  *H 0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0 090318110000Z 280128120000Z0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA0"0  *H 0   Mh36<S{Fbw7~O"PƗ=yT}LĈ,ơ_:d+> zVτ΍5:4l-w0g: D:CrAFud%lGGގc}Udros?99\IcC"֫t0OZm:34;bz-MK0 y}ӗjZM _Pl`R.tޗE!{Udtk_llC$7IHvIP!ʅs <].^M2eVű?'I0;ŧp[Z]a4XQ2Te+l gcZ$t# fdIU^ZV*-5761z;…00U#02357ev.E,0<U50301/-+http://crl.globalsign.net/Timestamping1.crl0Uds֕yȏϥ`)0 U00U0U% 0 +0KU D0B0@ +20301+%http://www.globalsign.net/repository/0  *H 6U\yzmVU+Ȼ`{Gm@>Վ/RhrJ`+02http://secure.globalsign.net/cacert/ObjectSign.crt09U2000.,*(http://crl.globalsign.net/ObjectSign.crl0 U00U0U% 0 +0KU D0B0@ +220301+%http://www.globalsign.net/repository/0 `HB0  *H Q$yPx}1E윕[=f4°a?[oJ#XBNGDQ/UXH,%Citʐq$ӹzW{Y;h͇l +T`.\ z /~v's)FnFWS] q 1h>-g)0:OxYzxZH BגE|fxk?-4bǵ=Fn=~p,!zzKs[D3;00 #$0  *H 01 0 UBE10U GlobalSign nv-sa1%0#U Primary Object Publishing CA100.U'GlobalSign Primary Object Publishing CA0 040122100000Z 170127100000Z0c1 0 UBE10U GlobalSign nv-sa10U  ObjectSign CA1!0UGlobalSign ObjectSign CA0"0  *H 0 pÌ &ogYL±ESuA6op(|mr%e: {^78KX IX&Ymƹ%bN l]pӛ) X|Չ5W˛俔_wty@!c8sڥEM*<(u|`%N-ֵ4<8:=ıg0c0U0U00U[K&K]V.8NS0JU C0A0? +220200+$http://www.globalsign.net/repository09U2000.,*(http://crl.globalsign.net/primobject.crl0N+B0@0>+02http://secure.globalsign.net/cacert/PrimObject.crt0 `HB0U% 0 +0U#0Qy| Y:x-M0  *H jm"pe.]30lxKōzjX9k (]v|o6C1Y8أ;gXa>;[ADk&^ee?w륆*X)V@W,ca7f%9 .6%|~ӣvu0vA5!h^\`@]Tnng+۷Mf!>GBa,&=ɧxnt,Fr 500g a k0  *H 01 0 UUS10U Washington10URedmond10U Microsoft Corporation1)0'U Microsoft Code Verification Root0 060523170051Z 160523171051Z0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0"0  *H 0 晍ΣO~%kH*cgfH+)e-˫Lp= 0OԌPP.R}m50^CsAj㲉:V98o:-7o캬j<ߋ%笼bE1ݤ rxC̺9]Z^FQ3զXgfXʭ!ښn t(_M]%i%TDÛ)3<S*'3.|XmN_󚝌Q:Z\/5T5R34:j :e3N&I끒M2K#3qk漷lA:q3Pt;]>L&86 cyԮ/a6JK3rA~F9{uAYBGpwKF#rտiX<\FՁneYw2ddSɠ(*l8сΘ@,C&_D0S /z`'RB7(yH0] R-g f(o$a100r0c1 0 UBE10U GlobalSign nv-sa10U  ObjectSign CA1!0UGlobalSign ObjectSign CA /s0 +p0 +7 100 *H  1  +70 +7 10  +70# *H  1=#@Vv_ZvI0  *H Uft]>gw#;WK>h|^Oނ-ۢߤVW8avR>"s8|ݿQQpڰ˕)ah(Z )g}i|W,6anGmÜK<0,x}Z5 ze7~i,%-ݚDJTegyo'`{!u?*Y|eP ЄՄY8,]X.~Q`R0s f0KkU@0]0 *H  100c0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA %0 +0 *H  1  *H 0 *H  1 110724052218Z0# *H  13N@ DS!푮T0 *H   1000}k$}[[A~Il0g0XV0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA %0  *H #O¸kmj8dB6Ưg}F5;FI+vqM !"`<h7i9̷׌ʾ77podiArm/-d a U,BxSg Հy:ka祁~E |>P&߳H#~d9$68>pCVrQMU;TW1]85Zӝ"gz?1!Tq ̽g~ـ.J>MZ@ !L!This program cannot be run in DOS mode. $<ИoИoИo/oјo9oo>oo)oҘooۘoИoooјo3oԘo^oјo.oјo+oјoRichИoPEdN"  .NV@ xlp8.text `.data@.pdatal@@.rsrc@@.reloc0@Bȍ,<L^ 2BRdtЏv\F0 ԓΎzʑ2Rj̒PB^nl~tVL@, ҐxbXLB8,$},Nb* EEE00P('8PW700PP (```hhhxppwpp-w-w=--wait=-p-p=--prompt=-f=--inf=-di=--device-id=-d=--device=-c=--class=-dc--device-classes-ad--all-devices-ac--all-classesh-?/?-hhelp--helpu-uuninstalli-iinstalll-llistPress any key to exit..This will add libusb-win32 as a driver for all usb devices on the PC. This function is for development purposes only. Improper use of the libusb-win32 filter driver can cause devices to malfunction and in some cases complete system failure.libusb-win32-installer-{1298B356-F6E3-4455-9FEC-3932714AF49B}libusb0libusb-win32 - Kernel Driver, Version %d.%d.%d.%dcreating %s service.. usb_install_servicesystem32\drivers\libusb0.sysfailed creating service %s libusbdManufacturer%s.%s.inf file does not contain a valid model-section-name %susb_install_find_model_section.inf file does not contain a valid Manufacturer section This is a 64bit operating system and requires the 64bit libusb-win32 installer application. usb_install_inf_npnewdev.dllloading newdev.dll failed UpdateDriverForPlugAndPlayDevicesADiUninstallDeviceDiRollbackDriversetupapi.dllloading setupapi.dll failed SetupCopyOEMInfA.inf file %s not found unable to open .inf file %s usb\invalid hardware id %s removinginstalling%s device %s.. USBfailed RollBackDriver for device %s failed UninstallDevice for device %s failed RemoveDevice for device %s advapi32.dllloading DLL advapi32.dll failed usb_service_load_dllOpenSCManagerAOpenServiceAChangeServiceConfigACloseServiceHandleCreateServiceADeleteServiceStartServiceAQueryServiceStatusControlServiceloading exported functions of advapi32.dll failedServicesActiveopening service control manager failed: %susb_service_createchanging config of service '%s' failed: %screating service '%s' failed: %sstopping %s service.. usb_service_stopgetting status of service '%s' failed: %sstopping service '%s' failed: %sdeleting %s service.. usb_service_deletedeleting service '%s' failed: %s getting device info set failed shell32CommandLineToArgvWfailed CommandLineToArgvW:%Xusb_install_parse_filter_contextmultiple commands not allowed: %ls invalid argument %ls failed adding device upper filter key %ls {%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}failed adding class name at argument %ls failed adding class guid at argument %ls failed adding inf %ls failed wcstombs %ls memory allocation failure usb_install_npWlibusb-win32 installer requires administrative privileges. usb_install_consolecommand not specified. Use %ls, %ls, or %ls. libusb-win32 installer (v%u.%u.%u.%u) -ac and -dc switches are incompatible with -c= switch uninstalling inf %s.. invalid switch for install operation (%ls) installing inf %s.. unknown filter_mode command memory allocation failure%s usb_install_report%s (%s) class upper filters:%s class lower filters:%s %s - %s (%s) %s device upper filters:%s device lower filters:%s kernel32.dllloading kernel32.dll failed usb_install_iswow64IsWow64Process{50dd5230-ba8a-11d1-bf5d-0000f805f530}{4d36e96d-e325-11ce-bfc1-08002be10318}{4d36e96c-e325-11ce-bfc1-08002be10318}{6bdd1fc6-810f-11d0-bec7-08002be2092f}{4d36e972-e325-11ce-bfc1-08002be10318}{745a17a0-74d3-11d0-b6fe-00a0c90f57da}{36fc9e60-c465-11cf-8056-444553540000}libusb0.sysLowerFiltersUpperFilterssetting property '%s' failedusb_registry_set_propertydeleting property '%s' failedreading registry key failed inserting class filter %s.. usb_registry_insert_class_filterunable to set registry value removing class filter %s.. usb_registry_remove_class_filterfailed removing class filter %s.. usb_registry_remove_device_filterremoving device upper filter %s.. restarting device %s.. removing device lower filter %s.. vid_vid_%04xpid_pid_%04xmi_mi_%02xrev_rev_%04ufailed getting device id usb_registry_match_filter_deviceremoved %s from device registry.. usb_registry_remove_device_regvalueSurpriseRemovalOKusb_registry_insert_device_filterupperlowerinserting device %s filter %s.. usb_registry_insert_device_filtersunable to get SPDRP_DEVICEDESC unable to get SPDRP_MFG failed adding upper device filter for %s failed adding lower device filter for %s setting class install parameters failed usb_registry_set_device_statecalling class installer failed usb_registry_stop_libusb_devicesstopping devices.. usb_registry_start_libusb_devicesstarting devices.. failed usb_registry_get_hardware_idusb_registry_restart_all_devicesrestarting devices.. root_hubrestarting root hub #%d.. unable to get device instance id usb_registry_get_filter_device_keysunable to get SPDRP_HARDWAREID SYSTEM\CurrentControlSet\Control\Class\%s%susb_registry_get_usb_class_keysSYSTEM\CurrentControlSet\Services\Class\Classusb_usb_registry_unknowndbgwrnerroffinstall-filter%s: RSDS?O81[d:\src\libusb-win32\trunk\libusb\ddk_make\output\amd64\install-filter.pdbH(F33DJLH(Z@SH`HuH3H$PH8k=HL$@3AYHd$0LHL$@AD$(D$ KLHH -OLHT$@H vAD$  uLXHH iN&8HK2H'{(t =c(3H$PH3SH`[H\$Hl$ VWATHHtH3H$H3LDB@HL$0XHt$0Hd$ LD$pAH=؅tHL$pHHrHt$0vqHT$pHH+֊ HuHT$pLE3Iy؅u@H|$0HLMt/HHL$pLHT$pLE3I9؅t3HtHD$0HHHD0H8uuLHH LH$H3RL$I[0Ik8IA\_^H\$UVWATAUAVAWHH2sH3H$LcHD$HE3y t"LH?H OLPH ^HHu LHH5HH$HtH&HH.HH$H .HD$PHu L'\H;HLHD$XHtL$E3ɺHDŽ$ auLH E3H$3EAHH$HuLHLL$hHE3H/tHT$hHL HH J3uH IHd$ AL$HL$hAA3TH$AD|$L@HaH$A-H &IHWL`EL$H^LEJd$DHu_\$H3;t1HD$8HD$0D$(DGH$E33HD$ A#ˉL$HHD$DL$H$A3HD$ HAE33HHL$3HE3H$L|$PHd$0E3H$H$EAHD$(HD$ $H$}HH$HHuHHHH8uICIEMtHL$PEHHL$dH:H !HL$PEHHL$PLL$PLD$0HӹD$ I|$u-L$dHH sB!LD$0Hӹ@ELD$0HAطH˅AH$H3<&L$I[(Ik0Is8IA_A]A\H\$Hl$Ht$WH HHnH3H;tHcLHϸ HWHHsH;tHJLHH>HYH;tLCH)HpKHH*H;tLC H HAK ;t >tH\$0Hl$8Ht$@H _@SVWHpHEH3H$`ILD$@I u7LHH 3H$`H3$Hp_^[HL$@HT$ HL$@ztHtH3HHHHt HrH H$PH+ъ HuH$PHT$0H$P t2D$09D$ u(D$49D$$uD$8t9D$(uD$HD$8HT$`LAIHD$ uL HH  t;HD$8HT$`LE3IHD$ YuL H H lAHALD$8H˅3ڰH$H3UL$I[Ik Mc(IA]LI[WH@3IHICICL$(D$0!D$0DHMCHHD$ D$$D$,uLuHH 3#LH׹]u L˸H\$PH@_H\$ UVWHPHR?H3H$@A IHHH e=H=LL$0HBLHֹD$ DtHL$0AH%Ht LL$0LHֹD$ tHL$0AHHt H$@H3H$HP_^]H\$ UVWHPH^>H3H$@IHHH uH-=LL$0LHB&HӹD$ QtHL$0HuH$@H3H$HP_^]H\$ UVWH`H=H3H$PIHHDH ųH==LL$@LHB#HֹD$ t6HL$@H tLD$0HHt |$0t;H$PH33H$H`_^]H\$WHPH<H3HD$H3HVE3DO3D$( 'HH HHuLa[Lj30LD$ HT$(t|$ tLD$(HӹJNjLD$(HH˅uϬHL$HH3RH\$`HP_H\$WHPH<H3HD$H3H~E3DO3D$( OH H IHHuL [LS30LD$ HT$(/t|$ tLD$(HӹrNjLD$(H H˅uHL$HH3zH\$`HP_@SH0IMLHѹD$ huLHRH 3 ƃH0[HHXHpDH WH@H`IHA3HD@ 3L\$8A?E3HHL\$ uHHL$8HD$hLL$0HD$(HE3H|$ up9t$0u ?,uH?uHL$8HttH\$PHt$XH@_HHXHhHpWH@H`AIH3=r!H@8;tHH@89t@88u,H@89uHD$0A?E3HHHD$ רuo~NHHL$0E3t$(H%H\$ =sEHu7x2Dpu HL$0HvDHL$0HtdH\$PHl$XHt$`H@_H|$LHHu3 9tH3HHH8uA+ЍBH|$H\$Ht$WH 9HHt%HH^t'H3HHH8u3H\$0Ht$8H _HH\$Ht$H|$ATH I9HHt3HIHH8u3HIHLAH 3HHt$8IH|$@HшD  H\$0H A\H\$Ht$H|$ATH AHHHtrIE3HD8t.3IHHHHT 3IHHHED8u3IHMcHHHAHHHHuH\$0Ht$8H|$@H A\HHXHhHpHx ATH`H6H3H$PE3HhE3EL$33D$ 6HHH HuLp3Lt3LD$@HT$ :D$@H\$@t"HlH3HHH8uD$@H\$@t(HSHHuHHHH8u3Ht+AH1H ڽELD$ HչƋLD$ HnHͅ:UH$PH3L$`I[IkIs I{(IA\HHXHhHpHx ATAUAVH Ll$xHIIeMHLHt=H3HHHtHHt HHtI]I}u4(HHH L3HII]HIHH+͊E)HńuH I+A$B!IĄuH3HHHHtHKH+Ί1HƄuHT$`3HHHHtHH+ʊH„uLL$h3HIHHtI4HILcLL$p3HIHHtIHILcH\$@Hl$HHt$PH|$XH A^A]A\@SUVWATHH3H3H$IIHHHt;KAH$EE3:t:LHH ѻ 3H$H3jHİA\_^][L$pLH׹Dd$ cu LL$PLH3Dd$ L$`LH׹Dd$ L$LH׹Dd$ Hl$8H$HD$0H$`H HD$(HD$@L$PL$pH$HD$ H\$Hl$Ht$ WATAUAVAWHH1H3H$E3DT$@LEAIL9=)5H-5L55H}H3H=JHHQHHHHHsYLML HAH$sLMIL$HLƮH$HD$0HD$HD|$(HD$ L|$H^HI,L9}dDt$@A|$u A$ A|$uA$A;u A|$E;HH\$@Hl$HHt$PH|$XH A^A]A\H\$Hl$Ht$WH H9HHt9H H/HtHHHuH HHHuH&H\$0Hl$8Ht$@H _LI[Is WH0HHICHICMKH$E3HI[D$@t3AHX HD$@HLL$PHD$(H˩E3HH\$ D$@Bt3AH H\$HHt$XH0_@SH@THd$0H2D3ҹAD$(H\$ lHH@[LISMCMK H8ICLLHICH8LISMCMK H8ICLLHICH8LISMCMK H8ICLLHpICBH8LMCMK H8MIC LH4IC H8H\$UVWATAUAVAWH`H%H3H$PL$DMM;O93} <3HcH-\(!|$@Hl;OAsHL$PMMH~mgHt0H3HHHtLvHL$PLHŖ3L%^x)MM+lj|$@HcHcHLPU~yHcD4Pu#L-U2HT$PLI4B.52H"2Ht,HL$P|$0HͭHL$(L$@M̉L$ ALЅu%91|H ʕLD$PHfH`ĕH$PH3,H$H`A_A^A]A\_^]H8R)D G)L ).)H')H)H (HD$ :)H8Ht$H|$Ld$AUH0eH%0HxE33H=@3tH;u D׿3;u ]2uM=2L-H5aHt$(D$ I;suHHtщD$ HHt$(ޅt=>(2;uH H {2Eu 3Hu2H=u2tH l2tE3AP3T2L'H' 'S'='u='u '-'=l'u ̃=z'u vh'Ht$@H|$HLd$PH0A]H(MZf9Ԁt3OHc HHȁ9PEuA= t= u3v93ytv 9&3H &IL1L1H &=G!u H ~l3H(H(H(bffH; uHfuH%l@SH EHLAALtA@McPLHcL#IcJHCHHKAt AHLL3IH [iH(MA8HIH(H(H8csmu,xu&@ = t=!t="t=@u3H(H(H 3H(%8%$HMZf9t3HcHSendMessageA|GetWindowTextLengthAUSER32.dllRtlVirtualUnwindRtlLookupFunctionEntryRtlCaptureContextQSetUnhandledExceptionFilterGetModuleHandleWQueryPerformanceCounterGetTickCountIGetCurrentThreadIdFGetCurrentProcessIdGetSystemTimeAsFileTimeeTerminateProcessuUnhandledExceptionFilter2-+] fu5 @ @@@@ @P@$@@ @4@N@ p+ŝi@]%O@qוC)@D@<զIx@oGAkU'9p|Bݎ~QCv)/&D(DJzEeǑF e uuvHMXB䧓9;5SM]=];Z] T7aZ%]g']݀nLɛ R`%u?q= ףp= ף?Zd;On?,eX?#GGŧ?@il7?3=BzՔ?aw̫?/L[Mľ?S;uD?g9Eϔ?$#⼺;1az?aUY~S|_?/D?$?9'*?}d|FU>c{#Tw=:zc%C1 <-dc> <-ad> <-c=> <-d=> <-f=> <-p=> <-w=> Commands: Compatible Switches: install (i/-i) <-ac> <-c=> <-d=> <-f=> <-p=> <-w=> uninstall (u/-u) <-ac> <-c=> <-d=> <-f=> <-p=> <-w=> <-ad> list (l/-l) <-ac> <-dc> <-c=> <-p=> <-w=> NOTE: * If no switches are specified, the default class key list is used. * 64bit OSes must use the 64bit version of this application. Switches For Class Filters: --all-classes (-ac) install : Adds libusb-win32 as an upper class filter for all classes in the USB enumerator. (Same as -dc in install mode) uninstall: Removes libusb-win32 as an upper class filter for all known classes. This is a FULL class removal. list : Displays all known classes. --device-classes (-dc) install : Adds libusb-win32 as an upper class filter for all classes in the USB enumerator. uninstall: Removes libusb-win32 as an upper class filter for all classes in the USB enumerator. list : Displays all classes in the USB enumerator and the devices contained within them. --class= (-c=) install : Adds libusb-win32 as an upper class filter for the specified class only. Classes can be specified by name or guid. uninstall: Removes libusb-win32 as an upper class filter for the specified class only. Classes can be specified by name or guid. list : Displays information about the specified classes and the devices contained within them. Switches For Device Filters: --device= (-d=) install : Adds libusb-win32 as an upper device filter for the specified device. uninstall: Removes libusb-win32 as an upper device filter for the specified device. list : --all-devices (-ad) install install : uninstall: Removes libusb-win32 device filters from all devices in the USB enumerator. list : Switches For INF Files: --inf= (-f=) install : Installs usb device(s) from an inf file. uninstall: Attempts to roll back a device driver installation. If rollback fails or is unavailable, the device is removed and all root hubs are restarted. list : Common Switches: --prompt= (-p=) Prompts the user with the specified string before running. To include spaces in the prompt string, place the entire switch in double quotes. Example: "-p=Are you sure?" --wait= (-w=) After the operation completes, displays the specified string and waits for user input. To include spaces in the prompt string, place the entire switch in double quotes. Example: "-w=Press any key.." Examples: install-filter install --device-classes install-filter uninstall --all-classes install-filter list --device-classes install-filter install --class={00000000-0000-0000-0000-000000000000} install-filter install "--device=USB\Vid_04d8&Pid_000c&Rev_0000" install-filter install --device=USB\Vid_04d8.Pid_000c.Rev_0000 install-filter install --inf=your_file.inf @X`x (08@HX`hpxȤФ (08@HX`pxХإ (0Copyright (c) 2002-2004 Stephan Meyer, Copyright (c) 2000-2004 Johannes Erdfelt, Copyright (c) 2000-2004 Thomas Sailer, Copyright (c) 2010 Travis Robinson, This software is distributed under the following licenses: Driver: GNU General Public License (GPL) Library, Test Files, Installer: GNU Lesser General Public License (LGPL) *********************************************************************** GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. 0. Additional Definitions. As used herein, "this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of the GNU General Public License. "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version". The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. 1. Exception to Section 3 of the GNU GPL. You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. 2. Conveying Modified Versions. If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. 3. Object Code Incorporating Material from Library Header Files. The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the object code with a copy of the GNU GPL and this license document. 4. Combined Works. You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the Combined Work with a copy of the GNU GPL and this license document. c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. d) Do one of the following: 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) 5. Combined Libraries. You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 6. Revised Versions of the GNU Lesser General Public License. The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. MZ@h !L!This program cannot be run in DOS mode. $Ѽ/|||V||A||||a||Q||F||C||Rich|PELS̄N  ]"[^sPv` zp`^^T.texttYY h.rdatax ^ ^@H.data g g@INIT rr .rsrcvv@B.relocR z z@Bh\h\h|\hp\hd\hF\U3̋UU ,pVW5gm5gU ,pmu>5,p l3f;t PW tHNp 5,pLo33ɁAPu 5,pn_^] ̋UU ,pV5gmt*>t%u5,plP6 ^]̋UU ,pSV5gm^(;uSju5,pn|nWV35,pn3}쫫Ef,EPSF0F15,pn_|EjYtN,MtF0EtF1N,Ax^[̋U(U ,pSV5g3ۉ]]mMQF(SP5,pn=#u{f9]tuWjY3}@EEE F(EMQ^EMQPhUSBKSEP5,pl;_|+F(MQuP5,pn;|MNMN^ ^[̋UU ,peSVW5gmv(5,p oF2<u3}諫EEhUSBKPj<^؉]u ~2Ev+uF(MP5,p<oEEG:F2rՊN23}諫EtEM]EF(MQjP5,poE|av(5,p oVF2zE|B28^2v;i0WV_E|WVE| :^2r^2}thUSBKu@^E_^[̋UU ,pVW5gmVRv(5,p$o|v(5,p(oV_^]̋U ,pVuW5gm(u(Vn| V|V| W }3_^] ̋UPxi3ʼnESVu WjD_WjPP PV5,pDž DžDžjjY3gP35,pCDž kj^jY3󫡠g0PPDž5,pDžDž\DžDž $kj5,pjh5,pkj3Y4󫡌gDž4 @DPP4PP5,pk^5g ,pmG$iAWOJDžhjP3Nh\h\hP0^ PP4^P5,p(k}9j0jPM PDž05,p4kj4TjP@M Pa3STPDžT45,p\XDžhNDžl PDžp@Hl;ÉP^;t|V5,p jveSV5,p0jȅtH3PQK|%jP5,pk|C;rM_^3[K̋UEH2S2Vvi:] t:r3^[]iɔ̋UM E:H2r3iɔ]̋USW} 28_vBVËtt.Ft65,pxlv tjV5,pl:_r^_3[]̋USVu 28^vtu:^r^3[]̋USW}28_v3VËt~utFtP5,p(m3:_r^_3[]̋US] CVuWE u F(P5,poP5,poKQCP35,po35,poCE w 3_^[u3}諫MQu P5,pEoEtx}u~4E Gk4 uWVkE |EG u~,uuP E jEE Yu:C\NE C@̋UM38Q2v DV0;u u q2B;|^3]̋UE~ } u ~tFt~,u31E PVuF,^؅|WE ·t P5,p(m>u |1|(~t/v 5,pl؅}W5,p(mF_^[]W5,pPlF̋UM tyu Qu]̋UQVuF2v7SEWFv7uKuƔMu_[^̋UQE SV03W]EaǍHf@@fu+;uE VWpk tE C}hrBk at'9>tEPvu );}Wuu P5,pTo;3}쫫eEv83t/t*jhPVE)u E5,pUn|HShv(u 35,pmEPSu 5,pmuu 5,pmƅ}3WPu 5,p n_^[̋UQU ,pSVW5g3ۉ]mExFEPu 5,pn jX9s #E +ȉMu6e,eEPu 5,pn#};;ueuG(uVu P5,p ojhb>u 5,pm3}ԫeE[83t/t*jhPSELu E5,pUn|1E@(MQPu 5,pmu%u 5,pm}jPu 5,p n_^[̋U,SVWu35,p}}\l5g ,pЉEmu 5,p]EP׍SEPu5,pm}#h]EP׍SEPu5,pm}#h\EP׍SEPu5,pm}h\EPׁƼVEPu5,pm}&e}tu5,pmE[M_3^̋UQQEPu5,pnu EP$^̋U} uu5,pu$n(n] ̋U} uu5,punn] ; xiűUQMj5|i5xiuh,^%L^%D^%(^% ^̋ViV5,pVhp^̋U$pt = Ztu]̋UW}uu W.SVu 3fppV=0pfp p8p8^h,piSVW|eS|&u W} <,px,tG4t$pG4 Z@t m(p m5Z3^[_]̋U]̋UViWοi3;s<>,u2F V5,p5iut h4\|,;r_^]̋U존iiV=it.;r*F$V5,put h@\w,;5iv^]̹iѸi;s'VW+jH3YiFtЉGNu_^%^% ^%^%^[%s](%s) v%s built-on: %s %s DriverExitlibusbK.sys3.0.4.0Sep 29 201112:51:45%s%04d\DosDevices\libusb0-SystemWakeEnabledDefaultIdleTimeoutDefaultIdleStateUserSetDeviceIdleEnabledDeviceIdleIgnoreWakeEnableDeviceIdleEnabledDeviceInterfaceGUIDsu@uTufu|uttttttt(ujtVtLtt@tS̄N`ggREQUEST_CONTEXTQUEUE_CONTEXTFILE_CONTEXTDEVICE_CONTEXTPIPE_8FPIPE_8FPIPE_0FPIPE_0FPIPE_8EPIPE_8EPIPE_0EPIPE_0EPIPE_8DPIPE_8DPIPE_0DPIPE_0DPIPE_8CPIPE_8CPIPE_0CPIPE_0CPIPE_8BPIPE_8BPIPE_0BPIPE_0BPIPE_8APIPE_8APIPE_0APIPE_0APIPE_89PIPE_89PIPE_09PIPE_09PIPE_88PIPE_88PIPE_08PIPE_08PIPE_87PIPE_87PIPE_07PIPE_07PIPE_86PIPE_86PIPE_06PIPE_06PIPE_85PIPE_85PIPE_05PIPE_05PIPE_84PIPE_84PIPE_04PIPE_04PIPE_83PIPE_83PIPE_03PIPE_03PIPE_82PIPE_82PIPE_02PIPE_02PIPE_81PIPE_81PIPE_01PIPE_01atala\aTaDaU>e>k>>>*?0?9???O?U?]?c???t0011B1H11111454&56666666667788#<<<<===!=A=G=======F>L>`>f>l>>>>???? L00"0,0J0V00001$1*1;1D1J11182>2`2f2s2y22293}3444445516:6D6O6U6e6k6x6~666666777*727777 888 8.848?8E8_8e8}888888888888899-969<999 ::::::;;;$;*;7;=;s;y;;;;;;;;;; <&N>>>>>>>>>>?$?*?0?8?>?G?M?j?s?y???0,0&000;0A0Q0W0d0j00000000K1Q1112#2?2r2x2222223333%3+333R3[3a333.4;4q4w4.545\5b5l5w5}5555555'6F6k6t6z6666666666688G8M8E9K9s9y9999999999D:c::::::::::::;;6;<;;;<< ====C=Q=\=b=o=u=== >+>K>Q>}>>>>>>>>>>>>g?m?????@ %0+0:0C0I0000000000 111!1,12191?1E1N1W111 222^2d222244444555566w7}7778888888899e9k9q99999::::; ;P;V;g;m;<<<<<<==============>>> >>>>> >$>(>,>0>>>>>>>>>>>>>>???????Pd0%0+01090D0J0P0V0^0d0m0u01 11O1U1l1r1111111S2Y222223 3331373?33333333333444c4i44444444445550565M5r5555555A6G6v666666667 7"737D7S7a7g7u7777777778!8'838M8S8_8y8888888899-959=9[9c9k9z99999999999::f:p:w:}:::::::::::;;4;<;Q;W;c;;;;;;;;;;<*<6>>0!0 +:`sۖÓ!9f 0 0 #0  *H 0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0 990128130000Z 170127120000Z01 0 UBE10U GlobalSign nv-sa1%0#U Primary Object Publishing CA100.U'GlobalSign Primary Object Publishing CA0"0  *H 0 u* q$ߡb)ܞusVWiVOȼX&r `UWɡt@lS7y>R8,3RpJ]bg^JʼݍGe[Kk͎.P補&k6cApD_%uyP}_F UGӑFh'AQzDhqXoB fuFD0cDpVoX*'.qRmF+HdRtE xs r^s00U0U00UQy| Y:x-M03U,0*0(&$"http://crl.globalsign.net/Root.crl0U% 0 +0U#0`{fE ʉP/}4K0  *H x|}jq)0`bCns v[}NI/@oT*= ܙ zw/@ČNr|d+lך|FMB;ۜ?2aW6fDo7NV%mbby\BӜ#dE-~[NÊ)xA4N,\%%1Mr)KH7oNJE~/1Rg4_'jfRZǬ0, 8+:E{ sV*Ql/00  f0  *H 0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0 090318110000Z 280128120000Z0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA0"0  *H 0   Mh36<S{Fbw7~O"PƗ=yT}LĈ,ơ_:d+> zVτ΍5:4l-w0g: D:CrAFud%lGGގc}Udros?99\IcC"֫t0OZm:34;bz-MK0 y}ӗjZM _Pl`R.tޗE!{Udtk_llC$7IHvIP!ʅs <].^M2eVű?'I0;ŧp[Z]a4XQ2Te+l gcZ$t# fdIU^ZV*-5761z;…00U#02357ev.E,0<U50301/-+http://crl.globalsign.net/Timestamping1.crl0Uds֕yȏϥ`)0 U00U0U% 0 +0KU D0B0@ +20301+%http://www.globalsign.net/repository/0  *H 6U\yzmVU+Ȼ`{Gm@>Վ/RhrJ`+02http://secure.globalsign.net/cacert/ObjectSign.crt09U2000.,*(http://crl.globalsign.net/ObjectSign.crl0 U00U0U% 0 +0KU D0B0@ +220301+%http://www.globalsign.net/repository/0 `HB0  *H Q$yPx}1E윕[=f4°a?[oJ#XBNGDQ/UXH,%Citʐq$ӹzW{Y;h͇l +T`.\ z /~v's)FnFWS] q 1h>-g)0:OxYzxZH BגE|fxk?-4bǵ=Fn=~p,!zzKs[D3;00 #$0  *H 01 0 UBE10U GlobalSign nv-sa1%0#U Primary Object Publishing CA100.U'GlobalSign Primary Object Publishing CA0 040122100000Z 170127100000Z0c1 0 UBE10U GlobalSign nv-sa10U  ObjectSign CA1!0UGlobalSign ObjectSign CA0"0  *H 0 pÌ &ogYL±ESuA6op(|mr%e: {^78KX IX&Ymƹ%bN l]pӛ) X|Չ5W˛俔_wty@!c8sڥEM*<(u|`%N-ֵ4<8:=ıg0c0U0U00U[K&K]V.8NS0JU C0A0? +220200+$http://www.globalsign.net/repository09U2000.,*(http://crl.globalsign.net/primobject.crl0N+B0@0>+02http://secure.globalsign.net/cacert/PrimObject.crt0 `HB0U% 0 +0U#0Qy| Y:x-M0  *H jm"pe.]30lxKōzjX9k (]v|o6C1Y8أ;gXa>;[ADk&^ee?w륆*X)V@W,ca7f%9 .6%|~ӣvu0vA5!h^\`@]Tnng+۷Mf!>GBa,&=ɧxnt,Fr 500g a k0  *H 01 0 UUS10U Washington10URedmond10U Microsoft Corporation1)0'U Microsoft Code Verification Root0 060523170051Z 160523171051Z0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0"0  *H 0 晍ΣO~%kH*cgfH+)e-˫Lp= 0OԌPP.R}m50^CsAj㲉:V98o:-7o캬j<ߋ%笼bE1ݤ rxC̺9]Z^FQ3զXgfXʭ!ښn t(_M]%i%TDÛ)3<S*'3.|XmN_󚝌Q:Z\/5T5R34:j :e3N&I끒M2K#3qk漷lA:q3Pt;]>L&86 cyԮ/a6JK3rA~F9{uAYBGpwKF#rտiX<\FՁneYw2ddSɠ(*l8сΘ@,C&_D0S /z`'RB7(yH0] R-g f(o$a100r0c1 0 UBE10U GlobalSign nv-sa10U  ObjectSign CA1!0UGlobalSign ObjectSign CA /s0 +p0 +7 100 *H  1  +70 +7 10  +70# *H  1$KD︷|2qxUЈ0  *H V舅G:^b83g?kcb?vkCQegZ`a\̀̃l%9C-#˛6<}-S.갠Jpdm_cK0tWԮФ OJ8HӾ4b>sށ-T|s,֊LMZ@ !L!This program cannot be run in DOS mode. $Dž|||F!|锃||}||||2|蔄|프|Rich|PEL_̄N!  ԩ@ tdpx`  H@.text `.data`nl@.rsrcpb@@.reloc f@B$4B" 0".\n~FxbR8,jR:~*6H\p`~pdVF<2(vl_̄N` WinUsb_GetPowerPolicyWinUsb_SetPowerPolicyWinUsb_FlushPipeWinUsb_ResetPipeWinUsb_ControlTransferWinUsb_WritePipeWinUsb_ReadPipeWinUsb_GetPipePolicyWinUsb_SetPipePolicyWinUsb_GetCurrentAlternateSettingWinUsb_SetCurrentAlternateSettingWinUsb_QueryDeviceInformationWinUsb_GetDescriptorWinUsb_GetAssociatedInterfaceWinUsb_FreeWinUsb_InitializeWinUsb_AbortPipewinusb.dllWINUSBLIBUSBKLIBUSB0Unknownlibusb0 filterWinUSBlibusb0libusbK{6C696275-7362-2D77-696E-33322D574446}{6C696275-7362-2D77-696E-33322D574446}{20343A29-6DA1-4DB8-8A3C-16E774057BF5}{20343A29-6DA1-4DB8-8A3C-16E774057BF5}{F9F3FF14-AE21-48A0-8A25-8011A7A931D9}{F9F3FF14-AE21-48A0-8A25-8011A7A931D9}{A5DCBF10-6530-11D2-901F-00C04FB951ED}{A5DCBF10-6530-11D2-901F-00C04FB951ED}ܥ0eOQ!H%1):4 mM<t{ubilbsw-in32-WDFH@Ph`Xusb\\.\libusb0-%04dServiceMfgDeviceDescClassGUIDSYSTEM\CurrentControlSet\Enum\VID_%04X&PID_%04X&MI_%02X\#\Device ParametersLUsb0\#SymbolicLinkDeviceInstance\ControlReferenceCountSYSTEM\CurrentControlSet\Control\DeviceClassesKLST_DEVINFO = %u bytes CancelIoExPathMatchSpecAStmKOvlPoolKOvlKDevKUsbKLstInfoKLstK %u %s Handles: HandleSize %u PoolSize %u (bytes) HotKAllK required contiguous memory = %u (%sbit) 32 kernel32shlwapiHotK_NotificationWindowClass%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02XHotK_NotificationWindow_%uInvalid parameter passed to C runtime function. ({x{(null)(null)EEE00P('8PW700PP (```hhhxppwppHwRSDS`*Zo(M Q hz:\svnmain\googlecode\usb-travis\trunk\libusbk\bin\dll\i386\libusbK.pdb(j2$3j2$3j2$3j2$3j2$3j2$3 j2$3̋UE ]$EMNE@Eq2EM$EMEEE)E)EEMEMEMEqEqEqE;tEMiEM^EMSE_HE_=Eq2Eq'E)E)EME j2$3]Q_x '5Cm̋USVu39^tF^;t vjVЉ^W~$;t6P@:u+t(;t;ttPS5v~4;t%PK;t;ttPS5~(;t;ttPS58_;t;ttPS5^[]̋UVu~tFft vjVЃfvtVe^]̋UVhj5 uj$EHq8Hy8^t x8t3@3]̋UDS]CV3uH8P逍EWEEMt jY3}VjEPjPhH "R>;}jEYut jY3}EPjEPjPCh$"p>EԈE t }tu?EE t jY3}MjjEPjPCh "p9> Et3}쫫Eԃt jY3}EE}EEtAjj EPjEPC$ "Wp=} t!E:E t:EtEh$3yEPj5 uj$Cp(Cx(u3GMQMQp(MjQWpO=u$[(tttPV5#_^[̋U}jr }xv j$uc3@]̋U]Q̋U]Q̋Uhhthh3PPuPPu O]̋Uhhthh3Pu PPPuN]̋UVujrxv j$3{VduhFH8v@(@:E tGh$2M jjMMQjQh "p;thVHuVaVa3@^̋UW} u jW$3OVujrxvjVcuh$3F@(t@Vba3@^_]̋UVujrxv j$3mVcuhEt WjY3}_E u EEuEuEEjEPFh$ "p:Vu``3@^̋U]H̋UVujrxv j$3TVbuhEWt jY3}E EEP0EujPFh$"p:V,`_^̋US]jrxv j$3~SYbuhSVs r,EWt jY3}F} jjEEPjPh@$"}r9u S_3W V,S~_3@_^[̋U} ujW$3S]jrxv j$3nSVs r,Et WjY3}_FjjEEPjPhD$"r8u S^3EM P V,S^3@^[̋U]>I̋UQQeS]Vuujrxvj$3>S`uhWVj5 =$uju)jׅttVj5S^3} ]E~F t}tuFSP资 E@H8v3QQQ+E u;t}tuFSP| 3PPPE@uVh$"p{7E>}tj2$e*t&}r 3 ǍP,EVj5u8]E_^[̋US]3VE;99EujrxvjVF_u hEWt jY3}E }NE}q8wE uS3EujPh$"qk6E8tj2$e%jY9 r ЋU Eu=\E_ jW$3^[̋UQESV3ۍpu;ujW$39]t}jr }xvjuA^uhWVj5 =$;uju'j;ttVS5u[3LuE uFFP6}G SSSuVh $"p75VS5EW7[E_^[̋US]Vtu;tp}tjujrxvjUVW]uhDEWt jY3}E S3EuEjPFh$$"p4VZ_ jW$3^[̋U38EW39} 4$"E}jW$3S]jrxvjS\uh$3}SB4Vtt)F;E tv ut;E tv uu h$xEt jY3}jjEEPjPur3}t-t)FKI,DFPC P,FKI,dS]Y^[_̋UuE jPu] ̋U]A̋UuE jPu{] ̋US]jrxvj$3S6[uh}SB4VWtt'H:M t@ ut:M t@ uu h$Mpr,Et jY3}F}ejjEEPjPh@$"}r2u S$X3W V,SX3@_^[̋U}ujW$3W}jrxvjW-Zuh$3}SVwF4tt'B:E tR ut:E tR uu h$DZ^,Et jY3}}jjEEPjPhD$"v 1u WW3EMP S,WV3@^[_̋UVujrxv j$3DV'YuhWjjEPjPFhH$"p0tE MVV_^̋UVujrxv j$3JVXuhEWt jY3}jjEPjPFh@ "p/VV_^̋UVujrxvj$3V2XuhU SWU e j[ÍEK)$"} t5t jY3}u EuEuEjPFSUp/Pt jY3}EuEE uu ȋFU@8EjEPFSp.V U_[^̋UVujrxv j$32Vsh$e E@@uNE_^̃=z[SVWI=,USBKzTuPPVSׅuhdLzzO5HhP5zh<5z{h05zzh5zzh5zzh5zzh5zzh5zzhx5zzh`5zzhP5zzh<5z{h$5z{h5z{hP5z {h5z{h5z{h5z{֣{zMz;z_zzqzMzMzz{){){ {M{M{M{q{qjSz_^[̋USVW}33G,;tPzG,|ލw$;t6P@:u+t(;t;ttPS5ww4;t%P1;t;ttPS5w(;t;ttPS5_^[]̋UEt @tPK]̋USVuF3ۉ]]W9X uoH QpzFH,@ F@,XEP]S,MVR,}|VR,LEMPuFp zučEt3}쫫EPj EPFSSjp zE;tWEPj5 ;uj$Fx(F9X(u j$EPEPv(SSjv zEE_^[̋Uh6h73Ph7PPujju 6]̋Uh6h73Ph7Pu Pjju`6]̋UVujrxv j$3;V1LuhF@(@:E th$VIVI3@^]̋UVujrxv j$3CVKuhFWu uuuuu p zV-Iu3_^]̋UVujrxv j$32VUKuhFWuuu p zVH_^]̋UVujrxv j$3=VJuhFWuuuu p zV`Hu3_^]̋UVujrxv j$3=VJuhFWuuuu p zVGu3_^]̋UVujrxv j$3:VJuhFWuuu p {VGu3_^]̋UVujrxv j$3:VIuhFWuuu p {V"Gu3_^]̋USW339] }jW$3VujrxvjV8Iuh$3NA48]t;t)P;U t@ ;u;t;U t@ ;u;u h$:I,3B8]tXT @PF P,@\V/F^_[]̋UuE jPu] ̋UuE jPu] ̋UW}jrxv j$3\WHuhSVw Gu p,6z؅u WE3E P V,W1WdE^[_]̋UQ} Eu jW$3tW}jrxv j$3SSVw Gp,EP6z؅u WD3$EM P V,Ww0WD^[_̋UW}jrxvj$3WFuh}OA4Vtt'P:U t@ ut:U t@ uu h$puq,6zu WD3EP V,W/WC3@^_]̋UQS]EujW$3W}jrxvjWFuh$3}OA4Vtt'P:U t@ ut:U t@ uu h$pq,EP6zu W'C3"EP V,W.WC3@^_[̋UVujrxv j$3;V2EuhFWu uuuuu p {VB_^]̋UVujrxv j$3AVDuhE  ȋF@4Wu t {V(B_^]̋UVujrxv j$3AVXDuhE  ȋF@4Wu t{VA_^]̋UVujrxv j$3AVCuhE  ȋF@4Wu t{VHA_^]̋UVujrxv j$3NVxCuhE Wuuuuu ȋF@4DP{V@_^]̋UVujrxv j$3NVBuhE Wuuuuu ȋF@4DP{VN@_^]̋Uazu3wE  w$DE 9HE9:E<@,ER;E;E=9Ek!E=E0=Et>EG?E8]tPt@Ht2Ht$HHtHE:Ez:xE=mEP=bE:WEALt>Ht0Ht"HtE2.*EAEAE@ EsB3@]I(CCCCCC6CDCRC`CnC|C̋Uw3ʼnEE PuhhPf~ ƄEPM3d̋U w3ʼnEEE SVEWE3hSPDžldVVPf;9tVPf ;u]PhSP;u7PVPS;u 9t M_^3[c̋U w3ʼnEEE SVEWE3hSPDž=cVVPe;us9tVPe ;uOPhSP;u)PPS9t M_^3[b̋USV5W}XWSYYuShu jeE _^[]̋Uw3ʼnESVw Vh3Swwt3ghPS'WPW t hP6Ӆtыt tP&39GM^3[a̋UVuW39~tF~;t vjVЉ~;t;ttPW5>_^]̋UE  3@] ̋US]  E@Vp Wu tWP93u $ u utWE j@Y󥋐  ;t^Ur   1 Bt   : 8t MI  u ǃ  ǃ _^3@[] ̋UE VhdH7tu3OSWh, j5 $ujӉ~tujV93E 03@_[^]̋UQES]V33@ Wu;tP} :utQ:Wu AAGGu3Ƀ;t $ ;u;t M1EP u (]{u GS:KE K H t2( S( H ( S$ @ K( CKH ( @ $ EMC3_^[̋SV W;t8{PP|YYt u  tû4;t8{PP|YYt u  tË t4tu% ;QhPV_3@3_^[̋Uw3ʼnEVW3VWP]hTVP`PVP`$PhWPht3VWP!]VWP]QQQ3PQQ~PhHP|YYuPj;-3h<P|YYuPj;3u`h8P|YYuPj;3u,h0P|YYuPj;VjP\VjP[PPPjPP P@u+3;؋M_3^[̋Uw3ʼnENSWPW^ P9^WPFVȃ9toj\PYYt @HtHu.F WP] SFPVht\u>t3fF~t3fFtM_3[hZ̋UQeSV5W}j#WjXhS tj#SYYuDu F$tth jPY vF$SP\ EPhhv 9Eu FN$3;E؉ F$Phjv F$Phhv F$QSPI\F$ F$  Phhv g^$Et7F$[t+E PEPv$6'Ft3} tu_3@_^[̋U(S] C VWj Y}EEEEC$}EOE9M_^K[̋USW} 3;tu jW$3OVuQrZvjV3uh$3F $ CuV;13@^_[]̋UVuQrZv j$3 Vi3uhV0V03@^]̋UVW} t'uQrZvj$3_^]V 3uhFu(F uh$3Vw0ĉF3G싀$ FuhЅt̋UVuQrZvj$3^]V2uhFWuh$3V/_ʋM 3G̋UVuQrZv j$V!2uhfV/^]̋UW}QrZv j$3E} ujWW1uhۋG tVu$ PWU tƅu^W3/3@_] ̋UVuQrZv j$3mW}ujWQVW1uh@F t(U #S#;u X3]t $ u[Vu.h$3._^]̋UQEW3};tujW$39} t} tV uZrjvjV0u h$ EPu9}tu .V.38vS]{uGC CM -3@{uC[^_̋UQeVu tujW$3W}QrZvj$3S ZrjvjW/u h$S/uh$W&-3Wj PX;u( E;ug ?j$;$ ;w u ( G $ ( uG ( S,S,W,E[_^̋UVu tujW$3W}QrZvj$3S ZrjvjW.u h$?S.u h$"jW PXtj$S+W+3PG t-( ( G ( $ G ( $ w ( G $ W+3@[_^]̋UEtu jW$3]V Zrjvj9V-t-Fjj PXVu#+V+3@+j$3^]̋Uu u3u e3@] ̋UQeEPu ;tuu3@3 ̋UES3CVu u.5P|YYuVutV xuX^[] ̋UVu~tFft vjVЃfjh2XV{^]̋UQSVu W}X ]PP"u $ ]u܅ti E j@Y  ;t+Ur  018Bt  =ǃ 1Gt+EPVt]S739 @ _3^@[ ̋UL w3ʼnES]VhX&tu3Wt j Y3󫍅th jPlO E Dž~ j2$3_^[]vvvvvvvv www'w1w;wEwOwYwcwjwqwxwwwwwwwwwwwwww3w$xAË ÍAËxxxxxxxx̋UU MtH |HUSBKu@ j$3]̋UU MltH |HUSBKu MH3@ j$3] ̋UU M'tH |HUSBKu MH3@ j$3] ̋UEtu jW$`` @]̋UVW}tu j$+u Pj5 u5$jjօt'3Mfp H3@_^] ̋U}t}u j$3uj53@]̋UE3҅tu j$3%V33f;H }HWU x F;|_3@^]̋UEtujH U ;} Mtu jW$3V1tIL3@^] ̋UEtujH U ;} Mtu jW$3Vt1DA3@^] ̋UVW}tuj} t} t G u;| jW$3!S\uSVU t G F;|3@[_^]̋UEtu j$3133f;H }HV3fqf1p B;|^`3fH3@]̋Uuu ]̋UQQSVhLh ESE-$hfhh$Ah$hjVh j$hj@Vhj hhVHhj8h|j@Vhju(^3[_^] ̋USVu3;t(;t"W=9t0Su ׋6Su ׉_^3[]̋UQxuSVW=S׃Ei$hUSBKFP,tS3׃;EujT$:3~3hFW~PF >7)E  F_^[̋UQxuBSVW=QS׃?Ek$QhUSBKFP,tS3׃?;EujT$"3~3FFF EF F_^[̋UQxuSVW=ZS׃EZhUSBKFP,tS3׃;EujT$3~3FFEF F_^[̋UQxu'SVW=jS׃?Ek8jhUSBKFP,tS3׃?;EujT$,3~3FFF F F$~(EF_^[̋UQxuSVW=xS׃Ek<xhUSBKFP,tS3׃;EujT$43~3FFF F$F(F,F0F4F8EF F_^[̋USVu^=USBKt3L>t396F Pu!FtVЃfjS,3Ʌ^[]̋UQxu|SVW=h@׻#ÉEk8DhUSBKF$P,th@3#;EujT$,3~,3ɉN F(N3ENNF _^[̋UVuF$=USBKu3~t39F(V~3@ V3^]̋USVu^$=USBKt3O~t39F7F(Pu"FF tVЃf jS,3Ʌ^[]̋UQxuSVW=D`S׃?Ek,H`hUSBKFP,tS3׃?;EujT$%3~3FF F$F(EF F_^[̋UVuF=USBKu1>t39 V~3@ V3^]̋UQxu5SVW=HkS׃Ek`LkhUSBKFP,tS3׃;EujT$B3~3FFF F$F(F F,F0F8~<3~PEF_^[̋UpwW3;Vu;t ;uv9~tF~;t vWVЉ~;u=pwK ;5pwupw, ;t pw^_]̋UVu  t,EPPt dž 33@^] ̋UM 3@ ] ̋U0w3ʼnEE8{Wu@MQMQMQMQMQMQMQMQMQMQMQh@P?$4 u VuХ^3Ƀ _M3!̋UXwS39]t0t$W=X TSPSShXwׅu_3@[]u9wt.SShXwXuTSP9wu9wuh6$3̋UQSVN(؋Wx@u+tPQ^u3Q(x@u+tPQ3tՍ(p@u+tSQ t3@_^[̋U4w3ʼnEMSVu WNVM#wtjY}p3t@uj^jV53΍} =$؅uVu V3Cu쥥EE }إ3VEP5Xw;uSV58w;t@Cw@XwXsw[wp3@M_^3[ ̋U}tuhK5hw(V5pwVhK5hw u3@^]̋US] Vu>t  pW=pw`ut;?  *!ËwvtF:utP:Qu @@AAu3tvuʅt G$Xj j5 uj$MAt@FA@pApf qvA` t$(tjSWЋOtJG =r@@%t9(tjSWЋOt"G =rG$SWPQt _3^@[] ̋UQEe SVWtwjYu3htj VjV5PwӅtV5PwӃtE}r }rh$3j3W5wWWjjjjhV5PwhMXwXwXwtXwtW5Xwj5Xw3@_^[̡Xwu h$jjj5Xw̋UQQW3}EEEPh܊5hw39} tEPh5hwE;tWVHP;u}+;Eu JHMQH;tPQ HUJtPW5;u^3@_̋UE SHHVW--8-tOHt _^[]%urIv j$ VVpVj3@}t}uj$jXutu jW$jWj(؅tu (E{Cpw3;t0pw pw pwpw S9suCC$jSEt=ta==UzBp@u+u j5lwj MRhB5hw~jjj 4Exh`w{jhj udE tOHt)Htuuhu.j uj ujj5hwjjj u3Vh`w,jV5hwjVVupw3;t P;u5w;ti6~F;uw6N;5wu AFwHF;tNH F wAtVS5;u5hwhShXwhw,S3_^[]̋U0V3f9w t3@aj0EVP wEPwE EPE0uEGu܉uuuEuu3f;fG ^̋U SW}3ۉ]ju (E:EPtV5EPEPSSuEPօu^uwxEY_[̋UVW\wW3u5`w95wu Vwjhhwt@hwjhXwhCVVtw;ttPt Vu5hw赾5hw3DSu uh5Xw;t"Wu jS$33@[_^]̋UXwuh$3f}r }IvjVW\wV} Vjuh5Xwu3u Jj3@_^]̋UEI0QXtRPQXRBQXB AX@AX`Q]̋UuE jp0EHQ0(] ̋UuE jp0EHQ0(] ̋H ISW= Qjp3ۉF;u(F3@ 9X~tjjjj4Njjp׉F tN HFt#@N AF@N HFN HF F F@F`@ C;X|3@_[̋S39^@ W39X~F9t0@ G;x|F^F ;tSF PH;u^);FuQF @FJF H@;uNAv Sp~ ;u_3@[̋WF 3%BXF;#FF FH;uzX0;BX@uHF@AXAFH@;uIXAF H;u~,;F@uHF @FAF H@;uNAFN F p<FH8HFH4HN 1P(Qp RF=t;ua0PF;t#@NAF@NHFNHF FF@Fx9~~ F3_ËF ~ p@F NHF;tN @AFN HF @F NF@XA@X;t@NA@XNHF@NHXF _̋UQFS3;uF3FW}F ;uA I03;JF F jWp9]uJ R0E3;HE=t ;t=t 9^ u^ ^ F9^ u3pFH;u^,;F@uHF@FAFH@;uNAF H;u^,;F@uHF @FAF H@;uNAFS Pv @ \F ;u.(F=t=tF p@ F ^F;t#@N AF@N HFN HF F F@FXvpT=F0P׋H ,APt׋H(I;t%VvRp ;t;Ft 9^ tF^ F _[jjFd Y=XE PH~;thPjSVׅuE D~j_t j 9hhD~YYzhh Y=D~3Y9] uSV,9\~th\~F Yt uWu\~ {whPjjVׅuD~t j YMP~t0=L~ tЃ;sS`%L~%P~YjVD~,3@_^[] j,h% M 3BU3u w;u95 {uu;t X~;t6U${uQuЉEE MPQYYËe3uu9uEuu uEE MPQKYYËe3uu9uoM EuQuEE MPQYYËe3uu} 9uEVVu|E MPQYYËe3uEVVuE MPQYYËe3uX~;t,EVVuE MPQ_YYËe3u9u t } Euu uEE MPQYYËe3uuX~;t>95${t6Euu uЉEE MPQYYËe3uuE E( w̋U} uH]%%; wűUw3ʼnEffffffEEDž0@hM3G̋U]J%p%l̋US39]upSSSSStVuW};u ;u 9] u 3Y;t9] wp2uu9} v ]D$T$UL$)qqq( ]UVWS33333[_^]Ëj&33333USVWjjhϮQ>_^[]Ul$RQt$ ]̋UES]Vs30WEE{t N3 8U N V3 :U E@fMK[ EEEt`[LDEEt E|<CE؃u΀}t t N3 8U N V3 :U E_^[]E͋E8csmu)=T~t hT~0tMjQT~ME9X tURWӋEMH t N3 8U N V3 :U EHN9S WMQWg&%h̋UMMZf9t3]ËA<8PEu3ҹ f9H‹]̋UEH<ASVq3WDv} H ;r X;r B(;r3_^[]jhXeV\Yt=E+PVYYt+@$ЃE E3=ËeE3e%\%Xhd5D$l$l$+SVWw1E3PeuEEEEdËMd Y__^[]Q̋Uuuu uhhw]̋UweeSWN@;t t Уw[VEPpu3ut33x3EP|E3E3;twuO@5w։5w^_[̋U((| $| ||5|=|f@|f 4|f|f |f%|f-|8|E,|E0|E<|x{0|4{({ ,{wwj`hdh hPlVD$ u(L$D$ 3؋D$d$ȋd$Gȋ\$T$ D$ ud$ȋD$r;T$ wr;D$v N+D$T$3+D$T$ ؃ʋӋًȋ^̋U} wErw M3]ËE]̋UEe uRP ]̋US9]u{;E u_EPjS }3`jSTYYtuEu 7VjP} 7`YjSPw t&3@[]̋UEPPEYu߃]Jx A RY̋U}t] ]̋UWUt WLYu_]̋UeEE$WuE0EEeYYuMEe}tEMU=M}uNE t | ~ u9E@;ȃ3@M  3υMtzEul}E tLPM@Yt UEDE?0EPEPHfM fMEu1pYYE;t:EuEE }u:Et/3f+pE tM3f_ËE3̋U4w3ʼnEE SEԋEVWEЋEE3j2Y}8^u@M8]um]@E d@-uGtC]t<@:sʊ:w'*ډM؋| ܋˃CMu2ɋ|=]uu&u$]u űuuEuPupM_^3[̋Uw3ʼnEUE MW3L|xDžT^\@;u!pWWWWWW V;u#pWWWWW. ƅh |SLPYt=2YPYYGPYu| ?%c |3PtdƅƅƅƅƅXFP|PYtdk DЉN*ttFItLuxN6u&F84uXlp|i3uF82tdtWitRotMxtHXuA9ht(lt wt"F8lt uLHL3ɀ`ƅuh`PXtlpAtf||a`G|;P@Yt%*G|;u?%|xnuxjYYU~3fp 4YYDž@VSVPVS\[u x`Yuhu/8u'"@uph3h^M3_̋UE V3;upVVVVV]29ut݋M wuEuEEPEIM ^A @tyt$Ix  QPw$YYu ̋UVMEM >t} ^]̋UG @SVt3u-E,MsC>up8*uϰ?Y}^[]̋U(w3ʼnEEE3@W} Etm EE%tjE#XVD.j DPu,E܃ p@uM+ƈLDEtQQMM$QPW0>^u~3jXM3_̋U w3ʼnESVuW} 3;u9]v;;t}vpjYSSSSSSwuEP(;YY}%;t9]v uSWO pj*Y?;t9E} ;t9]v uSW pj";tPEPW 3M_^3[̋Uhw3ʼnEES] V3W};u!pVVVVVH@ ;tۊ  C9 , ltw ;luC <6u{4uCC<3u{2uCC-uP@uDž$sHHDž'DžQƅ0Dž t@tGG@Gt3҉@t;|;s؃ځڋu3ۃ} Dž9~ u!u t-RPSWv09~N뽍E+Ftat΀90tV0@>If90t@@;u+(;u wI8t@;u+f@t2t ƅ-t ƅ+ tƅ Dž++ uSj YtuWSj0T tq~hPjEPFPFCu(9t MYu!Y|tWSj t`Y3t//p3PPPPPpWWWWW9t M_^3[0ÐG@[̋U W} u E+v p3PPPPPj}SVuuuEPuuEB3 ;؈D>}9E|-;t%;v!MxMMQPYYtjX^[_SQw SQwL$ KCk UQPXY]Y[̋UM V3;v(j3X;EsVVVVV 3MQuYY^]̋USVu3W;upSSSSSnF @t F F tvF=PVYP F;t{tvF uEVYt'VYtV׋ V׃k$YY @$HN+I;N~WPu   EEE ttȃk$ @ tjSSu #ƒt&FM3GWEPu   E9}t N E%_[^%$%ĩԧ*YmͨG[_sR$4B" 0".\n~FxbR8,jR:~*6H\p`~pdVF<2(vlmemsetmemcpyh_strnicmpstrchr^_stricmpS_endthreadex_beginthreadexV_errnoz_struprj_XcptFiltermallocfree_initterm_amsg_exitmsvcrt.dllcallocisdigitisspacembtowc__mb_cur_maxisleadbyteisxdigitlocaleconv_iob/_snprintf1_itoanwctombrealloc__badioinfo__pioinfo_reado_filenoK_lseeki64H_write_isattySetLastErrorHeapAlloc HeapFree1CloseHandleInterlockedExchangeGetOverlappedResultGetProcAddressDLoadLibraryABSleepFSwitchToThread~OutputDebugStringAhGetLastErrorInterlockedCompareExchangeDeviceIoControlKCreateEventA~WaitForSingleObjectResetEventSetEvent'CancelIoWaitForSingleObjectEx InterlockedIncrementInterlockedDecrementOCreateFileAvGetModuleHandleAGetProcessHeapCSleepExInterlockedExchangeAdd>GetCurrentThreadIdResumeThreadQueueUserAPC HeapDestroyHeapCreateRtlUnwindQueryPerformanceCounterGetTickCount<GetCurrentProcessIdGetSystemTimeAsFileTimeJTerminateProcess;GetCurrentProcess[UnhandledExceptionFilter6SetUnhandledExceptionFilterKERNEL32.dllRegCloseKeyRegQueryValueExARegOpenKeyExARegEnumKeyARegEnumValueAADVAPI32.dllRegisterDeviceNotificationA;SendMessageAPostMessageAEnableWindowShowWindow`CreateWindowExAFindWindowAPostQuitMessageUnregisterDeviceNotificationDestroyWindowKillTimerzSetTimerDefWindowProcARegisterClassExADispatchMessageATranslateMessage:GetMessageAUSER32.dll_̄NddX{\z6{y{zz vxuygvqy,yV'[TQRuUS TRWZTROS[ `}bbadd!abdmdŸ;ʠ{/)H 6-/ 1+8 k!#D,!2.& (3 X 12"|"w$0*,.*2* #$'0ȤؤУ0`@p P.AQeu#-;ESbly ",7FZez(AThy !2AVk:\q&7Yn  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abclibusbK.dllHotK_FreeHotK_InitIsoK_EnumPacketsIsoK_FreeIsoK_GetPacketIsoK_InitIsoK_ReUseIsoK_SetPacketIsoK_SetPacketsLibK_CopyDriverAPILibK_GetContextLibK_GetProcAddressLibK_GetVersionLibK_LoadDriverAPILibK_SetCleanupCallbackLibK_SetContextLstK_AttachInfoLstK_CloneLstK_CloneInfoLstK_CountLstK_CurrentLstK_DetachInfoLstK_EnumerateLstK_FindByVidPidLstK_FreeLstK_FreeInfoLstK_InitLstK_MoveNextLstK_MoveResetLstK_SyncOvlK_AcquireOvlK_FreeOvlK_GetEventHandleOvlK_InitOvlK_IsCompleteOvlK_ReUseOvlK_ReleaseOvlK_WaitOvlK_WaitAndReleaseOvlK_WaitOrCancelStmK_FreeStmK_InitStmK_ReadStmK_StartStmK_StopStmK_WriteUsbK_AbortPipeUsbK_ClaimInterfaceUsbK_CloneUsbK_ControlTransferUsbK_FlushPipeUsbK_FreeUsbK_GetAltInterfaceUsbK_GetAssociatedInterfaceUsbK_GetConfigurationUsbK_GetCurrentAlternateSettingUsbK_GetCurrentFrameNumberUsbK_GetDescriptorUsbK_GetOverlappedResultUsbK_GetPipePolicyUsbK_GetPowerPolicyUsbK_GetPropertyUsbK_InitUsbK_InitializeUsbK_IsoReadPipeUsbK_IsoWritePipeUsbK_QueryDeviceInformationUsbK_QueryInterfaceSettingsUsbK_QueryPipeUsbK_ReadPipeUsbK_ReleaseInterfaceUsbK_ResetDeviceUsbK_ResetPipeUsbK_SelectInterfaceUsbK_SetAltInterfaceUsbK_SetConfigurationUsbK_SetCurrentAlternateSettingUsbK_SetPipePolicyUsbK_SetPowerPolicyUsbK_WritePipeWinUsb_AbortPipeWinUsb_ControlTransferWinUsb_FlushPipeWinUsb_FreeWinUsb_GetAssociatedInterfaceWinUsb_GetCurrentAlternateSettingWinUsb_GetDescriptorWinUsb_GetOverlappedResultWinUsb_GetPipePolicyWinUsb_GetPowerPolicyWinUsb_InitializeWinUsb_QueryDeviceInformationWinUsb_QueryInterfaceSettingsWinUsb_QueryPipeWinUsb_ReadPipeWinUsb_ResetPipeWinUsb_SetCurrentAlternateSettingWinUsb_SetPipePolicyWinUsb_SetPowerPolicyWinUsb_WritePipep 0xp N@D 5 @ @@@@ @P@$@@ @4@N@ p+ŝi@]%O@qוC)@D@<զIx@oGAkU'9p|Bݎ~QCv)/&D(DJzEeǑF e uuvHMXB䧓9;5SM]=];Z] T7aZ%]g']݀nLɛ R`%u?q= ףp= ף?Zd;On?,eX?#GGŧ?@il7?3=BzՔ?aw̫?/L[Mľ?S;uD?g9Eϔ?$#⼺;1az?aUY~S|_?/D?$?9'*?}d|FU>c{#Tw=:zc%C1E>O>z>>>>$?,?6????0*020<0 111111*2222333334*4]4r4|444444444444444444455 5555&5,51585>5C5J5P5U5\5b5g5n5t5y55555555555555555555555 6 6666!6'6+61656;6?6E6I6O6S6Y6]6c6g6m6q6w6{6666666666666$7*757[7a7}777<8j8~88888888999H9P9Z999999$:,:6:a:::::::;1;];e;o;;;;;<8>0>V>>>>> ?)?]?n?v????@0G0O0Y000000!1)131m111112 22Z2~22222$3-3;3I3W3e3s333333334 44!4,4N4Y4d4o4z44444444444444 5.55656]67<7R7w7777B8889999:h;;;;[>>?H????P'0,0m00000l1111122"2j2r2|22223/3Z3b3l333344(444445555555566>6666666 7!737?77778"8889":8::::2;:;D;n;x;;;;;I7>J>S>c>>>>>>>????` 00?0R0Z0u000,141>1c1{111111"2<2O2222222 333R3n3333344V4444444555 6Y6_6m6C7I7W7o88w9}999$:*:U:n:y:::::;P;g;o;;;<#<+ >(>>b??pW0]0k00000w111%2-272233'323=3H3S3w33333333333 44(464D4R4]4h4s4~44444444444444444455 555555#5'5+5/53575;5?5C5G5K5O5S5W5[55566'666888#8'8+8/83878;8?8C8G8K8O8S8W8[8_8c8g8k8o8s8w8{88888888888888888889b999::!:+:q::::;f;;>3>?>J>R>]>j>t>y>~>>>>>(?U?k????4090K0P0d0u00000 1151r111111122&272P2222222R3e3o333333334\4r4444445 5%565G5`55555666)6B66667-77718D8L8S8Z8s8|8888888T99999: :.:4:;:J:U:c:k:::::::;;;P.>>>>>>>?2?7?N?_?s?~?0 0090?0Z00000000001!101=1H1U1r1111111111 2)2`2y2222222222223 333"323G3R3h3n3{3333333334 4444 5.55066?77p8X9e9999M:^:d:o::::::U>[>>????!0)030Z0f0t0~00000001Q1Y1c11162<2h2222213t3z33555566 626;6L6d6y6~6666666666677#7>7D7K7V7`7v777778g9q9999 :(:::::;@;t;; ???z01*111112252X2e2q2y2222222222222233333%3-353A3J3O3U3_3h3s333333455855666(7c7e888'99 == >z?@V22335556V6A7k777!8_88889k999:@?X1Z33333333333#444E55555{6S7I8Q899::';-;=;;;<==M>/???xp0v00&1=1r1E33:6Q69999999999999Q:V;g;;;;;3>>0!0 +R=Of6nD 0 0 #0  *H 0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0 990128130000Z 170127120000Z01 0 UBE10U GlobalSign nv-sa1%0#U Primary Object Publishing CA100.U'GlobalSign Primary Object Publishing CA0"0  *H 0 u* q$ߡb)ܞusVWiVOȼX&r `UWɡt@lS7y>R8,3RpJ]bg^JʼݍGe[Kk͎.P補&k6cApD_%uyP}_F UGӑFh'AQzDhqXoB fuFD0cDpVoX*'.qRmF+HdRtE xs r^s00U0U00UQy| Y:x-M03U,0*0(&$"http://crl.globalsign.net/Root.crl0U% 0 +0U#0`{fE ʉP/}4K0  *H x|}jq)0`bCns v[}NI/@oT*= ܙ zw/@ČNr|d+lך|FMB;ۜ?2aW6fDo7NV%mbby\BӜ#dE-~[NÊ)xA4N,\%%1Mr)KH7oNJE~/1Rg4_'jfRZǬ0, 8+:E{ sV*Ql/00  f0  *H 0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0 090318110000Z 280128120000Z0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA0"0  *H 0   Mh36<S{Fbw7~O"PƗ=yT}LĈ,ơ_:d+> zVτ΍5:4l-w0g: D:CrAFud%lGGގc}Udros?99\IcC"֫t0OZm:34;bz-MK0 y}ӗjZM _Pl`R.tޗE!{Udtk_llC$7IHvIP!ʅs <].^M2eVű?'I0;ŧp[Z]a4XQ2Te+l gcZ$t# fdIU^ZV*-5761z;…00U#02357ev.E,0<U50301/-+http://crl.globalsign.net/Timestamping1.crl0Uds֕yȏϥ`)0 U00U0U% 0 +0KU D0B0@ +20301+%http://www.globalsign.net/repository/0  *H 6U\yzmVU+Ȼ`{Gm@>Վ/RhrJ`+02http://secure.globalsign.net/cacert/ObjectSign.crt09U2000.,*(http://crl.globalsign.net/ObjectSign.crl0 U00U0U% 0 +0KU D0B0@ +220301+%http://www.globalsign.net/repository/0 `HB0  *H Q$yPx}1E윕[=f4°a?[oJ#XBNGDQ/UXH,%Citʐq$ӹzW{Y;h͇l +T`.\ z /~v's)FnFWS] q 1h>-g)0:OxYzxZH BגE|fxk?-4bǵ=Fn=~p,!zzKs[D3;00 #$0  *H 01 0 UBE10U GlobalSign nv-sa1%0#U Primary Object Publishing CA100.U'GlobalSign Primary Object Publishing CA0 040122100000Z 170127100000Z0c1 0 UBE10U GlobalSign nv-sa10U  ObjectSign CA1!0UGlobalSign ObjectSign CA0"0  *H 0 pÌ &ogYL±ESuA6op(|mr%e: {^78KX IX&Ymƹ%bN l]pӛ) X|Չ5W˛俔_wty@!c8sڥEM*<(u|`%N-ֵ4<8:=ıg0c0U0U00U[K&K]V.8NS0JU C0A0? +220200+$http://www.globalsign.net/repository09U2000.,*(http://crl.globalsign.net/primobject.crl0N+B0@0>+02http://secure.globalsign.net/cacert/PrimObject.crt0 `HB0U% 0 +0U#0Qy| Y:x-M0  *H jm"pe.]30lxKōzjX9k (]v|o6C1Y8أ;gXa>;[ADk&^ee?w륆*X)V@W,ca7f%9 .6%|~ӣvu0vA5!h^\`@]Tnng+۷Mf!>GBa,&=ɧxnt,Fr 500g a k0  *H 01 0 UUS10U Washington10URedmond10U Microsoft Corporation1)0'U Microsoft Code Verification Root0 060523170051Z 160523171051Z0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0"0  *H 0 晍ΣO~%kH*cgfH+)e-˫Lp= 0OԌPP.R}m50^CsAj㲉:V98o:-7o캬j<ߋ%笼bE1ݤ rxC̺9]Z^FQ3զXgfXʭ!ښn t(_M]%i%TDÛ)3<S*'3.|XmN_󚝌Q:Z\/5T5R34:j :e3N&I끒M2K#3qk漷lA:q3Pt;]>L&86 cyԮ/a6JK3rA~F9{uAYBGpwKF#rտiX<\FՁneYw2ddSɠ(*l8сΘ@,C&_D0S /z`'RB7(yH0] R-g f(o$a100r0c1 0 UBE10U GlobalSign nv-sa10U  ObjectSign CA1!0UGlobalSign ObjectSign CA /s0 +p0 +7 100 *H  1  +70 +7 10  +70# *H  1CUcO^Vn0  *H % DH]餔}p rms2MŝƯZz:ݓ Z6pD7Db۹suwѤ'3&SPi[3&`%n\\\TcMfw0e[ ~F)SsO1d-P@* !8w2 ЙČؑw=ޥsԍB< -iK$Odb(ޮ,C ag뢻bU~`졂0 *H  100c0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA %0 +0 *H  1  *H 0 *H  1 110929195206Z0# *H  1.[i22  ")i0 *H   1000}k$}[[A~Il0g0XV0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA %0  *H ֽi)XGˀZh 8||ԥ7~{D[^07K$)L q^`RRcg.S&ˉR27QB~x:Qv+p<\MZrԺ_SB|!aw^eƨ k {O=ҵ2#m(w}PR!cJ0Zl5_Ӻm;iW ^=qy[;hcWb's8Ž[q'MZ@ !L!This program cannot be run in DOS mode. $y***^**E****Y**Y**U**C**Y**_**B**G**Rich*PEd#̄N"  x,}_ P` .text$st h.rdata x@H.datap@.pdata@HINIT .rsrc@B.relocl@BH8HpL qLqHD$(HpHqH %qHD$ qhH8H\$Hl$VWATHHH3H$pHHT$8H$3LnH HH$HL$H$HHH$$_H$ 3LnHҐHT$8H >DcL$ H$P$ D$8D$<ŔH$HekH$HD$xHL3D$p(DŽ$H$$nHHT$8H L$LD$pH$$D$D$%HT$8H iDCHT$8H SLDH$XL3|mH=H &LL$0L$XHT$8H$$XD$pD$tLHT$0H ԝHL$0HH(AH ןẢHHY`MH$p3AlL nLnH$p\$ r}H$pH$T}HT$0H @L$*y A+A;0HL$@3LUlHT$0H LD$@\$@l$Dl$Hl$Ll$Pl$Tl$Xl$`l$dt$ht$lDd$\ҒXH$3LkHT$0H HVL$E3H$HX$H$HB$H$H$D$$$HD$ h؅H-{H-HH H3H DHHtt$`3L$$d$h$lH HH$`H${x#HT$0H xL$`E3G؅x A;iH$pH3\cL$I[ Ik0IA\_^H\$Ht$WH LHHH Ô3HH9p0t31H;|%H;|H;| Hh;LH\$0Ht$8H _3H\$Hl$Ht$WH HILHH m/LH YHHH FHH8H3f;t.HHaH;tHNHP(H I-H DHH\$0Hl$8Ht$@H _H%H\$WH LHHH pHHtQH8tKH HbL3LA8P>v"IX L9uH!A@>H ;|H-H\$0H _H\$Ht$WH@L6HHH ےHHx0uH LH0E3HzHS0H ߘLnHL$ L3 hH t$ HS0c8LD$ C<C=,D؅x*L$0t C8L$0tC<L$0tC=C8-AH\$PHt$XH@_HHXVHL>HH $3fpHpܑH HP0L$E3H=#f9$DF8HL$@3gFD$@8D$XD$\HC0HD$`H$s $HL$0H$HL$(H HT$@AUSBKE3HD$ ;|FL$HS0H TL$;D|$C H$@s$HCAH$HĀ^HHXHhHpHx ATH@LHH ޖ3H ϖHP0HG><u#] HL$ 3Le\$ D$$йAUSBKHvHHu P@2@8w>v.HW0H Z@DH@DHD@:w>r@w> HL$ L3ge\$ @tD$$@t$(Hl$0D$$HW0H LL$ E3HW0H ̕HW@HψG>wHb(HGB BBBBxM28_>vFH HL9@ HIA\$xIH]x :_>r_>HtUSBKH8uH\$PHl$XHt$`H|$hH@A\H\$Hl$Ht$WATAUH LHH ӔLx>v?x>HX Ct HHADHHuH HuIU0H zdDxIU0H bTDAE>tDIX Ct&HHHtz uIxHHuH HuH\$@Hl$HHt$PAH A]A\_H\$Ht$WH 2HH8Zv"HTHtz uH:_rH\$0Ht$83H _H\$Ht$WH@DBHHQ0HH l.H _HH#HH ILO DG HH /2ۈG3HL$ DBTbHH LL$ DD$ ̑LHT$(LF@HʃHH ʀ|$(HLT@MDIz(u IHcLTMZ(D$,t~ T$$ !T$0$T$$~8 iE;T$0GT$0T$0IJHT$ AZ:_3H\$PHt$XH@_È_H\$Hl$Ht$WATAUHHyIHHu2BtKB:A>r3H HH1@ IHugL$I[ Ik(Is0IA]A\_DB28Q>vH HD81L t:V>r3HH HH1@ L/IHӁ|IUH &D$ D3EHD$!tBAf9EP]IUH LL$ D+H/8] uC3!2EIUH LL$ DUD\$#D;]tA:rA8HL$@3M_3Dd$@HD$0HD$8D$XD$0D$4\$8D$\E28EvOAH\Ht8HC HtHH HS(HtH A͈AD:erHH LL$0HLD$@؅yHHHH HvL'@2AD$ A8l$v:@I\H{ uHtCtH pbE3L@A:l$rHH؅HHRHyLuBt-B:A>r3H HJ @ IHu5DR28Q>vH HF8 L t A:Q>rIH%HyLuBt-B:A>r3H HJ@ IHu5DZ28Q>vH HF8L t A:R>rI HH%| HI;tHt5L3HyMLuBt-B:A>r3H HJ@ IHu5DB28Q>vH HF8L t A:R>rI HH%|!HHtI;t5H3D$HtED$DB AD Ay8DHAM%D A DD$D$B0H\$DLY@IAHI €HH\@IDۀ{ @H{(5HH)LT$(Mu C0AD+D+D+tmD+tKD+t)D; 3A9 AALM 3A9 AALM y3A9 AALMz\3A:AALM\CAQ3A9 AALM9 3A9 AALM"A3A9 AALMAD+AtzD+tYD+t1At 3A:AALMCD@3A:AALM63A9 AALMtb A3A:AALMtEf#fA73A9 AALMt#3A:AALMtK A  H\$H\$WH`3-Hs!-@8yHD$hH@@HD$XHt$xxAd$0s H5>B3HL$@DBXO$;D$LD$HT>HD$hH@HD$`3HL$@DBXiOH*>HD$hD$@X|$H\$D"H$@H H$HHR(L$LD$@HD$ wDLqH$HH fyIT$H@(3HC8HC@IL$(H HKD@G8H$L3NL$H$L$DŽ$DŽ${ tS{t{uGS HCPHKHHD$0HL$(H HT$ H$AUSBKE3]xDx L$HM7L$AI[@IsHIA_A^A]A\_H\$Ht$WH H2Hz(HHt$8u zHtBtz@u31LD$8B@ix`HT$8HHt H ?~1xH3Hu x6x-{t=HS(H ~vy&H ~HwC H\$0Ht$@H _H }HvC H\$Ht$H|$DHHAE3LbMH3IfHHA;u)HKAEtAf9u#HIHu3tAIAs_IcHV@H @HabfLH jE3He@:uH jHe;G@HO8D$%A,D:t1HG8@,t'H,HЋ+ȃJ,:"D$H$N,Fșƒ+HcHD:t$HH$V,H0H$N,H iE3DHEeH$HĐA_A^A]A\_^]HHXHhHpHx ATH ILZLHH 4iI3bH "iHPH[E3Hb;L}e@ st tHE8@1f;~ ADfFAF}-HNIBAfAH fF HD;|;|A{$H hDDIH\$0Hl$8Ht$@H|$HH A\H%$dH\$HL$UVWATAUAVAWH0ApIQHH 4hE3I3a;H}0e@  HE8@1@$;;EHE8@9HH$DDLMc<$AL$D;$~^D;}YH;u8DEHT$pH zgL$H\$ Oc;Ë|FH$$HcIcMHH/H$AEI D;v;|_$HT$pH gDDbH\$xH0A_A^A]A\_^]H\$Hl$Ht$WH AXIQHHH fE3I38`;}!g@ st t HG8@1p$H fDDHH\$0Hl$8Ht$@H _H%bH\$UVWATAUAVAWHLWHH ,fL_H fHHp^LWH fH_HHD$@Ht0H~8u KL4WH eH_HHu }8HH eAdLHt֋O u 3Etƒ++;~ ;O~̓~DmH 8eL$D<Iu a a؅*8HL$H3L?4H$HNHHT$0HL$(H dAHT$HAUSBKE3\$HD$`D$dLd$hHD$ ^؅38_0tf@r 8_1t+f@ s$HH wdE3E3b;| G(_0_1H$E33L$ fE;H$LcfHH$LpH$H$H$HH0H$H$H$@ H$H L;~HH$H W IuN@ $tFHV88Z(Z( LF8HT$@H xcHR0I,Ba;HF8X,H$H LNHHH AcMH\$ a؅xLH &cLLI3^LH cE3I[^uH bIO^؅yH bE3DI^H$HĀA_A^A]A\_^]F@HN8%A,D:t&HV8B,tJ,+ȃJ, :H$O,Gșƒ+HcHD:t$HH$W,H0H$O,HHXUVWATAUAVAWHL`S)pHH a)xLD)@[H aHHZLRH aHV[HHD$`Ht0H8u KLRH baH![HHu ~8HH 9aA`HD$hHtwBD'3ҁAt;E vH:u tEƙƒ+…~ +q=J3AE3fn[ȉD$Hƙ+D+D;$0fEnE[D^tW(A\D( (H P`LD$PIu0\0\؅hv3HL$pDB8$8U/HT$@HOHAUSBKHT$0HL$(H _HT$pE3D$p8DŽ$DŽ$L$HD$XHD$ %Y؅38]0tg@r 8]1t,g@ s%HUH ~_E3E3];| E(]0]1LD$XHL$@3.L\$@$8fAHD$@ fHHD$@HL$hHHHD$@HcH;ӉHD$@HL$PHH0HD$@H$HD$@X ~aD$0DL$HHHD$@DED;~2AXD:t/sW\X/rW\XAAH HuO@ $tFHW88Z((Z(LG8HT$`H \^HR0I,&\;HG8X,HD$@H LOHHUH '^MH\$ \؅xMH ^L!LI3YLEH ]E3I@YuH ]I4Y؅yH ]E3DIpYL$I[@A(sA({E(CIA_A^A]A\_^]G@HO8%A,D:t)HG8@,tH,HЋ+ȃJ, : HD$@M,Eșƒ+HcH׬D:t!HHD$@U,H0HD$@M,HHXHhHpWATAUAVAWHpHHH \LpULMH \HRVL NH |\HL8VE3@H@`xx $ "L|$@L|$8Ht&D8xu At$ Il$AII;t]A;tXH [HD$8LL$@AHHD$ WA;HL$8HH;B΋DHL$@/$LE3n@ uXxuRH [LD$0HKWA;>;s #/HD$XHHD$`uMIH MSGHC8I;'C$C )$"+H ]MHD$PLL$8AHHD$ 'IA;NjHD$HLD$PDD$0PƒtsH @HÜHII;tF9uBHD;s #L$0@-HD$8ttf ARMBDHHH LH$LL$8AHHD$ PHA;Nj$LL$8HΉD$0HD$0HD$ HD$HD@ PKA;NjpD|$0fAJHV@HHH AzHHD@HDI;)D8x HI;HL$HARAD$DA LIHΉD$ H KHD$PLL$8AHHD$ lGA;NjLD$PHD$HDD$0PA;tsH RH HII;9HD;;L$0-@H KHD$PLL$8AHHD$ FA;Nj4HFI;t HHD$8HD$8D8D$0H JHD$PALL$8MHHD$ ~FA;NjLL$@MHHL|$@ϻm8$"6$VAJHV@HHH AzHH|@HDI;D8 HI;yD8@tHHA;_HL ;H IgCHC8I;;C$C Z$"?AJHV@HHH AzHH|@HDI;D8 HI;D8@tHHuA;HLj:H IBHC8I;C$C U$"AJHV@HHH AzHH|@HDI;KD8 AHI;5D8@tHHA;HL9H aH#BHC8I;C$C R$"CG0C@GCDCA;tCDL AJHV@HHH AzHH|@HDI;D8 |HI;pD8@tHHA;VHL9H G^AHC8I;2C$C M$"6H hGHD$PLL$8AHHD$ 2CA;NjLD$8HV0H /GEA;NjjD$0]H GHD$PALL$8MHHD$ BA;Nj*LD$@HHL|$@蝷H FHD$PALL$8MHHD$ BA;NjLD$@HHL|$@pyAD8~>HX L9)uL9F>H ;|^H AFHD$PALL$8MHHD$ BA;Nj|eLL$@MHHL|$@ A;Nj|FHT$@I;tL6H EHH>HMHHDGAE   AȍF$DHHIT$@H AHI|@HDH HHty@tHIxiHL5H TD>HC8HtDD+CCts G0C@GCDCtCDLH DHG@x H CE3DH?H\$@Hl$HHt$PH A]A\_H\$Hl$Ht$WATAUH HHH CM. ";L4H CHB=H sCHL?L4H YCH=L4H BCHH<HHHDGAE   AȍF$DHHIT$@H AHI|@HDH HHt|@tHIxlHL3H BC<HC8HtGCD+Cts G0C@GCDCtCDLH :BHq>x H BE3DH=H\$@Hl$HHt$PH A]A\_HHXHhHpHx ATH MLU3HH AIH;HHHx8u AKL2H AHJ;LHtlD$P4 ";w=t%- "ttttt]tXu8MLHHa-M "t6t1-t׃t҃thtcAH AE3H<}ACt[w7f@HHsACtQFJACt<5A{u HHU!A ACHHt)~H\$0Hl$8Ht$@H|$HH A\H\$Ht$WH HHHH 5@8L81H !@H9L1H @H9HHHx8uAKyL?1H ?H9LHtTH8uAL@t*w6ACt/f@HHsl4-ACt HH!AH f?E3H;H\$0Ht$8H _H\$Ht$WH HHHH %?7L(0H ?H8L0H >H8HHteHx8uAK\L30H >H8LHt7H8uA/@tQwACuf@HHs.AH w>E3H+:H\$0Ht$8H _ACuHHJH\$WH HAL/HH >7Ht%@tH =E3H@0G:@tH =H_9H\$0H _H\$WH HAL /HH =e7Ht$AAtH =HD@09@tH m=H8H\$0H _LI[IkIs WAUAVHH-H3H$HQ(Hd$0Ac3HACACACHu H <HD$0AHD$(Hd$ AE1Am7H$3L HC(H <L-H$H$$D$D$K0HL$XL3 H-H HL$8HD$xl$XDl$pDl$t.L-HT$0H <LL$XLD$8L\$ 6H-H ;/3L5H-H ;D/H ;LD$HH8H$HL$HH$HI;ДuHPI;ؔu3t\H$HI;uHPI;Ȕu3t.H$HI;uHPI;u3uH-H :D.A; H-H :.uHgHO HL$8HT$0H :L-LD$8v5y-HD HL$8iHT$0H U:L-LD$8;5y-HI HL$8.HT$0H :L-LD$85y-HN HL$8HT$0H 9L-LD$84y-HC HL$8HT$0H 9L-LD$84y ǃ-H5 HL$8zHT$0H f9L-LD$8L4y-3HT$0Ht H 693H$H36L$I[(Ik0Is8IA^A]_LSHH)H3H$Hd$ Ac3HD@8IK3ACACACD$`D$dH-H HL$(D$H8HD$hH v8LL$ LD$HHT$(y5xGHT$ H Q8LD$8f5H$HL$8+xLD$ H-H 8,H$H3HĠ[ffH; (uHfuHH8L u(Lf(Hd$ Hѹ%fffffffLH+Irbt7t  IȈHtf IfHt  IHMIuPMItH HHIuIMuIff HIuIffffffffffffffffIsBH LT H HALQHD LT IHALQuIrfffffffffHr  D @HuH@L LT L LQLL LT LILQLL LT (H@LILQLL LT LILQuIIq $ffffffffffffffftoIIrat6t HɊ IȈtHf Ift H IMIuPMItHH IHuIMuIffHɊ IȈuIffffffffffffffffIsBHD LT H HALQHD L IHALuIsffffffffffHw H D @uH@LL LT LILQLL LT LILQLL LT H@LILQLL L LILuIIq $H(H $L%4H$H 3H(H(H3HtHH;tH(H\$Hl$Ht$WH 3HHH;u 3dSH 3H l3fg3H3f-W3HX3jL c3L$$H53H[;H $E;ŋ|mHHR;ŋ|WH3@8h0t$H2H9ohHEGhH2HHGh"@tH,H2HH,3H\$0Hl$8Ht$@H _H\$WH HHSHHH\$0H _H\$WH H%HH %H%H;tEH;w@HC@HtL82H WLHH 2LH;HPH;Z%vH\$0H _H\$Ht$WH H3H!%H5%H;sN;PuDHC8H %HtL1H LHH1LHx HP벸H\$0Ht$8H _H\$WH H$H $H;s >?p?AAA,BFTFG<G]IxdIIIGN$PNkStSHVPVVpVjXj{l@lQn@Xno<opqrr|r,rr,rGwLPwKx8xx |:|pL|s|p||}}},}K~,T~~~D, pH\$WHPHHHHD$(HL L'H0H 9HD$ e3DB HL$0/H Hd$(H?E3LHD$8H?HHD$@HD$0D$0 HD$ ؅y H H\$`HP_H-H2-+HtH;u/H H HH3HH#HDHHH12:50:58Sep 29 20113.0.4.0libusbK.sysDriverEntry[%s](%s) v%s built-on: %s %s Test 08 VBh~*x1DbgPrintFExAllocatePoolWithTagXExFreePoolWithTag_snwprintf>RtlInitUnicodeString&RtlGUIDFromStringKeBugCheckExntoskrnl.exeUSBD_GetUSBDIVersionUSBD.SYSRtlCopyUnicodeStringWdfVersionUnbindWdfVersionBindWdfVersionBindClass WdfVersionUnbindClassWDFLDR.SYS0 H`HH4VS_VERSION_INFO?StringFileInfo040904B0h$CompanyNamehttp://libusb-win32.sourceforge.netdFileDescriptionlibusbK(lusbk) WDF USB Driverf#FileVersion3.0.4.0 built by: T. Robinson8 InternalNamelibusbK.sysTLegalCopyright T. Robinson 2010-2011@ OriginalFilenamelibusbK.sys8 ProductNamelibusbK.sys4ProductVersion3.0.4.0DVarFileInfo$Translation Уأ (08@HPX`hpxpȥХ(0@HX`pxЦئ 08HP`hxȧا (8 0HXpСࡘ` 0 O *H  @0 <1 0 +0h +7Z0X03 +70% <<<Obsolete>>>0!0 +ܔ;xCKpPʈQzrJ0 0 #0  *H 0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0 990128130000Z 170127120000Z01 0 UBE10U GlobalSign nv-sa1%0#U Primary Object Publishing CA100.U'GlobalSign Primary Object Publishing CA0"0  *H 0 u* q$ߡb)ܞusVWiVOȼX&r `UWɡt@lS7y>R8,3RpJ]bg^JʼݍGe[Kk͎.P補&k6cApD_%uyP}_F UGӑFh'AQzDhqXoB fuFD0cDpVoX*'.qRmF+HdRtE xs r^s00U0U00UQy| Y:x-M03U,0*0(&$"http://crl.globalsign.net/Root.crl0U% 0 +0U#0`{fE ʉP/}4K0  *H x|}jq)0`bCns v[}NI/@oT*= ܙ zw/@ČNr|d+lך|FMB;ۜ?2aW6fDo7NV%mbby\BӜ#dE-~[NÊ)xA4N,\%%1Mr)KH7oNJE~/1Rg4_'jfRZǬ0, 8+:E{ sV*Ql/00  f0  *H 0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0 090318110000Z 280128120000Z0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA0"0  *H 0   Mh36<S{Fbw7~O"PƗ=yT}LĈ,ơ_:d+> zVτ΍5:4l-w0g: D:CrAFud%lGGގc}Udros?99\IcC"֫t0OZm:34;bz-MK0 y}ӗjZM _Pl`R.tޗE!{Udtk_llC$7IHvIP!ʅs <].^M2eVű?'I0;ŧp[Z]a4XQ2Te+l gcZ$t# fdIU^ZV*-5761z;…00U#02357ev.E,0<U50301/-+http://crl.globalsign.net/Timestamping1.crl0Uds֕yȏϥ`)0 U00U0U% 0 +0KU D0B0@ +20301+%http://www.globalsign.net/repository/0  *H 6U\yzmVU+Ȼ`{Gm@>Վ/RhrJ`+02http://secure.globalsign.net/cacert/ObjectSign.crt09U2000.,*(http://crl.globalsign.net/ObjectSign.crl0 U00U0U% 0 +0KU D0B0@ +220301+%http://www.globalsign.net/repository/0 `HB0  *H Q$yPx}1E윕[=f4°a?[oJ#XBNGDQ/UXH,%Citʐq$ӹzW{Y;h͇l +T`.\ z /~v's)FnFWS] q 1h>-g)0:OxYzxZH BגE|fxk?-4bǵ=Fn=~p,!zzKs[D3;00 #$0  *H 01 0 UBE10U GlobalSign nv-sa1%0#U Primary Object Publishing CA100.U'GlobalSign Primary Object Publishing CA0 040122100000Z 170127100000Z0c1 0 UBE10U GlobalSign nv-sa10U  ObjectSign CA1!0UGlobalSign ObjectSign CA0"0  *H 0 pÌ &ogYL±ESuA6op(|mr%e: {^78KX IX&Ymƹ%bN l]pӛ) X|Չ5W˛俔_wty@!c8sڥEM*<(u|`%N-ֵ4<8:=ıg0c0U0U00U[K&K]V.8NS0JU C0A0? +220200+$http://www.globalsign.net/repository09U2000.,*(http://crl.globalsign.net/primobject.crl0N+B0@0>+02http://secure.globalsign.net/cacert/PrimObject.crt0 `HB0U% 0 +0U#0Qy| Y:x-M0  *H jm"pe.]30lxKōzjX9k (]v|o6C1Y8أ;gXa>;[ADk&^ee?w륆*X)V@W,ca7f%9 .6%|~ӣvu0vA5!h^\`@]Tnng+۷Mf!>GBa,&=ɧxnt,Fr 500g a k0  *H 01 0 UUS10U Washington10URedmond10U Microsoft Corporation1)0'U Microsoft Code Verification Root0 060523170051Z 160523171051Z0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0"0  *H 0 晍ΣO~%kH*cgfH+)e-˫Lp= 0OԌPP.R}m50^CsAj㲉:V98o:-7o캬j<ߋ%笼bE1ݤ rxC̺9]Z^FQ3զXgfXʭ!ښn t(_M]%i%TDÛ)3<S*'3.|XmN_󚝌Q:Z\/5T5R34:j :e3N&I끒M2K#3qk漷lA:q3Pt;]>L&86 cyԮ/a6JK3rA~F9{uAYBGpwKF#rտiX<\FՁneYw2ddSɠ(*l8сΘ@,C&_D0S /z`'RB7(yH0] R-g f(o$a100r0c1 0 UBE10U GlobalSign nv-sa10U  ObjectSign CA1!0UGlobalSign ObjectSign CA /s0 +p0 +7 100 *H  1  +70 +7 10  +70# *H  1zv1ʸ<:ĉ%30  *H A{ jߎ݈xx½~NVKe%I}b W)[T0.~j=d1w_g)=5^} 0ۋ_LG01k|[W6ŞLm2Ÿy AG?o;u]օ8xO8V%D.Veȟ&;sHyw0`w J0 *H  100c0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA %0 +0 *H  1  *H 0 *H  1 110929195107Z0# *H  1`fB۾uIP0 *H   1000}k$}[[A~Il0g0XV0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA %0  *H 1U'pe8;Wi*(f=%5ɷ;l-(q_+"zBA AR0MNs=-?9!zc2:)9Ӣ?n$s!A=aWlsX"`䌏~x~ރb6auKw_kg,DNz\ Bh1720p3?QrA@]Ikj㜌sC%VqucL7ߵ.nb亁P<ͺ3ֵ`"MZ@ !L!This program cannot be run in DOS mode. $<;<]Uo]Uo]Uo.o]Uo%o]Uo%o]Uo%o]Uo]To]Uo%o]Uo8o]Uo%o]Uo%o]Uo+o]Uo%o]Uo%o]UoRich]UoPEd3̄N"  &^@)  dp ` T@.text$& `.dataH@D*@.pdata  n@@.rsrcpz@@.reloc(~@B'("(0((%%%%%z%%&& &8&l%V%J%>%%'''~'d'N'>'$'.%'&&&&&&&|&j&`&R&F&L(j((((((((()").)@)T)`)n)$%%%%$$$$$$$$$$$z$p$f$\$R$H$>$$ $$##########3̄Na  Invalid parameter passed to C runtime function. `(null)(null)EEE00P('8PW700PP (```hhhxppwppwinusb.dllWinUsb_AbortPipeWinUsb_InitializeWinUsb_FreeWinUsb_GetAssociatedInterfaceWinUsb_GetDescriptorWinUsb_QueryDeviceInformationWinUsb_SetCurrentAlternateSettingWinUsb_GetCurrentAlternateSettingWinUsb_SetPipePolicyWinUsb_GetPipePolicyWinUsb_ReadPipeWinUsb_WritePipeWinUsb_ControlTransferWinUsb_ResetPipeWinUsb_FlushPipeWinUsb_SetPowerPolicyWinUsb_GetPowerPolicyWINUSBLIBUSBKLIBUSB0Unknownlibusb0 filterWinUSBlibusb0libusbK{6C696275-7362-2D77-696E-33322D574446}{20343A29-6DA1-4DB8-8A3C-16E774057BF5}{F9F3FF14-AE21-48A0-8A25-8011A7A931D9}{A5DCBF10-6530-11D2-901F-00C04FB951ED}`Ppusb\\.\libusb0-%04dSYSTEM\CurrentControlSet\Enum\ClassGUIDDeviceDescMfgServiceVID_%04X&PID_%04X&MI_%02XReferenceCount\ControlDeviceInstanceSymbolicLink\#LUsb0\#\Device ParametersSYSTEM\CurrentControlSet\Control\DeviceClassesshlwapikernel32 64AllK required contiguous memory = %u (%sbit) HotK %u %s Handles: HandleSize %u PoolSize %u (bytes) LstKLstInfoKUsbKDevKOvlKOvlPoolKStmKPathMatchSpecACancelIoExKLST_DEVINFO = %u bytes HotK_NotificationWindowClass%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02XHotK_NotificationWindow_%uRSDS t0t"tucHHH|HsHjHaHwXtLt>t0t"ttH!7HJ+HA"H8H/H&HH23H(H\$Ht$WH yHtHA aHtLA(Hc Hs@H>HtAH3HHt0Ht!LMtItH '3H&HK0H{`HHt+hHt!LMtItH '3kH'H{HHt!LMtItH i'3AH'Hht!LMtItH B'3H#H\$0Ht$8H _@SH yHtHA aHtLA(Hc HK0Ht辂H [H\$Ht$WH HH &A3HH;u KHO0HqhHG0H9Xht HxhtHt$8H\$0H _LI[IkIs WATAWHHA0AcHHXhIKE2@2Ht3IKIKIKHd$0HL$hAD|$(HL$ HH0LD$hEϺH "BSQHL$lHHHAHAHD$PHt3HD$PHD$XHD$`HO0H$LD$PHI0HD$0HD$PEϺ$"D|$(HD$ R@t$P؅t$t@u]HD$P@2Ht3HD$PHD$XHD$`HO0L$THd$0HI0HD$PLD$PEϺ "D|$(HD$ XR؅gHD$@Ht 3HD$@D$HIHD$PHt3HD$PHD$XHD$`@@D$TD$X@HO0Hd$0HD$@HI0LD$PEϺ$ "D$( HD$ Q؅@tD$E@:t A:tDpDD$BH ;$HHuVHO0HYHHG0HxHu3zHD$BL$LD$0D$(HAHHI0LD$PEϺ$ "HD$ 'Q؅u:H0HHt0LMtItH #3H' 3ۋL$I[(Ik0Is8IA_A\_H(HH;rH)H;w rH(cbLHXHHLISHE3ISH HISHqISIcIc3^HXLHXHfE3E3ICHuICHICHICIcIS3k^HXH\$WH`H@HH;HH;/|u HK0HAhvHAH@8xtb/H}gHd$0@AD$DHI0HD$@DL$(LD$@ "HD$ OtHHHdtHp} 3H\$pH`_H\$WH HHHuJWSHH;rBHH;w6={u+HC0HHHHtAH| 53H\$0H _H\$Hl$Ht$WH`HAA@HH;HH;zu HD$@Ht3HD$@HD$HHD$PHK0@LD$@D$D@AD$HǺ$ "D$LH$HI0HD$0$D$(H$HD$ wMH˅u{{ 23L\$`I[IkIs I_H\$Hl$Ht$WH 3I@HL;IHҍH;HbH;y;u HG0HH`HH;tUJG8;t HRH;uH;tr%AŻHȃHH ȋEHtW3L\$`I[ Ik(Is0IA]A\_H\$Hl$Ht$WATAUH@AIDHDkEu WMtHH;HH;3ru H LCHHu H2Hu2HtHtH L3HsgHHLHD`衩HN0Hd$0HI0d$(Hd$ ELǺ $"DH }L3ҋPH@s 3H\$`Hl$hHt$pH@A]A\_H\$Hl$Ht$WH`II؋HMA8MH.H;rwHœH;wkpugHD$@Ht3HD$@HD$HHD$PHO0l$DHI0H\$0D$(LD$@A$$"Ht$ CHϋVrW3L\$`I[IkIs I_H\$Hl$Ht$WATAUH`AAE؋HE3AyMW=H<H;(H̛H;ou  HO0HA`HtHC;t$H[HuH;t H[HuHHD$@Ht3HD$@HD$HHD$PH!l$0AD$DHI0HD$@DL$(LD$@A$8$"HD$ BEt)t%KLIHO0HQPBD CG8%CH@HG0HHPd Hp 3L\$`I[ Ik(Is0IA]A\_EANoXEE3.H\$Hl$Ht$WH`HAA@HH; HH;/nu LS0IB`HtH@8yt"HIHuH@89t HIHuHAIrPH<@HD$@Ht3HD$@HD$HHD$PDd$LHd$0D$DHD$@ADL$(@LD$@l$HIJ0@$"HD$ @tlH)o"wHo b3L\$`I[IkIs I_H\$Hl$Ht$WH`IA@HMu AIWHH;HH;lu LS0IB`HtH@8yt"HIHuH@89t HIHuHAIrPH<@HD$@Ht3HD$@HD$HHD$PHd$0AD$DIJ0HD$@DL$(LD$@D$"HD$ V?t)D$HHˈED$HDm" Hm 3L\$`I[IkIs I_H\$Ht$WH`HHHH;rfHLH;wZnkuOHK0Hd$0HD$@HI0ALD$@DL$(H$"HD$ >tL$@Hl B3H\$pHt$xH`_H\$WH`HHH;rxHH;wljuaHD$@Ht3HD$@HD$HHD$PHO0Hd$0HD$@HI0ALD$@DL$(@ "HD$ =Hϋ;l 3H\$pH`_H\$Ht$HT$WH`H]~AIHH;HH;ju HD$xL$Ѐ HL$@EAMtKHt3HL$@HL$HHL$PHK0LD$0HD$DHI0LD$@A)$"A|$(Ht$ <sHt3HL$@HL$HHL$PHD$DLD$@HЃAHH HC0HHhHK0A)$"D$@H$HI0HD$0|$(Ht$ c<Hˋj *3L\$`I[Is I_H\$Hl$Ht$WH H|AIHHH;rAH}H;w5hu*HO0DLHI0HQHϋGj 3H\$0Hl$8Ht$@H _H\$WH`Hg|HH;rHH;wshuhHD$@Ht3HD$@HD$HHD$PHO0Hd$0ÉD$DHI0HD$@ALD$@8 "DL$(HD$ ;Hϋi 3H\$pH`_H\$WH`H{HH;rH>H;ws`guhHD$@Ht3HD$@HD$HHD$PHO0Hd$0ÉD$DHI0HD$@ALD$@< "DL$(HD$ T:Hϋh 3H\$pH`_H\$WH`HzHH;rHH;wsfuhHD$@Ht3HD$@HD$HHD$PHO0Hd$0ÉD$DHI0HD$@ALD$@0$"DL$(HD$ 9Hϋh c3H\$pH`_H\$Hl$Ht$WHpH5zAI@HH;HH;eu H$HtQHD$@Ht3HD$@HD$HHD$PHK0HT$0@ljD$DHI0LD$@A. "t$(Hl$ m8xHD$XHt3HD$XHD$`HD$h@L͉D$\@LIAL HC0HPhHH$HD$8BHI0@|$0D$(LD$X. "t$ 9Hˋf 3L\$pI[IkIs I_H\$Hl$Ht$WHpHxAI@HH;HYH;wdu H$HtQHD$@Ht3HD$@HD$HHD$PHK0HT$0@ljD$DHI0LD$@A) "t$(Hl$ 7xHD$XHt3HD$XHD$`HD$h@L͉D$\@LIAL HC0HPhHH$HD$8BHI0@|$0D$(LD$X) "t$ #8Hˋ]e 3L\$pI[IkIs I_H\$Hl$Ht$WH`HuwAI@HH;HH;cu H$HHH$Ht?HA DHD$@Ht3HD$@HD$HHD$PHT$0HL$IDD$ER$"&HD$@Ht3HD$@HD$HHD$PHT$0Z$"HK0@l$DLD$@HI0A|$(Ht$ V5Hˋ d"WqH d \3L\$`I[IkIs I_H\$Hl$Ht$WH`H!vAI@HH;HH;au H$HHH$Ht?HA DHD$@Ht3HD$@HD$HHD$PHT$0HL$IDD$EM$"&HD$@Ht3HD$@HD$HHD$PHT$0U$"HK0@l$DLD$@HI0A|$(Ht$ 4Hˋb"WHb 3L\$`I[IkIs I_HHXHhHpHx ATH HtIIDHپH;rdHKH;wXMuWQMt\`uHtAH3HHt0Ht!LMtItH $3H&HK0H{`HHt+ CHt!LMtItH 3H'H{HHt!LMtItH 3H'H\$0Ht$8H _H(HtHI0HtU]H(HHXHp WHP`H`HA0Hx8Hu|HH0HP8D2HC0@23HHPH@8HHC0HHPA -@@HT@HC0HHPHD$hHHC0HHP@| @HK0LD$hHI8iDuHD$@Ht 3HD$@D$HHK0HD$`E3HI8HD$0HD$@E3D$( HD$ %Dt|DD$BH rOHHu HHS0HrHHC0HxHu p3HD$BLD$`LD$0D$(HAHHI8E3E3HD$ CH\$pHt$xHP_LHXHE3HH S"ZHR E3H\$0Hl$8Ht$@H _HHXHhHpWH IA@H@ Mu AIWHdH;H|H;Pu HS0HB`HtHtp@8ytHIHuHtZ@89t HIHuHtGAHrPHT$HH<@H 9t0D$HȈELH~=HQ"0HQ 3H\$0Hl$8Ht$@H _H\$Ht$HT$WH0HcAIHH;rWHl{H;wKOu@HD$hHO0HT$HHI8HD$(HD$`DLHD$ 29Hϋ Q q3H\$@Ht$PH0_H\$WH HGcHH;rSHzH;wGNu<ÊLIAL HG0HH`JL8HϋP 3H\$0H _H\$WH HbHH;rSHJzH;wGlNu<ÊLIAL HG0HH`JL$8HϋP S3H\$0H _H\$WH H/bHH;rSHyH;wGMu<ÊLIAL HG0HH`JL7HϋvO ǿ3H\$0H _H\$Hl$Ht$WH0HaAIHH;rlH"yH;w`DMuUDLHЃHH HG0HH`HD$hHLHD$(HD$`HD$ 6HϋN 3H\$@Hl$HHt$PH0_H\$Hl$Ht$WH0H`AIHH;rlHbxH;w`LuUDLHЃHH HG0HH`HD$hHLHD$(HD$`HD$  6HϋN R3H\$@Hl$HHt$PH0_H\$WH HLa5Mu3z StHt5t'+t+t ;uH"HHHHHHt8+t++t+t;tHHHH*HaH4렃dtVtE+t5+t%t;HBsHgH[HROHCH:7tE+t5+t%+tHH|HHLH HH\$0H _LIKISMCMK HHHoH3H$0ICLDBHL$0HD$ -|~ HD0Ƅ$/HL$0mH$0H3ezHH@SUVWATH`HH3H$PH$Hd$8HIHHL$P3AMD$0hHL$PLú6}؅uvHtHL$PLǺ}؅uYHD$8HT$PAE3HHD$ z؅u2HL$8HD$0LL$@HD$(E3IHt$ /؅uD$00HL$8Ht*H$PH3PyH`A\_^][@SUVWATHPHH3H$@L$Hd$0HIHHL$@3AID$8PHL$@Lú|؅ukHtHL$@LǺ|؅uNHD$0HT$@AE3HHD$ b؅u'HL$0HD$8LL$~:ƒHcHu:Hk8HظUSBKCt&M:;u͹TI3HCHC HC(H!C!H!C0HCHCHt\H A@ HHu HH{0HtHtH( HHXC3H\$0Ht$8H _H\$Hl$VWATH HA8Hd$@I IILHHtEHM$L+F A+uHEut H0 HuHt eHL$@`u vH\$@IA HK0xH@L[0I HC0H( HG8Ht=H8 HK0H8 HG8H8 HC0H0 HC0HO8H8 HC0HC0HG8H8 HG8H0 HC0EH3H\$HHl$PH A\_^H\$Hl$Ht$WH HH=[?t=HwHH(tHHHu H tH=ҷ9?t=HwHHݳtHHHu H t t6t;u$D D;HL޷ur3H\$0Hl$8Ht$@H _LI[IkIs WHpH2H3H$`HI33LH\$HvLH$`HrLH$`HqrL\$HH$`AE3HL\$ ѯ;t3H$`3LGvHL$`L38v3HH$`j;uHLD$`;oHH;HH$`0;uHLD$`;5HH;ubHH$`;uHLD$`;HH;u,HH$`ı;uHLD$`;H$`L3KuHL$`L3H83H$ H3gH$ HĠ _^]H\$Ht$WH 3HHH;tHHH;rqH.H;we6;uZHG0H;uHG8H;uHG0"H0 HG0H;u  H;tHH8 i3H\$0Ht$8H _H\$Ht$WH H*HHH;rHH-H;w<53;u/HC0H;u HH7 ܧ3H\$0Ht$8H _@SH HHH;r+HX-H;wj5uHc0H&7 yH [H\$Hl$Ht$WH HAIHHH;rYH,H;wMHuJWH4u8HS8HtH0 LHօtHHuH6 ߦ3H\$0Hl$8Ht$@H _H\$Hl$Ht$WH HIAHH;rpH>,H;wdMuAIW^E4uNHK8Ht";u A3t H0 HuHHHu 5 5 3H\$0Hl$8Ht$@H _H\$Hl$Ht$WH HHHH;r~H+H;wrHtfHt`3u\H 2HHtHuH-5H%56HLHHHu5WM3H\$0Hl$8Ht$@H _LI[IkIs ISWH@ICAHHt3ICICICH5H;H-*H;HL$ 2u D|$0Hu!PHL$XbHD$XHD$(H;rsH;wnHH\$(C2tnHL$ LD$ HJHL$(LD$ H\HL$ LD$ H2HL$ 3HL$(3DHd$(HL$ Ht3HL$(Ht3Hd$ ԣ3H\$PHl$`Ht$hH@_H\$Ht$WH Hd$0HHHHHH( H`)H;HEH;w}H1uvHL$0vuHL$0Ht2H2UHt$0HS0A HN0hL^0HI HF0H2~uFWĢ3H\$8Ht$@H _HHXHhHpHx ATH E3HHAI;%HH]H;H (H;H( H>(H;HCH;/A;u H/A;uH1HL ugH8 H;uLg8FH0 H;_8uH8 H0 HG8%H0 H0 H8 I;uHO8H8 H!1 tH 1H1WN3H\$0Hl$8Ht$@H|$HH A\H\$Ht$WH HHHH HH;H&H;H( H&H;HBH;.u Hj.uH'03H tjH0HC8Ht5H8 H8 HC8H8 H0 HC8H8 H0 H{8H8 HC8H0 H/W3H\$0Ht$8H _H\$WH 3H;tjHtdH( H%H;rJH_AH;w>H^-;t+HS03HH u/H /G / WJ3H\$0H _HHH$Ht+HD$8Hd$0D$xD$(HD$pAHD$ r W3HHHHXHhHpHx ATH`D3IHDB HHAtdH$Ht#E3E33AQHD$XHu3HD$@DLHD$8$Hd$0D$(H$AHHD$ u.$=tHL$X$L$HT$@AHuG$Ht $HL$X]L\$`I[IkIs I{(IA\HHXHhHpWATAUHMHD3HH3DG I4cH$Ht!;E3E33AQHD$pHu3HD$XMAHD$8$H!|$0D$(Hl$ DH|V$=tHL$pu$М덋$HL$pl$HD$@Ht3HD$@HD$HHD$P$H!|$0!|$(H!|$ LD$@Dͺ< "HΉD$Dzu$y$5HL$p3HL$pǛ$L$HT$XDHu>$Ht $HL$pQL$I[ Ik(Is0IA]A\_H\$Ht$WH yHtHA aHtLA(Hc HKHHt2*+H|$0Hg G@=USBKuHL$0a,D_@AUSBKtHK0HT$0&tHHK0'HHK8'Hc0Hc8H\$8Ht$@H _@SH yHHtHAPaHHtLAXHcPHKHt-Hc H [H\$Hl$VWAUH Hd$@3HHHHH!)H_H;HH;H'u HO8HT$@%A=u\HG0P HG0;P}7H )HHD$@Ht)HO0HA9$=u"H*HC)aH\$@H{ Dk(HKHuE3E3AHCHt {HuDkHH(AW@3H\$HHl$PH A]_^H\$WH H#aHH;rXHH;wL)uHWC3H9{ t 3C(@Džu OјHK HHI83#H) 3H\$0H _HHXHhHpHx ATH H!EAHHHu WA@HN:H;HQH;H )HHHHD`@%u=H_HHHO8D"H8tHHO0D"H0uHQ'#Dg@H}uG 3H\$0Hl$8Ht$@H|$HH A\@SH HsHH;r3HH;w'%uH&H& 3H [H(H _H;rHH;w HtHA Җ3H(H\$Hl$Ht$WATAUH 3H^MAHDH;aH5H;QL;u WGH9q t6';tHO@tAΕ=;uhHG E3MHHHHHI0HI0;^;=uj@t^HG LHHHHI0HI0L;tHAu;tDc=HO @ /;tt yt@Aہ@tH&Hr&;t 6  3H\$@Hl$HHt$PH A]A\_MA*MAH(H\H;r&HmH;wHI3d3= 3H(@SH H\HH;rHHH;w<2%t3HKHuQE3E3HCƓH^% 3H [H\$Ht$H|$ATH HA0HHL@`AIHtHBH8 t H[HuHH {A(ATHHu AHHOQGCGCH@HF0HHPLLCA@HKCA GHF0HH`Ht@HHH HK HF0HH`HHH HYHF0HH`HHX Hc.HHF0HH`HH@ HF0HH`HH`H[HtHGH8 t H[HuHH dA(A=HHu A|HHOHKHOAGCGGHF0HH`HHxHF0HH`HtEHHHA HC HF0HH`HHHHA HXHF0HH`HHHHY Hc3HXHF0HH`HHHHI HF0HH`HHHHaoHG+щHHHWB<<uHCHtJ8t H@HuHuH A ALHt[HOHHIOHGHCHt&H@ICHCHHLYHCLXIc?L[M[HCH`)AؐH\$0Ht$8H|$@H A\@SH0HA0HL@HHD$ Ht 3HD$ HD$(APr6A+ЉT$ r'LLD$(AxuHT$ HKLD$(T$ ŸH0[HHXHhHp D@WATAUAVAWHPH@MADLHuHH$ 3HH;tmHt_H$H;tzNUSBKu<9.t9F F;t Hs0C<exH3L\$PI[0Ik8IsHIA_A^A]A\_H$#HC0H;tHtH$H;t H;tH\$@H;L;t IH$AHl$0LE3ɺID$(@DD$ )LH;^HTD MtSH3IHHHtuG [3H\$hHt$pHP_HHXHhHp WH H`H .I@HH;HEH;u {8HC0HH`@H@Ht`@8xt H@HuHtLHT$0H`uHL$0Htuo&^HH& E3H\$8Hl$@Ht$HH _HH\$Hl$Ht$WATAUH HHHHqH{LkHLGLgMtcIhM9@uHg5I@L;GuHEI@HGHhIxI@tIHHOHAItH A3LHuH9 uHcAH;{uHG HOHA HGHC%HGHO HAHHG tHOHKHA HtH ֽL3IMH9[ u HJH;uHC HKHA HCH(HCHK HAH{HC tHKHHA HtH XL3-IMH\$@Hl$HHt$PH A]A\_H\$WH HQ0HكBȃtHA0@$HI0AtHC0@HC0HK0HI`H{0HHt!LMtItH 3yH'HC0C83H@P3HHK@DB rNHt%HtHK0AHK0AHC0@HC0@3H\$0H _H\$Ht$WH A@Hـv WH&*H;HAH;w|uqHC0HH`HtHt?@8xtH@HuHt)@88t H@HuHt@HˇC8Q"H7 3H\$0Ht$8H _H\$Ht$WH I@HMIH>)H;H@H;u HC0HH`LMAHC8;t M@MuMtpHcC8H@HC0HHPDIHHtS8t HIHuHtAHIHt8@81t HIHuHt%HIAfGAHˈG)eHWI3H\$0Ht$8H _H\$Hl$Ht$WH IA@HـAMIH'H;Hs?H;u HC0HH`HHJC8;t HRHuHtuHRHtl@8*t HRHuHtYHRHtP@8rt HRHuHtuUSBK;uߋ;uvH pHq4^\H [H\$Ht$WH HH A@DA t"DA AD;A~H\$0Ht$8H _øA3qH 3HcH4t3suL3I4u3H\$Ht$WH HAHDBHtHHu,t,CHLcIbtHHHH8tщX3H\$0Ht$8H _H\$Ht$H|$ATH HH A@DA t%DA AyH\$0Ht$8H|$@H A\øA3qHE3Hc3ktHHHL$HI;t3H\$WH HHHt5LMt-I8tM3HgsH3HH LRsH#3H\$0H _@SH Du LʃHcHCHi@HظUSBKCt 3ۋƒ;uˍKT's=3HK0AHCHC HC(H!C!S38H8H0HcHH [@SH u ʃ?HcHHHظUSBKCt 3ۋlƒ?;u΍KTrr*3HCHC HC(H!C!H!C0H!C8HSHCHH [H\$WH AH=USBKu-399tQr9@NjK;C3H\$0H _H\$WH Huу?HH@HHHظUSBKCt 3ۋv?;uˍKTlq433HCHC HC(H!C!H!C0!Cm\3HKhHCHC HC(H{;H{0SH{8{@H{H{P{`{Tx 3L2HL32LL[HH\$0H _LSH03MCH#ICIKH IC3H LD$ HLD$(MtoIXM9@uHd$(@I@L;D$(uHCI@HD$(&HXIxtIHI@HA HD$(IHHHItH 3kLHuH0[@SH HH dHHH;tH8Hu{t$HC cHtLC(3HHc H H0H;u H%[H8H;uH0H8H8H8H8HtH0H0HH0H0H [@SH  Ht*IHH՞t ǃ 3H [̸ @SHHH3H$:{HHuHHL$LL$tLD$pHL$`HL$~H;sHL$XHL$}HL$PHL$|HL$HHL${HL$@HL$zHL$8HL$yHL$0HL$xHL$(HL$vHL$ HX+D؃ u oD$p3A H$H3U(Hİ[@SH H'3;t-H;uH [ i3i3HuH;uH9@t53Hۜuh3hLL;uLL;u6Vi3H\$Hl$Ht$WH HH3HHQ@HHHHtHu3[3H@HHHHtHt3H@HHHHtHtH\$0Hl$8Ht$@H _@SH`HH3HD$PIH QHHL$ 8HHt7L@HT$ L;uL@L;Bu3Ƀt H@ HuH3HL$0DB -H DB gHHu HgHug3oD$ HT$0E3@H D$4D$0 o@D$<gHHuH 4L3 gLHHt)H@HCHHHHY HHXHc HۚH[HКH` HL$PH3a%H`[@SH HtLH GHLg.HBH )H.LFH8HuލCH [H\$Hl$Ht$WH I8IHt  HؙH}tH9]p  [RHH?HEHt@HLL+F A+uHEut H@HuHt C<nH DBjeHHu HeHHHMHt#HIHNHEHHHqHEHpHfHuHvHEH` t2H@HtAHHHK0Ht[S8rP2tHH@HtAHHHK0Ht%S8rC<LLteeH8HoH\$0Hl$8Ht$@H _HHXHhHpHx ATH0MIHv---;H%L;rgHL;w[A@=USBK3A9tPd9A@;A@;HHyHc3L; IL;I3HH;HHH0IA&)HgH/HEH͖H;t:H0H0HH0H8HH0H8H-H0HyH8H9]uu@u<H͋&bWbHbHIItsII3L;zAyoH3IyHH;uDV HaH HM裺Dƺ 3L;!AyDXS 5; AE3bIH tPH+t"H;tCb Sb FbH ה3DB43 "b33ҋDCH S3`H=H HL衹H8H;uaH b3H;tH8wHH;uH=H|$ H;HHw -aH9u HXQH;=OuHGHO HAHG H6/HOHG HA H9_ tHO HGHAH HOHHHtH L3_HH;oHt$ H tHyHZ3`3H\$@Hl$HHt$PH|$XH0A\H\$H|$AUH`3HL-@H!3IDB w%LhD˺ I H 9hI`Ht"H $hI_Ht Ás 뤁rN_3H\$pH|$xH`A]Hd$XHΒHgHD$PHd$HHd$@AMʼnD$8D$0D$(D$ _H1H*H #HHyH HhH 3O_H %_?H\$Hl$WH3Hf9iDEPHL$P3$HHL$PHD$XHّD$PPHD$hHfl$Tl$`l$dHl$pH$Hl$xHDŽ$H$H$^fGf;u 6]IH$H;uHL$ q^HL$ >^H$HL$ E3E3}^;u͋H-(z_L$I[Ik I_H\$WH0HHH=̐~u3`]HH rtWHL >LcHD$(33D$ ^HqHtHtH\t 3uH H%kH ؏LLǺ?]H؅tPu:H Hu O\H E3E3AQ\H$\3H\$@H0_@SH HKHu H͏H;H}H;w|y mLH E3ɺf\HtPu:HގHu ~[H ŎE3E3AQ-\w I[3H [HLHHXHHt)H@I@HHPLBHL@I`LM@HH`}H8DJLD$(LQHd$ HH H8H%YH8DJ LD$(LQHd$ HH H8H%Y@SH HyHA</HHHK(H!HCHCLAL;u HHHAH;uL@HC(H H@H#I@HS(HJHu HHHBHAHCHH(H;uHc9H;CH@ uHH(HCHH HKHA HCHH H@(HuHKHA(HC(HHCHHKHIXL[(I HAhHAHC(HA`AHC(H LHAHHI8IPMPC8=tu^H@THC Ht.H@HK(HAHC HHHC(HAHC(HK HAHC(HC(HC H@HC H`H{sHKc<HI$XHCL[IC HCHtHKH@(HA(HKHCHA(HCH@(HCHK(HCHHHAHHHt H@HK(HAHHHC(HAHC(H@H HC(HC%=%=H\$WH H'lHd$0H2-+H;t HHlvHL$0;H\$0;DI3@; ;HcHL$h 3L$p3H;twA$h93;tH$A$$?H$HL$`fD$`H49Lc39LD$`fAH$H3HAHHHŋ$U93 tfMH A^A]A\_^][ÈM3A $A>tH$A!3H;/tuH$D;uHtf3H\$Hl$ VWATAUAVHHfH3HD$pL$L$H3MDB HL$PI2_HLA9^uIA9]]ID$[ tI<-uOtKA ]tCI:sDDӊA:w)DMúIÊIBTPA:v2DIBTPA<]uuDH$LHT$PHD$@H$LHD$8$Lt$0D$(MċLl$ HL$pH3L$I[0IkHIA^A]A\_^LI[ UVWATAUAVAWHPHheH3H$@3MXL$ME3HHT$pHH$Iǃ(^$D$XD$TD$hI;u(6E3E333Lt$  ^I;u6"Dt$REDt$dDt$`ED$A: 6A;tUAAHDl$dDl$`";t5A;uHՋEH\$pH 5A;uH\$p ;%a 3Dt$|Dt$xAEL$L$\L$P@DD@AHH\$pH$s5E3A;ttCD|CH\$pT$PA:tL$@|$Q|$XD$Dl$d$A:9H$H$HH$H@H$*FtItrLteNvhtLltwt:H\$pHD$pH8lu HH$H\$pAL$5@A%AE@H\$pC<6uHK94u HH$<3uHK92uHHL$pH$ A:uXct st{uIL$IIE0ML$IH$L$IsE: fD L$oD}cdkOg~Vit9n<E3AA:H\$pD$RH$HH\$pT d-<D$\7E3Iރ-uH$_@8+u)H$AAHD$XD$T$H$A;@DDlAAA;tlH$D$xL$@<H$HL$H$HHD$ A;HAD$XD$Ti1A;u.1H@1@:AAA;HAQL$L$D$XD$TH$H$@4H$HHHD$ +A;D@lAAA;tlH$D$xL$@<H$HL$H$HHD$ A;HAD$XD$Tn0A;uDd$xE;get EYAAA;JH$L$L$eH$HH$HHD$ >A;t[HAD$XD$T-uIH$L$L$@<H$HH$HHD$ A;u +u%AAA;uEHAD$XD$T@kAAA;tkH$L$L$@<H$HH$HAHD$ \A;uHA(D$XD$T.A;uADl$dDl$`t HՋ4E;-D$PA:PH$D$L$QH$ADLD4D$/A;Ap"svu$x{t4H\$p;yD$RE3@ƈD$RA:L$@&+u AusA;tnL$0AIDl$dDl$`D$XD$TЉt$|EtAtDAIDl$dDl$`#D$XD$TNADl$dDl$`t Iԋ8t$|E3D8t$\tމt$|D$xFADA;*D$PA:5$D$|H$D9$tH$HH\$pD8t$QtfAHDl$dDl$`fD$XD$THH\$p;@)A;t!H2 HH\$p;ufDl$dDl$`;u ;%um{nugA:t`;tWH$+FD) 5;tH$A;t HՋ;tH봃Dt$h$uH$(;u$3;uD$R:t?Au.($E3E3E333Lt$ D$AH$@H3H$HPA_A^A]A\_^]HhIHu&(Hd$ E3E333C4HtHwHL$@HL$0T$8HL$0MHD$HIbHh@SH B@It HzuA&Bx HH(u H [̅~LH\$Hl$Ht$WH II@LH@}?tH\$0Hl$8Ht$@H _H\$Hl$Ht$WH A@@IIHt IxuA8~4MLHHŃ?u&8*uLHֱ?H\$0Hl$8Ht$@H _@SUVWATHPHTH3HD$@$AIHLt $D$ %t D$!#$HT!A D .~%H3H|$ LD$ 3HH@|.\ @| HA$fI~J%@8|.u;~3@>HL$@H3.HPA\_^][@SVWH@HSH3HD$8IHHHuHtH!Ht Hv [%hHL$0A$y(HtHt L3H$%*_Ht;}=HtHt L3H$"Hd$ E3E333ɉHtHT$0LcH3HL$8H3H@_^[H\$ UVWATAUAVAWHHRH3H$3HMHHL$hDۉ\$TDDӉ\$@Ӊ\$4Dˉ\$0\$X\$`\$PH;u(.$E3E333H\$ TK H;t@>\$8D\$HDH\$x@:# H$I3H9L$8H$G3@:43D;>A4H|$  @It4@ht(@lt @wuA 먀>lu HA AA 덊A<6u~4uHAn<3u~2uHAV3H@:t(LD$8H@HHt$ 3HD$ E3E333 AD$8H$H3!H$HĠA_A^A]A\_^]H\$Ht$WH`IHHHu D$82Hv%Y3E3E33HL$ nT$8HL$@HL$0HL$0MHD$HBx3;L}9L$8|1H;t1H;v,(l$8x HD$0HT$0tH\$pHt$xH`_H8LHt23HBII;s$Hd$ E3E333 3 MI&H8H\$Ht$WH03HH;u%=E3E333H|$ cA@t AA tHYHDF$H F;FucHt?Ht1HHHHcHDAMk8LLAC$+>;}H\$ \$(Dû;]+$HD$0EHA DHL$ H™L$(LA#DA#+AȋAD+ABT ϋAA A#É$BT LD$AI|McHT$(IHHH+I;|D \ H+HH;}D <=EAA#DA#A+McD+BL DAAMcBD uBH 9\ u HH|nAAADΙA#DA#+A+McBD AB;rA;sD+BT IcH;|$;t D D@D;rD;sDD H+yAAB!D ACHcH}HL AL+3I?<A DLÙA#DA#+ADAD+ABT AˋAA A#ʼn$BT LD$AI|McHT$(HIHH+I;|D \ H+HH;}DËg;A#;=;DA#ǿ +H\$ l$ A\$(ADDAL+BT AA#A щ$D$BT LAI|IcHL$(HHH+H;|D \ H+HH;} :D:DD:t$ DA#DA +ADӋȋLAD+ABT A#AA ҉$D$BT LAI|IcHL$(HHH+H;|D \ H+HH;}H$D+=*:AA$%D :D D$ @u D$$DB uDH@A_A^A]A\_^[H\$Hl$VWAUH HW9H3HD$A A`A`I؋HN@DAHD[H $HCEۉA CD DDAD AC E AEED ً $D D 3DSD[D;rD;sADt!AB3A;rA;sA͉CtACCCH $3H D D;rD;sADKtDkD$AECSAE DD ȉSE3DKMA $A;r;sEՉEt AA3A;rA;sA͉CtBCI{u/ SD‹A иDCfS Etcr6KD  ACCfA Csf{ HL$H3H\$@Hl$HH A]_^H\$UVWATAUAVAWHH.7H3H$3LHL$8SDL$(LT$pf\$,DT$$\$ DMA< t < t< t< uLD$HALD;D+D+D+D;DD$ ;u.A+L0t9s 0AL+AL0}ހ+-C8E~c*e!=D9s 0ALAL0}A:uB<wL+A:u0$DB<w IA:u I+t6-t10t'CE~cuelIIL+ RB<IA:W+t--t0\L+{D$,*f\$,0D$ GDAD+tpD+tED+A9$tMX+t-L$$HDAL0t1@ hB<w R0VBMX<v؀+t-u؃L$$2A tdIDA0 98 tHIƁP ALA:}Q9ALA:}MMD;fv!$<| $GL+;,L+AAL+A8tLD$PHL$p9\$$}D;u$9\$ u+$PL%;3I`;{} L%4I`9\$(uf\$P;YAAITLd$0t$(;#HAH @IfD92r&HHL$`HBHT$`AHD$`HA+ÉD$bJ D$ZDfA#ɉ\$@fD3fA#\$DfE#D\$HfA;fA;AfE;{A?fE;w \$Xwf;u&D$XfE;u9\$Tu9\$Pu f\$ZTf;uBfE;u 9Zu9tAHL$DEbD;ӍD-DT$$Lc~VNt PLzA#AEDDȋAB4;rA;sE܉qD;tfD!D\$$IIE+D;D\$$E+HAD;DT$HDL$@fDfD;~EAr8D\$DAEEACfD D fD;ÉD$DDT$HDL$@fD;tfDynAffDDd$@tAD\$DAAAAD AD I+D\$DDL$@ulj\$ 3DT$HD$ ;tAfA fD$@DL$@fD$@Ld$0AfA;wAAu\D$BAAA;u@D$F\$BA;u%D$J\$Ff;u fDt$JfEfAfD$JAÉD$FDT$HAÉD$BAt$(AfE;s#D$BfE DT$VfD$PD$DfDD$ZD$RfA#D$X\$P\$T;D$XfT$PL$R|$VAfË˻1fӸffËffË˻LD$8f D$,fA@ fAAHAxH$H3H$HĠA_A^A]A\_^]LI[WH`H.H3HD$XEC3HىD$0L‰D$(ISIKE3ɉD$ HL$HHӋ@uuu@u@u3HL$XH3`H$H`_LI[WH`H-H3HD$XEC3HىD$0L‰D$(ISIKE3ɉD$ mHL$HHӋ.@uuu@u@u3HL$XH3H$H`_@SH0IHEHЅtHL$ L\$ LHL$@,D\$@DH0[HHXHhHp HWH0HHKHcu K O@t"3t{tmHCHKC{C uUH HA0H;t HA`H;u `;u0>E3E333H|$ di K^C+HS+kHBHC$;C~DŋMt#tH HH΃HHk8HHB t3ҋDBHHKD$@HT$@D;D$@H\$HHl$PHt$XH0_%%Z%F@UH HHHHUPEP=csmuHMP½E0E0E0H ]@UH HHHHUpEp=csmuHMpbE8E8E8H ]@UH HH0HHU`E`=csmuHM`EHEHEHH ]@UH HH HH=csmuH虼E$E$E$H ]@UH HHHHU(E(=csmuHM(BE4E4E4H ]@UH HHHHU@E@=csmuHM@ELELELH ]@UH HH(HHUXEX=csmuHMX肻EhEhEhH ]@UH HH8HHUxEx=csmuHMx" DžH ]@UH HA(H ]@UH HH3Ɂ8H ]  4 Rp T 4 2 p `2P(p`0 a}} '6@6Uaa}`.  0BRpR0 Bc  4 2p  tT422 p`P0( T4 p `p+ 4UJ p `P@dT42pdT42p p`P0@rp`08) 4_T p`Pd4 pd 4R pr p`0!T 42 p `) 4 p`P 4 pXd T 4 Rp20 0Bt d4d42 p tdT4d42 p1 d1T04/(p0dT42) dT4p0 p`P0@ p`P0P,)0d T 4Rp  4 2pd 4RpT 42 p `d T 4 rptd42t4   t d 4R! !d !T !4!2p dT4p) dT4p` t dT42dT4p  4 pd4p dT4pdT4pb d T 4 2p dT4p0PR0d4 p dT 4 rp dT4rp dT4pT 4 2 p ` d T 4 2pT 4 2 p `d T42pRp`0  4 p!4:4p`P d T 4 rp t d T 4R d T 42p d T 4 pd4  pT4 pd T42ph"2$ '0p >(!~)h'("(0((%%%%%z%%&& &8&l%V%J%>%%'''~'d'N'>'$'.%'&&&&&&&|&j&`&R&F&L(j((((((((()").)@)T)`)n)$%%%%$$$$$$$$$$$z$p$f$\$R$H$>$$ $$##########_stricmp_strnicmpstrchr_endthreadex_beginthreadex_errno_struprR_XcptFiltertmallocl_initterm:free_amsg_exitS__C_specific_handlermsvcrt.dllmemcpymemsetcallocTisdigitZisspace}mbtowc{__mb_cur_maxVisleadbyteiisxdigitmlocaleconvo_iob_snprintf_itoa wctombrealloce__badioinfo}__pioinfo_read _fileno_lseeki64_writer_isatty/SetLastErrorHeapAllocHeapFreeGetOverlappedResult6CloseHandle]SleepGetProcAddressNLoadLibraryAaSwitchToThreadOutputDebugStringAsGetLastErrorWaitForSingleObjectRCreateEventADeviceIoControlSetEventWaitForSingleObjectExResetEvent,CancelIoVCreateFileA^SleepExGetProcessHeapGetModuleHandleAIGetCurrentThreadIdResumeThreadHeapDestroyHeapCreateQueueUserAPCRtlVirtualUnwindRtlLookupFunctionEntryRtlCaptureContextQueryPerformanceCounterGetTickCountFGetCurrentProcessIdGetSystemTimeAsFileTimeeTerminateProcessEGetCurrentProcessuUnhandledExceptionFilterQSetUnhandledExceptionFilterKERNEL32.dllRegQueryValueExARegOpenKeyExARegEnumValueARegEnumKeyARegCloseKeyADVAPI32.dllRegisterDeviceNotificationAUnregisterDeviceNotificationFindWindowAEnableWindowDispatchMessageAPostMessageAShowWindowDefWindowProcA`CreateWindowExATranslateMessage>SendMessageAKillTimerPostQuitMessageRegisterClassExASetTimer<GetMessageADestroyWindowUSER32.dll2̄N-dd)H+,@4ܖt,oj"!`;<%$(8403x6(0H0X"&((,:LX!|$|p dX(@pd--------..1.A.U.e.x.........///+/5/C/R/\/i/s///////////000'060J0U0j0y0000001111D1X1i1s111111112"212F2[2q22222223 3*3L3a3|33333344'4I4^4t4  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abclibusbK.dllHotK_FreeHotK_InitIsoK_EnumPacketsIsoK_FreeIsoK_GetPacketIsoK_InitIsoK_ReUseIsoK_SetPacketIsoK_SetPacketsLibK_CopyDriverAPILibK_GetContextLibK_GetProcAddressLibK_GetVersionLibK_LoadDriverAPILibK_SetCleanupCallbackLibK_SetContextLstK_AttachInfoLstK_CloneLstK_CloneInfoLstK_CountLstK_CurrentLstK_DetachInfoLstK_EnumerateLstK_FindByVidPidLstK_FreeLstK_FreeInfoLstK_InitLstK_MoveNextLstK_MoveResetLstK_SyncOvlK_AcquireOvlK_FreeOvlK_GetEventHandleOvlK_InitOvlK_IsCompleteOvlK_ReUseOvlK_ReleaseOvlK_WaitOvlK_WaitAndReleaseOvlK_WaitOrCancelStmK_FreeStmK_InitStmK_ReadStmK_StartStmK_StopStmK_WriteUsbK_AbortPipeUsbK_ClaimInterfaceUsbK_CloneUsbK_ControlTransferUsbK_FlushPipeUsbK_FreeUsbK_GetAltInterfaceUsbK_GetAssociatedInterfaceUsbK_GetConfigurationUsbK_GetCurrentAlternateSettingUsbK_GetCurrentFrameNumberUsbK_GetDescriptorUsbK_GetOverlappedResultUsbK_GetPipePolicyUsbK_GetPowerPolicyUsbK_GetPropertyUsbK_InitUsbK_InitializeUsbK_IsoReadPipeUsbK_IsoWritePipeUsbK_QueryDeviceInformationUsbK_QueryInterfaceSettingsUsbK_QueryPipeUsbK_ReadPipeUsbK_ReleaseInterfaceUsbK_ResetDeviceUsbK_ResetPipeUsbK_SelectInterfaceUsbK_SetAltInterfaceUsbK_SetConfigurationUsbK_SetCurrentAlternateSettingUsbK_SetPipePolicyUsbK_SetPowerPolicyUsbK_WritePipeWinUsb_AbortPipeWinUsb_ControlTransferWinUsb_FlushPipeWinUsb_FreeWinUsb_GetAssociatedInterfaceWinUsb_GetCurrentAlternateSettingWinUsb_GetDescriptorWinUsb_GetOverlappedResultWinUsb_GetPipePolicyWinUsb_GetPowerPolicyWinUsb_InitializeWinUsb_QueryDeviceInformationWinUsb_QueryInterfaceSettingsWinUsb_QueryPipeWinUsb_ReadPipeWinUsb_ResetPipeWinUsb_SetCurrentAlternateSettingWinUsb_SetPipePolicyWinUsb_SetPowerPolicyWinUsb_WritePipe2-+] fu,5 @ @@@@ @P@$@@ @4@N@ p+ŝi@]%O@qוC)@D@<զIx@oGAkU'9p|Bݎ~QCv)/&D(DJzEeǑF e uuvHMXB䧓9;5SM]=];Z] T7aZ%]g']݀nLɛ R`%u?q= ףp= ף?Zd;On?,eX?#GGŧ?@il7?3=BzՔ?aw̫?/L[Mľ?S;uD?g9Eϔ?$#⼺;1az?aUY~S|_?/D?$?9'*?}d|FU>c{#Tw=:zc%C1>>>B BC$C@CHCD|D"E(EsE|EEFFFUG\GHHHHLITIII KnDnooq qqq rrFsLsTup\uv vfvlvwwUx\xyyyy%z,z{|d|l|||4<…ȅXx$ Oݔ%,mt9@zՖܖ,4y@^dbhW` ȟПġ 9@$tǥХ4 ^ddS\@H e0l(X$`$H28clNTk,t,$Q$$$$:$(0 ,9x 8$L!(!(\{$,@rTxt$ktKT-4;DJP$,{$(q$x{88 L [hd$ s$$<$@$$S$`$$$0 H`  4VS_VERSION_INFO?lStringFileInfoH040904b0h$CompanyNamehttp://libusb-win32.sourceforge.net^FileDescriptionlibusbK(lusbk) USB Library0FileVersion3.0.4.08 InternalNamelibusbK.dllTLegalCopyright T. Robinson 2010-2011@ OriginalFilenamelibusbK.dll8 ProductNamelibusbK.dll4ProductVersion3.0.4.0DVarFileInfo$Translation 0(8H@ (008$ (08@P`p` 0 O *H  @0 <1 0 +0h +7Z0X03 +70% <<<Obsolete>>>0!0 +[?*/ydR849M3º00 0 #0  *H 0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0 990128130000Z 170127120000Z01 0 UBE10U GlobalSign nv-sa1%0#U Primary Object Publishing CA100.U'GlobalSign Primary Object Publishing CA0"0  *H 0 u* q$ߡb)ܞusVWiVOȼX&r `UWɡt@lS7y>R8,3RpJ]bg^JʼݍGe[Kk͎.P補&k6cApD_%uyP}_F UGӑFh'AQzDhqXoB fuFD0cDpVoX*'.qRmF+HdRtE xs r^s00U0U00UQy| Y:x-M03U,0*0(&$"http://crl.globalsign.net/Root.crl0U% 0 +0U#0`{fE ʉP/}4K0  *H x|}jq)0`bCns v[}NI/@oT*= ܙ zw/@ČNr|d+lך|FMB;ۜ?2aW6fDo7NV%mbby\BӜ#dE-~[NÊ)xA4N,\%%1Mr)KH7oNJE~/1Rg4_'jfRZǬ0, 8+:E{ sV*Ql/00  f0  *H 0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0 090318110000Z 280128120000Z0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA0"0  *H 0   Mh36<S{Fbw7~O"PƗ=yT}LĈ,ơ_:d+> zVτ΍5:4l-w0g: D:CrAFud%lGGގc}Udros?99\IcC"֫t0OZm:34;bz-MK0 y}ӗjZM _Pl`R.tޗE!{Udtk_llC$7IHvIP!ʅs <].^M2eVű?'I0;ŧp[Z]a4XQ2Te+l gcZ$t# fdIU^ZV*-5761z;…00U#02357ev.E,0<U50301/-+http://crl.globalsign.net/Timestamping1.crl0Uds֕yȏϥ`)0 U00U0U% 0 +0KU D0B0@ +20301+%http://www.globalsign.net/repository/0  *H 6U\yzmVU+Ȼ`{Gm@>Վ/RhrJ`+02http://secure.globalsign.net/cacert/ObjectSign.crt09U2000.,*(http://crl.globalsign.net/ObjectSign.crl0 U00U0U% 0 +0KU D0B0@ +220301+%http://www.globalsign.net/repository/0 `HB0  *H Q$yPx}1E윕[=f4°a?[oJ#XBNGDQ/UXH,%Citʐq$ӹzW{Y;h͇l +T`.\ z /~v's)FnFWS] q 1h>-g)0:OxYzxZH BגE|fxk?-4bǵ=Fn=~p,!zzKs[D3;00 #$0  *H 01 0 UBE10U GlobalSign nv-sa1%0#U Primary Object Publishing CA100.U'GlobalSign Primary Object Publishing CA0 040122100000Z 170127100000Z0c1 0 UBE10U GlobalSign nv-sa10U  ObjectSign CA1!0UGlobalSign ObjectSign CA0"0  *H 0 pÌ &ogYL±ESuA6op(|mr%e: {^78KX IX&Ymƹ%bN l]pӛ) X|Չ5W˛俔_wty@!c8sڥEM*<(u|`%N-ֵ4<8:=ıg0c0U0U00U[K&K]V.8NS0JU C0A0? +220200+$http://www.globalsign.net/repository09U2000.,*(http://crl.globalsign.net/primobject.crl0N+B0@0>+02http://secure.globalsign.net/cacert/PrimObject.crt0 `HB0U% 0 +0U#0Qy| Y:x-M0  *H jm"pe.]30lxKōzjX9k (]v|o6C1Y8أ;gXa>;[ADk&^ee?w륆*X)V@W,ca7f%9 .6%|~ӣvu0vA5!h^\`@]Tnng+۷Mf!>GBa,&=ɧxnt,Fr 500g a k0  *H 01 0 UUS10U Washington10URedmond10U Microsoft Corporation1)0'U Microsoft Code Verification Root0 060523170051Z 160523171051Z0W1 0 UBE10U GlobalSign nv-sa10U Root CA10UGlobalSign Root CA0"0  *H 0 晍ΣO~%kH*cgfH+)e-˫Lp= 0OԌPP.R}m50^CsAj㲉:V98o:-7o캬j<ߋ%笼bE1ݤ rxC̺9]Z^FQ3զXgfXʭ!ښn t(_M]%i%TDÛ)3<S*'3.|XmN_󚝌Q:Z\/5T5R34:j :e3N&I끒M2K#3qk漷lA:q3Pt;]>L&86 cyԮ/a6JK3rA~F9{uAYBGpwKF#rտiX<\FՁneYw2ddSɠ(*l8сΘ@,C&_D0S /z`'RB7(yH0] R-g f(o$a100r0c1 0 UBE10U GlobalSign nv-sa10U  ObjectSign CA1!0UGlobalSign ObjectSign CA /s0 +p0 +7 100 *H  1  +70 +7 10  +70# *H  1S+Z|ɱwфN\0  *H LFXVVmnCpDzcSW\}m*jD qUXkw{t6F%ErCbs#` Sm-GZv*ۂXwomiwTJ76/5Kϝp헎2_O'q̘Wؖ?۩%Q8@~;,J_S1bg?L> 4v~/* 8 (İ0 *H  100c0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA %0 +0 *H  1  *H 0 *H  1 110929195123Z0# *H  1x q׺~F2ūB0 *H   1000}k$}[[A~Il0g0XV0T10U Timestamping CA10U  GlobalSign1#0!UGlobalSign Timestamping CA %0  *H BrIMh2[Ԛi}\_ ʴ5u=p@E1~E1f$%5p4$5Ut$$T$49]ɋUUp@0@ p@ p@D$p@D$p@$p@ۣp@ p@u 4p@e[^_]á,z@$p4,z@fD$@$@T4,z@D$$(z@3$X@%,z@D$@$ @3t$ `@Ӄ$`@Ӄ$`@p@$3'U`v@[/%t&U`v@;/U8=P@taE ƅD$D$ ED$$@x3D$D$P@UD$T$ $@EUE D$E$hÍUHED$D$EED$ ED$P@$@ÍvU8EED$D$EED$ ED$P@$@ Uh]]Euu }ۈE]u}]ÅtE}EEEED$ D$D$$ @EDED$ P@|$\$t$$|@ H@=ED$ EĉD$P@D$D$$@E܃D$$@EuJED$P@D$ |$$P@tE܉$@E]u}]ËE=t5$`@D$E܉$@]u}]f$`@f$y`@D$$``@$D`@r<&U8uu]}E`@E`@E`@t"$`@1؋u]}]Ðt&@t@ߺ1tftD$\$$X~tDԉ\$$`@D$u;}D؉؋]]f@p@k@r@[{fVfQD1$ a@D$t&UVa@S ]$$a@EÉD$ED$\$$(p@ u0ED$$,p@u5$a@1e[^]ÅDމD$\$$Ha@ىD$$la@jvUWVSlD$ D$D$a@$d@QDž1ۍ}E|$\$4$`@ ED$D$ED$D$ D$|$4$h@tUa@D$EED$$n-nED$ D$EԉD$E؉$0p@ @EU܉D$ET$D$D$ D$ |$4$h@uCD$$a@t$4b@D$e[^_]ÃM D$T$ D$ |$4$l@t D$$a@zet&U1WVSUE ERREOR: EUnabEle tEo coEnverEt loEg enEtry Eto UETF-8EVM KM1ۉMUU  8 u    9sMMt}bb@MD$D$D$ L$D$$t@~UD$$?+t?D$Et$D$ D$D$$t@9<$+EEu$*D$P@MD$L$ t$$@؃;ut 4$*؃9] e[^_]ËU fD$D$D$D$D$ |$D$$@ /@MD$$*M PL$MUD$D$T$D$ |$D$$@M 9t 4$)<$)E&UW1VSLEhb@E~b@Eb@$b@k)t#$b@V)$)=w,$b@3)t$b@#)$(p$b@ )t$$D$($b@(t$$b@($(Pw($b@(1t$b@($`(tƄDžt4$>(ڋ !%tDJD)9st 4$'D$t$$(D$D$D$D$ D$D$$$@u?L$b@$hc@4$@@&Ɖ\$$b@~@D$ D$D$4$ЃI$b@16P@$@CdF؉$@P@D$$@D$$@@+tF$d&ED$D$ t$|$$|@ED$<$<$L&E9tD)‹D$ D$T$$t1鋵$b@5*$c@$(c@$Qc@$hc@<$%U1%WVSׁ,]EE#'PfE=fEEħEEEEEuEqEE"'PfE=fEEEEEEEuEqEE75fE?hfEEEEEEOEEEE'=fE+fEJEE3E;EEEEE*Dž$d@t FEԉD$ED$ ED$D$$P@EԋD$$REԍMЋL$D$$R< ED$ ẺD$ED$D$D$D$ D$D$ d@$@$=}u= P@E܍E܉D$ED$D$ D$D$id@$@QE̋5@$֋EԍML$ML$ 1ɅL$D$$Rc@Һc@D‰D$$,e@EЉ$֋EԾ$Re[^_]ÍvD$$c@EЅt $@E1t $Re[^_]ÉD$$c@O뽡 P@ED$id@$ @v룉D$$c@g&t$$Hd@KD$$d@Ẻ$@EԍML$ML$ 1ɅL$D$$RD$$d@}E؉D$ED$ EED$ P@D$D$id@$@tD$$d@ P@t&'L$qUWVSQIY]ED$D$@D$D$ D$D$$fe@$@P@5L@$ f@փM T@D$f@<$Ӄ(p@uD$)f@<$Ӄ(p@n $ f@փ D$Qf@<$Ӄ,p@uD$hf@<$Ӄ,p@) $ f@փ. D$f@<$Ӄ0p@A$f@փTD$f@4$Ӄ$p@ D$$T@$p@ UT$U܉T$U؉T$U$D$ ЋED$$ ]ۉi 1ۉE1D$D$D$D$D$ D$D$$@ ~fD$$tPD$D$D$|$D$ D$D$$@ 9t 4$18E49*| ~1$g@|$t@D$D$D$ D$g@D$$ЃB D$$D$$EԉT$D$ D@H@ЋDžɉ9t$5t$)@ $Љڃ !%tDJD)кG‰D$D$g@$Džt<$Tڋ !%tDJD)9st <$|$D$$.$$$D$ p@$@= @D$ D$D$$׃P@D$ D$D$$׃P@D$D$$P@؂@7P@D$$@@$$><$g@D$D$D$D$ L$D$$DžD$D$D$ \$D$$1҃*T$D$D$ D$$ ҋt $t$$$o==5 =Ctf =?$i@n[D$f@<$Ӄ0p@<$D$f@ӅWW0p@-$g@P@ @$у=\=/= $xh@$k@$D$D$D$ \$D$$Dž_D$D$D$ D$D$$DžD$$D$D$D$L$D$ D$D$$\@ ɉet$t $pt$X $$b1ۉD$$k@$$"$Z$n$@P@$;tEE~21Ít&t$9]⋝t4$xP@5@$֡P@$փ<$֡P@$փeY[^_]a$g@' @T$D$D$D$D$D$ D$$@ e=Wn=v =$Nj@XE$&h@1E$'$$,g@&E䋵$ f@p@$g@$$0$D$@P@$@$Wg@D$$mg@aD$$UT$D$D$ D$g@D$$9Z$1K$ f@p@ `D$$lk@D$f@<$Ӄ,p@=5==/= u$xh@1V $5D$D$D$D$D$ L$D$$@ A0rD$=f@<$Ӄ(p@p$ f@p@D$f@4$Ӄ$p@4$D$g@VV$p@D$$L$D$D$ \$D$$9j$1[D$$D$T$D$ D$D$$9 $IDžf$f@p@\$$h@ $j@$@h@$dj@$j@$j@$(k@$i@v$Xi@s`\$$h@YF=t =t$i@1$i@D$$wT$D$D$ \$D$$9= $Dž t&D$$jt#t XI@u$0C@Ge[^]1ÍCXI@uNj5L@$n@փ|v@tD$#n@$T@tv@$ n@օR|v@u$n@օV|v@u$n@p@v@Q|v@ Uxv@txv@UH$P@]u}=N@EEtЋ]u}(P@]ÍvE$\@E}Eԃ8@<@`@EЍE؉$x@3}3}3}113}ЉN@t=$P@]u}(P@]øDO@U(EUdw@y@ y@Xw@y@E$Lw@$P@E(P@E@$,n@@4@D$ $@iUWVSy@ue[^_]Í$y@,@y@t/=H@$@ׅu tC4$Ћ[u$y@l@e[^_] USy@u1]D$ $5øt܋E$y@E C,@y@y@C$y@l@1럍'USy@]u 1]Í$y@,@y@t9u F9t ‹Bu$y@l@1]ËHJ$r$y@l@ًBy@ڍUE tBru6*y@uy@$y@(@΍t&y@ty@Í$y@h@אUEU M]Í&'UEU M] UE U]fUE U]%@%Ȃ@%$@% @%4@%܂@%Ԃ@%@% @%<@%@%@%@%8@%,@%(@%@%@%@%0@%̂@%@%@%@@%@dI@N@Dmsvcr80.dllmsvcr70.dllmsvcrt.dll_set_invalid_parameter_handlerfailed to create overlappedreceived unexpected datafailure to initiate read (%d)message request: timed outread error: %ddevice_idhardware_iduser_sidreq_id: unknown ID requestedgot %s: '%s'failed to read %sre-enumerating driver node %s...failed to locate device_id %s: %x failed to re-enumerate device node: CR code %Xre-enumeration succeeded...USBcould not read SPDRP_CONFIGFLAGS for phantom device %scould not write SPDRP_CONFIGFLAGS for phantom device %sflagged %d removed devices for reinstallation\inf\setupapi.dev.log\setupapi.log\setupact.logWINDIRusing syslog '%s'Could not open any syslogCould not set syslog offsetsylog reader thread startedcould not read syslog file sizecould not allocate buffer to read syslogfailed to read syslogsyslog reader thread terminatingdisabledrestoredCoCreateInstance failed; hr = %xOpenLocalMachineGPO failed - error %xGetRegistryKey failed - error %xSoftware\Policies\Microsoft\Windows\DeviceInstall\SettingsRegCreateKeyEx failed - error %xDisableSystemRestorefailed to read original DisableSystemRestore value - error %xRegSetValueEx / RegDeleteValue failed - error %xunable to apply DisableSystemRestore policy - error %xsuccessfully %s the system restore point creation setting\\.\pipe\libwdi-installerThis application can not be run from the command line.Please use your initial installer application if you want to install the driver.Cfgmgr32.dllCM_Locate_DevNodeACM_Locate_DevNodeAACM_Locate_DevNodeAWCM_Reenumerate_DevNodeCM_Reenumerate_DevNodeACM_Reenumerate_DevNodeWCM_Get_DevNode_StatusCM_Get_DevNode_StatusACM_Get_DevNode_StatusWMsvcrt.dll__wgetmainargs__wgetmainargsA__wgetmainargsWcould not init DLLsunable to access UTF-16 args - trying ANSIusage: %s missing inf_name parametergot parameter %s.could not retrieve absolute path of working directory\Unable to create syslog reader threadInstalling driver for %s - please wait...driver update completedmore recent driver was found (force option required)device not detected (copying driver files for next time device is plugged in)invalid path or hardware ID (%s)the system can not find the file specified (%s)this process needs to be run with administrative privilegesattempted to use a 32 bit installer on a 64 bit machinethe syntax of the inf is invalida section of the inf has a problemunable to locate cat fileoperation cancelled by the userthe driver is not compatible with this version of Windowsdriver already existsyour system policy has been modified from Windows defaults, andis set to reject unsigned drivers. You must revert the driverinstallation policy to default if you want to install this driver.see http://articles.techrepublic.com.com/5100-10878_11-5875443.htmlunhandled error %XCopying inf file (for the next time device is plugged) - please wait...copied inf to %smingwm10.dll__mingwthr_remove_key_dtor__mingwthr_key_dtor:@Unknown error_matherr(): %s in %s(%g, %g) (retval=%g) Argument domain error (DOMAIN)Argument singularity (SIGN)Overflow range error (OVERFLOW)The result is too small to be represented (UNDERFLOW)Total loss of significance (TLOSS)Partial loss of significance (PLOSS)Xl@wl@l@l@l@m@Mingw-w64 runtime failure: VirtualQuery failed for %d bytes at address %p Unknown pseudo relocation protocol version %d. Unknown pseudo relocation bit size %d. msvcr80.dllmsvcr70.dllmsvcrt.dlllongjmpy@v@4܉DxԁH܁P\tԃ*BPdz„ք*:Jf~ʅօ2@\n~ĆԆ .>HV`lt|ć·և$.8Dj~Ԉtԃ*BPdz„ք*:Jf~ʅօ2@\n~ĆԆ .>HV`lt|ć·և$.8Dj~ԈsConvertStringSidToSidA8RegCloseKey@RegCreateKeyExAORegDeleteValueAuRegQueryValueExARegSetValueExAECloseHandlevCreateEventA|CreateFileADeleteCriticalSectionEnterCriticalSectionSFreeLibraryGetCurrentProcessGetCurrentProcessIdGetCurrentThreadIdGetFileSizeGetFullPathNameWGetLastErrorGetModuleHandleAGetOverlappedResult)GetProcAddressDGetStartupInfoA[GetSystemTimeAsFileTimesGetTickCountGetVersionExAInitializeCriticalSectionLeaveCriticalSectionLoadLibraryA-MultiByteToWideChargQueryPerformanceCounter}ReadFileSetEventSetFilePointerSetLastError1SetUnhandledExceptionFilter=SleepITerminateProcessPTlsGetValue]UnhandledExceptionFilter}VirtualProtectVirtualQueryWaitForSingleObjectWideCharToMultiByteWriteFile8__dllonexit;__getmainargs<__initenvE__lconv_initi__set_app_typel__setusermatherrz_acmdln_amsg_exit_beginthread_cexit_endthread_fmode=_inittermA_iob_lockE_onexit_unlock_vsnprintfz_winmajorabortcallocexitfprintffreefwritegetenv#malloc+memcpy3printf7putsHsignal\strlen]strncat_strncmpvfprintfUpdateDriverForPlugAndPlayDevicesWCoCreateInstance@CoInitializeExSetupCopyOEMInfWSetupDiEnumDeviceInfoSetupDiGetClassDevsASetupDiGetDeviceRegistryPropertyASetupDiSetDeviceRegistryPropertyAADVAPI32.dllKERNEL32.dll(((((((((((((((((((((((((((((((((((msvcrt.dll<newdev.dllPPole32.dlldddddsetupapi.dll@`@0<@:@P:@@@Hv@ @@kP:@a&0<@*@<@/`<@O90=@D>@J?@/L?@f:S C@S0C@a[YD@GbE@2[v0H@4xpH@ WinMainCRTStartup9mainCRTStartup__mingw_winmain_hInstance__mingw_winmain_lpCmdLine__mingw_winmain_nShowCmdmingw_pcinit#mingw_pcppinit`_newmode`_dowildcardS__dyn_tls_initF__tlregdtorP_tls_indexb_tls_startt_tls_end__xl_a__xl_z_tls_used__mingw_gMTRemoveKeyDtor__mingw_gMTKeyDtor__mingw_usemthread_dll__dyn_tls_init_callback?__xl_cT__xl_dimingw_initltsdrot_forcemingw_initltsdyn_forcemingw_initltssuo_forceCa&Qmingw_initcharmax_charmax4__mingw_pinitI*]_decode_pointer_encode_pointer?mingw_app_type/}`_fmodeL/mingw_onexitnatexit__onexitbegin__onexitend{4__native_startup_state8__native_startup_lockc__native_dllmain_reason__native_vcclrit_reasonFO9  _gnu_exception_handler __mingw_oldexcpt_handler:GCR__xi_a__xi_z'__xc_a<__xc_zPDH__mingw_raise_matherr__mingw_setusermatherr_matherrJN/_setargv,/L _pei386_runtime_relocator:S{`_fpresetZS___do_global_dtors__do_global_ctors__mainfctMsvcrtLongJmpw[Yj__security_init_cookie__report_gsfailure__security_cookie__security_cookie_complement1b}__CRT_MTkbm___w64_mingwthr_add_key_dtor;___w64_mingwthr_remove_key_dtor__mingw_TLScallbackVii__RUNTIME_PSEUDO_RELOC_LIST_END____RUNTIME_PSEUDO_RELOC_LIST__2i __CTOR_LIST__ __DTOR_LIST__/uf_MINGW_INSTALL_DEBUG_MATHERRM[vXp_InterlockedCompareExchangeInterlockedCompareExchange?xW_InterlockedExchange~InterlockedExchangeL}uintptr_twchar_tWINBOOLBYTEWORDDWORDLPBYTELONG_PTR!ULONG_PTR2PVOID?CHARKLONG]LPSTRjPLONG}HANDLEULONGLONG_FLOATING_SAVE_AREAFLOATING_SAVE_AREA_CONTEXTCONTEXTPCONTEXT _EXCEPTION_RECORDEXCEPTION_RECORDPEXCEPTION_RECORD4_EXCEPTION_POINTERS_NT_TIBNT_TIBPNT_TIB_IMAGE_DOS_HEADER? IMAGE_DOS_HEADERX PIMAGE_DOS_HEADERx _IMAGE_FILE_HEADERS IMAGE_FILE_HEADERm _IMAGE_DATA_DIRECTORY IMAGE_DATA_DIRECTORY _IMAGE_OPTIONAL_HEADER IMAGE_OPTIONAL_HEADER32 PIMAGE_OPTIONAL_HEADER32& _IMAGE_OPTIONAL_HEADER64 PIMAGE_OPTIONAL_HEADER644_IMAGE_NT_HEADERSPIMAGE_NT_HEADERS32PIMAGE_NT_HEADERSPIMAGE_TLS_CALLBACKHINSTANCE__EHINSTANCE\HMODULEkPTOP_LEVEL_EXCEPTION_FILTERLPTOP_LEVEL_EXCEPTION_FILTER_STARTUPINFOAASTARTUPINFOAVSTARTUPINFOzVARENUM0_invalid_parameter_handler_PVFV_PIFV_startupinfo__enative_startup_state __enative_startup_state_TCHAR}uintptr_tULONGBOOLDWORDLPVOIDcULONG_PTRtPVOIDHANDLEPIMAGE_TLS_CALLBACK_IMAGE_TLS_DIRECTORY32IMAGE_TLS_DIRECTORY32IMAGE_TLS_DIRECTORY_PVFVfMTRemoveKeyDtor+fMTKeyDtor$a&Q VARENUM_PIFV*](VARENUM2/!VARENUM_onexit_t_PVFVR4!VARENUM__enative_startup_state__enative_startup_stateeO9 aBYTEmDWORDULONG_PTRPVOIDLONG_FLOATING_SAVE_AREAFLOATING_SAVE_AREA_CONTEXT CONTEXTPCONTEXT_EXCEPTION_RECORDAEXCEPTION_RECORDZPEXCEPTION_RECORDz_EXCEPTION_POINTERSEXCEPTION_POINTERSPTOP_LEVEL_EXCEPTION_FILTERLPTOP_LEVEL_EXCEPTION_FILTERJVARENUM__p_sig_fn_tGCR_PVFVNDH#VARENUM_iobuf\FILEh_exceptionfUserMathErrJN /L d__gnuc_va_listva_listsize_tptrdiff_tBDWORDULONG_PTRSIZE_TPVOID_MEMORY_BASIC_INFORMATION}MEMORY_BASIC_INFORMATION_iobufNFILEruntime_pseudo_reloc_item_v1runtime_pseudo_reloc_item_v2Bruntime_pseudo_reloc_v2lS~ptrdiff_t.HINSTANCE__THINSTANCEkHMODULEVARENUM&func_ptr>flongjmp[YBYTEDWORDUINT_PTRULONG_PTRPVOIDLONG LONGLONGULONGLONG_LARGE_INTEGERLARGE_INTEGER_FLOATING_SAVE_AREAFLOATING_SAVE_AREA_CONTEXTCONTEXT PCONTEXT_EXCEPTION_RECORD3EXCEPTION_RECORDLPEXCEPTION_RECORDl_EXCEPTION_POINTERSEXCEPTION_POINTERS_FILETIMEFILETIME%NTSTATUS`FT)bmWINBOOLWORDDWORD LPVOIDNULONG_PTR_LONGkHANDLEy_LIST_ENTRYLIST_ENTRY_RTL_CRITICAL_SECTION_DEBUGPRTL_CRITICAL_SECTION_DEBUG_RTL_CRITICAL_SECTIONRTL_CRITICAL_SECTIONCRITICAL_SECTION__mingwthr_key_t__mingwthr_keySi :ix86_tune_indicesix86_arch_indicesVARENUMv func_ptr[vXxGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/crtexe.c@k@charunsigned intintuintptr_tfwchar_tshort unsigned intlong intlong long int^vlong unsigned intunsigned char _EXCEPTION_RECORDP ExceptionCode #ExceptionFlags # #ExceptionAddress 2# NumberParameters #ExceptionInformation # _CONTEXTContextFlags#Dr0#Dr1#Dr2# Dr3#Dr6#Dr7#FloatSave#SegGs#SegFs#SegEs#SegDs#Edi#Esi#Ebx#Edx#Ecx#Eax#Ebp#Eip#SegCs#EFlags#Esp#SegSs#ExtendedRegisters# WINBOOLev BYTEq WORDr DWORDsfloat LPBYTEwsigned charshort intlong long unsigned int LONG_PTR7 ULONG_PTR8 PVOID CHAR^ LONG? LPSTRW PLONGwK HANDLEULONGLONG(_FLOATING_SAVE_AREAptControlWordu#StatusWordv#TagWordw#ErrorOffsetx# ErrorSelectory#DataOffsetz#DataSelector{#RegisterArea|#Cr0NpxState}#l  fOFLOATING_SAVE_AREA~  fCONTEXTPCONTEXT ! fEXCEPTION_RECORD PEXCEPTION_RECORD ._EXCEPTION_POINTERS- z. #ContextRecord/ #4 FiberData 2Version _NT_TIB RExceptionList s#StackBase 2#StackLimit 2#SubSystemTib 2# #ArbitraryUserPointer 2#Self y#_EXCEPTION_REGISTRATION_RECORDRNT_TIB PNT_TIB _IMAGE_DOS_HEADER@ e_magic#e_cblp#e_cp#e_crlc#e_cparhdr#e_minalloc# e_maxalloc# e_ss#e_sp#e_csum#e_ip#e_cs #e_lfarlc #e_ovno #e_res  #e_oemid #$e_oeminfo#&e_res2/ #(e_lfanewK#< / f ? f IMAGE_DOS_HEADERPIMAGE_DOS_HEADERr _IMAGE_FILE_HEADERlS Machinem#NumberOfSectionsn#TimeDateStampo#PointerToSymbolTablep#NumberOfSymbolsq# SizeOfOptionalHeaderr#Characteristicss#IMAGE_FILE_HEADERtx _IMAGE_DATA_DIRECTORY VirtualAddress#Size#IMAGE_DATA_DIRECTORYm _IMAGE_OPTIONAL_HEADER Magic##F###q# H#b#BaseOfData### #$#(_#*#,M#.#0#2/#4V#8#<M#@#D#F#H#L\#P5#T#X #\ #` fIMAGE_OPTIONAL_HEADER32 PIMAGE_OPTIONAL_HEADER32  _IMAGE_OPTIONAL_HEADER64 Magic##F###q# H#b### #$#(_#*#,M#.#0#2/#4V#8#<M#@#D#F#H#P\#X5#`#h #l #pPIMAGE_OPTIONAL_HEADER64.& _IMAGE_NT_HEADERSSignature#FileHeaderS #OptionalHeader #PIMAGE_NT_HEADERS32 4PIMAGE_NT_HEADERS,PIMAGE_TLS_CALLBACK 22KzHINSTANCE__Eunusedv# HINSTANCEV HMODULEEPTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTERk_STARTUPINFOADAcb#lpReserved]#lpDesktop]#lpTitle]# dwX#dwY#dwXSize#dwYSize#dwXCountChars# dwYCountChars#$dwFillAttribute#(dwFlags#,wShowWindow#0cbReserved2#2lpReserved2#4hStdInput}#8hStdOutput}#<hStdError}#@STARTUPINFOASTARTUPINFOAdoubleVARENUM VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCH VT_ERROR VT_BOOL VT_VARIANT VT_UNKNOWN VT_DECIMALVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOIDVT_HRESULTVT_PTRVT_SAFEARRAYVT_CARRAYVT_USERDEFINEDVT_LPSTRVT_LPWSTRVT_RECORD$VT_INT_PTR%VT_UINT_PTR&VT_FILETIMEVT_BLOBVT_STREAMVT_STORAGEVT_STREAMED_OBJECTVT_STORED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSIDVT_VERSIONED_STREAMVT_BSTR_BLOBVT_VECTOR VT_ARRAYVT_BYREFVT_RESERVEDVT_ILLEGALVT_ILLEGALMASKEDVT_TYPEMASKv long double. _invalid_parameter_handlerRXxxxxf}~ _PVFV( _PIFV newmodev# _startupinfoY __uninitialized__initializing__initializedY_TCHAR ^check_managed_app@v pDOSHeaderBX pPEHeaderC pNTHeader32D pNTHeader64E _TEB!NtCurrentTebB retD"__mingw_prepare_except_for_msvcr80_and_higher fIPH- hmsv\0-0"duplicate_ppstrings#acv#av avlj iv nj$ lvj%__mingw_invalidParameterHandler@@/&expressionx&functionx&filex&linef &pReserved}'pre_cpp_init@T@8(pre_c_initkv`@p@p)&a@m* +F+Y+k+(__tmainCRTStartupvp@#@,lpszCommandLine-StartupInfoV,inDoubleQuote͊G*@,lock_free,fiberid,nestedv.@@u/@@0B1@`*0U023[@@&3\3Q/[@@0g0sE0}d*04WinMainCRTStartupv0@K@95retv4mainCRTStartupvP@k@n5retv6 Lv6{6mv6"nv6v6?{j67 6 86%? 6,9_fmode/v :9__xi_a8 9__xi_z9  B:9__xc_a:79__xc_z;76'>o6:@6AA6+Cv6mEE6F6G-argcIvp@-argvOjp@-envpPj p@-argretSvp@-mainretTvp@-managedappUvp@-has_cctorVvp@-startinfoWp@6X6hv;n:v;;v;<v;=v6 Lv6{62v6"nv6v6?{j66 6%? 609_fmode/v9__xi_a8 9__xi_z9 9__xc_a:79__xc_z;76'>o6:@6AA6+Cv<@<charunsigned intintshort unsigned intlong intlong long intlong unsigned intunsigned charfloatsigned charshort intlong long unsigned intdoubleVARENUM VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCH VT_ERROR VT_BOOL VT_VARIANT VT_UNKNOWN VT_DECIMALVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOIDVT_HRESULTVT_PTRVT_SAFEARRAYVT_CARRAYVT_USERDEFINEDVT_LPSTRVT_LPWSTRVT_RECORD$VT_INT_PTR%VT_UINT_PTR&VT_FILETIMEVT_BLOBVT_STREAMVT_STORAGEVT_STREAMED_OBJECTVT_STORED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSIDVT_VERSIONED_STREAMVT_BSTR_BLOBVT_VECTOR VT_ARRAYVT_BYREFVT_RESERVEDVT_ILLEGALVT_ILLEGALMASKEDVT_TYPEMASKw long double_PIFVmy_lconv_initw0<@><@q mingw_initcharmax w\v@ _charmaxwP@ __mingw_pinit@YXGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/mingw_helpers.c@<@X<@lcharunsigned intintshort unsigned intlong intlong long intlong unsigned intunsigned charfloatsigned charshort intlong long unsigned intdoubleVARENUM VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCH VT_ERROR VT_BOOL VT_VARIANT VT_UNKNOWN VT_DECIMALVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOIDVT_HRESULTVT_PTRVT_SAFEARRAYVT_CARRAYVT_USERDEFINEDVT_LPSTRVT_LPWSTRVT_RECORD$VT_INT_PTR%VT_UINT_PTR&VT_FILETIMEVT_BLOBVT_STREAMVT_STORAGEVT_STREAMED_OBJECTVT_STORED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSIDVT_VERSIONED_STREAMVT_BSTR_BLOBVT_VECTOR VT_ARRAYVT_BYREFVT_RESERVEDVT_ILLEGALVT_ILLEGALMASKEDVT_TYPEMASK long double_decode_pointer@<@H<@codedptr_encode_pointerP<@X<@?ptrmingw_app_type}`v@yGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/xtxtmode.c`<@`<@`_fmodeudv@int GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/atonexit.c`<@(=@charunsigned intintshort unsigned intlong intlong long intlong unsigned intunsigned charfloatsigned charshort intlong long unsigned intdoubleVARENUM VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCH VT_ERROR VT_BOOL VT_VARIANT VT_UNKNOWN VT_DECIMALVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOIDVT_HRESULTVT_PTRVT_SAFEARRAYVT_CARRAYVT_USERDEFINEDVT_LPSTRVT_LPWSTRVT_RECORD$VT_INT_PTR%VT_UINT_PTR&VT_FILETIMEVT_BLOBVT_STREAMVT_STORAGEVT_STREAMED_OBJECTVT_STORED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSIDVT_VERSIONED_STREAMVT_BSTR_BLOBVT_VECTOR VT_ARRAYVT_BYREFVT_RESERVEDVT_ILLEGALVT_ILLEGALMASKEDVT_TYPEMASK_onexit_t$x long double_PVFV mingw_onexit!`<@ =@h func! onexitbegin#hl onexitend$hi retval%} atexitOx=@(=@ func8hkhwh$z@kh z@wGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/natstart.c0=@0=@ charunsigned intintshort unsigned intlong intlong long intlong unsigned intunsigned charfloatsigned charshort intlong long unsigned intdoubleVARENUM VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCH VT_ERROR VT_BOOL VT_VARIANT VT_UNKNOWN VT_DECIMALVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOIDVT_HRESULTVT_PTRVT_SAFEARRAYVT_CARRAYVT_USERDEFINEDVT_LPSTRVT_LPWSTRVT_RECORD$VT_INT_PTR%VT_UINT_PTR&VT_FILETIMEVT_BLOBVT_STREAMVT_STORAGEVT_STREAMED_OBJECTVT_STORED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSIDVT_VERSIONED_STREAMVT_BSTR_BLOBVT_VECTOR VT_ARRAYVT_BYREFVT_RESERVEDVT_ILLEGALVT_ILLEGALMASKEDVT_TYPEMASK long double__uninitialized__initializing__initialized__native_startup_state 3,z@__native_startup_lock\(z@ b __native_dllmain_reason P@h__native_vcclrit_reason P@ `GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/crt_handler.c0=@>@ charunsigned intintshort unsigned intlong intlong long intlong unsigned intunsigned char_EXCEPTION_RECORDP ExceptionCode m#ExceptionFlags m# #ExceptionAddress # NumberParameters m#ExceptionInformation 1#_CONTEXTaContextFlagsm#Dr0m#Dr1m#Dr2m# Dr3m#Dr6m#Dr7m#FloatSave#SegGsm#SegFsm#SegEsm#SegDsm#Edim#Esim#Ebxm#Edxm#Ecxm#Eaxm#Ebpm#Eipm#SegCsm#EFlagsm#Espm#SegSsm#ExtendedRegisters# BYTEq DWORDsfloatsigned charshort intlong long unsigned int ULONG_PTR8 PVOID LONG_FLOATING_SAVE_AREAptControlWordum#StatusWordvm#TagWordwm#ErrorOffsetxm# ErrorSelectorym#DataOffsetzm#DataSelector{m#RegisterArea|#Cr0NpxState}m#l a kO FLOATING_SAVE_AREA~ a  k CONTEXT PCONTEXT+  A k EXCEPTION_RECORD PEXCEPTION_RECORD tA_EXCEPTION_POINTERS- . Z#ContextRecord/ # EXCEPTION_POINTERS0 zz PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTERdoubleVARENUM VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCH VT_ERROR VT_BOOL VT_VARIANT VT_UNKNOWN VT_DECIMALVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOIDVT_HRESULTVT_PTRVT_SAFEARRAYVT_CARRAYVT_USERDEFINEDVT_LPSTRVT_LPWSTRVT_RECORD$VT_INT_PTR%VT_UINT_PTR&VT_FILETIMEVT_BLOBVT_STREAMVT_STORAGEVT_STREAMED_OBJECTVT_STORED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSIDVT_VERSIONED_STREAMVT_BSTR_BLOBVT_VECTOR VT_ARRAYVT_BYREFVT_RESERVEDVT_ILLEGALVT_ILLEGALMASKEDVT_TYPEMASK long double __p_sig_fn_t/   {_gnu_exception_handler_gnu_exception_handler@40=@>@ exception_data old_handler jaction˜reset_fpu{`>@>@_fpreset{hv@NGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/cinitexe.c>@>@ charunsigned intintshort unsigned intlong intlong long intlong unsigned intunsigned char_PVFVh__xi_a @__xi_z@__xc_a@__xc_z @D GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/merr.c>@?@ charunsigned intintshort unsigned intlong intlong long int\long unsigned intunsigned charfloatsigned charshort intlong long unsigned intdoubleVARENUM VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCH VT_ERROR VT_BOOL VT_VARIANT VT_UNKNOWN VT_DECIMALVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOIDVT_HRESULTVT_PTRVT_SAFEARRAYVT_CARRAYVT_USERDEFINEDVT_LPSTRVT_LPWSTRVT_RECORD$VT_INT_PTR%VT_UINT_PTR&VT_FILETIMEVT_BLOBVT_STREAMVT_STORAGEVT_STREAMED_OBJECTVT_STORED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSIDVT_VERSIONED_STREAMVT_BSTR_BLOBVT_VECTOR VT_ARRAYVT_BYREFVT_RESERVEDVT_ILLEGALVT_ILLEGALMASKEDVT_TYPEMASK long double_iobuf X\_ptrY#_cntZt#_base[#_flag\t# _file]t#_charbuf^t#_bufsiz_t#_tmpfname`#FILEb_exception \type]t#name^#arg1_#arg2`#retvala# \fUserMathErr  t h __mingw_raise_matherrd>@?@ typt name a1 a2 rsltexhP __mingw_setusermatherrf ?@4?@ f_matherrt@?@?@  pexcept%type'J \ lstUserMathErr lv@lJ GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/dllargv.c?@?@charunsigned intintshort unsigned intlong intlong long intlong unsigned intunsigned charfloatsigned charshort intlong long unsigned intdouble long double_setargvw?@?@] ; GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/pseudo-reloc.c?@C@__gnuc_va_listz__builtin_va_listcharva_listdsize_ttunsigned intintptrdiff_tshort unsigned intlong intlong long intlong unsigned intunsigned charDWORDsfloat^signed charshort intlong long unsigned intULONG_PTR8SIZE_TPVOID@ _MEMORY_BASIC_INFORMATION4} BaseAddress5# AllocationBase6# AllocationProtect7B# RegionSize8# State9B# Protect:B# Type;B#MEMORY_BASIC_INFORMATION<double long double _iobuf N _ptr# _cnt# _base# _flag# _file# _charbuf # _bufsiz!# _tmpfname"#FILE$ : addend;B# targetinitializedLwxv@8 F TZtv@ GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/gs_support.cD@E@charunsigned intintshort unsigned intlong intlong long intlong unsigned intunsigned chardoublefloat long double_EXCEPTION_RECORDP ExceptionCode #ExceptionFlags # #ExceptionAddress # NumberParameters #ExceptionInformation ##_CONTEXTContextFlags#Dr0#Dr1#Dr2# Dr3#Dr6#Dr7#FloatSave#SegGs#SegFs#SegEs#SegDs#Edi#Esi#Ebx#Edx#Ecx#Eax#Ebp#Eip#SegCs#EFlags#Esp#SegSs#ExtendedRegisters# BYTEq DWORDssigned charshort intlong long unsigned int UINT_PTR6j ULONG_PTR8 PVOID LONG LONGLONG' ULONGLONG( 2ZLowPart3#4# 6LowPart7#8# _LARGE_INTEGER1 .u9ZQuadPart:  LARGE_INTEGER;_FLOATING_SAVE_AREAptControlWordu#StatusWordv#TagWordw#ErrorOffsetx# ErrorSelectory#DataOffsetz#DataSelector{#RegisterArea|#Cr0NpxState}#ljO FLOATING_SAVE_AREA~j CONTEXT PCONTEXT3j EXCEPTION_RECORD  PEXCEPTION_RECORD f3_EXCEPTION_POINTERS- . L#ContextRecord/ # EXCEPTION_POINTERS0 l_FILETIMEdwLowDateTime#dwHighDateTime# FILETIME NTSTATUS`ft_scalar!ft_struct" FT#5__security_init_cookie2D@`E@0cookie4systime5`Xperfctr6P__report_gsfailureg`E@E@ StackCookiegcookiei-h-jGS_ExceptionRecord%3y@GS_ContextRecord&v@GS_ExceptionPointers(,n@e,w-e,$P@w-(P@ysGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/tlsmcrt.cE@E@a_CRT_MT u P@intiGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/tlsthrd.cE@"H@charunsigned intintshort unsigned intlong intlong long intlong unsigned intunsigned charWINBOOLewWORDr~DWORDsfloatLPVOIDsigned charshort intlong long unsigned intULONG_PTR8LONGHANDLE_LIST_ENTRYFlink#Blink#yLIST_ENTRYy_RTL_CRITICAL_SECTION_DEBUG qTyper#CreatorBackTraceIndexs#CriticalSectiont~#ProcessLocksListu#EntryCountv#ContentionCountw#Flagsx#CreatorBackTraceIndexHighy#SpareWORDz#_RTL_CRITICAL_SECTION~DebugInfo#LockCount_#RecursionCount_#OwningThreadk# LockSemaphorek#SpinCountN#PRTL_CRITICAL_SECTION_DEBUG{RTL_CRITICAL_SECTIONCRITICAL_SECTIONƮdouble long double__mingwthr_key_t __mingwthr_key X key # dtor!d# next"j# d Xp __mingwthr_run_key_dtorsbE@qF@7keypdj0F@UF@valuel ___w64_mingwthr_add_key_dtor)wF@F@5key)dtor)dnew_key+5___w64_mingwthr_remove_key_dtor@wG@G@4key@prev_keyBjcur_keyCj__mingw_TLScallbackyG@"H@hDllHandleykreasonzreserved{ __mingwthr_csy@__mingwthr_cs_initLy@ wkey_dtor_list&jy@GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/pseudo-reloc-list.c0H@0H@0__RUNTIME_PSEUDO_RELOC_LIST_END__z@char__RUNTIME_PSEUDO_RELOC_LIST__z@ GNU C 4.5.2../../../../../src/gcc-4.5.2/libgcc/../gcc/libgcc2.cc:\crossdev\build\gcc-tdm64\x86_64-w64-mingw32\32\libgcc0H@0H@intunsigned intshort unsigned intcharlong intlong long intlong unsigned intunsigned chardoublefloat long doubleshort intix86_tune_indicesX86_TUNE_USE_LEAVEX86_TUNE_PUSH_MEMORYX86_TUNE_ZERO_EXTEND_WITH_ANDX86_TUNE_UNROLL_STRLENX86_TUNE_DEEP_BRANCH_PREDICTIONX86_TUNE_BRANCH_PREDICTION_HINTSX86_TUNE_DOUBLE_WITH_ADDX86_TUNE_USE_SAHFX86_TUNE_MOVXX86_TUNE_PARTIAL_REG_STALL X86_TUNE_PARTIAL_FLAG_REG_STALL X86_TUNE_USE_HIMODE_FIOP X86_TUNE_USE_SIMODE_FIOP X86_TUNE_USE_MOV0 X86_TUNE_USE_CLTDX86_TUNE_USE_XCHGBX86_TUNE_SPLIT_LONG_MOVESX86_TUNE_READ_MODIFY_WRITEX86_TUNE_READ_MODIFYX86_TUNE_PROMOTE_QIMODEX86_TUNE_FAST_PREFIXX86_TUNE_SINGLE_STRINGOPX86_TUNE_QIMODE_MATHX86_TUNE_HIMODE_MATHX86_TUNE_PROMOTE_QI_REGSX86_TUNE_PROMOTE_HI_REGSX86_TUNE_ADD_ESP_4X86_TUNE_ADD_ESP_8X86_TUNE_SUB_ESP_4X86_TUNE_SUB_ESP_8X86_TUNE_INTEGER_DFMODE_MOVESX86_TUNE_PARTIAL_REG_DEPENDENCYX86_TUNE_SSE_PARTIAL_REG_DEPENDENCY X86_TUNE_SSE_UNALIGNED_MOVE_OPTIMAL!X86_TUNE_SSE_SPLIT_REGS"X86_TUNE_SSE_TYPELESS_STORES#X86_TUNE_SSE_LOAD0_BY_PXOR$X86_TUNE_MEMORY_MISMATCH_STALL%X86_TUNE_PROLOGUE_USING_MOVE&X86_TUNE_EPILOGUE_USING_MOVE'X86_TUNE_SHIFT1(X86_TUNE_USE_FFREEP)X86_TUNE_INTER_UNIT_MOVES*X86_TUNE_INTER_UNIT_CONVERSIONS+X86_TUNE_FOUR_JUMP_LIMIT,X86_TUNE_SCHEDULE-X86_TUNE_USE_BT.X86_TUNE_USE_INCDEC/X86_TUNE_PAD_RETURNS0X86_TUNE_EXT_80387_CONSTANTS1X86_TUNE_SHORTEN_X87_SSE2X86_TUNE_AVOID_VECTOR_DECODE3X86_TUNE_PROMOTE_HIMODE_IMUL4X86_TUNE_SLOW_IMUL_IMM32_MEM5X86_TUNE_SLOW_IMUL_IMM86X86_TUNE_MOVE_M1_VIA_OR7X86_TUNE_NOT_UNPAIRABLE8X86_TUNE_NOT_VECTORMODE9X86_TUNE_USE_VECTOR_FP_CONVERTS:X86_TUNE_USE_VECTOR_CONVERTS;X86_TUNE_FUSE_CMP_AND_BRANCH<X86_TUNE_OPT_AGU=X86_TUNE_LAST>ix86_arch_indicescX86_ARCH_CMOVEX86_ARCH_CMPXCHGX86_ARCH_CMPXCHG8BX86_ARCH_XADDX86_ARCH_BSWAPX86_ARCH_LASTsigned charlong long unsigned intVARENUM  VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCH VT_ERROR VT_BOOL VT_VARIANT VT_UNKNOWN VT_DECIMALVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOIDVT_HRESULTVT_PTRVT_SAFEARRAYVT_CARRAYVT_USERDEFINEDVT_LPSTRVT_LPWSTRVT_RECORD$VT_INT_PTR%VT_UINT_PTR&VT_FILETIMEVT_BLOBVT_STREAMVT_STORAGEVT_STREAMED_OBJECTVT_STORED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSIDVT_VERSIONED_STREAMVT_BSTR_BLOBVT_VECTOR VT_ARRAYVT_BYREFVT_RESERVEDVT_ILLEGALVT_ILLEGALMASKEDVT_TYPEMASKcomplex floatcomplex doublecomplex long double__float128 __unknown__func_ptr+   v  __CTOR_LIST__ XI@ __DTOR_LIST__ `I@SGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/misc/mingw_matherr.c0H@0H@y_MINGW_INSTALL_DEBUG_MATHERRz@intTGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/intrincs/ilockcxch.c0H@dH@charunsigned intintshort unsigned intlong intlong long intlong unsigned intunsigned chardoublefloat long doubleshort int_InterlockedCompareExchangeeeprevk 0H@BH@{ 7 B M XP InterlockedCompareExchange InterlockedCompareExchange@12PH@dH@  e     SH@`H@ M B 7SH@`H@ XP?GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/intrincs/ilockexch.cpH@H@charunsigned intintshort unsigned intlong intlong long intlong unsigned intunsigned chardoublefloat long doubleshort int_InterlockedExchangeLTargetLValueR pH@~H@~0 ># InterlockedExchangeInterlockedExchange@8H@H@B TargetL Value H@H@ >z0% $ > : ;I I : ; : ;I8  : ;I8   : ; : ; I I !I/ !I/ : ; : ;I I8 < ' I' I : ;  : ; I8  : ; ( ' I' &I : ;  : ; : ; I.: ;' I  4: ;I!.? : ;' I ".: ;' #: ;I$ %.: ;' @&: ;I '.: ; ' @(.: ; ' I@)1RUX Y * U+41,4: ; I-4: ; I .1X Y / 04111RUX Y21X Y314.? : ; ' I@54: ; I 64: ; I? < 75I8594: ; I? < :!;4: ;I? < <4: ; I?  =4: ; I?  % 4: ; I?  $ > % 4: ; I?  $ > % $ > : ;I : ; I I' I  : ; : ;I8 ' ' I .: ; ' I@: ; I .? : ; @' I@4: ; I.? : ; ' I@: ; I 4: ;I? < 4: ; I? < 4: ; I? < 4: ; I 4: ; I?  4: ; I?  &I% $ >  : ; (  I' I: ; I.: ; ' I@ 4: ; I?  % $ >   : ; ( .? : ; ' I@: ; I 4: ; I?  % 4: ; I?  $ > % $ >  : ; ( : ; I I' I' .? : ; ' I@ : ; I 4: ; I 4: ; I .? : ;' I@4: ; I? < ' II4: ; I?  % $ >  : ; (  : ; : ; I4: ; I?  5I  I 5% $ >  I : ; : ;I8  : ;I8   : ; : ; I I !I/ : ;I !I/' II : ; ( ' .? : ; @' I@: ; I 4: ; I .? : ;I< 4: ; I? < 4: ; I?  % $ > : ; I I' I!I/ 4: ; I?  % $ >  I : ; (  : ;  : ; I8 : ; I &I ' I I .? : ; ' @ : ; I 4: ; I .? : ; ' I@4: ; II!4: ; I? < % $ > .? : ; ' I@% : ; I I$ > : ;I I &  : ; : ;I8  : ;  : ; I8  : ; .: ; ' : ; I4: ; I 4: ;I.: ; ' @: ; I 4: ; I &I: ; I4: ; I.? : ;' @4: ;I 1RUX Y U411 !I"!#4: ; I? < % .? : ; ' @% $ > : ;I I : ;  : ; I8 : ; I : ;  ( ' '  I .? : ; ' @4: ; I 4: ; I.? : ; ' @I!4: ; I? < 4: ; I?  % $ >  I : ; : ;I8  : ;I8   : ; : ; I : ;I  : ;  : ; I : ;II!I/ !I/ : ;  : ; I.? : ; ' @4: ; I4: ; I : ; I 5I&I4: ; I? < 4: ; I?  % 4: ; I?  $ > % $ >  : ; I : ; : ;I8  I: ;I  : ;  : ; I8 '  I 5I.: ; ' @4: ; I .? : ; ' I@: ; I 4: ; I % 4: ; I?  $ > % $ >  : ; (  : ;: ; I I' I !I/ 4: ;I?  % 4: ; I?  $ > % $ > .? : ; ' I : ; I4: ; I I5I.1@ 1 41 .? : ; @' I@ : ; I 1X Y  % $ > .? : ; ' I : ; I I5I.1@1 1 .? : ; @' I@ : ; I 1X Y  c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includec:/crossdev/src/mingw-w64-svn/mingw-w64-crt/includec:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_inccrtexe.cwinnt.h_mingw.hwindef.hbasetsd.hwinbase.hstdlib.hinternal.htchar.hctype.h_varenum.h@A}g]o][ ~.Xz~.eYKdzZlJggjW <y~$*2T@8jPu7? sfvf>x uX .Π܅Y~f =K~ZX.0. u< <;YV;d?8@f_؀ZiS] @+g^~J f^ f^WQ c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt_newmode.cWQ c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtwildcard.co c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includetlssup.c_mingw.hwindef.hbasetsd.hwinnt.hstdlib.hP:@fBZaAXWJ-YhuW=d>,Zf sm䟠eXxYg*{`֟(J i.., c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_incc:/crossdev/src/mingw-w64-svn/mingw-w64-crt/includecharmax.c_varenum.hinternal.h0<@gY c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_incmingw_helpers.c_varenum.h@<@>>WQ c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtxtxtmode.c c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includec:/crossdev/src/mingw-w64-svn/mingw-w64-crt/includec:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_incatonexit.cstdlib.hinternal.h_varenum.h`<@!ySA:>0:>LsYZu u< .gY c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_incc:/crossdev/src/mingw-w64-svn/mingw-w64-crt/includenatstart.c_varenum.hinternal.h~ c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includec:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_inccrt_handler.cwinnt.hwindef.hbasetsd.hwinbase.hsignal.h_varenum.h0=@ <- ]=MJ>dX=_M0=_JmftW WQ c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtcinitexe.c c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/src/mingw-w64-svn/mingw-w64-crt/includec:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includec:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_incmerr.cinternal.hmath.hstdio.h_varenum.h>@hVh>==8=jgf=Z#UX?8hP c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtdllargv.c?@",0 c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includepseudo-reloc.cvadefs.h_mingw.hwindef.hbasetsd.hwinnt.hstdio.h?@t>.j*2.q#xY>=sJhVP~Ȧ<~.c<X/t>V/F@=yt~ i >rJ])<x2U c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includec:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_incgccmain.c_mingw.hwindef.h_varenum.h0C@i/?cO?jci J]Lr]utL.r!-Y6y-g/-g/ɝfg+> c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includegs_support.cwinnt.hwindef.hbasetsd.hD@2kSU0 .` Xdt;=7Dy?==0@/ChYFYtf= s XYBzt\VP c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crttlsmcrt.cq c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includetlsthrd.cwindef.hbasetsd.hwinnt.hwinbase.hE@rd>hKx< Jfw.rXZWM?q/hhYe:A-=xT@JicAL s<Juthu *tf=\rtYwXn`Z c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtpseudo-reloc-list.c ../../../../../src/gcc-4.5.2/libgcc/../gcc/config/i386c:/mingw64tdm/x86_64-w64-mingw32/include/psdk_inc../../../../../src/gcc-4.5.2/libgcc/../gcci386.h_varenum.hlibgcc2.cgbl-ctors.h]W c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/miscmingw_matherr.c c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/intrincsc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includeilockcxch.cintrin.h0H@>x<  c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/intrincsc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includeilockexch.cintrin.hpH@<=kP<u< f| @AB A @DAB @  `@AD  A ,p@AD Q AAA A 0@AB S P@AB S | $P:@?AB U H \ L:@AB E| AA J  AA C ] AA C j AA C  <@AD A | 0<@AB I | @<@AB D P<@AB D | ,`<@AB D A A QA =@AB O | L0=@AB EO AA G i AA E  AA C A AA I | >@HAB D  ?@AB L @?@[AG R | X?@AD A | ?@RAB DH@@AB HEEO AA F AC  AA 80A@AB QO AA y AA | D C@AB C | x0C@\AB X (xC@AB Eu AA A $xpD@!AB M A K | 8D@AB Qg AD r AA `E@AB | 8hE@AB FM AAA G ]AAA  hF@sAB DO A ,hG@AB DR G G A (hG@AB ] A H G | 80H@AB N 8PH@AB N | pH@AB J H@AB J mingw_initcharmax__globallocalestatus__dyn_tls_init_callback_imp___acmdlnCheckSumSizeOfImageBaseOfCode__mingw_winmain_hInstanceMinorSubsystemVersionDataDirectorySizeOfStackCommitImageBase_imp____initenvmingw_initltsdyn_forceSizeOfCodeMajorLinkerVersion__native_startup_lock_newmodemingw_app_type__onexitbeginAddressOfEntryPointSizeOfHeapReservemingw_initltsdrot_force__mingw_oldexcpt_handler_image_base__SizeOfInitializedData_imp___commode__mingw_winmain_nShowCmdSizeOfStackReserve__mingw_winmain_lpCmdLine_MINGW_INSTALL_DEBUG_MATHERRSizeOfHeapCommitMinorLinkerVersion__enative_startup_stateSizeOfUninitializedDataSubsystemMajorSubsystemVersion__native_startup_stateDllCharacteristicsSizeOfHeadersMajorOperatingSystemVersionFileAlignmentNumberOfRvaAndSizesExceptionRecordWin32VersionValue__onexitendMinorImageVersionMinorOperatingSystemVersion_imp___fmodeLoaderFlags_dowildcardMajorImageVersionmingw_initltssuo_forceSectionAlignment_imp___winmajorlpreserved_tls_index__mingw_usemthread_dll__mingw_gMTKeyDtorhDllHandle__mingw_gMTRemoveKeyDtor_tls_startdwReason_tls_end__onexitend_imp___onexit__onexitbegin__enative_startup_state__mingw_oldexcpt_handlerExceptionRecord_imp___iob_image_base___imp___iob__RUNTIME_PSEUDO_RELOC_LIST_END____RUNTIME_PSEUDO_RELOC_LIST____CTOR_LIST____DTOR_LIST__fctMsvcrtLongJmp__security_cookie__security_cookie_complementHighPartExceptionRecordExChangeComperandDestinationttutttSuSTt`ataeteutpupqtqutu0u01t1#up0PP#P#APASz@p0QQQs1'SQ100P(P16Pp*S1;S*0*S1;0;SSP0P0PPP PP[1p@#p@[ip@i1#v~p@~/W#Wv~0SvxPx1#V01t13t3FuFKtPQtQStSfufktttu t <u<?t@AtACtCutu t ututuSs|SSSttuttt u tttutttutttututNhcfPfSPttutttYuY`t`ututu t u6PPPP8P>XPgPQ0QWSW\P\0SP0SP909> >Y0Y^ ^0"0"QV\u0^0gVttGuGHtPQtQStS_u_dtpqtqxtxutRttutttRu`atactcuttutteueftfgtgu`yPy|SPSZSgS`yRyVRV]VgV`yQyWQW`WgW=g\ttuttut t fuVW\XV\P P 9PfPPP2SP/=SLqSS S VSS sx S Xttuttt[u[\t`atactcut1uxSSS1S}SsS@AtACtCPuPQtQ\u\attt;u;<t<@t@uttuRUXU]\X']`Lw'WW$P@WttGuttu t ut3@y@@eSe}SPQPQiVttutuPStt)u)0t0wuwxtxuFR0RZRZaRx~R0FRy@RZPZ]R]aPxPRttutu t 2uttut !t!#t#1u14ttt u t  Pttu t Pacphacph)#1 f f .file1gcrtexe.c  _envp _argv_argc_argret` p _mainret0  P .textka.data.bss  + 7 .rdataCCMW do  P .file;gcrtbegin.c.textp.data.bss  .fileZginstaller.c_plog_vp _plog  _pstatP  _req_id @@@  (,,D  S0j  zP p  _main $.textp$.data.bss  .rdataD .filehgfakehnamefthunk\.text@*.data.bss@.idata$2d.idata$4.idata$5\.file}gfake.text@*.data.bss@.idata$4.idata$5p.idata$7  .text@*.data.bss@.idata$7 .idata$5H.idata$4.idata$6D.filegfakehnamefthunkH.textH*.data.bss@.idata$2<.idata$4.idata$5H.filegfake.textH*.data.bss@.idata$4.idata$5L.idata$7  .filegfakehnamefthunkP.textH*.data.bss@.idata$2P.idata$4.idata$5P.filegfake.textH*.data.bss@.idata$4.idata$5X.idata$7  .fileg_newmode.c.textH*.data.bss@ .+ 7 [o .filegwildcard.c.textH*.data.bssDE .+ 7n [o ".file gtlssup.cP* * X___xd_a,___xd_z0 , .textP*.data.bssHs k+ 57 s.rdata @.tls$AAA.tls$ZZZ.CRT$XLA.CRT$XLZ(.tls.CRT$XLC .CRT$XLD$.CRT$XDA,.CRT$XDZ0Wd]o WP   .file&gcharmax.c0, .text0,.data.bss\ z+a& Q 7< 0.CRT$XICW4dq8oP GN (@ .fileAgmingw_helpers.c$@, 5P, .text@,.data.bss`X u+* ] 7l WTdpo Mv ` .fileQgxtxtmode.c.text`,.data.bssd .+/ }7` [o .filengatonexit.cF`, _atexit- .text`,.data.bssh +/ 7 Wddo P 6 k(.filegnatstart.c.text0-.data.bssh w+4  7 oQ  V.filegcrt_handler.cT0- .text0-.data.bssh` L+O9  7 Wddo J  i ).filegcinitexe.c.text..data.bssl ]+GC R7 [.CRT$XIA .CRT$XIZ.CRT$XCA.CRT$XCZo > .filegmerr.cn. l / @/ 8 .text..data.bssl +D H7 .rdata 4WtdoX T R  .filegdllargv.c/ .text/.data.bssp 4+J N7 lWX4d] 8o   .filegpseudo-reloc.c/ 0 01 p.text/f!.data.bssp; +/L  '7 .rdataP Wd 8o 0  $ XY.file0gCRT_fp10.c 3 _fpreset 3 .text 3.data.bsst '+:S {7 lWD4d 8o   .fileTggccmain.c03 _p.560562_hMsvcrt|?3 ___mainp4 Rx.text03a.data.bsst +S 7X .rdata+Wxd +o ^- p@ 8-.filezggs_support.c_4 w$(`5  ,.text4G.data .bss0 \+[Y 7 B.rdata,Whd0ox { ` eH.filegtlsmcrt.c.text5.data .bss s .+1b }7a Zo .filegtlsthrd.c5  0 ? N6 l7 7 .text52".data$.bss   +b m7 uWhd7Do o$ - .fileg.text08.data$.bss  .+i 70 do Z.fileglibgcc2.c.text08.data$.bss  +i  7 o 6Q W.filegmingw_matherr.c.text08.data$.bss S .+u 7y ao 3.filegilockcxch.c08 P8 .text084.data$.bss  +[v X7 W8Td{poC Q  .filegilockexch.cp8 8 .textp8 .data$.bss ? +x 7 WTdo C  .text8.data$.bss .idata$7 .idata$5.idata$4p.idata$6V.text8.data$.bss .idata$7 .idata$5.idata$4\.idata$6.text8.data$.bss .idata$7 .idata$5.idata$4L.idata$6.text8.data$.bss .idata$7 .idata$5.idata$4H.idata$6.text8.data$.bss .idata$7 .idata$5.idata$4T.idata$6.text8.data$.bss .idata$7X .idata$5$.idata$4.idata$6.text8.data$.bss .idata$7T .idata$5 .idata$4.idata$6.text8.data$.bss .idata$7h .idata$54.idata$4.idata$6.text8.data$.bss .idata$7 .idata$5.idata$4h.idata$6>.text8.data$.bss .idata$7 .idata$5.idata$4`.idata$6 .text8.data$.bss .idata$7 .idata$5.idata$4t.idata$6`.text8.data$.bss .idata$7@ .idata$5 .idata$4.idata$6.text8.data$.bss .idata$7p .idata$5<.idata$4.idata$6..text8.data$.bss .idata$7< .idata$5.idata$4.idata$6.text8.data$.bss .idata$7H .idata$5.idata$4.idata$6.text8.data$.bss .idata$7P .idata$5.idata$4.idata$6.text8.data$.bss .idata$7l .idata$58.idata$4.idata$6$.text9.data$.bss .idata$7` .idata$5,.idata$4.idata$6.text9.data$.bss .idata$7\ .idata$5(.idata$4.idata$6.text9.data$.bss .idata$74 .idata$5.idata$4.idata$6.text9.data$.bss .idata$7( .idata$5.idata$4.idata$6|.text9.data$.bss .idata$7$ .idata$5.idata$4|.idata$6t.text9.data$.bss .idata$7 .idata$5.idata$4D.idata$6.text 9.data$.bss .idata$7, .idata$5.idata$4.idata$6.text(9.data$.bss .idata$7d .idata$50.idata$4.idata$6.text09.data$.bss .idata$7 .idata$5.idata$4x.idata$6l.text09.data$.bss .idata$7 .idata$5.idata$4X.idata$6.text89.data$.bss .idata$7D .idata$5.idata$4.idata$6.text@9.data$.bss .idata$7L .idata$5.idata$4.idata$6.textH9.data$.bss .idata$7t .idata$5@.idata$4.idata$68.textP9.data$.bss .idata$78 .idata$5.idata$4.idata$6.filegfakehnameDfthunk.textX9.data$.bss .idata$2(.idata$4D.idata$5.file gfake.textX9.data$.bss .idata$4.idata$5D.idata$7x  .filegfakehnamefthunk.textX9.data$.bss .idata$2.idata$4.idata$5.file%gfake.textX9.data$.bss .idata$4@.idata$5.idata$7  .file3gfakehnamefthunk.textX9.data$.bss .idata$2.idata$4.idata$5.fileAgfake.textX9.data$.bss .idata$4.idata$5.idata$74  .filegcrtend.c.textX9.data$.bss  .text.data.bss@.idata$7 .idata$5d.idata$4.idata$6.text.data.bss@.idata$7 .idata$5`.idata$4.idata$6.text.data.bss@.idata$7 .idata$5h.idata$4.idata$6.text.data.bss@.idata$7 .idata$5l.idata$4.idata$6.text.data.bss@.idata$7 .idata$5\.idata$4.idata$6.text.data.bss@.idata$7 .idata$5P.idata$4.idata$6j.text.data.bss@.idata$7 .idata$5T.idata$4.idata$6~.text.data$.bss .idata$70 .idata$5.idata$4.idata$6.text.data$.bss .idata$7 .idata$5.idata$4l.idata$6H.text.data$.bss .idata$7 .idata$5.idata$4d.idata$6..text.data$.bss .idata$7 .idata$5.idata$4P.idata$6.text.data$.bss .idata$7 .idata$5.idata$4.idata$6.text.data$.bss .idata$7 .idata$5.idata$4.idata$6.text.data$.bss .idata$7t .idata$5L.idata$4.idata$6.text.data$.bss .idata$7| .idata$5T.idata$4.idata$6.text.data$.bss .idata$7 .idata$5X.idata$4.idata$6.text.data$.bss .idata$7 .idata$5p.idata$4.idata$6~.text.data$.bss .idata$7 .idata$5.idata$4<.idata$6.text.data$.bss .idata$7H .idata$5 .idata$4.idata$6.text.data$.bss .idata$7 .idata$5|.idata$4.idata$6.text.data$.bss .idata$7p .idata$5H.idata$4.idata$6.text.data$.bss .idata$7 .idata$5.idata$44.idata$6~.text.data$.bss .idata$7x .idata$5P.idata$4.idata$6.text.data$.bss .idata$7D .idata$5.idata$4.idata$6.text.data$.bss .idata$7 .idata$5t.idata$4.idata$6.text.data$.bss .idata$7 .idata$5.idata$48.idata$6.text.data$.bss .idata$7L .idata$5$.idata$4.idata$6.text.data$.bss .idata$7 .idata$5.idata$4.idata$6.text.data$.bss .idata$7 .idata$5.idata$4 .idata$6.text.data$.bss .idata$7h .idata$5@.idata$4.idata$6.text.data$.bss .idata$7 .idata$5d.idata$4.idata$6:.text.data$.bss .idata$7l .idata$5D.idata$4.idata$6.text.data$.bss .idata$7 .idata$5.idata$4.idata$6.text.data$.bss .idata$7X .idata$50.idata$4.idata$6B.text.data$.bss .idata$7 .idata$5.idata$40.idata$6n.text.data$.bss .idata$7 .idata$5.idata$4,.idata$6\.text.data$.bss .idata$7 .idata$5\.idata$4.idata$6.text.data$.bss .idata$7` .idata$58.idata$4.idata$6d.text.data$.bss .idata$7d .idata$5<.idata$4.idata$6z.text.data$.bss .idata$7 .idata$5`.idata$4.idata$6*.text.data$.bss .idata$7 .idata$5x.idata$4.idata$6.text.data$.bss .idata$7 .idata$5.idata$4(.idata$6@.text.data$.bss .idata$7\ .idata$54.idata$4.idata$6P.text.data$.bss .idata$7 .idata$5.idata$4 .idata$6.text.data$.bss .idata$7T .idata$5,.idata$4.idata$6*.text.data$.bss .idata$7 .idata$5.idata$4$.idata$62.text.data$.bss .idata$7 .idata$5l.idata$4.idata$6f.text.data$.bss .idata$7P .idata$5(.idata$4.idata$6.text.data$.bss .idata$7 .idata$5h.idata$4.idata$6J.text.data$.bss .idata$7$ .idata$5.idata$4.idata$6.text.data$.bss .idata$70 .idata$5.idata$4.idata$6.text.data$.bss .idata$7 .idata$5.idata$4.idata$6.text.data$.bss .idata$7( .idata$5 .idata$4.idata$6.text.data$.bss .idata$7, .idata$5.idata$4.idata$6.text.data$.bss .idata$7 .idata$5.idata$4.idata$6t8__cexit8 . Jp4 `9)___xi_a _free8 =Vdu09 Hd $3( J4 f$|hh___xl_c  t 0 I `i w    P  @  ) 9 H___xl_z(f  _puts9  __unlock 9   x   L! - D: N _strncat8 b <q D   4    ' 4 4O Pj |  T  ,     %  9 ,I 0__dll__W ,c _fwrite@9 x  l  @   ___xc_a1W0_memcpy8 lXt4@* -PE, ],j8 ___xl_a___xl_d$yX9$ 8 __CRT_MT  @ ( "_fprintf89 :HF`\nz\ X98`8 _calloc8 __fmoded8Ke| $@(l- ;Udyx |__lock9 _getenv8 ___xc_z__end__L 9 _signal(9 _malloc8 %`93HWk ,@ ;4I cv dh_abortP9 t\)DR8 ^s  ___xi_zT_strncmp8 0M[g<(!<TT`n@_strlen8  P <_exit8 &5(T$gp_printf9 4  _Sleep@4#\6NYq,H9 ,.debug_aranges.debug_pubnames.debug_pubtypes.debug_info.debug_abbrev.debug_line.debug_frame.debug_str.debug_loc.debug_ranges___mingw_invalidParameterHandler_pre_cpp_init_startinfo_pre_c_init_managedapp___tmainCRTStartup_has_cctor_WinMainCRTStartup_mainCRTStartup.debug_abbrev.debug_info.debug_line.CRT$XIAA.CRT$XCAA.debug_frame.debug_loc.debug_pubnames.debug_pubtypes.debug_aranges.debug_ranges.debug_str_send_status_request_data_device_id.80873_user_sid.80875_hardware_id.80874_enumerate_device_CM_Locate_DevNodeA_CM_Reenumerate_DevNode_check_removed_CM_Get_DevNode_Status_process_syslog_syslog_reader_thread_disable_system_restore_original_val.80978___wgetmainargs___dyn_tls_dtor@12___dyn_tls_init@12___mingw_mthread_hdll___tlregdtor_my_lconv_init__decode_pointer__encode_pointer_mingw_onexit__gnu_exception_handler@4___mingw_raise_matherr_stUserMathErr___mingw_setusermatherr__matherr_CSWTCH.4__setargv___report_error___write_memory__pei386_runtime_relocator_was_init.56720__fpreset___do_global_dtors_free_Msvcrt___do_global_ctors_initialized___security_init_cookie.data$__security_cookie.data$__security_cookie_complement___report_gsfailure_GS_ContextRecord_GS_ExceptionRecord_GS_ExceptionPointers___mingwthr_run_key_dtors___mingwthr_cs_init___mingwthr_cs_key_dtor_list____w64_mingwthr_add_key_dtor____w64_mingwthr_remove_key_dtor___mingw_TLScallbackpseudo-reloc-list.c__InterlockedCompareExchange_InterlockedCompareExchange@12__InterlockedExchange_InterlockedExchange@8__imp__strncat__lib32_libsetupapi_a_iname_SetupDiSetDeviceRegistryPropertyA@20_VirtualProtect@16___RUNTIME_PSEUDO_RELOC_LIST___SetLastError@4__imp__getenv_SetEvent@4_QueryPerformanceCounter@4__imp__CloseHandle@4__data_start___FreeLibrary@4___DTOR_LIST____imp___beginthread__imp__VirtualProtect@16__imp__SetupDiGetClassDevsA@16__imp___acmdln___setusermatherr_UnhandledExceptionFilter@4__imp___onexit__imp__GetLastError@0__imp__GetVersionExA@4_SetUnhandledExceptionFilter@4__imp__VirtualQuery@12___tls_start_____native_startup_lock__lib32_libadvapi32_a_iname__imp__CreateFileA@28__imp__TlsGetValue@4__imp__SetupDiGetDeviceRegistryPropertyA@28__imp__InitializeCriticalSection@4_DeleteCriticalSection@4__imp__abort_fctMsvcrtLongJmp__dll_characteristics____size_of_stack_commit____imp__SetupDiEnumDeviceInfo@12__imp___fmode__size_of_stack_reserve____major_subsystem_version_____crt_xl_start____imp__GetOverlappedResult@16__imp__WideCharToMultiByte@32__newmode___crt_xi_start____imp___amsg_exit___crt_xi_end____imp__UpdateDriverForPlugAndPlayDevicesW@20__lib32_libnewdev_a_iname_GetLastError@0__imp__RegSetValueExA@24__lib32_libole32_a_iname__imp__QueryPerformanceCounter@4_syslog_ready_event_VirtualQuery@12_mingw_initltsdrot_force__imp___iob__dowildcard__imp__WriteFile@20_GetModuleHandleA@4__imp__strncmp__imp__GetFullPathNameW@16_SetupDiGetClassDevsA@16__bss_start_____RUNTIME_PSEUDO_RELOC_LIST_END____imp__CreateEventA@16__size_of_heap_commit____imp__RegCloseKey@4___onexitend_ReadFile@20__imp__GetCurrentProcess@0__imp__CoCreateInstance@20__imp___endthread_mingw_pcinit__imp__GetProcAddress@8_GetProcAddress@8___crt_xp_start___CreateEventA@16_MultiByteToWideChar@24__MINGW_INSTALL_DEBUG_MATHERR_GetOverlappedResult@16___mingw_gMTKeyDtor___crt_xp_end____imp__signal__imp__puts__minor_os_version___CoInitializeEx@8__imp__SetupDiSetDeviceRegistryPropertyA@20_GetTickCount@0__image_base___GetVersionExA@4__imp__exit__section_alignment___LoadLibraryA@4__imp__SetFilePointer@16_SetupDiGetDeviceRegistryPropertyA@28__imp__FreeLibrary@4__imp__GetStartupInfoA@4__IAT_end____imp____lconv_init__RUNTIME_PSEUDO_RELOC_LIST___pipe_handle_SetupCopyOEMInfW@32_CoCreateInstance@20__tls_start_UpdateDriverForPlugAndPlayDevicesW@20__head_lib32_libole32_a___native_startup_state__data_end_____getmainargs__CTOR_LIST_____onexitbegin___set_app_type__charmax___mingw_winmain_lpCmdLine__bss_end____imp__WaitForSingleObject@8___security_cookie_complement___crt_xc_end___syslog_terminate_event__tls_index__imp__GetTickCount@0___crt_xc_start____endthread__imp__SetLastError@4__imp__SetupCopyOEMInfW@32__lib32_libkernel32_a_iname___CTOR_LIST____imp__GetCurrentProcessId@0_CreateFileA@28_mingw_app_type__initterm__imp__TerminateProcess@8_GetStartupInfoA@4_SetupDiEnumDeviceInfo@12_WaitForSingleObject@8_GetCurrentProcessId@0__imp____dllonexit_user_psid__imp__memcpy__imp__GetFileSize@8__file_alignment____imp___unlock__head_lib32_libmsvcrt_a__imp__LeaveCriticalSection@4__imp__malloc__imp__RegCreateKeyExA@36___mingw_pinit__major_os_version____lib32_libmsvcrt_a_iname__imp__ReadFile@20_RegSetValueExA@24_CloseHandle@4__IAT_start____tls_end__imp____initenv__imp__GetModuleHandleA@4___dllonexit__imp___lock__DTOR_LIST___GetFullPathNameW@16__imp__fprintf_TerminateProcess@8_EnterCriticalSection@4__imp__RegDeleteValueA@8__imp___initterm_GetCurrentThreadId@0__size_of_heap_reserve_____crt_xt_start____imp__SetEvent@4___ImageBase__subsystem____imp__ConvertStringSidToSidA@8__imp__strlen___mingw_gMTRemoveKeyDtor_RegDeleteValueA@8___mingw_usemthread_dll__head_lib32_libsetupapi_a___mingw_oldexcpt_handler__imp__calloc__imp__MultiByteToWideChar@24___native_vcclrit_reason__imp__GetSystemTimeAsFileTime@4__imp__RegQueryValueExA@24___lconv_init__amsg_exit__imp____getmainargs__imp___winmajor___mingw_winmain_nShowCmd___native_dllmain_reason___tls_end___GetSystemTimeAsFileTime@4_RegCreateKeyExA@36_mingw_pcppinit_GetCurrentProcess@0_mingw_initltssuo_force_InitializeCriticalSection@4__beginthread__imp__free__imp__SetUnhandledExceptionFilter@4__head_lib32_libnewdev_a__major_image_version___RegQueryValueExA@24_WriteFile@20__loader_flags____imp__UnhandledExceptionFilter@4__imp__printf__head_lib32_libkernel32_a__imp__CoInitializeEx@8__vsnprintf__imp___cexit__minor_subsystem_version____minor_image_version____imp__Sleep@4__imp__vfprintf__imp____set_app_type___mingw_winmain_hInstance_mingw_initltsdyn_force__imp__GetCurrentThreadId@0_TlsGetValue@4__imp__DeleteCriticalSection@4___security_cookie_LeaveCriticalSection@4_ConvertStringSidToSidA@8__imp__LoadLibraryA@4_GetFileSize@8__head_lib32_libadvapi32_a_RegCloseKey@4__RUNTIME_PSEUDO_RELOC_LIST_END_____dyn_tls_init_callback_mingw_initcharmax__imp____setusermatherr__tls_used_WideCharToMultiByte@32___crt_xt_end___SetFilePointer@16__imp___vsnprintf_vfprintf__imp__EnterCriticalSection@4__imp__fwriteMZ@ !L!This program cannot be run in DOS mode. $PEd(tN' @&0@PwC D.text?@ P`.dataPF@P.rdatap`H@P@.bss@p`.idataDX@0.CRThh@@.tlsHj@`/4l@B/19p@B/353x@B/51*@B/63&@B/77/:@B/89 V@@B/102`@B/11346f@B/124@@BHHH8ffD ofL_H_H __H_HD$ <_H8H(1f=MZ+f%ffftw!fw_tWE<HQ( fH4oH%oH.nt H --1H(f;@Hc %HH:PEkJLBf t3f QD13f.Ax\1A AU1 ATUWVSHHT$ HH= eeH%0HX1H9n1Ht6H9@t.H=߂1 H9FHHnHu1m1mo]m&u 1HmH=Ht E11/H 4*BHWd(H kMHHHzMH}Ht H =v15ctwHy1H„t1t-H ~˃"DH uD$\HHl Hll-\MHcH9I1H=\~E11H 9DhMcLy9IHMHHZ99HcHIL%D\1H@\HU '\HL)\H\]#\%\ \u 9\HĘ[^_]A\A]@D$` fDk8kHH 8{kHHH jPkk8yH CKHH =KHH +KyH(8H(a0H(d@H(a0H(DSIIH@H=:tBH\$0D$0HK#D@x*HD$ L$<HH \:bH@[Ƅ$/Affff.H8HT$HHT$HLD$PLL$XHT$(^H8fHHAL$PHD$ LL$HcȺ/HHt)11ɉt$(HD$ AMA9H/IND$PL-/D@HD$ LL$@HH 2wL9HH/؃A9f.HĘ[^_]A\A]A^A_À 1HD$8HD$0D$(HD$ AIyvA3AMHc.HHH@1HD$8HD$0Dl$(AHD$HHD$ IvA9t Hd.HW.HL$HAHff.AWHCCAVAUATU1WVSHxL%tH$PH0CH$PH\$PH$XH"CH$`H !C-Ht%H C-H`-HH=w.H B-HtH B-H*-HxH Br-IHH,H BX-Ht&H BG-H,HPHw*H lB!-H1HtH VB -H,H>DPHt H,HHDHAAD! tAA€ADLAIDHHH)LL9sHAt H*,L@HH{,E1HD$0D$(D$ AHAHHu7HKH AH 2B}HhrtH LAH_HHD$@H$8D$ H$@HD$8m@C$\u=B*$TH$TD$(AE1H>HD$ H$8mMH$8H5bmH$HH$E1L$AHHT$ P8H>=H.=@H >HDJH$@H$HHPH`[^_H =H$@HtlH$H1HtHPH`[^_H <뻋)Hx=H$8}l@|$TH <iH =mVH q=RH$8lH$HH$E1L$AHHT$ P8H \=H$PE1DŽ$XL$XH<H$8HD$(H(HD$ ktH <'ffff.AWAVAUATUWVSHH$NE1E1$DŽ$HD$0D$(@D$ H <kHH@'H l=H5PkHH H]=HHAkHHQGuHQ=HHH9GD H =HH HH=HHHGuHG=HHHF1 H <HH HF=HHHF0H n=HH Hd=HHHF 1ɺwlHlFH`H$H$H$AL$H\$ Hc$4#D$IIEL5j11f.H$1A1L$HD$8HD$0D$(HD$ MAփ~QHcȺ"HHt<1HD$8HD$0|$(HD$ AMA9t H1t"$ItH9IIwH <1H1D$(HD$ AL<H=#i׃A!L$IHHhL%hD$PAԋT$PAƅHtH!HtH!HhH$DHD$XAHq H!%tADHJHDHHHH)H;HHLF&!Ht H HHً)H! t€DHiHDHHH)LL9sHAt HT L@HH HD$pIHHCHfE1E11H5fE1E11ɺH"E11H"H hHHH "gH-8gxMH :LE1-1D$(HD$ AM׃q1D$(HD$ AIعE1҃M1ALLT$HHD$ D$`AMD$lLT$Ht L$LT$HMtLL$lT$X|$`A=gg=5fD=Ct=?H ;H8HHHAH 8HHHgAzH 8H H-eO==/= 9H c9~H o<E1o1D$(HD$ AIع׃2E11D$(HD$ A׃HD$`Y}E1AHT$`LHHD$8HD$0D$(HD$ HfD$lADL$lD$|EMtL&H|$`t HL$`HtHL$|T$XDD$lEVH$H ;1AHL$pGV1h dH FL;$tK$~3L1f.H Ht cHH9$MtL?HbH H HH HĨ[^_]A\A]A^A_fH i6HXH--cH$1HD$8HD$0D$(EHD$ IFcF,(A=fWj==mH y8xH +61HL$p[H 5$L$H 3aHHdH 4H:`1obH MaSIH 4H 4"HcȺ]HHW1҉l$(HD$ AL490H1(!H 2aHH%fJ @'H .8¿> H3HHH<=5=r=/-= uH 41LH$1HD$8HD$0D$(AHD$ I`D$lAԉD$|AAKH2HHH;H 1_HHH2HHH; Hs2HHy;HcȺD$PsHID\$PD\$(1HD$ AIعHD$HD\$PLT$HA9L.E1fDHcȺD$HHIDT$HmDT$(1HD$ AMDT$HA9CLE13@H e1^HHfH 93HڿH q4H {2H 4H 4H 4H 45ZH 3yDH 53c.H 2HڿJ=t =H ,3"H 2 HcȺD$H~HIDT$HDT$(1HD$ AIعDT$HA9LE1@rHcȺD$H"HHD$`DT$HDT$(E11HD$ ADT$HA9YHL$`HD$`AD=G=H n2H -H .j%^%v^%~^%~^%V^%^%^%^H(ttH(fH(ÐVSH(=t tt?H([^ÐHgH5gH9tHHtHH9uH([^)H1HÐHHQ\HHHH@HHHÐSHH0H FHHD$(tvOH FH FHD$(HT$(LD$ HHD$ #HL$(HHL$ HbFuHYFHH0[H[HH0H[fDH(GHH(ÐSH0=wB=rk1ҹHH HҸt 1H0[@=wx==tH0[fD===u1ҹ HHHҸt 1H0[=tV=u1ҹHHtHҸ@1H0[1@=t==1H0[fDv1D$(D$( P1?1HXHt$0H\$(H|$8Hl$@Ld$HLl$PHƋ=Hu+H\$(Ht$0H|$8Hl$@Ld$HLl$PHXuH E0=HŸHuH:H0Hc<D%AHHHHA)1۱ HH-E P HDePD)HGWH H t!HYHuHu*DIH d:W @VSHH8H=w;=rt1ҹH)Ht7иH8[^Ð===tH9HH8H[^f===u1ҹ AHHt H8[^=tZ=u1ҹHHeH8[^1=t=1H8[^f1fD$( D$(f aAHXH;Ht)HT$(H$T$0L$ \$8HL$ HT$@HXfHH :Hfff.HhH\$@Ht$HH|$PHl$XLd$`9vnH.HqLa HiHyH .HH`IILd$0Hl$(H|$ ~1H\$@Ht$HH|$PHl$XLd$`HhfDH-HcHH-@H,t@H,d@H,T@H)-D@H,4H1HÐVSHH8HD$XHT$XLD$`LL$hHD$( H b-LH`A Ht$( HH`HI HMH\$`Ht$hLH|$pHl$xHL$L$HL$u4H\$`Ht$hH|$pHl$xL$L$L$HĘHT$ A0THD$DuIHH @tLd$\A@HT$8HL$ H-SMՋD$DIHH@AŃA EBE9MDD$\HT$8HL$ H (,I0kff.HXD8H\$0Ht$8H|$@Hl$HELd$Pt'H\$0Ht$8H|$@Hl$HLd$PHXfH,H,7HH)H~H ~w-`,u =Z,tRfH9H5F,sH-ͽH|$,KAHHHD$,H9rOfD5,uH+ uSuSH H=+H9 H5KHl$ IKDCAHL tcw"H !+AHD$ @uI)I)L LL$ AH%H H9wDAMt0II)I)OLT$ AHf.I)I)OLD$ twzuAHDDAMtM I)I)OLT$ AHqGDA€MtII)I)OLT$  t@ fH )HHÐH(H HHtH HPH@H HuR5t'H ?5Ht85FOH5H(f.VSH(H=5 tZt5tH5 f.ƃuH(H K[^@1H5W DÍCH<uH )H5NHH4tH)HNH]4nH (HHU4uH (HH@4uH (N/4H 4fffff.H3tH3HHhH2-+H\$@Hv Ht$HH|$PHl$XLd$`H9HD$0t(HHZ H\$@Ht$HH|$PHl$XLd$`HhHL$0MLd$0MMljMHL$ ƉML3d$ HI1I1I1I!LI9HtL% H pf.H] fI3-+f.UHVHH 2SHpMH3E1HUH{MHIHEHD$8IHU1HD$0HEHD$(H2HD$ AMHn31H52C7 =7HB7HHEHHEMH -M7L H MHEH2HEH2xHHf7H\$(Ht$0H|$8Hl$@uH\$(Ht$0H|$8Hl$@HHDH I7KHd7Ht;H=LH5Kf HօuHt HCHH[HuHKH\$(H 6Ht$0H|$8Hl$@HH@H86H\$ Ht$(HH|$0΅u1H\$ Ht$(H|$0H8YHǸHtH m67H_JH6H S6H=t6HG&K1fffff.SH 6u1H [H 6gJH$6Ht9u K9t)HHHHuH 5J1H [HQHPH 5JHPHH5@H(tGruH(ÐE5uH Y5/5I5t 5H(fH 5IېH1f9MZtHHcQF%.F%E%E%~E%F%E%FF%6F%.E%~E%.E%.E%nE%E%E%E%E%E%D%E%D%E%6E%D%E%VD%fD%>D%FD%FD%D`8@O@~@y@2-+] fmsvcr80.dllmsvcr70.dllmsvcrt.dll_set_invalid_parameter_handlerfailed to create overlappedreceived unexpected datafailure to initiate read (%d)message request: timed outread error: %ddevice_idhardware_iduser_sidreq_id: unknown ID requestedgot %s: '%s'failed to read %sre-enumerating driver node %s...failed to locate device_id %s: %x failed to re-enumerate device node: CR code %Xre-enumeration succeeded...USBcould not read SPDRP_CONFIGFLAGS for phantom device %scould not write SPDRP_CONFIGFLAGS for phantom device %sflagged %d removed devices for reinstallation\inf\setupapi.dev.log\setupapi.log\setupact.logWINDIRusing syslog '%s'Could not open any syslogCould not set syslog offsetsylog reader thread startedcould not read syslog file sizecould not allocate buffer to read syslogfailed to read syslogsyslog reader thread terminatingdisabledrestoredCoCreateInstance failed; hr = %xOpenLocalMachineGPO failed - error %xGetRegistryKey failed - error %xSoftware\Policies\Microsoft\Windows\DeviceInstall\SettingsRegCreateKeyEx failed - error %xDisableSystemRestorefailed to read original DisableSystemRestore value - error %xRegSetValueEx / RegDeleteValue failed - error %xunable to apply DisableSystemRestore policy - error %xsuccessfully %s the system restore point creation setting\\.\pipe\libwdi-installerThis application can not be run from the command line.Please use your initial installer application if you want to install the driver.Cfgmgr32.dllCM_Locate_DevNodeACM_Locate_DevNodeAACM_Locate_DevNodeAWCM_Reenumerate_DevNodeCM_Reenumerate_DevNodeACM_Reenumerate_DevNodeWCM_Get_DevNode_StatusCM_Get_DevNode_StatusACM_Get_DevNode_StatusWMsvcrt.dll__wgetmainargs__wgetmainargsA__wgetmainargsWcould not init DLLsunable to access UTF-16 args - trying ANSIusage: %s missing inf_name parametergot parameter %s.could not retrieve absolute path of working directory\Unable to create syslog reader threadInstalling driver for %s - please wait...driver update completedmore recent driver was found (force option required)device not detected (copying driver files for next time device is plugged in)invalid path or hardware ID (%s)the system can not find the file specified (%s)this process needs to be run with administrative privilegesattempted to use a 32 bit installer on a 64 bit machinethe syntax of the inf is invalida section of the inf has a problemunable to locate cat fileoperation cancelled by the userthe driver is not compatible with this version of Windowsdriver already existsyour system policy has been modified from Windows defaults, andis set to reject unsigned drivers. You must revert the driverinstallation policy to default if you want to install this driver.see http://articles.techrepublic.com.com/5100-10878_11-5875443.htmlunhandled error %XCopying inf file (for the next time device is plugged) - please wait...copied inf to %s.pdataArgument domain error (DOMAIN)Argument singularity (SIGN)Overflow range error (OVERFLOW)Partial loss of significance (PLOSS)Total loss of significance (TLOSS)The result is too small to be represented (UNDERFLOW)Unknown error_matherr(): %s in %s(%g, %g) (retval=%g) ,bƖؖ *BZh|ʗڗ(BRb~֘ &:FXh̙ޙ&4DP^nƚԚޚ&.8@JT^hrzԛ&>bsConvertStringSidToSidA0RegCloseKey8RegCreateKeyExAGRegDeleteValueAmRegQueryValueExA}RegSetValueExAUCloseHandleCreateEventACreateFileADeleteCriticalSectionEnterCriticalSectionmFreeLibraryGetCurrentProcessGetCurrentProcessIdGetCurrentThreadIdGetFileSize GetFullPathNameWGetLastError#GetModuleHandleAHGetOverlappedResultUGetProcAddressrGetStartupInfoAGetSystemTimeAsFileTimeGetTickCountGetVersionExAInitializeCriticalSectionILeaveCriticalSectionLLoadLibraryAwMultiByteToWideCharQueryPerformanceCounterReadFileRtlAddFunctionTableRtlCaptureContext RtlLookupFunctionEntryRtlVirtualUnwindTSetEventaSetFilePointermSetLastErrorSetUnhandledExceptionFilterSleepTerminateProcessTlsGetValueUnhandledExceptionFilterVirtualProtectVirtualQueryWaitForSingleObjectWideCharToMultiByte#WriteFileN__dllonexitQ__getmainargsR__initenvS__iob_funcZ__lconv_init`__set_app_typeb__setusermatherrr_acmdlny_amsg_exit_beginthread_cexit_endthread_fmode)_initterm_lock6_onexit_unlock_vsnprintfabortcallocexitfprintffreefwritegetenv mallocmemcpyprintf puts2signalFstrlenGstrncatIstrncmpivfprintf UpdateDriverForPlugAndPlayDevicesWCoCreateInstanceDCoInitializeExSetupCopyOEMInfW SetupDiEnumDeviceInfo1SetupDiGetClassDevsAISetupDiGetDeviceRegistryPropertyA}SetupDiSetDeviceRegistryPropertyAADVAPI32.dllKERNEL32.dll((((((((((((((((((((((((((((((((((msvcrt.dll<newdev.dllPPole32.dlldddddSETUPAPI.dll@`@8@`8@08@A@D@v@@@,@L,%08@,,8@,|09@,5 9@,?9@,S>@\,Y?@ ,Z?@A,ka@D@ ,aPD@,>hE@,vG@,}pJ@~$WinMainCRTStartup& mainCRTStartup#__mingw_winmain_hInstance#__mingw_winmain_lpCmdLine$__mingw_winmain_nShowCmd)$mingw_pcinitH$mingw_pcppinit$h_newmode:%h_dowildcard%8}__dyn_tls_init__tlregdtor_tls_index_tls_start_tls_end__xl_a__xl_z(_tls_usedZ__dyn_tls_init_callback__xl_c__xl_dmingw_initltsdrot_forcemingw_initltsdyn_forcemingw_initltssuo_forceC,|mingw_initcharmax@_charmax[__mingw_pinitI|0_decode_pointer%_encode_pointerdmingw_app_type5h_fmodeL5? mingw_onexitatexit__onexitbegin__onexitend{:%__native_startup_stateS__native_startup_lock__native_dllmain_reason__native_vcclrit_reason~?V__mingw_SEH_error_handler__mingw_init_ehandler_gnu_exception_handler__mingw_oldexcpt_handler:GR.__xi_aG__xi_z`__xc_ay__xc_zPSr__mingw_raise_matherr__mingw_setusermatherr=_matherrYmF_setargv,ZyU_pei386_runtime_relocatorkah_fpresetZaH__do_global_dtors__do_global_ctorsl__main1fctMsvcrtLongJmpw>h.2 __security_init_cookie __report_gsfailure__security_cookie__security_cookie_complementlvg_CRT_MTkv___w64_mingwthr_add_key_dtorl___w64_mingwthr_remove_key_dtor__mingw_TLScallback}  _ValidateImageBase _FindPESectionI _FindPESectionByName _FindPESectionExec _GetPEImageBase=_IsNonwritableInCurrentImageVq__RUNTIME_PSEUDO_RELOC_LIST_END____RUNTIME_PSEUDO_RELOC_LIST__2 __CTOR_LIST__ __DTOR_LIST__/n_MINGW_INSTALL_DEBUG_MATHERR`$uintptr_twchar_tRWINBOOLaBYTEmWORDyDWORDLPBYTELONG_PTRULONG_PTRDWORD64PVOIDCHARLONGLPSTR'HANDLE5LONGLONGFULONGLONG_invalid_parameter_handler_M128AM128A_XMM_SAVE_AREA32XMM_SAVE_AREA32_CONTEXTu PCONTEXT;_EXCEPTION_RECORD EXCEPTION_RECORD PEXCEPTION_RECORD _EXCEPTION_POINTERSG _NT_TIB NT_TIB) PNT_TIB? _IMAGE_DOS_HEADER IMAGE_DOS_HEADER PIMAGE_DOS_HEADER_IMAGE_FILE_HEADERIMAGE_FILE_HEADER_IMAGE_DATA_DIRECTORYRIMAGE_DATA_DIRECTORYo_IMAGE_OPTIONAL_HEADERzPIMAGE_OPTIONAL_HEADER32_IMAGE_OPTIONAL_HEADER64IMAGE_OPTIONAL_HEADER64PIMAGE_OPTIONAL_HEADER64_IMAGE_NT_HEADERS643PIMAGE_NT_HEADERS64UPIMAGE_NT_HEADERSoPIMAGE_TLS_CALLBACKHINSTANCE__HINSTANCEHMODULE PTOP_LEVEL_EXCEPTION_FILTER-LPTOP_LEVEL_EXCEPTION_FILTERR_STARTUPINFOASTARTUPINFOASTARTUPINFOVARENUM_PVFV_PIFV_startupinfo__enative_startup_state*__enative_startup_state5_TCHAR%8uintptr_tULONG(BOOL4DWORDJLPVOIDtULONG_PTRPVOIDHANDLEULONGLONGPIMAGE_TLS_CALLBACK _IMAGE_TLS_DIRECTORY64IMAGE_TLS_DIRECTORY64IMAGE_TLS_DIRECTORY_PVFV$,|RVARENUM_PIFV|0NVARENUM25?._onexit_tlVARENUM_PVFVR:GVARENUM__enative_startup_state__enative_startup_stateB?size_tJULONGWBYTEcWORDoDWORDPBYTELPBYTEULONG_PTRDWORD64PVOIDLONGLONGLONG ULONGLONG7_M128AgM128Au_XMM_SAVE_AREA32%XMM_SAVE_AREA32_CONTEXT PCONTEXT _RUNTIME_FUNCTIONE RUNTIME_FUNCTION3_EXCEPTION_RECORDn EXCEPTION_RECORD PEXCEPTION_RECORD _EXCEPTION_POINTERS EXCEPTION_POINTERSJ _IMAGE_SECTION_HEADERr PIMAGE_SECTION_HEADER PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER VARENUM__p_sig_fn_t_UNWIND_INFOCUNWIND_INFOGR _PVFV:SCVARENUM_exceptionBfUserMathErrYm Zy{__gnuc_va_listva_listsize_tptrdiff_tmDWORDULONG_PTRSIZE_TPVOID_MEMORY_BASIC_INFORMATIONMEMORY_BASIC_INFORMATIONruntime_pseudo_reloc_item_v1Oruntime_pseudo_reloc_item_v2runtime_pseudo_reloc_v2aHptrdiff_t?_SETJMP_FLOAT128xSETJMP_FLOAT128_JBTYPEHINSTANCE__HINSTANCEHMODULE VARENUMfunc_ptrflongjmp>h.JBYTEVWORDbDWORDUINT_PTRULONG_PTRULONG64DWORD64PVOIDLONGLONGLONGULONGLONG^_LARGE_INTEGERLARGE_INTEGER_M128AM128A_XMM_SAVE_AREA32XMM_SAVE_AREA32_CONTEXTJ CONTEXTZ PCONTEXTk _RUNTIME_FUNCTION PRUNTIME_FUNCTION3_EXCEPTION_RECORD EXCEPTION_RECORD PEXCEPTION_RECORD4 _EXCEPTION_POINTERSz EXCEPTION_POINTERS _FILETIME FILETIME NTSTATUS( FT)v WINBOOLWORD%DWORD;LPVOIDeULONG_PTRvLONGHANDLE_LIST_ENTRYLIST_ENTRY_RTL_CRITICAL_SECTION_DEBUGPRTL_CRITICAL_SECTION_DEBUG_RTL_CRITICAL_SECTIONRTL_CRITICAL_SECTIONCRITICAL_SECTION__mingwthr_key_t+__mingwthr_keyC} }size_tWINBOOL%BYTE1WORD=DWORDSPBYTELONG_PTRULONG_PTRDWORD_PTRLONGULONGLONG_IMAGE_DOS_HEADERIMAGE_DOS_HEADERPIMAGE_DOS_HEADER_IMAGE_FILE_HEADERIMAGE_FILE_HEADER_IMAGE_DATA_DIRECTORYIMAGE_DATA_DIRECTORY$_IMAGE_OPTIONAL_HEADER64IMAGE_OPTIONAL_HEADER64PIMAGE_OPTIONAL_HEADER64PIMAGE_OPTIONAL_HEADER_IMAGE_NT_HEADERS64X IMAGE_NT_HEADERS64s PIMAGE_NT_HEADERS64 IMAGE_NT_HEADERS PIMAGE_NT_HEADERS _IMAGE_SECTION_HEADER PIMAGE_SECTION_HEADERS eix86_tune_indicesix86_arch_indicesVARENUM func_ptr$GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/crtexe.c@L@__unknown__charlong long unsigned intlong long intuintptr_t}wchar_tshort unsigned intintlong intuunsigned intlong unsigned intunsigned char;_EXCEPTION_RECORD ExceptionCode y#ExceptionFlags y# 5#ExceptionAddress #NumberParameters y#ExceptionInformation #  _CONTEXTRP1Home#P2Home#P3Home#P4Home#P5Home# P6Home#(ContextFlagsy#0MxCsry#4SegCsm#8SegDsm#:SegEsm#<SegFsm#>SegGsm#@SegSsm#BEFlagsy#DDr0#HDr1#PDr2#XDr3#`Dr6#hDr7#pRax#xRcx#Rdx#Rbx#Rsp#Rbp#Rsi#Rdi#R8#R9#R10#R11#R12#R13#R14#R15#Rip# 3 #VectorRegistere #VectorControl# DebugControl# LastBranchToRip# LastBranchFromRip# LastExceptionToRip# LastExceptionFromRip# WINBOOLe BYTEq$ WORDr DWORDsfloata LPBYTEwsigned charshort int LONG_PTR1 ULONG_PTR2} DWORD64} PVOID CHARu LONG LPSTR HANDLELONGLONG'ULONGLONG(}^ doublelong double  _invalid_parameter_handler_M128AeLowfF#Highg5#M128Ah _XMM_SAVE_AREA32jControlWordkm#StatusWordlm#TagWordma#Reserved1na#ErrorOpcodeom#ErrorOffsetpy#ErrorSelectorqm# Reserved2rm#DataOffsetsy#DataSelectortm#Reserved3um#MxCsrvy#MxCsr_Maskwy#FloatRegistersx# XmmRegistersy#Reserved4z#}}a}_XMM_SAVE_AREA32{# Header# #Legacy# Xmm0#Xmm1#Xmm2#Xmm3#Xmm4#Xmm5#Xmm6#Xmm7#Xmm8#Xmm9#Xmm10#Xmm11#Xmm12#Xmm13#Xmm14#Xmm15#3 }e FltSaveFloatSaveu }PCONTEXT }EXCEPTION_RECORD ;PEXCEPTION_RECORD  _EXCEPTION_POINTERS-  . #ContextRecord/ u #  G FiberData Version y_NT_TIB8 ExceptionList  #StackBase #StackLimit #SubSystemTib #  # ArbitraryUserPointer #(Self  #0_EXCEPTION_REGISTRATION_RECORD G NT_TIB G PNT_TIB 9  _IMAGE_DOS_HEADER@ e_magicm#e_cblpm#e_cpm#e_crlcm#e_cparhdrm#e_minallocm# e_maxallocm# e_ssm#e_spm#e_csumm#e_ipm#e_cs m#e_lfarlc m#e_ovno m#e_res  #e_oemid m#$e_oeminfom#&e_res2 #(e_lfanew#<m }m } IMAGE_DOS_HEADER? PIMAGE_DOS_HEADER ? _IMAGE_FILE_HEADERlMachinemm#NumberOfSectionsnm#TimeDateStampoy#PointerToSymbolTablepy#NumberOfSymbolsqy# SizeOfOptionalHeaderrm#Characteristicssm#IMAGE_FILE_HEADERt_IMAGE_DATA_DIRECTORYRVirtualAddressy#Sizey#IMAGE_DATA_DIRECTORY_IMAGE_OPTIONAL_HEADERjMagicm#a#a#y#y#Ry# Iy#ay#BaseOfDatay#y#y# y#$m#(Pm#*m#,>m#.tm#0m#2 y#4Uy#8y#<Ly#@jm#Dm#Fy#Hy#Ly#Py#Tzy#Xy#\j#`Rz}PIMAGE_OPTIONAL_HEADER32o_IMAGE_OPTIONAL_HEADER64Magicm#a#a#y#y#Ry# Iy#ay#F#y# y#$m#(Pm#*m#,>m#.tm#0m#2 y#4Uy#8y#<Ly#@jm#Dm#FF#HF#PF#XF#`zy#hy#lj#pIMAGE_OPTIONAL_HEADER64PIMAGE_OPTIONAL_HEADER64 _IMAGE_NT_HEADERS643Signaturey#FileHeader#OptionalHeader#PIMAGE_NT_HEADERS64OPIMAGE_NT_HEADERS)3PIMAGE_TLS_CALLBACKy HINSTANCE__unused# HINSTANCE HMODULEPTOP_LEVEL_EXCEPTION_FILTERLPTOP_LEVEL_EXCEPTION_FILTER _STARTUPINFOAhcby#lpReserved#lpDesktop#lpTitle#dwXy# dwYy#$dwXSizey#(dwYSizey#,dwXCountCharsy#0dwYCountCharsy#4dwFillAttributey#8dwFlagsy#<wShowWindowm#@cbReserved2m#BlpReserved2#HhStdInput'#PhStdOutput'#XhStdError'#`STARTUPINFOARSTARTUPINFOVARENUM VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCH VT_ERROR VT_BOOL VT_VARIANT VT_UNKNOWN VT_DECIMALVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOIDVT_HRESULTVT_PTRVT_SAFEARRAYVT_CARRAYVT_USERDEFINEDVT_LPSTRVT_LPWSTRVT_RECORD$VT_INT_PTR%VT_UINT_PTR&VT_FILETIMEVT_BLOBVT_STREAMVT_STORAGEVT_STREAMED_OBJECTVT_STORED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSIDVT_VERSIONED_STREAMVT_BSTR_BLOBVT_VECTOR VT_ARRAYVT_BYREFVT_RESERVEDVT_ILLEGALVT_ILLEGALMASKEDVT_TYPEMASK _PVFV} _PIFVXnewmode# _startupinfo+*__uninitialized__initializing__initialized +_TCHAR u!__readgsqword.}"Offset.y#ret/$check_managed_app@#pDOSHeaderB #pPEHeaderCU#pNTHeader32Dz#pNTHeader64E_TEB%NtCurrentTeb !_InterlockedCompareExchangePointer"Destination"ExChange"Comperand#prev&!_InterlockedExchangePointer"Target"Value'__mingw_prepare_except_for_msvcr80_and_higher.#fIPH>#hmsv>.'duplicate_ppstrings"ac"av#avl#i#n(#l)__mingw_invalidParameterHandler@ @D*expressionR*functionQ*fileX*lineY*pReserved +pre_cpp_init@X@L,pre_c_initk`@@-}d@m.0/0Q0q/,__tmainCRTStartup@@1lpszCommandLineK2StartupInfo~1inDoubleQuoteR.`1lock_free1fiberid1nested!3@@4D@@5a6@@7p8@5g5V'9B.7y3N@X@F59:@ w.P77 <4DQ@@&5m5b6Q@@7x177.75;WinMainCRTStartup@,@'& =% =C,?_fmode/ !@?__xi_a8!?__xi_z9!7!@?__xc_a:,!?__xc_z;,!=4>d!o=;@v!=2Av!=,C=lE=F=Gy2argcI p@2argvO p@2envpP p@2argretS p@2mainretT $p@2managedappU p@2has_cctorV  p@2startinfoW p@=uX-=hA]:A;A<A == L==2=#n=v=l{= =  =% =C0?_fmode/?__xi_a8!?__xi_z9!?__xc_a:,!?__xc_z;,!=4>d!=;@v!=2Av!=,CBlE @BF @BGy @=uX-Cmingw_pcinite  @Cmingw_pcppinitf @=hA]:A;A<A =cGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/_newmode.c08@08@*_newmode v@intGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/wildcard.c08@08@_dowildcard  v@int4GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/tlssup.c08@8@__unknown__charlong long unsigned intlong long intuintptr_t}short unsigned intintlong intunsigned intlong unsigned intunsigned charULONGBOOLiDWORDsfloatLPVOIDsigned charshort intULONG_PTR2}PVOIDHANDLEULONGLONG(}doublelong doublePIMAGE_TLS_CALLBACK   4  _IMAGE_TLS_DIRECTORY64( StartAddressOfRawData# EndAddressOfRawData# AddressOfIndex # AddressOfCallBacks # SizeOfZeroFill 4# Characteristics 4#$IMAGE_TLS_DIRECTORY64  IMAGE_TLS_DIRECTORY _PVFV __dyn_tls_dtor(08@_8@} 3 4V Jy __dyn_tls_init\(`8@8@  \ \4 \J1 pfunc^z ps_ __tlregdtor8@8@ <funcR,/u0u__xl_a2__xd_aE X@__xd_zF `@_CRT_MTM, v@/u @@0u D@__xl_a2 8@__xl_z3 P@_tls_used5D @_CRT_MTM__dyn_tls_init_callback  P@__xl_c @@__xl_d H@mingw_initltsdrot_force v@mingw_initltsdyn_force v@mingw_initltssuo_force v@xGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/charmax.c8@8@ __unknown__charlong long unsigned intlong long intshort unsigned intintlong intunsigned intlong unsigned intunsigned charfloatsigned charshort int3doublelong doubleVARENUM VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCH VT_ERROR VT_BOOL VT_VARIANT VT_UNKNOWN VT_DECIMALVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOIDVT_HRESULTVT_PTRVT_SAFEARRAYVT_CARRAYVT_USERDEFINEDVT_LPSTRVT_LPWSTRVT_RECORD$VT_INT_PTR%VT_UINT_PTR&VT_FILETIMEVT_BLOBVT_STREAMVT_STORAGEVT_STREAMED_OBJECTVT_STORED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSIDVT_VERSIONED_STREAMVT_BSTR_BLOBVT_VECTOR VT_ARRAYVT_BYREFVT_RESERVEDVT_ILLEGALVT_ILLEGALMASKEDVT_TYPEMASK_PIFV-my_lconv_init8@8@G mingw_initcharmax  v@ _charmax 0P@ __mingw_pinit (@lGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/mingw_helpers.c9@9@A__unknown__charlong long unsigned intlong long intshort unsigned intintlong intunsigned intlong unsigned intunsigned charfloatsigned charshort intdoublelong doubleVARENUM VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCH VT_ERROR VT_BOOL VT_VARIANT VT_UNKNOWN VT_DECIMALVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOIDVT_HRESULTVT_PTRVT_SAFEARRAYVT_CARRAYVT_USERDEFINEDVT_LPSTRVT_LPWSTRVT_RECORD$VT_INT_PTR%VT_UINT_PTR&VT_FILETIMEVT_BLOBVT_STREAMVT_STORAGEVT_STREAMED_OBJECTVT_STORED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSIDVT_VERSIONED_STREAMVT_BSTR_BLOBVT_VECTOR VT_ARRAYVT_BYREFVT_RESERVEDVT_ILLEGALVT_ILLEGALMASKEDVT_TYPEMASK_decode_pointer9@ 9@ %codedptrR_encode_pointer9@9@ dptrRmingw_app_type v@GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/xtxtmode.c 9@ 9@;_fmode v@int;GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/atonexit.c 9@9@__unknown__charlong long unsigned intlong long intshort unsigned intintlong intunsigned intlong unsigned intunsigned charfloatsigned charshort int_onexit_t$?Edoublelong doublejVARENUM VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCH VT_ERROR VT_BOOL VT_VARIANT VT_UNKNOWN VT_DECIMALVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOIDVT_HRESULTVT_PTRVT_SAFEARRAYVT_CARRAYVT_USERDEFINEDVT_LPSTRVT_LPWSTRVT_RECORD$VT_INT_PTR%VT_UINT_PTR&VT_FILETIMEVT_BLOBVT_STREAMVT_STORAGEVT_STREAMED_OBJECTVT_STORED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSIDVT_VERSIONED_STREAMVT_BSTR_BLOBVT_VECTOR VT_ARRAYVT_BYREFVT_RESERVEDVT_ILLEGALVT_ILLEGALMASKEDVT_TYPEMASK_PVFVd mingw_onexit!. 9@9@+  func!. onexitbegin#h onexitend$& retval%.J atexitO9@9@ func8%..3% @ @3GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/natstart.c9@9@^ __unknown__charlong long unsigned intlong long intshort unsigned intintlong intunsigned intlong unsigned intunsigned charfloatsigned charshort intdoublelong doubleVARENUM VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCH VT_ERROR VT_BOOL VT_VARIANT VT_UNKNOWN VT_DECIMALVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOIDVT_HRESULTVT_PTRVT_SAFEARRAYVT_CARRAYVT_USERDEFINEDVT_LPSTRVT_LPWSTRVT_RECORD$VT_INT_PTR%VT_UINT_PTR&VT_FILETIMEVT_BLOBVT_STREAMVT_STORAGEVT_STREAMED_OBJECTVT_STORED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSIDVT_VERSIONED_STREAMVT_BSTR_BLOBVT_VECTOR VT_ARRAYVT_BYREFVT_RESERVEDVT_ILLEGALVT_ILLEGALMASKEDVT_TYPEMASKA__uninitialized__initializing__initializedA__native_startup_state N @__native_startup_lock{ @  __native_dllmain_reason  @P@__native_vcclrit_reason  DP@tGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/crt_handler.c9@y>@} __unknown__charsize_trlong long unsigned intlong long intshort unsigned intintlong intunsigned intlong unsigned intunsigned char!-3_EXCEPTION_RECORD ExceptionCode o#ExceptionFlags o#  -#ExceptionAddress #NumberParameters o#ExceptionInformation ^ #  _CONTEXTJP1Home#P2Home#P3Home#P4Home#P5Home# P6Home#(ContextFlagso#0MxCsro#4SegCsc#8SegDsc#:SegEsc#<SegFsc#>SegGsc#@SegSsc#BEFlagso#DDr0#HDr1#PDr2#XDr3#`Dr6#hDr7#pRax#xRcx#Rdx#Rbx#Rsp#Rbp#Rsi#Rdi#R8#R9#R10#R11#R12#R13#R14#R15#Rip# #VectorRegister #VectorControl# DebugControl# LastBranchToRip# LastBranchFromRip# LastExceptionToRip# LastExceptionFromRip# ULONG BYTEq  WORDr DWORDsfloat PBYTEvW LPBYTEwsigned charshort int ULONG_PTR2 DWORD64 PVOID LONGLONGLONG'ULONGLONG(doublelong double_M128AegLowf #Highg#M128Ah7 _XMM_SAVE_AREA32jControlWordkc#StatusWordlc#TagWordmW#Reserved1nW#ErrorOpcodeoc#ErrorOffsetpo#ErrorSelectorqc# Reserved2rc#DataOffsetso#DataSelectortc#Reserved3uc#MxCsrvo#MxCsr_Maskwo#FloatRegistersx# XmmRegistersy#Reserved4z#ggW%_XMM_SAVE_AREA32{u Header #Legacy# Xmm0g#Xmm1g#Xmm2g#Xmm3g#Xmm4g#Xmm5g#Xmm6g#Xmm7g#Xmm8g#Xmm9g#Xmm10g#Xmm11g#Xmm12g#Xmm13g#Xmm14g#Xmm15g#g  FltSave%FloatSave%=g PCONTEXT_RUNTIME_FUNCTION E BeginAddresso#EndAddresso#UnwindDatao#RUNTIME_FUNCTION n EXCEPTION_RECORD 3PEXCEPTION_RECORD n _EXCEPTION_POINTERS- . # o/ #EXCEPTION_POINTERS0  W hJ PhysicalAddressioVirtualSizejo_IMAGE_SECTION_HEADER(fr Nameg #Misck #VirtualAddresslo# SizeOfRawDatamo#PointerToRawDatano#PointerToRelocationsoo#PointerToLinenumberspo#NumberOfRelocationsqc# NumberOfLinenumbersrc#"Characteristicsso#$PIMAGE_SECTION_HEADERt J    PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER VARENUM VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCH VT_ERROR VT_BOOL VT_VARIANT VT_UNKNOWN VT_DECIMALVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOIDVT_HRESULTVT_PTRVT_SAFEARRAYVT_CARRAYVT_USERDEFINEDVT_LPSTRVT_LPWSTRVT_RECORD$VT_INT_PTR%VT_UINT_PTR&VT_FILETIMEVT_BLOBVT_STREAMVT_STORAGEVT_STREAMED_OBJECTVT_STORED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSIDVT_VERSIONED_STREAMVT_BSTR_BLOBVT_VECTOR VT_ARRAYVT_BYREFVT_RESERVEDVT_ILLEGALVT_ILLEGALMASKEDVT_TYPEMASK __p_sig_fn_t/_UNWIND_INFOCVersionAndFlagsW#PrologSizeW#CountOfUnwindCodesW#FrameRegisterAndOffsetW#AddressOfExceptionHandlerJ# UNWIND_INFO__mingw_SEH_error_handler[9@x;@[-EstablisherFrame\o]8DispatcherContext^action`caOYb __mingw_init_ehandler0;@<@|was_here2 y@e3pSec4r )_ImageBase5__gnu_exception_handler<@y>@!exception_data!cactionY> E 7emu_pdata,' w@Cbemu_xdata-R x@ } !}  v@$ GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/cinitexe.c>@>@. __unknown__charlong long unsigned intlong long intshort unsigned intintlong intunsigned intlong unsigned intunsigned char_PVFV .__xi_a @__xi_z 0@__xc_a @__xc_z  @ GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/merr.c>@?@ __unknown__charlong long unsigned intlong long intshort unsigned intintlong intunsigned intlong unsigned intunsigned charfloatsigned charshort intdoublelong doubleVARENUM VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCH VT_ERROR VT_BOOL VT_VARIANT VT_UNKNOWN VT_DECIMALVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOIDVT_HRESULTVT_PTRVT_SAFEARRAYVT_CARRAYVT_USERDEFINEDVT_LPSTRVT_LPWSTRVT_RECORD$VT_INT_PTR%VT_UINT_PTR&VT_FILETIMEVT_BLOBVT_STREAMVT_STORAGEVT_STREAMED_OBJECTVT_STORED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSIDVT_VERSIONED_STREAMVT_BSTR_BLOBVT_VECTOR VT_ARRAYVT_BYREFVT_RESERVEDVT_ILLEGALVT_ILLEGALMASKEDVT_TYPEMASK_exception(\7type]#name^7#arg1_*#arg2`*#retvala*# =s fUserMathErr V\ l l __mingw_raise_matherrd>@>@ typ name7H a1* a2*rslt* ex@ __mingw_setusermatherrf>@>@=fVR_matherr>@?@ pexcept%lstype'7stUserMathErr B y@io GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/dllargv.c?@?@__unknown__charlong long unsigned intlong long intshort unsigned intintlong intunsigned intlong unsigned intunsigned charfloatsigned charshort intdoublelong double_setargv?@?@Xu GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/pseudo-reloc.c?@1D@__unknown____gnuc_va_list__builtin_va_listcharva_list{size_trlong long unsigned intlong long intptrdiff_tshort unsigned intintlong intunsigned intlong unsigned intunsigned charDWORDsEfloatsigned charshort intULONG_PTR2SIZE_TPVOIDkdoublelong double _MEMORY_BASIC_INFORMATION04 BaseAddress5# AllocationBase6# AllocationProtect7m# RegionSize8# State9m# Protect:m#$ Type;m#(MEMORY_BASIC_INFORMATION< : addend;m# targetSegGsV#@SegSsV#BEFlagsb#DDr0#HDr1#PDr2#XDr3#`Dr6#hDr7#pRax#xRcx#Rdx#Rbx#Rsp#Rbp#Rsi#Rdi#R8#R9#R10#R11#R12#R13#R14#R15#Rip#  #VectorRegister: #VectorControl# DebugControl# LastBranchToRip# LastBranchFromRip# LastExceptionToRip# LastExceptionFromRip# BYTEq WORDr DWORDssigned charshort int UINT_PTR0 ULONG_PTR2 ULONG64 DWORD64 PVOID LONG LONGLONG' ULONGLONG( 22LowPart3b#"4# 6^LowPart7b#"8# _LARGE_INTEGER1u92QuadPart: LARGE_INTEGER;^_M128AeLowf#Highg# M128Ah_XMM_SAVE_AREA32jkControlWordkV#StatusWordlV#TagWordmJ#Reserved1nJ#ErrorOpcodeoV#ErrorOffsetpb#ErrorSelectorqV# Reserved2rV#DataOffsetsb#DataSelectortV#Reserved3uV#MxCsrvb#MxCsr_Maskwb#FloatRegistersxk# XmmRegistersy{#Reserved4z#{J_ XMM_SAVE_AREA32{ Header #Legacyk# Xmm0#Xmm1#Xmm2#Xmm3#Xmm4#Xmm5#Xmm6#Xmm7#Xmm8#Xmm9#Xmm10#Xmm11#Xmm12#Xmm13#Xmm14#Xmm15# : FltSaveFloatSaveJ  CONTEXT PCONTEXT_RUNTIME_FUNCTION  BeginAddressb#EndAddressb#UnwindDatab# PRUNTIME_FUNCTION k   EXCEPTION_RECORD 3 PEXCEPTION_RECORD .  _EXCEPTION_POINTERS- z =.  #ContextRecord/ Z # EXCEPTION_POINTERS0 4 _FILETIME dwLowDateTimeb#dwHighDateTimeb# FILETIME NTSTATUS( ft_scalar!ft_struct" FT# __security_init_cookie2E@F@% cookie4%systime5( @perfctr6__report_gsfailuregF@G@&a StackCookieg:'cookieiq controlPCkp'imgBasek'establisherFramekPfctEntryl 'hndDatamHq a GS_ExceptionRecord% ~@GS_ContextRecord&J y@GS_ExceptionPointers( `P@z +,M-+, P@M- P@GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/tlsmcrt.cG@G@_CRT_MT  pP@intGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/tlsthrd.cG@oJ@q__unknown__charlong long unsigned intlong long intshort unsigned intintlong intunsigned intlong unsigned intunsigned charWINBOOLeWORDrDWORDsfloatLPVOIDsigned charshort intULONG_PTR2~LONGHANDLE_LIST_ENTRYFlink#Blink#LIST_ENTRYdoublelong double_RTL_CRITICAL_SECTION_DEBUG0qTyper#CreatorBackTraceIndexs#CriticalSectiont#ProcessLocksListu#EntryCountv%# ContentionCountw%#$Flagsx%#(CreatorBackTraceIndexHighy#,SpareWORDz#._RTL_CRITICAL_SECTION(DebugInfo#LockCountv#RecursionCountv# OwningThread#LockSemaphore#SpinCounte# PRTL_CRITICAL_SECTION_DEBUG{RTL_CRITICAL_SECTIONCRITICAL_SECTION__mingwthr_key_t+ __mingwthr_keyo key %# dtor!{# next"# { o __mingwthr_run_key_dtorsbG@H@.(keypd(`H@H@valuel;(___w64_mingwthr_add_key_dtor)H@BI@+)fkey)%)dtor){)new_key+fE*___w64_mingwthr_remove_key_dtor@PI@I@{*key@%?+prev_keyB+cur_keyC+__mingw_TLScallbacky I@oJ@,VhDllHandley -reasonz%g-reserved{;-__mingwthr_cs @__mingwthr_cs_init `@ key_dtor_list& @GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/pesect.cpJ@L@__unknown__charsize_trlong long unsigned intlong long intshort unsigned intintlong intunsigned intlong unsigned intunsigned charWINBOOLeBYTEqWORDrDWORDsfloatPBYTEv`%signed charshort intLONG_PTR1ULONG_PTR2DWORD_PTRLONGULONGLONG(doublelong double%_IMAGE_DOS_HEADER@v e_magic1# e_cblp1# e_cp1# e_crlc1# e_cparhdr1# e_minalloc1# e_maxalloc1# e_ss1# e_sp1# e_csum1# e_ip1# e_cs 1# e_lfarlc 1# e_ovno 1# e_res v# e_oemid 1#$ e_oeminfo1#& e_res2#( e_lfanew#<11 IMAGE_DOS_HEADERPIMAGE_DOS_HEADER_IMAGE_FILE_HEADERl Machinem1# NumberOfSectionsn1# TimeDateStampo=# PointerToSymbolTablep=# NumberOfSymbolsq=# SizeOfOptionalHeaderr1# js1#IMAGE_FILE_HEADERt_IMAGE_DATA_DIRECTORY =# Size=#IMAGE_DATA_DIRECTORY$_IMAGE_OPTIONAL_HEADER64 Magic1# MajorLinkerVersion%# MinorLinkerVersion%# SizeOfCode=# SizeOfInitializedData=# SizeOfUninitializedData=# AddressOfEntryPoint=# BaseOfCode=# ImageBase# SectionAlignment=# FileAlignment=#$ MajorOperatingSystemVersion1#( MinorOperatingSystemVersion1#* MajorImageVersion1#, MinorImageVersion1#. MajorSubsystemVersion1#0 MinorSubsystemVersion1#2 Win32VersionValue=#4 SizeOfImage=#8 SizeOfHeaders=#< CheckSum=#@ Subsystem1#D DllCharacteristics1#F SizeOfStackReserve#H SizeOfStackCommit#P SizeOfHeapReserve#X SizeOfHeapCommit#` LoaderFlags=#h NumberOfRvaAndSizes=#l DataDirectory#pIMAGE_OPTIONAL_HEADER64$PIMAGE_OPTIONAL_HEADER64$PIMAGE_OPTIONAL_HEADER  _IMAGE_NT_HEADERS64X Signature=# FileHeader# OptionalHeader#IMAGE_NT_HEADERS64PIMAGE_NT_HEADERS64 IMAGE_NT_HEADERS(X PIMAGE_NT_HEADERS)s h PhysicalAddressi= VirtualSizej=_IMAGE_SECTION_HEADER(f Nameg# Misck # l=# SizeOfRawDatam=# PointerToRawDatan=# PointerToRelocationso=# PointerToLinenumbersp=# NumberOfRelocationsq1# NumberOfLinenumbersr1#" js=#$PIMAGE_SECTION_HEADERt-  _ValidateImageBase SpDOSHeader pOptHeader3 pJ@J@. T ._ .q R| r_FindPESection+ J@K@.I +SK/rva+Q- n/. ///_FindPESectionByNameA K@K@0 pNameA w0CSD 0E 0F13 TK@K@MT TK@K@_ q g1| 1 u_FindPESectionExec_ K@OL@1 eNo_}2aSb E2c h2d2 3 K@PgT !_ q 2| 3_GetPEImageBase}SPL@L@43=S 3 TL@T !_ q R| r_IsNonwritableInCurrentImageL@L@3pTargetSD4SrvaTarget 4 3 L@T !P_ q 4| 4"z"zGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/pseudo-reloc-list.cL@L@__RUNTIME_PSEUDO_RELOC_LIST_END__ @char__RUNTIME_PSEUDO_RELOC_LIST__ @ GNU C 4.5.2../../../../src/gcc-4.5.2/libgcc/../gcc/libgcc2.cc:\crossdev\build\gcc-tdm64\x86_64-w64-mingw32\libgccL@L@long long intlong long unsigned intshort unsigned intcharintlong intunsigned intlong unsigned intunsigned chardoublefloatlong doubleVshort intix86_tune_indicesX86_TUNE_USE_LEAVEX86_TUNE_PUSH_MEMORYX86_TUNE_ZERO_EXTEND_WITH_ANDX86_TUNE_UNROLL_STRLENX86_TUNE_DEEP_BRANCH_PREDICTIONX86_TUNE_BRANCH_PREDICTION_HINTSX86_TUNE_DOUBLE_WITH_ADDX86_TUNE_USE_SAHFX86_TUNE_MOVXX86_TUNE_PARTIAL_REG_STALL X86_TUNE_PARTIAL_FLAG_REG_STALL X86_TUNE_USE_HIMODE_FIOP X86_TUNE_USE_SIMODE_FIOP X86_TUNE_USE_MOV0 X86_TUNE_USE_CLTDX86_TUNE_USE_XCHGBX86_TUNE_SPLIT_LONG_MOVESX86_TUNE_READ_MODIFY_WRITEX86_TUNE_READ_MODIFYX86_TUNE_PROMOTE_QIMODEX86_TUNE_FAST_PREFIXX86_TUNE_SINGLE_STRINGOPX86_TUNE_QIMODE_MATHX86_TUNE_HIMODE_MATHX86_TUNE_PROMOTE_QI_REGSX86_TUNE_PROMOTE_HI_REGSX86_TUNE_ADD_ESP_4X86_TUNE_ADD_ESP_8X86_TUNE_SUB_ESP_4X86_TUNE_SUB_ESP_8X86_TUNE_INTEGER_DFMODE_MOVESX86_TUNE_PARTIAL_REG_DEPENDENCYX86_TUNE_SSE_PARTIAL_REG_DEPENDENCY X86_TUNE_SSE_UNALIGNED_MOVE_OPTIMAL!X86_TUNE_SSE_SPLIT_REGS"X86_TUNE_SSE_TYPELESS_STORES#X86_TUNE_SSE_LOAD0_BY_PXOR$X86_TUNE_MEMORY_MISMATCH_STALL%X86_TUNE_PROLOGUE_USING_MOVE&X86_TUNE_EPILOGUE_USING_MOVE'X86_TUNE_SHIFT1(X86_TUNE_USE_FFREEP)X86_TUNE_INTER_UNIT_MOVES*X86_TUNE_INTER_UNIT_CONVERSIONS+X86_TUNE_FOUR_JUMP_LIMIT,X86_TUNE_SCHEDULE-X86_TUNE_USE_BT.X86_TUNE_USE_INCDEC/X86_TUNE_PAD_RETURNS0X86_TUNE_EXT_80387_CONSTANTS1X86_TUNE_SHORTEN_X87_SSE2X86_TUNE_AVOID_VECTOR_DECODE3X86_TUNE_PROMOTE_HIMODE_IMUL4X86_TUNE_SLOW_IMUL_IMM32_MEM5X86_TUNE_SLOW_IMUL_IMM86X86_TUNE_MOVE_M1_VIA_OR7X86_TUNE_NOT_UNPAIRABLE8X86_TUNE_NOT_VECTORMODE9X86_TUNE_USE_VECTOR_FP_CONVERTS:X86_TUNE_USE_VECTOR_CONVERTS;X86_TUNE_FUSE_CMP_AND_BRANCH<X86_TUNE_OPT_AGU=X86_TUNE_LAST>ix86_arch_indicesX86_ARCH_CMOVEX86_ARCH_CMPXCHGX86_ARCH_CMPXCHG8BX86_ARCH_XADDX86_ARCH_BSWAPX86_ARCH_LASTsigned charVARENUM 0 VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCH VT_ERROR VT_BOOL VT_VARIANT VT_UNKNOWN VT_DECIMALVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOIDVT_HRESULTVT_PTRVT_SAFEARRAYVT_CARRAYVT_USERDEFINEDVT_LPSTRVT_LPWSTRVT_RECORD$VT_INT_PTR%VT_UINT_PTR&VT_FILETIMEVT_BLOBVT_STREAMVT_STORAGEVT_STREAMED_OBJECTVT_STORED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSIDVT_VERSIONED_STREAMVT_BSTR_BLOBVT_VECTOR VT_ARRAYVT_BYREFVT_RESERVEDVT_ILLEGALVT_ILLEGALMASKEDVT_TYPEMASKcomplex floatcomplex double complex long double__float128  func_ptr+P  __CTOR_LIST__  pO@ __DTOR_LIST__  O@tGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/misc/mingw_matherr.cL@L@_MINGW_INSTALL_DEBUG_MATHERR @int% $ > : ;I I : ; : ;I8  : ;I8   : ; I8 : ; I ' I ' ' I&II!I/  : ; : ; : ;I I : ;< ' I : ;  : ; I8  : ; (  : ;  : ;  : ; I!.? : ;' I ": ;I#4: ;I$.: ;' I %.? : ;' I &5I'.: ;' ( ).: ;' @*: ;I +.: ; ' @,.: ; ' I@-1RUX Y . U/41041 14: ; I24: ; I 31X Y 41X Y516 74181RUX Y 91:1RUX Y;.? : ; ' I@<4: ; I =4: ; I? < >5?4: ; I? < @!A4: ;I? < B4: ; I?  C4: ; I?  % 4: ; I?  $ > % 4: ; I?  $ > % $ > : ;I : ; I I' '  I  : ; : ;I8 .: ; ' I@ : ; I.? : ; ' I@4: ; I: ; I 4: ; I? < 4: ; I? < 4: ; I 4: ; I?  4: ; I?  &I% $ >  I' I : ; ( : ; I.: ; ' I@ 4: ; I?  % $ >   : ; ( .? : ; ' I@: ; I 4: ; I?  % 4: ; I?  $ > % $ > : ; I I' I'  : ; ( .? : ; ' I@ : ; I 4: ; I 4: ; I .? : ;' I@4: ; I? < ' II4: ; I?  % $ >  : ; (  : ; : ; I4: ; I?  5I  I 5% $ > : ;I I' I : ; : ;I8 : ;I8   : ; I8 : ; II!I/  : ; : ; : ;I I : ;' I : ; (  : ;  : ; I8 .? : ; ' I@: ; I: ; I4: ; I4: ; I4: ; I 4: ; I? < !4: ; I?  % $ > : ; I I' I!I/ 4: ; I?  % $ >  : ; (  : ;  : ; I8  I&I : ; I ' I I .? : ; ' @ : ; I: ; I 4: ; I .? : ; ' I@4: ; I% $ > .? : ; ' I@% $ > : ; I I: ;I  I&  : ; : ;I8  : ;  : ; I8 .: ; ' : ; I4: ; I 4: ;I.: ; ' @: ; I4: ; I &I4: ; I.? : ;' @4: ;I 1RUX Y U411 4: ; I? < % .? : ; ' @% $ > : ;I : ;  : ; I8 I!I/ : ; I  I '  : ;  ( ' I.? : ; ' @4: ; I 4: ; I.? : ; ' @!4: ; I? < 4: ; I?  % $ >  I : ; : ;I8  : ;I8   : ; I8 : ; I : ;I  : ;  : ; I : ;II!I/  : ; : ; : ;  : ; I.? : ; ' @4: ; I4: ; I : ; I5I&I4: ; I? < 4: ; I?  % 4: ; I?  $ > % $ >  : ; I : ; : ;I8  I: ;I  : ;  : ; I8 '  I 5I.: ; ' @4: ; I .? : ; ' I@: ; I4: ; I % $ > : ;I: ; I II!I/  : ; : ;I8 : ;I8  : ;  : ; : ;I.? : ; ' I : ; I4: ; I4: ; I.1@14141 .? : ; ' I@: ; I: ; I 4: ; I: ; I1X Y 1 41&I 1RUX Y ! U"4: ; I? < % 4: ; I?  $ > % $ > $ >  I'  : ; (  : ; : ; I I !I/ 4: ;I?  % 4: ; I?  $ > & c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includec:/crossdev/src/mingw-w64-svn/mingw-w64-crt/includec:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_inccrtexe.cwinnt.h_mingw.hwindef.hbasetsd.hstdlib.hwinbase.hinternal.htchar.hctype.h_varenum.h @O}Kkkh[J-z~.egKdؖZl!IK(y~J2p  u Jv/[>: vJ tvW .ܠ JvY>X Y~Zt.>. uJ JIVuuVvfif#IuhH>NTt_e=0dhk<Fa] "/b՟~ J^E J^EWQ c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt_newmode.cWQ c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtwildcard.c) c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includetlssup.c_mingw.hwindef.hbasetsd.hwinnt.h 08@P,ZfZXxu*sJ0 c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_incc:/crossdev/src/mingw-w64-svn/mingw-w64-crt/includecharmax.c_varenum.hinternal.h 8@KuI c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_incmingw_helpers.c_varenum.h 9@J>J>WQ c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtxtxtmode.c c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includec:/crossdev/src/mingw-w64-svn/mingw-w64-crt/includec:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_incatonexit.cstdlib.hinternal.h_varenum.h  9@!HZ0sYZZZV>YWuYWuZu K c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_incc:/crossdev/src/mingw-w64-svn/mingw-w64-crt/includenatstart.c_varenum.hinternal.h c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includec:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_inccrt_handler.cwinnt.h_mingw.hwindef.hbasetsd.hwinbase.hsignal.h_varenum.h 9@]/]I=m@<X1u.X#I=mCyX1u?.fֻI=5CyXiu+.f 4h,P t"a+MsW\|wgnz<,M@EK/>YI:?wJfZ! -.][#H>,J#[tJX<ֻ0tPJ0X<  JXUfR<WQ c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtcinitexe.cD c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includec:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_incmerr.cmath.h_varenum.h >@L[dMhWY/yKvIX:^&.usfu uujP c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtdllargv.c ?@L c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includepseudo-reloc.cvadefs.h_mingw.hwindef.hbasetsd.hwinnt.h ?@?AX?ZXx85.q4pY%Z!tLr>:Z4~'~nfgX=s]>=FNKyXm w Lf_Xb<wJ .rJ<xr>/@>D`y>@DK4>@DpYl G x p?@ DFx $?@`AAGP<P@@5GM`Ku A 4A@D`c_ J x `@D@ DFx PD@fD0a4D@AAD@x HAI $E@&DN A Nx 40E@DpO[u A $0F@AC AOx 4G@DPZ\ F z,H@D@PH[ I 4PI@AF0P AH F AI $I@D0Z B M C x $pJ@1DM A ^J@XDS,K@DPJLi A $K@DQ K $PL@>DX D 4L@^AM0Q AA tH__imp__fmodemingw_initcharmax__globallocalestatus__dyn_tls_init_callbackCheckSumSizeOfImageBaseOfCode__mingw_winmain_hInstanceMinorSubsystemVersionDataDirectorySizeOfStackCommitImageBaseSizeOfHeapReservemingw_initltsdyn_forceSizeOfCodeMajorLinkerVersion__native_startup_lock_newmodemingw_app_type__onexitbeginAddressOfEntryPointmingw_initltsdrot_force__mingw_oldexcpt_handlerSizeOfInitializedData__mingw_winmain_nShowCmdSizeOfStackReserve__mingw_winmain_lpCmdLine_MINGW_INSTALL_DEBUG_MATHERRSizeOfHeapCommitMinorLinkerVersion__enative_startup_state__imp__commodeSizeOfUninitializedDataSubsystemMajorSubsystemVersion__native_startup_stateDllCharacteristics__imp___initenvSizeOfHeadersMajorOperatingSystemVersionFileAlignmentNumberOfRvaAndSizesExceptionRecordWin32VersionValue__onexitendMinorImageVersionMinorOperatingSystemVersion__imp__acmdlnLoaderFlags_dowildcardMajorImageVersion__image_base__mingw_initltssuo_forceSectionAlignmentlpreserved_tls_indexhDllHandle_tls_startdwReason_tls_end__onexitend__onexitbegin__imp__onexit__enative_startup_statereset_fpuold_handlerContextRecord__mingw_oldexcpt_handlerExceptionRecord__RUNTIME_PSEUDO_RELOC_LIST_END____RUNTIME_PSEUDO_RELOC_LIST____image_base____CTOR_LIST____DTOR_LIST__fctMsvcrtLongJmpHighPart__security_cookieExceptionRecord__security_cookie_complementCharacteristics__image_base__pSectionpNTHeaderpImageBaseVirtualAddressiSection__unknown__ww wwWwWXw`dwdw0ww0wwww w(w0w8#w#$w8$%w0%&w(&'w ')w)+w+0w0w0PP8P8K @,: @:00RRRs1'KR,:R:00pS:SS0T:K0KTT00P00pS:SSP P:FPNX00P0PPPPPQ, p@ p@Q_ p@_Vnt p@t&UUnt0TcePe)\\pw'w0',w04w4Gw0GLwww0 w .w0./w$R$Q$X01w12w26w6WwW]w]^w^`w`wwwww0SR_sRR0SQ_sQQ0SX_sXXsSsxg{S}SSwwwwwww w wwwwwwwwwwwwReSSX`eiPiSPww0wRwwJwJKwKPwPxwxywywwwwwww8w89w9@w@w!RLRR:RQLQQ:Q%XLXX:X%YLYY:YD1DF0FLPLt1tzPz10P 1 0P414:P:p1pw0w10-;P;CQPQP Q:IPfoPwP0FSL:0:fSf0wwww0R0]SRhPPPTTwww w  w wwGwGKwKLwLPwPwwwwwwwww w  w wwR S3R3KSKMRNzRzSRSRSPPP.PN^Pi~P0 P0 P0 P 0 P_0_i i0 0T30N0NTN0w=w=>w2R28rQ8H8c8d@DwDOwOTw`dwdww\w`R\R &m@S  l@0< l@<L l@L\ l@w w www w `w&R&`S`gwgwww`RTRT`QUQU`XSSkwwwAwtq"tq"Y"Y"6tq"IjYjtq"Ytq"Ytq" Y 5tq"@5@.Q_oRzQR:RIRRR5RS?S?5S.gSgpsxpzSLHzLw w wwew0efwpqwqrwrvwvwwwwbwSSSbSSsSptwtwwwwwcwcdwdwty@y|\| p $ %|' v $ %|'v $ %p $ %'|'v $ %u $ %'|'\\\wwvRT!0 z@0SMX7APArYPYw:w:@w@wwTg @gSSwxPxVwwwRwRT R RTQSQRSPRU`awagwgww0wxwxww0www0`RSS0PPP0 @RPRRPww0 w mw0mpwpw0R$RIZRnwRQ$QIZQn|QX$XIZXn|Xwww0w01w RR RR@DwDww@KRKgRitp(p(Ki0itRRwww[wRT[T)P)4s(PVs()0)4UP[U)P )p`dwduwuww`RRQp(p(0QQQqwwww !w!.w.?w0?@w@AwAuw0u}w}~w 9RAaRadQi|PK^QS^qdd0  tx{AAPcgpdqdq!*A[.9!*A[.9.file1gcrtexe.c  envpargvargcargret`   mainret$ 0 .textL_.data.bss( b" $. *.rdataG: DN  [f v d0.file;gcrtbegin.c.textP.data.bss0b .file}ginstaller.cplog_vP plog  pstat@  req_idp    PX3  A`Wp  f0 {  mainP H.textP".data.bss@@.rdataP .text'.data .bss.idata$7(.idata$5l.idata$4l.idata$6& .text'.data .bss.idata$7$.idata$5d.idata$4d.idata$6 .text'.data .bss.idata$7,.idata$5t.idata$4t.idata$6> .text'.data .bss.idata$70.idata$5|.idata$4|.idata$6b .text(.data .bss.idata$7 .idata$5\.idata$4\.idata$6 .filegfakehname\fthunk\.text(.data .bss.idata$2d.idata$4\.idata$5\.filegfake.text(.data .bss.idata$4.idata$5.idata$74 .text(.data .bss.idata$7 .idata$54.idata$44.idata$6 .filegfakehname4fthunk4.text (.data .bss.idata$2<.idata$44.idata$54.filegfake.text (.data .bss.idata$4<.idata$5<.idata$7 .text (.data .bss.idata$7 .idata$5D.idata$4D.idata$6 .text((.data .bss.idata$7.idata$5L.idata$4L.idata$6 .filegfakehnameDfthunkD.text0(.data .bss.idata$2P.idata$4D.idata$5D.filegfake.text0(.data .bss.idata$4T.idata$5T.idata$7 .fileg_newmode.c.text0(.data .bssc ."$ .* [f .filegwildcard.c.text0(.data .bss .":% . [f ".file8gtlssup.c0( `( __xd_aX__xd_z`( .text0(.data .bss 3"% 8/. -.tls$AAA@.tls$ZZZD.CRT$XLA8.CRT$XLZP.tls(.CRT$XLC@.CRT$XLDH.CRT$XDAX.CRT$XDZ`N [f vd 00>.fileTgcharmax.c( .text(.data0.bss z", | .  4.CRT$XIC(N8[G Lf GvL (`0.fileogmingw_helpers.c) ) .text).data@.bssl u"|0  .A NX[ fH Mvt 0.filegxtxtmode.c.text ).data@.bss ."5 .; [f .filegatonexit.c  ) atexit) .text ).data@.bss "5 ?. NXp[+ f Pv 60(.filegnatstart.c.text).data@.bss w":  .^ f v VA.filegcrt_handler.c) 3+ I Xbl, .text).dataP.bsst "? *.} .rdata0 N[ f v F0YM.filegcinitexe.c.text..dataP.bss $ ]"GR .. [.CRT$XIA.CRT$XIZ0.CRT$XCA.CRT$XCZf >vd .file gmerr.c.  . _matherr. .text.\.dataP.bss  "S . .rdata@ @N[fA Tv > 0.file&gdllargv.c_setargv/ .text/ .dataP.bss o 4"Y m. nNp8[XLf v P0.fileIgpseudo-reloc.c/ P0 1  .text/A.dataP.bss  "Z y&. .rdata N[f 0v 0O.filebgCRT_fp10.c_fpreset@4 fpreset@4 .text@4 .dataP.bss % '"ka .y pN`8[-#Lf 0.fileggccmain.cP4 p.60460P hMsvcrt #4 __main5 5 .textP4.dataP.bss L "a H. .rdata@+N[y#f ^v 0-.fileggs_support.cA5 Xp6  `.text5.data`.bss x\ v">h .. VN0x[%fa {v 0"H.filegtlsmcrt.c.text7.datap.bss` ."lv . Zf .filegtlsthrd.c7 ` '8 DP9 d9 .text7".data.bss`P "v  .q N[.(f ovh -@0.filegpesect.cxp: : ; ; P< < .textp:~.data.bss "}  P. N [.fi v Gp0P@jU.file g.text<.data.bss ." . df  Z.file!glibgcc2.c.text<.data.bss "  . fd 6v W .filegmingw_matherr.c.text<.data.bsst ." . af 3.text<.data.bss.idata$7 .idata$5|.idata$4|.idata$6 .text<.data.bss.idata$7 .idata$5T.idata$4T.idata$6 .text<.data.bss.idata$7p .idata$5,.idata$4,.idata$6D .text<.data.bss.idata$7l .idata$5$.idata$4$.idata$64 .text<.data.bss.idata$7| .idata$5D.idata$4D.idata$6n .text=.data.bss.idata$7 .idata$5.idata$4.idata$6^ .text=.data.bss.idata$7 .idata$5.idata$4.idata$6T .text=.data.bss.idata$7 .idata$5 .idata$4 .idata$6 .text=.data.bss.idata$7 .idata$5l.idata$4l.idata$6 .text =.data.bss.idata$7 .idata$5\.idata$4\.idata$6 .text(=.data.bss.idata$7 .idata$5.idata$4.idata$6 .text0=.data.bss.idata$7 .idata$5.idata$4.idata$6& .text8=.data.bss.idata$7 .idata$5.idata$4.idata$6 .text@=.data.bss.idata$7 .idata$5t.idata$4t.idata$6 .textH=.data.bss.idata$7 .idata$5d.idata$4d.idata$6 .textP=.data.bss.idata$7 .idata$5.idata$4.idata$6 .textX=.data.bss.idata$7 .idata$5.idata$4.idata$6 .text`=.data.bss.idata$7 .idata$5.idata$4.idata$68 .texth=.data.bss.idata$7 .idata$5.idata$4.idata$6J .textp=.data.bss.idata$7 .idata$5.idata$4.idata$6 .textx=.data.bss.idata$7 .idata$5.idata$4.idata$6r .text=.data.bss.idata$7 .idata$5.idata$4.idata$6h .text=.data.bss.idata$7x .idata$5<.idata$4<.idata$6^ .text=.data.bss.idata$7 .idata$5.idata$4.idata$6 .text=.data.bss.idata$7 .idata$5.idata$4.idata$6 .text=.data.bss.idata$7h .idata$5.idata$4.idata$6& .text=.data.bss.idata$7 .idata$5.idata$4.idata$6 .text=.data.bss.idata$7 .idata$5.idata$4.idata$6z .text=.data.bss.idata$7 .idata$5L.idata$4L.idata$6 .text=.data.bss.idata$7t .idata$54.idata$44.idata$6P .text=.data.bss.idata$7 .idata$5.idata$4.idata$6. .text=.data.bss.idata$7 .idata$5.idata$4.idata$6@ .text=.data.bss.idata$7 .idata$5$.idata$4$.idata$6 .text=.data.bss.idata$7 .idata$5.idata$4.idata$6 .file-gfakehnamefthunk.text=.data.bss.idata$2(.idata$4.idata$5.fileagfake.text=.data.bss.idata$4,.idata$5,.idata$7  .text=.data.bss.idata$74 .idata$5.idata$4.idata$6 .text=.data.bss.idata$70 .idata$5.idata$4.idata$6h .text>.data.bss.idata$7 .idata$5$.idata$4$.idata$6.text>.data.bss.idata$7 .idata$54.idata$44.idata$6.text>.data.bss.idata$7 .idata$5<.idata$4<.idata$6.text>.data.bss.idata$7 .idata$5l.idata$4l.idata$6.text >.data.bss.idata$7T .idata$5 .idata$4 .idata$6 .text(>.data.bss.idata$7 .idata$5.idata$4.idata$6 .text0>.data.bss.idata$7 .idata$5.idata$4.idata$6.text8>.data.bss.idata$7 .idata$5.idata$4.idata$6.text@>.data.bss.idata$7L .idata$5.idata$4.idata$6 .textH>.data.bss.idata$7 .idata$5,.idata$4,.idata$6.textP>.data.bss.idata$7 .idata$5.idata$4.idata$6.textX>.data.bss.idata$7 .idata$5t.idata$4t.idata$6.text`>.data.bss.idata$7P .idata$5.idata$4.idata$6 .texth>.data.bss.idata$7 .idata$5.idata$4.idata$6.textp>.data.bss.idata$7( .idata$5.idata$4.idata$6F .textx>.data.bss.idata$7$ .idata$5.idata$4.idata$6: .text>.data.bss.idata$7 .idata$5 .idata$4 .idata$6.text>.data.bss.idata$7 .idata$5T.idata$4T.idata$6R.text>.data.bss.idata$7 .idata$5.idata$4.idata$6.text>.data.bss.idata$7, .idata$5.idata$4.idata$6X .text>.data.bss.idata$7 .idata$5.idata$4.idata$6.text>.data.bss.idata$7H .idata$5.idata$4.idata$6 .text>.data.bss.idata$7D .idata$5.idata$4.idata$6 .text>.data.bss.idata$7 .idata$5.idata$4.idata$6Z.text>.data.bss.idata$7 .idata$5D.idata$4D.idata$6(.text>.data.bss.idata$7 .idata$5.idata$4.idata$6|.text>.data.bss.idata$7 .idata$5.idata$4.idata$6.text>.data.bss.idata$7 .idata$5L.idata$4L.idata$6B.text>.data.bss.idata$7 .idata$5|.idata$4|.idata$6.text>.data.bss.idata$7 .idata$5.idata$4.idata$6.text>.data.bss.idata$7 .idata$5.idata$4.idata$6 .text>.data.bss.idata$7 .idata$5.idata$4.idata$6& .text?.data.bss.idata$7@ .idata$5.idata$4.idata$6 .text?.data.bss.idata$7 .idata$5.idata$4.idata$6h.text?.data.bss.idata$78 .idata$5.idata$4.idata$6 .text?.data.bss.idata$7 .idata$5.idata$4.idata$6B.text ?.data.bss.idata$7< .idata$5.idata$4.idata$6 .text(?.data.bss.idata$7 .idata$5d.idata$4d.idata$6~.text0?.data.bss.idata$7 .idata$5.idata$4.idata$6*.text8?.data.bss.idata$7 .idata$5\.idata$4\.idata$6b.fileogfakehnamefthunk.text@?.data.bss.idata$2.idata$4.idata$5.filegfake.text@?.data.bss.idata$4.idata$5.idata$7X  .text@?.data.bss.idata$7 .idata$5.idata$4.idata$6.textH?.data.bss.idata$7 .idata$5.idata$4.idata$6.textP?.data.bss.idata$7 .idata$5.idata$4.idata$6.textX?.data.bss.idata$7 .idata$5.idata$4.idata$6.text`?.data.bss.idata$7 .idata$5.idata$4.idata$6.texth?.data.bss.idata$7 .idata$5.idata$4.idata$6.filegfakehnamefthunk.textp?.data.bss.idata$2.idata$4.idata$5.filegfake.textp?.data.bss.idata$4.idata$5.idata$7  .filegcrtend.c.textp?.data.bss __xc_z p3D<ZfX ?|printf= =@?(8=3_lock= SetEventx>@l[j@v>__xl_a88>>>_cexit= getenvh= = T' A]8o__xl_dH_tls_endD>\8h?@@=memcpy=   ! : putsx= T m malloc=  >_CRT_MTp ? ?  t p > 1 D O >\ Tp  >  X  d  ( 'ReadFile0>1 Labort= D ^ Xn | __dll__  D ?    # @2 >D (U k @callocX=   d ,  ?    p2 dfprintf= L <d H=q  Sleep=     p? $>.@__xi_z0:>G(_Dw>signal= strncmpP= '<:'\s4p?4P?$| :W dstrncatp= q  >( \=P>< L3((B8?\H>p{$,X?l__xl_zPD__end__A4jx>?>__xi_a`>< (?__xc_aL1XCQ = _fmode\y?=  |X>,tT__xl_c@iHv>4 d8(= _newmodeB`?fwrite= Sm{t@>>>((@2>_onexit=EPexit0= \xH?D_charmax0p>' (>strlen= l,>='R>^0?tp= _unlock= \X h>vfprintf= free`= 1C.debug_aranges.debug_pubnames.debug_pubtypes.debug_info.debug_abbrev.debug_line.debug_frame.debug_str.debug_loc.debug_ranges__mingw_invalidParameterHandlerpre_cpp_initstartinfopre_c_initmanagedapp__tmainCRTStartuphas_cctorWinMainCRTStartupmainCRTStartup.debug_abbrev.debug_info.debug_line.CRT$XIAA.CRT$XCAA.debug_frame.debug_loc.debug_pubnames.debug_pubtypes.debug_aranges.debug_ranges.debug_strsend_statusrequest_datadevice_id.85311user_sid.85313hardware_id.85312enumerate_deviceCM_Locate_DevNodeACM_Reenumerate_DevNodecheck_removedCM_Get_DevNode_Statusprocess_syslogsyslog_reader_threaddisable_system_restoreoriginal_val.85416__wgetmainargs__dyn_tls_dtor__dyn_tls_init__tlregdtormy_lconv_init_decode_pointer_encode_pointermingw_onexit__mingw_SEH_error_handler__mingw_init_ehandlerwas_here.61131emu_pdataemu_xdata_gnu_exception_handler__mingw_raise_matherrstUserMathErr__mingw_setusermatherr__report_error__write_memory_pei386_runtime_relocatorwas_init.61156__do_global_dtorsfree_Msvcrt__do_global_ctorsinitialized__security_init_cookie.data$__security_cookie.data$__security_cookie_complement__report_gsfailureGS_ContextRecordGS_ExceptionRecordGS_ExceptionPointers__mingwthr_run_key_dtors__mingwthr_cs_init__mingwthr_cskey_dtor_list___w64_mingwthr_add_key_dtor___w64_mingwthr_remove_key_dtor__mingw_TLScallback_ValidateImageBase_FindPESection_FindPESectionByName_FindPESectionExec_GetPEImageBase_IsNonwritableInCurrentImagepseudo-reloc-list.cfctMsvcrtLongJmp___RUNTIME_PSEUDO_RELOC_LIST____imp__vsnprintf__imp_GetStartupInfoA__imp_abort__lib64_libkernel32_a_iname__imp_SetFilePointer__data_start_____DTOR_LIST____imp_GetFullPathNameW__imp__fmode__imp__lock__imp_RtlVirtualUnwindSetUnhandledExceptionFilterRegCreateKeyExA_vsnprintf__imp_calloc__imp_SetupDiGetClassDevsA___tls_start____ImageBaseGetFileSizeGetLastErrorGetSystemTimeAsFileTimemingw_initltssuo_forceSetLastError__imp___dllonexit__dll_characteristics____size_of_stack_commit____iob_func__imp__acmdln__size_of_stack_reserve____major_subsystem_version_____crt_xl_start____imp_DeleteCriticalSectionVirtualQuery___crt_xi_start____imp__amsg_exit___crt_xi_end__ConvertStringSidToSidA_tls_start_endthread__lib64_libadvapi32_a_iname__imp_getenv__lib64_libole32_a_iname__mingw_winmain_lpCmdLine__mingw_oldexcpt_handler__imp_GetCurrentThreadIdGetCurrentProcessIdTlsGetValueTerminateProcess__bss_start____imp_MultiByteToWideChar___RUNTIME_PSEUDO_RELOC_LIST_END__RtlLookupFunctionEntry__size_of_heap_commit____imp_GetLastError__imp_freeLoadLibraryA__imp_GetVersionExA__imp_RtlLookupFunctionEntryVirtualProtectmingw_app_type___crt_xp_start____lib64_libnewdev_a_iname__imp_LeaveCriticalSection__imp_ReadFile__mingw_pinitSetupDiGetDeviceRegistryPropertyA__imp_GetTickCount_head_lib64_libadvapi32_a___crt_xp_end____imp_strncat__imp_CloseHandle__minor_os_version____imp_GetSystemTimeAsFileTimeEnterCriticalSection_MINGW_INSTALL_DEBUG_MATHERR__imp_GetFileSize__imp_puts__imp_CreateEventA__image_base__RtlCaptureContextCoCreateInstance__section_alignment____native_dllmain_reason_tls_used__imp__beginthread__imp_GetOverlappedResult__imp_RegDeleteValueAUnhandledExceptionFiltermingw_initcharmax__IAT_end____imp_memcpy__RUNTIME_PSEUDO_RELOC_LIST___head_lib64_libsetupapi_a_head_lib64_libnewdev_a_beginthread__imp_RtlAddFunctionTable__imp_RegCreateKeyExAmingw_pcppinitsyslog_terminate_event__data_end____imp_fwrite__CTOR_LIST____imp___getmainargs_head_lib64_libkernel32_aGetModuleHandleA__bss_end__GetTickCount_head_lib64_libmsvcrt_a__native_vcclrit_reason___crt_xc_end__RtlAddFunctionTable__imp_EnterCriticalSection_tls_index__native_startup_state___crt_xc_start____onexitbegin__imp_GetCurrentProcessId__imp_RegSetValueExA__imp___lconv_initSetupDiSetDeviceRegistryPropertyA__imp_TerminateProcess__imp_GetProcAddress___CTOR_LIST____lib64_libsetupapi_a_inameRegCloseKey__imp_signal__imp_SetLastErrorpipe_handle__imp_GetModuleHandleA__imp_QueryPerformanceCounter__imp_WideCharToMultiByte__imp_ConvertStringSidToSidA__imp_strlen__imp_malloc__mingw_winmain_nShowCmdmingw_pcinit__file_alignment__WriteFileUpdateDriverForPlugAndPlayDevicesW__imp_InitializeCriticalSection__lconv_initCloseHandle__getmainargs__imp_CoInitializeExCoInitializeExInitializeCriticalSectionGetOverlappedResult__imp_exit__major_os_version____imp_vfprintf__imp___initenv__imp_SetEventRegDeleteValueA__IAT_start____imp__cexit__imp_UnhandledExceptionFilter__imp_CoCreateInstance__imp_SetUnhandledExceptionFilter__imp_UpdateDriverForPlugAndPlayDevicesW__imp__onexit__imp_RegQueryValueExAGetProcAddress__DTOR_LIST__RtlVirtualUnwindWideCharToMultiByte__set_app_type__imp_SleepLeaveCriticalSection__imp___setusermatherr__size_of_heap_reserve_____crt_xt_start____subsystem___amsg_exit__security_cookie_complement__imp_TlsGetValueGetCurrentProcess__setusermatherr__imp_fprintf__imp_WriteFile__imp_SetupDiSetDeviceRegistryPropertyA__imp_RegCloseKeyMultiByteToWideChar__imp_FreeLibrary__imp_SetupDiGetDeviceRegistryPropertyA__imp_VirtualProtect___tls_end____onexitendQueryPerformanceCounter__imp_VirtualQuery__imp__inittermmingw_initltsdyn_force_dowildcard__imp___iob_funcsyslog_ready_event__dyn_tls_init_callback__imp_SetupDiEnumDeviceInfo_inittermRegQueryValueExA__imp_WaitForSingleObject__imp_strncmp__imp__endthread__major_image_version__WaitForSingleObject__loader_flags__GetVersionExA__native_startup_lock__mingw_winmain_hInstanceGetStartupInfoASetupCopyOEMInfWuser_psidGetCurrentThreadId_head_lib64_libole32_a__minor_subsystem_version____minor_image_version____imp__unlockRegSetValueExA__imp___set_app_typemingw_initltsdrot_force__imp_printfSetFilePointerSetupDiEnumDeviceInfoCreateEventA__imp_LoadLibraryAGetFullPathNameWSetupDiGetClassDevsAFreeLibraryDeleteCriticalSection__imp_RtlCaptureContext__RUNTIME_PSEUDO_RELOC_LIST_END____dllonexit__imp_GetCurrentProcess__imp_SetupCopyOEMInfW___crt_xt_end____lib64_libmsvcrt_a_inameCreateFileA__imp_CreateFileA__security_cookie; #INF_FILENAME# ; Copyright (c) 2010 libusb (GNU LGPL) [Strings] DeviceName = "#DEVICE_DESCRIPTION#" VendorName = "#DEVICE_MANUFACTURER#" SourceName = "#DEVICE_DESCRIPTION# Install Disk" DeviceID = "#DEVICE_HARDWARE_ID#" DeviceGUID = "#DEVICE_INTERFACE_GUID#" [Version] Signature = "$Windows NT$" Class = "Universal Serial Bus devices" ClassGuid = {88bae032-5a81-49f0-bc3d-a4ff138216d6} Provider = "libusb.org" CatalogFile = #CAT_FILENAME# DriverVer = #DRIVER_DATE#, #DRIVER_VERSION# [ClassInstall32] Addreg = WinUSBDeviceClassReg [WinUSBDeviceClassReg] HKR,,,0,"Universal Serial Bus devices" HKR,,Icon,,-20 [Manufacturer] %VendorName% = libusbDevice_WinUSB,NTx86,NTamd64,NTia64 [libusbDevice_WinUSB.NTx86] %DeviceName% = USB_Install, USB\%DeviceID% [libusbDevice_WinUSB.NTamd64] %DeviceName% = USB_Install, USB\%DeviceID% [libusbDevice_WinUSB.NTia64] %DeviceName% = USB_Install, USB\%DeviceID% [USB_Install] Include = winusb.inf Needs = WINUSB.NT [USB_Install.Services] Include = winusb.inf AddService = WinUSB,0x00000002,WinUSB_ServiceInstall [WinUSB_ServiceInstall] DisplayName = "WinUSB - Kernel Driver #DRIVER_DATE# #DRIVER_VERSION#" ServiceType = 1 StartType = 3 ErrorControl = 1 ServiceBinary = %12%\WinUSB.sys [USB_Install.Wdf] KmdfService = WINUSB, WinUsb_Install [WinUSB_Install] KmdfLibraryVersion = 1.9 [USB_Install.HW] AddReg = #USE_DEVICE_INTERFACE_GUID# [NoDeviceInterfaceGUID] ; Avoids adding a DeviceInterfaceGUID for generic driver [AddDeviceInterfaceGUID] HKR,,DeviceInterfaceGUIDs,0x10000,%DeviceGUID% [USB_Install.CoInstallers] AddReg = CoInstallers_AddReg CopyFiles = CoInstallers_CopyFiles [CoInstallers_AddReg] HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller","WinUSBCoInstaller2.dll" [CoInstallers_CopyFiles] WinUSBCoInstaller2.dll WdfCoInstaller01009.dll [DestinationDirs] CoInstallers_CopyFiles = 11 [SourceDisksNames] 1 = %SourceName% [SourceDisksFiles.x86] WinUSBCoInstaller2.dll = 1,x86 WdfCoInstaller01009.dll = 1,x86 [SourceDisksFiles.amd64] WinUSBCoInstaller2.dll = 1,amd64 WdfCoInstaller01009.dll = 1,amd64 [SourceDisksFiles.ia64] WinUSBCoInstaller2.dll = 1,ia64 WdfCoInstaller01009.dll = 1,ia64 ; #INF_FILENAME# ; Copyright (c) 2010 libusb-win32 (GNU LGPL) [Strings] DeviceName = "#DEVICE_DESCRIPTION#" VendorName = "#DEVICE_MANUFACTURER#" SourceName = "#DEVICE_DESCRIPTION# Install Disk" DeviceID = "#DEVICE_HARDWARE_ID#" DeviceGUID = "#DEVICE_INTERFACE_GUID#" [Version] Signature = "$Windows NT$" Class = "libusb-win32 devices" ClassGuid = {EB781AAF-9C70-4523-A5DF-642A87ECA567} Provider = "libusb-win32" CatalogFile = #CAT_FILENAME# DriverVer = #DRIVER_DATE#, #DRIVER_VERSION# [ClassInstall32] Addreg = libusb_class_install_add_reg [libusb_class_install_add_reg] HKR,,,0,"libusb-win32 devices" HKR,,Icon,,-20 [Manufacturer] %VendorName% = Devices, NT, NTAMD64, NTIA64 ;-------------------------------------------------------------------------- ; libusb-win32 files ;-------------------------------------------------------------------------- [SourceDisksNames] 1 = %SourceName% [SourceDisksFiles.x86] libusb0.sys = 1,x86 libusb0_x86.dll = 1,x86 [SourceDisksFiles.amd64] libusb0.sys = 1,amd64 libusb0.dll = 1,amd64 libusb0_x86.dll = 1,x86 [SourceDisksFiles.ia64] libusb0.sys = 1,ia64 libusb0.dll = 1,ia64 libusb0_x86.dll = 1,x86 [DestinationDirs] libusb_files_sys = 10,system32\drivers libusb_files_dll = 10,system32 libusb_files_dll_wow64 = 10,syswow64 libusb_files_dll_x86 = 10,system32 [libusb_files_sys] libusb0.sys [libusb_files_dll] libusb0.dll [libusb_files_dll_x86] libusb0.dll, libusb0_x86.dll [libusb_files_dll_wow64] libusb0.dll, libusb0_x86.dll ;-------------------------------------------------------------------------- ; libusb-win32 device driver ;-------------------------------------------------------------------------- [LIBUSB_WIN32_DEV.NT] CopyFiles = libusb_files_sys, libusb_files_dll_x86 [LIBUSB_WIN32_DEV.NTAMD64] CopyFiles = libusb_files_sys, libusb_files_dll, libusb_files_dll_wow64 [LIBUSB_WIN32_DEV.NTIA64] CopyFiles = libusb_files_sys, libusb_files_dll, libusb_files_dll_wow64 [LIBUSB_WIN32_DEV.NT.HW] DelReg = libusb_del_reg_hw AddReg = libusb_add_reg_hw [LIBUSB_WIN32_DEV.NTAMD64.HW] DelReg = libusb_del_reg_hw AddReg = libusb_add_reg_hw [LIBUSB_WIN32_DEV.NTIA64.HW] DelReg = libusb_del_reg_hw AddReg = libusb_add_reg_hw [LIBUSB_WIN32_DEV.NT.Services] AddService = libusb0, 0x00000002, libusb_add_service [LIBUSB_WIN32_DEV.NTAMD64.Services] AddService = libusb0, 0x00000002, libusb_add_service [LIBUSB_WIN32_DEV.NTIA64.Services] AddService = libusb0, 0x00000002, libusb_add_service ; Older versions of this .inf file installed filter drivers. They are not ; needed any more and must be removed [libusb_del_reg_hw] HKR,,LowerFilters HKR,,UpperFilters ; libusb-win32 device properties [libusb_add_reg_hw] HKR,,SurpriseRemovalOK,0x00010001,1 ; (Optional) the usb configuration value to select when this device ; is started. If this key does not exist the first config is selected. ;HKR,,InitialConfigValue,0x00010001, ;-------------------------------------------------------------------------- ; libusb-win32 service ;-------------------------------------------------------------------------- [libusb_add_service] DisplayName = "libusb-win32 - Kernel Driver #DRIVER_DATE# #DRIVER_VERSION#" ServiceType = 1 StartType = 3 ErrorControl = 0 ServiceBinary = %12%\libusb0.sys ;-------------------------------------------------------------------------- ; libusb-win32 devices ;-------------------------------------------------------------------------- ; Hardware IDs in a 'Devices' section can be installed by libusb-win32 ; using usb_install_driver_np(), usb_install_driver_np_rundll(), or the ; inf-wizard utility. ; [Devices] %DeviceName% = LIBUSB_WIN32_DEV, USB\%DeviceID% [Devices.NT] %DeviceName% = LIBUSB_WIN32_DEV.NT, USB\%DeviceID% [Devices.NTAMD64] %DeviceName% = LIBUSB_WIN32_DEV.NTAMD64, USB\%DeviceID% [Devices.NTIA64] %DeviceName% = LIBUSB_WIN32_DEV.NTIA64, USB\%DeviceID% ; Copyright (c) 2011 libusbK (GNU LGPL) ; ; Module Name: #INF_FILENAME# ; Description: Installation inf for #DEVICE_DESCRIPTION# device. ; ; THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY ; KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE ; IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR ; PURPOSE. [Strings] DeviceName = "#DEVICE_DESCRIPTION#" VendorName = "#DEVICE_MANUFACTURER#" SourceName = "#DEVICE_DESCRIPTION# Install Disk" DeviceID = "#DEVICE_HARDWARE_ID#" DeviceGUID = "#DEVICE_INTERFACE_GUID#" [Version] Signature = "$Windows NT$" Class = "libusbk devices" ClassGuid = {ECFB0CFD-74C4-4f52-BBF7-343461CD72AC} Provider = "libusbK" CatalogFile = #CAT_FILENAME# DriverVer = #DRIVER_DATE#, #DRIVER_VERSION# ; ============== Class section ================== [ClassInstall32] Addreg = LUsbK_Class_AddReg [LUsbK_Class_AddReg] HKR,,,0,"libusbK USB Devices" HKR,,Icon,,-20 ; ============== Device section ================= [Manufacturer] %VendorName% = LUsbK_DeviceGroup,NTX86,NTAMD64 ; For Win2K [LUsbK_DeviceGroup] %DeviceName%=LUsbK_Device, USB\%DeviceID% ; For XP and later [LUsbK_DeviceGroup.NTX86] %DeviceName%=LUsbK_Device, USB\%DeviceID% [LUsbK_DeviceGroup.NTAMD64] %DeviceName%=LUsbK_Device, USB\%DeviceID% [LUsbK_Device.NT.HW] AddReg=#USE_DEVICE_INTERFACE_GUID# [LUsbK_Device.NTAMD64.HW] AddReg=#USE_DEVICE_INTERFACE_GUID# [NoDeviceInterfaceGUID] ; Avoids adding a DeviceInterfaceGUID for generic driver [AddDeviceInterfaceGUID] HKR,,DeviceInterfaceGUIDs, 0x10000,%DeviceGUID% ; ========== Driver/Servce section ============== [LUsbK_Device.NT.Services] Addservice=libusbK,2,LUsbK_AddService [LUsbK_Device.NTAMD64.Services] Addservice=libusbK,2,LUsbK_AddService [LUsbK_AddService] DisplayName="libusbK USB Driver #DRIVER_DATE# - #DRIVER_VERSION#" ServiceType=1 StartType=3 ErrorControl=1 ServiceBinary=%12%\libusbK.sys AddReg=LUsbK_Driver_AddReg ; This optional entry identifies the load order group of which this driver is a member. ; LoadOrderGroup=Base [LUsbK_Driver_AddReg] HKR,"Parameters","DebugLevel",0x10001,4 ; =========== Sources/Destinations ============== [SourceDisksNames] 1 = %SourceName% [SourceDisksFiles.x86] libusbK.sys = 1,x86 libusbK.dll = 1,x86 libusb0.dll = 1,x86 ;libusb-1.0.dll = 1,x86 WdfCoInstaller01009.dll = 1,x86 [SourceDisksFiles.amd64] libusbK.sys = 1,amd64 libusbK.dll = 1,amd64 libusbK_x86.dll = 1,amd64 libusb0.dll = 1,amd64 libusb0_x86.dll = 1,amd64 ;libusb-1.0.dll = 1,amd64 ;libusb-1.0_x86.dll = 1,amd64 WdfCoInstaller01009.dll = 1,amd64 [DestinationDirs] DefaultDestDir = 12 CoInstaller_CopyFiles = 11 libusb_files_sys = 10,system32\drivers libusb_files_dll = 10,system32 libusb_files_dll_syswow64 = 10,syswow64 ; ; 0x00000040 = COPYFLG_OVERWRITE_OLDER_ONLY ; Copy the source file to the destination directory only if the file on ; the destination will be superseded by a newer version. ; [libusb_files_sys] libusbK.sys [libusb_files_dll] libusbK.dll ;libusb-1.0.dll,,,0x00000040 libusb0.dll,,,0x00000040 [libusb_files_dll_syswow64] libusbK.dll, libusbK_x86.dll libusb0.dll, libusb0_x86.dll,,0x00000040 ;libusb-1.0.dll, libusb-1.0_x86.dll,,0x00000040 [LUsbK_Device.NT] CopyFiles = libusb_files_sys, libusb_files_dll [LUsbK_Device.NTAMD64] CopyFiles = libusb_files_sys, libusb_files_dll, libusb_files_dll_syswow64 ; ========= WDF/CoInstaller section ============= [LUsbK_Device.NT.CoInstallers] AddReg=CoInstaller_AddReg CopyFiles=CoInstaller_CopyFiles [CoInstaller_CopyFiles] WdfCoInstaller01009.dll [CoInstaller_AddReg] HKR,,CoInstallers32,0x00010000, "WdfCoInstaller01009.dll,WdfCoInstaller" [LUsbK_Device.NT.Wdf] KmdfService = libusbK, LUsbK_wdfsect [LUsbK_Device.NTAMD64.Wdf] KmdfService = libusbK, LUsbK_wdfsect [LUsbK_wdfsect] KmdfLibraryVersion=1.9 # List of the binaries referenced by the WinUSB inf # These are used to generate and self-sign a .cat file WdfCoInstaller01009.dll winusbcoinstaller2.dll# List of the binaries referenced by the libusb-win32 inf # These are used to generate and self-sign a .cat file libusb0.sys libusb0.dll libusb0_x86.dll# List of the binaries referenced by the libusbK inf # These are used to generate and self-sign a .cat file WdfCoInstaller01009.dll libusbk.sys libusbk.dll libusbk_x86.dll libusb0.dll libusb0_x86.dll libusb-1.0.dll libusb-1.0_x86.dllx86WdfCoInstaller01009.dllwinusbcoinstaller2.dllamd64license\WinUSBlicense.rtflibusb0_x86.dlllibusb0.dlllicense\libusb0installer_license.txtlibusbK.dlllibusbK_x86.dlllibusb-1.0_x86.dllwinusb.inf.inlibusb0.inf.inlibusbk.inf.inwinusb.cat.inlibusb0.cat.inlibusbk.cat.intxNk\JAt \J.XxDH\J+eL'\JpP;JཎtȔ`wNt7AN@tؔN@ȔN@trA`wN@˒ؔ`*wNqrA`wN7AN`h䔢ywN`t~AN–t `Nf`Nf&`Nf~A`N `NMA%AB'tNYMAA'4(tN@59: NjDLi9HNjDLr9WgwN9f ʥM@9t ʥM9 ʥMINF_FILENAMECAT_FILENAMEDEVICE_DESCRIPTIONDEVICE_HARDWARE_IDDEVICE_INTERFACE_GUIDDEVICE_MANUFACTURERDRIVER_DATEDRIVER_VERSIONUSE_DEVICE_INTERFACE_GUID~ T@Ej Lwdi_install_trusted_certificatedetect_versionwdi_install_driverinstall_driver_internalprocess_messageget_sidMS_COMP_WINUSBMS_COMP_LIBUSB0MS_COMP_LIBUSBKRaq:HWftwdi_prepare_drivercheck_dirextract_binariesfcreatewdi_destroy_listwdi_create_listwdi_is_driver_supportedrA~Aget_version_infotrying to recreate logger pipe \\.\pipe\libwdi-loggercould not create logger pipe for reading: %s could not create logger pipe for writing: %s unknownlibwdi:%s [%s] TRUNCATION detected for above line - Please send this log excerpt to the libwdi developers so we can fix it.infodebugwarningerrorGlobal\%sERROR: log buffer is emptywdi_read_loggerwdi_unregister_loggerwdi_register_loggerb]hpFry's ElectronicsIngramClub MacNebraska Furniture MartPlanexDragonRise Inc.Trust International B.V.UnknownChipsbank Microelectronics Co., LtdHangzhou WorldeHUMAX Co., Ltd.MM300 eBook ReaderOCZ Technology IncLTSBernd Walter Computer TechnologyEndPoints, Inc.Thesys MicroelectronicsData Broadcasting Corp.Atmel Corp.Iwatsu America, Inc.Mitel Corp.MitsumiHewlett-PackardGenoa TechnologyOak Technology, Inc.Adaptec, Inc.Diebold, Inc.Siemens ElectromechanicalEpson Imaging Technology CenterKeyTronic Corp.OPTi, Inc.Elitegroup Computer SystemsXilinx, Inc.Farallon ComunicationsNational Semiconductor Corp.National Registry, Inc.ALi Corp.Future Technology Devices International, LtdNCR Corp.Synopsys, Inc.Fujitsu-ICL ComputersFujitsu Personal Systems, Inc.Quanta Computer, Inc.NEC Corp.Kodak Co.Weltrend SemiconductorVTech Computers, LtdVIA Technologies, Inc.MCCIEcho Speech Corp.BUFFALO INC. (formerly MelCo., Inc.)Award Software InternationalLeadtek Research, Inc.Giga-Byte Technology Co., LtdWinbond Electronics Corp.Symbios LogicAST ResearchSamsung Info. Systems America, Inc.Phoenix Technologies, Ltdd'TVS3, Inc.Creative Technology, LtdLCS TelegraphicsChips and TechnologiesNokia Mobile PhonesADI Systems, Inc.Computer Access Technology Corp.Standard Microsystems Corp.Motorola Semiconductors HK, LtdIntegrated Device Technology, Inc.Motorola Electronics Taiwan, LtdAdvanced Gravis Computer Tech, LtdCirrus LogicEricsson Austrian, AGIntel Corp.Innovative Semiconductors, Inc.MicronicsAcer, Inc.Molex, Inc.Sun Microsystems, Inc.Itac Systems, Inc.Unisys Corp.Alps Electric, Inc.Hyundai Electronics AmericaTaugagreining HFFramatome Connectors USAAdvanced Micro Devices, Inc.Voice Technologies GroupLexmark International, Inc.LG Electronics USA, Inc.RadiSys Corp.Eizo Nanao Corp.Winbond Systems Lab.Ericsson, Inc.Gateway, Inc.Lucent Technologies, Inc.NMB Technologies Corp.Momentum MicrosystemsShamrock Tech. Co., LtdWSICCL/ITRISiemens Nixdorf AGAlps Electric Co., LtdThrustMaster, Inc.DFI, Inc.Texas Instruments, Inc.Mitsubishi Electronics America, Inc.CMD TechnologyVobis Microcomputer AGTelematics International, Inc.Analog Devices, Inc.Silicon Integrated Systems Corp.KYE Systems Corp. (Mouse Systems)Adobe Systems, Inc.SONICblue, Inc.Hitachi, LtdNortel Networks, LtdMicrosoft Corp.Ace Cad Enterprise Co., LtdPrimax Electronics, LtdMGE UPS SystemsAMP/Tycoelectronics Corp.AT&T ParadyneWieson Technologies Co., LtdCherry GmbHAmerican Megatrends, Inc.Toshiba Corp., Digital Media EquipmentLogitech, Inc.Behavior Tech. Computer Corp.Crystal SemiconductorPhilips (or NXP)Chicony Electronics Co., LtdSanyo Information Business Co., LtdSanyo Electric Co., LtdRelisys/Teco Information SystemAESPSeagate Technology, Inc.Connectix Corp.Advanced Peripheral LaboratoriesSemtech Corp.Silitek Corp.Dell Computer Corp.KensingtonAgere Systems, Inc. (Lucent)Plantronics, Inc.Toshiba America Info. Systems, Inc.Zenith Data SystemsKyocera Corp.SGS Thomson MicroelectronicsSpecialixNokia MonitorsASUS Computers, Inc.Stewart ConnectorCirque Corp.Foxconn / Hon HaiS-MOS Systems, Inc.Alps Electric Ireland, LtdIntegrated Technology Express, Inc.Eicon Tech.United Microelectronics Corp.CapetronicSamsung SemiConductor, Inc.MAG Technology Co., LtdESS Technology, Inc.Micron ElectronicsSmile InternationalCapetronic (Kaohsiung) Corp.Yamaha Corp.Gandalf Technologies, LtdCurtis Computer ProductsAcer Advanced Labs, Inc.VLSI TechnologyCompaq Computer Corp.Digital Equipment Corp.SystemSoft Corp.FirePower SystemsTrident Microsystems, Inc.Acer Peripherals Inc. (now BenQ Corp.)Nokia Display ProductsVisioneerMultivideo Labs, Inc.Canon, Inc.DaeWoo Telecom, LtdChromatic ResearchMicro Audiometrics Corp.Dooin ElectronicsWinnov L.P.Nikon Corp.Pan InternationalIBM Corp.Cypress Semiconductor Corp.ROHM LSI Systems USA, LLCHint Corp.Compal Electronics, Inc.Seiko Epson Corp.Rainbow Technologies, Inc.Toucan Systems, LtdI-O Data Device, Inc.Toshiba Electronics Taiwan Corp.Telia Research ABTDK Corp.U.S. Robotics (3Com)Methode Electronics Far East PTE, LtdMaxi Switch, Inc.Lockheed Martin Energy ResearchFujitsu, LtdToshiba America Electronic ComponentsMicro Macro TechnologiesKonica Corp.Lite-On Technology Corp.Fuji Photo Film Co., LtdST-EricssonTatung Co. Of AmericaScanLogic Corp.Myson Century, Inc.Digi InternationalITT CanonAltec Lansing TechnologiesVidUS, Inc.LSI Logic, Inc.Forte Technologies, Inc.Mentor GraphicsOki SemiconductorMicrochip Technology, Inc.Holtek Semiconductor, Inc.Panasonic (Matsushita)Hypertec Pty, LtdHuan Hsin Holdings, LtdSharp Corp.MindShare, Inc.Interlink ElectronicsIiyama North America, Inc.Exar Corp.Zilog, Inc.ACC MicroelectronicsPromise TechnologySCM Microsystems, Inc.Elo TouchSystemsSamsung Electronics Co., LtdPC-Tel, Inc.Brooktree Corp.Northstar Systems, Inc.Tokyo Electron Device, LtdAnnabooksPacific Electronic International, Inc.Daewoo Electronics Co., LtdVictor Company of Japan, LtdElan Microelectronics Corp.Harting Elektronik, Inc.Fujitsu-ICL Systems, Inc.Norand Corp.Newnex Technology Corp.FuturePlus SystemsBrother Industries, LtdDallas SemiconductorBiostar Microtech International Corp.Sunplus Technology Co., LtdSoliton Systems, K.K.PFU, LtdE-CMOS Corp.Siam United Hi-TechFujikura DDK, LtdHitachi America, LtdHayes Microcomputer Products3Com Corp.Hosiden Corp.Clarion Co., LtdAztech Systems, LtdCinch ConnectorsCable System InternationalInnoMedia, Inc.Belkin ComponentsNeon Technology, Inc.KC Technology, Inc.Sejin Electron, Inc.N'Able (DataBook) Technologies, Inc.Hualon Microelectronics Corp.digital-X, Inc.FCI ElectronicsACTCLongwell ElectronicsButterfly CommunicationsEzKEY Corp.Star Micronics Co., LtdWYSE TechnologySilicon GraphicsShuttle, Inc.American Power ConversionScientific Atlanta, Inc.IO Systems (Elite Electronics), Inc.Taiwan Semiconductor Manufacturing Co.Airborn ConnectorsAdvanced Connectek, Inc.ATEN GmbHSola ElectronicsNetchip Technology, Inc.Temic MHS S.A.ALTRAATI Technologies, Inc.Aladdin Knowledge SystemsCrescent Heart SoftwareTekom Technologies, Inc.Canon Information Systems, Inc.Avid Electronics Corp.Unicore Software, Inc.American Microsystems, Inc.Wacom Technology Corp.Systech Corp.Alcatel Mobile PhonesMotorola, Inc.LIH TZU Electric Co., LtdHand Held Products (Welch Allyn, Inc.)Inventec Corp.Caldera International, Inc. (SCO)Shyh Shiun Terminals Co., LtdPrehKeyTec GmbHGlobal Village CommunicationInstitut of Microelectronic & Mechatronic SystemsSilicon ArchitectMobility ElectronicsUniAccess ABSirf Technology, Inc.ViewSonic Corp.Cristie Electronics, LtdXirlink, Inc.Polaroid Corp.Anchor Chips, Inc.Tyan Computer Corp.Pixera Corp.Fujitsu Microelectronics, Inc.New Media Corp.Sony Corp.Try Corp.Proside Corp.WYSE Technology TaiwanFuji Xerox Co., LtdCompuTrend Systems, Inc.Philips MonitorsSTMicroelectronics Imaging Division (VLSI Vision)Dictaphone Corp.ANAM S&T Co., LtdAsahi Kasei Microsystems Co., LtdATEN International Co., LtdTruevision, Inc.Cadence Design Systems, Inc.Kenwood USAKnowledgeTek, Inc.Proton Electronic Ind.Samsung Electro-Mechanics Co.CTX Opto-Electronics Corp.Mustek Systems, Inc.Interface Corp.Oasis Design, Inc.Telex Communications, Inc.Immersion Corp.Kodak Digital Product Center, Japan Ltd. (formerly Chinon Industries Inc.)Peracom Networks, Inc.Monterey International Corp.Xyratex International, LtdQuartz IngenierieSegaSoftWacom Co., LtdDecicon, Inc.eTEK LabsEIZO Corp.Elecom Co., LtdKorea Data Systems Co., LtdEpson AmericaInterex, Inc.Conexant Systems (Rockwell), Inc.Zoran Co. Personal Media Division (Nogatech)City University of Hong KongPhilips Creative Display SolutionsBAFO/Quality Computer AccessoriesELSAIntrinsix Corp.GVC Corp.Samsung Electronics AmericaY-E Data, Inc.AVM GmbHShark Multimedia, Inc.Nintendo Co., LtdQuickShot, LtdDenron, Inc.Racal Data GroupRoland Corp.Padix Co., Ltd (Rockfire)RATOC System, Inc.FlashPoint Technology, Inc.ZyXEL Communications Corp.America Kotobuki Electronics Industries, Inc.Sapien DesignVictronNohau Corp.Infineon TechnologiesIn Focus SystemsMicrel SemiconductorTripath Technology, Inc.Alcor Micro Corp.Omron Corp.Questra ConsultingPowerware Corp.IncitePrinceton Graphic SystemsZoran Microelectronics, LtdMicroTouch Systems, Inc.Trisignal CommunicationsNiigata Canotec Co., Inc.Brilliance Semiconductor, Inc.Spectrum Signal Processing, Inc.Iomega Corp.A-Trend Technology Co., LtdAdvanced Input DevicesIntelligent InstrumentationLaCie, LtdVetronix Corp.USC Corp.Fuji Film Microdevices Co., LtdARC InternationalOrtek Technology, Inc.Sampo Technology Corp.Cisco Systems, Inc.Bose Corp.Spacetec IMC Corp.OmniVision Technologies, Inc.Utilux South China, LtdIn-System DesignApple, Inc.Y.C. Cable U.S.A., Inc.Jing-Mold Enterprise Co., LtdFountain Technologies, Inc.First International Computer, Inc.LG Semicon Co., LtdDialogic Corp.Proxima Corp.Medianix Semiconductor, Inc.Agiler, Inc.Philips Research LaboratoriesDigitalPersona, Inc.Grey Cell Systems3G Green Green Globe Co., LtdRAFI GmbH & Co. KGTyco Electronics (Raychem)S & S ResearchKeil SoftwareKawasaki Microelectronics, Inc.Media Phonics (Suisse) S.A.Digi International, Inc.Qualcomm, Inc.Qtronix Corp.Cheng Uei Precision Industry Co., Ltd (Foxlink)Ricoh Co., LtdPowerVision Technologies, Inc.ELSA AGSilicom, Ltdsci-worx GmbHSung Forn Co., LtdGE Medical Systems LunarBrainboxes, LtdWave Systems Corp.Tohoku Ricoh Co., LtdSuper Gate Technology Co., LtdPhilips Semiconductors, CICTThomas & Betts Corp.Ultima Electronics Corp.Axiohm Transaction SolutionsMicrotek International, Inc.Sun Corp. (Suntac?)Lexar Media, Inc.Delta Electronics, Inc.Silicon Vision, Inc.Symbol TechnologiesSyntek Semiconductor Co., LtdElecVision, Inc.Genesys Logic, Inc.Red Wing Corp.Fuji Electric Co., LtdKeithley InstrumentsICC, Inc.Kawasaki LSIFFC, LtdCOM21, Inc.Cytechinfo Inc.AVB, Inc. [anko?]Canopus Co., LtdCompass CommunicationsDexin Corp., LtdPI Engineering, Inc.Unixtar Technology, Inc.AOC InternationalRFC Distribution(s) PTE, LtdPSC Scanning, Inc.Siemens Telecommunications Systems, LtdHarman MultimediaInterAct, Inc.Chic Technology Corp.LeCroy Corp.Barco Display SystemsJazz Hipster Corp.Vista Imaging, Inc.Novatek Microelectronics Corp.Jean Co., LtdAnchor C&C Co., LtdRoyal Information Electronics Co., LtdBridge Information Co., LtdGenrad AdsSMK Manufacturing, Inc.Worthington Data Solutions, Inc.Solid YearEEH Datalink GmbHAuctor Corp.Transmonde Technologies, Inc.Joinsoon Electronics Mfg. Co., LtdCostar Electronics, Inc.Totoku Electric Co., LtdTransAct Technologies, Inc.Bio-Rad LaboratoriesQuabbin Wire & Cable Co., Inc.Future Techno Designs PVT, LtdSwiss Federal Insitute of TechnologyMacAllySeiko Instruments, Inc.Veridicom International, Inc.Promptus Communications, Inc.Act Labs, LtdQuatech, Inc.Nissei Electric Co.Alaris, Inc.ODU-Steckverbindungssysteme GmbH & Co. KGIotech, Inc.Littelfuse, Inc.Avocent Corp.TiMedia Technology Co., LtdNippon Systems Development Co., LtdAdomax Technology Co., LtdTasking Software, Inc.Zida Technologies, LtdCreative LabsGreatlink Electronics Taiwan, LtdInstitute for Information IndustryTaiwan Tai-Hao Enterprises Co., LtdMainsuper Enterprises Co., LtdSin Sheng Terminal & Machine, Inc.JUJO Electronics Corp.Cyrix Corp.Micron Technology, Inc.Methode Electronics, Inc.Sierra Imaging, Inc.Avision, Inc.Chrontel, Inc.Techwin Corp.Yamaichi Electronics Co., Ltd (Sakura)Fong Kai Industrial Co., LtdRealMedia Technology, Inc.New Technology Cable, LtdHitex Development ToolsWoods Industries, Inc.VIA Medical Corp.TEAC Corp.Who? Vision Systems, Inc.UMAXActon Research Corp.Inside Out NetworksWeli Science Co., LtdAnalog Devices, Inc. (White Mountain DSP)Ji-Haw Industrial Co., LtdTriTech Microelectronics, LtdSuyin Corp.WIBU-Systems AGDynapro SystemsLikom Technology Sdn. Bhd.Stargate Solutions, Inc.CNF, Inc.Granite Microsystems, Inc.Space Shuttle Hi-Tech Co., LtdGlory Mark Electronic, LtdTekcon Electronics Corp.Sigma Designs, Inc.AethraOptoelectronics Co., LtdTracewell SystemsGood Way Technology Co., Ltd & GWC technology Inc.TSAY-E (BVI) International, Inc.Hamamatsu Photonics K.K.Kansai Electric Co., LtdTopmax Electronic Co., LtdET&T Technology Co., Ltd.Cypress SemiconductorAiwa Co., LtdWordWandOce' Printing Systems GmbHTotal Technologies, LtdLinksys, Inc.Entrega, Inc.Acer Semiconductor America, Inc.SigmaTel, Inc.Sequel ImagingLabtec, Inc.HCLKey Mouse Electronic Enterprise Co., LtdDrayTek Corp.Teles AGACard Technology Corp.Prolific Technology, Inc.Efficient Networks, Inc.Hohner Corp.Intermec Technologies Corp.Virata, LtdRealtek Semiconductor Corp., CPP Div. (Avance Logic)Siemens Information and Communication ProductsActiontec Electronics, Inc.Minolta Co., LtdPertech, Inc.Potrans International, Inc.CH Products, Inc.Golden Bridge Electech, Inc.Hagiwara Sys-Com Co., LtdLego GroupChuntex (CTX)Tektronix, Inc.Askey Computer Corp.Thomson, Inc.Hughes Network Systems (HNS)Welcat Inc.Allied Data Technologies BVTopro Technology, Inc.Saitek PLCXiamen Doowell Electron Co., LtdDivioMicroStore, Inc.Topaz Systems, Inc.WestellSysgration, LtdFujitsu Laboratories of America, Inc.Greatland Electronics Taiwan, LtdProfessional Multimedia Testing CentreHarting, Inc. of North AmericaPixela Corp.Alcatel TelecomSmooth Cord & Connector Co., LtdEDA, Inc.Oki Data Corp.AGFA-Gevaert NVAME Optimedia Technology Co., LtdLeoco Corp.Phidgets Inc. (formerly GLAB)Bizlink International Corp.Hagenuk, GmbHInfowave Software, Inc.SIIG, Inc.Taxan (Europe), LtdNewer Technology, Inc.Synaptics, Inc.Terayon Communication SystemsKeyspanSpheronVR AGLapLink, Inc.Mitsubishi Electric Corp.Cisco SystemsToshibaAashima Technology B.V.Network Computing Devices (NCD)Technical Marketing Research, Inc.Phoenixtec Power Co., LtdParadyneFoxlink Image Technology Co., LtdHeisei Electronics Co., LtdMulti-Tech Systems, Inc.ADS Technologies, Inc.Alcatel MicroelectronicsTiger Jet Network, Inc.Sirius TechnologiesPC Expert Tech. Co., LtdI.A.C. Geometrische Ingenieurs B.V.T.N.C Industrial Co., LtdOpcode Systems, Inc.Emine Technology Co.Wintrend Technology Co., LtdWailly Technology LtdGuillemot Corp.ASYST electronic d.o.o.HSD S.r.LMotorola Semiconductor Products SectorBoston AcousticsGallant Computer, Inc.Supercomal Wire & Cable SDN. BHD.Bvtech Industry, Inc.NKK Corp.Ariel Corp.Putercom Co., LtdSilicon Systems, Ltd (SSL)Oki Electric Industry Co., LtdComoss Electronic Co., LtdExcel Cell Electronic Co., LtdConnect Tech, Inc.Magic Control Technology Corp.Interval Research Corp.NewMotion, Inc.ZNK Corp.Imation Corp.Tremon Enterprises Co., LtdDomain Technologies, Inc.Xionics Document Technologies, Inc.Eicon Networks Corp.Ariston TechnologiesCentillium Communications Corp.Vanguard International Semiconductor-AmericaAmitmSunix Co., LtdAdvanced Card Systems, LtdSusteen, Inc.Goldfull Electronics & Telecommunications Corp.ViewQuest Technologies, Inc.Lasat Communications A/SAsuscom NetworkLorom Industrial Co., LtdMad Catz, Inc.Chaplet Systems, Inc.Suncom TechnologiesIndustrial Electronic Engineers, Inc.Eutron S.p.a.NEC, Inc.Syntech Information Co., LtdOnkyo Corp.Labway Corp.Strong Man Enterprise Co., LtdEVer Electronics Corp.Ming Fortune Industry Co., LtdPolestar Tech. Corp.C-C-C Group PLCMicronas GmbHDigital Stream Corp.Aureal SemiconductorNetwork Technologies, Inc.Sophisticated Circuits, Inc.MidimanCyber Power System, Inc.X-Rite, Inc.Jess-Link Products Co., LtdTokheim Corp.Camtel Technology Corp.Surecom Technology Corp.Smart Technology Enablers, Inc.OmniKey AGPartner TechDenso Corp.Kuan Tech Enterprise Co., LtdJhen Vei Electronic Co., LtdWelch Allyn, Inc - Medical DivisionObservator Instruments BVYour data Our CareAmTRAN Technology Co., LtdLongshine Electronics Corp.Inalways Corp.Comda Enterprise Corp.Volex, Inc.Fairchild SemiconductorSankyo Seiki Mfg. Co., LtdLinksysForward Electronics Co., LtdGriffin TechnologyWell Excellent & Most Corp.Sagem Monetel GmbHSanDisk Corp.TrackerballC3POVivitar, Inc.NTT-MELogitec Corp.Happ Controls, Inc.GTCO/CalCompBrincom, Inc.Pro-Image Manufacturing Co., LtdCopartner Wire and Cable Mfg. Corp.Axis Communications ABWha Yu Industrial Co., LtdABL Electronics Corp.RealChip, Inc.Certicom Corp.Grandtech Semiconductor Corp.OptelecAlteraSagemAlfadata Computer Corp.Digicom S.p.A.National Technical SystemsOnnto Corp.Be, Inc.ADMtek, Inc.Corega K.K.Freecom TechnologiesMicrotechTrust TechnologiesIMP, Inc.Motorola BCS, Inc.Plustek, Inc.Olympus Optical Co., LtdMega World International, LtdMarubun Corp.TIME Interconnect, LtdAboCom Systems IncCanon Computer Systems, Inc.Webgear, Inc.VeridicomCode Mercenaries Hard- und Software GmbHKeisokugikenDatafab Systems, Inc.APG Cash DrawerShareWave, Inc.Powertech Industrial Co., LtdB.U.G., Inc.Allied Telesyn InternationalAVerMedia Technologies, Inc.Kingmax Technology, Inc.Carry Computer Eng., Co., LtdElektorCasio Computer Co., LtdDazzleD-Link SystemAptio Products, Inc.Cyberdata Corp.Radiant SystemsGCC Technologies, Inc.Arasan Chip SystemsDiamond MultimediaDavid Electronics Co., LtdAmbient Technologies, Inc.Elmeg GmbH & Co., LtdPlanex Communications, Inc.Movado Enterprise Co., LtdQPS, Inc.Allied Cable Corp.Mirvo Toys, Inc.LabsystemsIwatsu Electric Co., LtdDouble-H Technology Co., LtdTaiyo Electric Wire & Cable Co., LtdTorex Retail (formerly Logware)STSNMicrocomputer Applications, Inc.Circuit Assembly Corp.Century Corp.Dotop Technology, Inc.Mark of the UnicornMagTekMako Technologies, LLCZoom Telephonics, Inc.Genicom Technology, Inc.Evermuch Technology Co., LtdCross Match TechnologiesDatalogic S.p.A.Teco Image Systems Co., LtdPersonal Communication Systems, Inc.Mattel, Inc.eLicenserMG LogicIndigita Corp.MipsysAlphaSmart, Inc.Reudo Corp.GC ProtronicsData TransitBroadLogic, Inc.Sato Corp.DirecTV Broadband, Inc. (Telocity)HandspringPalm, Inc.Kouwell Electronics Corp.Sourcenext Corp.Action Star Enterprise Co., LtdSamsung Techwin Co., LtdAccton Technology Corp.Global VillageArgosy Research, Inc.Rioport.com, Inc.Welland Industrial Co., LtdNetGear, Inc.Minton Optic Industry Co., Inc.KB GearEmpegFast Point Technologies, Inc.Macronix International Co., LtdCSEMTopre CorporationActiveWire, Inc.B&B ElectronicsHitachi Maxell, LtdMinolta Systems Laboratory, Inc.XircomColorVision, Inc.Teletrol Systems, Inc.Filanet Corp.Data Translation, Inc.Emagic Soft- und Hardware GmbHDeTeWe - Deutsche Telephonwerke AG & Co.System TALKS, Inc.MEC IMEX, Inc.MetricomSanDisk, Inc.Xpeed, Inc.A-Tec Subsystem, Inc.Comtrol Corp.Adesso/Kbtek America, Inc.Jaton Corp.Fujitsu Computer Products of AmericaVirtual IP Group, Inc.APT Technologies, Inc.Recording Industry Association of America (RIAA)Boca Research, Inc.XAC Automation Corp.Hannstar Electronics Corp.MassWorks, Inc.Swecoin ABiLokDioGraphy, Inc.LauterbachUnited Technologies Research Cntr.Icron Technologies Corp.NST Co., LtdPrimex Aerospace Co.e9, Inc.Andrea ElectronicsMacally (Mace Group, Inc.)Sorenson Vision, Inc.NATSUJ. Gordon Electronic Design, Inc.RadioShack Corp. (Tandy)Texas Instruments JapanCitizen Watch Co., LtdPrecise BiometricsProxim, Inc.Key Nice Enterprise Co., Ltd2Wire, Inc.Nippon Telegraph and Telephone Corp.Aiptek International, Inc.Jue Hsun Ind. Corp.Long Well Electronics Corp.Productivity Enhancement ProductssmartBridges, Inc.Virtual InkFujitsu Siemens ComputersIXXAT Automation GmbHIncrement P Corp.Billionton Systems, Inc.?Spyrus, Inc.Olitec, Inc.Pioneer Corp.LitronicGemplusPan-International Wire & CableIntegrated Memory LogicExtended Systems, Inc.Ericsson, Inc., Blue Ridge LabsM-Systems Flash Disk PioneersMediaTek Inc.CCSI/HessoCorex TechnologiesCTI Electronics Corp.Gotop Information Inc.SysTec Co., LtdLogic 3 International, LtdVernierKeen Top International Enterprise Co., LtdWipro TechnologiesCaereSocket CommunicationsSicon Cable Technology Co., LtdDigianswer A/SAuthenTec, Inc.Pinnacle Systems, Inc.VST TechnologiesFaraday Technology Corp.ShenZhen SANZHAI Technology Co.,LtdAudio-Technica Corp.Trumpion Microelectronics, Inc.NeurosmithSilicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.)Multiport Computer Vertriebs GmbHShining Technology, Inc.Fujitsu Devices, Inc.Alation Systems, Inc.Philips Speech ProcessingVoquette, Inc.GlobeSpan, Inc.SmartDisk Corp.Tiger ElectronicsGarmin InternationalEchelon Co.GoHubs, Inc.Dymo-CoStar Corp.IC Media Corp.XeroxLakeview ResearchSummus, LtdOxford Semiconductor, LtdAmerican Biometric Co.Toshiba Information & Industrial Sys. And ServicesSena Technologies, Inc.Northern Embedded Science/CAVNEXToshiba Corp.Harmonic Data Systems, LtdCrescentec Corp.Quantum Corp.Netcom SystemsNuTeslaLumberg, Inc.Pixart Imaging, Inc.Plextor Corp.Intrepid Control Systems, Inc.InnoSync, Inc.J.S.T. Mfg. Co., LtdOlympia Telecom Vertriebs GmbHJapan Storage Battery Co., LtdPhotobit Corp.i2Go.com, LLCHCL Technologies India Private, LtdKORG, Inc.Pasco ScientificKronauer music in digitalLinkup Systems Corp.Cable Television LaboratoriesYanoKingston TechnologyRPM Systems Corp.NVidia Corp.BSquare Corp.Agilent Technologies, Inc.CompuLink Research, Inc.Cologne Chip AGPortsmithMedialogic Corp.K-Tec ElectronicsPolycom, Inc.Acer (?)Catalyst Enterprises, Inc.Feitian Technologies, Inc.Gretag-Macbeth AGSchlumbergerDatagraphix, a business unit of AnacompOL'E Communications, Inc.Adirondack Wire & CableLightsurf TechnologiesBeckhoff GmbHJeilin Technology Corp., LtdMinds At Work LLCKnudsen Engineering, LtdMarunix Co., LtdRosun Technologies, Inc.Barun Electronics Co., LtdOak Technology, LtdApricorncab Produkttechnik GmbH & Co KGMatsushita Electric Works, Ltd.Vitana Corp.INDesignIntegrated Intellectual Property, Inc.Kenwood TMI Corp.Gemstar eBook Group, LtdIntegrated Telecom Express, Inc.Zippy Technology Corp.PairGain TechnologiesContech Research, Inc.VCON TelecommunicationsPoinchipsData Transmission Network Corp.Lin Shiung Enterprise Co., LtdSmart Card Technologies Co., LtdIntersil Corp.Japan Cash Machine Co., Ltd.Tripp LiteFranklin Electronic Publishers, Inc.Altius Solutions, Inc.MDS Telephone SystemsCelltrix Technology Co., LtdGrundigMySmart.ComAuerswald GmbH & Co. KGGenpix Electronics, LLCArris Interactive LLCNisca Corp.ActivCard, Inc.ACTiSYS Corp.Memory Corp.Workbit Corp.Psion Dacom Home Networks, LtdCity Electronics, LtdElectronics Testing Center, TaiwanNeoMagic, Inc.Vreelin Engineering, Inc.Com OneNovatel WirelessKRF Tech, LtdA4 Tech Co., LtdMeasurement Computing Corp.Aimex Corp.Fellowes, Inc.Addonics Technologies Corp.Intellon Corp.Jo-Dan International, Inc.Silutia, Inc.Real 3D, Inc.AKAI Professional M.I. Corp.Chen-Source, Inc.IM Networks, Inc.XitelGoFlight, Inc.AresComRocketChips, Inc.Edu-Science (H.K.), LtdSoftConnex Technologies, Inc.Bay AssociatesMtek VisionGain Technology Corp.Liquid AudioViA, Inc.Ontrak Control Systems Inc.Cybex Computer Products Co.Xentec, Inc.Cambridge Silicon Radio, LtdTelebyte, Inc.Spacelabs Medical, Inc.Scalar Corp.Trek Technology (S) PTE, LtdPentax Corp.Heidelberger Druckmaschinen AGHua Geng Technologies, Inc.Medtronic Physio Control Corp.Century Semiconductor USA, Inc.Datacard GroupAK-Modul-Bus Computer GmbHTG3 Electronics, Inc.Radikal TechnologiesGilat Satellite Networks, LtdPentaMedia Co., LtdNTT DoCoMo, Inc.Varo VisionSwissonic AGBoca Systems, Inc.Davicom Semiconductor, Inc.Hirose ElectricI/O InterconnectFujitsu Media Devices, LtdComputex Co., LtdEvolution Electronics, LtdSteinberg Soft-und Hardware GmbHLitton Systems, Inc.Mimaki Engineering Co., LtdSony Electronics, Inc.Jebsee Electronics Co., LtdPortable Peripheral Co., LtdElectronics For Imaging, Inc.EAsics NVBroadcom Corp.Diatrend Corp.ZebraMPManClearCube TechnologyMedeli Electronics Co., LtdComaide Corp.Chroma ate, Inc.Green House Co., LtdIntegrated Circuit Systems, Inc.UPS ManufacturingBenwinCore Technology, Inc.International Game TechnologyVIPColor Technologies USA, Inc.Sanwa DenshiNSTL, Inc.Octagon Systems Corp.Rexon Technology Corp., LtdChesen Electronics Corp.SyscanNextComm, Inc.Maui Innovative PeripheralsIdexx LabsNITGen Co., LtdPicturetelJapan Aviation Electronics Industry, LtdCandy Technology Co., LtdGloblink Technology, Inc.EGO SYStems, Inc.C Technologies ABIntersenseLava Computer Mfg., Inc.Develco ElektronikFirst International DigitalPerception Digital, LtdWincor Nixdorf International GmbHTriGem Computer, Inc.Baromtec Co.Japan CBM Corp.Vision Shape Europe SAiCompression, Inc.Rohde & Schwarz GmbH & Co. KGNEC infrontia Corp. (Nitsuko)Digitalway Co., LtdArrow Strong Electronics Co., LtdFEIG ELECTRONIC GmbHEllisysStereo-LinkDiolanSanyo Semiconductor Company MicroLeco Corp.I & C Corp.Singing Electrons, Inc.Panwest Corp.Z-Star Microelectronics Corp.Micro Solutions, Inc.OPEN Networks LtdKoga Electronics Co.ID TechZyDASIntoto, Inc.Intellix Corp.Remotec Technology, LtdService & Quality Technology Co., LtdData Encryption Systems Ltd.Allion Computer, Inc.Taito Corp.Neodym Systems, Inc.System Support Co., LtdNorth Shore Circuit Design L.L.P.SciEssence, LLCTTP Communications, LtdNeodio Technologies Corp.OptionSilver I Co., LtdB2C2, Inc.Hama, Inc.Zaptronix LtdTateno Dennou, Inc.Cummins Engine Co.Jump Zone Network Products, Inc.INGENICOASUSTek Computer, Inc.Datamax-O'NeilTodos ABProjectLabGN NetcomAVID TechnologyPcallyI Tech Solutions Co., LtdElectronic Warfare Assoc., Inc. (EWA)Insyde Software Corp.TransDimension, Inc.Yokogawa Electric Corp.Japan System Development Co., LtdPan-Asia Electronics Co., LtdLink Evolution Corp.Ritek Corp.Kenwood Corp.Village Center, Inc.PNY Technologies, Inc.Contour Design, Inc.Hitachi ULSI Systems Co., LtdGear HeadOmnidirectional Control Technology, Inc.IPaxessTekram Technology Co., LtdOlivetti TechcenterKikusui Electronics Corp.Hal Corp.Play.com, Inc.Sportbug.com, Inc.TechnoTrend AGASCII Corp.Pine Corp. Ltd.Graphtec America, Inc.Musical Electronics, LtdDumpries Co., LtdComfort Keyboard Co.Colorado MicroDisplay, Inc.Sinbon Electronics Co., LtdTYI Systems, LtdBeijing HanwangTechnology Co., LtdLake Communications, LtdCorel Corp.Green Electronics Co., LtdNsine, LtdNEC Viewtechnology, LtdOrange Micro, Inc.ADLink Technology, Inc.Wonderful Wire Cable Co., LtdExpert Magnetics Corp.CacheVisionMaxim Integrated ProductsNagano Japan Radio Co., LtdPortalPlayer, Inc.SHIN-EI Sangyo Co., LtdEmbedded Wireless Technology Co., LtdComputone Corp.Roland DG Corp.Sunrise Telecom, Inc.Zeevo, Inc.Taiko Denki Co., LtdITRAN Communications, LtdAstrodesign, Inc.id3 SemiconductorsRextron Technology, Inc.Elkat Electronics, Sdn., Bhd.Exputer Systems, Inc.Plus-One I & T, Inc.Sigma Koki Co., Ltd, Technology CenterAdvanced Digital Broadcast, LtdSMART Technologies Inc.ASIX Electronics Corp.Sewon TelecomO2 Micro, Inc.Playmates Toys, Inc.Audio International, Inc.Dipl.-Ing. Stefan KundeSoftprotec Co.Chippo TechnologiesU.S. RoboticsConcord Camera Corp.Infinilink Corp.Ambit Microsystems Corp.Ofuji TechnologyHigh Tech Computer Corp.Murata Manufacturing Co., LtdNetwork AlchemyJoytech Computer Co., LtdHitachi Semiconductor and Devices Sales Co., LtdEiger M&C Co., LtdZAccess SystemsGeneral Meters Corp.Assistive Technology, Inc.System Connection, Inc.Knilink Technology, Inc.Fuw Yng Electronics Co., LtdSeagate RSS LLCIPWireless, Inc.Microcube Corp.JCN Co., LtdExWAY, Inc.X10 Wireless Technology, Inc.Telmax CommunicationsECI Telecom, LtdStartek Engineering, Inc.Perfect Technic Enterprise Co., LtdAndrew Pargeter & AssociatesRealtek Semiconductor Corp.Ericsson Business Mobile Networks BVY Media Corp.Orange PCSKanda Tsushin Kogyo Co., LtdTOYO Corp.Elka International, LtdDOME imaging systems, Inc.Dong Guan Humen Wonderful Wire Cable FactorySilicon LabsLTK Industries, LtdWay2Call CommunicationsPace Micro Technology PLCIntracom S.A.KonexxAddonics Technologies, Inc.Sunny Giken, Inc.Kvaser ABMOTO Development Group, Inc.Appian GraphicsHasbro Games, Inc.Infinite Data Storage, LtdAgateComjet Information SystemHighpoint Technologies, Inc.Dura Micro, Inc. (Acomdata)ZeroplusIris GraphicsGyration, Inc.Cyberboard A/SSynerTek Korea, Inc.cyberPIXIE, Inc.Silicon Motion, Inc.MIPS TechnologiesHang Zhou Silan Electronics Co., LtdTally Printer Corp.Lernout + HauspieTaiyo YudenSampo Corp.Prolific Technology Inc.RFIDeas, IncMetroEagletron, Inc.E Ink Corp.e.DigitalDer An Electric Wire & Cable Co., LtdIFRFurui Precise Component (Kunshan) Co., LtdKomatsu, LtdRadius Co., LtdInnocom, Inc.Nextcell, Inc.Motorola iDENMicrodiaWaveRider Communications, Inc.ALGE-TIMING GmbHReiner SCT Kartensysteme GmbHNeedham's ElectronicsSealevel Systems, Inc.ViewPLUS, Inc.Glory, LtdSpectrum Digital, Inc.Billion Bright, LtdImaginative Design Operation Co., LtdVidar Systems Corp.Dong Guan Shinko Wire Co., LtdTRS International Mfg., Inc.Xytronix Research & DesignApogee Electronics Corp.Chant Sincere Co., LtdToko, Inc.Signality System Engineering Co., LtdEminence Enterprise Co., LtdRexon Electronics Corp.Concept Telecom, LtdMCT ElektronikladenPEAK SystemOptronic Laboratories Inc.JMTek, LLC.Sipix Group, LtdDetto Corp.NuConnex Technologies Pte., LtdWing-Span Enterprise Co., LtdNDA Technologies, Inc.Kyocera Wireless Corp.Honda Tsushin Kogyo Co., LtdPathway Connectivity, Inc.Wavefly Corp.Coactive NetworksTempoCesscom Co., LtdApplied MicrosystemsCrypteraBerkshire Products, Inc.Innochips Co., LtdHanwool Robotics Corp.Jobin Yvon, Inc.SemTekZyferSega Corp.ST&T Instrument Corp.BAE Systems Canada, Inc.Castles Technology Co., LtdInformation Systems LaboratoriesMotorola CGISSAscom Business Systems, LtdBuslinkFlying Pig SystemsInnovonics, Inc.Celestix Networks, Pte., LtdSingatron Enterprise Co., LtdOpticis Co., LtdTrust Electronic (Shanghai) Co., LtdShanghai Darong Electronics Co., LtdPalmax Technology Co., LtdPentel Co., Ltd (Electronics Equipment Div.)Keryx Technologies, Inc.Union Genius Computer Co., LtdKuon Yi Industrial Corp.Given Imaging, LtdTimex Corp.Rimage Corp.emsys GmbHSendoIntermagic Corp.Kontron Medical AGTechnotools Corp.BroadMAX Technologies, Inc.AmphenolSKNet Co., LtdDomex Technology Corp.TerraTec Electronic GmbHBang OlufsenLabJack CorporationNewChip S.r.l.JS Digitech, Inc.Hitachi Shin Din Cable, LtdZ-ComValidation Technologies Internationalpico Technologye-Conn Electronic Co., LtdENE Technology, Inc.Atheros Communications, Inc.Fomtex Corp.Cellink Co., LtdCompucable Corp.ishoni NetworksClarisys, Inc.Central System Research Co., LtdInviso, Inc.Minolta-QMS, Inc.SAFA MEDIA Co., Ltd.telos EDV Systementwicklung GmbHUTStarcomContemporary ControlsAstron Electronics Co., LtdMKNet Corp.Hybrid Networks, Inc.Feng Shin Cable Co., LtdElastic NetworksMaspro Denkoh Corp.Hansol Electronics, Inc.BMF Corp.Array Comm, Inc.OnStream b.v.Hi-Touch Imaging Technologies Co., LtdNALTEC, Inc.coaXmediaHank Connection Industrial Co., LtdNXPLeo Hui Electric Wire & Cable Co., LtdAirSpeak, Inc.Rearden Steel TechnologiesDah Kun Co., LtdPosiflex Technologies, Inc.Sri Cable Technology, LtdTangtop Technology Co., LtdFitcom, inc.MTS Systems Corp.Ascor, Inc.Ta Yun Terminals Industrial Co., LtdFull Der Co., LtdKobil Systems GmbHMaxtorNF Corp.Grape Systems, Inc.Tedas AGCoherent, Inc.Agere Systems Netherland BVEADS Airbus FranceCleware GmbHVolex (Asia) Pte., LtdHMI Co., LtdHolon Corp.ASKA Technologies, Inc.AVLAB Technology, Inc.Solomon Microtech, LtdSMC Networks, Inc.Myacom, LtdCSI, Inc.IVL Technologies, LtdMeilu Electronics (Shenzhen) Co., LtdDarfon Electronics Corp.Fritz Gegauf AGDXG Technology Corp.KMJP Co., LtdTMTAdvanet, Inc.Super Link Electronics Co., LtdNSIMegapower International Corp.And-Or LogicTry Computer Co., LtdHirakawa Hewtech Corp.Winmate Communication, Inc.Hit's Communications, Inc.MFP Korea, Inc.Power Sentry/NewpointJapan Distributor Corp.MARX Datentechnik GmbHWellco Technology Co., LtdTaiwan Line Tek Electronic Co., LtdPhison Electronics Corp.American Computer & Digital ComponentsEssential Reality LLCH.R. Silvine Electronics, Inc.TechnoVisionThink Outside, Inc.Dolby Laboratories Inc.Oz SoftwareKing Jim Co., LtdAscom Telecommunications, LtdC-Media Electronics, Inc.Promotion & Display Technology, LtdGlobal Sun Technology, Inc.Pitney BowesSure-Fire Electrical Corp.Skanhex Technology, Inc.Santa Barbara Instrument GroupMars Semiconductor Corp.Trazer Technologies, Inc.RTX Telecom ASTat Shing Electrical Co.Chee Chen Hi-Technology Co., LtdSanwa Supply, Inc.AvayaPowercom Co., LtdDanger ResearchSuzhou Peter's Precise Industrial Co., LtdLand Instruments International, LtdNippon Electro-Sensory Devices Corp.Polar Electro OYIOGear, Inc.softDSP Co., LtdCubig GroupWestover ScientificMicro Star InternationalWen Te Electronics Co., LtdShian Hwi Plug Parts, Plastic FactoryChung Fu Chen Yeh Enterprise Corp.ELCON SystemtechnikA&D MedicalJiuh Shiuh Precision Industry Co., LtdJess-Link InternationalG7 Solutions (formerly Great Notions)Tamagawa Seiki Co., LtdAthena Smartcard Solutions, Inc.Macpower Peripherals, LtdSDK Co., LtdPrecision Squared Technology Corp.First Cable Line, Inc.NetworkFab Corp.Access SolutionsContek Electronics Co., LtdPower Quotient International Co., LtdMediaQCustom Engineering SPACalifornia Micro DevicesKocom Co., LtdNetac Technology Co., LtdHighSpeed SurfingIntegrated Circuit Solution, Inc.Tamarack, Inc.Datelink Technology Co., LtdUbicom, Inc.BD Consumer HealthcareUTECH Electronic (D.G.) Co., Ltd.NovasonicsLifetime Memory ProductsFull Rise Electronic Co., LtdNET&SYSSitecom Europe B.V.Mobile Action Technology, Inc.Toyo Communication Equipment Co., LtdGeneralTouch Technology Co., LtdNippon Systemware Co., LtdWinbest Technology Co., LtdAmigo Technology Inc.GesytecVMware, Inc.JMTek, LLCWalex Electronic, LtdCrewavePegasus Technologies Ltd.Cowon Systems, Inc.Symbian Ltd.Liou Yuane Enterprise Co., LtdVinChip Systems, Inc.J-Phone East Co., LtdHeartMath LLCMicro Computer Control Corp.3Pea Technologies, Inc.TiePie engineeringStratitec, Inc.Smart Modular Technologies, Inc.Neostar Technology Co., LtdMansella, LtdLine6, Inc.Sun-Riseful Technology Co., Ltd.Julia Corp., LtdShenzhen Bao Hing Electric Wire & Cable Mfr. Co.Radica Games, LtdSpeed Dragon Multimedia, LtdKingston Technology Company, Inc.Active Co., LtdUnion Power Information Industrial Co., LtdBitland Information Technology Co., LtdNeltron Industrial Co., LtdConwise Technology Co., Ltd.Hawking TechnologiesFossil, Inc.Megawin Technology Co., LtdLogic3Tokyo Electronic Industry Co., LtdHsi-Chin Electronics Co., LtdTVS Electronics, LtdArchos, Inc.On-Tech Industry Co., LtdGmate, Inc.Ching Tai Electric Wire & Cable Co., LtdShin An Wire & Cable Co.Well Force Electronic Co., LtdGreenAsia Inc.WiebeTech, LLCVTech Engineering Canada, LtdC's Glory Enterprise Co., LtdeM Technics Co., LtdFuture Technology Co., LtdAplux Communications, LtdFingerworks, Inc.Advanced Analogic Technologies, Inc.Parallel Dice Co., LtdTA HSING Industries, LtdADTEC Corp.Streamzap, Inc.Tamura Corp.Ours Technology, Inc.Nihon Computer Co., LtdMSL Enterprises Corp.CenDyne, Inc.Humax Co., LtdNovaTechWIS Technologies, Inc.Y-S Electronic Co., LtdSaint Technology Corp.Endor AGVWeb Corp.Omega Technology of Taiwan, Inc.LHI Technology (China) Co., LtdAbit Computer Corp.Sweetray Industrial, LtdAxell Co., LtdBallracing Developments, LtdGT Information System Co., LtdInnoVISION Multimedia, LtdTheta Link Corp.Lite-On IT Corp.TaiSol Electronics Co., LtdPhogenix Imaging, LLCWinMaxGroupKyoto Micro Computer Co., LtdWing-Tech Enterprise Co., LtdFiberbyteNoriake Itron Corp.e-MDT Co., LtdShima Seiki Mfg., LtdSarotech Co., LtdAMI Semiconductor, Inc.ComTrue Technology Corp.Sunrich Technology, LtdDigital Stream Technology, Inc.D-WAV Scientific Co., LtdHitachi Cable, LtdAichi Micro Intelligent Corp.I/O Magic Corp.Lynn Products, Inc.DSI DatotechPointChipsYield Microelectronics Corp.SM Tech Co., Ltd (Tulip)Oasis SemiconductorWem Technology, Inc.Visual Frontier Enterprise Co., LtdCSL Wire & Plug (Shen Zhen) Co.CAS Corp.Hori Co., LtdEnergy Full Corp.LD Didactic GmbHMars Engineering Corp.Acetek Technology Co., LtdFinger Lakes InstrumentationOracom Co., LtdOnset Computer Corp.Funai Electric Co., LtdIwill Corp.IOI Technology Corp.Senior Industries, Inc.Leader Tech Manufacturer Co., LtdFlex-P Industries, Snd., Bhd.ViPower, Inc.Geniality Maple Technology Co., LtdPriva Design ServicesJess Technology Co., LtdChrysalis DevelopmentYFC-BonEagle Electric Co., LtdKokuyo Co., LtdNien-Yi Industrial Corp.Airprime, IncorporatedRDC Semiconductor Co., LtdNital Consulting Services, Inc.PolhemusSt. John Technology Co., LtdWorldWide Cable Opto Corp.Microtune, Inc.Freedom ScientificWing Key Electrical Co., LtdDongguan White Horse Cable Factory, LtdKawai Musical Instruments Mfg. Co., LtdAmbiCom, Inc.Prairiecomm, Inc.NewAge International, LLCKey Technology Corp.NTK, LtdVarian, Inc.Acrox Technologies Co., LtdLeapFrog EnterprisesKobe Steel, LtdDionex Corp.Vibren Technologies, Inc.INTELLIGENT SYSTEMSDFIDQ Technology, Inc.NetBotz, Inc.Fluke Corp.VTech Holdings, LtdYazaki Corp.Young Generation International Corp.Uniwill Computer Corp.Kingnet Technology Co., LtdSoma NetworksCviLux Corp.CyberBank Corp.Hyun Won, Inc.Lucent TechnologiesStarconn Electronic Co., LtdATL TechnologySotec Co., LtdEpox Computer Co., LtdLogic Controls, Inc.Winpoint Electronic Corp.Haurtian Wire & Cable Co., LtdInclose Design, Inc.Juan-Chern Industrial Co., LtdHeber LtdWistron Corp.AACom Corp.San Shing Electronics Co., LtdBitwise Systems, Inc.Mitac Internatinal Corp.Plug and Jack Industrial, Inc.Delcom EngineeringDataplus Supplies, Inc.Research In Motion, Ltd.Sony Ericsson Mobile Communications ABDynastream Innovations, Inc.Tulip Computers B.V.Giant Electronics Ltd.Tenovis GmbH & Co., KGDirect Access Technology, Inc.Elgato Systems GmbHMicro PlusOsterhout Design GroupIN-Tech Electronics, LtdGreenconn (U.S.A.), Inc.Kontron (Industrial Computer Source / ICS Advent)DVICOUnited Computer AccessoriesCRS Electronic Co., LtdUMC Electronics Co., LtdAccess Co., LtdXsido Corp.MJ Research, Inc.Core Valley Co., LtdCHI SHING Computer Accessories Co., LtdAopen, Inc.Speed Tech Corp.Ritronics Components (S) Pte., LtdSigma Corp.LG Electronics, Inc.Apacer Technology, Inc.iRiver, Ltd.Emuzed, Inc.AV Chaseway, LtdChou Chin Industrial Co., LtdNetopia, Inc.Fukuda Denshi Co., LtdMobile Media Tech.SDKM Fibres, Wires & Cables BerhadTST-Touchless Sensor Technology AGDensitron Technologies PLCSoftronics Pty., LtdXiamen Hung's Enterprise Co., LtdSpeedy Industrial Supplies, Pte., LtdElitegroup Computer Systems (ECS)LabtecShinko Shoji Co., LtdHyper-PaltekNewly Corp.Time DomainInovys Corp.Atlantic Coast TelesysRamos Technology Co., LtdInfotronic America, Inc.Etoms Electronics Corp.Winic Corp.Comax Technology, Inc.C-One Technology Corp.Nucam Corp.Ideazon, Inc.devolo AGStantoniCreate Technologies Corp.Chu Yuen Enterprise Co., LtdWinbond Electronics Corp. [hex]Targus Group InternationalMylex / BuslogicAMCO TEC International, Inc.Newport CorporationWB ElectronicsYubico.comImmanuel Electronics Co., LtdBMS International Beheer N.V.Complex Micro Interconnection Co., LtdHsin Chen Ent Co., LtdON SemiconductorWestern Digital Technologies, Inc.Giesecke & Devrient GmbHHong Ji Electric Wire & Cable (Dongguan) Co., LtdDelkin Devices, Inc.Valence Semiconductor Design, LtdChin Shong Enterprise Co., LtdEasthome Industrial Co., LtdMotorola Electronics Taiwan, Ltd [hex]CCYU TechnologyLoyal Legend, LtdCuritel Communications, Inc.San Chieh Manufacturing, LtdConectLMoney ControlsGCT Semiconductor, Inc.Arlec Australia, LtdMidoriya Electric Co., LtdKidzMouse, Inc.Shin-Etsukaken Co., LtdCanon Electronics, Inc.Pantech Co., LtdChloride Power ProtectionGrand-tek Technology Co., LtdRobert Bosch GmbHLotes Co., Ltd.Surface Optics Corp.DATASOFT Systems GmbHeSOL Co., LtdHirotech, Inc.Mitsubishi Materials Corp.SK Teletech Co., LtdCables To GoUSI Co., LtdHoneywell, Inc.Princeton Technology Corp.Liebert Corp.Comodo (PLX?)DiBcomTM Technology, Inc.Dinging Technology Co., LtdTMT Technology, Inc.SmartHomeCygnal Integrated Products, Inc.Sanei Electric, Inc.Intec, Inc.EratechGBM Connector Co., LtdKycon, Inc.Velleman Components, Inc.Hottinger Baldwin MeasurementMan Boon Manufactory, LtdUni Class Technology Co., LtdActions Semiconductor Co., LtdAuthenex, Inc.In-Win Development, Inc.Post-Op Video, Inc.CablePlus, LtdNada Electronics, LtdVast Technologies, Inc.Nexio Co., LtdImportekTurtle BeachPictos Technologies, Inc.Anubis Electronics, LtdVirTouch, LtdEasyPass Industrial Co., LtdBrightcom Technologies, LtdMoxa Technologies Co., Ltd.Analog Devices Canada, Ltd (Allied Telesyn)Pandora International Ltd.YM ELECTRIC CO., LtdMedion AGVSO Electric Co., LtdRedRatMaster Hill Electric Wire and Cable Co., LtdCellon International, Inc.Tenx Technology, Inc.Integrated System Solution Corp.Toshiba Corp., Digital Media Equipment [hex]CTS ElectronincsArin Tech Co., LtdMapower Electronics Co., LtdV One Multimedia, Pte., LtdCyberScan Technologies, Inc.Japan Radio CompanyShimane SANYO Electric Co., Ltd.Ever Great Electric Wire and Cable Co., LtdSphairon Access Systems GmbHTinius Olsen Testing Machine Co., Inc.Alpha Imaging Technology Corp.WavecomSalix Technology Co., Ltd.Secugen Corp.DeLorme Publishing, Inc.YUAN High-Tech Development Co., LtdTelson Electronics Co., LtdBantam Interactive TechnologiesSalient Systems Corp.BizConn International Corp.Gigastorage Corp.Silicon 10 Technology Corp.Shengyih Steel Mold Co., LtdSanta Electronic, Inc.JNC, Inc.Venture Corp., LtdCompaq Computer Corp. [hex] (Digital Dream ?)Kyocera Elco Corp.Bloomberg L.P.Acer Communications & MultimediaYou Yang Technology Co., LtdTripaceLoyalty Founder Enterprise Co., LtdYankee Robotics, LLCTechnoimagia Co., LtdStarShine Technology Corp.Sierra Wireless, Inc.ZHAN QI Technology Co., Ltdruwido austria GmbHChipcon ASTechnovas Co., LtdGlobalMedia Group, LLCExito Electronics Co., LtdATECH FLASH TECHNOLOGYInmaxTopfield Co., Ltd.K.I. Technology Co. Ltd.Siemens AGProlificAlcatel (?)TSC Auto ID Technology Co., LtdInterBiometricsHudson Soft Co., LtdMagellanDigiTechJungsoft Co., LtdSKYCABLE ENTERPRISE. CO., LTD.Chipidea-Microelectronica, S.A.Denver ElectronicsNovation EMSBelkinAirVastNyko (Honey Bee)MXI - Memory Experts International, Inc.Apogee Inc.A-DATA Technology Co., Ltd.Covidien Energy-based DevicesPirelli Broadband SolutionsLogic3 / SpectraVideo plcAristocrat TechnologiesBel StewartStrobe Data, Inc.TwinMOSEnsoniqXaxero Marine Software Engineering, Ltd.Starlight Xpresszebris Medical GmbHMarvell Semiconductor, Inc.Qualcomm Flarion Technologies, Inc. / Leadtek Research, Inc.InnomediaBelkin Components [hex]RISO KAGAKU CORP.CyberTAN TechnologyTrendchip Technologies Corp.Honey Bee Electronic International Ltd.Zhejiang Xinya Electronic Technology Co., Ltd.Licensed by Sony Computer Entertainment AmericaAutocue Group LtdHuawei Technologies Co., Ltd.LINE TECH INDUSTRIAL CO., LTD.EMS Dr. Thomas WuenscheBETTER WIRE FACTORY CO., LTD.Waldorf Music GmbHTapwave, Inc.Dynamic System Electronics Corp.Memorex Products, Inc.AIN Comm. Technology Co., LtdFascinating Electronics, Inc.Transcend Information, Inc.RoperICS ElectronicsNatural PointEnvara Inc.Konica MinoltaMobilitySino Lite Technology Corp.Moravian InstrumentsKatsuragawa Electric Co., Ltd.PanJit International Inc.Digby's Bitpile, Inc. DBA D BitP&E Microcomputer SystemsSEGGERSTECSwissbitCNet Technology Inc.Vimtron Electronics Co., Ltd.SCAPS GmbHNetgear, IncValidity Sensors, Inc.Jungo LTDTOMTOM B.V.IdealTEK, Inc.Sennheiser CommunicationsBEHRINGER International GmbHQ-tecBaltechPerkinElmer OptoelectronicsAlesisNippon Dics Co., Ltd.Ricoh Printing Systems, Ltd.JyeTai Precision Industrial Co., Ltd.Wisair Ltd.Techsan Electronics Co., Ltd.A-Max Technology Macao Commercial Offshore Co. Ltd.Shark MultimediaIMC NetworksALEREON, INC.i.Tech Dynamic LimitedKaibo Wire & Cable (Shenzhen) Co., Ltd.RaneTechnoScope Co., Ltd.HengstlerZydacronMosArtInitio CorporationKingston Technology Company Inc.Axxion Group Corp.Bowe Bell & HowellSitronixTelechips, Inc.Nam Tai E&E Products Ltd. or OmniVision Technologies, Inc.ABILITY ENTERPRISE CO., LTD.Vega Technologies Industrial (Austria) Co.Thales E-TransactionsArbiter Systems, Inc.RedOctanePertech Resources, Inc.Wistron NeWebDenali Software, Inc.Altek CorporationDigilentRadio ShackExtending Wire & Cable Co., Ltd.TrustTatung Co.Staccato CommunicationsHuawei-3ComFormosa Industrial Computing, Inc.UpekHama GmbH & Co., KGVaillantElsa AG [hex]SilicomDSP Group, Ltd.EVATRONIX SARalink Technology, Corp.Panstrong Company Ltd.Microtek International Inc.Imagination TechnologiesWideView Technology Inc.CTK CorporationPrintronix Inc.ATP Electronics Inc.StarTech.com Ltd.Rockwell Automation, Inc.Gemlight Computer, LtdZytronicSuper TopJAMER INDUSTRIES CO., LTD.Raritan Computer, Inc.Dialogue Technology Corp.SAIN Information & Communications Co., Ltd.Planex CommunicationsShure Inc.TechniSat Digital GmbHPine-Tum Enterprise Co., Ltd.medMobileActelCompUSACheshire Engineering Corp.Bitwire Corp.ENE Technology IncSilicon PortalsUBIQUAM Co., Ltd.JMicron Technology Corp. / JMicron USA Technology Corp.LG (HLDS)Razer USA, LtdU-Blox AGCelectronic GmbHPNYConnectCounty Holdings BerhadD&M Holdings, Inc. (Denon/Marantz)Prolink Microsystems Corp.OQOSunf Pu Technology Co., LtdQuantum CorporationALLTOP TECHNOLOGY CO., LTD.Ketron SRLTRENDnetFiberlineSMA Technologie AGOakley Inc.JDS Uniphase Corporation (JDSU)Kunshan Guoji Electronics Co., Ltd.Freescale Semiconductor, Inc.Afatech Technologies, Inc.Teams Power LimitedGemtekGearway Electronics (Dong Guan) Co., Ltd.VMware Inc.Olimex Ltd.XL ImagingSoundGraph Inc.Advance Multimedia Internet Technology Inc. (AMIT)Laboratoires MXMKTF TechnologiesD-Box TechnologiesTextech International Ltd.Coulomb Electronics Ltd.Hynix Semiconductor Inc.Seong Ji Industrial Co., Ltd.RSANumarkSohoWarePacific Digital Corp.Belcarra Technologies Corp.HanfTekTascamUmaxInside Out Networks [hex]Amoi ElectronicsL & K Precision Technology Co., Ltd.Wionics ResearchStonestreet One, Inc.Airgo Networks Inc.WiQuest Communications, Inc.Good Way TechnologyCross Match Technologies GmbHSofTec MicrosystemsChipXMatrix Vision GmbHStruck Innovative Systeme GmbHFrontier Design GroupCreatix Polymedia GmbHActiontec Electronics, Inc. [hex]PiKRON Ltd. [hex]China Huada Integrated Circuit Design (Group) Co., Ltd. (CIDC Group)Total PhaseGolden Bridge Electech Inc.Prevo Technologies, Inc.Maxwise Production Enterprise Ltd.Godspeed Computer Corp.DelockZOOM CorporationKingmax Digital Inc.Saab ABAtheros CommunicationsAskey Computer Corp. [hex]Hitachi Video and Information System, Inc.VTec Test, Inc.Shenzhen Zhengerya Cable Co., Ltd.UnigrafGlobal Sun TechnologyDongguan ChingLung Wire & Cable Co., Ltd.iStationPersentec, Inc.VOTIWireless Cables, Inc.silex technology, Inc.GrauTecFrontline Test Equipment, Inc.AnyDATA CorporationJABLOCOM s.r.o.CMOTECH Co., Ltd.Wiener, Plein & BausKing Billion Electronics Co., Ltd.GN ReSound A/SFuturelogic Inc.BlueView Technologies, Inc.ARTIMISwissonicAvneraVitesse SemiconductorAxesstel, Inc.Waltop International Corp.Cellink Technology Co., LtdCANON IMAGING SYSTEM TECHNOLOGIES INC.SenaoGeneral AtomicsASMedia Technology Inc.SyntekGERTEC Telecomunicacoes Ltda.LucidPort Technology, Inc.ASUSTek Computer, Inc. (wrong ID)System Level Solutions, Inc.ArowanaSweexMultiple VendorsSpreadtrum Communications Inc.TopSeed Technology Corp.ATI AIBShenZhen Litkconn Technology Co., Ltd.Printrex, Inc.JALCO CO., LTD.Ricavision International, Inc.Samson Technologies Corp.Concept2Advanced Connection Technology Inc.MICOMSOFT CO., LTD.Grey InnovationSAURIS GmbHSingim International Corp.Native InstrumentsHip Hing Cable & Plug Mfy. Ltd.Sanford L.P.Korea Techtron Co., Ltd.Newnham ResearchCornice, Inc.LenovoK.K. RockyUnicomp, IncAdvantechTwinhanGwo Jinn Industries Co., Ltd.Huizhou Shenghua Industrial Co., Ltd.VIVOphoneVaisalaASRock IncorporationGYROCOM C&C Co., LTDMemory Devices Ltd.ComproTech Technology Industrial CompanyTeridian Semiconductor Corp.Aveo Technology Corp.NavilockAlienware CorporationSiano Mobile SiliconTopseedEvertop Wire Cable Co.CSSNVerbatim, LtdPetalynxe3C TechnologiesMikkon Technology LimitedZotek Electronic Co., Ltd.AMIT Technology, Inc.EcammGoogle Inc.Starline International Group LimitedKabaPlanon System Solutions Inc.Fitipower Integrated Technology IncQcomMatrox Graphics, Inc.Arkmicro Technologies Inc.FineArch Inc.GEMBIRDMotorola GSGAlco Digital Devices LimitedNordic Semiconductor ASANextWindowAvago Technologies, Pte.Shenzhen Xianhe Technology Co., Ltd.Ningbo Broad Telecommunication Co., Ltd.Feature Integration Technology Inc. (Fintek)Dream LinkSensoray Co., Inc.Lab126Hyperstone AGIronkey Inc.Radiient TechnologiesItron Technology iONECASIO HITACHI Mobile Communications Co., Ltd.Wispro Technology Inc.Dane-Elec Corp. USADongguan Guneetal Wire & Cable Co., Ltd.Chipsbrand Microelectronics (HK) Co., Ltd.T-LogicNuconn Technology Corp.Beceem Communications Inc.Acron Precision Industrial Co., Ltd.Trillium Technology Pty. Ltd.The Imaging Source Europe GmbHBenica CorporationBiforst Technology Inc.BodelinS LifeBatronixCelestronB & W GroupInfotech Logistic, LLCData RoboticsMindtribeParrot SAZTE WCDMA Technologies MSMWeiDuan Electronic Accessory (S.Z.) Co., Ltd.Industrial Technology Research InstitutePak Heng Technology (Shenzhen) Co., Ltd.RODE MicrophonesGampaq Co.LtdDynexBellwood International, Inc.USB-IF non-workshopKES Co., Ltd.Amphenol East Asia Ltd.Seagate Branded SolutionsQuanta Microsystems, Inc.Biwin Technology Ltd.TERMINUS TECHNOLOGY INC.Action Electronics Co., Ltd.VASCO Data Security InternationalSilicon ImageSafeBoot International B.V.Abbott Diabetes CareSpansion Inc.SamYoung Electronics Co., LtdGlobal Unichip Corp.Sagem Orga GmbHBayer Health Care LLCLumberg Connect GmbH & Co. KGEvoluentQinHeng ElectronicsDynalith Systems Co., Ltd.SGS Taiwan Ltd.BandRich, Inc.Corsair Voyager GT 16GBLeica Camera AGData Drive Thru, Inc.UBeacon Technologies, Inc.eFortune Technology Corp.Salcomp PlcDesay Wire Co., Ltd.ic-design Reinhard Gottinger GmbHX-TENSIONSHigh Top Precision Electronic Co., Ltd.Conntech Electronic (Suzhou) CorporationMeilhaus Electronic GmBHMStar Semiconductor, Inc.WiLinx Corp.Cellex Power Products, Inc.Current Electronics Inc.NAVIsis Inc.Ugobe Life Forms, Inc.ViXS Systems, Inc.iPassion Technology Inc.Generalplus Technology Inc.Energizer Holdings, Inc.Plastron Precision Co., Ltd.K.S. Terminals Inc.Chao Zhou Kai Yuan Electric Co., Ltd.The Hong Kong Standards and Testing Centre Ltd.ATERGI TECHNOLOGY CO., LTD.Fresco LogicOvislink Corp.Legend Silicon Corp.AfatechDongguan Guanshang Electronics Co., Ltd.ShenMing Electron (Dong Guan) Co., Ltd.Altium Limitede-MOVE Technology Co., Ltd.Amlogic, Inc.MA LABS, Inc.N-TrigYMax Communications Corp.Shenzhen Yuanchuan ElectronicJINQ CHERN ENTERPRISE CO., LTD.Lite Metals & Plastic (Shenzhen) Co., Ltd.Ember CorporationAbilis SystemsChina Telecommunication Technology LabsHarmonix MusicVuzix CorporationT & A Mobile PhonesFord Motor Co.AVIXE Technology (China) Ltd.Contac Cable Industrial LimitedSunplus Innovation Technology Inc.Hangzhou Riyue Electronic Co., Ltd.P-TWO INDUSTRIES, INC.Shenzhen Tongyuan Network-Communication Cables Co., LtdRealVision Inc.Extranet Systems Inc.Orient Semiconductor Electronics, Ltd.TouchPackKreton CorporationQNAP System Inc.Relm WirelessLanterra Industrial Co., Ltd.ALECTRONIC LIMITEDDatel Electronics Ltd.Volkswagen of America, Inc.Goldvish S.A.Fuji Electric Device Technology Co., Ltd.ADDMM LLCZHONGSHAN CHIANG YU ELECTRIC CO., LTD.Shanghai Haiying Electronics Co., Ltd.HuiYang D & S Cable Co., Ltd.LS Cable Ltd.SpringCardAuthorizer Technologies, Inc.NONIN MEDICAL INC.Wep PeripheralsCherng Weei Technology Corp.SiGma MicroPhilips & Lite-ON Digital Solutions CorporationSkydigital Inc.AMTKaetat Industrial Co., Ltd.Datascope Corp.Unigen CorporationLighTuning Technology Inc.LUXSHARE PRECISION INDUSTRY (SHENZHEN) CO., LTD.2N TELEKOMUNIKACE a.s.Somagic, Inc.HONGKONG WEIDIDA ELECTRON LIMITEDASTRON INTERNATIONAL CORP.ALPINE ELECTRONICS, INC.ACCARIO Inc.KinstoneAces Electronic Co., Ltd.OPEX CORPORATIONLuminary Micro Inc.FORTAT SKYMARK INDUSTRIAL COMPANYPlantSenseNextWave Broadband Inc.Bodatong Technology (Shenzhen) Co., Ltd.adp corporationFirecomms Ltd.Antonio Precise Products Manufactory Ltd.Telecommunications Technology Association (TTA)WonTen Technology Co., Ltd.EDIMAX TECHNOLOGY CO., LTD.Amphenol KAEANDES TECHNOLOGY CORPORATIONFlextronics Digital Design Japan, LTD.Solid-MotionNINGBO HENTEK DRAGON ELECTRONICS CO., LTD.TechFaith Wireless Technology LimitedJohnson Controls, Inc. The Automotive Business UnitHAN HUA CABLE & WIRE TECHNOLOGY (J.X.) CO., LTD.ALPHA-SAT TECHNOLOGY LIMITEDC-Thru Music Ltd.Dexatek Technology Ltd.Diostech Co., Ltd.SAMTACK INC.PEGATRON CORPORATIONOpenMoko, Inc.Smartronix, Inc.Linux FoundationQualcomm / OptionPoint Grey Research, Inc.Lumension SecurityINVIAFesto AG & Co. KGCleverscopeTypeMatrixTrekStor GmbH & Co. KGNZXTCoby Electronics CorporationROCCATNuCORE Technology, Inc.AirTies Wireless NetworksONDA COMMUNICATION S.p.a.EADS Deutschland GmbHCal-CompG-Tek Electronics GroupTANDBERGAlere, Inc.StantumDelphin Technology AGNXP SemiconductorsVertex Wireless Co., Ltd.D-Link Corp.Unknown (Pinnacle?)PLANEXHauppaugeTexas InstrumentsBarnes & NobleCandoClay LogicXMOS LtdHanvonQi HardwareSimtec ElectronicsActionStarCreative (?)GW InstekEmotiv Systems Pty. Ltd.Agecodagis SARLSAMWOO EnterpriseRadioShack CorporationKobo Inc.Pie Digital, Inc.Motorola PCSeTurboTouch Technology, Inc.Technology Innovation Holdings, LtdShining Technologies, Inc. [hex]Pumatronix LtdaDigit@lway, Inc.SANHO Digital Electronics Co., Ltd.Tripp-LiteElectronics For Imaging, Inc. [hex]CitizenDigitalWayNHJ, LtdASUSTek Computer Inc.Toptronic Industrial Co., LtdDolphin PeripheralsEagletronWhanam Electronics Co., LtdVidzMedia Pte LtdAEIYakumoMicro StarDIVAInVibroWEMNational Instruments Corp.I-O Datai-rocksUSBest TechnologyUSB Design by ExampleWinChipHeadPanramEMS ProductionMiditechAceecaMemorexSimpleTechGrandtecLinksys (?)Averatec (?)I-TetraOwonTransmeta Corp.UC-Logic Technology Corp.Epiphan Systems Inc.OnSpec Electronic, Inc.Uni-Trend Group LimitedIRTOUCHSYSTEMS Co. Ltd.Acer, IncZinwellBeholder International Ltd.Ingenic Semiconductor Ltd.SitecomTwinHan Technology Co., LtdCoreLogic, Inc.Unknown (Sony?)Prototype product Vendor IDWiseGroup, Ltd.3ComOpera1Yealink Network Technology Co., Ltd.Shanghai Jujo Electronics Co., LtdCME (Central Music Co.)StackFoundry LLCTBS Technologies ChinaEdimax Technology Co., LtdVirtualBoxKeioEGO Systems, Inc.TeVii Technology Ltd.GeoLab, LtdMosChip SemiconductorJ. WesthuesAnMo Electronics Corp. / Dino-Lite (?)AnMo Electronics CorporationAsixKeil Software, Inc.CACE Technologies Inc.UltimarcXorcom Ltd.MakingThingseMPIA Technology, Inc.KWorldHewlett PackardAtten Electronics / Siglent Technologies"S:yAQEjt$˝%˝ޝ䝢-EQfrz̞螢#?Lcџ۟꟢ 5 ? I ` uɠ栢5CPt ơ!ݡ"#$%%D&d'()Ϣ*ܢ+,- .*/50A1X2k3x4P5678ң9=>$?=@KA\BqCEFGJդKLMN O$P7QAR\STUVǥWܥXY"Z6[F]S^h`xacdg֦h䦢jk l(mOn^o|qrst䧢uvw!x:yLzm{{|}~Ũب;ETi{̩%AYn٪ 1IZlFƫЫ櫢2DP\nxҬ䬢,M_iح譢'4Mfrɮ䮢);Vqί䯢 +>UfӰఢ#@\uDZ߱6LUbv*ŲӲ 䲢   $ 4F\p˳۳볢*BRcq ̴!"#$)%:&S'b(h)*+,̵-쵢.%/0162M3[4q567ö8Զ9:;$<D=v>?۟@ACDзE鷢FGHI-J<K[LkMvNOPQRҸS丢TU'V<W^XzYZ[\ǹ]޹^_`,a<bOcjd|eǺf޺ghi(j1k@lNmXncospqrsлtuv@wbxgywz{|}~̼޼ 2Ea|̽⽢!3?RbiѾ쾢 -:Vmп⿢$/B`x۟ .<Yf¢¢4¢P¢i¢x¢¢m¢¢¢¢¢ ââ6âFâYâpââââââĢ(Ģ:ĢRĢgĢ{ĢĢĢĢĢĢĢŢŢŢ%Ţ5ŢGŢXŢoŢŢŢŢŢŢŢƢ*Ƣ9ƢOƢ\ƢrƢƢƢƢƢƢǢ#Ǣ .Ǣ HǢ iǢ tǢ ǢǢǢǢǢ Ȣ%Ȣ<Ȣ\Ȣ|ȢȢȢȢȢȢ ɢɢ -ɢ!<ɢ"fɢ#sɢ$ɢ%ɢ&ɢ'ɢ(ɢ)ʢ*ʢ+,ʢ,Pʢ-tʢ.ʢ/ʢ1ʢ3ʢ4ʢ5ˢ60ˢ8Eˢ9Sˢ:bˢ;<pˢ=ˢ>ˢ?ˢ@ˢA̢B̢D*̢E5̢FO̢GT̢Hi̢I}̢K̢L̢M̢N̢O͢P͢Q#͢R>͢SW͢Ta͢U|͢V͢W͢X͢Y͢Z͢[΢^R_΢`L΢am΢b΢c΢d΢e΢g΢h΢iϢjϢk4ϢmBϢnPϢoqϢpϢrϢsϢtϢuϢvϢw΢xϢ{Ϣ|Т}*Т~7ТSТ`ТТ#ТТТѢѢ0ѢMѢgѢrѢѢѢѢѢѢѢѢҢҢ=ҢCҢTҢhҢpҢҢҢҢҢӢ Ӣ0ӢQӢ[ӢjӢ|ӢӢӢӢӢӢ ԢԢ)Ԣ@ԢPԢnԢvԢԢԢԢԢԢԢԢբ9բDբfբբբբբբբ֢4֢N֢c֢x֢֢֢֢֢֢עע0עRעhעrע%~ע ע ע עעآآ;آSآcآmآ{آآآآآ#٢&$٢)Q٢.W٢/f٢1٢2٢3٢4٢5٢6ڢ8 ڢ:/ڢ;Eڢ<\ڢ=ڢ>ڢEڢFڢGڢHڢIڢJۢK'ۢL<ۢMLۢNZۢUoۢWۢ[ۢcۢdۢeۢfۢgܢhܢi,ܢjHܢkhܢlsܢmܢnܢoܢpܢqܢrݢtݢu4ݢvPݢw_ݢxvݢyݢzݢ{ݢ|ݢ}ݢݢ ޢޢ*ޢ6ޢ;ޢIޢPޢ^ޢrޢޢޢޢޢޢ ߢ ߢ/ߢ>ߢ\ߢdߢkߢqߢߢߢߢߢߢߢߢߢ0>Wu 0@Pn{ !6FVm!4EPiϢ5jIPg ~    !.8APW"h%t&'()-023590:I?a@pADFMNOPQR0S5TGVXXhY|Z\bcdgjln=oPp_qhsvty|}~ $Ui~2;Ni/<a|/HJWdr{ +>Tk{+ ; R c | $ F _ u      ! " # &$ 5% ;' M( Y) s* + / 0 1 2 "3 34 A6 P9 X: f; {< = > ? @ A B C ,D PE [H lK M O Q T U V W X Y 3Z C[ M\ ^] pg ~h n q s t u v w 6x My [z x{ | }   ( H U `   1 < \ |  & C K W o   ? N h p   + 9 W i { dߢ   ( D ` m       ! $" D' d, s4 5 9 : < = ? C F (G DH TK eL M N O P Q R S 5Z R[ p\ z] _ b f g h i k l m -n ?o Fp \q |r } ~   1 < L X  , D f |  6 K S _ h         " * 0 = L d        * B \ c u           $ . > E `  ! " # $ ' !( -, ;0 P3 g7 |8 9 : ; < > A C (G 7H JI YK eM uN P Q R T V W Y ;Z T_ `` {a b c d e i j o $p @q Sr ls u y z { | }   ( A _ u   5 O g v   / L }   . ? O \ h ( M [ f  * D R Y u         ) E N \ k z    " # $ % & +' D. Q5 W6 g7 s8 9 : ; < = > D E F (J GK XL vR S T U V W X Y $Z C^ `` {b c d e f g p (r <t Hv cw ox y z      0 > P V g |           < ] l        ( M h         % 6 I [ w          $ J Z u         & 8 P q {        & 0 A P w  ( 2 3 4 5 : < 6= P> l? y@ A B F I J K L M N O :P MQ ZS qT ~U V W \ ^ _ ` a b 6c Od _e tf g h i j k p q r s ,v Gw Wx mz { | } ~   8 W d x      ( 5 P l ! ! "! 4! D! p! ! ! ! ! ! ! " !" @"  h" " " " " " # ,# M# g# t# # # # # # $ $ 0$ I$ X$ r$ $ $ $ $ $ $ % %% >% \% d% x% % %%% & .&6&C&N&d& l&!&"&#&%&&&0&4'5'66'8I'9\':}';'A'D'H'J'L(U+(VH(Zj([|(\(](^(f )g)j+)oG)pP)rs)u)y){)~))* *?*N*]*{******+4+M+Y+i+v++++++++,&,/,<,`,,,,,,,-'-8-T-j-v-------..8.P.p......../-/A/X/|/ / ///// 0&060K0c0!o0"0#0$0-0.0/10&11?12X17w181=1A1B1D1K1L2M52NE2RX2Sx2T2U2\2]2_3`3a 3b-3cI3h^3in3j{3n3s3|3}3~3333!484T4b4o44444444 5$5C5X5w5555555 6666P6w666666 77-7F7`777777788(8P8\8p88888 8 8 8 9#9:9P9t99999: 6:"=:%S:&`:'l:(x:):*:+:,:-:1:2 ;3!;8-;9;;=E;CM;Dh;F;H;K;L;M;O<P<S<T=<U\<V<W<X<Y<\<]=^0=_T=`s=c=e=j=l=m=n>o>v*>{}B>~W>r>>>>>>> ??2?H?V?e??????????@-@B@L@m@@@@@ @@@ A,AKAZAsAAAAAAAABB)BFB bBBBBBB*B.C/1C0LC1dC2C6C<C=CACBDE/DFDDGhDKDLDMDOD[EbEc,EdHEelEfEgEhEnEoEuF}%F~NINVNmNwNNNNNNNݢNNjO0OVObOOOOOOO P%P;PEPNPUPhPPPPPpPQ) Q*KQ+aQ0wQ1Q5Q6Q<QCQSQVQW_R` RaRb"r.RzcpIspOpkplpspwpxpy qzq{}*U}\}l}Windows Securitymsctls_progress32Unable to create progress bar: %sInstalling Driver...StaticUnable to create progress text: %sGdi32CreateFontAGetStockObjectSetBkModeMS Shell Dlg 2program assertion failed - another operation is in progressunable to create progress_threadprogress timeout expired - KILLING THREAD!could not obtain progress dialog mutex - is another dialog active?wdi_progress_classcan't register class %sUnable to create progress dialog: %sGetMessage errorrun_with_progress_barInstallation can take some time...The installation process can take up to 5 minutes...The reason it can be so long......is because a System Restore point is created.If it's the first time a restore point is created......an extended delay is to expected.Microsoft offers no means of checking progress......so we can't say how long it'll take...Please continue to be patient...There's a 5 minutes timeout enventually......so if there's a problem, the process will abort.I've really seen an installation take 5 minutes......on a Vista 64 machine with a very large disk.So how was your day......before it got ruined by this endless installation?Seriously, what is taking this process so long?!Aborting in 45 seconds...Aborting in 30 seconds...Aborting in 15 seconds...,գPգգգգ֣<֣p֣֣֣֣ ףTףףףףأأ9أprogress_callback  init_childrenPath overflow. %s%c%s...%s%s%c%swintrustCryptCATAdminCalcHashFromFileHandleunable to access %s DLLCryptCATPutMemberInfoCryptCATPutAttrInfocrypt32CryptEncodeObject%02Xunhandled file type: '%s' - ignoringdllsysexe'%s': PE type<<<Obsolete>>>1.3.6.1.4.1.311.2.1.15inf'%s': INF type1.3.6.1.4.1.311.2.1.25unable to encode SPC Image Data: %s1.3.14.3.2.26unable to create cat entry for file '%s': %sFile2:5.1,2:5.2,2:6.0,2:6.1OSAttrunable to create attributes for file '%s': %sadded hash for '%s'could not add hash for '%s' - ignoredlibwdiCertOpenStoreCertSetCertificateContextPropertyCertAddCertificateContextToStoreCertCloseStorefailed to open system store '%s': %scoud not set friendly name: %sfailed to add certificate to system store '%s': %sCertFindCertificateInStoreCertDeleteCertificateFromStoreCertStrToNameAfailed to encode'%s': %sdeleted existing certificate '%s' from '%s' store) (CertCreateCertificateContextCertFreeCertificateContextCertGetNameStringATrustedPublisherunable to open system store: %scould not create context for certificate: %s2.5.4.102.5.4.11Warning: this software is about to install the following organization as a Trusted Publisher on your system: '%s%s%s%s' This will allow this Publisher to run software with elevated privileges, as well as install driver packages, without further security notices. If this is not what you want, you can cancel this operation now.Warning: Trusted Certificate installationoperation cancelled by the usercould not add certificate: %s1.3.6.1.5.5.7.3.3http://libwdi.akeo.ie1.3.6.1.5.5.7.2.1CertCreateSelfSignCertificatecould not setup EKU for code signing: %s2.5.29.37could not setup URL: %s2.5.29.7could not setup CPS: %scould not setup Certificate Policies: %s2.5.29.32set Enhanced Key Usage, URL and CPSlibwdi key containeracquired existing key containercreated new key containercould not obtain a key container: %scould not generate keypair: %sgenerated new keypaircould not encode subject name for self signed cert: %s1.2.840.113549.1.1.5could not create self signed certificate: %screated new self-signed certificate '%s'RootCryptAcquireCertificatePrivateKeyCertAddEncodedCertificateToStoreerror getting CSP: %sfailed to delete private key: %sfailed to update '%s': %smssign32SignerSignExSignerFreeSignerContextsuccessfully created certificate '%s'added certificate '%s' to 'Root' and 'TrustedPublisher' storesunable to convert '%s' to UTF16SignerSignEx failed. hResult #%X, error %ssuccessfully signed file '%s'successfully deleted private key1.3.6.1.4.1.311.2.1.121.3.6.1.4.1.311.2.1.11CryptCATOpenCryptCATCloseCryptCATPersistStoreCryptCATStoreFromHandleCryptCATPutCatAttrInfounable to acquire crypt context for cat creationunable to create file '%s': %sHWID1failed to set HWID1 cat attribute: %sXPX86,XPX64,VistaX86,VistaX64,7X86,7X64OSfailed to set OS cat attribute: %sUnable to get full path for '%s'. unable to sort file: %ssuccessfully created file '%s'CreateCatScanDirAndHashCalcHashAddFileHashSelfSignFileDeletePrivateKeyCreateSelfSignedCertAddCertToTrustedPublisherRemoveCertFromStoreAddCertToStoremingwm10.dll__mingwthr_remove_key_dtor__mingwthr_key_dtordAUnknown error_matherr(): %s in %s(%g, %g) (retval=%g) Argument domain error (DOMAIN)Argument singularity (SIGN)Overflow range error (OVERFLOW)The result is too small to be represented (UNDERFLOW)Total loss of significance (TLOSS)Partial loss of significance (PLOSS)8pMingw-w64 runtime failure: VirtualQuery failed for %d bytes at address %p Unknown pseudo relocation protocol version %d. Unknown pseudo relocation bit size %d. msvcr80.dllmsvcr70.dllmsvcrt.dlllongjmpdd|ddddd$dd$d0dd(d<dd(dTdd8dxddTdddldd d0dJddd|ddddddd d. dF dZ dn d| d d d d d d d d d d d0 dB dZ dh dv d d d d d d d d d" d0 dH d\ dr d d d d d d d d d d6 dH dZ dj d d d d d d d d d d d4 dB d\ dh dx d d d d d d ddd"d<dRdhdtddddddddddddd(d2d>dFdNdXdjdvddddddddddddddddd d(d0d:dDdNdXdbdldvddddddddddddddddd"d2dDdTdtddddddd2dJdZdld~dddddddd dd.dBdPdbdrd~ddddddddddd,d:dFdTdbdvdddddddddd(d6dBdPd^dnd~dddddddddd(d4d>dJd\dnd|ddd0dJddd|ddddddd d. dF dZ dn d| d d d d d d d d d d d0 dB dZ dh dv d d d d d d d d d" d0 dH d\ dr d d d d d d d d d d6 dH dZ dj d d d d d d d d d d d4 dB d\ dh dx d d d d d d ddd"d<dRdhdtddddddddddddd(d2d>dFdNdXdjdvddddddddddddddddd d(d0d:dDdNdXdbdldvddddddddddddddddd"d2dDdTdtddddddd2dJdZdld~dddddddd dd.dBdPdbdrd~ddddddddddd,d:dFdTdbdvdddddddddd(d6dBdPd^dnd~dddddddddd(d4d>dJd\dnd|dddkConvertSidToStringSidAsConvertStringSidToSidACryptAcquireContextWCryptDestroyKeyCryptGenKeyCryptReleaseContext`GetTokenInformation}InitializeSecurityDescriptorOpenProcessTokenuRegQueryValueExASetSecurityDescriptorOwnerCommDlgExtendedError GetOpenFileNameW GetSaveFileNameW.CreateFontAECreateSolidBrushGetDeviceCapsGetTextExtentPointW8SetBkMode\SetTextColorECloseHandlevCreateEventA|CreateFileACreateFileWCreateMutexACreateNamedPipeACreateProcessWDeleteCriticalSectionDeleteFileADeleteFileWEnterCriticalSectionFileTimeToLocalFileTimeFileTimeToSystemTime FindClose+FindFirstFileW7FindNextFileW=FindResourceANFormatMessageAOFormatMessageWSFreeLibraryGetCurrentDirectoryWGetCurrentProcessGetCurrentProcessIdGetCurrentThreadIdGetExitCodeProcessGetFileAttributesAGetFileAttributesWGetFileSizeGetFullPathNameAGetLastErrorGetLocalTimeGetModuleHandleAGetOverlappedResult)GetProcAddressDGetStartupInfoAFGetStdHandle[GetSystemTimeAsFileTimesGetTickCountGetVersionExAInitializeCriticalSectionLeaveCriticalSectionLoadLibraryALoadResourceLocalFreeLockResource,MulDiv-MultiByteToWideCharJOpenThreadgQueryPerformanceCounter}ReadFileSetLastError1SetUnhandledExceptionFilter<SizeofResource=SleepITerminateProcessJTerminateThreadPTlsGetValue]UnhandledExceptionFilter}VirtualProtectVirtualQueryWaitForMultipleObjectsWaitForSingleObjectWideCharToMultiByteWriteFile8__dllonexit;__getmainargs<__initenvE__lconv_initi__set_app_typel__setusermatherrz_acmdln_amsg_exit_beginthread_cexit_endthread_errno_fdopen_fmode=_inittermA_iob_lockE_onexitG_open_osfhandle_snprintf_snwprintf_strdup_stricmp_strlwr_unlock_vsnprintf=_wcslwrz_winmajorabortatoicallocexitfclosefeoffgetsfopenfprintffputcfreefwritegetenv isspace#malloc+memcpy?reallocHsignalKsprintfOsscanfQstrcatSstrchrTstrcmpVstrcpy\strlen]strncat_strncmp`strncpyhstrtokjstrtolkstrtoulvfprintfwcscatwcscpywcslenCoCreateGuid@CoInitializeExiCoTaskMemFreeSetupDiDestroyDeviceInfoListSetupDiEnumDeviceInfoSetupDiGetClassDevsASetupDiGetDeviceRegistryPropertyASetupDiGetDeviceRegistryPropertyW SetupDiOpenDevRegKey@SHBrowseForFolderWDSHCreateDirectoryExWiSHGetPathFromIDListWShellExecuteAShellExecuteExWCallWindowProcA5CheckDlgButton6CheckMenuItem;ClientToScreenPCreateDialogParamAZCreateWindowExA[CreateWindowExWDefWindowProcADeleteMenuDestroyWindowDialogBoxParamADispatchMessageADrawTextExAEnableMenuItemEnableWindowEndDialogEnumChildWindowsGetClassInfoExAGetClientRectGetCursorPosGetDCGetDesktopWindowGetDlgItemGetDlgItemTextAGetDlgItemTextWGetMenu"GetMenuState%GetMessageA0GetParentBGetSubMenuCGetSysColorDGetSysColorBrushVGetWindowLongA\GetWindowRect^GetWindowTextA`GetWindowTextLengthWaGetWindowTextWmInsertMenuItemArInvalidateRectIsDlgButtonCheckedLoadCursorALoadIconALoadImageALoadMenuAMessageBoxAMoveWindowPostMessageAPostMessageWPostQuitMessageRegisterClassExAReleaseDCScreenToClientSendDlgItemMessageASendMessageASendMessageW SetCursorSetDlgItemTextASetDlgItemTextWSetFocus(SetRect3SetTimer9SetWindowLongA>SetWindowTextAIShowWindow[TrackPopupMenuEx`TranslateMessagenUpdateWindowdddddddddddADVAPI32.dlldddCOMDLG32.DLL(d(d(d(d(d(dGDI32.dll<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<d<dKERNEL32.dllPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdPdmsvcrt.dllddddddole32.dllxdxdxdxdxdxdsetupapi.dlldddddSHELL32.DLLdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddUSER32.dll@`@fAdAdA00 UtNHxhUtNj`UtN hUtN 0H`x UtN xUtN UtN UtN UtN UtN UtN UtN UtN UtN:UtN UtN UtNN h8iPUtN (UtN 8UtN HUtNfgUtN XUtN hUtNUtN xUtNUtN IDR_INSTALLSPLIT IDR_MENU1 MAIN_DIALOGDdP5ydd8ddhhd%dd @dhdHddhd dJddvTdhdtd(G?(5חeT27 M75Y?;}ҝ~mekn^Θl`QaDE˝˔kagcebϖiUBkHEϟĎid]ae]Ө~YLnGF˞đn_akkoǔpWFnHCƘyŒkbabhbfb^`x^bÕŔݨ}֟{Ӛqآ|߫٢סݨՠ~ץܭЙv՟yϜxӜ|窊ݨ̜{ќwןw՟yӡӣʓkܠz㨀ӛl̕hԚrמtӚi֠rћtϔnڡrާ{՜oКnР}͚pКpӝvҝtНzߧᩂҝu̗l̓jҢΝsϚpКpɑdܣqߨzњkϛmӞqҚpКqϚr͚qЛtϖjИo͖mɐcȒaĒ•ܢw崔ګҗqۡ~٣ԛu٤ۥڥ٪էڨգҟЙtљtӟwӟ|آ~٤՜zצա{՜pםpәmћpӜuأ~ӝp֞y֠ӝ{Ӡ~ӝr֟sբ֣ӠҜuҝsע֡zԝ{՟tҙhҘmәtԡzКoҚtҝrњmԟqԝl՞pѝtՠw֞r؟t՞oԟq՝oәkڦyӜnԚfБ`⼏ݡᱛا֞}՚w՛qҚq٧ףڦ۩֢بդМy٧تΘtњxїp՞x֟{֝~֡Ԟx֢Ӝ{֠uҝqҝrԟwӝvԞwӗk՞բӠ~ќ}љpՠy֡ӜsҘkӜvӛqӘnӘlӚrќsқlϗiɓh˔iҚpӞvҙn՗iןuբ|ҙq՛o՛jӚh֝l՞p՝nԜs՚pԉ_䷓弌幧⽱ҙuӞ~ԝ~أҙwԜ{ڥ٢ڧ٢{؞vۣ|ՙrުݮіn١{ؙiؙsۣݪ؜tםx٠}؝tڛoڜjڝqڢyךkכm؜nܣۤ؛m؜jםnםmٝuٛn֗c؜lڠoڝnڝp۠rԙg؜lܞlԙf֖fؙf؝lؘgוaܜmڟrלpԘhҘg՜n֟uәo֛mҗi֞ә޳羊߬٪ћ~ԡأܬݰЖlݡ鹢|￑뾜越黄ÙŜ轕缊뻎Ù분뾖쿔Ĕ뽉뻃뾑뾈꾍ɦ•뽋꺇鸅Ŕ’컊̟ᅨsޟiנxؤz՘mטf՛fҚj͘lܳzĞטfӕoӞףޭա֟嬃Ьݴʗrҥ׭ש۬ۮ఑ް㻡㼞߮䶈传廙迟ۮ⯄㳎渗㴎渓渎䷈᱂䴊乘߮涌湕ū廚௃绐ۮⴓ䷔庑库᱇ⴋ䷒鿢䲈ⷕ޳߳ئe۝n՛o՜lԞi՞sГc⻓翔展آҜz֡|۩ݩ|ǝiMqS~]X]Ĉhʼnh͐l͎dΎeҔnӓgҎXԑaܙf؛uؑ\ܙfՒ`ԓjٙsؖiٙkٕaՔjלrזeؖi֓b֓bؖhיj֗hՓg֒YۜjܙfӒiӏZԖf՗kю`җoڝw֒aя_ˍ`Ɗa†\ńZ͆\ݣZٟ}ա}љn՞|ӓbߴ潓ઋҙs՛sԚu㨀ҝӯ_?qJÌhÊaÈ^Ňaƍd͒kҘpҖiԛlԝt՛qמzםvٝlטiטbٝjڞvۣ֝pۛmۙmݟuݤ~ڣ؛kؙjٜp؞tםnיk؝p֚nٟp֜nӖgڟr؜k؝p؜lؖfء|أ}֗dԗfΓd̒hNJ`Ŋb̐gӃFtדnբӚrӕjΏ`ᵇ⺎חe㯉ⵜݲڤﻇ̜lC`5]‡da`Écň_ˍdѕpΒhИpқxԘu֞u؟xךsؚkלm֜n֚q۠yٞl؛iؚqۡ|֝rՙpԙrӗkؚnםt՚pԘo֙p֙k՜rמu֜n֛mםvלv֙h՜nӗo֘jؘgӕcёcΏkȎnĊfNjdӓc8繥rזjԚhԕaԓk侘佔֙iԓlങܭٛ~Ԭ `5oOcċmdċhÌhŎlɑn̒kˏhϕuӜzӚqӗl՛tԝxҖk̑fΑhΒcʏ_ҕgҚpϕkЕl̔n˔pϘuєiԚqԚrҖjӚqԛx՜wҘk֞uաyӚnԙqԛyәnЕeӘlӗmנ~ϙsЕl͑mƍjƑnʐlБjؓUۑZɒf՝mәqԗk伏ƣݤ~ۧӛvҔeݥشڱclJxQtJ{]ѕܛhԡ}֣ԕp഍Üާ٢՟{٦ৄͬR0gEzblcgjPtYϜݥyΙny[fčlĎmƎjΑfӖhӑgԐd֗fӓeזj؟pқqӘpәq՞yҚrϗu͔ryOݥycU@`mc~_cwXe㾖|ޢgԝfؤrک|oUn?4hIuIrSј۝tӛv֡yҚhจŝܣz۪ܭқ{ݤ|ʥ~Q0dErZ|^iJbM}dϜqܟk|ݥtRnGgrŎjΑhЕmӚtԘpѕhӗgՖh֙qӛuїlϔhћsԜvΔm˒nʒfzNЏt}hYA|f}^yZoQtUس̍ݚ`ܠl՚i՞rx󼃛lRoA7iFwϗܝv՜xמvԛjͯۢ|՟{ܬףڝuȣv{G([G^HaGs\nߪߦtҐ[wڥY:^AuQvPzU~ZZZ\|QXa|Yb~[yUyQzU{[xUuMtLd>kE}gpA4TAbOJ0ͧݖXґ`՞lҖcҔh֙mޣjyRBI*˦ŋ۔cӟx֣y֗kŨš٠wܥ۩ԡݠ|丿m7zJdCdC_CaDaI_FcKeJ]8[9^DcK_E_@eJgQ^FdHcKZCaIaF]D`D]?`FbG`E[B_B^BaE^DZAV;U:T6eHvƙ}ৄڧաyբ~ѝ{ڣyѴҳ㭄᫏ڤଉޫڤܧۥルְdtyqknhmovqmjrrlhu}wnknliezoqx›ur}my™|srsooq—slwǛwө溔ާ|؞v٢}ڧբ֢y٣zᫀѲָ㮅ުۥݩڨۨ۩ءݢ嬄뷌캗쾢涕ⱍᯋ஋㰊㮂ᯄᴐ㲊ૃઅ㰈沇{ⱉேެ䳔㳍ݫީz߫{᳌ݩݦߪݧyܦy⯄߭ޭިⱍݪݦz⯉ੁޥwીݨ|ᬍஎާzީ{߬Ⰴܥzأ֤ס|ؠv֠yע}աv١}守նոuޥⰕ۩ڤݧڧܬܧާߪڦܥ~ިܫޭ٢ޫުڤڧڣ~ڪڧآz٣wܥܧڧ~ئؠ~ݨ~ءyסu՞pۧܧԢԡ{٣{೜ڤסxڨڨآ}ۦנwۡzݧؤڧ٤ۦ۫ע{٤~ݩܧآ}֠yڦ~ڦ}ף~֞xڤwءuמrx׺پtૈ௒߫ۨۥ~ۢyܦީۨ٥ܩଆݧ۪ܨۧأ~ۨפإأ۩۩סzנtء{ڣ}ڤ{٤|֡x٤~۩פסxנt٤}ؤ|ԝsڤ{ܩס֢x٢wܦסwןwۣۣwۣuڦڪ֢}֟tުۨڢwݣxۤwءw՞uڤڤy٤x֡z٢z٠t՞i۞k׾軐丛ஊ㫅㭈߯߮ߪ㵜ᯍީ~ⱋⰅⱋ㳓㯈湙߭ޣ}ᮋޫ᪁}㮆୉㳉ᰅᮋᯍݬ߫⭈Ⰷ߮㳎䴋஁|ݧ|அ߬ު߮ݩ㱇蹍ᭀ⬃⯃ૃⱍఊ⮈蹐뾐岄z㱆㳌ޫݮଁ⯅߯⮌᭄ݩtߧrͨà쿞èŧã ¤ƭ뽜쾕œɥԲή縔뾟뽖쿝レɨոʫ꿝꾝켝æà̭Ҵƣ齝§éĠʣҵŤ쿝Ģ뿚쿚ʥǣʬȤâĦžá ġ꽗麕ś̢ġ˴ȫȦǭʭƣɬ̹ʱƬȨӫƢacȞϲäȬǬްүPZֺʫäDZŦⲽP[ȤġĤƭƪ޲O]μƢũǯäʣ帯u}EWȪƣơäšĞťƤŧĠаáĥĨʮƭǰ˰ȯɯƩɳɪ޷ڶX)/RbɰĦäģtH'ԳƫƱĬɦ߬njO5ϪƦɭǯʨݫhgS!8ΧèëéЮݴeeU(>ūϧœşĢŸĞ¡ġǤĢã̷ʹ˷ɱDZȰȰɯɯȬǬɯ׳wRJQ_ȭƯƮĩ軻{^3Av|Ȯũħʫ௡~q\1CԴȱƫȶΰ۫qma5DŨҭǧĦůͮڬpjc8G˴ѩġŨţġĨƩĠĠʰ̮ɳ̸ǭȫɱĨŨȮʮȬɲЮ̘]TyGVȩȳɸȰ̧c9Bu|ɨƤŨɯ軥x^0@Ӳʳɰȭ˪ઠ{l`4FŧҭƤǪǬ̪ᮣwlb6HʰѩġŪƥȭ˶ǫģɧѲŧʰɰŦǫȯȯǨǬȰɲΰءhWm:Jø̯˴ɲƪԲh>?ouǧƫǫʨ港yZ1=ղǨɱʰή縣ta2DҮġ̴ʰ̮䳤t`4EȬѮƨȨȨũʯȩƢã<дֺ̯ʮ˱̲̲ɲ˵̱ǯǯεήݤllBYͬʵ˯ȪܽrNPr}˯ƫȬʫg>KٺȪƩͷж产zf=Kүʩ̵ʴϱൡ~{qGWȭѲȫţȦǪǪƤƣǩ콞ӻϫ˭ǨʱθȮͻ̶̴˵ʱ̫⬻Seطͨɱͱ˩ݻзr|ʫƪǧ˯ģeãɬɯ̰б೷i־ִ̮ɬ̲ҴܬŜmȲӯȥǧǦȥȪǨǨƤ쾒׹̬ͫʯ̵Ͳ̲̳Ϲ϶˳˫ΣwymڻʨίˬӰ߻ךjlΫͶ̴γݰģwXe}~˩̲ˮЬݨϥݼ˨ʮʭҳܳˡnRXڵˤ˭˩ɣɥʫ˨Ĝ̫еѻлнѹϷѿϻйзఎ᳜мϼͻҳnQEJе޿⮑\48Ժع侘ѿҵѾҿҼӸkyȷмͲίͱ϶ʹ̯ͮ(0` +21"5#&:"$=*+>00C--S8*K24R55T:7[<4R==Y??]C7dF4lF6nN9rO;uT>bFBcJJuOBkUJtTDwXE|YC{\Kc\^v[Qz[R|eVY;^FZF_K_J_GY_`IaKfGlTa^h\gUkQlRoZoXqUr]lJqMnPsTrRxU~Wt[uYx[{\|Z]b`elflcdhmdgkpgqdrbrkvm~lynuptw{subvcxe{dwhxi{j~ci~s~p{\pnnecdjhnkrruq}|zruq{zzƆW֒^ċiЎ`Ɛg͑dƐl̓l̘mԙlÍqđs̕s͘tĔzʖzƛ{Ιyӛupءzx{|~ŕ˛Ýԟạ́ˣΪԣڥݨӤ٥ӫܩ߰ƦȠͫƫ٭ڶᭈ䴊ஒ㳑互躒Ⳛ㺙齛éĴٸ˹־佤œƘŶäģɤ«ƪɫɬ˪ҭѭ̲ͲӹѴٵԺ۽᷐nRRRROIO\pRoGE\LPPPP[TTUTYTZ# [U[0q[X[@J[XXsDsUW[ u[KK5KT[UUTTUYZ YXZ*YXY?\qXY sTXc[TT5TKڂ[XU[YYY[YY[bXY9kqXYs[Uc[TTTT5[i[UYTYX[c k][YX[5t[YY iTTc[T====U}i[[[[[[g -s[[cc[Z?uc[[.g[[[% Z@@[@@[έ~}~~~~}~~~~{}~~~~~}{Ѻ~ȧѭ³ͳʍμAde}~~||~~|~|||||||||ڍ̮7ddee~},aa\\a\\\a\\\\l||ez茀ѭ_:de}}~~dN~e}~xیѭ_9d}}dN~ee}xڌ֭[:ds~e`}e}z荋Ѯ_9di}~~h񹸸~~~}eezڌ֭A8gd}}}r~e}~}d@_ddewڍѭ96cc4%4}}}}ev}}ec% '7<֍Ѯ8+1Age|ed}ee}}d#!$:້֭' #%p1썧ѭ% +ϻֺ5&ŷ6ϻ֭@6ZvAe}}e񩃃i[_эֺ@:dddϥg~i񥉉e|ڻ<:d}}}}s}}[=@@@@@?2묬~}}ڍؼ_9g}i}i᧧}}}ڍخ_:g}i쉧}}|ڍغ_9d}s}i짉}ie|ڍغ_+Addi}}c}gddwڍغ"'>AZcddddddddddddddddddddddA@>976غ*/3==999;9==?99=9?T?=@=9??=9?94;⺰⺺½͸Δͪ͹mQͨB(LզBvHիB(MѪBթFչCB\նFչ^яՎՠ̡ 0  C( @/4!#K54O86Z=5\?8mK:dJGnOIqPFxU@{YSx`StbbV=ZC_B^K]PaKeOeNhNcKfHkNiKcPhRc\iPjUkTo_pVqZoOnRtUtSyUr^uXy^yZyXz^y]|]yUzYhdeijkqayftoyjyu|{t`wbvdvdxcyexfza{`cze|f~fwjwhyhzmzi}m~a__w|cbihnmiiokzqqqpqrtwz}xyƇ[NJ^bŠfˎdÌkɍhǑo͓mґbۙgҖlәl؜oqÓq’t̔rʙuǕx͗xǛy˛zЖqӛsٞrҜzڠoϠ}ՠwڡvՠ{٣{ߩzw{ɞʝǡàգڥݪ֦ڦҪܩèɯԫڬ԰سૃ஋Ⰴⱌⴒ幓鼓ᷘ滙꽛ͪƪ˶ĵϷ޺зԺλ꿠›ȟĴƺãâʤêŨƩƬɨȮȬ̮̦ǭ̬ѭ̱Ϻ˱ѼҹвԺؽH@@@@4Z@*]K/fKZ:Z?8_C=dF=kOHvUM^T_D]I`KjOdSfXh]gQlVo^nYrYv[sSuUuVyWqXtYv^tXyY|Yz_zZXrgresjxjs`udxaxgz`xf}fyhymo|j}i{lm|pp^]genomf`effghhklniimkkjhjnlnlsw}zquqx{Ŋeƌgˎcɍe̎eh‹lmŎmȏnϒj̔jʒmΖmёcғeДkњo՚mלoŒq̓rΖqʔwΗtǘuΘtƘzΚ{ɝ}ЖpЗtИqԛp֝sљv֝vЛx֝yԞ~֢zآ{ީ|{~ѡՠפ٤ڦܦݩۨݩ߬٦ު߭ܩ߬ǧĤԭЭԯٲଁ୅୊嶊㲏䲍涐渐溗๙溙徘ͭƳƴͶĶ׶ۼۼDz⾡羢ٟĺ½ȺĤʧƪɬ˫ЯñƳ˱Ž˹̺̼̲ѵԻؽ4%..;UY5[5%T$"Z)+.22+2XF+P''C;t}[&5.*]v}d &]}d dd]}] ]] 0#]Q+Bdddd]W]S]S]T]]zuZhngrVzJzUyr))(0` %`ZjLL Ǩ䰖ye~XQƉ_ẀZPل]T݃\Vچ]TؒhY^A50"$;{hlo_΁^Re[|TDrfx|j֚ne۠scؙlWoNCdOKxe^Wnaު{g_D; vZR~md]_Xo[F32`|[Q_TzVSxTSuTLyTPzWNԣP•wawcwf|ewd~mwaidG8"ա}dxdjtU%Ēexh{f] ylmynwk֟{$eQLϘ{xcwiooJCע{dxivcs^rbq^ƛӽ ͡zvcweygseubwczmkqQ;2'઎vgwmgeOܨzevg|ka{pviwl֡~ xZWʔuscwkitLD%#٦v`teufqZtag[̢|UnwbyhwcyezizhwgsZ>*I27ڦ|muiq~X> 對}mwk~k{W  ~pugzlߪ s[R˖wveydjuL<#۩w_tcubr`tam\|eM؅ذ|gwdveyhr\ymwjtfl?(W=CҜ}r}qtlO>少xfuhfdɝ~crxhܥ~ }_R˓ps`r_ioJ>'!ܦv^saq\q]q]o^kW۲wΦcoijgl{ceÏo;" ~[^đx~gzeeeG:I38Қ{{cyb|ab ͞~ax_w^ԥ f_iy]x`o~ZL1&Μ{y]wZx\v_wWt]oYѪʜ٣}Қs٢ן|أ}қ|بϗrМxΖy٣͙uқtϛz͙sїsљr͕gӗpϖgϙqЖlΙqҘl͚v˔iΗr͙uҜzԞyʓhΙv˖m̕mΕgКpЙl͗l̕l˖n˖o˓hɑh‰_̞ǣަ٩֘t֜s֠~آؤץբН{қuϙtԛu֞|֠ԜsԛuқrҝtԝrԝzԚvҜyԟ~ӛzӝ{ҜqԜtӚsӘiіoӛp͓i͘mҚpҘkԜoԝuԛoӚiԜl՝nӛmӐaÝř徲ЛzҚz֠јx٣ڣ٠zۣ}֛vްמyٛnڟ{ܦ؞w٠{ڛnڜnڡvכmڟrܤٞpמoٝp؜oכjڞnڞo۞oלl؝j֘gٜlٚhܛiڞsՙiіe֝rәlҗkӘ{⾘ʥ֙pК~آإآ컖ஂⵗ㶏㺔嶑潕Ÿ纒帊œ˭깍꿗꾗麌轗꽑™γ齓龖輍龖œœę꿕բw؝pӖgԛgΓd˜ŝ௕Қwנ~ަțnN~Y[Njh̐hΎaҖnӑ^ҔjДmыV͌Z͎gЏbҏ_ΒiϏ^ύ]͋\͎]͎^͎[ѓfӔiԔ`ԗiђd؞uҐ^ˎ`ň`DžZՐjj֝јoӘn⼐œߦ}ۨإ쵃Ǚld:`__Ɖ]ϓnЕiӘsǑny\Fxcu^vhxgu]vhwduct_wetaucuaxeѣךo֘jӘm՗lԔaώaȋg‰cϋYݒ`ޞpӖgҐfşǤ՗mڨ՘uѫ}SlNkeiŎnːk̐mӛw^paύdїqДgіlҜyΓlŊfĎi͐i֌NnӚkіlğʨۢئ֛uХyUkLgmnƏvʓvΕv̙~[m\ˍhϚvљuљrѓn͓nĊcĊgɎhυRjїo՛r̮ϳ֝tԠިuYnNhŠqtsȓuȓvДlˆatbɌe͚|љwϔjИsΔsŌhbčö́Rq֚tєnͰğޥգۢѧyUlPhljďwɕzʖyΔmїo}_Ȝ֧ԩզקէתԧҡˑvΔhϖn֛r՜tГqŌiÈenjgͅTmқvәpĜͰ؟zઑުuPhKleŏpːoϗsјvΘr̔sŌit]ƒ[͑eϑj͕w̔nΛwВkÈ^ċhЖqϖp_qLvR\jÎiLt؜{Ҕp¨ʧ۠{أڠiIgGgnoUnJ5]@ƋbɑkǐpʐjÇ^|dTЗwЗnӞ|ӚuЙzȎiŊegyR=X@2Ĵx{I1qKoEpҝ{՜z㾝˩ܥפםxެdEfHu[^:%E2*ĸĦwQ‹nȍfՖj̋awzRɏlNJgċgʎnȐo̎jU=_NAt?-jDzәtԚoƠе֝x٧֛uV3d>23 G&a@(fB,iF,lH0R.tS4!^C3_B2dD4X:)[;-1sXn֟~֚mؿԻۧۤ٤ᬆܺvB$YCsW}_{bd[^b‡_yK|S|WxQyKxW|UyPyR}VwU|XwVyX{Y[}]d{[vZtXpNlJ_5ө„؛tաxЗlտ־ިܧݨڣ䮈ΪwN8[MfPjQiQjPmPmOpMnPnSkPrZmLkLmUlMqTo\qUnUsYnSlNrYpTnSnPrQlOhMoMɞݤա|ՠzנx׿ᩈڤڨڦأᦁ⮇泖ௐݩ٨ݨ۩ݭڦݨ}ܨ۪ޭئ٤uܫע}ۦآwۨ۩٥۩ۦ~ާۤy٥|߫ۥzۧ}ޫڤ֠}םt֡{՟uߥߢv୐ڤۢۨڣۦ٤~ݦۨڢۧףס~٨֠yנw١~٤}֝xڤz՟v֞uףӝx۩ؠ֠w٤מwםxۢyئ֡|٤}ؤܤ}ءxԜu٣|ף{֞tםpٟm縓ఌ⬇ᮊ߫㴘߫㱈Ⰸ崏輜ߧ୉ં㫂Ⰻ淌Ⰽ୊૆㰉ᯋ緐⯃ި}ை߬ޭ紊崊⮄ᮂଇᯊ崎뽑䯂䱊૆௄ᯄᮉᬃݧqŝȬģƪŤƩ˲¢̤Ӭ߽Բ뽡£Ȧ侞ě¡쿣Ũխ|ǥë˪ɞؾհääǡ⿜ǦŠ¢žĢ콙ʬçǫŭȯȭƨȯ֯zb[gǮ̨h9GʪĬƧȝ`6GƺزŧƭګY]~ĥѮƝeIӼ޾Ũʰ޷nh}~ơʲаϯnFQΫǤŦǨģ¤,Ϋȩ˰ɰ˸˱ʱΫ⾑`n̩˰ַ̩auյĨɪexվǩʯڳ˫ɬҳ⻘݋mϪţǣǨƥà˭ή̴δͲθεдɡӜxγδܹčvQלлZXVϳʹ׳ٱXέ̳ҳӪظ̮̩˫˫Ȥ:Ϻ"̺0θ<δB˶6̴?εGϿC絥yr#՛^踩fŸ`~Oӳ Mླ[YװH8OL`,KӼGϵBħ ֹ5ί0ȫ5˭6ɭ%ϳ2?  ( @ ui|WP#uSM.tQM.tOK0F11/n`ZS:{TMzr.ud|XR/bZ4od"b\$jLLZbFC=S<9 dFE:iKJ0hJG,{VŖu^wfzg{j~frSZ<=őtzfy\X=;Ǒuth`,&ןujȕu$Ț~xfqH2/xk⮀iugram]̦wشs_xgvdwdm^FrRPvykmRO'$lxaq^p\k[oӝ͙opqmqi^LrkjlSk]iacnMHŏl`ʗsW<:ʕvaksOAm^bax[fަ{ע؝xڢ~֥ۧ֞}՝xԜw՟~ןw֛pӛq֝sӚv٠vӝӜvӜu۠wєiқqϖmלm՛lԛqԛn՝m՛nӔ`௑К{עԛyᮕ⭅ᬅⱊ᫁㰉ᬃ㭅|᭄}㰈|ᮃ}{yߨwy}~ךgԚpӗgДkޥљxڣƥcĎm̖sӚrأڝlןy؝qӗm֛oԚm՘jӖh֞sԚlءv۠r٢vۧ٠uϞvљpܷlИqєcڡpڨ빏SyX^ĈaΐgՙrpRڣ}ԔfӔjҔeɊeʼnb؎WۼԔfԕgۢzԜw™pKamÎr˓sқ~_=اϘtϗoЕrƋfËhΉWٮԕg֞rڢwؤ̪mPartɔxЗqpMӣΘuіnԚwȎjgʆZݵؗlԚoۣ|ۦίoJbČȋt̑pҚuϔnr̿Rˊa̎j̓nʉ^ÉfӗoǎezRYÊjŃTٲיqӖlݢw֡ϯcCckPcC0ʼnc͔pЍa}Ƶdž_מwלv՚wГlhNp^R̽W@iAӲךqҕjڤy՟ΞS5O,woV*zR7W7|J*|mlB*wQ:wP:uL6N7+~C+՘k՛oۢ{ڧѬd=*D&Ӱלr؟sݦ~֢ЭkMkM־b={P~XЌ]ԍU~OpȂUɇ]hQ]5ֳٜr٣zᩃ՜ʡmIa~Zh׭bďwɎkӒhДiԗjxNʾʝ~Әu֚sΙvű]ˉY۶؜vܡt㰏ӝǛpMcnkkƑsz\zp}ӝԜwԚwГoNJgŌlЎeدؚlڤzܥ{٣ƚpOcqÍsoǐqnSĻբїsЛxӚuɑplˇWرךo٢zߪۧnAvYkŠoʓsʑsaøեїuӚ|Εsn`{Lرՙr٢tݭڣ੆ͤk;%`CkPoSsMsNmChBgCf9fDf?dBeDcBbAjIiMgHbIY;W8͟w鳂Ҝuأ{⭅ܥ٤ީצ̡ț}ș|șxʜ~ʚz͜xʟɞ~șuɜvΠ˛xϤ͟͡}ѡ{ϟzӦТ{ګۥ՝wԞw߬᱃ܨڣۤܦݧߪܦۤۤڣ}ܣxۣ|ڢzڢyݥx՞uۦנwޥ{ڟuܣzؤިݢw١wנwנx֝pݧvΫ뿜è⹚ɭ뽜뾛꿛Ῡģ꾡Ȣׯ˨鼝ťҨհ꿝Ý֮βá콙šưƭǮǬϳx׺ƫұlyϤmEUūڱoGOŦЮvm̸Φ¡ã̱sƨǪƬƪ̲ԭ|޾ʱ¡hpåگmCPĪ۳~WXȨѱt̷ЫĥǬϸx̪ʬ˲˳˲Ǘ̪صƩ_oƩذɨұȤ˺ӬƣǦÜ$־vҽԺѺԻiju缩إǸаυɘβ|s iыɠVԺϯ-ѱ|ҳzϲ{D(0 ` )Ѣۚi]p`segP|WO|hpYaUpdbHDnpR=:tpxfC31{lj`cX•zΟeufxf|lfMe]qnWsVOnaWA?rǓz9(*tmA+(˗ytdr_xbΛެx_{gxf|htP;neqcN\S{g{`]AAhs:&)ihA++Ősp[qYeRڠ{ٞy٢ؤԞԝyӛw՝vԙoԚnӚs֝wЙuКpڞuΗm̖k֛mҚmїlӛm̌^՞՞੉߭ᯈ㴎Ⰹ趌鴍粆粄粈約鵋沂㰃~䲆䳇|ԗiГeٟ|᫇ƚwwR„]БfєjyZyVz[}]yWyWxVhؗf՘nЏ^]䭃꽑͌^՚v캔lHiÍp͓rcˍfИoЕr‰f͈W͢ϏbԙxƤnNmu̖{ʍbʹ̻ͼϾξ˒m֛rӗqĊfʈ_ϥΎeٜy̳hGËjkO\ӚtZƋdϏh՚s͎e̐m\AvoTvLʢѓm֜{ėO4bE5ƾwH+eB~P0eG\CbJc;%R:ұёe؟Ȧc<+u]ơҕkכxƢlLuU°ξsMƅa֑]ؓ]ełWą]ָqHͤӕmסoLjdgÍoue|vҙx՘pϏh…bώeΤҔh؝xlKŠnÏuÎpg͑kћxԚvmȇZͤѕiڡ泍qMlP~bfeǗv֭ѪӪӫҫҫҫ`ÉlbrS{QДhۢ~ۥ߫~emhgc_f[`bdaibhcڨ֝x֚rߩܧݩ⬄屎䯋ި⫆䯆ިߪ寄ݨܨ沆ߨ|ޫ赋ڥ}ڦ}ٝjƣǬɮ˯ծԸǪທŪʫ˧ЭЮڷͩy ġ϶Ƭƪʰ֯Ҷ㿟ұҩpzٺֲcgұheâƧ,ɬ̴ζʠԶٸճƥھ۳ӰåѱȥǦβ:챣,ص%#̶ $ I!(  @Ժ9p`l__OfZzn]xilo_U|ndYfmahMF`f^`UĪ-ުn\xhfQndq^`X{dtTMxaE>lnPFzgeTѲʯʑoΙ{pƒtmhƑkk˖pcƐkbƏg^§Ԛzڪأ{ު~ݡrܡrݠpܢrvzy浇֗eʲθ䯈]n˖w͒jg͒j͒jg͒jҘp͒jϑf縌ʳл躛|\nl͒j͒jng鹎ɵл깓eJ͒j͒j͒j͒j͒j͒j͒j͒jg͒j帑˶н鹙}hggee͒j͒j͒jg͒jg鹎Ϻ屋|\͒jg͒j͒jg͒j͒j͒jg͒j蹎Ѿ賏|\nĎp͒jҘp͒jg纎ҿۡhohfhfhhhƎhdőlםpᭋ綗綒縗峏䶓浏㲏洐㴏綏嶒峌ߪŪʰڴ̯ãѪ״ղϪG۾ڻ澰ѶƸеuϻnֲR(P@iii?Dummy PopupSInstall DriverTInstall WCID DriverUInstall Filter DriverVExtract Files (Don't Install)&DeviceE&Create New DeviceG&Load Preset Device&OptionsD&List All Devices I&Ignore Hubs or Composite ParentsO&Create a Catalog FileP&Sign Catalog && Install Autogenerated CertificateC&Advanced ModeLog &VerbosityN&ErrorM&WarningL&InfoK&Debug&HelpFOnline &HelpROpen &Certificate ManagerA&About~>IDR_MENU1ZadigMS Shell DlgPq# @B^Install Driver PB^BUTTONInstall DriverPBC1P LX@ L  PZ BUTTONEditP HP.DriverP(,bPA /USB IDP(?PF?Pd?@v>PT WCIDP(R @7R, @(* @&+@+,P,b P, MSCTLS_UPDOWN32P aHP+Y6.STATICjP mePcqP2 Clear LogP2 Save Log P*SP"Q-SYSLINK<a>?</a>Ȁ[About ZadigMicrosoft Sans SerifP fP*rZadig v2.0.0.147P)(Copyright (c) 2010-2011 Pete BatardPH2OKP)MPart of the libwdi project:PyZ SYSLINK<a href="http://libwdi.sf.net">http://libwdi.sf.net</a>XĐ?ZadigMS Shell DlgP'$P&STATICP P# !P,+#Close00 h00 %    h(H t4VS_VERSION_INFOStringFileInfo000904b0BCommentshttp://libwdi.sf.net0CompanyNameakeo.ieLFileDescriptionZadig Application: FileVersion2, 0, 0, 147,InternalNamezadigNLegalCopyrightGNU LGPL v3 or laterx(LegalTrademarkshttp://www.gnu.org/copyleft/lesser.html< OriginalFilenamezadig.exe,ProductNamezadig> ProductVersion2, 0, 0, 147DVarFileInfo$Translation  @kdAa&fA*fA/fAO9gAD iAJiA/LjAf:SpmASmAa[YnAH[@oAGdpA2xrA4zsA |0sA(WinMainCRTStartup9mainCRTStartup__mingw_winmain_hInstance__mingw_winmain_lpCmdLine__mingw_winmain_nShowCmdmingw_pcinit#mingw_pcppinit`_newmode`_dowildcardS__dyn_tls_initF__tlregdtorP_tls_indexb_tls_startt_tls_end__xl_a__xl_z_tls_used__mingw_gMTRemoveKeyDtor__mingw_gMTKeyDtor__mingw_usemthread_dll__dyn_tls_init_callback?__xl_cT__xl_dimingw_initltsdrot_forcemingw_initltsdyn_forcemingw_initltssuo_forceCa&Qmingw_initcharmax_charmax4__mingw_pinitI*]_decode_pointer_encode_pointer?mingw_app_type/}`_fmodeL/mingw_onexitnatexit__onexitbegin__onexitend{4__native_startup_state8__native_startup_lockc__native_dllmain_reason__native_vcclrit_reasonFO9  _gnu_exception_handler __mingw_oldexcpt_handler:GCR__xi_a__xi_z'__xc_a<__xc_zPDH__mingw_raise_matherr__mingw_setusermatherr_matherrJN/_setargv,/L _pei386_runtime_relocator:S{`_fpresetZS___do_global_dtors__do_global_ctors__mainfctMsvcrtLongJmp[YBmainw[j__security_init_cookie__report_gsfailure__security_cookie__security_cookie_complementsd}__CRT_MTkdm___w64_mingwthr_add_key_dtor;___w64_mingwthr_remove_key_dtor__mingw_TLScallbackV]ki__RUNTIME_PSEUDO_RELOC_LIST_END____RUNTIME_PSEUDO_RELOC_LIST__2+l __CTOR_LIST__ __DTOR_LIST__/xf_MINGW_INSTALL_DEBUG_MATHERRMxXp_InterlockedCompareExchangeInterlockedCompareExchange?zW_InterlockedExchange~InterlockedExchange|,snprintfL}uintptr_twchar_tWINBOOLBYTEWORDDWORDLPBYTELONG_PTR!ULONG_PTR2PVOID?CHARKLONG]LPSTRjPLONG}HANDLEULONGLONG_FLOATING_SAVE_AREAFLOATING_SAVE_AREA_CONTEXTCONTEXTPCONTEXT _EXCEPTION_RECORDEXCEPTION_RECORDPEXCEPTION_RECORD4_EXCEPTION_POINTERS_NT_TIBNT_TIBPNT_TIB_IMAGE_DOS_HEADER? IMAGE_DOS_HEADERX PIMAGE_DOS_HEADERx _IMAGE_FILE_HEADERS IMAGE_FILE_HEADERm _IMAGE_DATA_DIRECTORY IMAGE_DATA_DIRECTORY _IMAGE_OPTIONAL_HEADER IMAGE_OPTIONAL_HEADER32 PIMAGE_OPTIONAL_HEADER32& _IMAGE_OPTIONAL_HEADER64 PIMAGE_OPTIONAL_HEADER644_IMAGE_NT_HEADERSPIMAGE_NT_HEADERS32PIMAGE_NT_HEADERSPIMAGE_TLS_CALLBACKHINSTANCE__EHINSTANCE\HMODULEkPTOP_LEVEL_EXCEPTION_FILTERLPTOP_LEVEL_EXCEPTION_FILTER_STARTUPINFOAASTARTUPINFOAVSTARTUPINFOzVARENUM0_invalid_parameter_handler_PVFV_PIFV_startupinfo__enative_startup_state __enative_startup_state_TCHAR}uintptr_tULONGBOOLDWORDLPVOIDcULONG_PTRtPVOIDHANDLEPIMAGE_TLS_CALLBACK_IMAGE_TLS_DIRECTORY32IMAGE_TLS_DIRECTORY32IMAGE_TLS_DIRECTORY_PVFVfMTRemoveKeyDtor+fMTKeyDtor$a&Q VARENUM_PIFV*](VARENUM2/!VARENUM_onexit_t_PVFVR4!VARENUM__enative_startup_state__enative_startup_stateeO9 aBYTEmDWORDULONG_PTRPVOIDLONG_FLOATING_SAVE_AREAFLOATING_SAVE_AREA_CONTEXT CONTEXTPCONTEXT_EXCEPTION_RECORDAEXCEPTION_RECORDZPEXCEPTION_RECORDz_EXCEPTION_POINTERSEXCEPTION_POINTERSPTOP_LEVEL_EXCEPTION_FILTERLPTOP_LEVEL_EXCEPTION_FILTERJVARENUM__p_sig_fn_tGCR_PVFVNDH#VARENUM_iobuf\FILEh_exceptionfUserMathErrJN /L d__gnuc_va_listva_listsize_tptrdiff_tBDWORDULONG_PTRSIZE_TPVOID_MEMORY_BASIC_INFORMATION}MEMORY_BASIC_INFORMATION_iobufNFILEruntime_pseudo_reloc_item_v1runtime_pseudo_reloc_item_v2Bruntime_pseudo_reloc_v2lS~ptrdiff_t.HINSTANCE__THINSTANCEkHMODULEVARENUM&func_ptr>flongjmpI[YBDWORD(CHAR:LPSTRGHINSTANCE__mHINSTANCE[BYTEDWORDUINT_PTRULONG_PTRPVOIDLONG LONGLONGULONGLONG_LARGE_INTEGERLARGE_INTEGER_FLOATING_SAVE_AREAFLOATING_SAVE_AREA_CONTEXTCONTEXT PCONTEXT_EXCEPTION_RECORD3EXCEPTION_RECORDLPEXCEPTION_RECORDl_EXCEPTION_POINTERSEXCEPTION_POINTERS_FILETIMEFILETIME%NTSTATUS`FT)dmWINBOOLWORDDWORD LPVOIDNULONG_PTR_LONGkHANDLEy_LIST_ENTRYLIST_ENTRY_RTL_CRITICAL_SECTION_DEBUGPRTL_CRITICAL_SECTION_DEBUG_RTL_CRITICAL_SECTIONRTL_CRITICAL_SECTIONCRITICAL_SECTION__mingwthr_key_t__mingwthr_keyS+l :ix86_tune_indicesix86_arch_indicesVARENUMv func_ptrxXz8|b__gnuc_va_listva_listsize_tGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/crtexe.c@k@charunsigned intintuintptr_tfwchar_tshort unsigned intlong intlong long int^vlong unsigned intunsigned char _EXCEPTION_RECORDP ExceptionCode #ExceptionFlags # #ExceptionAddress 2# NumberParameters #ExceptionInformation # _CONTEXTContextFlags#Dr0#Dr1#Dr2# Dr3#Dr6#Dr7#FloatSave#SegGs#SegFs#SegEs#SegDs#Edi#Esi#Ebx#Edx#Ecx#Eax#Ebp#Eip#SegCs#EFlags#Esp#SegSs#ExtendedRegisters# WINBOOLev BYTEq WORDr DWORDsfloat LPBYTEwsigned charshort intlong long unsigned int LONG_PTR7 ULONG_PTR8 PVOID CHAR^ LONG? LPSTRW PLONGwK HANDLEULONGLONG(_FLOATING_SAVE_AREAptControlWordu#StatusWordv#TagWordw#ErrorOffsetx# ErrorSelectory#DataOffsetz#DataSelector{#RegisterArea|#Cr0NpxState}#l  fOFLOATING_SAVE_AREA~  fCONTEXTPCONTEXT ! fEXCEPTION_RECORD PEXCEPTION_RECORD ._EXCEPTION_POINTERS- z. #ContextRecord/ #4 FiberData 2Version _NT_TIB RExceptionList s#StackBase 2#StackLimit 2#SubSystemTib 2# #ArbitraryUserPointer 2#Self y#_EXCEPTION_REGISTRATION_RECORDRNT_TIB PNT_TIB _IMAGE_DOS_HEADER@ e_magic#e_cblp#e_cp#e_crlc#e_cparhdr#e_minalloc# e_maxalloc# e_ss#e_sp#e_csum#e_ip#e_cs #e_lfarlc #e_ovno #e_res  #e_oemid #$e_oeminfo#&e_res2/ #(e_lfanewK#< / f ? f IMAGE_DOS_HEADERPIMAGE_DOS_HEADERr _IMAGE_FILE_HEADERlS Machinem#NumberOfSectionsn#TimeDateStampo#PointerToSymbolTablep#NumberOfSymbolsq# SizeOfOptionalHeaderr#Characteristicss#IMAGE_FILE_HEADERtx _IMAGE_DATA_DIRECTORY VirtualAddress#Size#IMAGE_DATA_DIRECTORYm _IMAGE_OPTIONAL_HEADER Magic##F###q# H#b#BaseOfData### #$#(_#*#,M#.#0#2/#4V#8#<M#@#D#F#H#L\#P5#T#X #\ #` fIMAGE_OPTIONAL_HEADER32 PIMAGE_OPTIONAL_HEADER32  _IMAGE_OPTIONAL_HEADER64 Magic##F###q# H#b### #$#(_#*#,M#.#0#2/#4V#8#<M#@#D#F#H#P\#X5#`#h #l #pPIMAGE_OPTIONAL_HEADER64.& _IMAGE_NT_HEADERSSignature#FileHeaderS #OptionalHeader #PIMAGE_NT_HEADERS32 4PIMAGE_NT_HEADERS,PIMAGE_TLS_CALLBACK 22KzHINSTANCE__Eunusedv# HINSTANCEV HMODULEEPTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTERk_STARTUPINFOADAcb#lpReserved]#lpDesktop]#lpTitle]# dwX#dwY#dwXSize#dwYSize#dwXCountChars# dwYCountChars#$dwFillAttribute#(dwFlags#,wShowWindow#0cbReserved2#2lpReserved2#4hStdInput}#8hStdOutput}#<hStdError}#@STARTUPINFOASTARTUPINFOAdoubleVARENUM VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCH VT_ERROR VT_BOOL VT_VARIANT VT_UNKNOWN VT_DECIMALVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOIDVT_HRESULTVT_PTRVT_SAFEARRAYVT_CARRAYVT_USERDEFINEDVT_LPSTRVT_LPWSTRVT_RECORD$VT_INT_PTR%VT_UINT_PTR&VT_FILETIMEVT_BLOBVT_STREAMVT_STORAGEVT_STREAMED_OBJECTVT_STORED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSIDVT_VERSIONED_STREAMVT_BSTR_BLOBVT_VECTOR VT_ARRAYVT_BYREFVT_RESERVEDVT_ILLEGALVT_ILLEGALMASKEDVT_TYPEMASKv long double. _invalid_parameter_handlerRXxxxxf}~ _PVFV( _PIFV newmodev# _startupinfoY __uninitialized__initializing__initializedY_TCHAR ^check_managed_app@v pDOSHeaderBX pPEHeaderC pNTHeader32D pNTHeader64E _TEB!NtCurrentTebB retD"__mingw_prepare_except_for_msvcr80_and_higher fIPH- hmsv\0-0"duplicate_ppstrings#acv#av avlj iv nj$ lvj%__mingw_invalidParameterHandler@@/&expressionx&functionx&filex&linef &pReserved}'pre_cpp_init@T@8(pre_c_initkv`@p@p)&a@m* +F+Y+k+(__tmainCRTStartupvp@#@,lpszCommandLine-StartupInfoV,inDoubleQuote͊G*@,lock_free,fiberid,nestedv.@@u/@@0B1@`*0U023[@@&3\3Q/[@@0g0sE0}d*04WinMainCRTStartupv0@K@95retv4mainCRTStartupvP@k@n5retv6 Lv6{6mv6"nv6v6?{j67 6 86%? 6,9_fmode/v :9__xi_a8 9__xi_z9  B:9__xc_a:79__xc_z;76'>o6:@6AA6+Cv6mEE6F6G-argcIv-argvOj-envpPj -argretSv-mainretTv-managedappUv-has_cctorVv-startinfoW6X6hv;n:v;;v;<v;=v6 Lv6{62v6"nv6v6?{j66 6%? 609_fmode/v9__xi_a8 9__xi_z9 9__xc_a:79__xc_z;76'>o6:@6AA6+CvinitializedLw8 F TZ> GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/crt0_c.cnA8oAcharunsigned intintshort unsigned intlong intlong long int^long unsigned intunsigned charDWORDsfloatsigned charshort intlong long unsigned intCHAR^(LPSTR4HINSTANCE__munusedv#HINSTANCE~Gdouble long doublemainvnA8oA0flagsvqcmdlineqinstq ~ m  : e  ~ m  : e  GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/gs_support.c@oApAcharunsigned intintshort unsigned intlong intlong long intlong unsigned intunsigned chardoublefloat long double_EXCEPTION_RECORDP ExceptionCode #ExceptionFlags # #ExceptionAddress # NumberParameters #ExceptionInformation ##_CONTEXTContextFlags#Dr0#Dr1#Dr2# Dr3#Dr6#Dr7#FloatSave#SegGs#SegFs#SegEs#SegDs#Edi#Esi#Ebx#Edx#Ecx#Eax#Ebp#Eip#SegCs#EFlags#Esp#SegSs#ExtendedRegisters# BYTEq DWORDssigned charshort intlong long unsigned int UINT_PTR6j ULONG_PTR8 PVOID LONG LONGLONG' ULONGLONG( 2ZLowPart3#4# 6LowPart7#8# _LARGE_INTEGER1 .u9ZQuadPart:  LARGE_INTEGER;_FLOATING_SAVE_AREAptControlWordu#StatusWordv#TagWordw#ErrorOffsetx# ErrorSelectory#DataOffsetz#DataSelector{#RegisterArea|#Cr0NpxState}#ljO FLOATING_SAVE_AREA~j CONTEXT PCONTEXT3j EXCEPTION_RECORD  PEXCEPTION_RECORD f3_EXCEPTION_POINTERS- . L#ContextRecord/ # EXCEPTION_POINTERS0 l_FILETIMEdwLowDateTime#dwHighDateTime# FILETIME NTSTATUS`ft_scalar!ft_struct" FT#5__security_init_cookie2@oApAycookie4systime5`Xperfctr6P__report_gsfailuregpApATStackCookiegcookiei-h-jGS_ExceptionRecord%3GS_ContextRecord&GS_ExceptionPointers(,-,tA-xAyGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/tlsmcrt.cpApAS_CRT_MT upAinti+GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/tlsthrd.cpArAcharunsigned intintshort unsigned intlong intlong long intlong unsigned intunsigned charWINBOOLewWORDr~DWORDsfloatLPVOIDsigned charshort intlong long unsigned intULONG_PTR8LONGHANDLE_LIST_ENTRYFlink#Blink#yLIST_ENTRYy_RTL_CRITICAL_SECTION_DEBUG qTyper#CreatorBackTraceIndexs#CriticalSectiont~#ProcessLocksListu#EntryCountv#ContentionCountw#Flagsx#CreatorBackTraceIndexHighy#SpareWORDz#_RTL_CRITICAL_SECTION~DebugInfo#LockCount_#RecursionCount_#OwningThreadk# LockSemaphorek#SpinCountN#PRTL_CRITICAL_SECTION_DEBUG{RTL_CRITICAL_SECTIONCRITICAL_SECTIONƮdouble long double__mingwthr_key_t __mingwthr_key X key # dtor!d# next"j# d Xp __mingwthr_run_key_dtorsbpAqAkeypdjpApAvaluel ___w64_mingwthr_add_key_dtor)w qAqA5key)dtor)dnew_key+5____w64_mingwthr_remove_key_dtor@wqA4rA}key@prev_keyBjcur_keyCj__mingw_TLScallbacky@rArAhhDllHandleykreasonzreserved{ __mingwthr_cs$__mingwthr_cs_initL wkey_dtor_list&j<)GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/pseudo-reloc-list.crArA"__RUNTIME_PSEUDO_RELOC_LIST_END__@char__RUNTIME_PSEUDO_RELOC_LIST__A WGNU C 4.5.2../../../../../src/gcc-4.5.2/libgcc/../gcc/libgcc2.cc:\crossdev\build\gcc-tdm64\x86_64-w64-mingw32\32\libgccrArAintunsigned intshort unsigned intcharlong intlong long intlong unsigned intunsigned chardoublefloat long doubleshort intix86_tune_indicesX86_TUNE_USE_LEAVEX86_TUNE_PUSH_MEMORYX86_TUNE_ZERO_EXTEND_WITH_ANDX86_TUNE_UNROLL_STRLENX86_TUNE_DEEP_BRANCH_PREDICTIONX86_TUNE_BRANCH_PREDICTION_HINTSX86_TUNE_DOUBLE_WITH_ADDX86_TUNE_USE_SAHFX86_TUNE_MOVXX86_TUNE_PARTIAL_REG_STALL X86_TUNE_PARTIAL_FLAG_REG_STALL X86_TUNE_USE_HIMODE_FIOP X86_TUNE_USE_SIMODE_FIOP X86_TUNE_USE_MOV0 X86_TUNE_USE_CLTDX86_TUNE_USE_XCHGBX86_TUNE_SPLIT_LONG_MOVESX86_TUNE_READ_MODIFY_WRITEX86_TUNE_READ_MODIFYX86_TUNE_PROMOTE_QIMODEX86_TUNE_FAST_PREFIXX86_TUNE_SINGLE_STRINGOPX86_TUNE_QIMODE_MATHX86_TUNE_HIMODE_MATHX86_TUNE_PROMOTE_QI_REGSX86_TUNE_PROMOTE_HI_REGSX86_TUNE_ADD_ESP_4X86_TUNE_ADD_ESP_8X86_TUNE_SUB_ESP_4X86_TUNE_SUB_ESP_8X86_TUNE_INTEGER_DFMODE_MOVESX86_TUNE_PARTIAL_REG_DEPENDENCYX86_TUNE_SSE_PARTIAL_REG_DEPENDENCY X86_TUNE_SSE_UNALIGNED_MOVE_OPTIMAL!X86_TUNE_SSE_SPLIT_REGS"X86_TUNE_SSE_TYPELESS_STORES#X86_TUNE_SSE_LOAD0_BY_PXOR$X86_TUNE_MEMORY_MISMATCH_STALL%X86_TUNE_PROLOGUE_USING_MOVE&X86_TUNE_EPILOGUE_USING_MOVE'X86_TUNE_SHIFT1(X86_TUNE_USE_FFREEP)X86_TUNE_INTER_UNIT_MOVES*X86_TUNE_INTER_UNIT_CONVERSIONS+X86_TUNE_FOUR_JUMP_LIMIT,X86_TUNE_SCHEDULE-X86_TUNE_USE_BT.X86_TUNE_USE_INCDEC/X86_TUNE_PAD_RETURNS0X86_TUNE_EXT_80387_CONSTANTS1X86_TUNE_SHORTEN_X87_SSE2X86_TUNE_AVOID_VECTOR_DECODE3X86_TUNE_PROMOTE_HIMODE_IMUL4X86_TUNE_SLOW_IMUL_IMM32_MEM5X86_TUNE_SLOW_IMUL_IMM86X86_TUNE_MOVE_M1_VIA_OR7X86_TUNE_NOT_UNPAIRABLE8X86_TUNE_NOT_VECTORMODE9X86_TUNE_USE_VECTOR_FP_CONVERTS:X86_TUNE_USE_VECTOR_CONVERTS;X86_TUNE_FUSE_CMP_AND_BRANCH<X86_TUNE_OPT_AGU=X86_TUNE_LAST>ix86_arch_indicescX86_ARCH_CMOVEX86_ARCH_CMPXCHGX86_ARCH_CMPXCHG8BX86_ARCH_XADDX86_ARCH_BSWAPX86_ARCH_LASTsigned charlong long unsigned intVARENUM  VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCH VT_ERROR VT_BOOL VT_VARIANT VT_UNKNOWN VT_DECIMALVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOIDVT_HRESULTVT_PTRVT_SAFEARRAYVT_CARRAYVT_USERDEFINEDVT_LPSTRVT_LPWSTRVT_RECORD$VT_INT_PTR%VT_UINT_PTR&VT_FILETIMEVT_BLOBVT_STREAMVT_STORAGEVT_STREAMED_OBJECTVT_STORED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSIDVT_VERSIONED_STREAMVT_BSTR_BLOBVT_VECTOR VT_ARRAYVT_BYREFVT_RESERVEDVT_ILLEGALVT_ILLEGALMASKEDVT_TYPEMASKcomplex floatcomplex doublecomplex long double__float128 __unknown__func_ptr+   v  __CTOR_LIST__ tA __DTOR_LIST__ tAGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/misc/mingw_matherr.crArAk_MINGW_INSTALL_DEBUG_MATHERRDintT GNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/intrincs/ilockcxch.crAsAcharunsigned intintshort unsigned intlong intlong long intlong unsigned intunsigned chardoublefloat long doubleshort int_InterlockedCompareExchangee eprevk rArA 7 B M XP InterlockedCompareExchange InterlockedCompareExchange@12rAsA  e     rAsA M B 7rAsA XPGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/intrincs/ilockexch.csA0sAcharunsigned intintshort unsigned intlong intlong long intlong unsigned intunsigned chardoublefloat long doubleshort int_InterlockedExchangeLTargetLValueR sAsA4~0 >l InterlockedExchangeInterlockedExchange@8 sA0sA TargetL Value &sA,sA >0qGNU C 4.5.2c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/stdio/snprintf.c0sAXsA__gnuc_va_list(x__builtin_va_listcharva_listfbsize_ttunsigned intintshort unsigned intlong intlong long intlong unsigned intunsigned charsnprintf-0sAXsAbuffer n format  retval P argptr  % $ > : ;I I : ; : ;I8  : ;I8   : ; : ; I I !I/ !I/ : ; : ;I I8 < ' I' I : ;  : ; I8  : ; ( ' I' &I : ;  : ; : ; I.: ;' I  4: ;I!.? : ;' I ".: ;' #: ;I$ %.: ;' @&: ;I '.: ; ' @(.: ; ' I@)1RUX Y * U+41,4: ; I-4: ; I .1X Y / 04111RUX Y21X Y314.? : ; ' I@54: ; I 64: ; I? < 75I8594: ; I? < :!;4: ;I? < <4: ; I?  =4: ; I?  % 4: ; I?  $ > % 4: ; I?  $ > % $ > : ;I : ; I I' I  : ; : ;I8 ' ' I .: ; ' I@: ; I .? : ; @' I@4: ; I.? : ; ' I@: ; I 4: ;I? < 4: ; I? < 4: ; I? < 4: ; I 4: ; I?  4: ; I?  &I% $ >  : ; (  I' I: ; I.: ; ' I@ 4: ; I?  % $ >   : ; ( .? : ; ' I@: ; I 4: ; I?  % 4: ; I?  $ > % $ >  : ; ( : ; I I' I' .? : ; ' I@ : ; I 4: ; I 4: ; I .? : ;' I@4: ; I? < ' II4: ; I?  % $ >  : ; (  : ; : ; I4: ; I?  5I  I 5% $ >  I : ; : ;I8  : ;I8   : ; : ; I I !I/ : ;I !I/' II : ; ( ' .? : ; @' I@: ; I 4: ; I .? : ;I< 4: ; I? < 4: ; I?  % $ > : ; I I' I!I/ 4: ; I?  % $ >  I : ; (  : ;  : ; I8 : ; I &I ' I I .? : ; ' @ : ; I 4: ; I .? : ; ' I@4: ; II!4: ; I? < % $ > .? : ; ' I@% : ; I I$ > : ;I I &  : ; : ;I8  : ;  : ; I8  : ; .: ; ' : ; I4: ; I 4: ;I.: ; ' @: ; I 4: ; I &I: ; I4: ; I.? : ;' @4: ;I 1RUX Y U411 !I"!#4: ; I? < % .? : ; ' @% $ > : ;I I : ;  : ; I8 : ; I : ;  ( ' '  I .? : ; ' @4: ; I 4: ; I.? : ; ' @I!4: ; I? < 4: ; I?  % $ >  I: ; I : ;  : ; I8 .? : ; ' I@: ; I 4: ; I? < % $ >  I : ; : ;I8  : ;I8   : ; : ; I : ;I  : ;  : ; I : ;II!I/ !I/ : ;  : ; I.? : ; ' @4: ; I4: ; I : ; I 5I&I4: ; I? < 4: ; I?  % 4: ; I?  $ > % $ >  : ; I : ; : ;I8  I: ;I  : ;  : ; I8 '  I 5I.: ; ' @4: ; I .? : ; ' I@: ; I 4: ; I % 4: ; I?  $ > % $ >  : ; (  : ;: ; I I' I !I/ 4: ;I?  % 4: ; I?  $ > % $ > .? : ; ' I : ; I4: ; I I5I.1@ 1 41 .? : ; @' I@ : ; I 1X Y  % $ > .? : ; ' I : ; I I5I.1@1 1 .? : ; @' I@ : ; I 1X Y % : ; I I$ > : ;I I.? : ;' I@: ; I  4: ; I 4: ; I &I c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includec:/crossdev/src/mingw-w64-svn/mingw-w64-crt/includec:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_inccrtexe.cwinnt.h_mingw.hwindef.hbasetsd.hwinbase.hstdlib.hinternal.htchar.hctype.h_varenum.h@A}g]o][ ~.Xz~.eYKdzZlJggjW <y~$*2T@8jPu7? sfvf>x uX .Π܅Y~f =K~ZX.0. u< <;YV;d?8@f_؀ZiS] @+g^~J f^ f^WQ c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt_newmode.cWQ c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtwildcard.co c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includetlssup.c_mingw.hwindef.hbasetsd.hwinnt.hstdlib.hdAfBZaAXWJ-YhuW=d>,Zf sm䟠eXxYg*{`֟(J i.., c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_incc:/crossdev/src/mingw-w64-svn/mingw-w64-crt/includecharmax.c_varenum.hinternal.hfAgY c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_incmingw_helpers.c_varenum.hfA>>WQ c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtxtxtmode.c c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includec:/crossdev/src/mingw-w64-svn/mingw-w64-crt/includec:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_incatonexit.cstdlib.hinternal.h_varenum.hfA!ySA:>0:>LsYZu u< .gY c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_incc:/crossdev/src/mingw-w64-svn/mingw-w64-crt/includenatstart.c_varenum.hinternal.h~ c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includec:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_inccrt_handler.cwinnt.hwindef.hbasetsd.hwinbase.hsignal.h_varenum.hgA <- ]=MJ>dX=_M0=_JmftW WQ c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtcinitexe.c c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/src/mingw-w64-svn/mingw-w64-crt/includec:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includec:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_incmerr.cinternal.hmath.hstdio.h_varenum.h iAhVh>==8=jgf=Z#UX?8hP c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtdllargv.ciA",0 c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includepseudo-reloc.cvadefs.h_mingw.hwindef.hbasetsd.hwinnt.hstdio.hjAt>.j*2.q#xY>=sJhVP~Ȧ<~.c<X/t>V/F@=yt~ i >rJ])<x2U c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includec:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/psdk_incgccmain.c_mingw.hwindef.h_varenum.hmAi/?cO?jci J]Lr]utL.r!-Y6y-g/-g/ɝfg+ c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includecrt0_c.cwindef.hwinnt.hnAY':>> c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includegs_support.cwinnt.hwindef.hbasetsd.h@oA2kSU0 .` Xdt;=7Dy?==0@/ChYFYtf= s XYBzt\VP c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crttlsmcrt.cq c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includetlsthrd.cwindef.hbasetsd.hwinnt.hwinbase.hpArd>hKx< Jfw.rXZWM?q/hhYe:A-=xT@JicAL s<Juthu *tf=\rtYwXn`Z c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crtpseudo-reloc-list.c ../../../../../src/gcc-4.5.2/libgcc/../gcc/config/i386c:/mingw64tdm/x86_64-w64-mingw32/include/psdk_inc../../../../../src/gcc-4.5.2/libgcc/../gcci386.h_varenum.hlibgcc2.cgbl-ctors.h]W c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/miscmingw_matherr.c c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/intrincsc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includeilockcxch.cintrin.hrA>x<  c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/intrincsc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includeilockexch.cintrin.hsA<=kP<u< fF- c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/stdioc:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/includec:/crossdev/gcc-stage-tdm64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/includesnprintf.cstdarg.h_mingw.hstdio.h0sA j=| @AB A @DAB @  `@AD  A ,p@AD Q AAA A 0@AB S P@AB S | $dA?AB U H \ LdAAB E| AA J  AA C ] AA C j AA C pfAAD A | fAAB I | fAAB D fAAB D | ,fAAB D A A QA `gAAB O | LgAAB EO AA G i AA E  AA C A AA I |  iAHAB D piAAB L iA[AG R | XiAAD A | jARAB DH`jAAB HEEO AA F AC  AA 8kAAB QO AA y AA | DpmAAB C | xmA\AB X (xmAAB Eu AA A $xnA!AB M A K | $nAHD GuCu|r G | 8<@oAAB Qg AD r AA <pAAB | 8pAAB FM AAA G ]AAA   qAsAB DO A ,qAAB DR G G A (@rAAB ] A H G | trAAB N trAAB N | sAAB J  sAAB J | 0sA(AB d mingw_initcharmax__globallocalestatus__dyn_tls_init_callback_imp___acmdlnCheckSumSizeOfImageBaseOfCode__mingw_winmain_hInstanceMinorSubsystemVersionDataDirectorySizeOfStackCommitImageBase_imp____initenvmingw_initltsdyn_forceSizeOfCodeMajorLinkerVersion__native_startup_lock_newmodemingw_app_type__onexitbeginAddressOfEntryPointSizeOfHeapReservemingw_initltsdrot_force__mingw_oldexcpt_handler_image_base__SizeOfInitializedData_imp___commode__mingw_winmain_nShowCmdSizeOfStackReserve__mingw_winmain_lpCmdLine_MINGW_INSTALL_DEBUG_MATHERRSizeOfHeapCommitMinorLinkerVersion__enative_startup_stateSizeOfUninitializedDataSubsystemMajorSubsystemVersion__native_startup_stateDllCharacteristicsSizeOfHeadersMajorOperatingSystemVersionFileAlignmentNumberOfRvaAndSizesExceptionRecordWin32VersionValue__onexitendMinorImageVersionMinorOperatingSystemVersion_imp___fmodeLoaderFlags_dowildcardMajorImageVersionmingw_initltssuo_forceSectionAlignment_imp___winmajorlpreserved_tls_index__mingw_usemthread_dll__mingw_gMTKeyDtorhDllHandle__mingw_gMTRemoveKeyDtor_tls_startdwReason_tls_end__onexitend_imp___onexit__onexitbegin__enative_startup_state__mingw_oldexcpt_handlerExceptionRecord_imp___iob_image_base___imp___iob__RUNTIME_PSEUDO_RELOC_LIST_END____RUNTIME_PSEUDO_RELOC_LIST____CTOR_LIST____DTOR_LIST__fctMsvcrtLongJmp__mingw_winmain_nShowCmd__mingw_winmain_hInstance__mingw_winmain_lpCmdLine__security_cookie__security_cookie_complementHighPartExceptionRecordExChangeComperandDestinationttutttSuSTt`ataeteutpupqtqutu0u01t1#up0PP#P#APASHp0QQQs1'SQ100P(P16Pp*S1;S*0*S1;0;SSP0P0PPP PP[1#[ii1#v~~/W#Wv~0SvxPx1#V01t13t3FuFKtPQtQStSfufktttu t <u<?t@AtACtCutu t ututuSs|SSSttuttt u tttutttutttututNhcfPfSPttutttYuY`t`ututu t u6PPPP8P>XPgPQ0QWSW\P\0SP0SP909> >Y0Y^ ^0"0"QV\u0^0gVttGuGHtPQtQStS_u_dtpqtqxtxutRttutttRu`atactcuttutteueftfgtgu`yPy|SPSZSgS`yRyVRV]VgV`yQyWQW`WgW=g\ttuttut t fuVW\XV\P P 9PfPPP2SP/=SLqSS S VSS sx S Xttuttt[u[\t`atactcut1uxSSS1S}SsS@AtACtCPuPQtQ\u\attq@u|@Gq|GHt|#tt;u;<t<@t@uttuRUXU]\X']`Lw'WWtAWttGuttu t ut3@<@eSe}SPQPQiVttutuPStt)u)0t0wuwxtxuFR0RZRZaRx~R0FR<RZPZ]R]aPxPRttutu t 2uttut !t!#t#1u14ttt u t  Pttu t Ptt'u'(t P%t %( acphacph)#1 f f .file1gcrtexe.c  _envp _argv_argc_argret` p _mainret0  P .textka.data.bss  + 7.rdataCCMW do  P  .file;gcrtbegin.c.textp.data.bss  .filergzadig.cp 0    `      3 D S d`uP    L      ! ,% ?& O- \- jP. u3 P>  B /CVHuP_ .textp_a.data.bss .rdataDL.filegzadig_stdlg.cd @e g j n 1o _file_ioq Dv Q d s  @  #@ .textd=) .data.bss.rdatad.filegprofile.c4 I@ \ o y0 Џ   P @  0 #P < S@ r      \_conf_no0 0 .textG.data.bss.rdata @,.fileglibwdi.cP /`_free_di CP N]k {$p  _get_sid J``   :`_timeout)+ )8  Q "`e v    `   `   ` P  @ + A [ `h $`|   `     * 0  `   `1 M ` d `x ` ` `    ` 0  `.textPc.datae( .bss .rdata``.fileglogging.c  & H*8 D*J ` p p @* ( $ `_wdi_logP   0   `   `    `'  .textg.data@* .bss  .rdata@`.file&gvid_data.c<  S a.text>.dataL*.bss,.rdata` 6 .fileHglibwdi_dlg.c_  p 4 0 T* P* `    0  D@!`(b3X*B(bV8b<s(b,\*H(b L*%b.text .dataL*.bss, .rdata #b.filefgpki.c  `5b.5bB5bV& fN6bz) :6b-  6b3  6b> 5b"B 05bDH O5b.text5/.data`*.bss`.rdata)b] .filergtokenizer.ccO pP S .textO .data`*.bss.filegfakehname8fthunk.textT.data`*.bss.idata$2x.idata$48.idata$5.filegfake.textT.data`*.bss.idata$4P.idata$5.idata$7x .filegfakehname(fthunk.textT.data`*.bss.idata$2d.idata$4(.idata$5.filegfake.textT.data`*.bss.idata$44.idata$5.idata$7T .fileg_newmode.c.textT.data`*.bss .+ 7[o .filegwildcard.c.textT.data`*.bssE .+ 7n[o ".filegtlssup.cT T ___xd_a,___xd_z0pV .textT.data`*.bsss k+ 57s.rdata`6b@.tls$AAA.tls$ZZZ.CRT$XLA.CRT$XLZ(.tls.CRT$XLC .CRT$XLD$.CRT$XDA,.CRT$XDZ0Wd]o WP   .filegcharmax.cV .textV.data`*.bss z+a& Q 7<0.CRT$XICW4dq8oP GN (@  .file6gmingw_helpers.cV V .textV.datad*.bssX u+* ] 7lWTdpo Mv `  .fileFgxtxtmode.c.textV.datad*.bss .+/ }7`[o .filecgatonexit.cV _atexit`W .textV.datad*.bss +/ 7Wddo P 6  k(.filewgnatstart.c.textW.datad*.bss w+4  7 oQ  V.filegcrt_handler.cW .textW.datal*.bss` L+O9  7 Wddo J  i  ).filegcinitexe.c.text Y.datal*.bss ]+GC R7 [.CRT$XIA .CRT$XIZ.CRT$XCA.CRT$XCZo > .filegmerr.c6 Y M\pY tY ~7b.text Y.datal*.bss +D H7 .rdata6b4WtdoX T R   .filegdllargv.cY .textY.datal*.bss 4+J N7lWX4d] 8o    .file gpseudo-reloc.cZ `Z [ .textZf!.datal*.bss; +/L  '7.rdata7bWd 8o 0  $  XY.file%gCRT_fp10.cp] _fpresetp] .textp].datal*.bss '+:S {7lWD4d 8o    .fileIggccmain.c] _p.56056l*_hMsvcrt] ___main^ .text]a.datal*.bss +S 7X.rdata8b+Wxd +o ^- p@  8-.filedgcrt0_c.c_main^ .text^H.datap*.bss +[Y B 7W<d0Iox  M`  eM.fileggs_support.c'@_ ?t*Wx*z`  8b.text@_G.datap*.bss0 \+[ 7B.rdata8bW<hdyo {   H.filegtlsmcrt.c.text`.datap*.bss  .+sd }7SZo .filegtlsthrd.c`  $ <  a 4a U@b .text`2".datat*.bss  + +d m7uWdDo, oq -  .filegj.textb.datat*.bss@ ) .+]k 7"do Z.fileglibgcc2.c.textb.datat*.bssD W ++l  7o 6 W.filegmingw_matherr.c.textb.datat*.bssD  .+x 7kao+ 3.file gilockcxch.c~b b .textb4.datat*.bssH   +x X7WtTdpo^ Q   .file$gilockexch.cc  c .textc .datat*.bssH  +z 7WTd4o C   .filegsnprintf.c0c .text0c(.datat*.bssH q +| 7JW4ddo  <  .text`c.datat*.bssH .idata$7t.idata$5.idata$4\.idata$6(.text`c.datat*.bssH .idata$7X.idata$5.idata$4@.idata$6.text`c.datat*.bssH .idata$7H.idata$5.idata$40.idata$6.text`c.datat*.bssH .idata$7D.idata$5.idata$4,.idata$6.texthc.datat*.bssH .idata$7P.idata$5.idata$48.idata$6.textpc.datat*.bssH .idata$7.idata$5.idata$4.idata$6X.textxc.datat*.bssH .idata$7.idata$5.idata$4.idata$6N.textc.datat*.bssH .idata$7.idata$5.idata$4.idata$6.textc.datat*.bssH .idata$7d.idata$5.idata$4L.idata$6.textc.datat*.bssH .idata$7\.idata$5.idata$4D.idata$6.textc.datat*.bssH .idata$7x.idata$5.idata$4`.idata$62.textc.datat*.bssH .idata$7.idata$5X.idata$4.idata$6.textc.datat*.bssH .idata$7.idata$5@.idata$4.idata$6.textc.datat*.bssH .idata$7.idata$5T.idata$4.idata$6.textc.datat*.bssH .idata$7.idata$5t.idata$4.idata$6(.textc.datat*.bssH .idata$7.idata$5.idata$4.idata$6.textc.datat*.bssH .idata$78.idata$5.idata$4 .idata$6.textc.datat*.bssH .idata$7.idata$5.idata$4.idata$6.textc.datat*.bssH .idata$7.idata$5.idata$4.idata$6.textc.datat*.bssH .idata$7.idata$5|.idata$4.idata$6:.textc.datat*.bssH .idata$7.idata$5.idata$4.idata$6.textc.datat*.bssH .idata$74.idata$5.idata$4.idata$6.textc.datat*.bssH .idata$70.idata$5.idata$4.idata$6.textd.datat*.bssH .idata$7.idata$5h.idata$4.idata$6.textd.datat*.bssH .idata$7.idata$5`.idata$4.idata$6.textd.datat*.bssH .idata$7.idata$5d.idata$4.idata$6.textd.datat*.bssH .idata$7.idata$5.idata$4.idata$6.text d.datat*.bssH .idata$7.idata$5\.idata$4.idata$6.text(d.datat*.bssH .idata$7 .idata$5.idata$4.idata$6.text0d.datat*.bssH .idata$7.idata$5.idata$4.idata$6.text8d.datat*.bssH .idata$7$.idata$5.idata$4 .idata$6.text@d.datat*.bssH .idata$7(.idata$5.idata$4.idata$6.textHd.datat*.bssH .idata$7.idata$5.idata$4.idata$6b.textPd.datat*.bssH .idata$7.idata$5x.idata$4.idata$60.textXd.datat*.bssH .idata$7 .idata$5.idata$4.idata$6.text`d.datat*.bssH .idata$7.idata$5P.idata$4.idata$6.texthd.datat*.bssH .idata$7.idata$5.idata$4.idata$6v.textpd.datat*.bssH .idata$7|.idata$5.idata$4d.idata$6>.textpd.datat*.bssH .idata$7.idata$5l.idata$4.idata$6.textxd.datat*.bssH .idata$7.idata$5p.idata$4.idata$6 .textd.datat*.bssH .idata$7,.idata$5.idata$4.idata$6.textd.datat*.bssH .idata$7.idata$5.idata$4.idata$6.textd.datat*.bssH .idata$7.idata$5H.idata$4.idata$6.textd.datat*.bssH .idata$7.idata$5 .idata$4l.idata$6N.textd.datat*.bssH .idata$7.idata$5.idata$4h.idata$6F.textd.datat*.bssH .idata$7@.idata$5.idata$4(.idata$6t.textd.datat*.bssH .idata$7.idata$5<.idata$4.idata$6.textd.datat*.bssH .idata$7.idata$5.idata$4.idata$6l.textd.datat*.bssH .idata$7T.idata$5.idata$4<.idata$6.textd.datat*.bssH .idata$7.idata$5L.idata$4.idata$6.filegfakehname(fthunk.textd.datat*.bssH .idata$2P.idata$4(.idata$5.filegfake.textd.datat*.bssH .idata$4$.idata$5.idata$7< .filegfakehnamefthunk.textd.datat*.bssH .idata$2(.idata$4.idata$5.filegfake.textd.datat*.bssH .idata$4 .idata$5.idata$7$ .filegfakehnamefthunk.textd.datat*.bssH .idata$2.idata$4.idata$5.filegfake.textd.datat*.bssH .idata$4.idata$5.idata$7 .filegfakehnamelfthunk .textd.datat*.bssH .idata$2.idata$4l.idata$5 .file gfake.textd.datat*.bssH .idata$4x.idata$5,.idata$7 .filegfakehname$fthunk.textd.datat*.bssH .idata$2<.idata$4$.idata$5.file(gfake.textd.datat*.bssH .idata$4$.idata$5.idata$70 .file6gfakehnamefthunk|.textd.datat*.bssH .idata$2.idata$4.idata$5|.fileDgfake.textd.datat*.bssH .idata$4.idata$5.idata$7 .fileRgfakehnameTfthunk.textd.datat*.bssH .idata$2.idata$4T.idata$5.file`gfake.textd.datat*.bssH .idata$4h.idata$5.idata$7 .fileI gcrtend.c.textd.datat*.bssH  .text.data`*.bss.idata$7h.idata$5.idata$4@.idata$6.text.data`*.bss.idata$7d.idata$5.idata$4<.idata$6t.text.data`*.bss.idata$7l.idata$5.idata$4D.idata$6.text.data`*.bss.idata$7t.idata$5.idata$4L.idata$6.text.data`*.bss.idata$7p.idata$5.idata$4H.idata$6.text.data`*.bss.idata$7`.idata$5.idata$48.idata$6T.text.data`*.bss.idata$7L.idata$5.idata$4,.idata$62.text.data`*.bss.idata$7P.idata$5.idata$40.idata$6D.text.data`*.bss.idata$7H.idata$5.idata$4(.idata$6".text.datat*.bssH .idata$7h.idata$5.idata$4P.idata$6.text.datat*.bssH .idata$7.idata$54.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5(.idata$4t.idata$6j.text.datat*.bssH .idata$7.idata$50.idata$4|.idata$6.text.datat*.bssH .idata$7`.idata$5.idata$4H.idata$6.text.datat*.bssH .idata$7.idata$5.idata$4.idata$6D.text.datat*.bssH .idata$7l.idata$5.idata$4T.idata$6.text.datat*.bssH .idata$7.idata$5$.idata$4p.idata$6X.text.datat*.bssH .idata$7p.idata$5 .idata$4X.idata$6.text.datat*.bssH .idata$7.idata$5,.idata$4x.idata$6v.text.datat*.bssH .idata$7.idata$58.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5D.idata$4.idata$6.text.datat*.bssH .idata$7L.idata$5.idata$44.idata$6.text.datat*.bssH .idata$7.idata$5.idata$4.idata$6 .text.datat*.bssH .idata$7.idata$5.idata$4.idata$6 .text.datat*.bssH .idata$7 .idata$5.idata$4.idata$6n .text.datat*.bssH .idata$7.idata$5.idata$4.idata$6 .text.datat*.bssH .idata$7 .idata$5.idata$4.idata$6 .text.datat*.bssH .idata$7.idata$5.idata$4 .idata$6| .text.datat*.bssH .idata$7.idata$5.idata$4.idata$6Z .text.datat*.bssH .idata$7.idata$5.idata$4.idata$6F .text.datat*.bssH .idata$7.idata$5.idata$4.idata$6. .text.datat*.bssH .idata$7.idata$5 .idata$4l.idata$6l.text.datat*.bssH .idata$7.idata$5x.idata$4.idata$6.text.datat*.bssH .idata$7H.idata$5.idata$4 .idata$6.text.datat*.bssH .idata$7.idata$5.idata$4H.idata$6.text.datat*.bssH .idata$7`.idata$5.idata$4$.idata$6^.text.datat*.bssH .idata$7|.idata$5.idata$4@.idata$6.text.datat*.bssH .idata$7.idata$5.idata$4D.idata$6.text.datat*.bssH .idata$7.idata$5.idata$4P.idata$6.text.datat*.bssH .idata$7.idata$5p.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5.idata$4h.idata$6n.text.datat*.bssH .idata$7<.idata$5.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5@.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5\.idata$4.idata$6r.text.datat*.bssH .idata$7.idata$5T.idata$4.idata$6P.text.datat*.bssH .idata$7.idata$5.idata$4L.idata$6.text.datat*.bssH .idata$7,.idata$5.idata$4.idata$6.text.datat*.bssH .idata$7t.idata$5.idata$48.idata$6.text.datat*.bssH .idata$7\.idata$5.idata$4 .idata$6P.text.datat*.bssH .idata$7.idata$5.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5h.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5(.idata$4t.idata$6.text.datat*.bssH .idata$7D.idata$5.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5.idata$4T.idata$6(.text.datat*.bssH .idata$7.idata$5$.idata$4p.idata$6~.text.datat*.bssH .idata$7@.idata$5.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5(.idata$4t.idata$6.text.datat*.bssH .idata$7.idata$5X.idata$4.idata$6b.text.datat*.bssH .idata$78.idata$5.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5|.idata$4.idata$6.text.datat*.bssH .idata$7X.idata$5.idata$4.idata$6B.text.datat*.bssH .idata$7 .idata$5.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5.idata$4.idata$6F.text.datat*.bssH .idata$7T.idata$5.idata$4.idata$66.text.datat*.bssH .idata$7p.idata$5.idata$44.idata$6.text.datat*.bssH .idata$7x.idata$5.idata$4<.idata$6.text.datat*.bssH .idata$7P.idata$5.idata$4.idata$6(.text.datat*.bssH .idata$7.idata$5 .idata$4X.idata$64.text.datat*.bssH .idata$7 .idata$5.idata$4.idata$6T.text.datat*.bssH .idata$7.idata$5P.idata$4.idata$6B.text.datat*.bssH .idata$7.idata$5.idata$4`.idata$6J.text.datat*.bssH .idata$7h.idata$5.idata$4,.idata$6~.text.datat*.bssH .idata$7.idata$5,.idata$4x.idata$6.text.datat*.bssH .idata$7.idata$5 .idata$4l.idata$6|.text.datat*.bssH .idata$7.idata$5l.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5.idata$4d.idata$6\.text.datat*.bssH .idata$7.idata$5.idata$4.idata$6.text.datat*.bssH .idata$74.idata$5.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5H.idata$4.idata$6.text.datat*.bssH .idata$7.idata$50.idata$4|.idata$6.text.datat*.bssH .idata$7.idata$5.idata$4.idata$6,.text.datat*.bssH .idata$7.idata$5$.idata$4p.idata$6.text.datat*.bssH .idata$7.idata$5L.idata$4.idata$6..text.datat*.bssH .idata$7d.idata$5.idata$4(.idata$6n.text.datat*.bssH .idata$7.idata$54.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5<.idata$4.idata$6.text.datat*.bssH .idata$7L.idata$5.idata$4.idata$6.text.datat*.bssH .idata$7.idata$58.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5D.idata$4.idata$6 .text.datat*.bssH .idata$7(.idata$5.idata$4.idata$6v.text.datat*.bssH .idata$70.idata$5.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5t.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5`.idata$4.idata$6~.text.datat*.bssH .idata$7.idata$5.idata$4.idata$6:.text.datat*.bssH .idata$7.idata$5.idata$4\.idata$6>.text.datat*.bssH .idata$7.idata$5d.idata$4.idata$6.text.datat*.bssH .idata$7$.idata$5.idata$4.idata$6b.text.datat*.bssH .idata$7l.idata$5.idata$40.idata$6.text.datat*.bssH .idata$7.idata$5.idata$4.idata$6 .text.datat*.bssH .idata$7.idata$5.idata$4.idata$6x .text.datat*.bssH .idata$7.idata$5T.idata$4.idata$6 .text.datat*.bssH .idata$7.idata$5\.idata$4.idata$66 .text.datat*.bssH .idata$7.idata$5`.idata$4.idata$6H .text.datat*.bssH .idata$7.idata$5|.idata$4.idata$6 .text.datat*.bssH .idata$7.idata$5.idata$4.idata$6 .text.datat*.bssH .idata$7.idata$5L.idata$4.idata$6 .text.datat*.bssH .idata$7.idata$5.idata$4.idata$6h .text.datat*.bssH .idata$7(.idata$5.idata$4.idata$6R.text.datat*.bssH .idata$7.idata$5@.idata$4.idata$6 .text.datat*.bssH .idata$7.idata$5.idata$4.idata$6 .text.datat*.bssH .idata$7H.idata$5.idata$4<.idata$60 .text.datat*.bssH .idata$7@.idata$5.idata$44.idata$6 .text.datat*.bssH .idata$7.idata$5(.idata$4t.idata$60 .text.datat*.bssH .idata$70.idata$5.idata$4$.idata$6 .text.datat*.bssH .idata$7P.idata$5.idata$4D.idata$6Z .text.datat*.bssH .idata$7.idata$5<.idata$4.idata$6 .text.datat*.bssH .idata$7x.idata$5 .idata$4l.idata$6 .text.datat*.bssH .idata$7.idata$5p.idata$4.idata$6 .text.datat*.bssH .idata$7.idata$5,.idata$4x.idata$6H .text.datat*.bssH .idata$7<.idata$5.idata$40.idata$6 .text.datat*.bssH .idata$7,.idata$5.idata$4 .idata$6h.text.datat*.bssH .idata$7.idata$5.idata$4.idata$6 .text.datat*.bssH .idata$7.idata$5D.idata$4.idata$6 .text.datat*.bssH .idata$7.idata$5.idata$4.idata$6\ .text.datat*.bssH .idata$7t.idata$5.idata$4h.idata$6 .text.datat*.bssH .idata$7D.idata$5.idata$48.idata$6 .text.datat*.bssH .idata$74.idata$5.idata$4(.idata$6 .text.datat*.bssH .idata$78.idata$5.idata$4,.idata$6 .text.datat*.bssH .idata$7 .idata$5.idata$4.idata$6".text.datat*.bssH .idata$7.idata$5X.idata$4.idata$6 .text.datat*.bssH .idata$7$.idata$5.idata$4.idata$6<.text.datat*.bssH .idata$7.idata$5.idata$4.idata$6 .text.datat*.bssH .idata$7.idata$58.idata$4.idata$6 .text.datat*.bssH .idata$7.idata$5d.idata$4.idata$6Z .text.datat*.bssH .idata$7T.idata$5.idata$4H.idata$6h .text.datat*.bssH .idata$7\.idata$5.idata$4P.idata$6 .text.datat*.bssH .idata$7.idata$5P.idata$4.idata$6 .text.datat*.bssH .idata$7`.idata$5.idata$4T.idata$6 .text.datat*.bssH .idata$7.idata$5.idata$4.idata$64 .text.datat*.bssH .idata$7 .idata$5.idata$4.idata$6 .text.datat*.bssH .idata$7h.idata$5.idata$4\.idata$6 .text.datat*.bssH .idata$7l.idata$5.idata$4`.idata$6 .text.datat*.bssH .idata$7d.idata$5 .idata$4X.idata$6 .text.datat*.bssH .idata$7.idata$5H.idata$4.idata$6 .text.datat*.bssH .idata$7p.idata$5.idata$4d.idata$6 .text.datat*.bssH .idata$7.idata$5.idata$4.idata$6 .text.datat*.bssH .idata$7.idata$5.idata$4.idata$6 .text.datat*.bssH .idata$7.idata$5.idata$4.idata$6 .text.datat*.bssH .idata$7|.idata$5$.idata$4p.idata$6" .text.datat*.bssH .idata$7.idata$5.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5.idata$4 .idata$6.text.datat*.bssH .idata$7.idata$5h.idata$4.idata$6j .text.datat*.bssH .idata$7.idata$50.idata$4|.idata$6\ .text.datat*.bssH .idata$7.idata$54.idata$4.idata$6r .text.datat*.bssH .idata$7.idata$5l.idata$4.idata$6 .text.datat*.bssH .idata$7.idata$5.idata$4.idata$6B .text.datat*.bssH .idata$7.idata$5.idata$4.idata$6 .text.datat*.bssH .idata$7X.idata$5.idata$4L.idata$6v .text.datat*.bssH .idata$7.idata$5.idata$4.idata$6 .text.datat*.bssH .idata$7.idata$5x.idata$4.idata$6 .text.datat*.bssH .idata$7L.idata$5.idata$4@.idata$6B .text.datat*.bssH .idata$7.idata$5t.idata$4.idata$6 .text.datat*.bssH .idata$7.idata$5.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5|.idata$4.idata$60.text.datat*.bssH .idata$7.idata$5.idata$4.idata$6J.text.datat*.bssH .idata$7.idata$5.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5.idata$4.idata$6 .text.datat*.bssH .idata$7.idata$5.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5.idata$4.idata$6|.text.datat*.bssH .idata$7.idata$5.idata$4.idata$6d.text.datat*.bssH .idata$7.idata$5.idata$4.idata$6.text.datat*.bssH .idata$7.idata$5.idata$4`.idata$6J.text.datat*.bssH .idata$7.idata$5.idata$4\.idata$62.text.datat*.bssH .idata$7.idata$5.idata$4T.idata$6.text.datat*.bssH .idata$7.idata$5.idata$4d.idata$6Z.text.datat*.bssH .idata$7.idata$5 .idata$4X.idata$6.rsrc 8__cexitc Fxb` od {8bh $ |_isspace_sprintfhd  8Sl _feofd b8mdD"___xi_a 1_freec D,\_strcat0d ud _strcmpc Y $L+pBar4`` p 8 1Jf`Spt__errno %=/L<0___xl_c K]xqp4 +9PO iX%/ ASbr `t ___xl_z(`fT`8__unlockd 8TQr$ __wcslwr,8EYm_strncatc d_fputcxd '0D[npx  (8b)=Sj{( X, | L: I a o      `   !!!-!\E!W!i!!!,!h!(!!!Q"#" 5"|O"n""""""D "#p#%#X;#S#U]# v#x# M### #,##d $__dll__$-$B$_fwritePd Y$_ttlist_strncpyd n$$$$$ $@$$$X$l%_atoi`d $%?%_list`___xc_aO%u%$%$%`%%D_memcpypc %`%&0&1&_device E&8bc&y&&\&t&& &&<' '*'E'S' d'd|'H''''`' '@(,($_wcscpyc C(|*P(h(`c w(___xl_a___xl_d$(d((( (hc __CRT_MTp*(T({#()`*)()8D)H _)( k)x)))))*x* * 0*_fprintfpd A*$Z*f*v*l*_strtol8d _wcslenc ***@Q_GetDC@4***d*+\+3+A+W+@`a+x+R+4+0+d+0+++`+,%,?, OXI,Y,l,_fopend ,c __strdup_callocc ,,,__fmode,,,-(-;-N-h-_wcscatc y--D----.._hStatus 4.B.P.@\.D__strlwrq.,. . .....//)/A/Q/<`/Py//x/ _reallocHd /P///0!000C0X0<r0P0000011'1H__lockd A1P1(_getenvc n1|1|___xc_z1111__end__1d11_strchrd 2@gP_app_dir 2T22X2<e2d _signald r2_mallocxc 2d_fclose d 22l2222@_strcpy(d 33_sscanfc &3\43(L3]3n333,3(3@333 44*4>4_strtokXd W4 q4444 4x445T_abortd 5@^595h*R5b5w5h5555556`6c 6t,6D6V6i66h66666H67L 57d*N7l7 y77^O777U77 8___xi_z8+8=8R8c8{8/_strncmpc 8888t88l99 *9B9W9e9v999_hInfo 99<99 :$:_strtoul@d 9:4I:^:c j:Pv:::|:_fgetsd :: ;;+;>; K;Z;_strlenc j;;;;;;P ;<`<2<__fdopenJ<4_exitc f<u<<t*<<<|< < ==4=R= `=s==8b====>6b)>_Sleep@4B>U>m>x>~>>>>>>?,?&?h5?@G?d Q?o?????<???@_hMain @x,@A@.debug_aranges.debug_pubnames.debug_pubtypes.debug_info.debug_abbrev.debug_line.debug_frame.debug_str.debug_loc.debug_ranges___mingw_invalidParameterHandler_pre_cpp_init_startinfo_pre_c_init_managedapp___tmainCRTStartup_has_cctor_WinMainCRTStartup_mainCRTStartup.debug_abbrev.debug_info.debug_line.CRT$XIAA.CRT$XCAA.debug_frame.debug_loc.debug_pubnames.debug_pubtypes.debug_aranges.debug_ranges.debug_str_utf8_to_wchar_subclass_callback@16_notification_delay_thread_w_printf_v_w_printf_display_devices_get_selected_device_get_driver_type_combo_breaker_set_filter_menu_mi_filter.80930_filter_is_displayed.80931_set_default_driver_set_driver_select_next_driver_display_mi_mi_shown.80955_toggle_advanced_toggle_edit_update_ui_set_install_button_toggle_create_toggle_driverless_install_driver_toggle_hubs_set_loglevel_parse_ini_init_dialog_parse_preset_main_callback@16_hVid.81070_hPid.81071_hMi.81072_hWcid.81073_hDriver.81074_hTarget.81075_white_brush.81076_green_brush.81077_driver_background.81080_orange_brush.81078_hDeviceEdit.81069_notification_delay_thid.81049_last_scroll.81050_WinMain@16_tooltip_callback@16_windows_error_str.clone.0_err_string.81219_BrowseCallbackProc@16_pSHSimpleIDListFromPath_to_valid_filename_detect_windows_version_browse_for_folder_file_dialog_create_status_bar_center_dialog_notification_callback@16_disabled.81322_separator_brush.81324_white_brush.81323_hMessageIcon_message_title_message_text_about_callback@16_notification_create_tooltip_destroy_tooltip_parse_quoted_string_profile_free_node_profile_free_file_MYstrdup_profile_create_node_profile_add_node_skip_over_nonblanks_skip_over_blanks_profile_update_file_syntax_err_cb_profile_close_profile_open_profile_set_syntax_err_cb_profile_iterator_create_profile_iterator_free_profile_node_iterator.clone.2_profile_get_value_profile_get_string_profile_get_integer_profile_get_uint_profile_get_boolean_conf_yes_profile_iterator_profile_errtostr_CSWTCH.39_detect_version_windows_version___FUNCTION__.81105_init_dlls_CM_Get_Parent_CM_Get_Child_CM_Get_Sibling_CM_Get_Device_IDA_CMP_WaitNoPendingInstallEvents_windows_error_str_err_string.81109___FUNCTION__.81125_process_message_current_device_filter_driver___FUNCTION__.81408_pipe_handle_install_driver_internal___FUNCTION__.81444_pIsWow64Process_pIsUserAnAdmin_fcreate.clone.0___FUNCTION__.81160_check_dir.clone.2___FUNCTION__.81141_extract_binaries___FUNCTION__.81334_get_version_info_driver_version_pVerQueryValueA_pGetFileVersionInfoA_pGetFileVersionInfoSizeA_driver_name___FUNCTION__.81176_wdi_is_driver_supported@8___FUNCTION__.81199_wdi_is_file_embedded@8_wdi_strerror@4_unknown.81211_wdi_destroy_list@4___FUNCTION__.81320_wdi_create_list@8___FUNCTION__.81282_pSetupDiGetDevicePropertyW_wdi_prepare_driver@16___FUNCTION__.81382_ms_compat_id_inf_template_cat_template_guid_string.81236_wdi_install_driver@16___FUNCTION__.81481_wdi_install_trusted_certificate@8___FUNCTION__.81493_create_logger_logger_wr_handle_logger_rd_handle_log_messages_pending_pipe_wdi_log_v_global_log_level_logger_msg_logger_dest_CSWTCH.33_wdi_register_logger@12___FUNCTION__.57166_wdi_unregister_logger@4___FUNCTION__.57172_wdi_read_logger@12___FUNCTION__.57182_wdi_set_log_level@4_wdi_get_vendor_name@4_usb_vendor_progress_thread_progress_arglist_progress_function_progress_thid_hProgress_security_prompt_callback@8_find_security_prompt_progress_callback@16_installation_time.78373_msg_index.78375_progress_message_hProgressText___FUNCTION__.78384_pSetBkMode_pGetStockObject_disabled.78377_app_instance_hProgressBar_pCreateFontA___FUNCTION__.78347_run_with_progress_bar_progress_mutex___FUNCTION__.78400_ScanDirAndHash_szInitialDir___FUNCTION__.61718___FUNCTION__.61653___FUNCTION__.61680_AddCertToStore___FUNCTION__.61514_RemoveCertFromStore___FUNCTION__.61529_AddCertToTrustedPublisher___FUNCTION__.61555_CreateSelfSignedCert___FUNCTION__.61589_DeletePrivateKey___FUNCTION__.61610_SelfSignFile___FUNCTION__.61642_CreateCat___FUNCTION__.61743_grow_strcpy_tokenize_string_tokenize_resource___dyn_tls_dtor@12___dyn_tls_init@12___mingw_mthread_hdll___tlregdtor_my_lconv_init__decode_pointer__encode_pointer_mingw_onexit__gnu_exception_handler@4___mingw_raise_matherr_stUserMathErr___mingw_setusermatherr__matherr_CSWTCH.4__setargv___report_error___write_memory__pei386_runtime_relocator_was_init.56720__fpreset___do_global_dtors_free_Msvcrt___do_global_ctors_initialized___security_init_cookie.data$__security_cookie.data$__security_cookie_complement___report_gsfailure_GS_ContextRecord_GS_ExceptionRecord_GS_ExceptionPointers___mingwthr_run_key_dtors___mingwthr_cs_init___mingwthr_cs_key_dtor_list____w64_mingwthr_add_key_dtor____w64_mingwthr_remove_key_dtor___mingw_TLScallbackpseudo-reloc-list.c__InterlockedCompareExchange_InterlockedCompareExchange@12__InterlockedExchange_InterlockedExchange@8_snprintf__imp__strncat_DeleteFileW@4_PostMessageA@16__imp__FindResourceA@12__imp__strtok__lib32_libsetupapi_a_iname_hDeviceList_hMenuSplit_ShowWindow@8_VirtualProtect@16___RUNTIME_PSEUDO_RELOC_LIST___SetLastError@4_hIconTickOKU__imp__CheckDlgButton@12__head_lib32_libuser32_a__imp__getenv__imp__SHCreateDirectoryExW@12_QueryPerformanceCounter@4_main_instance_log_level__imp__CloseHandle@4_SetDlgItemTextA@12__data_start___FreeLibrary@4___DTOR_LIST___from_install__imp___wcslwr__lib32_libuser32_a_iname__imp___beginthread_InsertMenuItemA@16_DeleteMenu@12__imp__LocalFree@4__imp__ClientToScreen@8__imp__VirtualProtect@16__imp__SetupDiGetClassDevsA@16__imp___acmdln___setusermatherr_installation_running_UnhandledExceptionFilter@4_file_013__imp___onexit_driver_display_name__imp__GetLastError@0__imp__GetVersionExA@4_SetUnhandledExceptionFilter@4_CreateMutexA@12__imp__VirtualQuery@12_SHGetPathFromIDListW@8__imp__CreateWindowExA@48_file_018_MoveWindow@24_file_017___tls_start_____native_startup_lock_hMenuDevice__imp___strlwr_SendMessageW@16__imp__SetWindowLongA@12__lib32_libadvapi32_a_iname_file_00C_CryptGenKey@16__imp__CreateFileA@28__imp__TlsGetValue@4__imp__SetupDiGetDeviceRegistryPropertyA@28_SizeofResource@8__imp__InitializeCriticalSection@4_DeleteCriticalSection@4_file_003__imp__abort__imp___strdup_fctMsvcrtLongJmp__imp__GetDlgItem@8_advanced_mode__dll_characteristics____imp__SendDlgItemMessageA@20_current_device_index__size_of_stack_commit___SetBkMode@8__imp__CryptDestroyKey@4__imp__SetupDiEnumDeviceInfo@12__imp___fmode__imp__DrawTextExA@24__size_of_stack_reserve____major_subsystem_version____imp__CoCreateGuid@4___crt_xl_start___InitializeSecurityDescriptor@8__lib32_libcomdlg32_a_iname__imp__GetOverlappedResult@16__imp__WideCharToMultiByte@32__newmode___crt_xi_start____imp___amsg_exit_GetSysColor@4___crt_xi_end____imp__SetDlgItemTextW@12__imp__CreateNamedPipeA@32_nb_resources_ShellExecuteA@24_LoadCursorA@8_hIconTickOK__imp__PostMessageA@16_file_00D_file_016_GetLastError@0__imp__CreateWindowExW@48__lib32_libole32_a_iname__imp__QueryPerformanceCounter@4_TranslateMessage@4_DrawTextExA@24_VirtualQuery@12__imp__TranslateMessage@4__imp__FindNextFileW@8_mingw_initltsdrot_force__head_lib32_libshell32_a__imp__WaitForMultipleObjects@16__imp___iob__dowildcard__imp__WriteFile@20_GetModuleHandleA@4__imp__SetFocus@4__imp__strncmp__imp__GetClassInfoExA@12_GetOpenFileNameW@4__imp__strtoul_FormatMessageW@28_OpenProcessToken@12_SetDlgItemTextW@12_GetCursorPos@4_SetTextColor@8__imp__CreateDialogParamA@20_CryptReleaseContext@8_DefWindowProcA@16_SetupDiGetClassDevsA@16__bss_start___CryptAcquireContextW@20__imp__fputc_GetFileAttributesW@4_original_wndproc_driver_text__imp__UpdateWindow@4___RUNTIME_PSEUDO_RELOC_LIST_END___GetSaveFileNameW@4__imp__CreateFontA@56__imp__CreateEventA@16_CoTaskMemFree@4__head_lib32_libgdi32_a__size_of_heap_commit___IsDlgButtonChecked@8___onexitend_ReadFile@20_MessageBoxA@16_id_options__imp__GetCurrentProcess@0_extract_only__imp__DispatchMessageA@4__imp__isspace_GetCurrentDirectoryW@8__imp___errno__imp__OpenThread@12__imp__CryptAcquireContextW@20__stricmp_FindFirstFileW@8__imp___endthread__imp__EnumChildWindows@12_mingw_pcinit__imp__GetParent@4_CreateSolidBrush@4_SetFocus@4__imp__GetProcAddress@8_GetProcAddress@8_CheckMenuItem@12_SendDlgItemMessageA@20__imp__CreateProcessW@40___crt_xp_start____imp__GetClientRect@8__imp___snprintf_CreateEventA@16_GetSysColorBrush@4_file_00A_SetupDiDestroyDeviceInfoList@4__imp__SetRect@20__imp__GetDlgItemTextA@16__imp__SetupDiOpenDevRegKey@24_GetDeviceCaps@8_CreateWindowExW@48_MultiByteToWideChar@24__imp__GetWindowTextW@12__imp__LoadMenuA@8__MINGW_INSTALL_DEBUG_MATHERR_CryptDestroyKey@4__imp__GetDC@4__imp__wcslen__imp__EnableWindow@8_GetOverlappedResult@16_file_00E__imp__FormatMessageW@28_replace_driver_file_004_LockResource@4_SHCreateDirectoryExW@12___mingw_gMTKeyDtor___crt_xp_end___GetLocalTime@4_current_device_hardware_id__imp__signal__imp__CreateFileW@28__minor_os_version____imp__CreateMutexA@12_CreateNamedPipeA@32_CoInitializeEx@8_LoadIconA@8_CreateFileW@28_GetTickCount@0_hVIDToolTip__image_base___GetWindowLongA@8_GetVersionExA@4__imp__exit__imp__GetCursorPos@4__section_alignment____lib32_libshell32_a_iname_LoadLibraryA@4_SetupDiGetDeviceRegistryPropertyA@28_hArrowToolTip__imp__FreeLibrary@4_DEVPKEY_Device_BusReportedDeviceDesc_CreateProcessW@40_wcid_type__imp__GetStartupInfoA@4_WaitForMultipleObjects@16__IAT_end____imp____lconv_init_GetDlgItemTextA@16__RUNTIME_PSEUDO_RELOC_LIST____imp__LoadResource@8_unknown_vid__imp__EndDialog@8__imp__GetDesktopWindow@0_GetMenu@4__imp___fdopen__imp__GetDeviceCaps@8__imp__GetFileAttributesA@4__tls_start__imp__CommDlgExtendedError@0__imp__OpenProcessToken@12__imp__wcscpy_extraction_path__head_lib32_libole32_a__imp__GetFullPathNameA@16_GetTokenInformation@20__imp__GetSubMenu@8_GetStdHandle@4_file_01A___native_startup_state__imp__GetFileAttributesW@4_FileTimeToLocalFileTime@8__imp___open_osfhandle__data_end___GetWindowTextLengthW@4___getmainargs_FindClose@4__CTOR_LIST____imp__GetMenuState@12_RegisterClassExA@4___onexitbegin___set_app_type__imp__EnableMenuItem@12_file_002__imp__sprintf__charmax_GetMessageA@16__imp__GetExitCodeProcess@8___mingw_winmain_lpCmdLine__bss_end___LoadMenuA@8_CreateWindowExA@48__imp__WaitForSingleObject@8__imp__GetWindowLongA@8__imp__SetSecurityDescriptorOwner@12__imp__IsDlgButtonChecked@8___security_cookie_complement___crt_xc_end___GetWindowRect@8__lib32_libgdi32_a_iname__tls_index_CreateFontA@56__imp__GetTickCount@0_ReleaseDC@8___crt_xc_start____endthread_file_009__imp__GetMessageA@16__imp__SetLastError@4__imp__fgets_GetFullPathNameA@16_file_014__imp__InsertMenuItemA@16__imp__strchr_SHBrowseForFolderW@4_file_019_CreateDialogParamA@20_file_00B_pd_options__lib32_libkernel32_a_iname___CTOR_LIST____imp__GetCurrentProcessId@0_GetSubMenu@8_OpenThread@12__imp__feof_CreateFileA@28_GetFileAttributesA@4__imp__GetSysColorBrush@4_file_012_mingw_app_type_PostQuitMessage@4_GetWindowTextA@12__initterm_DispatchMessageA@4__imp__SizeofResource@8__imp__TerminateProcess@8__imp__LockResource@4__imp__MessageBoxA@16__imp__GetWindowTextLengthW@4_inf_entities__imp__SetCursor@4_GetStartupInfoA@4_SetupDiEnumDeviceInfo@12_GetMenuState@12__imp__FileTimeToLocalFileTime@8__imp__DestroyWindow@4_SetWindowTextA@8_WaitForSingleObject@8_GetCurrentProcessId@0__imp____dllonexit__imp__ShellExecuteExW@4__imp__SendMessageA@16__imp__wcscat__imp__memcpy_nb_devices__imp__GetFileSize@8__imp___snwprintf_hMenuOptions__imp__CallWindowProcA@20_PostMessageW@16__imp__strcmp_SetTimer@16__file_alignment____imp__SetDlgItemTextA@12__imp__MulDiv@12_GetClassInfoExA@12__imp__SetWindowTextA@8_UpdateWindow@4__imp___unlock__head_lib32_libmsvcrt_a_SetWindowLongA@12__imp__LeaveCriticalSection@4__imp__TrackPopupMenuEx@24__imp__atoi__imp__malloc__imp__CryptGenKey@16__imp__strncpy__imp__CryptReleaseContext@8___mingw_pinit__imp__SetBkMode@8__major_os_version____lib32_libmsvcrt_a_iname__imp__GetLocalTime@4__imp__ReadFile@20__imp__SHBrowseForFolderW@4_GetWindowTextW@12__imp__GetTokenInformation@20_FileTimeToSystemTime@8_CloseHandle@4_CommDlgExtendedError@0__imp__DialogBoxParamA@20__imp__realloc__imp__GetCurrentDirectoryW@8_GetDlgItem@8__IAT_start___GetTextExtentPointW@16_LocalFree@4__tls_end__imp__PostMessageW@16__imp__GetStdHandle@4__imp____initenv__imp__GetWindowRect@8_file_006__imp__GetModuleHandleA@4__imp__InitializeSecurityDescriptor@8_IDC_INSTALL___dllonexit__imp___lock__DTOR_LIST___FormatMessageA@28__imp__fprintf__imp__SetTimer@16_TerminateProcess@8__imp__InvalidateRect@12__imp__DeleteMenu@12_has_wcid_EnterCriticalSection@4__imp__fclose__imp__CheckMenuItem@12__imp___initterm_FindNextFileW@8_GetCurrentThreadId@0__size_of_heap_reserve_____crt_xt_start___cl_options___ImageBase_CheckDlgButton@12__subsystem____imp__ConvertStringSidToSidA@8_EnableMenuItem@12__imp__strlen_GetDlgItemTextW@16__imp__GetWindowTextA@12___mingw_gMTRemoveKeyDtor__imp__strtol_DialogBoxParamA@20__imp__strcpy___mingw_usemthread_dll__head_lib32_libsetupapi_a___mingw_oldexcpt_handler__imp__LoadImageA@24__imp__calloc_file_015__imp__MultiByteToWideChar@24___native_vcclrit_reason_LoadResource@8_EnumChildWindows@12__imp__GetSystemTimeAsFileTime@4_LoadImageA@24_SetRect@20__imp__RegQueryValueExA@24__snwprintf___lconv_init_SetSecurityDescriptorOwner@12_resource__amsg_exit_create_device__imp__ShellExecuteA@24_FindResourceA@12_TerminateThread@8__imp__PostQuitMessage@4__imp__fopen__imp____getmainargs_SetCursor@4_SetupDiGetDeviceRegistryPropertyW@28_GetParent@4__imp___winmajor__imp__SetupDiDestroyDeviceInfoList@4___mingw_winmain_nShowCmd___native_dllmain_reason__imp__FileTimeToSystemTime@8___tls_end____imp__SetupDiGetDeviceRegistryPropertyW@28_file_005_GetExitCodeProcess@8_CallWindowProcA@20_file_00F_arrow_color_GetSystemTimeAsFileTime@4_mingw_pcppinit_CoCreateGuid@4_ScreenToClient@8_GetCurrentProcess@0_SendMessageA@16_mingw_initltssuo_force_file_000__imp__RegisterClassExA@4_InitializeCriticalSection@4__beginthread__imp__free__imp__SetUnhandledExceptionFilter@4_default_driver_type__snprintf_hMenuLogLevel__major_image_version___RegQueryValueExA@24_WriteFile@20__loader_flags____imp__UnhandledExceptionFilter@4__imp__ShowWindow@8_DeleteFileA@4_EndDialog@8__head_lib32_libkernel32_a__open_osfhandle__imp__FindFirstFileW@8__imp__CoInitializeEx@8__imp__DeleteFileW@4__imp___stricmp__imp__MoveWindow@24__vsnprintf_ic_options__imp__ScreenToClient@8__imp___cexit__imp__ConvertSidToStringSidA@8__imp__GetSysColor@4__minor_subsystem_version____imp__FindClose@4__minor_image_version___has_filter_driver__imp__LoadIconA@8_hIconFolder__imp__Sleep@4__imp__vfprintf__imp__GetDlgItemTextW@16_GetDesktopWindow@0__imp__GetSaveFileNameW@4__imp____set_app_type_SetupDiOpenDevRegKey@24___mingw_winmain_hInstance_TrackPopupMenuEx@24_file_01B__imp__SendMessageW@16_mingw_initltsdyn_force__imp__GetCurrentThreadId@0_TlsGetValue@4__imp__DeleteCriticalSection@4___security_cookie_LeaveCriticalSection@4_ConvertStringSidToSidA@8__imp__LoadLibraryA@4_hIconReport_GetFileSize@8__imp__sscanf__head_lib32_libadvapi32_a__imp__SHGetPathFromIDListW@8_hIconTickNOK_InvalidateRect@12__imp__GetOpenFileNameW@4__RUNTIME_PSEUDO_RELOC_LIST_END____head_lib32_libcomdlg32_a__imp__CreateSolidBrush@4__imp__TerminateThread@8_ShellExecuteExW@4___dyn_tls_init_callback__imp__FormatMessageA@28_mingw_initcharmax__imp____setusermatherr__tls_used_file_001_DestroyWindow@4__imp__CoTaskMemFree@4__imp__ReleaseDC@8_ClientToScreen@8_ConvertSidToStringSidA@8_WideCharToMultiByte@32___crt_xt_end____imp__DeleteFileA@4_editable_desc__imp___vsnprintf_vfprintf__imp__GetTextExtentPointW@16_EnableWindow@8_GetClientRect@8__imp__strcat__imp__GetMenu@4__imp__DefWindowProcA@16_target_driver_version__imp__SetTextColor@8__imp__EnterCriticalSection@4_MulDiv@12__imp__fwrite__imp__LoadCursorA@8Heimdall-1.4.1/Win32/README.txt000066400000000000000000000555671234253036400156600ustar00rootroot00000000000000Heimdall (c) 2010-2014 Benjamin Dobell, Glass Echidna http://www.glassechidna.com.au/products/heimdall/ DISCLAIMER: This software attempts to flash your Galaxy S device. The very nature of flashing is dangerous. As with all flashing software, Heimdall has the potential to damage (brick) your device if not used carefully. If you're concerned, don't use this software. Flashing ROMs onto your device may also void your warranty. Benjamin Dobell and Glass Echidna are not responsible for the result of your actions. These instructions were written for Windows 7 / Vista / Server 2008 however the procedure should be essentially the same for all supported versions of Windows (XP onwards). Driver Installation Instructions: 1. Put your device into download mode and plug it in. 2. Run zadig.exe included in the Drivers subdirectory. 3. From the menu chose Options -> List All Devices. 4. From the USB Device list chose "Samsung USB Composite DEvice". 5. Press "Install Driver", click "Yes" to the prompt and if you receive a message about being unable to verify the publisher of the driver click "Install this driver software anyway". 6. Done Driver Uninstallation Instructions: 1. Put your device into download mode by holding Volume Down + Home + Power. 2. Plug your phone into your PC. 3. Open up Device Manager on your PC (Control Panel -> System -> Device Manager). 4. Under "Libusb (WinUSB) devices" right click on "Samsung USB Composite Device" and chose Properties. 5. Go to the Driver tab and select Update Driver. 6. Chose to browse your computer for the driver. 7. Chose to pick from a list of devices drivers on your computer. 8. Pick the original Samsung Composite driver, press next and then follow the prompts. 9. Done Flashing Heimdall Firmware Package with Heimdall Frontend: As of Heimdall Frontend 1.3 there are now two main ways to flash a ROM from Heimdall Frontend. The simpler and preferred option is to download a Heimdall Firmware Package and follow the following steps. 1. Fully charge your device (use the wall charger as it's faster). 2. Open the Heimdall Frontend (heimdall-frontend) executable. 3. From the "Load Package" tab, under the "Heimdall Firmware Package" section click the "Browse" button. 4. Use the dialogue that appears to navigate to, and select, the Heimdall firmware package that you wish to flash. 5. You will see progress bars appear as the package is decompressed and extracted. When the package has finished being decompressed you should see information about the particular firmware package that has been selected. 6. Verify that your device is listed under "Supported Devices". If it's not then STOP immediately! DO NOT flash this firmware to your device! Instead search for an appropriate firmware package for your device. If you believe there is a mistake and your device is actually supported please get in contact with the firmware developer (not Glass Echidna!) and ask them to rectify the issue. If the developer provided a URL you may be able to contact them by pressing the "Homepage" button. 7. If you've verified your device is supported you may continue to press the "Load / Customise" button. 8. You should now be looking at the "Flash" tab. If not verify that you did in fact push the "Load / Customise" button. Generally, you won't NEED or WANT to customise a firmware package! In which case you can safely move on to step 9. Nonetheless, the "Flash" tab provides you with a means to customise the firmware package before flashing it to your device. See "Performing a Custom Flash with Heimdall Frontend" for more details. 9. Put your Galaxy S device into download mode and plug it in to your PC. Download mode can be accessed several different ways depending on your particular device model. If you're unsure how to do this please search online for the appropriate method. 10. Press the "Start" button. 11. Heimdall Frontend will display the progress and inform you when the flash is complete. If something went wrong i.e. your device wasn't detected because it wasn't in download mode, then the status section will let you know the cause of the problem. Performing a Custom Flash with Heimdall Frontend: This is the advanced means of flashing firmware to your device. If you're not an advanced user or a developer, in the event that a Heimdall Firmware Package doesn't exist for the particular firmware (or files) that you wish to flash, then I strongly recommend you get in touch with developer of the firmware (or files) and politely ask them to create a Heimdall Firmware Package for you. In doing so then you don't have to worry about making mistakes due to inexperience. If you're looking to customise an existing Heimdall Firmware Package then follow steps 1-8 of "Flashing Heimdall Firmware Package with Heimdall Frontend" then start from below with step 5. 1. Fully charge your device (use the wall charger as it's faster). 2. Download a decrypted device ROM or a Heimdall Firmware Package and extract everything to the one directory. 3. If the ROM is not a Heimdall Firmware Package it may instead be provided as multiple archives (nested or otherwise), extract them all to the same location. NOTE: If you want to use the CSC then extract it last. 3. Open the Heimdall Frontend (heimdall-frontend) executable. 4. Select the "Flash" tab. From the "Flash" tab you're able to completely customise a flash. 5. Before you can chose which partitions you want to flash with particular files you MUST first select a PIT file. To do this click the "Browse" button in the "PIT" section. This will open a dialogue allowing you to navigate to and select a valid PIT (.pit) file. If you do not already have a valid PIT file stored on your computer you can download your device's PIT file from the "Utilities" tab. 6. If a valid PIT file has been selected then "Add" button below the "Partitions (Files)" list-box will become enabled. Press this button to add a partition to your flash. 7. When you first add a partition you will see the "Partition Name" and "Partition ID" be populated with information. Use the "Partition Name" drop down to select which partition you wish to flash. "Partition ID" will automatically update and is never directly editable. 8. You must then select a file to flash to the partition that you just specified using the "Browse" button under the "File / Partition". You will not be able to flash, create a firmware package or add another partition until you have selected a file. However, you're still able to press the "Remove" button if you've decided not to flash the partition you've just specified. 9. When you've specified a file name then you'll be able to see the updated information in the partition list to the right. You can select any partition from this list and customise it as you see fit. You can also remove a partition from the list by selecting it and clicking the "Remove" button. Removing a partition from the list doesn't remove it from your device, it simply means it will not be flashed. 10. Repeat steps 7-9 as often as needed to specify all the partitions/files that you wish to flash. 11. Now you can chose whether you would like to repartition your device as well as whether you would like to prevent the device rebooting once a flash has been completed. These options can be enabled or disabled by toggling the "Repartition" and "No Reboot" check-boxes. In the general case you will only need to enable repartition if you wish to change the PIT file on your device. Keep in mind that repartitioning will wipe your device! The "No Reboot" option is rarely required. It's mostly in place so you can manually boot straight into recovery mode after a flash (rather than booting up normally). 12. If you've added at least one partition to your flash (and selected a file for that partition) then the "Start" button will be enabled. Press the "Start" button to begin the flashing process. You may notice that the "Create Package" tab becomes available at the whenever the "Start" button becomes available. From this tab you're able to create a reusable, redistributable Heimdall Firmware Package with the files and partitions you just selected. See "How to Create a Heimdall Firmware Package" for details. 13. Heimdall Frontend will display the progress and inform you when the flash is complete. If something went wrong i.e. your device wasn't detected because it wasn't in download mode, then the status section will let you know the cause of the problem. Flashing Firmware from Command Line: 1. Fully charge your phone (use the wall charger as it's faster). 2. Download a decrypted device ROM or a Heimdall Firmware Package and extract everything to the one directory. 3. If the ROM is not a Heimdall Firmware Package it may instead be provided as multiple archives (nested or otherwise), extract them all to the same location. NOTE: If you want to use the CSC then extract it last. If you're asked to overwrite files then do so. 4. Put your Galaxy S device into download mode and plug it in.. 5. Open command prompt and navigate to the directory where you installed heimdall. NOTE: Adding Heimdall to your PATH variable will allow you to run Heimdall from any directory. 6. Type the following to list all the functionality Heimdall supports: heimdall help 7. Before flashing, you must first know the names of the partitions you wish to flash. These can be obtained by executing: heimdall print-pit --no-reboot The inclusion of --no-reboot ensures the phone will not reboot after PIT file has been downloaded and displayed. After executing a command with the --no-reboot argument, the next command should include the --resume argument. NOTE: You can still safely reboot your phone manually (with the power button) after executing --no-reboot commands. 8. Use the help and print-pit output to construct a command with all the file you want to flash. Here is an example that does a full flash and repartition on a GT-I9000: heimdall flash --repartition --resume --pit s1_odin_20100512.pit --FACTORYFS factoryfs.rfs --CACHE cache.rfs --DBDATA dbdata.rfs --IBL+PBL boot.bin --SBL Sbl.bin --PARAM param.lfs --KERNEL zImage --MODEM modem.bin NOTE: The above command assumes the files specified are installed in the same directory as Heimdall. 9. Heimdall will display the progress as it flashes so that you know things are working as they should. How to Create a Heimdall Firmware Package: Firstly, Heimdall's firmware package format is just a regular TAR archive compressed with gzip. The only two real requirements are that a valid firmware.xml must be included (refer to Appendix A) and you can only include files (no directories, links etc.) As such if you'd like there is nothing preventing you from creating Heimdall packages manually. Of course Heimdall Frontend provides a simple user interface that takes care of all the hard work for you. There are two ways in which you can create a firmware package. You can create a package from scratch, or you can load an existing package, apply modifications and then save the package. Creating a package from scratch is the preferred approach, by taking this approach you're far less likely to run into file name length limitations. These are not Heimdall's own limitation but rather a limitation of the TAR archive format. Before you can access Heimdall Frontend's firmware creation functionality (available from the "Create Package" tab) you must first specify which files will be included in your package, as well as a few flashing options i.e. Whether or not users should repartition when flashing. This information must be filled out from the "Flash" tab in exactly the same fashion you would provide information to flash your device (see "Performing a Custom Flash with Heimdall Frontend"). As mentioned above, it's not the preferred means, but you're able to load an existing package as a starting point for this information. Once you've specified the files/partitions you wish to include in your firmware package the "Create Package" tab will become available. Clicking this tab will display additional information that you can include in your package. In order to continue you must fill out all sections except for the URLs section, which is optional. The following is a break-down of what all these options mean. - General Firmware Information: - Firmware Name - This is the name of your particular firmware. An example would be "Cyanogenmod". Firmware Version - This is the version identifier for your package. Any valid string will be accepted although a the inclusion of decimal point version number is preferred i.e. "7.1". If it makes sense then feel free to append a text string like "RC1" or "Beta 1" to the decimal point version. Platform Name - This is the name of the platform (or operating system) that your firmware is based on. In most cases this will simply be "Android". Platform Version - This is the operating system version that your firmware is based on. Again decimal point version numbers are preferred over text, i.e. "2.3.4" is preferred over "Gingerbread". - Developers - URLs (Optional): Homepage - Here you can enter your personal URL or a URL particularly pertaining to the firmware being packaged. The URL must be well formed for it to work. An example of a well formed URL is "http://www.glassechidna.com.au/products/heimdall/". It is important to include "http://" in order to specify the protocol as other protocols such as "ftp://" are equally valid although unlikely to be used. Donate - Here you can enter a URL that will link users to a page to make donations for the effort you've put into developing your firmware. Once again the URL must be well formed but there is no requirement on how your donation page should work. For instance both "http://www.glassechidna.com.au/donate/" and "http://forum.xda-developers.com/donatetome.php?u=2710388" are equally valid. Developer Info: Name - Here you can enter in the name of individual team members or a team name. Click "Add" and the developer will be added to the list on the right. If you make a mistake you can select a developer from the list and click "Remove". You can list as many developers as you like however visual constraints of the "Load Package" tab means only a few names will be visible. Where possible you may want to opt for team names over listing individual team members. - Supported Devices - This section allows you to create a list of devices that are supported by your particular firmware. Although Heimdall isn't capable of enforcing this we strongly recommend you take this section seriously. If filled out correctly you could help save a number of accidental bricks! Device Info: Manufacturer - This is where you can enter the name of the manufacturer for a particular device. For now this will most likely be "Samsung". Name - This is the human readable name for a particular device. "Galaxy S", "Galaxy S II", "Droid Charge", "Vibrant" and "Galaxy S (Telstra)" are all valid names. There are a lot of possible variations here so be as specific as you think is necessary. Product Code - This is by far the most important bit of device information. Device names tend to be region specific and further subject to the whims of telecommunication companies and resellers. Product Codes (or product IDs) are designated by manufacturers and are generally the definitive means of referring to a particular device. Examples are "GT-I9000", "GT-I9100" and "SCH-I897". If you're unsure of a particular product code then both Google and GSMArena are your friends! After filling out all the necessary information the "Build" button will be enabled. If it's still disabled then you know you're missing some required information. In particular you must specify at least one developer and at least one supported device. Pressing the "Build" button will bring up a save dialogue where you must chose a file name for your particular package. Don't worry about specifying the ".tar.gz" extension Heimdall Frontend will take care of this automatically. Once you've chosen a file name Heimdall Frontend will begin the process of building the firmware package. In doing so a valid firmware.xml file will be generated from the information entered. All files will be archived in a single TAR file then the TAR archive will be compressed via gzip compression. Compression will take a little while but you will see progress bars so you know the application hasn't hung. When the progress bars disappear you're finished making your package. Congratulations! You're now ready to redistribute your firmware package online or by any means you see fit. Appendix A - firmware.xml The following details a part of the Heimdall Firmware Package format. This is only relevant to developers or advanced users who wish to create Heimdall Firmware Packages outside of Heimdall Frontend or in some way integrate support for the format in their own software. All Heimdall Firmware Packages must contain a file called firmware.xml. This file stores flash information and meta-data for the package as well as information about other files contained within the package. The format is fairly straight-forward so it won't be explained in great detail. Nonetheless the following is an example of a valid firmware.xml file. Test Firmware 1.1 Android 2.3.4 Benjamin Dobell Hedonism Bot http://www.glassechidna.com.au/ http://www.glassechidna.com.au/donate/ Samsung GT-I9000 Galaxy S Samsung GT-I9000T Galaxy S (Telstra) Samsung GT-I9000M Vibrant Nl3276-I9000 s1_odin_20100512.pit 0 0 0 gq3276-boot.bin 24 Uh3276-cache.rfs 22 em3276-factoryfs.rfs 11 fl3276-modem.bin 21 Xd3276-param.lfs 3 if3276-Sbl.bin 6 cr3276-zImage New lines need not be included and the order in which elements are specified does not need to match that of the above example. One and only one element must be included. The element must also have a version attribute specified. The version must be parsable as an integer and indicates what version of the Heimdall Firmware Package specification the package adheres to. All data is stored as strings, however a 's element must be parsable as an integer. The value represents the partition ID (according to the specified PIT file) that the file should be flashed to. A 's and elements must also be parsable as an integer. However, as they represent boolean values, a value of zero ("0") means false (or disabled) where as a non-zero value (typically "1") means true (or enabled). File names are specified relative to the TAR archive in which firmware.xml and all other files are to be stored. Heimdall Firmware Packages do not support directories or links, as such file names should only be a name and not a path. and are the only optional elements, all other elements must be included. Appendix B - Installing Heimdall Suite from Source 1. Ensure that you have both a version of Visual Studio 2012 with C++ support and Qt Developer Framework (4.7 or later, but prior to 5.0) installed on your system. A free version (Visual C++ 2012 Express) can be downloaded from Microsoft's website: http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products Qt can also be downloaded freely from: http://qt-project.org/downloads 2. Open msvc2012.sln 3. From the Solutions Configuration drop-down change from "Debug" to "Release". 4. In the Solution Explorer right-click on the heimdall-frontend project and chose "Build". 5. Depending on how you've installed Qt on your system you may need to copy "QtCore4.dll, "QtGui4.dll" and "QtXml4.dll" from your Qt bin/ sub-directory to Heimdall's Win32/Release sub-directory. 6. Heimdall Frontend can then be run from Win32/Release or command line can be used to run Heimdall (command line) from the same directory. Heimdall-1.4.1/heimdall-frontend/000077500000000000000000000000001234253036400166325ustar00rootroot00000000000000Heimdall-1.4.1/heimdall-frontend/Qt4VSPropertySheet.props000066400000000000000000000006341234253036400234010ustar00rootroot00000000000000 $(QTDIR) true Heimdall-1.4.1/heimdall-frontend/Source/000077500000000000000000000000001234253036400200725ustar00rootroot00000000000000Heimdall-1.4.1/heimdall-frontend/Source/Alerts.cpp000066400000000000000000000031461234253036400220340ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // Qt #include // Heimdall Frontend #include "Alerts.h" using namespace HeimdallFrontend; void Alerts::DisplayError(const QString& errorMessage) { QMessageBox messageBox; messageBox.setModal(true); messageBox.setText(errorMessage); messageBox.setIcon(QMessageBox::Critical); messageBox.exec(); } void Alerts::DisplayWarning(const QString& warningMessage) { QMessageBox messageBox; messageBox.setModal(true); messageBox.setText(warningMessage); messageBox.setIcon(QMessageBox::Warning); messageBox.exec(); } Heimdall-1.4.1/heimdall-frontend/Source/Alerts.h000066400000000000000000000025131234253036400214760ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef ALERTS_H #define ALERTS_H // Qt #include namespace HeimdallFrontend { class Alerts { public: static void DisplayError(const QString& errorMessage); static void DisplayWarning(const QString& warningMessage); }; } #endif Heimdall-1.4.1/heimdall-frontend/Source/FirmwareInfo.cpp000066400000000000000000000410131234253036400231650ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // Qt #include "QRegExp" // Heimdall Frontend #include "Alerts.h" #include "FirmwareInfo.h" #include "Packaging.h" using namespace HeimdallFrontend; DeviceInfo::DeviceInfo() { } DeviceInfo::DeviceInfo(const QString& manufacturer, const QString& product, const QString& name) { this->manufacturer = manufacturer; this->product = product; this->name = name; } bool DeviceInfo::ParseXml(QXmlStreamReader& xml) { bool foundManufacturer = false; bool foundProduct = false; bool foundName = false; while (!xml.atEnd()) { QXmlStreamReader::TokenType nextToken = xml.readNext(); if (nextToken == QXmlStreamReader::StartElement) { if (xml.name() == "manufacturer") { if (foundManufacturer) { Alerts::DisplayError("Found multiple elements in ."); return (false); } foundManufacturer = true; manufacturer = xml.readElementText(); } else if (xml.name() == "product") { if (foundProduct) { Alerts::DisplayError("Found multiple elements in ."); return (false); } foundProduct = true; product = xml.readElementText(); } else if (xml.name() == "name") { if (foundName) { Alerts::DisplayError("Found multiple elements in ."); return (false); } foundName = true; name = xml.readElementText(); } else { Alerts::DisplayError(QString("<%1> is not a valid child of .").arg(xml.name().toString())); return (false); } } else if (nextToken == QXmlStreamReader::EndElement) { if (xml.name() == "device") { if (foundManufacturer && foundProduct && foundName) { return (true); } else { Alerts::DisplayError("Required elements are missing from ."); return (false); } } } else { if (!(nextToken == QXmlStreamReader::Characters && xml.isWhitespace())) { Alerts::DisplayError("Unexpected token found in ."); return (false); } } } return (false); } void DeviceInfo::WriteXml(QXmlStreamWriter& xml) const { xml.writeStartElement("device"); xml.writeStartElement("manufacturer"); xml.writeCharacters(manufacturer); xml.writeEndElement(); xml.writeStartElement("product"); xml.writeCharacters(product); xml.writeEndElement(); xml.writeStartElement("name"); xml.writeCharacters(name); xml.writeEndElement(); xml.writeEndElement(); } PlatformInfo::PlatformInfo() { } void PlatformInfo::Clear(void) { name.clear(); version.clear(); } bool PlatformInfo::IsCleared(void) const { return (name.isEmpty() && version.isEmpty()); } bool PlatformInfo::ParseXml(QXmlStreamReader& xml) { Clear(); bool foundName = false; bool foundVersion = false; while (!xml.atEnd()) { QXmlStreamReader::TokenType nextToken = xml.readNext(); if (nextToken == QXmlStreamReader::StartElement) { if (xml.name() == "name") { if (foundName) { Alerts::DisplayError("Found multiple elements in ."); return (false); } foundName = true; name = xml.readElementText(); } else if (xml.name() == "version") { if (foundVersion) { Alerts::DisplayError("Found multiple elements in ."); return (false); } foundVersion = true; version = xml.readElementText(); } else { Alerts::DisplayError(QString("<%1> is not a valid child of .").arg(xml.name().toString())); return (false); } } else if (nextToken == QXmlStreamReader::EndElement) { if (xml.name() == "platform") { if (foundName && foundVersion) { return (true); } else { Alerts::DisplayError("Required elements are missing from ."); return (false); } } } else { if (!(nextToken == QXmlStreamReader::Characters && xml.isWhitespace())) { Alerts::DisplayError("Unexpected token found in ."); return (false); } } } return (false); } void PlatformInfo::WriteXml(QXmlStreamWriter& xml) const { xml.writeStartElement("platform"); xml.writeStartElement("name"); xml.writeCharacters(name); xml.writeEndElement(); xml.writeStartElement("version"); xml.writeCharacters(version); xml.writeEndElement(); xml.writeEndElement(); } FileInfo::FileInfo() { } FileInfo::FileInfo(unsigned int partitionId, const QString& filename) { this->partitionId = partitionId; this->filename = filename; } bool FileInfo::ParseXml(QXmlStreamReader& xml) { bool foundId = false; bool foundFilename = false; while (!xml.atEnd()) { QXmlStreamReader::TokenType nextToken = xml.readNext(); if (nextToken == QXmlStreamReader::StartElement) { if (xml.name() == "id") { if (foundId) { Alerts::DisplayError("Found multiple elements in ."); return (false); } foundId = true; partitionId = xml.readElementText().toInt(); } else if (xml.name() == "filename") { if (foundFilename) { Alerts::DisplayError("Found multiple elements in ."); return (false); } foundFilename = true; filename = xml.readElementText(); } else { Alerts::DisplayError(QString("<%1> is not a valid child of .").arg(xml.name().toString())); return (false); } } else if (nextToken == QXmlStreamReader::EndElement) { if (xml.name() == "file") { if (foundId && foundFilename) { return (true); } else { Alerts::DisplayError("Required elements are missing from ."); return (false); } } } else { if (!(nextToken == QXmlStreamReader::Characters && xml.isWhitespace())) { Alerts::DisplayError("Unexpected token found in ."); return (false); } } } return (false); } void FileInfo::WriteXml(QXmlStreamWriter& xml, const QString& filename) const { xml.writeStartElement("file"); xml.writeStartElement("id"); xml.writeCharacters(QString::number(partitionId)); xml.writeEndElement(); xml.writeStartElement("filename"); xml.writeCharacters(filename); xml.writeEndElement(); xml.writeEndElement(); } FirmwareInfo::FirmwareInfo() { repartition = false; noReboot = false; } void FirmwareInfo::Clear(void) { name = ""; version = ""; platformInfo.Clear(); developers.clear(); url.clear(); donateUrl.clear(); deviceInfos.clear(); pitFilename.clear(); repartition = false; noReboot = false; fileInfos.clear(); } bool FirmwareInfo::IsCleared(void) const { return (name.isEmpty() && version.isEmpty() && platformInfo.IsCleared() && developers.isEmpty() && url.isEmpty() && url.isEmpty() && donateUrl.isEmpty() && deviceInfos.isEmpty() && pitFilename.isEmpty() && !repartition && !noReboot && fileInfos.isEmpty()); } bool FirmwareInfo::ParseXml(QXmlStreamReader& xml) { Clear(); bool foundName = false; bool foundVersion = false; bool foundPlatform = false; bool foundDevelopers = false; bool foundUrl = false; bool foundDonateUrl = false; bool foundDevices = false; bool foundPit = false; bool foundRepartition = false; bool foundNoReboot = false; bool foundFiles = false; if (!xml.readNextStartElement()) { Alerts::DisplayError("Failed to find element."); return (false); } if (xml.name() != "firmware") { Alerts::DisplayError(QString("Expected element but found <%1>.").arg(xml.name().toString())); return (false); } QString formatVersionString; formatVersionString += xml.attributes().value("version"); if (formatVersionString.isEmpty()) { Alerts::DisplayError(" is missing the version attribute."); return (false); } bool parsedVersion = false; int formatVersion = formatVersionString.toInt(&parsedVersion); if (!parsedVersion) { Alerts::DisplayError(" contains a malformed version."); return (false); } if (formatVersion > kVersion) { Alerts::DisplayError("Package is for a newer version of Heimdall Frontend.\nPlease download the latest version of Heimdall Frontend."); return (false); } while (!xml.atEnd()) { QXmlStreamReader::TokenType nextToken = xml.readNext(); if (nextToken == QXmlStreamReader::StartElement) { if (xml.name() == "name") { if (foundName) { Alerts::DisplayError("Found multiple elements in ."); return (false); } foundName = true; name = xml.readElementText(); } else if (xml.name() == "version") { if (foundVersion) { Alerts::DisplayError("Found multiple elements in ."); return (false); } foundVersion = true; version = xml.readElementText(); } else if (xml.name() == "platform") { if (foundPlatform) { Alerts::DisplayError("Found multiple elements in ."); return (false); } foundPlatform = true; if (!platformInfo.ParseXml(xml)) return (false); } else if (xml.name() == "developers") { if (foundDevelopers) { Alerts::DisplayError("Found multiple elements in ."); return (false); } foundDevelopers = true; while (!xml.atEnd()) { nextToken = xml.readNext(); if (nextToken == QXmlStreamReader::StartElement) { if (xml.name() == "name") { developers.append(xml.readElementText()); } else { Alerts::DisplayError(QString("<%1> is not a valid child of .").arg(xml.name().toString())); return (false); } } else if (nextToken == QXmlStreamReader::EndElement) { if (xml.name() == "developers") break; } else { if (!(nextToken == QXmlStreamReader::Characters && xml.isWhitespace())) { Alerts::DisplayError("Unexpected token found in ."); return (false); } } } } else if (xml.name() == "url") { if (foundUrl) { Alerts::DisplayError("Found multiple elements in ."); return (false); } foundUrl = true; url = xml.readElementText(); } else if (xml.name() == "donateurl") { if (foundDonateUrl) { Alerts::DisplayError("Found multiple elements in ."); return (false); } foundDonateUrl = true; donateUrl = xml.readElementText(); } else if (xml.name() == "devices") { if (foundDevices) { Alerts::DisplayError("Found multiple elements in ."); return (false); } foundDevices = true; while (!xml.atEnd()) { nextToken = xml.readNext(); if (nextToken == QXmlStreamReader::StartElement) { if (xml.name() == "device") { DeviceInfo deviceInfo; if (!deviceInfo.ParseXml(xml)) return (false); deviceInfos.append(deviceInfo); } else { Alerts::DisplayError(QString("<%1> is not a valid child of .").arg(xml.name().toString())); return (false); } } else if (nextToken == QXmlStreamReader::EndElement) { if (xml.name() == "devices") break; } else { if (!(nextToken == QXmlStreamReader::Characters && xml.isWhitespace())) { Alerts::DisplayError("Unexpected token found in ."); return (false); } } } } else if (xml.name() == "pit") { if (foundPit) { Alerts::DisplayError("Found multiple elements in ."); return (false); } foundPit = true; pitFilename = xml.readElementText(); } else if (xml.name() == "repartition") { if (foundRepartition) { Alerts::DisplayError("Found multiple elements in ."); return (false); } foundRepartition = true; repartition = (xml.readElementText().toInt() != 0); } else if (xml.name() == "noreboot") { if (foundNoReboot) { Alerts::DisplayError("Found multiple elements in ."); return (false); } foundNoReboot = true; noReboot = (xml.readElementText().toInt() != 0); } else if (xml.name() == "files") { if (foundFiles) { Alerts::DisplayError("Found multiple elements in ."); return (false); } foundFiles = true; while (!xml.atEnd()) { nextToken = xml.readNext(); if (nextToken == QXmlStreamReader::StartElement) { if (xml.name() == "file") { FileInfo fileInfo; if (!fileInfo.ParseXml(xml)) return (false); fileInfos.append(fileInfo); } else { Alerts::DisplayError(QString("<%1> is not a valid child of .").arg(xml.name().toString())); return (false); } } else if (nextToken == QXmlStreamReader::EndElement) { if (xml.name() == "files") break; } else { if (!(nextToken == QXmlStreamReader::Characters && xml.isWhitespace())) { Alerts::DisplayError("Unexpected token found in ."); return (false); } } } } else { Alerts::DisplayError(QString("<%1> is not a valid child of .").arg(xml.name().toString())); return (false); } } else if (nextToken == QXmlStreamReader::EndElement) { if (xml.name() == "firmware") { if (!(foundName && foundVersion && foundPlatform && foundDevelopers && foundDevices && foundPit && foundRepartition && foundNoReboot && foundFiles)) { Alerts::DisplayError("Required elements are missing from ."); return (false); } else { break; } } } else { if (!(nextToken == QXmlStreamReader::Characters && xml.isWhitespace())) { Alerts::DisplayError("Unexpected token found in ."); return (false); } } } // Read whitespaces at the end of the file (if there are any) xml.readNext(); if (!xml.atEnd()) { Alerts::DisplayError("Found data after ."); return (false); } return (true); } void FirmwareInfo::WriteXml(QXmlStreamWriter& xml) const { xml.writeStartDocument(); xml.writeStartElement("firmware"); xml.writeAttribute("version", QString::number(FirmwareInfo::kVersion)); xml.writeStartElement("name"); xml.writeCharacters(name); xml.writeEndElement(); xml.writeStartElement("version"); xml.writeCharacters(version); xml.writeEndElement(); platformInfo.WriteXml(xml); xml.writeStartElement("developers"); for (int i = 0; i < developers.length(); i++) { xml.writeStartElement("name"); xml.writeCharacters(developers[i]); xml.writeEndElement(); } xml.writeEndElement(); if (!url.isEmpty()) { xml.writeStartElement("url"); xml.writeCharacters(url); xml.writeEndElement(); } if (!donateUrl.isEmpty()) { xml.writeStartElement("donateurl"); xml.writeCharacters(donateUrl); xml.writeEndElement(); } xml.writeStartElement("devices"); for (int i = 0; i < deviceInfos.length(); i++) deviceInfos[i].WriteXml(xml); xml.writeEndElement(); xml.writeStartElement("pit"); int lastSlash = pitFilename.lastIndexOf('/'); if (lastSlash < 0) lastSlash = pitFilename.lastIndexOf('\\'); xml.writeCharacters(pitFilename.mid(lastSlash + 1)); xml.writeEndElement(); xml.writeStartElement("repartition"); xml.writeCharacters((repartition) ? "1" : "0"); xml.writeEndElement(); xml.writeStartElement("noreboot"); xml.writeCharacters((noReboot) ? "1" : "0"); xml.writeEndElement(); xml.writeStartElement("files"); for (int i = 0; i < fileInfos.length(); i++) { fileInfos[i].WriteXml(xml, Packaging::ClashlessFilename(fileInfos, i)); } xml.writeEndElement(); xml.writeEndElement(); xml.writeEndDocument(); } Heimdall-1.4.1/heimdall-frontend/Source/FirmwareInfo.h000066400000000000000000000125731234253036400226430ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef FIRMWAREINFO_H #define FIRMWAREINFO_H // Qt #include #include #include namespace HeimdallFrontend { class DeviceInfo { private: QString manufacturer; QString product; QString name; public: DeviceInfo(); DeviceInfo(const QString& manufacturer, const QString& product, const QString& name); bool ParseXml(QXmlStreamReader& xml); void WriteXml(QXmlStreamWriter& xml) const; const QString& GetManufacturer(void) const { return (manufacturer); } void SetManufacturer(const QString& manufacturer) { this->manufacturer = manufacturer; } const QString& GetProduct(void) const { return (product); } void SetProduct(const QString& product) { this->product = product; } const QString& GetName(void) const { return (name); } void SetName(const QString& name) { this->name = name; } }; class PlatformInfo { private: QString name; QString version; public: PlatformInfo(); void Clear(void); bool IsCleared(void) const; bool ParseXml(QXmlStreamReader& xml); void WriteXml(QXmlStreamWriter& xml) const; const QString& GetName(void) const { return (name); } void SetName(const QString& name) { this->name = name; } const QString& GetVersion(void) const { return (version); } void SetVersion(const QString& version) { this->version = version; } }; class FileInfo { private: unsigned int partitionId; QString filename; public: FileInfo(); FileInfo(unsigned int partitionId, const QString& filename); bool ParseXml(QXmlStreamReader& xml); void WriteXml(QXmlStreamWriter& xml, const QString& filename) const; unsigned int GetPartitionId(void) const { return (partitionId); } void SetPartitionId(unsigned int partitionId) { this->partitionId = partitionId; } const QString& GetFilename(void) const { return (filename); } void SetFilename(const QString& filename) { this->filename = filename; } }; class FirmwareInfo { public: enum { kVersion = 1 }; private: QString name; QString version; PlatformInfo platformInfo; QList developers; QString url; QString donateUrl; QList deviceInfos; QString pitFilename; bool repartition; bool noReboot; QList fileInfos; public: FirmwareInfo(); void Clear(void); bool IsCleared(void) const; bool ParseXml(QXmlStreamReader& xml); void WriteXml(QXmlStreamWriter& xml) const; const QString& GetName(void) const { return (name); } void SetName(const QString& name) { this->name = name; } const QString& GetVersion(void) const { return (version); } void SetVersion(const QString& version) { this->version = version; } const PlatformInfo& GetPlatformInfo(void) const { return (platformInfo); } PlatformInfo& GetPlatformInfo(void) { return (platformInfo); } const QList& GetDevelopers(void) const { return (developers); } QList& GetDevelopers(void) { return (developers); } const QString& GetUrl(void) const { return (url); } void SetUrl(const QString& url) { this->url = url; } const QString& GetDonateUrl(void) const { return (donateUrl); } void SetDonateUrl(const QString& donateUrl) { this->donateUrl = donateUrl; } const QList& GetDeviceInfos(void) const { return (deviceInfos); } QList& GetDeviceInfos(void) { return (deviceInfos); } const QString& GetPitFilename(void) const { return (pitFilename); } void SetPitFilename(const QString& pitFilename) { this->pitFilename = pitFilename; } bool GetRepartition(void) const { return (repartition); } void SetRepartition(bool repartition) { this->repartition = repartition; } bool GetNoReboot(void) const { return (noReboot); } void SetNoReboot(bool noReboot) { this->noReboot = noReboot; } const QList& GetFileInfos(void) const { return (fileInfos); } QList& GetFileInfos(void) { return (fileInfos); } }; } #endif Heimdall-1.4.1/heimdall-frontend/Source/PackageData.cpp000066400000000000000000000035221234253036400227250ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // Heimdall Frontend #include "Alerts.h" #include "PackageData.h" using namespace HeimdallFrontend; PackageData::PackageData() { } PackageData::~PackageData() { for (int i = 0; i < files.length(); i++) delete files[i]; } void PackageData::Clear(void) { firmwareInfo.Clear(); for (int i = 0; i < files.length(); i++) delete files[i]; files.clear(); } bool PackageData::ReadFirmwareInfo(QFile *file) { if (!file->open(QFile::ReadOnly)) { Alerts::DisplayError(QString("Failed to open file: \1%s").arg(file->fileName())); return (false); } QXmlStreamReader xml(file); bool success = firmwareInfo.ParseXml(xml); file->close(); return (success); } bool PackageData::IsCleared(void) const { return (firmwareInfo.IsCleared() && files.isEmpty()); } Heimdall-1.4.1/heimdall-frontend/Source/PackageData.h000066400000000000000000000036551234253036400224010ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef PACKAGEDATA_H #define PACKAGEDATA_H // Qt #include // Heimdall Frontend #include "FirmwareInfo.h" namespace HeimdallFrontend { class PackageData { private: FirmwareInfo firmwareInfo; QList files; public: PackageData(); ~PackageData(); void Clear(void); bool ReadFirmwareInfo(QFile *file); bool IsCleared(void) const; const FirmwareInfo& GetFirmwareInfo(void) const { return (firmwareInfo); } FirmwareInfo& GetFirmwareInfo(void) { return (firmwareInfo); } const QList& GetFiles(void) const { return (files); } QList& GetFiles(void) { return (files); } // Simply clears the files list, it does delete/close any files. void RemoveAllFiles(void) { files.clear(); } }; } #endif Heimdall-1.4.1/heimdall-frontend/Source/Packaging.cpp000066400000000000000000000553741234253036400225000ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifdef WIN32 #pragma warning(disable : 4996) #endif // C/C++ Standard Library #include // zlib #include "zlib.h" // Qt #include #include #include // Heimdall Frontend #include "Alerts.h" #include "Packaging.h" using namespace HeimdallFrontend; const qint64 Packaging::kMaxFileSize = 8589934592ll; const char *Packaging::ustarMagic = "ustar"; bool Packaging::ExtractTar(QTemporaryFile& tarFile, PackageData *packageData) { TarHeader tarHeader; if (!tarFile.open()) { Alerts::DisplayError(QString("Error opening temporary TAR archive:\n%1").arg(tarFile.fileName())); return (false); } bool previousEmpty = false; QProgressDialog progressDialog("Extracting files...", "Cancel", 0, tarFile.size()); progressDialog.setWindowModality(Qt::ApplicationModal); progressDialog.setWindowTitle("Heimdall Frontend"); while (!tarFile.atEnd()) { qint64 dataRead = tarFile.read(tarHeader.buffer, TarHeader::kBlockLength); if (dataRead != TarHeader::kBlockLength) { progressDialog.close(); Alerts::DisplayError("Package's TAR archive is malformed."); tarFile.close(); return (false); } progressDialog.setValue(tarFile.pos()); if (progressDialog.wasCanceled()) { tarFile.close(); progressDialog.close(); return (false); } //bool ustarFormat = strcmp(tarHeader.fields.magic, ustarMagic) == 0; bool empty = true; for (int i = 0; i < TarHeader::kBlockLength; i++) { if (tarHeader.buffer[i] != 0) { empty = false; break; } } if (empty) { if (previousEmpty) { // Two empty blocks in a row means we've reached the end of the archive. break; } } else { int checksum = 0; for (char *bufferIndex = tarHeader.buffer; bufferIndex < tarHeader.fields.checksum; bufferIndex++) checksum += static_cast(*bufferIndex); checksum += 8 * ' '; checksum += static_cast(tarHeader.fields.typeFlag); // Both the TAR and USTAR formats have terrible documentation, it's not clear if the following code is required. /*if (ustarFormat) { for (char *bufferIndex = tarHeader.fields.linkName; bufferIndex < tarHeader.fields.prefix + 155; bufferIndex++) checksum += static_cast(*bufferIndex); }*/ bool parsed = false; // The size field is not always null terminated, so we must create a copy and null terminate it for parsing. char fileSizeString[13]; memcpy(fileSizeString, tarHeader.fields.size, 12); fileSizeString[12] = '\0'; qulonglong fileSize = QString(fileSizeString).toULongLong(&parsed, 8); if (!parsed) { progressDialog.close(); Alerts::DisplayError("Tar header contained an invalid file size."); tarFile.close(); return (false); } if (fileSize > 0 && tarHeader.fields.typeFlag == '0') { // We're working with a file. QString filename = QString::fromUtf8(tarHeader.fields.name); QTemporaryFile *outputFile = new QTemporaryFile("XXXXXX-" + filename); packageData->GetFiles().append(outputFile); if (!outputFile->open()) { progressDialog.close(); Alerts::DisplayError(QString("Failed to open output file: \n%1").arg(outputFile->fileName())); tarFile.close(); return (false); } qulonglong dataRemaining = fileSize; char readBuffer[TarHeader::kBlockReadCount * TarHeader::kBlockLength]; // Copy the file contents from tarFile to outputFile while (dataRemaining > 0) { qint64 fileDataToRead = (dataRemaining < TarHeader::kBlockReadCount * TarHeader::kBlockLength) ? dataRemaining : TarHeader::kBlockReadCount * TarHeader::kBlockLength; qint64 dataRead = tarFile.read(readBuffer, fileDataToRead + (TarHeader::kBlockLength - fileDataToRead % TarHeader::kBlockLength) % TarHeader::kBlockLength); if (dataRead < fileDataToRead || dataRead % TarHeader::kBlockLength != 0) { progressDialog.close(); Alerts::DisplayError("Unexpected read error whilst extracting package files."); tarFile.close(); outputFile->close(); remove(outputFile->fileName().toStdString().c_str()); return (false); } outputFile->write(readBuffer, fileDataToRead); dataRemaining -= fileDataToRead; progressDialog.setValue(tarFile.pos()); if (progressDialog.wasCanceled()) { tarFile.close(); outputFile->close(); remove(outputFile->fileName().toStdString().c_str()); progressDialog.close(); return (false); } } outputFile->close(); } else { progressDialog.close(); Alerts::DisplayError("Heimdall packages shouldn't contain links or directories."); tarFile.close(); return (false); } } previousEmpty = empty; } progressDialog.close(); tarFile.close(); return (true); } bool Packaging::WriteTarEntry(const QString& filePath, QTemporaryFile *tarFile, const QString& entryFilename) { TarHeader tarHeader; memset(tarHeader.buffer, 0, TarHeader::kBlockLength); QFile file(filePath); if (!file.open(QFile::ReadOnly)) { Alerts::DisplayError(QString("Failed to open file: \n%1").arg(file.fileName())); return (false); } if (file.size() > Packaging::kMaxFileSize) { Alerts::DisplayError(QString("File is too large to be packaged:\n%1").arg(file.fileName())); return (false); } QFileInfo qtFileInfo(file); QByteArray utfFilename; utfFilename = entryFilename.toUtf8(); if (utfFilename.length() > 100) { Alerts::DisplayError(QString("File name is too long:\n%1").arg(qtFileInfo.fileName())); return (false); } strcpy(tarHeader.fields.name, utfFilename.constData()); unsigned int mode = 0; QFile::Permissions permissions = file.permissions(); // Other if (permissions.testFlag(QFile::ExeOther)) mode |= TarHeader::kModeOtherExecute; if (permissions.testFlag(QFile::WriteOther)) mode |= TarHeader::kModeOtherWrite; if (permissions.testFlag(QFile::ReadOther)) mode |= TarHeader::kModeOtherRead; // Group if (permissions.testFlag(QFile::ExeGroup)) mode |= TarHeader::kModeGroupExecute; if (permissions.testFlag(QFile::WriteGroup)) mode |= TarHeader::kModeGroupWrite; if (permissions.testFlag(QFile::ReadGroup)) mode |= TarHeader::kModeGroupRead; // Owner if (permissions.testFlag(QFile::ExeOwner)) mode |= TarHeader::kModeOwnerExecute; if (permissions.testFlag(QFile::WriteOwner)) mode |= TarHeader::kModeOwnerWrite; if (permissions.testFlag(QFile::ReadOwner)) mode |= TarHeader::kModeOwnerRead; sprintf(tarHeader.fields.mode, "%07o", mode); // Owner id uint id = qtFileInfo.ownerId(); if (id < 2097151) sprintf(tarHeader.fields.userId, "%07o", id); else sprintf(tarHeader.fields.userId, "%07o", 0); // Group id id = qtFileInfo.groupId(); if (id < 2097151) sprintf(tarHeader.fields.groupId, "%07o", id); else sprintf(tarHeader.fields.groupId, "%07o", 0); // Note: We don't support base-256 encoding. Support could be added later. sprintf(tarHeader.fields.size, "%011llo", file.size()); sprintf(tarHeader.fields.modifiedTime, "%u", qtFileInfo.lastModified().toTime_t()); // Regular File tarHeader.fields.typeFlag = '0'; // Calculate checksum int checksum = 0; memset(tarHeader.fields.checksum, ' ', 8); for (int i = 0; i < TarHeader::kTarHeaderLength; i++) checksum += static_cast(tarHeader.buffer[i]); sprintf(tarHeader.fields.checksum, "%07o", checksum); // Write the header to the TAR file. tarFile->write(tarHeader.buffer, TarHeader::kBlockLength); char buffer[TarHeader::kBlockWriteCount * TarHeader::kBlockLength]; qint64 offset = 0; while (offset < file.size()) { qint64 dataRead = file.read(buffer, TarHeader::kBlockWriteCount * TarHeader::kBlockLength); if (tarFile->write(buffer, dataRead) != dataRead) { Alerts::DisplayError("Failed to write data to the temporary TAR file."); return (false); } if (dataRead % TarHeader::kBlockLength != 0) { int remainingBlockLength = TarHeader::kBlockLength - dataRead % TarHeader::kBlockLength; memset(buffer, 0, remainingBlockLength); if (tarFile->write(buffer, remainingBlockLength) != remainingBlockLength) { Alerts::DisplayError("Failed to write data to the temporary TAR file."); return (false); } } offset += dataRead; } return (true); } bool Packaging::CreateTar(const FirmwareInfo& firmwareInfo, QTemporaryFile *tarFile) { const QList& fileInfos = firmwareInfo.GetFileInfos(); QProgressDialog progressDialog("Packaging files...", "Cancel", 0, fileInfos.length() + 2); progressDialog.setWindowModality(Qt::ApplicationModal); progressDialog.setWindowTitle("Heimdall Frontend"); QTemporaryFile firmwareXmlFile("XXXXXX-firmware.xml"); if (!firmwareXmlFile.open()) { progressDialog.close(); Alerts::DisplayError(QString("Failed to create temporary file: \n%1").arg(firmwareXmlFile.fileName())); return (false); } QXmlStreamWriter xml(&firmwareXmlFile); firmwareInfo.WriteXml(xml); firmwareXmlFile.close(); if (!tarFile->open()) { progressDialog.close(); Alerts::DisplayError(QString("Failed to open file: \n%1").arg(tarFile->fileName())); return (false); } for (int i = 0; i < fileInfos.length(); i++) { // If the file was already compressed we don't compress it again. bool skip = false; for (int j = 0; j < i; j++) { if (fileInfos[i].GetFilename() == fileInfos[j].GetFilename()) { skip = true; break; } } if (skip) { progressDialog.setValue(i); continue; } QString filename = ClashlessFilename(fileInfos, i); if (filename == "firmware.xml") { Alerts::DisplayError("You cannot name your partition files \"firmware.xml\".\nIt is a reserved name."); return (false); } if (!WriteTarEntry(fileInfos[i].GetFilename(), tarFile, filename)) { tarFile->resize(0); tarFile->close(); progressDialog.close(); return (false); } progressDialog.setValue(i); if (progressDialog.wasCanceled()) { tarFile->resize(0); tarFile->close(); progressDialog.close(); return (false); } } int lastSlash = firmwareInfo.GetPitFilename().lastIndexOf('/'); if (lastSlash < 0) lastSlash = firmwareInfo.GetPitFilename().lastIndexOf('\\'); QString pitFilename = ClashlessFilename(fileInfos, firmwareInfo.GetPitFilename().mid(lastSlash + 1)); if (pitFilename == "firmware.xml") { Alerts::DisplayError("You cannot name your PIT file \"firmware.xml\".\nIt is a reserved name."); return (false); } if (!WriteTarEntry(firmwareInfo.GetPitFilename(), tarFile, pitFilename)) { tarFile->resize(0); tarFile->close(); return (false); } progressDialog.setValue(progressDialog.value() + 1); if (progressDialog.wasCanceled()) { tarFile->resize(0); tarFile->close(); progressDialog.close(); return (false); } if (!WriteTarEntry(firmwareXmlFile.fileName(), tarFile, "firmware.xml")) { tarFile->resize(0); tarFile->close(); return (false); } progressDialog.setValue(progressDialog.value() + 1); progressDialog.close(); // Write two empty blocks to signify the end of the archive. char emptyEntry[TarHeader::kBlockLength]; memset(emptyEntry, 0, TarHeader::kBlockLength); tarFile->write(emptyEntry, TarHeader::kBlockLength); tarFile->write(emptyEntry, TarHeader::kBlockLength); tarFile->close(); return (true); } bool Packaging::ExtractPackage(const QString& packagePath, PackageData *packageData) { FILE *compressedPackageFile = fopen(packagePath.toStdString().c_str(), "rb"); if (!compressedPackageFile) { Alerts::DisplayError(QString("Failed to open package:\n%1").arg(packagePath)); return (false); } fseek(compressedPackageFile, 0, SEEK_END); quint64 compressedFileSize = ftell(compressedPackageFile); rewind(compressedPackageFile); gzFile packageFile = gzdopen(fileno(compressedPackageFile), "rb"); QTemporaryFile outputTar("XXXXXX.tar"); if (!outputTar.open()) { Alerts::DisplayError("Failed to open temporary TAR archive."); gzclose(packageFile); return (false); } char buffer[kExtractBufferLength]; int bytesRead; quint64 totalBytesRead = 0; QProgressDialog progressDialog("Decompressing package...", "Cancel", 0, compressedFileSize); progressDialog.setWindowModality(Qt::ApplicationModal); progressDialog.setWindowTitle("Heimdall Frontend"); do { bytesRead = gzread(packageFile, buffer, kExtractBufferLength); if (bytesRead == -1) { progressDialog.close(); Alerts::DisplayError("Error decompressing archive."); gzclose(packageFile); return (false); } outputTar.write(buffer, bytesRead); totalBytesRead += bytesRead; progressDialog.setValue(totalBytesRead); if (progressDialog.wasCanceled()) { gzclose(packageFile); progressDialog.close(); return (false); } } while (bytesRead > 0); progressDialog.close(); outputTar.close(); gzclose(packageFile); // Closes packageFile and compressedPackageFile if (!ExtractTar(outputTar, packageData)) return (false); // Find and read firmware.xml for (int i = 0; i < packageData->GetFiles().length(); i++) { QTemporaryFile *file = packageData->GetFiles()[i]; if (file->fileTemplate() == "XXXXXX-firmware.xml") { if (!packageData->ReadFirmwareInfo(file)) { packageData->Clear(); return (false); } return (true); } } Alerts::DisplayError("firmware.xml is missing from the package."); return (false); } bool Packaging::BuildPackage(const QString& packagePath, const FirmwareInfo& firmwareInfo) { FILE *compressedPackageFile = fopen(packagePath.toStdString().c_str(), "wb"); if (!compressedPackageFile) { Alerts::DisplayError(QString("Failed to create package:\n%1").arg(packagePath)); return (false); } QTemporaryFile tar("XXXXXX.tar"); if (!CreateTar(firmwareInfo, &tar)) { fclose(compressedPackageFile); remove(packagePath.toStdString().c_str()); return (false); } if (!tar.open()) { Alerts::DisplayError(QString("Failed to open temporary file: \n%1").arg(tar.fileName())); fclose(compressedPackageFile); remove(packagePath.toStdString().c_str()); return (false); } gzFile packageFile = gzdopen(fileno(compressedPackageFile), "wb"); char buffer[kCompressBufferLength]; qint64 totalBytesRead = 0; int bytesRead; QProgressDialog progressDialog("Compressing package...", "Cancel", 0, tar.size()); progressDialog.setWindowModality(Qt::ApplicationModal); progressDialog.setWindowTitle("Heimdall Frontend"); do { bytesRead = tar.read(buffer, kCompressBufferLength); if (bytesRead == -1) { progressDialog.close(); Alerts::DisplayError("Error reading temporary TAR file."); gzclose(packageFile); remove(packagePath.toStdString().c_str()); return (false); } if (gzwrite(packageFile, buffer, bytesRead) != bytesRead) { progressDialog.close(); Alerts::DisplayError("Error compressing package."); gzclose(packageFile); remove(packagePath.toStdString().c_str()); return (false); } totalBytesRead += bytesRead; progressDialog.setValue(totalBytesRead); if (progressDialog.wasCanceled()) { gzclose(packageFile); remove(packagePath.toStdString().c_str()); progressDialog.close(); return (false); } } while (bytesRead > 0); progressDialog.close(); gzclose(packageFile); // Closes packageFile and compressedPackageFile return (true); } QString Packaging::ClashlessFilename(const QList& fileInfos, int fileInfoIndex) { int lastSlash = fileInfos[fileInfoIndex].GetFilename().lastIndexOf('/'); if (lastSlash < 0) lastSlash = fileInfos[fileInfoIndex].GetFilename().lastIndexOf('\\'); QString filename = fileInfos[fileInfoIndex].GetFilename().mid(lastSlash + 1); unsigned int renameIndex = 0; // Check for name clashes for (int i = 0; i < fileInfoIndex; i++) { lastSlash = fileInfos[i].GetFilename().lastIndexOf('/'); if (lastSlash < 0) lastSlash = fileInfos[i].GetFilename().lastIndexOf('\\'); QString otherFilename = fileInfos[i].GetFilename().mid(lastSlash + 1); // If the filenames are the same, but the files themselves aren't the same (i.e. not the same path), then rename. if (filename == otherFilename && fileInfos[i].GetFilename() != fileInfos[fileInfoIndex].GetFilename()) renameIndex++; } if (renameIndex > 0) { int lastPeriodIndex = filename.lastIndexOf(QChar('.')); QString shortFilename; QString fileType; if (lastPeriodIndex >= 0) { shortFilename = filename.left(lastPeriodIndex); fileType = filename.mid(lastPeriodIndex); } else { shortFilename = filename; } unsigned int renameIndexOffset = 0; bool validIndexOffset = true; // Before we append a rename index we must ensure it doesn't produce further collisions. for (int i = 0; i < fileInfos.length(); i++) { int lastSlash = fileInfos[i].GetFilename().lastIndexOf('/'); if (lastSlash < 0) lastSlash = fileInfos[i].GetFilename().lastIndexOf('\\'); QString otherFilename = fileInfos[i].GetFilename().mid(lastSlash + 1); if (otherFilename.length() > filename.length() + 1) { QString trimmedOtherFilename = otherFilename.left(shortFilename.length()); if (shortFilename == trimmedOtherFilename) { lastPeriodIndex = otherFilename.lastIndexOf(QChar('.')); QString shortOtherFilename; if (lastPeriodIndex >= 0) shortOtherFilename = otherFilename.left(lastPeriodIndex); else shortOtherFilename = otherFilename; QRegExp renameExp("-[0-9]+"); if (renameExp.lastIndexIn(shortOtherFilename) == shortFilename.length()) { unsigned int trailingInteger = shortOtherFilename.mid(shortFilename.length() + 1).toUInt(&validIndexOffset); if (!validIndexOffset) break; if (trailingInteger > renameIndexOffset) renameIndexOffset = trailingInteger; } } } } if (validIndexOffset) { // Ensure renaming won't involve integer overflow! if (renameIndex > static_cast(-1) - renameIndexOffset) validIndexOffset = false; } if (validIndexOffset) { shortFilename.append(QChar('-')); shortFilename.append(QString::number(renameIndexOffset + renameIndex)); return (shortFilename + fileType); } else { // Fallback behaviour... an absolutely terrible brute force implementation! QString filename; QString renamePrefix; for (;;) { renamePrefix.append(QChar('+')); for (unsigned int i = 0; i < static_cast(-1); i++) { filename = shortFilename + renamePrefix + QString::number(i) + fileType; bool valid = true; for (int i = 0; i < fileInfos.length(); i++) { int lastSlash = fileInfos[i].GetFilename().lastIndexOf('/'); if (lastSlash < 0) lastSlash = fileInfos[i].GetFilename().lastIndexOf('\\'); if (filename == fileInfos[i].GetFilename().mid(lastSlash + 1)) { valid = false; break; } } if (valid) return (filename); } } } } else { return (filename); } } QString Packaging::ClashlessFilename(const QList& fileInfos, const QString& filename) { unsigned int renameIndex = 0; // Check for name clashes for (int i = 0; i < fileInfos.length(); i++) { int lastSlash = fileInfos[i].GetFilename().lastIndexOf('/'); if (lastSlash < 0) lastSlash = fileInfos[i].GetFilename().lastIndexOf('\\'); QString otherFilename = fileInfos[i].GetFilename().mid(lastSlash + 1); if (filename == otherFilename) renameIndex++; } if (renameIndex > 0) { int lastPeriodIndex = filename.lastIndexOf(QChar('.')); QString shortFilename; QString fileType; if (lastPeriodIndex >= 0) { shortFilename = filename.left(lastPeriodIndex); fileType = filename.mid(lastPeriodIndex); } else { shortFilename = filename; } unsigned int renameIndexOffset = 0; bool validIndexOffset = true; // Before we append a rename index we must ensure it doesn't produce further collisions. for (int i = 0; i < fileInfos.length(); i++) { int lastSlash = fileInfos[i].GetFilename().lastIndexOf('/'); if (lastSlash < 0) lastSlash = fileInfos[i].GetFilename().lastIndexOf('\\'); QString otherFilename = fileInfos[i].GetFilename().mid(lastSlash + 1); if (otherFilename.length() > filename.length() + 1) { QString trimmedOtherFilename = otherFilename.left(filename.length()); if (filename == trimmedOtherFilename) { lastPeriodIndex = otherFilename.lastIndexOf(QChar('.')); QString shortOtherFilename; if (lastPeriodIndex >= 0) shortOtherFilename = otherFilename.left(lastPeriodIndex); else shortOtherFilename = otherFilename; QRegExp renameExp("-[0-9]+"); if (renameExp.lastIndexIn(shortOtherFilename) == shortFilename.length()) { unsigned int trailingInteger = shortOtherFilename.mid(shortFilename.length() + 1).toUInt(&validIndexOffset); if (!validIndexOffset) break; if (trailingInteger > renameIndexOffset) renameIndexOffset = trailingInteger; } } } } if (validIndexOffset) { // Ensure renaming won't involve integer overflow! if (renameIndex > static_cast(-1) - renameIndexOffset) validIndexOffset = false; } if (validIndexOffset) { shortFilename.append(QChar('-')); shortFilename.append(QString::number(renameIndexOffset + renameIndex)); return (shortFilename + fileType); } else { // Fallback behaviour, brute-force/semi-random. bool valid; QString filename; do { valid = true; filename = shortFilename + "-"; for (int i = 0; i < 8; i++) filename.append(QChar(qrand() % ('Z' - 'A' + 1) + 'A')); for (int i = 0; i < fileInfos.length(); i++) { int lastSlash = fileInfos[i].GetFilename().lastIndexOf('/'); if (lastSlash < 0) lastSlash = fileInfos[i].GetFilename().lastIndexOf('\\'); if (filename == fileInfos[i].GetFilename().mid(lastSlash + 1)) { valid = false; break; } } } while (!valid); return (filename); } } else { return (filename); } } Heimdall-1.4.1/heimdall-frontend/Source/Packaging.h000066400000000000000000000063201234253036400221300ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef PACKAGING_H #define PACKAGING_H // Qt #include #include #include // Heimdall Frontend #include "PackageData.h" namespace HeimdallFrontend { union TarHeader { enum { kBlockLength = 512, kBlockReadCount = 8, kBlockWriteCount = 8, kTarHeaderLength = 257, kUstarHeaderLength = 500, }; enum { kModeOtherExecute = 1, kModeOtherWrite = 1 << 1, kModeOtherRead = 1 << 2, kModeGroupExecute = 1 << 3, kModeGroupWrite = 1 << 4, kModeGroupRead = 1 << 5, kModeOwnerExecute = 1 << 6, kModeOwnerWrite = 1 << 7, kModeOwnerRead = 1 << 8, kModeReserved = 2 << 9, kModeSetGid = 2 << 10, kModeSetUid = 2 << 11 }; struct { char name[100]; char mode[8]; char userId[8]; char groupId[8]; char size[12]; char modifiedTime[12]; char checksum[8]; char typeFlag; char linkName[100]; char magic[6]; char version[2]; char userName[32]; char groupName[32]; char devMajor[8]; char devMinor[8]; char prefix[155]; } fields; char buffer[kBlockLength]; }; class Packaging { public: // Would definitely prefer to use an enum but VC++ and GCC give conflicting warnings about C++0x or type overflow. static const qint64 kMaxFileSize; private: enum { kExtractBufferLength = 262144, kCompressBufferLength = 262144 }; // TODO: Add support for sparse files to both methods? static bool ExtractTar(QTemporaryFile& tarFile, PackageData *packageData); static bool WriteTarEntry(const QString& filePath, QTemporaryFile *tarFile, const QString& entryFilename); static bool CreateTar(const FirmwareInfo& firmwareInfo, QTemporaryFile *tarFile); // Uses original TAR format. public: static const char *ustarMagic; static bool ExtractPackage(const QString& packagePath, PackageData *packageData); static bool BuildPackage(const QString& packagePath, const FirmwareInfo& firmwareInfo); static QString ClashlessFilename(const QList& fileInfos, int fileInfoIndex); static QString ClashlessFilename(const QList& fileInfos, const QString& filename); }; } #endif Heimdall-1.4.1/heimdall-frontend/Source/aboutform.cpp000066400000000000000000000075231234253036400226030ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // Qt #include #include // Heimdall Frontend #include "aboutform.h" #define UNUSED(x) (void)(x) using namespace HeimdallFrontend; AboutForm::AboutForm(QWidget *parent) : QWidget(parent) { setupUi(this); // Heimdall Command Line QObject::connect(&heimdallProcess, SIGNAL(readyRead()), this, SLOT(HandleHeimdallStdout())); QObject::connect(&heimdallProcess, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(HandleHeimdallReturned(int, QProcess::ExitStatus))); QObject::connect(&heimdallProcess, SIGNAL(error(QProcess::ProcessError)), this, SLOT(HandleHeimdallError(QProcess::ProcessError))); heimdallFailed = false; RetrieveHeimdallVersion(); } void AboutForm::RetrieveHeimdallVersion(void) { heimdallProcess.setReadChannel(QProcess::StandardOutput); heimdallProcess.start("heimdall", QStringList("version")); heimdallProcess.waitForFinished(350); // OS X was playing up and not finding heimdall, so we're manually checking the PATH. if (heimdallFailed) { QStringList environment = QProcess::systemEnvironment(); QStringList paths; // Ensure /usr/bin is in PATH for (int i = 0; i < environment.length(); i++) { if (environment[i].left(5) == "PATH=") { paths = environment[i].mid(5).split(':'); paths.prepend("/usr/bin"); break; } } int pathIndex = -1; while (heimdallFailed && ++pathIndex < paths.length()) { QString heimdallPath = paths[pathIndex]; if (heimdallPath.length() > 0) { heimdallFailed = false; if (heimdallPath[heimdallPath.length() - 1] != QDir::separator()) heimdallPath += QDir::separator(); heimdallPath += "heimdall"; heimdallProcess.start(heimdallPath, QStringList("version")); heimdallProcess.waitForFinished(350); } } if (heimdallFailed) versionCopyrightLabel->setText(versionCopyrightLabel->text().replace("%HEIMDALL-VERSION%", "")); } } void AboutForm::HandleHeimdallStdout(void) { QString version = heimdallProcess.readAll(); if (version.length() > 0) { if (version.at(0) == QChar('v')) version = version.mid(1); versionCopyrightLabel->setText(versionCopyrightLabel->text().replace("%HEIMDALL-VERSION%", "Version " + version + "
")); } } void AboutForm::HandleHeimdallReturned(int exitCode, QProcess::ExitStatus exitStatus) { UNUSED(exitCode); UNUSED(exitStatus); // If for some reason %HEIMDALL-VERSION% hasn't been replaced yet, we'll replace it with an empty string. versionCopyrightLabel->setText(versionCopyrightLabel->text().replace("%HEIMDALL-VERSION%", "")); } void AboutForm::HandleHeimdallError(QProcess::ProcessError error) { UNUSED(error); heimdallFailed = true; } Heimdall-1.4.1/heimdall-frontend/Source/aboutform.h000066400000000000000000000033101234253036400222360ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // Qt #include #include // Heimdall Frontend #include "ui_aboutform.h" namespace HeimdallFrontend { class AboutForm : public QWidget, public Ui::AboutForm { Q_OBJECT private: bool heimdallFailed; QProcess heimdallProcess; void RetrieveHeimdallVersion(void); public: explicit AboutForm(QWidget *parent = 0); public slots: // Heimdall Command Line void HandleHeimdallStdout(void); void HandleHeimdallReturned(int exitCode, QProcess::ExitStatus exitStatus); void HandleHeimdallError(QProcess::ProcessError error); }; } Heimdall-1.4.1/heimdall-frontend/Source/main.cpp000066400000000000000000000025731234253036400215310ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // Qt #include // Heimdall Frontend #include "mainwindow.h" using namespace HeimdallFrontend; int main(int argc, char *argv[]) { QApplication application(argc, argv); MainWindow window; window.show(); return (application.exec()); } Heimdall-1.4.1/heimdall-frontend/Source/mainwindow.cpp000066400000000000000000001217721234253036400227640ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // Qt #include #include #include #include #include #include #include // Heimdall Frontend #include "Alerts.h" #include "mainwindow.h" #include "Packaging.h" #define UNUSED(x) (void)(x) using namespace HeimdallFrontend; void MainWindow::StartHeimdall(const QStringList& arguments) { UpdateInterfaceAvailability(); heimdallProcess.setReadChannel(QProcess::StandardOutput); heimdallProcess.start("heimdall", arguments); heimdallProcess.waitForStarted(3000); // OS X was playing up and not finding heimdall, so we're manually checking the PATH. if (heimdallFailed) { QStringList environment = QProcess::systemEnvironment(); QStringList paths; // Ensure /usr/local/bin and /usr/bin are in PATH. for (int i = 0; i < environment.length(); i++) { if (environment[i].left(5) == "PATH=") { paths = environment[i].mid(5).split(':'); if (!paths.contains("/usr/local/bin")) paths.prepend("/usr/local/bin"); if (!paths.contains("/usr/bin")) paths.prepend("/usr/bin"); break; } } int pathIndex = -1; while (heimdallFailed && ++pathIndex < paths.length()) { QString heimdallPath = paths[pathIndex]; if (heimdallPath.length() > 0) { utilityOutputPlainTextEdit->clear(); heimdallFailed = false; if (heimdallPath[heimdallPath.length() - 1] != QDir::separator()) heimdallPath += QDir::separator(); heimdallPath += "heimdall"; heimdallProcess.start(heimdallPath, arguments); heimdallProcess.waitForStarted(3000); } } if (heimdallFailed) { flashLabel->setText("Failed to start Heimdall!"); heimdallState = HeimdallState::Stopped; UpdateInterfaceAvailability(); } } } void MainWindow::UpdateUnusedPartitionIds(void) { unusedPartitionIds.clear(); // Initially populate unusedPartitionIds with all possible partition IDs. for (unsigned int i = 0; i < currentPitData.GetEntryCount(); i++) { const PitEntry *pitEntry = currentPitData.GetEntry(i); if (pitEntry->IsFlashable() && strcmp(pitEntry->GetPartitionName(), "PIT") != 0 && strcmp(pitEntry->GetPartitionName(), "PT") != 0) unusedPartitionIds.append(pitEntry->GetIdentifier()); } // Remove any used partition IDs from unusedPartitionIds QList& fileList = workingPackageData.GetFirmwareInfo().GetFileInfos(); for (int i = 0; i < fileList.length(); i++) unusedPartitionIds.removeOne(fileList[i].GetPartitionId()); } bool MainWindow::ReadPit(QFile *file) { if(!file->open(QIODevice::ReadOnly)) return (false); unsigned char *buffer = new unsigned char[file->size()]; file->read(reinterpret_cast(buffer), file->size()); file->close(); bool success = currentPitData.Unpack(buffer); delete buffer; if (!success) currentPitData.Clear(); return (success); } void MainWindow::UpdatePackageUserInterface(void) { supportedDevicesListWidget->clear(); includedFilesListWidget->clear(); if (loadedPackageData.IsCleared()) { // Package Interface firmwareNameLineEdit->clear(); versionLineEdit->clear(); developerNamesLineEdit->clear(); platformLineEdit->clear(); repartitionRadioButton->setChecked(false); noRebootRadioButton->setChecked(false); } else { firmwareNameLineEdit->setText(loadedPackageData.GetFirmwareInfo().GetName()); versionLineEdit->setText(loadedPackageData.GetFirmwareInfo().GetVersion()); QString developerNames; if (!loadedPackageData.GetFirmwareInfo().GetDevelopers().isEmpty()) { developerNames = loadedPackageData.GetFirmwareInfo().GetDevelopers()[0]; for (int i = 1; i < loadedPackageData.GetFirmwareInfo().GetDevelopers().length(); i++) developerNames += ", " + loadedPackageData.GetFirmwareInfo().GetDevelopers()[i]; } developerNamesLineEdit->setText(developerNames); platformLineEdit->setText(loadedPackageData.GetFirmwareInfo().GetPlatformInfo().GetName() + " (" + loadedPackageData.GetFirmwareInfo().GetPlatformInfo().GetVersion() + ")"); for (int i = 0; i < loadedPackageData.GetFirmwareInfo().GetDeviceInfos().length(); i++) { const DeviceInfo& deviceInfo = loadedPackageData.GetFirmwareInfo().GetDeviceInfos()[i]; supportedDevicesListWidget->addItem(deviceInfo.GetManufacturer() + " " + deviceInfo.GetName() + ": " + deviceInfo.GetProduct()); } for (int i = 0; i < loadedPackageData.GetFirmwareInfo().GetFileInfos().length(); i++) { const FileInfo& fileInfo = loadedPackageData.GetFirmwareInfo().GetFileInfos()[i]; includedFilesListWidget->addItem(fileInfo.GetFilename()); } repartitionRadioButton->setChecked(loadedPackageData.GetFirmwareInfo().GetRepartition()); noRebootRadioButton->setChecked(loadedPackageData.GetFirmwareInfo().GetNoReboot()); } UpdateLoadPackageInterfaceAvailability(); } bool MainWindow::IsArchive(QString path) { // Not a real check but hopefully it gets the message across, don't directly flash archives! return (path.endsWith(".tar", Qt::CaseInsensitive) || path.endsWith(".gz", Qt::CaseInsensitive) || path.endsWith(".zip", Qt::CaseInsensitive) || path.endsWith(".bz2", Qt::CaseInsensitive) || path.endsWith(".7z", Qt::CaseInsensitive) || path.endsWith(".rar", Qt::CaseInsensitive)); } QString MainWindow::PromptFileSelection(const QString& caption, const QString& filter) { QString path = QFileDialog::getOpenFileName(this, caption, lastDirectory, filter); if (path != "") lastDirectory = path.left(path.lastIndexOf('/') + 1); return (path); } QString MainWindow::PromptFileCreation(const QString& caption, const QString& filter) { QString path = QFileDialog::getSaveFileName(this, caption, lastDirectory, filter); if (path != "") lastDirectory = path.left(path.lastIndexOf('/') + 1); return (path); } void MainWindow::UpdateLoadPackageInterfaceAvailability(void) { if (loadedPackageData.IsCleared()) { developerHomepageButton->setEnabled(false); developerDonateButton->setEnabled(false); loadFirmwareButton->setEnabled(false); } else { if (!loadedPackageData.GetFirmwareInfo().GetUrl().isEmpty()) developerHomepageButton->setEnabled(true); else developerHomepageButton->setEnabled(false); if (!loadedPackageData.GetFirmwareInfo().GetDonateUrl().isEmpty()) developerDonateButton->setEnabled(true); else developerDonateButton->setEnabled(false); loadFirmwareButton->setEnabled(heimdallState == HeimdallState::Stopped); } } void MainWindow::UpdateFlashInterfaceAvailability(void) { if (heimdallState == HeimdallState::Stopped) { partitionNameComboBox->setEnabled(partitionsListWidget->currentRow() >= 0); bool allPartitionsValid = true; QList& fileList = workingPackageData.GetFirmwareInfo().GetFileInfos(); for (int i = 0; i < fileList.length(); i++) { if (fileList[i].GetFilename().isEmpty()) { allPartitionsValid = false; break; } } bool validFlashSettings = allPartitionsValid && fileList.length() > 0; flashProgressBar->setEnabled(false); optionsGroup->setEnabled(true); sessionGroup->setEnabled(true); startFlashButton->setEnabled(validFlashSettings); noRebootCheckBox->setEnabled(validFlashSettings); resumeCheckbox->setEnabled(validFlashSettings); } else { partitionNameComboBox->setEnabled(false); flashProgressBar->setEnabled(true); optionsGroup->setEnabled(false); sessionGroup->setEnabled(false); } } void MainWindow::UpdateCreatePackageInterfaceAvailability(void) { if (heimdallState == HeimdallState::Stopped) { const FirmwareInfo& firmwareInfo = workingPackageData.GetFirmwareInfo(); if (firmwareInfo.GetName().isEmpty() || firmwareInfo.GetVersion().isEmpty() || firmwareInfo.GetPlatformInfo().GetName().isEmpty() || firmwareInfo.GetPlatformInfo().GetVersion().isEmpty() || firmwareInfo.GetDevelopers().isEmpty() || firmwareInfo.GetDeviceInfos().isEmpty()) { buildPackageButton->setEnabled(false); } else { buildPackageButton->setEnabled(true); } if (addDeveloperButton->text().isEmpty()) addDeveloperButton->setEnabled(false); else addDeveloperButton->setEnabled(true); if (createDevelopersListWidget->currentRow() >= 0) removeDeveloperButton->setEnabled(true); else removeDeveloperButton->setEnabled(false); } else { buildPackageButton->setEnabled(false); } } void MainWindow::UpdateUtilitiesInterfaceAvailability(void) { if (heimdallState == HeimdallState::Stopped) { detectDeviceButton->setEnabled(true); closePcScreenButton->setEnabled(true); pitSaveAsButton->setEnabled(true); downloadPitButton->setEnabled(!pitDestinationLineEdit->text().isEmpty()); if (printPitDeviceRadioBox->isChecked()) { // Device printLocalPitGroup->setEnabled(false); printPitButton->setEnabled(true); } else { // Local File printLocalPitGroup->setEnabled(true); printLocalPitLineEdit->setEnabled(true); printLocalPitBrowseButton->setEnabled(true); printPitButton->setEnabled(!printLocalPitLineEdit->text().isEmpty()); } } else { detectDeviceButton->setEnabled(false); closePcScreenButton->setEnabled(false); pitSaveAsButton->setEnabled(false); downloadPitButton->setEnabled(false); printLocalPitGroup->setEnabled(false); printPitButton->setEnabled(false); } } void MainWindow::UpdateInterfaceAvailability(void) { UpdateLoadPackageInterfaceAvailability(); UpdateFlashInterfaceAvailability(); UpdateCreatePackageInterfaceAvailability(); UpdateUtilitiesInterfaceAvailability(); if (heimdallState == HeimdallState::Stopped) { // Enable/disable tabs for (int i = 0; i < functionTabWidget->count(); i++) functionTabWidget->setTabEnabled(i, true); functionTabWidget->setTabEnabled(functionTabWidget->indexOf(createPackageTab), startFlashButton->isEnabled()); } else { // Disable non-current tabs for (int i = 0; i < functionTabWidget->count(); i++) { if (i == functionTabWidget->currentIndex()) functionTabWidget->setTabEnabled(i, true); else functionTabWidget->setTabEnabled(i, false); } } } void MainWindow::UpdatePartitionNamesInterface(void) { populatingPartitionNames = true; partitionNameComboBox->clear(); int partitionsListWidgetRow = partitionsListWidget->currentRow(); if (partitionsListWidgetRow >= 0) { const FileInfo& partitionInfo = workingPackageData.GetFirmwareInfo().GetFileInfos()[partitionsListWidget->currentRow()]; for (int i = 0; i < unusedPartitionIds.length(); i++) partitionNameComboBox->addItem(currentPitData.FindEntry(unusedPartitionIds[i])->GetPartitionName()); partitionNameComboBox->addItem(currentPitData.FindEntry(partitionInfo.GetPartitionId())->GetPartitionName()); partitionNameComboBox->setCurrentIndex(unusedPartitionIds.length()); } populatingPartitionNames = false; UpdateFlashInterfaceAvailability(); } MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { setupUi(this); heimdallState = HeimdallState::Stopped; lastDirectory = QDir::toNativeSeparators(QApplication::applicationDirPath()); populatingPartitionNames = false; verboseOutput = false; resume = false; tabIndex = functionTabWidget->currentIndex(); functionTabWidget->setTabEnabled(functionTabWidget->indexOf(createPackageTab), false); QObject::connect(functionTabWidget, SIGNAL(currentChanged(int)), this, SLOT(FunctionTabChanged(int))); // Menu QObject::connect(actionDonate, SIGNAL(triggered()), this, SLOT(OpenDonationWebpage())); QObject::connect(actionVerboseOutput, SIGNAL(toggled(bool)), this, SLOT(SetVerboseOutput(bool))); QObject::connect(actionResumeConnection, SIGNAL(toggled(bool)), this, SLOT(SetResume(bool))); QObject::connect(actionAboutHeimdall, SIGNAL(triggered()), this, SLOT(ShowAbout())); // Load Package Tab QObject::connect(browseFirmwarePackageButton, SIGNAL(clicked()), this, SLOT(SelectFirmwarePackage())); QObject::connect(developerHomepageButton, SIGNAL(clicked()), this, SLOT(OpenDeveloperHomepage())); QObject::connect(developerDonateButton, SIGNAL(clicked()), this, SLOT(OpenDeveloperDonationWebpage())); QObject::connect(loadFirmwareButton, SIGNAL(clicked()), this, SLOT(LoadFirmwarePackage())); QObject::connect(partitionsListWidget, SIGNAL(currentRowChanged(int)), this, SLOT(SelectPartition(int))); QObject::connect(addPartitionButton, SIGNAL(clicked()), this, SLOT(AddPartition())); QObject::connect(removePartitionButton, SIGNAL(clicked()), this, SLOT(RemovePartition())); // Flash Tab QObject::connect(partitionNameComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(SelectPartitionName(int))); QObject::connect(partitionFileBrowseButton, SIGNAL(clicked()), this, SLOT(SelectPartitionFile())); QObject::connect(pitBrowseButton, SIGNAL(clicked()), this, SLOT(SelectPit())); QObject::connect(repartitionCheckBox, SIGNAL(stateChanged(int)), this, SLOT(SetRepartition(int))); QObject::connect(noRebootCheckBox, SIGNAL(stateChanged(int)), this, SLOT(SetNoReboot(int))); QObject::connect(resumeCheckbox, SIGNAL(stateChanged(int)), this, SLOT(SetResume(int))); QObject::connect(startFlashButton, SIGNAL(clicked()), this, SLOT(StartFlash())); // Create Package Tab QObject::connect(createFirmwareNameLineEdit, SIGNAL(textChanged(const QString&)), this, SLOT(FirmwareNameChanged(const QString&))); QObject::connect(createFirmwareVersionLineEdit, SIGNAL(textChanged(const QString&)), this, SLOT(FirmwareVersionChanged(const QString&))); QObject::connect(createPlatformNameLineEdit, SIGNAL(textChanged(const QString&)), this, SLOT(PlatformNameChanged(const QString&))); QObject::connect(createPlatformVersionLineEdit, SIGNAL(textChanged(const QString&)), this, SLOT(PlatformVersionChanged(const QString&))); QObject::connect(createHomepageLineEdit, SIGNAL(textChanged(const QString&)), this, SLOT(HomepageUrlChanged(const QString&))); QObject::connect(createDonateLineEdit, SIGNAL(textChanged(const QString&)), this, SLOT(DonateUrlChanged(const QString&))); QObject::connect(createDevelopersListWidget, SIGNAL(currentRowChanged(int)), this, SLOT(SelectDeveloper(int))); QObject::connect(createDeveloperNameLineEdit, SIGNAL(textChanged(const QString&)), this, SLOT(DeveloperNameChanged(const QString&))); QObject::connect(addDeveloperButton, SIGNAL(clicked()), this, SLOT(AddDeveloper())); QObject::connect(removeDeveloperButton, SIGNAL(clicked()), this, SLOT(RemoveDeveloper())); QObject::connect(createDevicesListWidget, SIGNAL(currentRowChanged(int)), this, SLOT(SelectDevice(int))); QObject::connect(deviceManufacturerLineEdit, SIGNAL(textChanged(const QString&)), this, SLOT(DeviceInfoChanged(const QString&))); QObject::connect(deviceNameLineEdit, SIGNAL(textChanged(const QString&)), this, SLOT(DeviceInfoChanged(const QString&))); QObject::connect(deviceProductCodeLineEdit, SIGNAL(textChanged(const QString&)), this, SLOT(DeviceInfoChanged(const QString&))); QObject::connect(addDeviceButton, SIGNAL(clicked()), this, SLOT(AddDevice())); QObject::connect(removeDeviceButton, SIGNAL(clicked()), this, SLOT(RemoveDevice())); QObject::connect(buildPackageButton, SIGNAL(clicked()), this, SLOT(BuildPackage())); // Utilities Tab QObject::connect(detectDeviceButton, SIGNAL(clicked()), this, SLOT(DetectDevice())); QObject::connect(closePcScreenButton, SIGNAL(clicked()), this, SLOT(ClosePcScreen())); QObject::connect(printPitDeviceRadioBox, SIGNAL(toggled(bool)), this, SLOT(DevicePrintPitToggled(bool))); QObject::connect(printPitLocalFileRadioBox, SIGNAL(toggled(bool)), this, SLOT(LocalFilePrintPitToggled(bool))); QObject::connect(printLocalPitBrowseButton, SIGNAL(clicked()), this, SLOT(SelectPrintPitFile())); QObject::connect(printPitButton, SIGNAL(clicked()), this, SLOT(PrintPit())); QObject::connect(pitSaveAsButton, SIGNAL(clicked()), this, SLOT(SelectPitDestination())); QObject::connect(downloadPitButton, SIGNAL(clicked()), this, SLOT(DownloadPit())); // Heimdall Command Line QObject::connect(&heimdallProcess, SIGNAL(readyRead()), this, SLOT(HandleHeimdallStdout())); QObject::connect(&heimdallProcess, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(HandleHeimdallReturned(int, QProcess::ExitStatus))); QObject::connect(&heimdallProcess, SIGNAL(error(QProcess::ProcessError)), this, SLOT(HandleHeimdallError(QProcess::ProcessError))); } MainWindow::~MainWindow() { } void MainWindow::OpenDonationWebpage(void) { QDesktopServices::openUrl(QUrl("http://www.glassechidna.com.au/donate/", QUrl::StrictMode)); } void MainWindow::SetVerboseOutput(bool enabled) { verboseOutput = enabled; } void MainWindow::ShowAbout(void) { aboutForm.show(); } void MainWindow::FunctionTabChanged(int index) { tabIndex = index; deviceDetectedRadioButton->setChecked(false); } void MainWindow::SelectFirmwarePackage(void) { loadedPackageData.Clear(); UpdatePackageUserInterface(); QString path = PromptFileSelection("Select Package", "*.tar.gz"); firmwarePackageLineEdit->setText(path); if (firmwarePackageLineEdit->text() != "") { if (Packaging::ExtractPackage(firmwarePackageLineEdit->text(), &loadedPackageData)) UpdatePackageUserInterface(); else loadedPackageData.Clear(); } } void MainWindow::OpenDeveloperHomepage(void) { if(!QDesktopServices::openUrl(QUrl(loadedPackageData.GetFirmwareInfo().GetUrl(), QUrl::TolerantMode))) Alerts::DisplayWarning(QString("Cannot open invalid URL:\n%1").arg(loadedPackageData.GetFirmwareInfo().GetUrl())); } void MainWindow::OpenDeveloperDonationWebpage(void) { if (!QDesktopServices::openUrl(QUrl(loadedPackageData.GetFirmwareInfo().GetDonateUrl(), QUrl::TolerantMode))) Alerts::DisplayWarning(QString("Cannot open invalid URL:\n%1").arg(loadedPackageData.GetFirmwareInfo().GetDonateUrl())); } void MainWindow::LoadFirmwarePackage(void) { workingPackageData.Clear(); currentPitData.Clear(); workingPackageData.GetFiles().append(loadedPackageData.GetFiles()); loadedPackageData.RemoveAllFiles(); const QList packageFileInfos = loadedPackageData.GetFirmwareInfo().GetFileInfos(); for (int i = 0; i < packageFileInfos.length(); i++) { bool fileFound = false; for (int j = 0; j < workingPackageData.GetFiles().length(); j++) { if (workingPackageData.GetFiles()[j]->fileTemplate() == ("XXXXXX-" + packageFileInfos[i].GetFilename())) { FileInfo partitionInfo(packageFileInfos[i].GetPartitionId(), QDir::current().absoluteFilePath(workingPackageData.GetFiles()[j]->fileName())); workingPackageData.GetFirmwareInfo().GetFileInfos().append(partitionInfo); fileFound = true; break; } } if (!fileFound) Alerts::DisplayWarning(QString("%1 is missing from the package.").arg(packageFileInfos[i].GetFilename())); } // Find the PIT file and read it for (int i = 0; i < workingPackageData.GetFiles().length(); i++) { QTemporaryFile *file = workingPackageData.GetFiles()[i]; if (file->fileTemplate() == ("XXXXXX-" + loadedPackageData.GetFirmwareInfo().GetPitFilename())) { workingPackageData.GetFirmwareInfo().SetPitFilename(QDir::current().absoluteFilePath(file->fileName())); if (!ReadPit(file)) { Alerts::DisplayError("Failed to read PIT file."); loadedPackageData.Clear(); UpdatePackageUserInterface(); workingPackageData.Clear(); UpdateUnusedPartitionIds(); return; } break; } } UpdateUnusedPartitionIds(); workingPackageData.GetFirmwareInfo().SetRepartition(loadedPackageData.GetFirmwareInfo().GetRepartition()); workingPackageData.GetFirmwareInfo().SetNoReboot(loadedPackageData.GetFirmwareInfo().GetNoReboot()); loadedPackageData.Clear(); UpdatePackageUserInterface(); firmwarePackageLineEdit->clear(); partitionsListWidget->clear(); // Populate partitionsListWidget with partition names (from the PIT file) for (int i = 0; i < workingPackageData.GetFirmwareInfo().GetFileInfos().length(); i++) { const FileInfo& partitionInfo = workingPackageData.GetFirmwareInfo().GetFileInfos()[i]; const PitEntry *pitEntry = currentPitData.FindEntry(partitionInfo.GetPartitionId()); if (pitEntry) { partitionsListWidget->addItem(pitEntry->GetPartitionName()); } else { Alerts::DisplayError("Firmware package includes invalid partition IDs."); loadedPackageData.GetFirmwareInfo().Clear(); currentPitData.Clear(); UpdateUnusedPartitionIds(); partitionsListWidget->clear(); return; } } partitionNameComboBox->clear(); partitionIdLineEdit->clear(); partitionFileLineEdit->clear(); partitionFileBrowseButton->setEnabled(false); repartitionCheckBox->setEnabled(true); repartitionCheckBox->setChecked(workingPackageData.GetFirmwareInfo().GetRepartition()); noRebootCheckBox->setEnabled(true); noRebootCheckBox->setChecked(workingPackageData.GetFirmwareInfo().GetNoReboot()); partitionsListWidget->setEnabled(true); addPartitionButton->setEnabled(true); removePartitionButton->setEnabled(true && partitionsListWidget->currentRow() >= 0); pitLineEdit->setText(workingPackageData.GetFirmwareInfo().GetPitFilename()); functionTabWidget->setCurrentWidget(flashTab); UpdateInterfaceAvailability(); } void MainWindow::SelectPartitionName(int index) { if (!populatingPartitionNames && index != -1 && index != unusedPartitionIds.length()) { unsigned int newPartitionIndex = unusedPartitionIds[index]; unusedPartitionIds.removeAt(index); FileInfo& fileInfo = workingPackageData.GetFirmwareInfo().GetFileInfos()[partitionsListWidget->currentRow()]; unusedPartitionIds.append(fileInfo.GetPartitionId()); fileInfo.SetPartitionId(newPartitionIndex); PitEntry *pitEntry = currentPitData.FindEntry(newPartitionIndex); QString title("File"); if (pitEntry && strlen(pitEntry->GetFlashFilename()) > 0) title += " (" + QString(pitEntry->GetFlashFilename()) + ")"; partitionFileGroup->setTitle(title); if (!fileInfo.GetFilename().isEmpty()) { QString partitionFilename = pitEntry->GetFlashFilename(); int lastPeriod = partitionFilename.lastIndexOf(QChar('.')); if (lastPeriod >= 0) { QString partitionFileExtension = partitionFilename.mid(lastPeriod + 1); lastPeriod = fileInfo.GetFilename().lastIndexOf(QChar('.')); if (lastPeriod < 0 || fileInfo.GetFilename().mid(lastPeriod + 1) != partitionFileExtension) Alerts::DisplayWarning(QString("%1 partition expects files with file extension \"%2\".").arg(pitEntry->GetPartitionName(), partitionFileExtension)); } } partitionNameComboBox->clear(); // Update interface UpdatePartitionNamesInterface(); partitionIdLineEdit->setText(QString::number(newPartitionIndex)); partitionsListWidget->currentItem()->setText(currentPitData.FindEntry(newPartitionIndex)->GetPartitionName()); } } void MainWindow::SelectPartitionFile(void) { QString path = PromptFileSelection(); if (path != "") { FileInfo& fileInfo = workingPackageData.GetFirmwareInfo().GetFileInfos()[partitionsListWidget->currentRow()]; PitEntry *pitEntry = currentPitData.FindEntry(fileInfo.GetPartitionId()); QString partitionFilename = pitEntry->GetFlashFilename(); int lastPeriod = partitionFilename.lastIndexOf(QChar('.')); if (lastPeriod >= 0) { QString partitionFileExtension = partitionFilename.mid(lastPeriod + 1); lastPeriod = path.lastIndexOf(QChar('.')); if (lastPeriod < 0 || path.mid(lastPeriod + 1) != partitionFileExtension) Alerts::DisplayWarning(QString("%1 partition expects files with file extension \"%2\".").arg(pitEntry->GetPartitionName(), partitionFileExtension)); } fileInfo.SetFilename(path); partitionFileLineEdit->setText(path); pitBrowseButton->setEnabled(true); partitionsListWidget->setEnabled(true); UpdateInterfaceAvailability(); if (unusedPartitionIds.length() > 0) addPartitionButton->setEnabled(true); } } void MainWindow::SelectPartition(int row) { if (row >= 0) { const FileInfo& partitionInfo = workingPackageData.GetFirmwareInfo().GetFileInfos()[row]; UpdatePartitionNamesInterface(); partitionIdLineEdit->setText(QString::number(partitionInfo.GetPartitionId())); partitionFileLineEdit->setText(partitionInfo.GetFilename()); partitionFileBrowseButton->setEnabled(true); removePartitionButton->setEnabled(true); QString title("File"); PitEntry *pitEntry = currentPitData.FindEntry(partitionInfo.GetPartitionId()); if (pitEntry && strlen(pitEntry->GetFlashFilename()) > 0) title += " (" + QString(pitEntry->GetFlashFilename()) + ")"; partitionFileGroup->setTitle(title); } else { UpdatePartitionNamesInterface(); partitionIdLineEdit->clear(); partitionFileLineEdit->clear(); partitionFileBrowseButton->setEnabled(false); removePartitionButton->setEnabled(false); partitionFileGroup->setTitle("File"); } } void MainWindow::AddPartition(void) { FileInfo partitionInfo(unusedPartitionIds.first(), ""); workingPackageData.GetFirmwareInfo().GetFileInfos().append(partitionInfo); UpdateUnusedPartitionIds(); pitBrowseButton->setEnabled(false); addPartitionButton->setEnabled(false); partitionsListWidget->addItem(currentPitData.FindEntry(partitionInfo.GetPartitionId())->GetPartitionName()); partitionsListWidget->setCurrentRow(partitionsListWidget->count() - 1); partitionsListWidget->setEnabled(false); UpdateInterfaceAvailability(); } void MainWindow::RemovePartition(void) { workingPackageData.GetFirmwareInfo().GetFileInfos().removeAt(partitionsListWidget->currentRow()); UpdateUnusedPartitionIds(); QListWidgetItem *item = partitionsListWidget->currentItem(); partitionsListWidget->setCurrentRow(-1); delete item; pitBrowseButton->setEnabled(true); addPartitionButton->setEnabled(true); partitionsListWidget->setEnabled(true); UpdateInterfaceAvailability(); } void MainWindow::SelectPit(void) { QString path = PromptFileSelection("Select PIT", "*.pit"); bool validPit = path != ""; if (validPit) { // In order to map files in the old PIT to file in the new one, we first must use partition names instead of IDs. QList fileInfos = workingPackageData.GetFirmwareInfo().GetFileInfos(); int partitionNamesCount = fileInfos.length(); QString *partitionNames = new QString[fileInfos.length()]; for (int i = 0; i < fileInfos.length(); i++) partitionNames[i] = currentPitData.FindEntry(fileInfos[i].GetPartitionId())->GetPartitionName(); currentPitData.Clear(); QFile pitFile(path); if (ReadPit(&pitFile)) { workingPackageData.GetFirmwareInfo().SetPitFilename(path); partitionsListWidget->clear(); int partitionInfoIndex = 0; for (int i = 0; i < partitionNamesCount; i++) { const PitEntry *pitEntry = currentPitData.FindEntry(partitionNames[i].toAscii().constData()); if (pitEntry) { fileInfos[partitionInfoIndex++].SetPartitionId(pitEntry->GetIdentifier()); partitionsListWidget->addItem(pitEntry->GetPartitionName()); } else { fileInfos.removeAt(partitionInfoIndex); } } } else { validPit = false; } // If the selected PIT was invalid, attempt to reload the old one. if (!validPit) { Alerts::DisplayError("The file selected was not a valid PIT file."); if (!workingPackageData.GetFirmwareInfo().GetPitFilename().isEmpty()) { QFile originalPitFile(workingPackageData.GetFirmwareInfo().GetPitFilename()); if (ReadPit(&originalPitFile)) { validPit = true; } else { Alerts::DisplayError("Failed to reload working PIT data."); workingPackageData.Clear(); partitionsListWidget->clear(); } } } UpdateUnusedPartitionIds(); delete [] partitionNames; pitLineEdit->setText(workingPackageData.GetFirmwareInfo().GetPitFilename()); repartitionCheckBox->setEnabled(validPit); noRebootCheckBox->setEnabled(validPit); partitionsListWidget->setEnabled(validPit); addPartitionButton->setEnabled(validPit); removePartitionButton->setEnabled(validPit && partitionsListWidget->currentRow() >= 0); UpdateInterfaceAvailability(); } } void MainWindow::SetRepartition(int enabled) { workingPackageData.GetFirmwareInfo().SetRepartition(enabled); repartitionCheckBox->setChecked(enabled); } void MainWindow::SetNoReboot(int enabled) { workingPackageData.GetFirmwareInfo().SetNoReboot(enabled); noRebootCheckBox->setChecked(enabled); } void MainWindow::SetResume(bool enabled) { resume = enabled; actionResumeConnection->setChecked(enabled); resumeCheckbox->setChecked(enabled); } void MainWindow::SetResume(int enabled) { SetResume(enabled != 0); } void MainWindow::StartFlash(void) { outputPlainTextEdit->clear(); heimdallState = HeimdallState::Flashing; heimdallFailed = false; const FirmwareInfo& firmwareInfo = workingPackageData.GetFirmwareInfo(); const QList& fileInfos = firmwareInfo.GetFileInfos(); QStringList arguments; arguments.append("flash"); if (firmwareInfo.GetRepartition()) arguments.append("--repartition"); arguments.append("--pit"); arguments.append(firmwareInfo.GetPitFilename()); for (int i = 0; i < fileInfos.length(); i++) { QString flag; flag.sprintf("--%u", fileInfos[i].GetPartitionId()); arguments.append(flag); arguments.append(fileInfos[i].GetFilename()); } if (firmwareInfo.GetNoReboot()) arguments.append("--no-reboot"); if (resume) arguments.append("--resume"); if (verboseOutput) arguments.append("--verbose"); arguments.append("--stdout-errors"); StartHeimdall(arguments); } void MainWindow::FirmwareNameChanged(const QString& text) { workingPackageData.GetFirmwareInfo().SetName(text); UpdateInterfaceAvailability(); } void MainWindow::FirmwareVersionChanged(const QString& text) { workingPackageData.GetFirmwareInfo().SetVersion(text); UpdateInterfaceAvailability(); } void MainWindow::PlatformNameChanged(const QString& text) { workingPackageData.GetFirmwareInfo().GetPlatformInfo().SetName(text); UpdateInterfaceAvailability(); } void MainWindow::PlatformVersionChanged(const QString& text) { workingPackageData.GetFirmwareInfo().GetPlatformInfo().SetVersion(text); UpdateInterfaceAvailability(); } void MainWindow::HomepageUrlChanged(const QString& text) { workingPackageData.GetFirmwareInfo().SetUrl(text); } void MainWindow::DonateUrlChanged(const QString& text) { workingPackageData.GetFirmwareInfo().SetDonateUrl(text); } void MainWindow::DeveloperNameChanged(const QString& text) { UNUSED(text); UpdateCreatePackageInterfaceAvailability(); } void MainWindow::SelectDeveloper(int row) { UNUSED(row); UpdateCreatePackageInterfaceAvailability(); } void MainWindow::AddDeveloper(void) { workingPackageData.GetFirmwareInfo().GetDevelopers().append(createDeveloperNameLineEdit->text()); createDevelopersListWidget->addItem(createDeveloperNameLineEdit->text()); createDeveloperNameLineEdit->clear(); UpdateCreatePackageInterfaceAvailability(); } void MainWindow::RemoveDeveloper(void) { workingPackageData.GetFirmwareInfo().GetDevelopers().removeAt(createDevelopersListWidget->currentRow()); QListWidgetItem *item = createDevelopersListWidget->currentItem(); createDevelopersListWidget->setCurrentRow(-1); delete item; removeDeveloperButton->setEnabled(false); UpdateInterfaceAvailability(); } void MainWindow::DeviceInfoChanged(const QString& text) { UNUSED(text); if (deviceManufacturerLineEdit->text().isEmpty() || deviceNameLineEdit->text().isEmpty() || deviceProductCodeLineEdit->text().isEmpty()) addDeviceButton->setEnabled(false); else addDeviceButton->setEnabled(true); } void MainWindow::SelectDevice(int row) { if (row >= 0) removeDeviceButton->setEnabled(true); else removeDeviceButton->setEnabled(false); } void MainWindow::AddDevice(void) { workingPackageData.GetFirmwareInfo().GetDeviceInfos().append(DeviceInfo(deviceManufacturerLineEdit->text(), deviceProductCodeLineEdit->text(), deviceNameLineEdit->text())); createDevicesListWidget->addItem(deviceManufacturerLineEdit->text() + " " + deviceNameLineEdit->text() + ": " + deviceProductCodeLineEdit->text()); deviceManufacturerLineEdit->clear(); deviceNameLineEdit->clear(); deviceProductCodeLineEdit->clear(); UpdateInterfaceAvailability(); } void MainWindow::RemoveDevice(void) { workingPackageData.GetFirmwareInfo().GetDeviceInfos().removeAt(createDevicesListWidget->currentRow()); QListWidgetItem *item = createDevicesListWidget->currentItem(); createDevicesListWidget->setCurrentRow(-1); delete item; removeDeviceButton->setEnabled(false); UpdateInterfaceAvailability(); } void MainWindow::BuildPackage(void) { QString packagePath = PromptFileCreation("Save Package", "*.tar.gz"); if (!packagePath.isEmpty()) { if (!packagePath.endsWith(".tar.gz", Qt::CaseInsensitive)) { if (packagePath.endsWith(".tar", Qt::CaseInsensitive)) packagePath.append(".gz"); else if (packagePath.endsWith(".gz", Qt::CaseInsensitive)) packagePath.replace(packagePath.length() - 3, ".tar.gz"); else if (packagePath.endsWith(".tgz", Qt::CaseInsensitive)) packagePath.replace(packagePath.length() - 4, ".tar.gz"); else packagePath.append(".tar.gz"); } Packaging::BuildPackage(packagePath, workingPackageData.GetFirmwareInfo()); } } void MainWindow::DetectDevice(void) { deviceDetectedRadioButton->setChecked(false); utilityOutputPlainTextEdit->clear(); heimdallState = HeimdallState::DetectingDevice; heimdallFailed = false; QStringList arguments; arguments.append("detect"); if (verboseOutput) arguments.append("--verbose"); arguments.append("--stdout-errors"); StartHeimdall(arguments); } void MainWindow::ClosePcScreen(void) { utilityOutputPlainTextEdit->clear(); heimdallState = HeimdallState::ClosingPcScreen; heimdallFailed = false; QStringList arguments; arguments.append("close-pc-screen"); if (resume) arguments.append("--resume"); if (verboseOutput) arguments.append("--verbose"); arguments.append("--stdout-errors"); StartHeimdall(arguments); } void MainWindow::SelectPitDestination(void) { QString path = PromptFileCreation("Save PIT", "*.pit"); if (path != "") { if (!path.endsWith(".pit")) path.append(".pit"); pitDestinationLineEdit->setText(path); UpdateInterfaceAvailability(); } } void MainWindow::DownloadPit(void) { deviceDetectedRadioButton->setChecked(false); utilityOutputPlainTextEdit->clear(); heimdallState = HeimdallState::DownloadingPit; heimdallFailed = false; QStringList arguments; arguments.append("download-pit"); arguments.append("--output"); arguments.append(pitDestinationLineEdit->text()); arguments.append("--no-reboot"); if (resume) arguments.append("--resume"); if (verboseOutput) arguments.append("--verbose"); arguments.append("--stdout-errors"); StartHeimdall(arguments); } void MainWindow::DevicePrintPitToggled(bool checked) { if (checked) { if (printPitLocalFileRadioBox->isChecked()) printPitLocalFileRadioBox->setChecked(false); } UpdateUtilitiesInterfaceAvailability(); } void MainWindow::LocalFilePrintPitToggled(bool checked) { if (checked) { if (printPitDeviceRadioBox->isChecked()) printPitDeviceRadioBox->setChecked(false); } UpdateUtilitiesInterfaceAvailability(); } void MainWindow::SelectPrintPitFile(void) { QString path = PromptFileSelection("Select PIT", "*.pit"); if (path != "") printLocalPitLineEdit->setText(path); if (printLocalPitLineEdit->text() != "") printPitButton->setEnabled(true); else printPitButton->setEnabled(false); } void MainWindow::PrintPit(void) { utilityOutputPlainTextEdit->clear(); heimdallState = HeimdallState::PrintingPit; heimdallFailed = false; QStringList arguments; arguments.append("print-pit"); if (printPitLocalFileRadioBox->isChecked()) { arguments.append("--file"); arguments.append(printLocalPitLineEdit->text()); } arguments.append("--stdout-errors"); arguments.append("--no-reboot"); if (resume) arguments.append("--resume"); if (verboseOutput) arguments.append("--verbose"); StartHeimdall(arguments); } void MainWindow::HandleHeimdallStdout(void) { QString output = heimdallProcess.readAll(); // We often receive multiple lots of output from Heimdall at one time. So we use regular expressions // to ensure we don't miss out on any important information. QRegExp uploadingExp("Uploading [^\n]+\n"); if (output.lastIndexOf(uploadingExp) > -1) flashLabel->setText(uploadingExp.cap().left(uploadingExp.cap().length() - 1)); QRegExp percentExp("[\b\n][0-9]+%"); if (output.lastIndexOf(percentExp) > -1) { QString percentString = percentExp.cap(); flashProgressBar->setValue(percentString.mid(1, percentString.length() - 2).toInt()); } output.remove(QChar('\b')); output.replace(QChar('%'), QString("%\n")); if (heimdallState == HeimdallState::Flashing) { outputPlainTextEdit->insertPlainText(output); outputPlainTextEdit->ensureCursorVisible(); } else { utilityOutputPlainTextEdit->insertPlainText(output); utilityOutputPlainTextEdit->ensureCursorVisible(); } } void MainWindow::HandleHeimdallReturned(int exitCode, QProcess::ExitStatus exitStatus) { HandleHeimdallStdout(); if (exitStatus == QProcess::NormalExit && exitCode == 0) { bool executedNoReboot = (heimdallState == HeimdallState::Flashing && loadedPackageData.GetFirmwareInfo().GetNoReboot()) || (heimdallState == HeimdallState::PrintingPit && printPitDeviceRadioBox->isChecked()) || heimdallState == HeimdallState::DownloadingPit; SetResume(executedNoReboot); if (heimdallState == HeimdallState::Flashing) { flashLabel->setText("Flash completed successfully!"); } else if (heimdallState == HeimdallState::DetectingDevice) { deviceDetectedRadioButton->setChecked(true); } } else { if (heimdallState == HeimdallState::Flashing) { QString error = heimdallProcess.readAllStandardError(); int lastNewLineChar = error.lastIndexOf('\n'); if (lastNewLineChar == 0) error = error.mid(1).remove("ERROR: "); else error = error.left(lastNewLineChar).remove("ERROR: "); flashLabel->setText(error); } else if (heimdallState == HeimdallState::DetectingDevice) { deviceDetectedRadioButton->setChecked(false); } } heimdallState = HeimdallState::Stopped; flashProgressBar->setEnabled(false); UpdateInterfaceAvailability(); } void MainWindow::HandleHeimdallError(QProcess::ProcessError error) { if (error == QProcess::FailedToStart || error == QProcess::Timedout) { if (heimdallState == HeimdallState::Flashing) { flashLabel->setText("Failed to start Heimdall!"); flashProgressBar->setEnabled(false); } else { utilityOutputPlainTextEdit->setPlainText("\nFRONTEND ERROR: Failed to start Heimdall!"); } heimdallFailed = true; heimdallState = HeimdallState::Stopped; UpdateInterfaceAvailability(); } else if (error == QProcess::Crashed) { if (heimdallState == HeimdallState::Flashing) { flashLabel->setText("Heimdall crashed!"); flashProgressBar->setEnabled(false); } else { utilityOutputPlainTextEdit->appendPlainText("\nFRONTEND ERROR: Heimdall crashed!"); } heimdallState = HeimdallState::Stopped; UpdateInterfaceAvailability(); } else { if (heimdallState == HeimdallState::Flashing) { flashLabel->setText("Heimdall reported an unknown error!"); flashProgressBar->setEnabled(false); } else { utilityOutputPlainTextEdit->appendPlainText("\nFRONTEND ERROR: Heimdall reported an unknown error!"); } heimdallState = HeimdallState::Stopped; UpdateInterfaceAvailability(); } } Heimdall-1.4.1/heimdall-frontend/Source/mainwindow.h000066400000000000000000000115731234253036400224260ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef MAINWINDOW_H #define MAINWINDOW_H // Qt #include #include #include #include // libpit #include "libpit.h" // Heimdall Frontend #include "aboutform.h" #include "ui_mainwindow.h" #include "PackageData.h" using namespace libpit; namespace HeimdallFrontend { class MainWindow : public QMainWindow, public Ui::MainWindow { Q_OBJECT private: enum class HeimdallState { Stopped = 0, Flashing, DetectingDevice, ClosingPcScreen, PrintingPit, DownloadingPit }; enum { kPrintPitSourceDevice = 0, kPrintPitSourceLocalFile }; AboutForm aboutForm; QString lastDirectory; int tabIndex; bool heimdallFailed; HeimdallState heimdallState; QProcess heimdallProcess; PackageData loadedPackageData; PitData currentPitData; PackageData workingPackageData; bool populatingPartitionNames; QList unusedPartitionIds; bool verboseOutput; bool resume; void StartHeimdall(const QStringList& arguments); void UpdateUnusedPartitionIds(void); bool ReadPit(QFile *file); void UpdatePackageUserInterface(void); bool IsArchive(QString path); QString PromptFileSelection(const QString& caption = QString("Select File"), const QString& filter = QString()); QString PromptFileCreation(const QString& caption = QString("Save File"), const QString& filter = QString()); void UpdateLoadPackageInterfaceAvailability(void); void UpdateFlashInterfaceAvailability(void); void UpdateCreatePackageInterfaceAvailability(void); void UpdateUtilitiesInterfaceAvailability(void); void UpdateInterfaceAvailability(void); void UpdatePartitionNamesInterface(void); public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); public slots: void OpenDonationWebpage(void); void SetVerboseOutput(bool enabled); void ShowAbout(void); void FunctionTabChanged(int index); // Load Package Tab void SelectFirmwarePackage(void); void OpenDeveloperHomepage(void); void OpenDeveloperDonationWebpage(void); void LoadFirmwarePackage(void); // Flash Tab void SelectPartitionName(int index); void SelectPartitionFile(void); void SelectPartition(int row); void AddPartition(void); void RemovePartition(void); void SelectPit(void); void SetRepartition(int enabled); void SetNoReboot(int enabled); void SetResume(bool enabled); void SetResume(int enabled); void StartFlash(void); // Create Package Tab void FirmwareNameChanged(const QString& text); void FirmwareVersionChanged(const QString& text); void PlatformNameChanged(const QString& text); void PlatformVersionChanged(const QString& text); void HomepageUrlChanged(const QString& text); void DonateUrlChanged(const QString& text); void DeveloperNameChanged(const QString& text); void SelectDeveloper(int row); void AddDeveloper(void); void RemoveDeveloper(void); void DeviceInfoChanged(const QString& text); void SelectDevice(int row); void AddDevice(void); void RemoveDevice(void); void BuildPackage(void); // Utilities Tab void DetectDevice(void); void ClosePcScreen(void); void SelectPitDestination(void); void DownloadPit(void); void DevicePrintPitToggled(bool checked); void LocalFilePrintPitToggled(bool checked); void SelectPrintPitFile(void); void PrintPit(void); // Heimdall Command Line void HandleHeimdallStdout(void); void HandleHeimdallReturned(int exitCode, QProcess::ExitStatus exitStatus); void HandleHeimdallError(QProcess::ProcessError error); }; } #endif // MAINWINDOW_H Heimdall-1.4.1/heimdall-frontend/aboutform.ui000066400000000000000000000667031234253036400212030ustar00rootroot00000000000000 AboutForm Qt::ApplicationModal 0 0 581 491 0 0 581 491 581 491 About Heimdall Frontend 250 460 75 21 OK 10 10 561 441 0 0 Qt::ScrollBarAlwaysOff true 0 -701 542 1140 0 0 16777215 16777215 0 0 0 10 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Heimdall Frontend</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Version 1.4.1</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2010-2014 Benjamin Dobell, Glass Echidna</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Heimdall (command line)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">%HEIMDALL-VERSION%Copyright © 2010-2014 Benjamin Dobell, Glass Echidna</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> Qt::RichText true Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop true false 10 QFrame::NoFrame QFrame::Plain <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">If you appreciate this software and you would like to support future development please consider donating:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:10pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.glassechidna.com.au/donate/"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">http://www.glassechidna.com.au/donate/</span></a></p></body></html> Qt::RichText true Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop true true Qt::Vertical 20 15 10 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Glass Echidna Homepage:</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.glassechidna.com.au/"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">http://www.glassechidna.com.au/</span></a></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;"></p></body></html> Qt::RichText true Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop true true 10 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Heimdall Homepage:</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.glassechidna.com.au/products/heimdall/"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">http://www.glassechidna.com.au/products/heimdall/</span></a></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;"></p></body></html> Qt::RichText true Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop true true 9 true false QFrame::NoFrame QFrame::Plain <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Heimdall and Heimdall Frontend are licensed under the following license:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:10pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the &quot;Software&quot;), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:10pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:10pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:10pt;"></p></body></html> Qt::RichText true Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop true 0 2 false Qt::Vertical 20 15 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Heimdall Frontend's user interface is powered by the Qt Framework:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:10pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">Copyright © 2008-2011 Nokia Corporation</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">Qt is licensed under the </span><a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Lesser General Public License v2.1.</span></a></p></body></html> Qt::RichText true true Qt::Vertical 20 15 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Heimdall Frontend utilises zlib for package compression:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:10pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">zlib is licensed under the following license:</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">Copyright © 1995-2010 Jean-loup Gailly and Mark Adler</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:10pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:10pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:10pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:10pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:10pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">3. This notice may not be removed or altered from any source distribution.</span></p></body></html> Qt::RichText true false Qt::Vertical 20 15 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Heimdall (command line) utilises libusbx for all USB communication:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">libusbx is licensed under the </span><a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Lesser General Public License v2.1.</span></a></p></body></html> Qt::RichText true true okPushButton clicked() AboutForm close() 287 470 290 245 Heimdall-1.4.1/heimdall-frontend/description-pak000066400000000000000000000001301234253036400216430ustar00rootroot00000000000000Heimdall Frontend is the official graphical user interface for the Heimdall tool suite. Heimdall-1.4.1/heimdall-frontend/heimdall-frontend.pri000066400000000000000000000007221234253036400227430ustar00rootroot00000000000000HEADERS += ./Source/aboutform.h \ ./Source/Alerts.h \ ./Source/FirmwareInfo.h \ ./Source/mainwindow.h \ ./Source/PackageData.h \ ./Source/Packaging.h SOURCES += ./Source/aboutform.cpp \ ./Source/Alerts.cpp \ ./Source/FirmwareInfo.cpp \ ./Source/main.cpp \ ./Source/mainwindow.cpp \ ./Source/PackageData.cpp \ ./Source/Packaging.cpp FORMS += ./mainwindow.ui \ ./aboutform.ui RESOURCES += mainwindow.qrc Heimdall-1.4.1/heimdall-frontend/heimdall-frontend.pro000066400000000000000000000050101234253036400227440ustar00rootroot00000000000000# ---------------------------------------------------- # This file is generated by the Qt Visual Studio Add-in. # ------------------------------------------------------ TEMPLATE = app TARGET = heimdall-frontend isEmpty(OUTPUTDIR) { OUTPUTDIR = $$(OUTPUTDIR) } macx { message("") isEmpty(QT_FRAMEWORKS_DIR) { QT_FRAMEWORKS_DIR = $$(QT_FRAMEWORKS_DIR) } isEmpty(QT_FRAMEWORKS_DIR) { message("QT_FRAMEWORKS_DIR not specified, using default:") QT_FRAMEWORKS_DIR = /Library/Frameworks } message("QT_FRAMEWORKS_DIR = $$QT_FRAMEWORKS_DIR") message("") isEmpty(QMAKE_MACOSX_DEPLOYMENT_TARGET) { QMAKE_MACOSX_DEPLOYMENT_TARGET = $$(QMAKE_MACOSX_DEPLOYMENT_TARGET) } isEmpty(QMAKE_MACOSX_DEPLOYMENT_TARGET) { message("QMAKE_MACOSX_DEPLOYMENT_TARGET not specified, using default:") QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4 } message("QMAKE_MACOSX_DEPLOYMENT_TARGET = $$QMAKE_MACOSX_DEPLOYMENT_TARGET") message("") isEmpty(QMAKE_MAC_SDK) { QMAKE_MAC_SDK = $$(QMAKE_MAC_SDK) } isEmpty(QMAKE_MAC_SDK) { message("QMAKE_MAC_SDK not specified, using default:") QMAKE_MAC_SDK = /Developer/SDKs/MacOSX10.7.sdk } message("QMAKE_MAC_SDK = $$QMAKE_MAC_SDK") message("") PRIVATE_FRAMEWORKS.files = $$QT_FRAMEWORKS_DIR/QtCore.framework \ $$QT_FRAMEWORKS_DIR//QtGui.framework $$QT_FRAMEWORKS_DIR/QtXml.framework PRIVATE_FRAMEWORKS.path = Contents/Frameworks QMAKE_BUNDLE_DATA += PRIVATE_FRAMEWORKS LIBS += -L/usr/lib config += x86 x86_64 ppc QMAKE_CFLAGS_X86_64 = -m64 -mmacosx-version-min=$$QMAKE_MACOSX_DEPLOYMENT_TARGET QMAKE_CXXFLAGS_X86_64 = $$QMAKE_CFLAGS_X86_64 QMAKE_LFLAGS_X86_64 = $$QMAKE_CFLAGS_X86_64 isEmpty(OUTPUTDIR) { DESTDIR = /Applications } else { DESTDIR = $$OUTPUTDIR } } else { win32 { # It is recommended that Windows users compile via VS2010, but just in case... DESTDIR = ../Win32 !isEmpty(OUTPUTDIR) { target.path = $$OUTPUTDIR INSTALLS += target } } else { DESTDIR = ../Linux isEmpty(OUTPUTDIR) { target.path = /usr/local/bin } else { target.path = $$OUTPUTDIR } INSTALLS += target } } QMAKE_CXXFLAGS += -std=c++0x unix:LIBS += -lz ../libpit/libpit-1.4.a win32:LIBS += ../Win32/Release/lib/libpit.lib QT += core gui xml CONFIG += release DEFINES += QT_LARGEFILE_SUPPORT INCLUDEPATH += ./GeneratedFiles \ ./GeneratedFiles/Release \ ../libpit/Source \ . unix:INCLUDEPATH += /usr/include DEPENDPATH += . MOC_DIR += ./GeneratedFiles/release OBJECTS_DIR += release UI_DIR += ./GeneratedFiles RCC_DIR += ./GeneratedFiles include(heimdall-frontend.pri) Heimdall-1.4.1/heimdall-frontend/heimdall-frontend.vcxproj000066400000000000000000000605031234253036400236470ustar00rootroot00000000000000 Debug Win32 Release (Static) Win32 Release Win32 {EAD352DF-7CDE-478C-8D70-B0E42A951DEF} Qt4VSv1.0 Application Unicode v110 Application v110 true Application v110 true <_ProjectFileVersion>10.0.30319.1 AllRules.ruleset AllRules.ruleset AllRules.ruleset $(SolutionDir)$(Platform)\$(Configuration)\ $(SolutionDir)$(Platform)\$(Configuration)\ $(SolutionDir)$(Platform)\$(Configuration)\ $(Configuration)\ $(Configuration)\ $(Configuration)\ $(ProjectDir)include;$(SolutionDir)libpit\Source;$(IncludePath) false false $(ProjectDir)include;$(SolutionDir)libpit\Source;$(IncludePath) $(ProjectDir)include;$(SolutionDir)libpit\Source;$(IncludePath) $(ProjectDir)lib\win32;$(LibraryPath) $(ProjectDir)lib\win32;$(LibraryPath) $(ProjectDir)lib\win32;$(LibraryPath) $(SourcePath) UNICODE;WIN32;QT_LARGEFILE_SUPPORT;QT_CORE_LIB;QT_GUI_LIB;%(PreprocessorDefinitions) .\GeneratedFiles;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\qtmain;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtXml;..\libpit\Source;.\;%(AdditionalIncludeDirectories) Disabled EditAndContinue MultiThreadedDebugDLL false Level3 true Windows $(OutDir)$(TargetName)$(TargetExt) $(QTDIR)\lib;$(SolutionDir)$(Platform)\$(Configuration)\lib\;%(AdditionalLibraryDirectories) true qtmaind.lib;QtCored4.lib;QtGuid4.lib;QtXmld4.lib;libpit.lib;%(AdditionalDependencies) UNICODE;WIN32;QT_LARGEFILE_SUPPORT;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_GUI_LIB;%(PreprocessorDefinitions) .\GeneratedFiles;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\qtmain;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtXml;..\libpit\Source;.\;%(AdditionalIncludeDirectories) MultiThreadedDLL false Windows $(OutDir)$(TargetName)$(TargetExt) $(QTDIR)\lib;$(SolutionDir)$(Platform)\$(Configuration)\lib\;%(AdditionalLibraryDirectories) false qtmain.lib;QtCore4.lib;QtGui4.lib;QtXml4.lib;libpit.lib;%(AdditionalDependencies) UNICODE;WIN32;QT_LARGEFILE_SUPPORT;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_GUI_LIB;%(PreprocessorDefinitions) .\GeneratedFiles;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\qtmain;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtXml;..\libpit\Source;.\;%(AdditionalIncludeDirectories) MultiThreaded false Windows $(OutDir)$(TargetName)$(TargetExt) $(QTDIR)\lib;$(SolutionDir)$(Platform)\$(Configuration)\lib\;%(AdditionalLibraryDirectories) false qtmain.lib;QtCore.lib;QtGui.lib;QtXml.lib;libpit.lib;imm32.lib;winmm.lib;Ws2_32.lib;%(AdditionalDependencies) true true true true true true true true true true true true Document $(QTDIR)\bin\uic.exe;%(AdditionalInputs) Uic%27ing %(Identity)... .\GeneratedFiles\ui_%(Filename).h;%(Outputs) "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" $(QTDIR)\bin\uic.exe;%(AdditionalInputs) $(QTDIR)\bin\uic.exe;%(AdditionalInputs) Uic%27ing %(Identity)... Uic%27ing %(Identity)... .\GeneratedFiles\ui_%(Filename).h;%(Outputs) .\GeneratedFiles\ui_%(Filename).h;%(Outputs) "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing %(Identity)... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\qtmain" "-I$(QTDIR)\include\QtXml" "-I." "-I.\..\libpit\Source" "-I.\GeneratedFiles" "-I.\GeneratedFiles\$(ConfigurationName)\." -D_UNICODE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_LARGEFILE_SUPPORT -DUNICODE -DWIN32 $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing %(Identity)... Moc%27ing %(Identity)... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\qtmain" "-I$(QTDIR)\include\QtXml" "-I." "-I.\..\libpit\Source" "-I.\GeneratedFiles" "-I.\GeneratedFiles\$(ConfigurationName)\." -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_LARGEFILE_SUPPORT -DQT_NO_DEBUG -DUNICODE -DWIN32 "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\qtmain" "-I$(QTDIR)\include\QtXml" "-I." "-I.\..\libpit\Source" "-I.\GeneratedFiles" "-I.\GeneratedFiles\$(ConfigurationName)\." -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_LARGEFILE_SUPPORT -DQT_NO_DEBUG -DUNICODE -DWIN32 $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing %(Identity)... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp "$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_CORE_LIB -DQT_GUI_LIB -D_UNICODE "-I." "-I.\GeneratedFiles" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\qtmain" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtXml" "-I.\..\libpit\Source" "-I." "-I." "-I." "-I." "-I." "-I." "Source\mainwindow.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing %(Identity)... Moc%27ing %(Identity)... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp "$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB "-I." "-I.\GeneratedFiles" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\qtmain" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtXml" "-I.\..\libpit\Source" "-I." "-I." "-I." "-I." "-I." "Source\mainwindow.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB "-I." "-I.\GeneratedFiles" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\qtmain" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtXml" "-I.\..\libpit\Source" "-I." "-I." "-I." "-I." "-I." "Source\mainwindow.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" Document %(FullPath);%(AdditionalInputs) Rcc%27ing %(Identity)... .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs) "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp %(FullPath);%(AdditionalInputs) %(FullPath);%(AdditionalInputs) Rcc%27ing %(Identity)... Rcc%27ing %(Identity)... .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs) .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs) "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp Designer Document $(QTDIR)\bin\uic.exe;%(AdditionalInputs) Uic%27ing %(Identity)... .\GeneratedFiles\ui_%(Filename).h;%(Outputs) "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" $(QTDIR)\bin\uic.exe;%(AdditionalInputs) $(QTDIR)\bin\uic.exe;%(AdditionalInputs) Uic%27ing %(Identity)... Uic%27ing %(Identity)... .\GeneratedFiles\ui_%(Filename).h;%(Outputs) .\GeneratedFiles\ui_%(Filename).h;%(Outputs) "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" Designer Heimdall-1.4.1/heimdall-frontend/heimdall-frontend.vcxproj.filters000066400000000000000000000102361234253036400253140ustar00rootroot00000000000000 {99349809-55BA-4b9d-BF79-8FDBB0286EB3} ui {D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E} qrc;* false {71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11} moc;h;cpp False {ead127e5-64ec-4f27-8f35-5fb8f8b0b46e} cpp;moc False {2a437972-0e31-44d0-be90-ea5d62a68ff5} cpp;moc False {4FC737F1-C7A5-4376-A066-2A32D752A2FF} cpp;cxx;c;def Generated Files Source Source Generated Files\Debug Generated Files\Release Source Source Source Source Source Generated Files\Debug Generated Files\Release Generated Files\Debug Generated Files\Debug Form Files Resource Files Source Form Files Source Generated Files Generated Files Source Source Source Source Heimdall-1.4.1/heimdall-frontend/include/000077500000000000000000000000001234253036400202555ustar00rootroot00000000000000Heimdall-1.4.1/heimdall-frontend/include/zconf.h000066400000000000000000000320771234253036400215560ustar00rootroot00000000000000/* zconf.h -- configuration of the zlib compression library * Copyright (C) 1995-2010 Jean-loup Gailly. * For conditions of distribution and use, see copyright notice in zlib.h */ /* @(#) $Id$ */ #ifndef ZCONF_H #define ZCONF_H /* * If you *really* need a unique prefix for all types and library functions, * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. * Even better than compiling with -DZ_PREFIX would be to use configure to set * this permanently in zconf.h using "./configure --zprefix". */ #ifdef Z_PREFIX /* may be set to #if 1 by ./configure */ /* all linked symbols */ # define _dist_code z__dist_code # define _length_code z__length_code # define _tr_align z__tr_align # define _tr_flush_block z__tr_flush_block # define _tr_init z__tr_init # define _tr_stored_block z__tr_stored_block # define _tr_tally z__tr_tally # define adler32 z_adler32 # define adler32_combine z_adler32_combine # define adler32_combine64 z_adler32_combine64 # define compress z_compress # define compress2 z_compress2 # define compressBound z_compressBound # define crc32 z_crc32 # define crc32_combine z_crc32_combine # define crc32_combine64 z_crc32_combine64 # define deflate z_deflate # define deflateBound z_deflateBound # define deflateCopy z_deflateCopy # define deflateEnd z_deflateEnd # define deflateInit2_ z_deflateInit2_ # define deflateInit_ z_deflateInit_ # define deflateParams z_deflateParams # define deflatePrime z_deflatePrime # define deflateReset z_deflateReset # define deflateSetDictionary z_deflateSetDictionary # define deflateSetHeader z_deflateSetHeader # define deflateTune z_deflateTune # define deflate_copyright z_deflate_copyright # define get_crc_table z_get_crc_table # define gz_error z_gz_error # define gz_intmax z_gz_intmax # define gz_strwinerror z_gz_strwinerror # define gzbuffer z_gzbuffer # define gzclearerr z_gzclearerr # define gzclose z_gzclose # define gzclose_r z_gzclose_r # define gzclose_w z_gzclose_w # define gzdirect z_gzdirect # define gzdopen z_gzdopen # define gzeof z_gzeof # define gzerror z_gzerror # define gzflush z_gzflush # define gzgetc z_gzgetc # define gzgets z_gzgets # define gzoffset z_gzoffset # define gzoffset64 z_gzoffset64 # define gzopen z_gzopen # define gzopen64 z_gzopen64 # define gzprintf z_gzprintf # define gzputc z_gzputc # define gzputs z_gzputs # define gzread z_gzread # define gzrewind z_gzrewind # define gzseek z_gzseek # define gzseek64 z_gzseek64 # define gzsetparams z_gzsetparams # define gztell z_gztell # define gztell64 z_gztell64 # define gzungetc z_gzungetc # define gzwrite z_gzwrite # define inflate z_inflate # define inflateBack z_inflateBack # define inflateBackEnd z_inflateBackEnd # define inflateBackInit_ z_inflateBackInit_ # define inflateCopy z_inflateCopy # define inflateEnd z_inflateEnd # define inflateGetHeader z_inflateGetHeader # define inflateInit2_ z_inflateInit2_ # define inflateInit_ z_inflateInit_ # define inflateMark z_inflateMark # define inflatePrime z_inflatePrime # define inflateReset z_inflateReset # define inflateReset2 z_inflateReset2 # define inflateSetDictionary z_inflateSetDictionary # define inflateSync z_inflateSync # define inflateSyncPoint z_inflateSyncPoint # define inflateUndermine z_inflateUndermine # define inflate_copyright z_inflate_copyright # define inflate_fast z_inflate_fast # define inflate_table z_inflate_table # define uncompress z_uncompress # define zError z_zError # define zcalloc z_zcalloc # define zcfree z_zcfree # define zlibCompileFlags z_zlibCompileFlags # define zlibVersion z_zlibVersion /* all zlib typedefs in zlib.h and zconf.h */ # define Byte z_Byte # define Bytef z_Bytef # define alloc_func z_alloc_func # define charf z_charf # define free_func z_free_func # define gzFile z_gzFile # define gz_header z_gz_header # define gz_headerp z_gz_headerp # define in_func z_in_func # define intf z_intf # define out_func z_out_func # define uInt z_uInt # define uIntf z_uIntf # define uLong z_uLong # define uLongf z_uLongf # define voidp z_voidp # define voidpc z_voidpc # define voidpf z_voidpf /* all zlib structs in zlib.h and zconf.h */ # define gz_header_s z_gz_header_s # define internal_state z_internal_state #endif #if defined(__MSDOS__) && !defined(MSDOS) # define MSDOS #endif #if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) # define OS2 #endif #if defined(_WINDOWS) && !defined(WINDOWS) # define WINDOWS #endif #if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) # ifndef WIN32 # define WIN32 # endif #endif #if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) # if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) # ifndef SYS16BIT # define SYS16BIT # endif # endif #endif /* * Compile with -DMAXSEG_64K if the alloc function cannot allocate more * than 64k bytes at a time (needed on systems with 16-bit int). */ #ifdef SYS16BIT # define MAXSEG_64K #endif #ifdef MSDOS # define UNALIGNED_OK #endif #ifdef __STDC_VERSION__ # ifndef STDC # define STDC # endif # if __STDC_VERSION__ >= 199901L # ifndef STDC99 # define STDC99 # endif # endif #endif #if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) # define STDC #endif #if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) # define STDC #endif #if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) # define STDC #endif #if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) # define STDC #endif #if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ # define STDC #endif #ifndef STDC # ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ # define const /* note: need a more gentle solution here */ # endif #endif /* Some Mac compilers merge all .h files incorrectly: */ #if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__) # define NO_DUMMY_DECL #endif /* Maximum value for memLevel in deflateInit2 */ #ifndef MAX_MEM_LEVEL # ifdef MAXSEG_64K # define MAX_MEM_LEVEL 8 # else # define MAX_MEM_LEVEL 9 # endif #endif /* Maximum value for windowBits in deflateInit2 and inflateInit2. * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files * created by gzip. (Files created by minigzip can still be extracted by * gzip.) */ #ifndef MAX_WBITS # define MAX_WBITS 15 /* 32K LZ77 window */ #endif /* The memory requirements for deflate are (in bytes): (1 << (windowBits+2)) + (1 << (memLevel+9)) that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) plus a few kilobytes for small objects. For example, if you want to reduce the default memory requirements from 256K to 128K, compile with make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" Of course this will generally degrade compression (there's no free lunch). The memory requirements for inflate are (in bytes) 1 << windowBits that is, 32K for windowBits=15 (default value) plus a few kilobytes for small objects. */ /* Type declarations */ #ifndef OF /* function prototypes */ # ifdef STDC # define OF(args) args # else # define OF(args) () # endif #endif /* The following definitions for FAR are needed only for MSDOS mixed * model programming (small or medium model with some far allocations). * This was tested only with MSC; for other MSDOS compilers you may have * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, * just define FAR to be empty. */ #ifdef SYS16BIT # if defined(M_I86SM) || defined(M_I86MM) /* MSC small or medium model */ # define SMALL_MEDIUM # ifdef _MSC_VER # define FAR _far # else # define FAR far # endif # endif # if (defined(__SMALL__) || defined(__MEDIUM__)) /* Turbo C small or medium model */ # define SMALL_MEDIUM # ifdef __BORLANDC__ # define FAR _far # else # define FAR far # endif # endif #endif #if defined(WINDOWS) || defined(WIN32) /* If building or using zlib as a DLL, define ZLIB_DLL. * This is not mandatory, but it offers a little performance increase. */ # ifdef ZLIB_DLL # if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) # ifdef ZLIB_INTERNAL # define ZEXTERN extern __declspec(dllexport) # else # define ZEXTERN extern __declspec(dllimport) # endif # endif # endif /* ZLIB_DLL */ /* If building or using zlib with the WINAPI/WINAPIV calling convention, * define ZLIB_WINAPI. * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. */ # ifdef ZLIB_WINAPI # ifdef FAR # undef FAR # endif # include /* No need for _export, use ZLIB.DEF instead. */ /* For complete Windows compatibility, use WINAPI, not __stdcall. */ # define ZEXPORT WINAPI # ifdef WIN32 # define ZEXPORTVA WINAPIV # else # define ZEXPORTVA FAR CDECL # endif # endif #endif #if defined (__BEOS__) # ifdef ZLIB_DLL # ifdef ZLIB_INTERNAL # define ZEXPORT __declspec(dllexport) # define ZEXPORTVA __declspec(dllexport) # else # define ZEXPORT __declspec(dllimport) # define ZEXPORTVA __declspec(dllimport) # endif # endif #endif #ifndef ZEXTERN # define ZEXTERN extern #endif #ifndef ZEXPORT # define ZEXPORT #endif #ifndef ZEXPORTVA # define ZEXPORTVA #endif #ifndef FAR # define FAR #endif #if !defined(__MACTYPES__) typedef unsigned char Byte; /* 8 bits */ #endif typedef unsigned int uInt; /* 16 bits or more */ typedef unsigned long uLong; /* 32 bits or more */ #ifdef SMALL_MEDIUM /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ # define Bytef Byte FAR #else typedef Byte FAR Bytef; #endif typedef char FAR charf; typedef int FAR intf; typedef uInt FAR uIntf; typedef uLong FAR uLongf; #ifdef STDC typedef void const *voidpc; typedef void FAR *voidpf; typedef void *voidp; #else typedef Byte const *voidpc; typedef Byte FAR *voidpf; typedef Byte *voidp; #endif #ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */ # define Z_HAVE_UNISTD_H #endif #ifdef STDC # include /* for off_t */ #endif /* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even * though the former does not conform to the LFS document), but considering * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as * equivalently requesting no 64-bit operations */ #if -_LARGEFILE64_SOURCE - -1 == 1 # undef _LARGEFILE64_SOURCE #endif #if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE) # include /* for SEEK_* and off_t */ # ifdef VMS # include /* for off_t */ # endif # ifndef z_off_t # define z_off_t off_t # endif #endif #ifndef SEEK_SET # define SEEK_SET 0 /* Seek from beginning of file. */ # define SEEK_CUR 1 /* Seek from current position. */ # define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ #endif #ifndef z_off_t # define z_off_t long #endif #if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0 # define z_off64_t off64_t #else # define z_off64_t z_off_t #endif #if defined(__OS400__) # define NO_vsnprintf #endif #if defined(__MVS__) # define NO_vsnprintf #endif /* MVS linker does not support external names larger than 8 bytes */ #if defined(__MVS__) #pragma map(deflateInit_,"DEIN") #pragma map(deflateInit2_,"DEIN2") #pragma map(deflateEnd,"DEEND") #pragma map(deflateBound,"DEBND") #pragma map(inflateInit_,"ININ") #pragma map(inflateInit2_,"ININ2") #pragma map(inflateEnd,"INEND") #pragma map(inflateSync,"INSY") #pragma map(inflateSetDictionary,"INSEDI") #pragma map(compressBound,"CMBND") #pragma map(inflate_table,"INTABL") #pragma map(inflate_fast,"INFA") #pragma map(inflate_copyright,"INCOPY") #endif #endif /* ZCONF_H */ Heimdall-1.4.1/heimdall-frontend/include/zlib.h000066400000000000000000002333141234253036400213740ustar00rootroot00000000000000/* zlib.h -- interface of the 'zlib' general purpose compression library version 1.2.5, April 19th, 2010 Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. Jean-loup Gailly Mark Adler jloup@gzip.org madler@alumni.caltech.edu The data format used by the zlib library is described by RFCs (Request for Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format). */ #ifndef ZLIB_H #define ZLIB_H #include "zconf.h" #ifdef __cplusplus extern "C" { #endif #define ZLIB_VERSION "1.2.5" #define ZLIB_VERNUM 0x1250 #define ZLIB_VER_MAJOR 1 #define ZLIB_VER_MINOR 2 #define ZLIB_VER_REVISION 5 #define ZLIB_VER_SUBREVISION 0 /* The 'zlib' compression library provides in-memory compression and decompression functions, including integrity checks of the uncompressed data. This version of the library supports only one compression method (deflation) but other algorithms will be added later and will have the same stream interface. Compression can be done in a single step if the buffers are large enough, or can be done by repeated calls of the compression function. In the latter case, the application must provide more input and/or consume the output (providing more output space) before each call. The compressed data format used by default by the in-memory functions is the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped around a deflate stream, which is itself documented in RFC 1951. The library also supports reading and writing files in gzip (.gz) format with an interface similar to that of stdio using the functions that start with "gz". The gzip format is different from the zlib format. gzip is a gzip wrapper, documented in RFC 1952, wrapped around a deflate stream. This library can optionally read and write gzip streams in memory as well. The zlib format was designed to be compact and fast for use in memory and on communications channels. The gzip format was designed for single- file compression on file systems, has a larger header than zlib to maintain directory information, and uses a different, slower check method than zlib. The library does not install any signal handler. The decoder checks the consistency of the compressed data, so the library should never crash even in case of corrupted input. */ typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size)); typedef void (*free_func) OF((voidpf opaque, voidpf address)); struct internal_state; typedef struct z_stream_s { Bytef *next_in; /* next input byte */ uInt avail_in; /* number of bytes available at next_in */ uLong total_in; /* total nb of input bytes read so far */ Bytef *next_out; /* next output byte should be put there */ uInt avail_out; /* remaining free space at next_out */ uLong total_out; /* total nb of bytes output so far */ char *msg; /* last error message, NULL if no error */ struct internal_state FAR *state; /* not visible by applications */ alloc_func zalloc; /* used to allocate the internal state */ free_func zfree; /* used to free the internal state */ voidpf opaque; /* private data object passed to zalloc and zfree */ int data_type; /* best guess about the data type: binary or text */ uLong adler; /* adler32 value of the uncompressed data */ uLong reserved; /* reserved for future use */ } z_stream; typedef z_stream FAR *z_streamp; /* gzip header information passed to and from zlib routines. See RFC 1952 for more details on the meanings of these fields. */ typedef struct gz_header_s { int text; /* true if compressed data believed to be text */ uLong time; /* modification time */ int xflags; /* extra flags (not used when writing a gzip file) */ int os; /* operating system */ Bytef *extra; /* pointer to extra field or Z_NULL if none */ uInt extra_len; /* extra field length (valid if extra != Z_NULL) */ uInt extra_max; /* space at extra (only when reading header) */ Bytef *name; /* pointer to zero-terminated file name or Z_NULL */ uInt name_max; /* space at name (only when reading header) */ Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */ uInt comm_max; /* space at comment (only when reading header) */ int hcrc; /* true if there was or will be a header crc */ int done; /* true when done reading gzip header (not used when writing a gzip file) */ } gz_header; typedef gz_header FAR *gz_headerp; /* The application must update next_in and avail_in when avail_in has dropped to zero. It must update next_out and avail_out when avail_out has dropped to zero. The application must initialize zalloc, zfree and opaque before calling the init function. All other fields are set by the compression library and must not be updated by the application. The opaque value provided by the application will be passed as the first parameter for calls of zalloc and zfree. This can be useful for custom memory management. The compression library attaches no meaning to the opaque value. zalloc must return Z_NULL if there is not enough memory for the object. If zlib is used in a multi-threaded application, zalloc and zfree must be thread safe. On 16-bit systems, the functions zalloc and zfree must be able to allocate exactly 65536 bytes, but will not be required to allocate more than this if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS, pointers returned by zalloc for objects of exactly 65536 bytes *must* have their offset normalized to zero. The default allocation function provided by this library ensures this (see zutil.c). To reduce memory requirements and avoid any allocation of 64K objects, at the expense of compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h). The fields total_in and total_out can be used for statistics or progress reports. After compression, total_in holds the total size of the uncompressed data and may be saved for use in the decompressor (particularly if the decompressor wants to decompress everything in a single step). */ /* constants */ #define Z_NO_FLUSH 0 #define Z_PARTIAL_FLUSH 1 #define Z_SYNC_FLUSH 2 #define Z_FULL_FLUSH 3 #define Z_FINISH 4 #define Z_BLOCK 5 #define Z_TREES 6 /* Allowed flush values; see deflate() and inflate() below for details */ #define Z_OK 0 #define Z_STREAM_END 1 #define Z_NEED_DICT 2 #define Z_ERRNO (-1) #define Z_STREAM_ERROR (-2) #define Z_DATA_ERROR (-3) #define Z_MEM_ERROR (-4) #define Z_BUF_ERROR (-5) #define Z_VERSION_ERROR (-6) /* Return codes for the compression/decompression functions. Negative values * are errors, positive values are used for special but normal events. */ #define Z_NO_COMPRESSION 0 #define Z_BEST_SPEED 1 #define Z_BEST_COMPRESSION 9 #define Z_DEFAULT_COMPRESSION (-1) /* compression levels */ #define Z_FILTERED 1 #define Z_HUFFMAN_ONLY 2 #define Z_RLE 3 #define Z_FIXED 4 #define Z_DEFAULT_STRATEGY 0 /* compression strategy; see deflateInit2() below for details */ #define Z_BINARY 0 #define Z_TEXT 1 #define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */ #define Z_UNKNOWN 2 /* Possible values of the data_type field (though see inflate()) */ #define Z_DEFLATED 8 /* The deflate compression method (the only one supported in this version) */ #define Z_NULL 0 /* for initializing zalloc, zfree, opaque */ #define zlib_version zlibVersion() /* for compatibility with versions < 1.0.2 */ /* basic functions */ ZEXTERN const char * ZEXPORT zlibVersion OF((void)); /* The application can compare zlibVersion and ZLIB_VERSION for consistency. If the first character differs, the library code actually used is not compatible with the zlib.h header file used by the application. This check is automatically made by deflateInit and inflateInit. */ /* ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level)); Initializes the internal stream state for compression. The fields zalloc, zfree and opaque must be initialized before by the caller. If zalloc and zfree are set to Z_NULL, deflateInit updates them to use default allocation functions. The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9: 1 gives best speed, 9 gives best compression, 0 gives no compression at all (the input data is simply copied a block at a time). Z_DEFAULT_COMPRESSION requests a default compromise between speed and compression (currently equivalent to level 6). deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough memory, Z_STREAM_ERROR if level is not a valid compression level, or Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible with the version assumed by the caller (ZLIB_VERSION). msg is set to null if there is no error message. deflateInit does not perform any compression: this will be done by deflate(). */ ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush)); /* deflate compresses as much data as possible, and stops when the input buffer becomes empty or the output buffer becomes full. It may introduce some output latency (reading input without producing any output) except when forced to flush. The detailed semantics are as follows. deflate performs one or both of the following actions: - Compress more input starting at next_in and update next_in and avail_in accordingly. If not all input can be processed (because there is not enough room in the output buffer), next_in and avail_in are updated and processing will resume at this point for the next call of deflate(). - Provide more output starting at next_out and update next_out and avail_out accordingly. This action is forced if the parameter flush is non zero. Forcing flush frequently degrades the compression ratio, so this parameter should be set only when necessary (in interactive applications). Some output may be provided even if flush is not set. Before the call of deflate(), the application should ensure that at least one of the actions is possible, by providing more input and/or consuming more output, and updating avail_in or avail_out accordingly; avail_out should never be zero before the call. The application can consume the compressed output when it wants, for example when the output buffer is full (avail_out == 0), or after each call of deflate(). If deflate returns Z_OK and with zero avail_out, it must be called again after making room in the output buffer because there might be more output pending. Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to decide how much data to accumulate before producing output, in order to maximize compression. If the parameter flush is set to Z_SYNC_FLUSH, all pending output is flushed to the output buffer and the output is aligned on a byte boundary, so that the decompressor can get all input data available so far. (In particular avail_in is zero after the call if enough output space has been provided before the call.) Flushing may degrade compression for some compression algorithms and so it should be used only when necessary. This completes the current deflate block and follows it with an empty stored block that is three bits plus filler bits to the next byte, followed by four bytes (00 00 ff ff). If flush is set to Z_PARTIAL_FLUSH, all pending output is flushed to the output buffer, but the output is not aligned to a byte boundary. All of the input data so far will be available to the decompressor, as for Z_SYNC_FLUSH. This completes the current deflate block and follows it with an empty fixed codes block that is 10 bits long. This assures that enough bytes are output in order for the decompressor to finish the block before the empty fixed code block. If flush is set to Z_BLOCK, a deflate block is completed and emitted, as for Z_SYNC_FLUSH, but the output is not aligned on a byte boundary, and up to seven bits of the current block are held to be written as the next byte after the next deflate block is completed. In this case, the decompressor may not be provided enough bits at this point in order to complete decompression of the data provided so far to the compressor. It may need to wait for the next block to be emitted. This is for advanced applications that need to control the emission of deflate blocks. If flush is set to Z_FULL_FLUSH, all output is flushed as with Z_SYNC_FLUSH, and the compression state is reset so that decompression can restart from this point if previous compressed data has been damaged or if random access is desired. Using Z_FULL_FLUSH too often can seriously degrade compression. If deflate returns with avail_out == 0, this function must be called again with the same value of the flush parameter and more output space (updated avail_out), until the flush is complete (deflate returns with non-zero avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that avail_out is greater than six to avoid repeated flush markers due to avail_out == 0 on return. If the parameter flush is set to Z_FINISH, pending input is processed, pending output is flushed and deflate returns with Z_STREAM_END if there was enough output space; if deflate returns with Z_OK, this function must be called again with Z_FINISH and more output space (updated avail_out) but no more input data, until it returns with Z_STREAM_END or an error. After deflate has returned Z_STREAM_END, the only possible operations on the stream are deflateReset or deflateEnd. Z_FINISH can be used immediately after deflateInit if all the compression is to be done in a single step. In this case, avail_out must be at least the value returned by deflateBound (see below). If deflate does not return Z_STREAM_END, then it must be called again as described above. deflate() sets strm->adler to the adler32 checksum of all input read so far (that is, total_in bytes). deflate() may update strm->data_type if it can make a good guess about the input data type (Z_BINARY or Z_TEXT). In doubt, the data is considered binary. This field is only for information purposes and does not affect the compression algorithm in any manner. deflate() returns Z_OK if some progress has been made (more input processed or more output produced), Z_STREAM_END if all input has been consumed and all output has been produced (only when flush is set to Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example if next_in or next_out was Z_NULL), Z_BUF_ERROR if no progress is possible (for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not fatal, and deflate() can be called again with more input and more output space to continue compressing. */ ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm)); /* All dynamically allocated data structures for this stream are freed. This function discards any unprocessed input and does not flush any pending output. deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state was inconsistent, Z_DATA_ERROR if the stream was freed prematurely (some input or output was discarded). In the error case, msg may be set but then points to a static string (which must not be deallocated). */ /* ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm)); Initializes the internal stream state for decompression. The fields next_in, avail_in, zalloc, zfree and opaque must be initialized before by the caller. If next_in is not Z_NULL and avail_in is large enough (the exact value depends on the compression method), inflateInit determines the compression method from the zlib header and allocates all data structures accordingly; otherwise the allocation will be deferred to the first call of inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to use default allocation functions. inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough memory, Z_VERSION_ERROR if the zlib library version is incompatible with the version assumed by the caller, or Z_STREAM_ERROR if the parameters are invalid, such as a null pointer to the structure. msg is set to null if there is no error message. inflateInit does not perform any decompression apart from possibly reading the zlib header if present: actual decompression will be done by inflate(). (So next_in and avail_in may be modified, but next_out and avail_out are unused and unchanged.) The current implementation of inflateInit() does not process any header information -- that is deferred until inflate() is called. */ ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush)); /* inflate decompresses as much data as possible, and stops when the input buffer becomes empty or the output buffer becomes full. It may introduce some output latency (reading input without producing any output) except when forced to flush. The detailed semantics are as follows. inflate performs one or both of the following actions: - Decompress more input starting at next_in and update next_in and avail_in accordingly. If not all input can be processed (because there is not enough room in the output buffer), next_in is updated and processing will resume at this point for the next call of inflate(). - Provide more output starting at next_out and update next_out and avail_out accordingly. inflate() provides as much output as possible, until there is no more input data or no more space in the output buffer (see below about the flush parameter). Before the call of inflate(), the application should ensure that at least one of the actions is possible, by providing more input and/or consuming more output, and updating the next_* and avail_* values accordingly. The application can consume the uncompressed output when it wants, for example when the output buffer is full (avail_out == 0), or after each call of inflate(). If inflate returns Z_OK and with zero avail_out, it must be called again after making room in the output buffer because there might be more output pending. The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH, Z_BLOCK, or Z_TREES. Z_SYNC_FLUSH requests that inflate() flush as much output as possible to the output buffer. Z_BLOCK requests that inflate() stop if and when it gets to the next deflate block boundary. When decoding the zlib or gzip format, this will cause inflate() to return immediately after the header and before the first block. When doing a raw inflate, inflate() will go ahead and process the first block, and will return when it gets to the end of that block, or when it runs out of data. The Z_BLOCK option assists in appending to or combining deflate streams. Also to assist in this, on return inflate() will set strm->data_type to the number of unused bits in the last byte taken from strm->next_in, plus 64 if inflate() is currently decoding the last block in the deflate stream, plus 128 if inflate() returned immediately after decoding an end-of-block code or decoding the complete header up to just before the first byte of the deflate stream. The end-of-block will not be indicated until all of the uncompressed data from that block has been written to strm->next_out. The number of unused bits may in general be greater than seven, except when bit 7 of data_type is set, in which case the number of unused bits will be less than eight. data_type is set as noted here every time inflate() returns for all flush options, and so can be used to determine the amount of currently consumed input in bits. The Z_TREES option behaves as Z_BLOCK does, but it also returns when the end of each deflate block header is reached, before any actual data in that block is decoded. This allows the caller to determine the length of the deflate block header for later use in random access within a deflate block. 256 is added to the value of strm->data_type when inflate() returns immediately after reaching the end of the deflate block header. inflate() should normally be called until it returns Z_STREAM_END or an error. However if all decompression is to be performed in a single step (a single call of inflate), the parameter flush should be set to Z_FINISH. In this case all pending input is processed and all pending output is flushed; avail_out must be large enough to hold all the uncompressed data. (The size of the uncompressed data may have been saved by the compressor for this purpose.) The next operation on this stream must be inflateEnd to deallocate the decompression state. The use of Z_FINISH is never required, but can be used to inform inflate that a faster approach may be used for the single inflate() call. In this implementation, inflate() always flushes as much output as possible to the output buffer, and always uses the faster approach on the first call. So the only effect of the flush parameter in this implementation is on the return value of inflate(), as noted below, or when it returns early because Z_BLOCK or Z_TREES is used. If a preset dictionary is needed after this call (see inflateSetDictionary below), inflate sets strm->adler to the adler32 checksum of the dictionary chosen by the compressor and returns Z_NEED_DICT; otherwise it sets strm->adler to the adler32 checksum of all output produced so far (that is, total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described below. At the end of the stream, inflate() checks that its computed adler32 checksum is equal to that saved by the compressor and returns Z_STREAM_END only if the checksum is correct. inflate() can decompress and check either zlib-wrapped or gzip-wrapped deflate data. The header type is detected automatically, if requested when initializing with inflateInit2(). Any information contained in the gzip header is not retained, so applications that need that information should instead use raw inflate, see inflateInit2() below, or inflateBack() and perform their own processing of the gzip header and trailer. inflate() returns Z_OK if some progress has been made (more input processed or more output produced), Z_STREAM_END if the end of the compressed data has been reached and all uncompressed output has been produced, Z_NEED_DICT if a preset dictionary is needed at this point, Z_DATA_ERROR if the input data was corrupted (input stream not conforming to the zlib format or incorrect check value), Z_STREAM_ERROR if the stream structure was inconsistent (for example next_in or next_out was Z_NULL), Z_MEM_ERROR if there was not enough memory, Z_BUF_ERROR if no progress is possible or if there was not enough room in the output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and inflate() can be called again with more input and more output space to continue decompressing. If Z_DATA_ERROR is returned, the application may then call inflateSync() to look for a good compression block if a partial recovery of the data is desired. */ ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm)); /* All dynamically allocated data structures for this stream are freed. This function discards any unprocessed input and does not flush any pending output. inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state was inconsistent. In the error case, msg may be set but then points to a static string (which must not be deallocated). */ /* Advanced functions */ /* The following functions are needed only in some special applications. */ /* ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm, int level, int method, int windowBits, int memLevel, int strategy)); This is another version of deflateInit with more compression options. The fields next_in, zalloc, zfree and opaque must be initialized before by the caller. The method parameter is the compression method. It must be Z_DEFLATED in this version of the library. The windowBits parameter is the base two logarithm of the window size (the size of the history buffer). It should be in the range 8..15 for this version of the library. Larger values of this parameter result in better compression at the expense of memory usage. The default value is 15 if deflateInit is used instead. windowBits can also be -8..-15 for raw deflate. In this case, -windowBits determines the window size. deflate() will then generate raw deflate data with no zlib header or trailer, and will not compute an adler32 check value. windowBits can also be greater than 15 for optional gzip encoding. Add 16 to windowBits to write a simple gzip header and trailer around the compressed data instead of a zlib wrapper. The gzip header will have no file name, no extra data, no comment, no modification time (set to zero), no header crc, and the operating system will be set to 255 (unknown). If a gzip stream is being written, strm->adler is a crc32 instead of an adler32. The memLevel parameter specifies how much memory should be allocated for the internal compression state. memLevel=1 uses minimum memory but is slow and reduces compression ratio; memLevel=9 uses maximum memory for optimal speed. The default value is 8. See zconf.h for total memory usage as a function of windowBits and memLevel. The strategy parameter is used to tune the compression algorithm. Use the value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no string match), or Z_RLE to limit match distances to one (run-length encoding). Filtered data consists mostly of small values with a somewhat random distribution. In this case, the compression algorithm is tuned to compress them better. The effect of Z_FILTERED is to force more Huffman coding and less string matching; it is somewhat intermediate between Z_DEFAULT_STRATEGY and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as fast as Z_HUFFMAN_ONLY, but give better compression for PNG image data. The strategy parameter only affects the compression ratio but not the correctness of the compressed output even if it is not set appropriately. Z_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler decoder for special applications. deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough memory, Z_STREAM_ERROR if any parameter is invalid (such as an invalid method), or Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible with the version assumed by the caller (ZLIB_VERSION). msg is set to null if there is no error message. deflateInit2 does not perform any compression: this will be done by deflate(). */ ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm, const Bytef *dictionary, uInt dictLength)); /* Initializes the compression dictionary from the given byte sequence without producing any compressed output. This function must be called immediately after deflateInit, deflateInit2 or deflateReset, before any call of deflate. The compressor and decompressor must use exactly the same dictionary (see inflateSetDictionary). The dictionary should consist of strings (byte sequences) that are likely to be encountered later in the data to be compressed, with the most commonly used strings preferably put towards the end of the dictionary. Using a dictionary is most useful when the data to be compressed is short and can be predicted with good accuracy; the data can then be compressed better than with the default empty dictionary. Depending on the size of the compression data structures selected by deflateInit or deflateInit2, a part of the dictionary may in effect be discarded, for example if the dictionary is larger than the window size provided in deflateInit or deflateInit2. Thus the strings most likely to be useful should be put at the end of the dictionary, not at the front. In addition, the current implementation of deflate will use at most the window size minus 262 bytes of the provided dictionary. Upon return of this function, strm->adler is set to the adler32 value of the dictionary; the decompressor may later use this value to determine which dictionary has been used by the compressor. (The adler32 value applies to the whole dictionary even if only a subset of the dictionary is actually used by the compressor.) If a raw deflate was requested, then the adler32 value is not computed and strm->adler is not set. deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is inconsistent (for example if deflate has already been called for this stream or if the compression method is bsort). deflateSetDictionary does not perform any compression: this will be done by deflate(). */ ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest, z_streamp source)); /* Sets the destination stream as a complete copy of the source stream. This function can be useful when several compression strategies will be tried, for example when there are several ways of pre-processing the input data with a filter. The streams that will be discarded should then be freed by calling deflateEnd. Note that deflateCopy duplicates the internal compression state which can be quite large, so this strategy is slow and can consume lots of memory. deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not enough memory, Z_STREAM_ERROR if the source stream state was inconsistent (such as zalloc being Z_NULL). msg is left unchanged in both source and destination. */ ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm)); /* This function is equivalent to deflateEnd followed by deflateInit, but does not free and reallocate all the internal compression state. The stream will keep the same compression level and any other attributes that may have been set by deflateInit2. deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source stream state was inconsistent (such as zalloc or state being Z_NULL). */ ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm, int level, int strategy)); /* Dynamically update the compression level and compression strategy. The interpretation of level and strategy is as in deflateInit2. This can be used to switch between compression and straight copy of the input data, or to switch to a different kind of input data requiring a different strategy. If the compression level is changed, the input available so far is compressed with the old level (and may be flushed); the new level will take effect only at the next call of deflate(). Before the call of deflateParams, the stream state must be set as for a call of deflate(), since the currently available input may have to be compressed and flushed. In particular, strm->avail_out must be non-zero. deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR if strm->avail_out was zero. */ ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm, int good_length, int max_lazy, int nice_length, int max_chain)); /* Fine tune deflate's internal compression parameters. This should only be used by someone who understands the algorithm used by zlib's deflate for searching for the best matching string, and even then only by the most fanatic optimizer trying to squeeze out the last compressed bit for their specific input data. Read the deflate.c source code for the meaning of the max_lazy, good_length, nice_length, and max_chain parameters. deflateTune() can be called after deflateInit() or deflateInit2(), and returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream. */ ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm, uLong sourceLen)); /* deflateBound() returns an upper bound on the compressed size after deflation of sourceLen bytes. It must be called after deflateInit() or deflateInit2(), and after deflateSetHeader(), if used. This would be used to allocate an output buffer for deflation in a single pass, and so would be called before deflate(). */ ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm, int bits, int value)); /* deflatePrime() inserts bits in the deflate output stream. The intent is that this function is used to start off the deflate output with the bits leftover from a previous deflate stream when appending to it. As such, this function can only be used for raw deflate, and must be used before the first deflate() call after a deflateInit2() or deflateReset(). bits must be less than or equal to 16, and that many of the least significant bits of value will be inserted in the output. deflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source stream state was inconsistent. */ ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm, gz_headerp head)); /* deflateSetHeader() provides gzip header information for when a gzip stream is requested by deflateInit2(). deflateSetHeader() may be called after deflateInit2() or deflateReset() and before the first call of deflate(). The text, time, os, extra field, name, and comment information in the provided gz_header structure are written to the gzip header (xflag is ignored -- the extra flags are set according to the compression level). The caller must assure that, if not Z_NULL, name and comment are terminated with a zero byte, and that if extra is not Z_NULL, that extra_len bytes are available there. If hcrc is true, a gzip header crc is included. Note that the current versions of the command-line version of gzip (up through version 1.3.x) do not support header crc's, and will report that it is a "multi-part gzip file" and give up. If deflateSetHeader is not used, the default gzip header has text false, the time set to zero, and os set to 255, with no extra, name, or comment fields. The gzip header is returned to the default state by deflateReset(). deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source stream state was inconsistent. */ /* ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm, int windowBits)); This is another version of inflateInit with an extra parameter. The fields next_in, avail_in, zalloc, zfree and opaque must be initialized before by the caller. The windowBits parameter is the base two logarithm of the maximum window size (the size of the history buffer). It should be in the range 8..15 for this version of the library. The default value is 15 if inflateInit is used instead. windowBits must be greater than or equal to the windowBits value provided to deflateInit2() while compressing, or it must be equal to 15 if deflateInit2() was not used. If a compressed stream with a larger window size is given as input, inflate() will return with the error code Z_DATA_ERROR instead of trying to allocate a larger window. windowBits can also be zero to request that inflate use the window size in the zlib header of the compressed stream. windowBits can also be -8..-15 for raw inflate. In this case, -windowBits determines the window size. inflate() will then process raw deflate data, not looking for a zlib or gzip header, not generating a check value, and not looking for any check values for comparison at the end of the stream. This is for use with other formats that use the deflate compressed data format such as zip. Those formats provide their own check values. If a custom format is developed using the raw deflate format for compressed data, it is recommended that a check value such as an adler32 or a crc32 be applied to the uncompressed data as is done in the zlib, gzip, and zip formats. For most applications, the zlib format should be used as is. Note that comments above on the use in deflateInit2() applies to the magnitude of windowBits. windowBits can also be greater than 15 for optional gzip decoding. Add 32 to windowBits to enable zlib and gzip decoding with automatic header detection, or add 16 to decode only the gzip format (the zlib format will return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a crc32 instead of an adler32. inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough memory, Z_VERSION_ERROR if the zlib library version is incompatible with the version assumed by the caller, or Z_STREAM_ERROR if the parameters are invalid, such as a null pointer to the structure. msg is set to null if there is no error message. inflateInit2 does not perform any decompression apart from possibly reading the zlib header if present: actual decompression will be done by inflate(). (So next_in and avail_in may be modified, but next_out and avail_out are unused and unchanged.) The current implementation of inflateInit2() does not process any header information -- that is deferred until inflate() is called. */ ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm, const Bytef *dictionary, uInt dictLength)); /* Initializes the decompression dictionary from the given uncompressed byte sequence. This function must be called immediately after a call of inflate, if that call returned Z_NEED_DICT. The dictionary chosen by the compressor can be determined from the adler32 value returned by that call of inflate. The compressor and decompressor must use exactly the same dictionary (see deflateSetDictionary). For raw inflate, this function can be called immediately after inflateInit2() or inflateReset() and before any call of inflate() to set the dictionary. The application must insure that the dictionary that was used for compression is provided. inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the expected one (incorrect adler32 value). inflateSetDictionary does not perform any decompression: this will be done by subsequent calls of inflate(). */ ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm)); /* Skips invalid compressed data until a full flush point (see above the description of deflate with Z_FULL_FLUSH) can be found, or until all available input is skipped. No output is provided. inflateSync returns Z_OK if a full flush point has been found, Z_BUF_ERROR if no more input was provided, Z_DATA_ERROR if no flush point has been found, or Z_STREAM_ERROR if the stream structure was inconsistent. In the success case, the application may save the current current value of total_in which indicates where valid compressed data was found. In the error case, the application may repeatedly call inflateSync, providing more input each time, until success or end of the input data. */ ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest, z_streamp source)); /* Sets the destination stream as a complete copy of the source stream. This function can be useful when randomly accessing a large stream. The first pass through the stream can periodically record the inflate state, allowing restarting inflate at those points when randomly accessing the stream. inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not enough memory, Z_STREAM_ERROR if the source stream state was inconsistent (such as zalloc being Z_NULL). msg is left unchanged in both source and destination. */ ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm)); /* This function is equivalent to inflateEnd followed by inflateInit, but does not free and reallocate all the internal decompression state. The stream will keep attributes that may have been set by inflateInit2. inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source stream state was inconsistent (such as zalloc or state being Z_NULL). */ ZEXTERN int ZEXPORT inflateReset2 OF((z_streamp strm, int windowBits)); /* This function is the same as inflateReset, but it also permits changing the wrap and window size requests. The windowBits parameter is interpreted the same as it is for inflateInit2. inflateReset2 returns Z_OK if success, or Z_STREAM_ERROR if the source stream state was inconsistent (such as zalloc or state being Z_NULL), or if the windowBits parameter is invalid. */ ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm, int bits, int value)); /* This function inserts bits in the inflate input stream. The intent is that this function is used to start inflating at a bit position in the middle of a byte. The provided bits will be used before any bytes are used from next_in. This function should only be used with raw inflate, and should be used before the first inflate() call after inflateInit2() or inflateReset(). bits must be less than or equal to 16, and that many of the least significant bits of value will be inserted in the input. If bits is negative, then the input stream bit buffer is emptied. Then inflatePrime() can be called again to put bits in the buffer. This is used to clear out bits leftover after feeding inflate a block description prior to feeding inflate codes. inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source stream state was inconsistent. */ ZEXTERN long ZEXPORT inflateMark OF((z_streamp strm)); /* This function returns two values, one in the lower 16 bits of the return value, and the other in the remaining upper bits, obtained by shifting the return value down 16 bits. If the upper value is -1 and the lower value is zero, then inflate() is currently decoding information outside of a block. If the upper value is -1 and the lower value is non-zero, then inflate is in the middle of a stored block, with the lower value equaling the number of bytes from the input remaining to copy. If the upper value is not -1, then it is the number of bits back from the current bit position in the input of the code (literal or length/distance pair) currently being processed. In that case the lower value is the number of bytes already emitted for that code. A code is being processed if inflate is waiting for more input to complete decoding of the code, or if it has completed decoding but is waiting for more output space to write the literal or match data. inflateMark() is used to mark locations in the input data for random access, which may be at bit positions, and to note those cases where the output of a code may span boundaries of random access blocks. The current location in the input stream can be determined from avail_in and data_type as noted in the description for the Z_BLOCK flush parameter for inflate. inflateMark returns the value noted above or -1 << 16 if the provided source stream state was inconsistent. */ ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm, gz_headerp head)); /* inflateGetHeader() requests that gzip header information be stored in the provided gz_header structure. inflateGetHeader() may be called after inflateInit2() or inflateReset(), and before the first call of inflate(). As inflate() processes the gzip stream, head->done is zero until the header is completed, at which time head->done is set to one. If a zlib stream is being decoded, then head->done is set to -1 to indicate that there will be no gzip header information forthcoming. Note that Z_BLOCK or Z_TREES can be used to force inflate() to return immediately after header processing is complete and before any actual data is decompressed. The text, time, xflags, and os fields are filled in with the gzip header contents. hcrc is set to true if there is a header CRC. (The header CRC was valid if done is set to one.) If extra is not Z_NULL, then extra_max contains the maximum number of bytes to write to extra. Once done is true, extra_len contains the actual extra field length, and extra contains the extra field, or that field truncated if extra_max is less than extra_len. If name is not Z_NULL, then up to name_max characters are written there, terminated with a zero unless the length is greater than name_max. If comment is not Z_NULL, then up to comm_max characters are written there, terminated with a zero unless the length is greater than comm_max. When any of extra, name, or comment are not Z_NULL and the respective field is not present in the header, then that field is set to Z_NULL to signal its absence. This allows the use of deflateSetHeader() with the returned structure to duplicate the header. However if those fields are set to allocated memory, then the application will need to save those pointers elsewhere so that they can be eventually freed. If inflateGetHeader is not used, then the header information is simply discarded. The header is always checked for validity, including the header CRC if present. inflateReset() will reset the process to discard the header information. The application would need to call inflateGetHeader() again to retrieve the header from the next gzip stream. inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source stream state was inconsistent. */ /* ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits, unsigned char FAR *window)); Initialize the internal stream state for decompression using inflateBack() calls. The fields zalloc, zfree and opaque in strm must be initialized before the call. If zalloc and zfree are Z_NULL, then the default library- derived memory allocation routines are used. windowBits is the base two logarithm of the window size, in the range 8..15. window is a caller supplied buffer of that size. Except for special applications where it is assured that deflate was used with small window sizes, windowBits must be 15 and a 32K byte window must be supplied to be able to decompress general deflate streams. See inflateBack() for the usage of these routines. inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of the paramaters are invalid, Z_MEM_ERROR if the internal state could not be allocated, or Z_VERSION_ERROR if the version of the library does not match the version of the header file. */ typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *)); typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned)); ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm, in_func in, void FAR *in_desc, out_func out, void FAR *out_desc)); /* inflateBack() does a raw inflate with a single call using a call-back interface for input and output. This is more efficient than inflate() for file i/o applications in that it avoids copying between the output and the sliding window by simply making the window itself the output buffer. This function trusts the application to not change the output buffer passed by the output function, at least until inflateBack() returns. inflateBackInit() must be called first to allocate the internal state and to initialize the state with the user-provided window buffer. inflateBack() may then be used multiple times to inflate a complete, raw deflate stream with each call. inflateBackEnd() is then called to free the allocated state. A raw deflate stream is one with no zlib or gzip header or trailer. This routine would normally be used in a utility that reads zip or gzip files and writes out uncompressed files. The utility would decode the header and process the trailer on its own, hence this routine expects only the raw deflate stream to decompress. This is different from the normal behavior of inflate(), which expects either a zlib or gzip header and trailer around the deflate stream. inflateBack() uses two subroutines supplied by the caller that are then called by inflateBack() for input and output. inflateBack() calls those routines until it reads a complete deflate stream and writes out all of the uncompressed data, or until it encounters an error. The function's parameters and return types are defined above in the in_func and out_func typedefs. inflateBack() will call in(in_desc, &buf) which should return the number of bytes of provided input, and a pointer to that input in buf. If there is no input available, in() must return zero--buf is ignored in that case--and inflateBack() will return a buffer error. inflateBack() will call out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out() should return zero on success, or non-zero on failure. If out() returns non-zero, inflateBack() will return with an error. Neither in() nor out() are permitted to change the contents of the window provided to inflateBackInit(), which is also the buffer that out() uses to write from. The length written by out() will be at most the window size. Any non-zero amount of input may be provided by in(). For convenience, inflateBack() can be provided input on the first call by setting strm->next_in and strm->avail_in. If that input is exhausted, then in() will be called. Therefore strm->next_in must be initialized before calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in must also be initialized, and then if strm->avail_in is not zero, input will initially be taken from strm->next_in[0 .. strm->avail_in - 1]. The in_desc and out_desc parameters of inflateBack() is passed as the first parameter of in() and out() respectively when they are called. These descriptors can be optionally used to pass any information that the caller- supplied in() and out() functions need to do their job. On return, inflateBack() will set strm->next_in and strm->avail_in to pass back any unused input that was provided by the last in() call. The return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR if in() or out() returned an error, Z_DATA_ERROR if there was a format error in the deflate stream (in which case strm->msg is set to indicate the nature of the error), or Z_STREAM_ERROR if the stream was not properly initialized. In the case of Z_BUF_ERROR, an input or output error can be distinguished using strm->next_in which will be Z_NULL only if in() returned an error. If strm->next_in is not Z_NULL, then the Z_BUF_ERROR was due to out() returning non-zero. (in() will always be called before out(), so strm->next_in is assured to be defined if out() returns non-zero.) Note that inflateBack() cannot return Z_OK. */ ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm)); /* All memory allocated by inflateBackInit() is freed. inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream state was inconsistent. */ ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void)); /* Return flags indicating compile-time options. Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other: 1.0: size of uInt 3.2: size of uLong 5.4: size of voidpf (pointer) 7.6: size of z_off_t Compiler, assembler, and debug options: 8: DEBUG 9: ASMV or ASMINF -- use ASM code 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention 11: 0 (reserved) One-time table building (smaller code, but not thread-safe if true): 12: BUILDFIXED -- build static block decoding tables when needed 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed 14,15: 0 (reserved) Library content (indicates missing functionality): 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking deflate code when not needed) 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect and decode gzip streams (to avoid linking crc code) 18-19: 0 (reserved) Operation variations (changes in library functionality): 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate 21: FASTEST -- deflate algorithm with only one, lowest compression level 22,23: 0 (reserved) The sprintf variant used by gzprintf (zero is best): 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure! 26: 0 = returns value, 1 = void -- 1 means inferred string length returned Remainder: 27-31: 0 (reserved) */ /* utility functions */ /* The following utility functions are implemented on top of the basic stream-oriented functions. To simplify the interface, some default options are assumed (compression level and memory usage, standard memory allocation functions). The source code of these utility functions can be modified if you need special options. */ ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen)); /* Compresses the source buffer into the destination buffer. sourceLen is the byte length of the source buffer. Upon entry, destLen is the total size of the destination buffer, which must be at least the value returned by compressBound(sourceLen). Upon exit, destLen is the actual size of the compressed buffer. compress returns Z_OK if success, Z_MEM_ERROR if there was not enough memory, Z_BUF_ERROR if there was not enough room in the output buffer. */ ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen, int level)); /* Compresses the source buffer into the destination buffer. The level parameter has the same meaning as in deflateInit. sourceLen is the byte length of the source buffer. Upon entry, destLen is the total size of the destination buffer, which must be at least the value returned by compressBound(sourceLen). Upon exit, destLen is the actual size of the compressed buffer. compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough memory, Z_BUF_ERROR if there was not enough room in the output buffer, Z_STREAM_ERROR if the level parameter is invalid. */ ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen)); /* compressBound() returns an upper bound on the compressed size after compress() or compress2() on sourceLen bytes. It would be used before a compress() or compress2() call to allocate the destination buffer. */ ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen)); /* Decompresses the source buffer into the destination buffer. sourceLen is the byte length of the source buffer. Upon entry, destLen is the total size of the destination buffer, which must be large enough to hold the entire uncompressed data. (The size of the uncompressed data must have been saved previously by the compressor and transmitted to the decompressor by some mechanism outside the scope of this compression library.) Upon exit, destLen is the actual size of the uncompressed buffer. uncompress returns Z_OK if success, Z_MEM_ERROR if there was not enough memory, Z_BUF_ERROR if there was not enough room in the output buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete. */ /* gzip file access functions */ /* This library supports reading and writing files in gzip (.gz) format with an interface similar to that of stdio, using the functions that start with "gz". The gzip format is different from the zlib format. gzip is a gzip wrapper, documented in RFC 1952, wrapped around a deflate stream. */ typedef voidp gzFile; /* opaque gzip file descriptor */ /* ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode)); Opens a gzip (.gz) file for reading or writing. The mode parameter is as in fopen ("rb" or "wb") but can also include a compression level ("wb9") or a strategy: 'f' for filtered data as in "wb6f", 'h' for Huffman-only compression as in "wb1h", 'R' for run-length encoding as in "wb1R", or 'F' for fixed code compression as in "wb9F". (See the description of deflateInit2 for more information about the strategy parameter.) Also "a" can be used instead of "w" to request that the gzip stream that will be written be appended to the file. "+" will result in an error, since reading and writing to the same gzip file is not supported. gzopen can be used to read a file which is not in gzip format; in this case gzread will directly read from the file without decompression. gzopen returns NULL if the file could not be opened, if there was insufficient memory to allocate the gzFile state, or if an invalid mode was specified (an 'r', 'w', or 'a' was not provided, or '+' was provided). errno can be checked to determine if the reason gzopen failed was that the file could not be opened. */ ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode)); /* gzdopen associates a gzFile with the file descriptor fd. File descriptors are obtained from calls like open, dup, creat, pipe or fileno (if the file has been previously opened with fopen). The mode parameter is as in gzopen. The next call of gzclose on the returned gzFile will also close the file descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor fd. If you want to keep fd open, use fd = dup(fd_keep); gz = gzdopen(fd, mode);. The duplicated descriptor should be saved to avoid a leak, since gzdopen does not close fd if it fails. gzdopen returns NULL if there was insufficient memory to allocate the gzFile state, if an invalid mode was specified (an 'r', 'w', or 'a' was not provided, or '+' was provided), or if fd is -1. The file descriptor is not used until the next gz* read, write, seek, or close operation, so gzdopen will not detect if fd is invalid (unless fd is -1). */ ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size)); /* Set the internal buffer size used by this library's functions. The default buffer size is 8192 bytes. This function must be called after gzopen() or gzdopen(), and before any other calls that read or write the file. The buffer memory allocation is always deferred to the first read or write. Two buffers are allocated, either both of the specified size when writing, or one of the specified size and the other twice that size when reading. A larger buffer size of, for example, 64K or 128K bytes will noticeably increase the speed of decompression (reading). The new buffer size also affects the maximum length for gzprintf(). gzbuffer() returns 0 on success, or -1 on failure, such as being called too late. */ ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy)); /* Dynamically update the compression level or strategy. See the description of deflateInit2 for the meaning of these parameters. gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not opened for writing. */ ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len)); /* Reads the given number of uncompressed bytes from the compressed file. If the input file was not in gzip format, gzread copies the given number of bytes into the buffer. After reaching the end of a gzip stream in the input, gzread will continue to read, looking for another gzip stream, or failing that, reading the rest of the input file directly without decompression. The entire input file will be read if gzread is called until it returns less than the requested len. gzread returns the number of uncompressed bytes actually read, less than len for end of file, or -1 for error. */ ZEXTERN int ZEXPORT gzwrite OF((gzFile file, voidpc buf, unsigned len)); /* Writes the given number of uncompressed bytes into the compressed file. gzwrite returns the number of uncompressed bytes written or 0 in case of error. */ ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...)); /* Converts, formats, and writes the arguments to the compressed file under control of the format string, as in fprintf. gzprintf returns the number of uncompressed bytes actually written, or 0 in case of error. The number of uncompressed bytes written is limited to 8191, or one less than the buffer size given to gzbuffer(). The caller should assure that this limit is not exceeded. If it is exceeded, then gzprintf() will return an error (0) with nothing written. In this case, there may also be a buffer overflow with unpredictable consequences, which is possible only if zlib was compiled with the insecure functions sprintf() or vsprintf() because the secure snprintf() or vsnprintf() functions were not available. This can be determined using zlibCompileFlags(). */ ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s)); /* Writes the given null-terminated string to the compressed file, excluding the terminating null character. gzputs returns the number of characters written, or -1 in case of error. */ ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len)); /* Reads bytes from the compressed file until len-1 characters are read, or a newline character is read and transferred to buf, or an end-of-file condition is encountered. If any characters are read or if len == 1, the string is terminated with a null character. If no characters are read due to an end-of-file or len < 1, then the buffer is left untouched. gzgets returns buf which is a null-terminated string, or it returns NULL for end-of-file or in case of error. If there was an error, the contents at buf are indeterminate. */ ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c)); /* Writes c, converted to an unsigned char, into the compressed file. gzputc returns the value that was written, or -1 in case of error. */ ZEXTERN int ZEXPORT gzgetc OF((gzFile file)); /* Reads one byte from the compressed file. gzgetc returns this byte or -1 in case of end of file or error. */ ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file)); /* Push one character back onto the stream to be read as the first character on the next read. At least one character of push-back is allowed. gzungetc() returns the character pushed, or -1 on failure. gzungetc() will fail if c is -1, and may fail if a character has been pushed but not read yet. If gzungetc is used immediately after gzopen or gzdopen, at least the output buffer size of pushed characters is allowed. (See gzbuffer above.) The pushed character will be discarded if the stream is repositioned with gzseek() or gzrewind(). */ ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush)); /* Flushes all pending output into the compressed file. The parameter flush is as in the deflate() function. The return value is the zlib error number (see function gzerror below). gzflush is only permitted when writing. If the flush parameter is Z_FINISH, the remaining data is written and the gzip stream is completed in the output. If gzwrite() is called again, a new gzip stream will be started in the output. gzread() is able to read such concatented gzip streams. gzflush should be called only when strictly necessary because it will degrade compression if called too often. */ /* ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file, z_off_t offset, int whence)); Sets the starting position for the next gzread or gzwrite on the given compressed file. The offset represents a number of bytes in the uncompressed data stream. The whence parameter is defined as in lseek(2); the value SEEK_END is not supported. If the file is opened for reading, this function is emulated but can be extremely slow. If the file is opened for writing, only forward seeks are supported; gzseek then compresses a sequence of zeroes up to the new starting position. gzseek returns the resulting offset location as measured in bytes from the beginning of the uncompressed stream, or -1 in case of error, in particular if the file is opened for writing and the new starting position would be before the current position. */ ZEXTERN int ZEXPORT gzrewind OF((gzFile file)); /* Rewinds the given file. This function is supported only for reading. gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET) */ /* ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file)); Returns the starting position for the next gzread or gzwrite on the given compressed file. This position represents a number of bytes in the uncompressed data stream, and is zero when starting, even if appending or reading a gzip stream from the middle of a file using gzdopen(). gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR) */ /* ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file)); Returns the current offset in the file being read or written. This offset includes the count of bytes that precede the gzip stream, for example when appending or when using gzdopen() for reading. When reading, the offset does not include as yet unused buffered input. This information can be used for a progress indicator. On error, gzoffset() returns -1. */ ZEXTERN int ZEXPORT gzeof OF((gzFile file)); /* Returns true (1) if the end-of-file indicator has been set while reading, false (0) otherwise. Note that the end-of-file indicator is set only if the read tried to go past the end of the input, but came up short. Therefore, just like feof(), gzeof() may return false even if there is no more data to read, in the event that the last read request was for the exact number of bytes remaining in the input file. This will happen if the input file size is an exact multiple of the buffer size. If gzeof() returns true, then the read functions will return no more data, unless the end-of-file indicator is reset by gzclearerr() and the input file has grown since the previous end of file was detected. */ ZEXTERN int ZEXPORT gzdirect OF((gzFile file)); /* Returns true (1) if file is being copied directly while reading, or false (0) if file is a gzip stream being decompressed. This state can change from false to true while reading the input file if the end of a gzip stream is reached, but is followed by data that is not another gzip stream. If the input file is empty, gzdirect() will return true, since the input does not contain a gzip stream. If gzdirect() is used immediately after gzopen() or gzdopen() it will cause buffers to be allocated to allow reading the file to determine if it is a gzip file. Therefore if gzbuffer() is used, it should be called before gzdirect(). */ ZEXTERN int ZEXPORT gzclose OF((gzFile file)); /* Flushes all pending output if necessary, closes the compressed file and deallocates the (de)compression state. Note that once file is closed, you cannot call gzerror with file, since its structures have been deallocated. gzclose must not be called more than once on the same file, just as free must not be called more than once on the same allocation. gzclose will return Z_STREAM_ERROR if file is not valid, Z_ERRNO on a file operation error, or Z_OK on success. */ ZEXTERN int ZEXPORT gzclose_r OF((gzFile file)); ZEXTERN int ZEXPORT gzclose_w OF((gzFile file)); /* Same as gzclose(), but gzclose_r() is only for use when reading, and gzclose_w() is only for use when writing or appending. The advantage to using these instead of gzclose() is that they avoid linking in zlib compression or decompression code that is not used when only reading or only writing respectively. If gzclose() is used, then both compression and decompression code will be included the application when linking to a static zlib library. */ ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum)); /* Returns the error message for the last error which occurred on the given compressed file. errnum is set to zlib error number. If an error occurred in the file system and not in the compression library, errnum is set to Z_ERRNO and the application may consult errno to get the exact error code. The application must not modify the returned string. Future calls to this function may invalidate the previously returned string. If file is closed, then the string previously returned by gzerror will no longer be available. gzerror() should be used to distinguish errors from end-of-file for those functions above that do not distinguish those cases in their return values. */ ZEXTERN void ZEXPORT gzclearerr OF((gzFile file)); /* Clears the error and end-of-file flags for file. This is analogous to the clearerr() function in stdio. This is useful for continuing to read a gzip file that is being written concurrently. */ /* checksum functions */ /* These functions are not related to compression but are exported anyway because they might be useful in applications using the compression library. */ ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len)); /* Update a running Adler-32 checksum with the bytes buf[0..len-1] and return the updated checksum. If buf is Z_NULL, this function returns the required initial value for the checksum. An Adler-32 checksum is almost as reliable as a CRC32 but can be computed much faster. Usage example: uLong adler = adler32(0L, Z_NULL, 0); while (read_buffer(buffer, length) != EOF) { adler = adler32(adler, buffer, length); } if (adler != original_adler) error(); */ /* ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2, z_off_t len2)); Combine two Adler-32 checksums into one. For two sequences of bytes, seq1 and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of seq1 and seq2 concatenated, requiring only adler1, adler2, and len2. */ ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len)); /* Update a running CRC-32 with the bytes buf[0..len-1] and return the updated CRC-32. If buf is Z_NULL, this function returns the required initial value for the for the crc. Pre- and post-conditioning (one's complement) is performed within this function so it shouldn't be done by the application. Usage example: uLong crc = crc32(0L, Z_NULL, 0); while (read_buffer(buffer, length) != EOF) { crc = crc32(crc, buffer, length); } if (crc != original_crc) error(); */ /* ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2)); Combine two CRC-32 check values into one. For two sequences of bytes, seq1 and seq2 with lengths len1 and len2, CRC-32 check values were calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32 check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and len2. */ /* various hacks, don't look :) */ /* deflateInit and inflateInit are macros to allow checking the zlib version * and the compiler's view of z_stream: */ ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level, const char *version, int stream_size)); ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm, const char *version, int stream_size)); ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method, int windowBits, int memLevel, int strategy, const char *version, int stream_size)); ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits, const char *version, int stream_size)); ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits, unsigned char FAR *window, const char *version, int stream_size)); #define deflateInit(strm, level) \ deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream)) #define inflateInit(strm) \ inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream)) #define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \ deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\ (strategy), ZLIB_VERSION, sizeof(z_stream)) #define inflateInit2(strm, windowBits) \ inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream)) #define inflateBackInit(strm, windowBits, window) \ inflateBackInit_((strm), (windowBits), (window), \ ZLIB_VERSION, sizeof(z_stream)) /* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or * change the regular functions to 64 bits if _FILE_OFFSET_BITS is 64 (if * both are true, the application gets the *64 functions, and the regular * functions are changed to 64 bits) -- in case these are set on systems * without large file support, _LFS64_LARGEFILE must also be true */ #if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0 ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int)); ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile)); ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile)); ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t)); ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t)); #endif #if !defined(ZLIB_INTERNAL) && _FILE_OFFSET_BITS-0 == 64 && _LFS64_LARGEFILE-0 # define gzopen gzopen64 # define gzseek gzseek64 # define gztell gztell64 # define gzoffset gzoffset64 # define adler32_combine adler32_combine64 # define crc32_combine crc32_combine64 # ifdef _LARGEFILE64_SOURCE ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int)); ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile)); ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile)); ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t)); ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t)); # endif #else ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *)); ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile, z_off_t, int)); ZEXTERN z_off_t ZEXPORT gztell OF((gzFile)); ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile)); ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t)); ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t)); #endif /* hack for buggy compilers */ #if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL) struct internal_state {int dummy;}; #endif /* undocumented functions */ ZEXTERN const char * ZEXPORT zError OF((int)); ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp)); ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void)); ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int)); #ifdef __cplusplus } #endif #endif /* ZLIB_H */ Heimdall-1.4.1/heimdall-frontend/lib/000077500000000000000000000000001234253036400174005ustar00rootroot00000000000000Heimdall-1.4.1/heimdall-frontend/lib/win32/000077500000000000000000000000001234253036400203425ustar00rootroot00000000000000Heimdall-1.4.1/heimdall-frontend/lib/win32/zlib.lib000066400000000000000000007233201234253036400220010ustar00rootroot00000000000000! / 1308660399 0 3304 ` {4444444444444444O`[v[v[v[v[v[v[vBBBBBBBBBBBBBBBBBBBBBBBBBBBBBzzzhhhhhhhhhhS0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0j....}&}&}&666??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@_inflate_fast??_C@_00CNPNBAHC@?$AA@??_C@_05DFCKICEH@1?42?45?$AA@??_C@_0BA@MOKMMFOD@need?5dictionary?$AA@??_C@_0BE@OGGJBMCE@insufficient?5memory?$AA@??_C@_0BF@CJFPCCEG@incompatible?5version?$AA@??_C@_0L@FNAOCBOG@stream?5end?$AA@??_C@_0L@HAHMBNLP@data?5error?$AA@??_C@_0L@KIJFAKBJ@file?5error?$AA@??_C@_0N@DFPGLBGC@buffer?5error?$AA@??_C@_0N@MKKNPMJD@stream?5error?$AA@_zError_z_errmsg_zcalloc_zcfree_zlibCompileFlags_zlibVersion_uncompress__dist_code__length_code__tr_align__tr_flush_block__tr_init__tr_stored_block__tr_tally_inflate_copyright_inflate_table??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@??_C@_0BE@EMOGCLGO@invalid?5window?5size?$AA@??_C@_0BE@GONKLEPM@header?5crc?5mismatch?$AA@??_C@_0BF@MEIGEHBE@incorrect?5data?5check?$AA@??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@??_C@_0BH@FGKKJGOC@incorrect?5length?5check?$AA@??_C@_0BH@LIBMMIGA@incorrect?5header?5check?$AA@??_C@_0BJ@BLBBCOMO@unknown?5header?5flags?5set?$AA@??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@??_C@_0BL@IHKGDAEE@unknown?5compression?5method?$AA@??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@_inflate_inflateCopy_inflateEnd_inflateGetHeader_inflateInit2__inflateInit__inflateMark_inflatePrime_inflateReset_inflateReset2_inflateSetDictionary_inflateSync_inflateSyncPoint_inflateUndermine_inflateBack_inflateBackEnd_inflateBackInit_??_C@_0CF@MLPJFDMM@requested?5length?5does?5not?5fit?5in@??_C@_0CH@DEEGAHIB@internal?5error?3?5deflate?5stream?5c@??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@_gzclose_w_gzflush_gzprintf_gzputc_gzputs_gzsetparams_gzwrite??_C@_0BG@HCKBMIHF@compressed?5data?5error?$AA@??_C@_0BH@CFIIDOJD@unexpected?5end?5of?5file?$AA@??_C@_0BP@IIKIGMCC@out?5of?5room?5to?5push?5characters?$AA@??_C@_0CH@CPOLIEKA@internal?5error?3?5inflate?5stream?5c@_gzclose_r_gzdirect_gzgetc_gzgets_gzread_gzungetc??_C@_02LMMGGCAJ@?3?5?$AA@??_C@_07EBNKNFJN@?$DMfd?3?$CFd?$DO?$AA@_gz_error_gzbuffer_gzclearerr_gzdopen_gzeof_gzerror_gzoffset_gzoffset64_gzopen_gzopen64_gzrewind_gzseek_gzseek64_gztell_gztell64_gzclose_deflate_deflateBound_deflateCopy_deflateEnd_deflateInit2__deflateInit__deflateParams_deflatePrime_deflateReset_deflateSetDictionary_deflateSetHeader_deflateTune_deflate_copyright_crc32_crc32_combine_crc32_combine64_get_crc_table_compress_compress2_compressBound_adler32_adler32_combine_adler32_combine64/ 1308660399 0 3122 ` 4`Ov[Bzh0Sjڧ.&}6{           ??_C@_00CNPNBAHC@?$AA@??_C@_02LMMGGCAJ@?3?5?$AA@??_C@_05DFCKICEH@1?42?45?$AA@??_C@_07EBNKNFJN@?$DMfd?3?$CFd?$DO?$AA@??_C@_0BA@MOKMMFOD@need?5dictionary?$AA@??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@??_C@_0BE@EMOGCLGO@invalid?5window?5size?$AA@??_C@_0BE@GONKLEPM@header?5crc?5mismatch?$AA@??_C@_0BE@OGGJBMCE@insufficient?5memory?$AA@??_C@_0BF@CJFPCCEG@incompatible?5version?$AA@??_C@_0BF@MEIGEHBE@incorrect?5data?5check?$AA@??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@??_C@_0BG@HCKBMIHF@compressed?5data?5error?$AA@??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@??_C@_0BH@CFIIDOJD@unexpected?5end?5of?5file?$AA@??_C@_0BH@FGKKJGOC@incorrect?5length?5check?$AA@??_C@_0BH@LIBMMIGA@incorrect?5header?5check?$AA@??_C@_0BJ@BLBBCOMO@unknown?5header?5flags?5set?$AA@??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@??_C@_0BL@IHKGDAEE@unknown?5compression?5method?$AA@??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@??_C@_0BP@IIKIGMCC@out?5of?5room?5to?5push?5characters?$AA@??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@??_C@_0CF@MLPJFDMM@requested?5length?5does?5not?5fit?5in@??_C@_0CH@CPOLIEKA@internal?5error?3?5inflate?5stream?5c@??_C@_0CH@DEEGAHIB@internal?5error?3?5deflate?5stream?5c@??_C@_0L@FNAOCBOG@stream?5end?$AA@??_C@_0L@HAHMBNLP@data?5error?$AA@??_C@_0L@KIJFAKBJ@file?5error?$AA@??_C@_0N@DFPGLBGC@buffer?5error?$AA@??_C@_0N@MKKNPMJD@stream?5error?$AA@??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@__dist_code__length_code__tr_align__tr_flush_block__tr_init__tr_stored_block__tr_tally_adler32_adler32_combine_adler32_combine64_compress_compress2_compressBound_crc32_crc32_combine_crc32_combine64_deflate_deflateBound_deflateCopy_deflateEnd_deflateInit2__deflateInit__deflateParams_deflatePrime_deflateReset_deflateSetDictionary_deflateSetHeader_deflateTune_deflate_copyright_get_crc_table_gz_error_gzbuffer_gzclearerr_gzclose_gzclose_r_gzclose_w_gzdirect_gzdopen_gzeof_gzerror_gzflush_gzgetc_gzgets_gzoffset_gzoffset64_gzopen_gzopen64_gzprintf_gzputc_gzputs_gzread_gzrewind_gzseek_gzseek64_gzsetparams_gztell_gztell64_gzungetc_gzwrite_inflate_inflateBack_inflateBackEnd_inflateBackInit__inflateCopy_inflateEnd_inflateGetHeader_inflateInit2__inflateInit__inflateMark_inflatePrime_inflateReset_inflateReset2_inflateSetDictionary_inflateSync_inflateSyncPoint_inflateUndermine_inflate_copyright_inflate_fast_inflate_table_uncompress_zError_z_errmsg_zcalloc_zcfree_zlibCompileFlags_zlibVersioninffast.obj/ 1308660399 100666 6897 ` LNu.drectve/T .debug$Sh @B.text  P`.debug$Sp { @B.rdata@0@.rdata@0@.rdata@0@.debug$TP%@B /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" :D:\development\cpp\libraries\zlib-1.2.5\inffast.obj:< ovovMicrosoft (R) Optimizing CompilerN=cwdD:\development\cpp\libraries\zlib-1.2.5clC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXEcmd-FoD:\development\cpp\libraries\zlib-1.2.5\inffast.obj -c -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -nologo -MD -W3 -O2 -Oy- -Zi -FdD:\development\cpp\libraries\zlib-1.2.5\zlib -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include" -TC -Xsrcinffast.cpdbD:\development\cpp\libraries\zlib-1.2.5\zlib.pdb $ TYPE $BAD@SA_MethodSA_Parameter\gz_header_s  Byte  Bytefz_streamp&z_stream!wchar_t voidpf&z_stream_sfree_funcalloc_func-inflate_stateSA_AttrTarget$inflate_mode usize_t 0code$inflate_mode 0codeMgz_headerp uuInt "uLong\gz_headerkhHPT3IfqBd_P{\=KyEi쇾ʌ퀧~;>^A^sM,u(~*ݭW%ip6]M!gKa2>plq.XrTotGj&UbyOY$H"E>%S'P 8JIqV+6' Wb!?~NU[C-2܅6wmԩJc:\program files (x86)\microsoft visual studio 10.0\vc\include\string.hd:\development\cpp\libraries\zlib-1.2.5\inffast.hd:\development\cpp\libraries\zlib-1.2.5\inffast.cd:\development\cpp\libraries\zlib-1.2.5\inftrees.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stdlib.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\limits.hd:\development\cpp\libraries\zlib-1.2.5\zutil.hd:\development\cpp\libraries\zlib-1.2.5\zlib.hd:\development\cpp\libraries\zlib-1.2.5\zconf.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\vadefs.hd:\development\cpp\libraries\zlib-1.2.5\inflate.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sys\types.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stddef.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sal.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 64 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 64 - ^ = $23 $T0 68 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 64 - ^ = $23 $T0 68 - ^ = $24 $T0 72 - ^ = U@ABD      ` d invalid literal/length codeinvalid distance codeinvalid distance too far backJn9Cǣ;d:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@comp.idov@feat.00.drectve/.debug$Sh .text0.debug$Sp  .rdatay*.rdata~I.rdata,y.debug$TP_inflate_fast??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@$dodist$3752$dolen$3737 zutil.obj/ 1308659841 100666 6747 ` LND.drectve/ .debug$S| @B.rdata @0@.rdata @0@.rdata @0@.rdata @0@.rdata @0@.rdata @0@.rdata @@.rdata @0@.rdata @0@.rdata( 0 @0@.text  P`.debug$S l@B.rdata@0@.text P`.debug$Sv@B.text P`.debug$S@B.text P`.debug$S@B.text:L P`.debug$SVJ@B.debug$TP@B /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" 8D:\development\cpp\libraries\zlib-1.2.5\zutil.obj:< ovovMicrosoft (R) Optimizing CompilerJ=cwdD:\development\cpp\libraries\zlib-1.2.5clC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXEcmd-FoD:\development\cpp\libraries\zlib-1.2.5\zutil.obj -c -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -nologo -MD -W3 -O2 -Oy- -Zi -FdD:\development\cpp\libraries\zlib-1.2.5\zlib -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include" -TC -Xsrczutil.cpdbD:\development\cpp\libraries\zlib-1.2.5\zlib.pdb z_errmsg@SA_MethodSA_Parameter!wchar_t voidpfSA_AttrTarget usize_t "uLong8khHPT3I>tGq:z<y>^A^sM,u~*ݭW%i 6]M!9gKa2>hplq.XrTotOY$H"E>%S'P +8JIqV+6'sWb!?~N[C-2܅6wmԩc:\program files (x86)\microsoft visual studio 10.0\vc\include\string.hd:\development\cpp\libraries\zlib-1.2.5\zutil.cc:\program files (x86)\microsoft visual studio 10.0\vc\include\stdlib.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\limits.hd:\development\cpp\libraries\zlib-1.2.5\zutil.hd:\development\cpp\libraries\zlib-1.2.5\zlib.hd:\development\cpp\libraries\zlib-1.2.5\zconf.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\vadefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sys\types.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stddef.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sal.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h$T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = # # incompatible versionbuffer errorinsufficient memorydata errorstream errorfile errorstream endneed dictionary    $+$aU1zlibVersion0$ (X( \( ( ( 1.2.5U$aZ6zlibCompileFlags0$!pq 0X0 \0 0 0 UE +ы]#$`,zError terr0$ 5X5 \5 5 5 UE EP] ;$ -zcalloc opaque  uitems usize9 0$034 :X: \: : : : : UE P] A$,zcfree opaque  ptr90$9:< @X@ \@ @ @ @ @ Jn9Cǣ;d:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@comp.idov@feat.00.drectve/.debug$S|.rdata2.rdata }2.rdataVxCW.rdata S.rdata E&:.rdata D<.rdata  .rdata  ov .rdata Iq) .rdata ( R .text .debug$S \ .rdata{i.textB.debug$S .text.debug$S_zError .textBǧ.debug$S_zcalloc .text"@.debug$S_zcfree .debug$TP??_C@_0BF@CJFPCCEG@incompatible?5version?$AA@??_C@_0N@DFPGLBGC@buffer?5error?$AA@??_C@_0BE@OGGJBMCE@insufficient?5memory?$AA@??_C@_0L@HAHMBNLP@data?5error?$AA@??_C@_0N@MKKNPMJD@stream?5error?$AA@??_C@_0L@KIJFAKBJ@file?5error?$AA@??_C@_00CNPNBAHC@?$AA@??_C@_0L@FNAOCBOG@stream?5end?$AA@??_C@_0BA@MOKMMFOD@need?5dictionary?$AA@_z_errmsg_zlibVersion??_C@_05DFCKICEH@1?42?45?$AA@_zlibCompileFlags__imp__malloc__imp__free uncompr.obj/ 1308659841 100666 3033 ` LN; .drectve/ .debug$S3@B.text P`.debug$S @B.rdata @0@.debug$TP @B /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" :D:\development\cpp\libraries\zlib-1.2.5\uncompr.obj:< ovovMicrosoft (R) Optimizing CompilerN=cwdD:\development\cpp\libraries\zlib-1.2.5clC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXEcmd-FoD:\development\cpp\libraries\zlib-1.2.5\uncompr.obj -c -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -nologo -MD -W3 -O2 -Oy- -Zi -FdD:\development\cpp\libraries\zlib-1.2.5\zlib -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include" -TC -Xsrcuncompr.cpdbD:\development\cpp\libraries\zlib-1.2.5\zlib.pdb "uLongf  Byte  Bytefz_streamp&z_stream voidpf&z_stream_s5internal_statefree_funcalloc_func uuInt "uLong`.WϿ-ډV ~3gKa2>bplq.OY$H"E>%S'P d:\development\cpp\libraries\zlib-1.2.5\uncompr.cd:\development\cpp\libraries\zlib-1.2.5\zlib.hd:\development\cpp\libraries\zlib-1.2.5\zconf.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sys\types.h$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 60 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 60 - ^ = $23 $T0 76 - ^ = U8MEUW} j8M̉EȋMhQUԉEEE uWVUjRt/EPtu}t^_]^_]ËM܍UR^_]!; N a  d88GV8a01uncompress8  dest  "destLen  source "sourceLen &stream" &'-B.F0W1\2h3x5|;4;79;  8 < 1.2.5Jn9Cǣ; d:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@comp.idov@feat.00.drectve/.debug$S.textW/.debug$S  _inflate  .rdata{*.debug$TPH_uncompress_inflateEnd_inflateInit_??_C@_05DFCKICEH@1?42?45?$AA@ trees.obj/ 1308659841 100666 30535 ` L/N l.drectve/l .debug$Sl@B.rdata8 @@@.data<C''@0.text' P`.debug$S'r(@B.texts( P`.debug$S)/*@B.texta* P`.debug$S3+,@B.text, P`.debug$S.1@B.text.2 P`.debug$SL3R5@B.text{5 P`.debug$S:>@B.textJM>@ P`.debug$S@GB@B.textyBC P`.debug$St7CD@B.textDH P`.debug$S1IK@B.textjL P`.debug$S(qLM@B.textM P`.debug$SMN@B.textq0O P`.debug$S0OP@B.textUQ P`.debug$SXQpR@B.textR P`.debug$SrSU@B.textg8UU P`.debug$SUV@B.textV}W P`.debug$SWY@B.textOYH[ P`.debug$Sdz[]@B.text^^ P`.debug$Sl_`@B.text``a P`.debug$Sptab@B.textc e P`.debug$S)ef@B.textfh P`.debug$S0[ik@B.debug$TPk@B /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" 8D:\development\cpp\libraries\zlib-1.2.5\trees.obj:< ovovMicrosoft (R) Optimizing CompilerJ=cwdD:\development\cpp\libraries\zlib-1.2.5clC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXEcmd-FoD:\development\cpp\libraries\zlib-1.2.5\trees.obj -c -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -nologo -MD -W3 -O2 -Oy- -Zi -FdD:\development\cpp\libraries\zlib-1.2.5\zlib -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include" -TC -Xsrctrees.cpdbD:\development\cpp\libraries\zlib-1.2.5\zlib.pdb _length_code _dist_code extra_lbits extra_dbits extra_blbits bl_order static_ltree static_dtree base_length base_dist jstatic_l_desc jstatic_d_desc jstatic_bl_desc@SA_MethodSA_Parameter !Pos\gz_header_sjstatic_tree_desc_s  Bytetree_desc  uchf  Bytefz_streamp&z_stream!wchar_t "ulg{ct_data voidpf&z_stream_sWinternal_statefree_funcalloc_func{ct_data_sWdeflate_stateSA_AttrTarget !Posf tintf usize_ttree_desc_s !ushMgz_headerp pcharf uuInt "uLong\gz_headerjstatic_tree_desc !ushf uIPos  uchhkhHPT3I>FcTHKj~.#:yQ>,`i Ȓ>^A^sM,u~*ݭW%i9ۓar zk6]M!gKa2>plq.XrTotBOY$H"E>%S'P 8JIqV+6'Wb!?~N[C-2܅6cwmԩa c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.hd:\development\cpp\libraries\zlib-1.2.5\trees.cd:\development\cpp\libraries\zlib-1.2.5\trees.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stdlib.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\limits.hd:\development\cpp\libraries\zlib-1.2.5\deflate.hd:\development\cpp\libraries\zlib-1.2.5\zutil.hd:\development\cpp\libraries\zlib-1.2.5\zlib.hd:\development\cpp\libraries\zlib-1.2.5\zconf.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\vadefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sys\types.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stddef.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sal.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h$T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 44 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 44 - ^ = $23 $T0 48 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 44 - ^ = $23 $T0 48 - ^ = $24 $T0 52 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 20 - ^ = $23 $T0 24 - ^ = $24 $T0 28 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 32 - ^ = $23 $T0 36 - ^ = $24 $T0 40 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $24 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 40 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 40 - ^ = $20 $T0 44 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $24 $T0 16 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ =       . 2 H L c g z ~                    L,l\<|B"bR2r J*jZ:zF&fV6vN.n^>~A!aQ1q I)iY9yE%eU5u M-m]=}   S S  3 3  s s    K K  + +  k k     [ [  ; ;  { {     G G  ' '  g g     W W  7 7  w w     O O  / /  o o     _ _  ? ?     @ `P0pH(hX8xD$dT4tC#c         (08@P`p  0@`  0@`   , $X4btr_static_init(? X \   Vd$3f0Iu 3f0Iu| d$3f0Iuf3^Ds f`0srainit_block $sXsL1KWer x | UQPSVu\ 6];}5` \ f;ruX\ :XwA\ Uf;r@uUX:Xv.U\ Pɉu;~M\ ^[]ËUM^\ []É\ ^[]d. g 0spqdownheap $s ttree tk tv t$Z[ %% % % % U(QSIUU܋QVUQWy3ɉUы ʉ< @ D H L P T X T\ 3fLT3A]؉}u=Z\ U=+ʉUMMLLA;~FωufL;UG}fH< 3;| +}4<M܅tT}uEMux< MIfH< H< u$If:tfH> fH< fUtm}?}tTM\ NMu;M/|t;t+ߋ] fM}uu}J}u_^[](." ( (X"( 0"vgen_bitlen(  $s ldesc fstree tmax_code ttree tmax_length tbase toverflow hextra tn th`)T "%dx   $37Z p!u%x&|-./.012568/-; ** * * * USVWG3EEJrupfDC}}]]Ë]B;};tf;} f| /t;Etf| f   f f 3҉Eu r;u qqEMu_^[]. $o  / sscan_tree  $s ttreetmax_code tprevlen tnextlen  #/9AQYbfpt // / L/ P/ USV^3WE]JEu E5Gu}}?uӉu}U;};;U$~ +;~]| ffHf P@HPX*fL:fuf| ff )]g;u~ +M;~h| UfHEf PEXxH}X*fMT Uf!f| f狈f M+ӉU +M;~g UfHEf PEXxH}X*fMT Uff ff M~\UfHEf PEXxH}X*f򉐼fPff 8  +M;~g UfHEf PEXxH}X*fMT Uf f f狈f M ~\UfHEf PEXxH}X*f󉐼f)ff  +M;~g UfHEf PEXxH}X*fMT Uf f f狈f M ~YUfHEf PEXxH}X*ffff M3҉uuE;uE EE)]_^[]{. p;nd /{ wssend_tree  $s ttreetmax_code tmin_count tprevlen tnextlen tcurlen tcount tlen tval tlen tval tval tlen tval tval tlen tval tval{  '7PYp  & / /;IMY[gw! 44 4 44 84 UQESW ~VffNEf V^~NE^*ffff E H ~VffNEf V^~NE^*ffff E ~VffNEf V^~NE^*f􉖼fff 39} ~f~ ffNf VFNV*f^f"f~ ff ;}bMIM I _[]Ò  /4@4dJ .8 g1 R4JFsend_all_trees $s tlcodes  tdcodes tblcodeshJ \MTUVyWYW"]3`Fb 99 9 9 $9 UEM Vf VUW>u fAf+΁s  f +39_^]Oo{d .$ $t /$_tr_tally $s  udist ulcp d8 < D F Ld*/ >> > > > US]3VW99d$U􋈤 Q42BMɋUT+U;~a4ffH]f P@Hx]@*fMT ff4ff i+ډUU;~aUfHf P@HP]@*fMT ffff MU]tz+4+;~PffHf x9@Hx@*fML f ff ˉJUs  M |+߉};~`U C;>C;>C;>C rxr |r r r UE ~jSVuffHf P@HP@*fM 󉐼f^[jQM]fUfM f jQM]r\\d.Y W 6r_tr_stored_block $s  pbuf "stored_len tlastPDlmVrys{mrs ww w w $w UEfSVWf  ~JPHpHPp*ʿf󉐼f 3ff  ~GPHpHPp*3ff +у ff  ~JPHpHPp*ʿf󉐼f 3ff  ~YPHpHPp*3ff_^ǀ[]Ã_^ǀ[]RRR.  6 a/a_tr_align  $s|{h || | | | UQS]VuWE~S>,uG, P$ Q E;wKэC;wE t}WSPVL;}W ~RffNf FFFNF*f󉆼fff E(  @PAQBR PQ}G ~RffNf VFNVF*f󉖼fff hht_^[]&H5mAmKrw89MC  C W.g   5r_tr_flush_block  $s  pbuf "stored_len tlast tmax_blindex%-9HOUjnpu"<Y  X \ Jn9Cǣ; d:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@comp.idov@feat.00.drectve/.debug$Sl.rdata8 ,f,t6PDRH^HlH y .data<a(.text m.debug$S .textsc.debug$S .text W.debug$S   .text tr.debug$S   .text uf.debug$SL  .text{΂.debug$S .textJy.debug$S .text.debug$St  .textF.debug$S .textjm .debug$S(' .text_p.debug$S9 .textqcH`.debug$S0E .textUc0.debug$SO .text׌.debug$S Z .text!g.debug$S"!f! .text#R,$.debug$S$#p# { .text%xk.debug$S&d%% .text'c .debug$S(l'' .text)E.debug$S*p)) .text+P.debug$S,++ .text- v Q.debug$S.0-- .debug$T/P_extra_lbits_extra_dbits_extra_blbits_bl_order_static_ltree_static_dtree__dist_code__length_code_base_length_base_dist_static_l_desc_static_d_desc_static_bl_desc_tr_static_init_init_block_pqdownheap_gen_bitlen_scan_tree_send_tree_send_all_trees__tr_tally_compress_block_detect_data_type_bi_reverse_bi_flush_bi_windup_copy_block__tr_init_gen_codes___security_cookie@__security_check_cookie@4_build_tree_build_bl_tree__tr_stored_block__tr_align__tr_flush_block inftrees.obj/ 1308659841 100666 6923 ` LN.drectve/ .debug$S 3O @B.rdata0c @@@.textv  P`.debug$Sc @B.debug$TPe@B /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" ;D:\development\cpp\libraries\zlib-1.2.5\inftrees.obj:< ovovMicrosoft (R) Optimizing CompilerP=cwdD:\development\cpp\libraries\zlib-1.2.5clC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXEcmd-FoD:\development\cpp\libraries\zlib-1.2.5\inftrees.obj -c -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -nologo -MD -W3 -O2 -Oy- -Zi -FdD:\development\cpp\libraries\zlib-1.2.5\zlib -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include" -TC -Xsrcinftrees.cpdbD:\development\cpp\libraries\zlib-1.2.5\zlib.pdbBCODES BLENSBDISTS ainflate_copyright@SA_MethodSA_Parameter!wchar_tSA_AttrTarget usize_t 0codeBcodetype 0codeBcodetypePkhHPT3IQzSՉ;]|쇾ʌ퀧~;>^A^sM,u~*ݭW%i?6]M!ogKa2>plq.XrTotOY$H"E>%S'P a8JIqV+6'Wb!?~N[C-2܅67wmԩc:\program files (x86)\microsoft visual studio 10.0\vc\include\string.hd:\development\cpp\libraries\zlib-1.2.5\inftrees.cd:\development\cpp\libraries\zlib-1.2.5\inftrees.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stdlib.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\limits.hd:\development\cpp\libraries\zlib-1.2.5\zutil.hd:\development\cpp\libraries\zlib-1.2.5\zlib.hd:\development\cpp\libraries\zlib-1.2.5\zconf.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\vadefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sys\types.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stddef.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sal.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 148 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 148 - ^ = $23 $T0 152 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 148 - ^ = $23 $T0 152 - ^ = $24 $T0 156 - ^ =   inflate 1.2.5 Copyright 1995-2010 Mark Adler  #+3;CScsI !1Aa  0@`@@U3ʼnEEU3ɉEfS]  VuW}E܉EEEEEEE3xutt $I CfDM܍LM@;r:}d$f|EuHsE;vEu1E@E_^3[M3]ù;v f|MuA;r;sMtU+BvU~ t~uy3fEftft܃ftr}u3t)f+Dž~ BA;Ur답pUE׉}UuT u PƋu UT6M+EfLj*3E@EfMtTutE#;EtEM13ۉEEЋˋM Jt d$ut H#uUE Et_^3[M3]ËM_^3͸[]     Xnv4%H0540{ 3v4`Dinflate_table  : Btype  !lens ucodes @table ubits !work umax uused ulow `dext Soffs tend ulen (next uroot _lbase `dbase umask |umin uhuff kbase kextra _lext 0here Scountvv'lQ?pnqrsrtuyz{|J~~ &(.3JVzJ&,/"47KOQS^lnrx}$(+ : ?DN RW[`gmp ",-.02348;< =&>*?/@3GBHOIRJ         {    Jn9Cǣ; d:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@comp.idov@feat.00.drectve/.debug$S .rdata0/e05pRp.textv <8x.debug$S   .debug$TP_inflate_copyright?lbase@?1??inflate_table@@9@9?lext@?1??inflate_table@@9@9?dbase@?1??inflate_table@@9@9?dext@?1??inflate_table@@9@9_inflate_table___security_cookie@__security_check_cookie@4 inflate.obj/ 1308659841 100666 35946 ` L8N|y.drectve/ .debug$SX @B.rdata[@@@.textu% P`.debug$Shv%&@B.text'' P`.debug$S')@B.text)w* P`.debug$S$*, @B.text-.- P`.debug$S8-<.@B.text`n. P`.debug$S.z0@B.text00 P`.debug$S01 @B.textO2M3 P`.debug$Sk35@B.text\5)KT P`.debug$SqNu_S@B.rdatab@0@.rdatab@0@.rdatab@0@.rdatab@0@.rdatac@0@.rdata/c@0@.rdataEc@0@.rdataac@0@.rdata%{c@0@.rdata$c@0@.rdatac@0@.rdatac@0@.rdatac@0@.rdata d@0@.rdata!d@0@.rdata:d@0@.rdataQd@0@.rdataed@0@.textNd P`.debug$SHdf @B.textpfFg P`.debug$S@xgi@B.text/i P`.debug$Sj5k@B.textTgk P`.debug$Sk?m@B.textqmQn P`.debug$Sonwp@B.text.p P`.debug$Spq@B.textO r\s P`.debug$SHpsu @B.text)&v P`.debug$SOv_w@B.textYw P`.debug$Swx@B.debug$TP,y@B /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" :D:\development\cpp\libraries\zlib-1.2.5\inflate.obj:< ovovMicrosoft (R) Optimizing CompilerN=cwdD:\development\cpp\libraries\zlib-1.2.5clC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXEcmd-FoD:\development\cpp\libraries\zlib-1.2.5\inflate.obj -c -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -nologo -MD -W3 -O2 -Oy- -Zi -FdD:\development\cpp\libraries\zlib-1.2.5\zlib -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include" -TC -Xsrcinflate.cpdbD:\development\cpp\libraries\zlib-1.2.5\zlib.pdbBCODES BLENSBDISTS $HEAD$FLAGS $TIME $OS$EXLEN$EXTRA $NAME$COMMENT $HCRC$ DICTID $ DICT $ TYPE$ TYPEDO$ STORED$COPY_ $COPY$TABLE$LENLENS$CODELENS $LEN_ $LEN$LENEXT $DIST$DISTEXT$MATCH $LIT$CHECK$LENGTH $DONE $BAD $MEM $SYNC@SA_MethodSA_Parameter\gz_header_s  Byte  Bytefz_streamp&z_stream!wchar_t voidpf&z_stream_sfree_funcalloc_func-inflate_stateSA_AttrTarget$inflate_mode usize_t 0codeBcodetype$inflate_mode 0codeMgz_headerp uuIntBcodetype "uLong\gz_headerkhHPT3IfqBd_P{"Mp݉ߐoՇ쇾ʌ퀧~;>^A^sM,u(~*ݭW%ip6]M!gKa2>plq.XrTotGj&UbyOY$H"E>%S'P 8JIqV+6' Wb!?~NU[C-2܅6wmԩ((4 c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.hd:\development\cpp\libraries\zlib-1.2.5\inffast.hd:\development\cpp\libraries\zlib-1.2.5\inflate.cd:\development\cpp\libraries\zlib-1.2.5\inftrees.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stdlib.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\limits.hd:\development\cpp\libraries\zlib-1.2.5\zutil.hd:\development\cpp\libraries\zlib-1.2.5\zlib.hd:\development\cpp\libraries\zlib-1.2.5\zconf.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\vadefs.hd:\development\cpp\libraries\zlib-1.2.5\inflate.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sys\types.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stddef.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sal.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.hd:\development\cpp\libraries\zlib-1.2.5\inffixed.h$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 8 - ^ = $24 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 52 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 52 - ^ = $20 $T0 56 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 52 - ^ = $20 $T0 56 - ^ = $23 $T0 60 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $24 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $24 $T0 8 - ^ = $23 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ = `Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O `Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O A@!  @a`10  @     UU3;tbB;t[HJJJB0HH H H(H,H0H8H<0@HlHPHLǀǀ3]ø]$u-g2us+inflateReset strmu0ilnop&q(r+s.u1v4w7x:y=z@{V|`}jlnls X \   UMWtsytlSVu y3C0}t|~ ^[_]ËG4t9w$tPA(I$PыMG4Q_w$^[_]ø_]r-}fhf  3(inflateReset2  strm  twindowBits9[0!',/?EGS]j|~     0 4 UES3;81}8Vu;u^C[]É^9^ u F ^(9^$uF$F(N WhjPы ;u _^[]ËU R~V_4؃tF(N$WPуF_^[]ø[]>M-x%XK 3 inflateInit2_  strm  twindowBits version tstream_size9`90$136;BEQgsu   C G S W l p UEM UPQjR]$ -2]inflateInit_ strm  version tstream_size00$ X \ UE3;tM@;tFM ;} P8P<3]V'P<4 wWʉpRUԅt4W B+G@RE;v+UʋUUQMQRME GtMUGQRPMGE )M)O@E@G@G}3ɍIAMO Ut!QUԅtW@;Q sEԊM G@E}tM;MrGtUEORPQGE M)M}EuO tAG@G}A3ɐAMO Ut!Q$UԅtW@;Q(sEԊM G@E}tM;MrGtUEORPQGE M)M}E O tA$GtEs%I} M@EڃrO;tUB 33G tO H,W B0jjjMGA0E  s"} M@Eڃ rދˁʋʋUˉOJ033  w jjjMGA0E  M   t΃+ s'I}T M@Eڃrދ˃O˃wl$  } GLGT GPGXu, u UBZ ΃+ s'I} M@Eڃ rދӋҁ;tMA 33} O@C O@MU;vʉUU;vʉM UEMRPQE)EE)EE )G@E s"} M@Eڃrދ˃ӉO`˃B`WdO\GhOh;O\sPIs"}O M@EڃrދWhU˃fLWpGhOh;O\r9Ghs#$Wh U3fTOpGh9Ghr捇0OlGLRGTPQjGpPjE؅EtMA> UB/ GhWdW`9WhOTOLJ#Ӌ ҉M;v?}B MOT@ںOLEJ#Ӌ ҉M;wsW;s0$}MM@ՉE;rfU+OhfTOpGhBfU͉MfubQ;s.$}MM@ڍQE;r+OhLOnM˃MfuEQ;s'}#MM@ڍQE;rӃUCQ;s'}MM@ڍQE;rӃ U+ыMEWhыOdO`;we}tMWhMfLWpGh}uOdO`9Oh?fpu-UBUBMA0OlGLRGTPQ G`POpQjE؅tUEBsGlOlGPRW`GXPQOdQDWpPjE؅EtMA)} v}rp}rgEUMP UUHMRHP_8w<EH P_8w M ^ w        0g   "(-2<AJP W!"#$'(+,-/3O4`578:;<=?ABCEF4G>HHINSTU^VdWkXpYuZ~[]mnoqrsuvwyz{~}~  *39?DNu{BGQWobjn%& 'Wf 55 5 v v  9 9 = = +F /F =G AG OK SK aL eL sQ wQ R R _ _ g g i i j j ~ ~       ' + 9 = K7 O7 ` d r v   z z y y x x w w u u t t s s r r &n *n 8h <h JB NB [A _A l8 p8 }6 6   5 5 incorrect length checkincorrect data checkinvalid distance too far backinvalid distance codeinvalid literal/length codeinvalid distances setinvalid literal/lengths setinvalid bit length repeatinvalid code -- missing end-of-blocktoo many length or distance symbolsinvalid code lengths setinvalid stored block lengthsinvalid block typeheader crc mismatchunknown header flags setincorrect header checkinvalid window sizeunknown compression methodUVut;Ft4N$t-@4t PF(PуNV(F$QRЃF3^]ø^]DN-H0NL+inflateEnd strm9%95`N0 T*:ADFL x | US]Vs~W}t> t_^[]Ã> u(jjjM WQP;Ft _^[]ËCt_^[]ËF(M V4;v#+PQRF( _F,F ^3[]W+QR ~,_F ^3[]^[]@Ke/00 - x   :inflateSetDictionary  strm  dictionary udictLength0*2 49DRW_ amu{ }         @ D UEt@t@tM H A03]ø]$/-|6/-inflateGetHeader strm  Mhead`/0 T$&(- X \ UU 39E vASWs50ځ;uAt3 +ы@;E rƋU_[ ]dT-@x> 0TRYsyncsearch uhave  buf  ulenT0 t.23 45164788:9<:E;K=R?    US]W{{u<s _[]Ã?VtOG<ȃg8+3G<rw8W8T Aw8G<sGhQPuK3GhQPC)Csht ^_[]ËSSUEsC^ _3[]_[]~-x 4t 1+inflateSync  strm "out Wbuf0CJL.j0O6QARCSNTVUYWoYrZ^adjefghijJj  ( , UEt@t8 u x<u]3]ø]$.-k6.,+inflateSyncPoint strmX.0Lvy{!|#{%|'y,| X \ U}SV2u '^F ~$N(WhjQЋ }t:{4Et9K$F(N jRPу EuV(F$WRЃ_^[]Ë}huSVCL0 ;r6;w,+-00FLKP+ˁ00VPCl}+-00NltK$C4RPW M~4_q^3[]^[]ò0+0O-  @  9, A 1O KinflateCopy  dest  source "copy  window9I9x9O0=SWd2=@EK  5 9 E I U Y p t UEt@tǀ]ø]$)-6)'(inflateUndermine strm  tsubvertP)0D "' X \ UEtH@tAuH@]Ãu+H@]Ë3]ø]$Y-f1YW^inflateMark strmhY0 \&(ACPRW X \ Jn9Cǣ; d:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@comp.idov@feat.00.drectve/.debug$SX.rdata0I!?.textu .debug$ShW .text$/.debug$Se .text9^>.debug$S $ t _zcfree _zcalloc .text ~.debug$S   .text ` 0.debug$S   .text.debug$S  .textZ.debug$S _memcpy .text\T8~D.debug$SS_inflate $LN12$LN13$LN777.rdataYM$LN776.rdata`}}z$LN45D$LN47 .rdata,*$LN718T$LN717.rdata~d$LN716$LN715P.rdatay* $LN774> $LN7738 .rdatapo;.rdataĀI .rdataL@.rdata%u$LN772/ .rdata$;.rdatae  $LN535E $LN266$LN771q$LN770k.rdata3 B/$LN290.rdata .e*g $LN295$LN296$LN301$LN302$LN815L$LN323,$LN324$LN329$LN341.rdata!!$LN769$LN766V$LN763$LN761$LN760s$LN427$LN445{.rdata"! "$LN465.rdata#C5#.rdata$O̼&$_adler32 .rdata%#bT%_crc32 $LN497$LN814.text&NB.debug$S'H && .text(NS.debug$S)@(( .text*/F.debug$S+** .text,Ts.debug$S-,, .text.R+.debug$S/.. .text0.Be.debug$S100 .text2OJ.debug$S3H 22 .text4)Nݞ.debug$S544 .text6Y5p+.debug$S766 .debug$T8P?lenfix@?1??fixedtables@@9@9?distfix@?1??fixedtables@@9@9?order@?1??inflate@@9@9_inflateReset_inflateReset2_inflateInit2__inflateInit__inflatePrime_fixedtables_updatewindow$inf_leave$3864??_C@_0BH@FGKKJGOC@incorrect?5length?5check?$AA@??_C@_0BF@MEIGEHBE@incorrect?5data?5check?$AA@??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@_inflate_fast??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@_inflate_table??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@??_C@_0BE@GONKLEPM@header?5crc?5mismatch?$AA@??_C@_0BJ@BLBBCOMO@unknown?5header?5flags?5set?$AA@??_C@_0BH@LIBMMIGA@incorrect?5header?5check?$AA@??_C@_0BE@EMOGCLGO@invalid?5window?5size?$AA@??_C@_0BL@IHKGDAEE@unknown?5compression?5method?$AA@_inflateEnd_inflateSetDictionary_inflateGetHeader_syncsearch_inflateSync_inflateSyncPoint_inflateCopy_inflateUndermine_inflateMarkinfback.obj/ 1308659841 100666 18755 ` LN'@V.drectve/ .debug$S @B.rdata@@@.textm' P`.debug$S<;w@B.text P`.debug$S @B.text ` -# P`.debug$S ~. :K@B.rdata<@0@.rdata=@0@.rdata,=@0@.rdata$H=@0@.rdatal=@0@.rdata=@0@.rdata=@0@.rdata%=@0@.rdata=@0@.rdata=@0@.rdata>@0@.text7&> P`.debug$S4]>?@B.debug$TP?@B /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" :D:\development\cpp\libraries\zlib-1.2.5\infback.obj:< ovovMicrosoft (R) Optimizing CompilerN=cwdD:\development\cpp\libraries\zlib-1.2.5clC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXEcmd-FoD:\development\cpp\libraries\zlib-1.2.5\infback.obj -c -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -nologo -MD -W3 -O2 -Oy- -Zi -FdD:\development\cpp\libraries\zlib-1.2.5\zlib -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include" -TC -Xsrcinfback.cpdbD:\development\cpp\libraries\zlib-1.2.5\zlib.pdb`BCODES BLENSBDISTS $ TYPE$ STORED$TABLE $LEN $DONE $BAD@SA_MethodSA_Parameter\gz_header_s>out_func6in_func  Byte  Bytefz_streamp&z_stream!wchar_t voidpf&z_stream_sfree_funcalloc_func-inflate_stateSA_AttrTarget$inflate_mode usize_t 0codeBcodetype$inflate_mode 0codeMgz_headerp uuIntBcodetype "uLong\gz_headerkhHPT3IfqBd_P{"#t0[쇾ʌ퀧~;>^A^sM,u(~*ݭW%ip((46]M!gKa2>plq.2XrTotzj&UbOY$H"E>%S'P 8JIqV+6'?Wb!?~N[C-2܅6wmԩc:\program files (x86)\microsoft visual studio 10.0\vc\include\string.hd:\development\cpp\libraries\zlib-1.2.5\inffast.hd:\development\cpp\libraries\zlib-1.2.5\infback.cd:\development\cpp\libraries\zlib-1.2.5\inftrees.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stdlib.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\limits.hd:\development\cpp\libraries\zlib-1.2.5\inffixed.hd:\development\cpp\libraries\zlib-1.2.5\zutil.hd:\development\cpp\libraries\zlib-1.2.5\zlib.hd:\development\cpp\libraries\zlib-1.2.5\zconf.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\vadefs.hd:\development\cpp\libraries\zlib-1.2.5\inflate.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sys\types.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stddef.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sal.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ = $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 32 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 32 - ^ = $20 $T0 36 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 32 - ^ = $20 $T0 36 - ^ = $23 $T0 40 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = `Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O `Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O A@!  @a`10  @     UES3;81}8VuW;t{9]tv} Gwk^9^ u F ^(9^$uF$N(V hjQ҃ ;u _^[]ÉFϺMx$_X0X,^@P(H43[]_^[]ø[]HW-f%)  6QinflateBackInit_  strm  twindowBits  window version tstream_size9i0"&$)=+@,E-L.O0[2n3z=|589:;<=*='=   Y ] t x @L@T @P@X $x18fixedtables"state 2lenfix 1distfixH0<Knopqr X \     UE3W;b x;W P WW,SVM;tX3ۋO4MO(M 3Uv+EUX^[_] $IEU$t΃+U s;uEURPU ؃ MEKUrˋEUʃOʃwl$ U GLGT GPGXUz Uf @UK ΃+MU suUMQRU ؃E@EEUK;rŋMUƒU]A;s>uMEPQU ؃E@EEUK;rŋMUƒ U+EOdWhO`;witMWhfLWpGhHuGdG`9Ghs?fpu?E@MAUB0OlGLRGTPQO` QGpPjtUBpGlOlGPRW`GXPQOdQDWpPjtMA&EUrt}rkMH MHMXG(W8w<9G,s+UW,uPVF N^Uw M 1 SinflateBack    $LN472$LN341inf_leave$LN318$LN317$LN316$LN315$LN310$LN275$LN5$LN2 strm  6in in_desc >out out_desc  from Oorder ucopy "hold  next uleft ulen 0here 0last  put9696969>>969A69_6969L6969-69T69 69 >9 69 69, 69 69k >96 >` 0T "(+.5@FL[d`jfkklpm "#$% :; :K;P:_;d7k8q:z;?@ABCDILMN$OLPXQbRsSvTyU|VWZ[_`abcdeg#p*q0rnstqvwxy|}~ 0DS .~ _dl AEOUZchi$j)<H e p                  A Q X k w    $ % & ( * + , - . 0 3 4 5 6 7" :7 ;A <G =P Cx D~ E F G I J K M O R Q R S   " j k l m j k l m Y* ZD jO kT lY m] jh km lr mv | m   I I L L K K , , ,J 0J >M BM SH WH eG iG wF {F E E A A = =     M Q         # ' 3 7 C G S W c g s w                     , 0 invalid distance too far backinvalid distance codeinvalid literal/length codetoo many length or distance symbolsinvalid distances setinvalid literal/lengths setinvalid bit length repeatinvalid code -- missing end-of-blockinvalid code lengths setinvalid stored block lengthsinvalid block typeUVut$NtF$tQN(QЃF3^]ø^]D7-1y475+inflateBackEnd strm9X70Lqrt#u*w-x/s5x SxS |S S S S S Jn9Cǣ; d:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@comp.idov@feat.00.drectve/.debug$S .rdata0I!?.textJ&.debug$S<[ _zcfree _zcalloc .text.debug$S m .text #v8.debug$S  Kz $LN474[$LN2] $LN5 .rdata , .rdata ~ .rdata y* .rdata $;( b $LN472.rdatapo;p.rdataĀI.rdataL.rdata% .rdataeI} $LN275.rdata3 B$LN310.rdata.e*$LN315d$LN316P$LN317 $LN318 $LN479 $LN341$LN478 $LN432 `_memcpy .text7.debug$S4 .debug$TP?lenfix@?1??fixedtables@@9@9?distfix@?1??fixedtables@@9@9?order@?1??inflateBack@@9@9_inflateBackInit__fixedtables_inflateBack??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@_inflate_fast??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@_inflate_table??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@$inf_leave$3792_inflateBackEnd gzwrite.obj/ 1308659840 100666 15475 ` LN4U.drectve/L .debug$Sh{@B.text P`.debug$S"@B.rdata@0@.rdata@0@.text P`.debug$S44 @B.rdata'@0@.textC  P`.debug$S4p @B.text!" P`.debug$St`"$@B.rdata%%@0@.text+%% P`.debug$S%'@B.text7'' P`.debug$S' )@B.text;)) P`.debug$S*+@B.textq.,, P`.debug$S,G.@B.texty./ P`.debug$S1/1@B.textK11 P`.debug$S24@B.debug$TP4@B /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" :D:\development\cpp\libraries\zlib-1.2.5\gzwrite.obj:< ovovMicrosoft (R) Optimizing CompilerN=cwdD:\development\cpp\libraries\zlib-1.2.5clC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXEcmd-FoD:\development\cpp\libraries\zlib-1.2.5\gzwrite.obj -c -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -nologo -MD -W3 -O2 -Oy- -Zi -FdD:\development\cpp\libraries\zlib-1.2.5\zlib -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include" -TC -Xsrcgzwrite.cpdbD:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@SA_MethodSA_Parametergz_statelocaleinfo_struct voidp  Byte gzFilepthreadmbcinfo  Bytefz_streamp&z_stream!wchar_t LC_IDthreadlocaleinfostruct voidpf&z_stream_s_locale_t5internal_statefree_funcalloc_funcpva_listSA_AttrTarget :voidpc usize_ttagLC_IDgz_state uuIntgz_statep "uLongpthreadlocinfogKa2>0Ჾ.!n[^) X?wplq.XrTotOY$H"E>%S'P :eve!WIlkhHPT3i"G)m]XiH)Y\O$-~VpgKStWb!?~N[C-2܅6wmԩb`-ݲ]iy ω^@߻q)g9q†a#6 V9>^A^sM,u~*ݭW%i d:\development\cpp\libraries\zlib-1.2.5\zlib.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\errno.hd:\development\cpp\libraries\zlib-1.2.5\zconf.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\vadefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sys\types.hd:\development\cpp\libraries\zlib-1.2.5\gzwrite.cc:\program files (x86)\microsoft visual studio 10.0\vc\include\string.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stdarg.hd:\development\cpp\libraries\zlib-1.2.5\gzguts.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sal.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\swprintf.inlc:\program files (x86)\microsoft visual studio 10.0\vc\include\fcntl.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\io.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stdlib.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\limits.h$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $24 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 12 - ^ = $24 $T0 16 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 12 - ^ = $24 $T0 16 - ^ = $20 $T0 20 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $20 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $20 $T0 8 - ^ = $24 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ = UQS^WS~TSEF3ۃF9]tl;tvj8h_ _$_(F@N+{u}u S_^3[]QPjV_^[]hjV _^[] L!|   #M -gz_comp state tflush9J99x>DEl H#M:NBP[TaUgVmXv\y]^cdghklQRl`al       + / D H internal error: deflate stream corruptUV~XW~Ttju_ ^]ËESEI^w ;]E؃}tFSjP E_N^ ~uu9F _ +tVSPR xD;u@u FGNO W V _jWt:+_uE)EtGEEQPjV[_^]hjV [_^][_3^]g' !  !) C 8.. b -C ?gz_zero state len un tfirst999Cxr x"y&*}@Y_nux}} 06<? && & )& -& 9& =& I& M& d& h& US]Vu]t">yu~LuyhjV ^3[]t~u t~HtFDPFHtW;^sPFXuNNT~+;vU NTWRQ~X~ } +tLju_^3[]Ã~XtjtU ^XVT^ jtŋE_^[]%/- C `&0   m M -gzwrite  file  :buf ulen uput@x%4 $48:<JLRjmry ,, , 4, 8, requested length does not fit in intUVuu^]Á>yu~Lu~HtFDPFHt̋NX;NsuVVTVTE FXF ^]S] jE PV] t[^]Ë[^]3&r,dd$,gzputc file  tc  bufx %=?GKQ]adg~ 55 5 5 5 UU Vpd$@u+ƋEVRP ut^]",D7  ,q,7 5gzputs file  str@7x4 )5 :x: |: : : UVuu^]Á>yu~Lu~uu3^]Ã~HtFDPFHtۃ~XtjtċNW~DE NURPWQ~;}V|uFXNNTF _^]_3^]& H&_@doAv.gzprintf file  format9x! "['+/,2[4/:1R2T6i7k;wMSWXY[T[ ?? ? ? ? ? ? UVuu^]Á>yuP~LuJW} w8~Ht FDPFHu_ ^]WFL_^]_^]ø^]<&Rdqk Avt-qogzflush file  tflushqx (.HLNV^agio EE E E E UVuu^]Á>yu~LuS]W} ;~yu9~HtFDPƉ~HSjNTQVRӋFPjjVNQӋVRVӃ([_^].&=HRQd tQ~v8K> /gzclose_w  file9V9\9l9r9{x$7 A L X ^hnx PP P P P P P P P ,P 0P <P @P TP XP Jn9Cǣ;d:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@comp.idov@feat.00.drectve/.debug$Sh.text fx .debug$S_gz_init  .rdatau35A .rdata{Pn.text f.debug$S4 _gz_comp .rdata '^ KK|  _deflate .text C .debug$S 4 _gz_zero _memset .text P.debug$S t _gzwrite .rdata%W_memcpy .textG{9.debug$S_gzputc .text7K.debug$S_gzputs .text>|I.debug$S) 3.textq\[.debug$S_gzflush .textHq.debug$SE R .text 9.debug$Sa ly .debug$TP_gz_error??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@__imp__free_deflateInit2_??_C@_05DFCKICEH@1?42?45?$AA@__imp__malloc??_C@_0CH@DEEGAHIB@internal?5error?3?5deflate?5stream?5c@__imp__strerror__imp___errno_deflateReset__imp__write??_C@_0CF@MLPJFDMM@requested?5length?5does?5not?5fit?5in@_gzprintf__imp___vsnprintf_gzsetparams_deflateParams_gzclose_w__imp__close_deflateEnd gzread.obj/ 1308659840 100666 20955 ` L(NwFx.drectve/T .debug$S@B.texte; P`.debug$SP @B.text9 P`.debug$Slm@B.text^ P`.debug$S%@B.textkV## P`.debug$S$(@B.rdataJ)@0@.rdatac)@0@.rdata~)@0@.rdata)@0@.text)C+ P`.debug$S\+I.@B.rdata'{.@0@.rdata.@0@.rdata.@0@.rdata.@0@.rdata.@0@.textp.k/ P`.debug$S/E1@B.textw152 P`.debug$SS23@B.textI!4j5 P`.debug$S5X8@B.rdata%8@0@.textS89 P`.debug$S4 9@:@B.textr:=; P`.debug$S$[;=@B.rdata=@0@.text=> P`.debug$S<>2A@B.text1xAA P`.debug$S,AB@B.textlC}C P`.debug$SCE@B.debug$TP'F@B /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" 9D:\development\cpp\libraries\zlib-1.2.5\gzread.obj:< ovovMicrosoft (R) Optimizing CompilerL=cwdD:\development\cpp\libraries\zlib-1.2.5clC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXEcmd-FoD:\development\cpp\libraries\zlib-1.2.5\gzread.obj -c -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -nologo -MD -W3 -O2 -Oy- -Zi -FdD:\development\cpp\libraries\zlib-1.2.5\zlib -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include" -TC -Xsrcgzread.cpdbD:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@SA_MethodSA_Parametergz_statelocaleinfo_struct voidp  Byte gzFilepthreadmbcinfo  Bytefz_streamp&z_stream!wchar_t LC_IDthreadlocaleinfostruct voidpf&z_stream_s_locale_t5internal_statefree_funcalloc_funcpva_listSA_AttrTarget usize_ttagLC_IDgz_state uuIntgz_statep "uLongpthreadlocinfogKa2>0Ჾ.!n[^) X?wplq.XrTotOY$H"E>%S'P :ڣ"R-_g;YkkhHPT3XiH)Y\O$~VpgKS+Wb!?~Nt[C-2܅6wmԩ`-ݲ]iy ωe^@߻q)g9q†a#6 V>^A^sM,u8~*ݭW%i# d:\development\cpp\libraries\zlib-1.2.5\zlib.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\errno.hd:\development\cpp\libraries\zlib-1.2.5\zconf.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\vadefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sys\types.hd:\development\cpp\libraries\zlib-1.2.5\gzread.cc:\program files (x86)\microsoft visual studio 10.0\vc\include\string.hd:\development\cpp\libraries\zlib-1.2.5\gzguts.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sal.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\swprintf.inlc:\program files (x86)\microsoft visual studio 10.0\vc\include\fcntl.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\io.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stdlib.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\limits.h$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $24 $T0 20 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $20 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $20 $T0 8 - ^ = $24 $T0 12 - ^ = U$+EQPCP ~9>rޅy QPjS]ÅuC(3]!8 A J $e-ecgz_loadstate  buf ulen uhave9969?ex|( ,".#2$6%Q&T+V(Z)a*c+ X \   S؃{Lt[Ã{(u!CVW{sXP_^tڋKKT3[! 97$s b.98gz_avail stateh9x \47 8 @9;-</=5?8@     UQS؃{XVWu){Lu*{(uC{sXPt KKTCXu EHCXCT@UCT{Xu){Lu*{(uC{sXPt KKTCXuKTHCXAKTE{Xu){Lu*{(uS{sXRt CCTCXuKTHCXAKTE{Xu){Lu={(uK{sXQt SSTCXtKTHCXAKTu _^[]ËME_^3[]& v   ^U I Gz .^Zgz_next4 state "ret "valp^x dLQYRST;UBVFZJXWYZZ   $ ( US؃{VsTWu{WEC?P}Ct`tjj83hjV{CtCxC|CXtlK5Q֋SRhjSC_^[]Åt PCt PhjS _^[]ËFu69CLu9C(u!C{Pt΋UK FK9HAFu tF9HAFu tFtHN@thjS _^[]ÅuuEFu EHF@MEthjS _^[]Ã~u t FtHF~u t FtHF~u t FtHF~u t FtHF~u t FtHF~u t FtHFE~uu Fu HF8@~uu Fu HFAt5FOutFtHF@xuEt*FutFtHF@Et*FutFtHF@Et>~u t FtHF~u t FtHFVjjjF0_^C4C83[]ËS{$C C0CC NtS$QQRF C$F{4{8_^3[]!.1.J-c*s)( ))(  5b% " :Yx+_H/k `V3Q -k ggz_head state tflags99/9x9~99xkxLlj pr+s8tEnzuvwxyz '(.<>TU[1Po KOU !'*06=LU\_bg       + / ; ? K O [ _ t x unknown header flags setunknown compression methodout of memory1.2.5US؋CdVsTWuE~u?{L{(u%K{Q_ES~jV%~t {E+FC$N +PK F0QP F0MQt5URt"E;F0tphjS _^[]hjS _^[]hjS _^[]ËvuVjS _^[]ËM;NthjS _^[]C4_^3[]hjS _^[]8 `DC @ *(2 K=T n:v 7   3 / gz_decomp state uhad "len "crc(x" R\i{  '!%')?'C a'em'!&'' 44 4 44 84 internal error: inflate stream corruptincorrect length checkcompressed data errorunexpected end of fileincorrect data checkS؃{4uu[Ã{$uNC4u'CVW{s$P_^tЋKK 3[ÃuS҉SdCC`t3[ 5 c4pn*$+s a-pogz_make statepx25 67G89;&<A=C>IFLGM@RAZB`CjDlFoG II I I I USVW}؅s$t =w;~K K ++}k{(t{Xtg{4ut\>uHC4u!{CPt9K}K uS҉SdCC`tg_^3[]_^[]Qq 4 I q- gz_skip state lenx|MQSU+W.X3Y<]HcQfgdg NN N N N UQS]V3;u ^[]Á;Ou9sLuW};}hjS _^[]u _^3[]9sHtCDPÉsHtЉus$t0;vK U VQRus )s$u u +s {(t {XC4tiK;r`u(U RuYuu u+s CE C`É{d0s$u u+s uC$1E_^[].V6 aN/ 4*II  @  ; & z ,I Egzread  file  buf ulen ugot unhIx*\ntuz%-=CGINRWkmpw} '7?E SS S @S DS requested length does not fit in intUEtD8OuOu~LuS~HtFDPFH;tEy[^]ËN$uNVLJF$N ^ [^]ËVW<;uhjV _[^]Ë~9~ uύW;vYIJ;NwV ^ F$N _^ [^]7Nc   [ wK q. gzungetc  tc  filex )@BIMOVjlqs~   `` ` ` ` out of room to push charactersUQSVW}u ]?OLHtGDPGHKu]tyd$w$utrw$tS;vO Vj Q؃ t+w FW E VRPE)w$w w u +ƃ Etu 듋M9M tU E_^[]_^3[]SNzIi/    z , gzgets  file  pbuf tlen pstr uleft9x&)+?/E1]2c9j:p<w=?GHIJMQRS@AVWX'X hh h :h >h Th Xh UVuu3^]Á>Ou~4u ~$uF8^]'D1+ c.1/gzdirect fileh1x \]a bpfgk$l+o/p nxn |n n n UVuu^]Á>Ou~SW=tFTPNQ׋VR׃ jjVFP׋NQV׃_[^]#).uG Wtlf  I[ !E /ljgzclose_r  file969<9O9U9^lxuz {)28AKQ[cj ss s s s s s s s ,s 0s <s @s Ts Xs Jn9Cǣ;d:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@comp.idov@feat.00.drectve/.debug$S.texteq".debug$S _gz_load  ,.text9{j.debug$Sl8 .text^ȫ.debug$SB .text k#E.debug$S  _gz_head _crc32 L .rdata ! Z .rdata #b .rdata u3  .rdata{#_memcpy .textQ9.debug$S\1 .rdata'P<.rdataYMv.rdatajw%.rdata(ר.rdata`}}z _inflate .textp.debug$S_gz_make .textv%(.debug$S_gz_skip .textI_`.debug$S_gzread .rdata%W8.textSv*.debug$S4_gzgetc .textc.debug$S $r .rdata!m?^|!.text"h<;.debug$S#<"_gzgets" .text$1rF.debug$S%,$$ .text&lgM.debug$S'&&  .debug$T(P_gz_error__imp__strerror__imp___errno__imp__read_gz_avail_gz_next4_inflateReset??_C@_0BJ@BLBBCOMO@unknown?5header?5flags?5set?$AA@??_C@_0BL@IHKGDAEE@unknown?5compression?5method?$AA@??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@__imp__free_inflateInit2_??_C@_05DFCKICEH@1?42?45?$AA@__imp__malloc_gz_decomp??_C@_0CH@CPOLIEKA@internal?5error?3?5inflate?5stream?5c@??_C@_0BH@FGKKJGOC@incorrect?5length?5check?$AA@??_C@_0BG@HCKBMIHF@compressed?5data?5error?$AA@??_C@_0BH@CFIIDOJD@unexpected?5end?5of?5file?$AA@??_C@_0BF@MEIGEHBE@incorrect?5data?5check?$AA@??_C@_0CF@MLPJFDMM@requested?5length?5does?5not?5fit?5in@_gzungetc??_C@_0BP@IIKIGMCC@out?5of?5room?5to?5push?5characters?$AA@__imp__memchr_gzdirect_gzclose_r__imp__close_inflateEnd gzlib.obj/ 1308659840 100666 17662 ` L)NM;y.drectve/| .debug$S @B.text5s P`.debug$S4@B.text: P`.debug$S HT@B.text: P`.debug$S@B.textE+ P`.debug$SP5@B.textE P`.debug$S.@B.text1t P`.debug$S@B.text: P`.debug$S ;@B.rdatam@@.textn[  P`.debug$S q" @B.rdata"@0@.rdata"@0@.textC"# P`.debug$S<)#e$@B.text$& P`.debug$S'v+'@B.text,- P`.debug$S-.@B.text2.H. P`.debug$SR.6/@B.textMh// P`.debug$S/k1 @B.rdata1@0@.textA1"2 P`.debug$SD62z3@B.text(34 P`.debug$S57 @B.text 78 P`.debug$S89@B.textL999 P`.debug$S(9:@B.debug$TP:@B /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" 8D:\development\cpp\libraries\zlib-1.2.5\gzlib.obj:< ovovMicrosoft (R) Optimizing CompilerJ=cwdD:\development\cpp\libraries\zlib-1.2.5clC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXEcmd-FoD:\development\cpp\libraries\zlib-1.2.5\gzlib.obj -c -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -nologo -MD -W3 -O2 -Oy- -Zi -FdD:\development\cpp\libraries\zlib-1.2.5\zlib -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include" -TC -Xsrcgzlib.cpdbD:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@SA_MethodSA_Parameter5internal_statefree_funcalloc_func "uLonggz_statelocaleinfo_struct voidp  Byte gzFilepthreadmbcinfo  Bytef&z_stream!wchar_t LC_IDthreadlocaleinfostruct voidpf&z_stream_s_locale_tpva_listSA_AttrTarget usize_ttagLC_IDgz_state uuIntgz_stateppthreadlocinfogKa2>0Ჾ.!n[^) X?wplq.XrTotOY$H"E>%S'P :wbH⡵jkhHPT3XiH)Y\O$~VpgKS*Wb!?~Ns[C-2܅6wmԩ`-ݲ]iy ωd^@߻q)g9q†a#6 V>^A^sM,u7~*ݭW%iGd:\development\cpp\libraries\zlib-1.2.5\zlib.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\errno.hd:\development\cpp\libraries\zlib-1.2.5\zconf.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\vadefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sys\types.hd:\development\cpp\libraries\zlib-1.2.5\gzlib.cc:\program files (x86)\microsoft visual studio 10.0\vc\include\string.hd:\development\cpp\libraries\zlib-1.2.5\gzguts.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sal.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\swprintf.inlc:\program files (x86)\microsoft visual studio 10.0\vc\include\fcntl.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\io.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stdlib.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\limits.h$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ = $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ = UEu]ËOtyuxuM t܉H3]$5t.53gzbuffer file  usize5x t !%',.13 X \ UEu]ËOtyuxHt HD@ ]Ë@ 3]$:c.:8gztell64 fileh:x \mq r ytu!x/y1x8y X \   UEu]ËOtyuxHt HD@ ]Ë@ 3]$:a,:8gztell fileP:xD~ /18 X \   UVuu^]Ë=Ot=yuFjjP tԁ>Ou+FX^]+DE?u0ECgzoffset64 file9)xEx l !257?C x |     UVuu^]Ë=Ot=yuFjjP tԁ>Ou+FX^]+DE?s.ECgzoffset file9)@Ex4C x |     UEt#Oux(txXu x$u]3]$1`+1/gzeof file`1x T +-/ $X$ \$ $ $ UEu3]ËOtyuM tPL@Pu]4,$:u-:8gzerror file  terrnumh:x \   ',8 )X) \) ) ) UVW}GPtLt PGPuE GLuwP_^]S_ÍPd$@u+‹Ћƍp@u+ƍDPGPu[GLGP_^]ËˋЊABuGPHH@uf fPEȊ@uP+OOGuȃ[_^]9p8744   D ] .gz_error  state  terr msg99nx&7<AD~ 11 1 1 1 ,1 01 D1 H1 : out of memoryW3>Ou~$~(~4F8FP~H;t~Lt P~P~L~ ~X_.9DCAr.CBgz_resetstate9,hCx \IJ KLMNQ;R>SBT >x> |> > > > > UVWh3;FF FPFtF}ǍP@u+@PFt#ϋЊABuE uJ=Ou3(V_3^]-y% h PW FuN=QV׃_3^]Ëuy_^]ÁOujjP F,uF,_^]Ë8qOxN897EK9l>>FGHKJIMLDd - gz_open  $LN16$LN15$LN14$LN13$LN11$LN10$LN9$LN8 path  tfd mode9 99959P9S9x9[_`a!b$c+d.g0h7i:jPkXlamcn|pqtuwxj{ |AFRY\^ekqtv~ CC C O O N N M M L L K K F F +J /J <I @I MH QH ]G aG C C C C C C C C C C C C C C C C UEjPE ] C$r,gzopen path  mode0x$ TXT \T T T UEjPE ] C$t.gzopen64 path  mode0x$ YXY \Y Y Y UVW}t:jt)WhVE WVV_^]_3^]8 b'_1C:9dMGC-MKgzdopen tfd  mode99%98`Mx T+5AEHK ^^ ^ ^ ^ ^ ^ ^ ^ $^ (^ UVut0>Ou(~Lu"F,NjPQ t 3^]Ã^]%2>DA;s.A?gzrewind file9#pAx d   / 169; ? gxg |g g g g g USVu3;u^[]ËOtyu9^LuEW;t t_^[]Ë} +~ } 9^Ht~D^HOu^~4uXF ;F0|NV+N$jQR tFP^$^(^H;t~Lt P^P~ F _^L^X^[];}'Ol~ cVQ>Ou N$w;~F F +ȉN$+;t FH~DF _^[]}9g( " 5  0  .(&gzseek64  file  offset twhence9{9P(x'D\ %!'$*%,(;)?\A-I/T0W4o567;=>\BCDEGHIMOQRSWXY[&\ ll l !l %l 1l 5l Ll Pl U]l$ ,  gzseek file  offset twhence0 x$chf qXq \q q q UVut>=Ot =yu.F(FPt~Lt PFPFL^]49DLFu0LJgzclearerr file92PLxD $J vxv |v v v v v Jn9Cǣ;d:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@comp.idov@feat.00.drectve/.debug$S .text5b.debug$S4 .text:!.debug$S  .text:!.debug$S_gztell .text ER.debug$S P  $.text ER.debug$S  1 .text 1i .debug$S _gzeof .text:Di n.debug$S _gzerror .rdata;.text.debug$S R .rdataDx\.rdatau3w.textCqd.debug$S< .text5!}q.debug$S'_gz_open $LN37$LN13$LN8$LN9$LN10$LN11$LN14$LN15$LN16|$LN39$LN35.text`.debug$S_gzopen .text`.debug$S .textMg.debug$S _gzdopen .rdata   .text!A6v.debug$S"D!! .text#(*.debug$S$ ## .text% Q@g.debug$S&%_gzseek% .text'Lms.debug$S(('#' .debug$T)P/_gzbuffer_gztell64_gzoffset64__imp__lseek_gzoffset??_C@_00CNPNBAHC@?$AA@_gz_error??_C@_02LMMGGCAJ@?3?5?$AA@??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@__imp__malloc__imp__free_gz_reset__imp__open_gzopen64__imp__sprintf??_C@_07EBNKNFJN@?$DMfd?3?$CFd?$DO?$AA@_gzrewind_gzseek64_gzclearerrgzclose.obj/ 1308659840 100666 3891 ` LN .drectve/ .debug$S@ @B.text.K y  P`.debug$S @B.debug$TP @B /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" :D:\development\cpp\libraries\zlib-1.2.5\gzclose.obj:< ovovMicrosoft (R) Optimizing CompilerN=cwdD:\development\cpp\libraries\zlib-1.2.5clC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXEcmd-FoD:\development\cpp\libraries\zlib-1.2.5\gzclose.obj -c -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -nologo -MD -W3 -O2 -Oy- -Zi -FdD:\development\cpp\libraries\zlib-1.2.5\zlib -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include" -TC -Xsrcgzclose.cpdbD:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@SA_MethodSA_Parameter5internal_statefree_funcalloc_func uuInt "uLonggz_statelocaleinfo_struct voidp  Byte gzFilepthreadmbcinfo  Bytef&z_stream!wchar_t LC_IDthreadlocaleinfostruct voidpf&z_stream_s_locale_tpva_listSA_AttrTarget usize_ttagLC_IDgz_stategz_stateppthreadlocinfogKa2>0Ჾ.!n[^) X?wplq.XrTotOY$H"E>%S'P :),>Nq{%pPlkhHPT3XiH)Y\O$~VpgKS,Wb!?~Nu[C-2܅6wmԩ`-ݲ]iy ωf^@߻q)g9q†a#6 V>^A^sM,u9~*ݭW%id:\development\cpp\libraries\zlib-1.2.5\zlib.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\errno.hd:\development\cpp\libraries\zlib-1.2.5\zconf.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\vadefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sys\types.hd:\development\cpp\libraries\zlib-1.2.5\gzclose.cc:\program files (x86)\microsoft visual studio 10.0\vc\include\string.hd:\development\cpp\libraries\zlib-1.2.5\gzguts.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sal.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\swprintf.inlc:\program files (x86)\microsoft visual studio 10.0\vc\include\fcntl.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\io.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stdlib.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\limits.h$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = UEu]Á8OPu ]] % $.b-.,gzclose fileX.xL  "$, X \ Jn9Cǣ;d:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@comp.idov@feat.00.drectve/.debug$S@ .text.PT.debug$S_gzclose   .debug$TP_gzclose_w_gzclose_r deflate.obj/ 1308659840 100666 34513 ` L2N{.drectve/ .debug$S @B.rdata# @@@.textMI P`.debug$S]=!@B.text(o! P`.debug$S!"@B.text?" P`.debug$S$#@$@B.text=r$ P`.debug$Sl$&@B.textM& P`.debug$S$"'F)@B.text'x) P`.debug$S()*@B.textO*H+ P`.debug$S`R+,@B.text, P`.debug$S-/@B.text01 P`.debug$Sp1_4@B.texti4^5 P`.debug$Sp|56@B.text77 P`.debug$S079@B.textY:9 P`.debug$SH:<@B.text => P`.debug$SL?QA@B.textA[C P`.debug$SCE@B.text2EH P`.debug$SDKIK@B.textYKP P`.debug$SP$S@B.textVSV P`.debug$S _VkX@B.textjXZ P`.debug$S9Z[@B.text\\ P`.debug$S\b^@B.textM^f P`.debug$S!hn@B.text6+oaq P`.debug$Sq?u@B.textuv P`.debug$S$wy@B.text%Fyky P`.debug$Suyz@B.debug$TPz@B /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" :D:\development\cpp\libraries\zlib-1.2.5\deflate.obj:< ovovMicrosoft (R) Optimizing CompilerN=cwdD:\development\cpp\libraries\zlib-1.2.5clC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXEcmd-FoD:\development\cpp\libraries\zlib-1.2.5\deflate.obj -c -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -nologo -MD -W3 -O2 -Oy- -Zi -FdD:\development\cpp\libraries\zlib-1.2.5\zlib -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include" -TC -Xsrcdeflate.cpdbD:\development\cpp\libraries\zlib-1.2.5\zlib.pdb z_errmsg _length_code _dist_code deflate_copyrightdneed_moredblock_donedfinish_starteddfinish_done configuration_table@SA_MethodSA_Parameterstatic_tree_desc\gz_header_sstatic_tree_desc_s config  Bytedblock_state  uchf  Bytefz_streamp&z_stream!wchar_t "ulg{ct_data voidpf&z_stream_sWinternal_statefree_funcalloc_func{ct_data_sWdeflate_stateconfig_sSA_AttrTarget !Posf usize_tdblock_statetree_desc_s !ushMgz_headerp pcharf uuInt "uLong\gz_headericompress_func !ushf uIPos !Pos  uchPkhHPT3I@>L̟%6|{>^A^sM,u~*ݭW%i ۓar z=6]M!mgKa2>plq.XrTotOY$H"E>%S'P _8JIqV+6'Wb!?~N[C-2܅65wmԩ c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.hd:\development\cpp\libraries\zlib-1.2.5\deflate.cc:\program files (x86)\microsoft visual studio 10.0\vc\include\stdlib.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\limits.hd:\development\cpp\libraries\zlib-1.2.5\deflate.hd:\development\cpp\libraries\zlib-1.2.5\zutil.hd:\development\cpp\libraries\zlib-1.2.5\zlib.hd:\development\cpp\libraries\zlib-1.2.5\zconf.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\vadefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sys\types.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stddef.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sal.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $23 $T0 8 - ^ = $24 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 4 - ^ = $23 $T0 8 - ^ = $20 $T0 12 - ^ = $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $24 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 24 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 24 - ^ = $23 $T0 28 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 16 - ^ = $24 $T0 20 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 8 - ^ = $24 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 8 - ^ = $24 $T0 12 - ^ = $20 $T0 16 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 8 - ^ = $20 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $24 $T0 8 - ^ = $20 $T0 12 - ^ = $23 $T0 16 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 8 - ^ = $20 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 8 - ^ = $20 $T0 12 - ^ = $24 $T0 16 - ^ = y y \ \ [ [ / 3   deflate 1.2.5 Copyright 1995-2010 Jean-loup Gailly and Mark Adler      1.2.5PT\ZhZtZaaaaaaUUS]VWrE Nu ~*tSPB0PMA0E N,;v+ËV8WPRV8NX~l~\FHJ3#FT 3҃FH}~HNXF8D^@ND3#FT~4FHfA#f{NHFDfHB;Uv_^3[]_^[]R     s : deflateSetDictionary  strm  dictionary udictLength;CGGKHbJkKrLtMxOWXYZ]^D^   @ D UEt@txu M H3]ø]$(|6(&deflateSetHeader strm  MheadX(L!& X \   UEt.xt(PM @ffJf#Uf3]ø]$? 2?=deflatePrime strm  tbits tvalueX?L468= X \   UEt,@t%M UMUP|3]ø]$=1=;deflateTune strm  tgood_length tmax_lazy tnice_length tmax_chainh= \&246; X \   UU B?JLEWM xGVt_HtMHtTwtH~tFNSt@AuN$t@Au~,[tGl39O0u"9OPu ^D_]E ^_]ÍA_]9*d  2deflateBound  strm  "sourceLen  "complen2AHTZ`dhp s w  %% % 4% 8% VpWx>xpP :p_^d'% ]m1'&mputShortMSB $s ub8','()&* ** * * * VFNWx;vt5@N WPQF~ x~)~F)xv ~uVV_^!dOM C]f3ONoflush_pending strmxO l4578:%<.=1>4?:@FALC // / / / UVuFWx*t*Et%It [tgtqtt _^]Ë@t N$PF(PуVBDt N$PF(PуVB@t N$PF(PуVB8t N$PF(PуVF(N$RPу3q_F^H]ø^]d0+deflateEnd strm9\9s999DKMax 44 4 4 4 4 4 4 4 4 4 4 !4 84 <4 USVu ]xFE jWC(K hjPы 9} hWVsV,C(K jRPыV,F8C(K jRPыVLF@C(K jRPыFDC(K jRPыN8 ~_]1E?XDi`.ig}read_buf strm  buf usizei (7<O\adg >x> |> > > F,NLVDF<3fDJNLFDWT R3WP@ ~l~\~t~h~HV|FxF`_&E9 H U b DkQ]-alm_init $sp d*ER _ fwz DxD |D D D UWlG|O8SVuw,ʉEGx;v +ցUETUU;rmWt9UvU]W8ӊ]8]8\:Z:Yd$YA:ZuEYA:ZuFtFlOF8UىE;vڅtLW+ˉOJuO0SPQuG0SRPG0E SQP _^t^trVlV8NXFHJ3#FTFHs zN<;sj~l;s0+ϋفvF8SjP _[]Í;s'++;vN8WjQ _[]9?pEEd  7 1afill_window  $s uwsize umoreH&<"4/6=A@BRDYEcFiJqLxMQSUde hij+s?|L}QUYafw OO O O O UQSVuF WE=sEFtwFt7FlN\EVlFtt;+ЉVtFlxV83j+PRVNl>N\GXO;vمt5PG SRPG_ X_)_G)X uOOzV\NlF,+-;0xF83jQPVNl>N\GXO;vمt5PG SRPG_ X_)_G)X uOOz_^3[]Ë} tN\xF833҃RVl+RPVFlF\39Au_^[H]Ã_^[D]*OvUU0U/ )  4fdeflate_stored  $s  tflush "max_block_size!).9<BY^alpw TT T 4T 8T USVuW$Ft=s"Ft} =srmFHNXVl~4N8L3#FTND#V@FHfAfzNl#N4V@JNHVDf~lfF\GXO;vمt5HW SQRG_ X_)_G)X uGGyB_^3[]ËN\xF833҃RVl+RPVFlF\39Au_^[H]Ã_^[D]OJ\![0[kUU/2 (& !s 22 0fdeflate_fast  $s  tflush tbflush2 4< A L[%h&p(v)-./245=@BAEBHDHF!H#G0H ZZ Z ,Z 0Z USVuW$Nts#Nt} sr3rIFHNXVl~4N8L3#FTND#V@FHfAfzNl#N4V@JNHVDf~lfFHNX^4N8L3#FTNDFHA#ڋV@fZFlNHVDfJNxu^l}FlFhF`V\xN83j+PQVNl>N\GXO;vمt5PG SRPG_ X_)_G)X uOOzZ_^3[]Ã~hFlV8D3fW:f+9uwN\xF83Vlj+RPVFl>F\GXO;vمt5HW SQRG_ X_)_G)X uGGNlNtyNlNtNh`~htFVlF8D3fJf^hN\xF833҃RVl+RPVFlF\39Au_^[H]Ã_^[D]OJ_\[[SU5UaU./Y OM Hs 2Y Wfdeflate_slow  $s  tflush tbflushpY+dS^_ `6c>i@jEkpqty HJW aa a ,a 0a USVWFt=s"Ft}=s+*F`FlV8JB8;8;8;uu8;uJ8;u@8;u68;u,8;u"8;u8;u8;u;rNt+F`;v N`~`ruF`,fQ ff F`+39F`)FtFlUNlF83fQ f+39Nt~l/N\xF83Vlj+RPVFl>F\GXO;vمt5HW SQRG_ X_)_G)X uGGy_^3[]ËN\xF833҃RVl+RPVFlF\39Au_^[H]Ã_^[D]O;\Q[U(U/s s1fdeflate_rle  $s tflush4<CW\ccpd f   ff f f f USVW~tu~tFlN8F`3fF\GXO;vمt5HW SQRG_ X_)_G)X uGGy _^3[]Ë}tN\xF833҃RVl+RPVFlF\39Au_^[H]Ã_^[D]OU/U?/j`^\s t2jhfdeflate_huff  $s tflushj|#d%&*  (Y*[)h* kk k k k USVW}3;tzw;ts9_ tn9_$ti___G,FFF^;}؉FFɃSqSNSu G0V^(_^3[]_^[]`?gvq~Ds g2+deflateReset  strmcg k&l)m0q6s@tEvQ{q~}h pp p p p UQVW}1w&M  ?u F=u uG_^]ËV(S>UN(*9VjjjG0NF^FV^FN^FN MV^FN^FV^FN^FV^N uC} |3V^FN ^FqP$H,ҀɀыHɀыHɀу8NЋE^FNIV ^VRFN^NIFV ^VRFN^N u} |3V^NFI V ^FxNt!@V^NIFV ^NVz,tFQO0PQ G0F FEN0 9} ;|}3҃B3 ȃ~lt B+ Ë+ȋFq~ltO2O0jjj G0~EFx@NM9F smF;F u9Vz,t;v+PFO0PQ G0FȉM;F t,VJV ^ MFF VB9F rVz,tF;v+PFO0PQ G0VF ;BuF FI~INyVF;F u6Ny,t;vO0+PFPQ G0F;F t N ^[ AN NFuFx,tF;vN+PʋW0QR G0u ^ F[~[Fx$VF;F u6Ny,t;vO0+PFPQ G0F;F t N ^[$ AN NFuFx,tF;vN+PʋW0QR G0uFg~gu^Fx,tNN;N vFP;V w8W0NVNF_1jjNj G0Fq~tu7F([_3^]ÃM u!;Mt[G_^]ËM F=ut [O_^]Ãu~tu=Qu 'u @VЃtuFja;u~E ;u VJtEjjjV} u0NLVD3fDJNLT RPFDP ~tu3FlF\u[_F(3^]û} F [_^]ÃVG0N^W1FN^W2FN^W3FN^WFN^W FN^W FN^W FN^O2O0F~؉F39F[_^]Ã[_F(3^]áG_^][y?|?***'z?/?C?P/??/T?/?/y,ymk~f xwE'/**/;yMD == q -MI(deflate  strm  tflush told_flush ubeg9gxMlIN(UTXi|m[v\y_abcdefghijknQo[pbrgxyz{|*<HTir 1;HW_l (5MTY^ox~ "+16F^biox Z[|%&|%**+;|?1^689;HIJKLPQRS!T$X+Y1Z:[=|AYFaPb\|`figxhijklmnpstvz{| <*Z3[6|:VI| vv v 2v 6v Lv Pv UQE 3E;81 }$8W};uA_]ÉO9O u G O(9O$uG$} uE S];}M~ E]EH}Kx 9E j}`uE؋W(G VhjRЋ ,MwNM^0MNPSV4FLHFT>F^,VXG(O jSPыV,F8G(O jRPыVLF@G(O jRPыMFDdžjW(PG RЋ0~8FV tN~@tH~DtBt>PHM UWF$^[_]FWG^[_][_]ø]FUpy46 ,  g Q D t362IdeflateInit2_  strm  tlevel tmethod twindowBits tmemLevel tstrategy  version $tstream_size _my_version twrap99B9T9f960+74;>CJMYgnquz  8DVh!#&,-/034'( )*4#)4-24 ~~ ~   ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ UQUVErSW} u ];uI ;tztjRE9t?  ɉF|E_[^]_[^]ø^]d n ~v      #  $ w 3deflateParams  strm  tlevel tstrategy terr"1PXaz  @ D UEMU PEQjjjjRP ]~$%2%# deflateInit_ strm  tlevel version tstream_size0%$# X \ Jn9Cǣ;d:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@comp.idov@feat.00.drectve/.debug$S .rdata H,.text&s.debug$SO _adler32 _memcpy .text(+s.debug$Se .text? &.debug$S $w .text ={e.debug$S l  .text Jrp.debug$S $  .text'(( .debug$S( .textOy.debug$S` .textPg.debug$S .text_.debug$Sp .textiv.debug$Sp _crc32 .text*.debug$S0_lm_init _memset .textY1X.debug$SH .text=C 8.debug$SL .textl.debug$S   .text 2 @j.debug$S!D  *6.text"Y .debug$S#"D" .text$.debug$S% $R$ .text&jܚ.debug$S'&_& .text(0:.debug$S)(m( { .text*M į!R.debug$S+*_deflate*   .text,6k.debug$S-,, _zcfree _zcalloc .text.Yp.debug$S/.. .text0%TR.debug$S100 .debug$T2P_deflate_copyright_configuration_table?my_version@?1??deflateInit2_@@9@9_deflateSetDictionary_deflateSetHeader_deflatePrime_deflateTune_deflateBound_putShortMSB_flush_pending_deflateEnd_deflateCopy_read_buf_longest_match_fill_window_deflate_stored__tr_flush_block_deflate_fast__dist_code__length_code_deflate_slow_deflate_rle_deflate_huff_deflateReset__tr_init__tr_stored_block__tr_align_z_errmsg_deflateInit2__deflateParams_deflateInit_ crc32.obj/ 1308659839 100666 19969 ` LN3I:.drectve/ .debug$S\ @B.rdata #@@@.text#0)0 P`.debug$S300@B.text-13& P`.debug$Sf5&7@B.textX7h:& P`.debug$S;=@B.text= P`.debug$S >?@B.text=E? P`.debug$S4?@@B.text@B P`.debug$SBD@B.textDD P`.debug$SEF@B.text5FMF P`.debug$SWFSG@B.textGG P`.debug$SGH@B.debug$TPH@B /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" 8D:\development\cpp\libraries\zlib-1.2.5\crc32.obj:< ovovMicrosoft (R) Optimizing CompilerJ=cwdD:\development\cpp\libraries\zlib-1.2.5clC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXEcmd-FoD:\development\cpp\libraries\zlib-1.2.5\crc32.obj -c -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -nologo -MD -W3 -O2 -Oy- -Zi -FdD:\development\cpp\libraries\zlib-1.2.5\zlib -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include" -TC -Xsrccrc32.cpdbD:\development\cpp\libraries\zlib-1.2.5\zlib.pdb Gcrc_table@SA_MethodSA_Parameter  Byte  Bytef uu4!wchar_ttptrdiff_tSA_AttrTarget usize_t uuInt "uLongPkhHPT3IE.S'q~iy>^A^sM,u~*ݭW%i 6]M!9gKa2>hplq.XrTotOY$H"E>%S'P +M%R ۢH[8JIqV+6'Wb!?~N[C-2܅61wmԩXc:\program files (x86)\microsoft visual studio 10.0\vc\include\string.hd:\development\cpp\libraries\zlib-1.2.5\crc32.cc:\program files (x86)\microsoft visual studio 10.0\vc\include\stdlib.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\limits.hd:\development\cpp\libraries\zlib-1.2.5\zutil.hd:\development\cpp\libraries\zlib-1.2.5\zlib.hd:\development\cpp\libraries\zlib-1.2.5\zconf.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\vadefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sys\types.hd:\development\cpp\libraries\zlib-1.2.5\crc32.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stddef.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sal.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h$T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $20 $T0 8 - ^ = $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $20 $T0 8 - ^ = $24 $T0 12 - ^ = $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $23 $T0 4 - ^ = $24 $T0 8 - ^ = $20 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $23 $T0 8 - ^ = $24 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 264 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 264 - ^ = $23 $T0 268 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 264 - ^ = $23 $T0 268 - ^ = $24 $T0 272 - ^ =   0w,aQ mjp5c飕d2yҗ+L |~-d jHqA}mQDžӃVlkdzbeO\lcc=  n;^iLA`rqgjm Zjz  ' }Dңhi]Wbgeq6lknv+ӉZzJgo߹ホCՎ`~ѡ8ROggW?K6H+ L J6`zA`Ugn1yiFafo%6hRw G "/&U;( Z+j\1е,[d&c윣ju m ?6grWJz+{8 Ғ |! ӆBhn[&wowGZpj;f\ eibkaElx TN³9a&g`MGiIwn>JjѮZf @;7SŞϲG0򽽊º0S$6к)WTg#.zfJah]+o*7 Z-A1b62S-+ldEw}ZVǖAOIъ OM~-QJ#SpxAaU׮.7׵Y-6]]wll?AԞZ͢$ Faw$eڪ]]FD(koipvk19Z* ,  m86F߲]qTp0ek*1u4yީ%8S1bSWĔՖk1**ykʬHpo].*F6fcTT"eM©g0&):{ϼkZ> 8$,52F*sw1pHkQ6Fzw]cN̵J #pAF]#l8?1(BOgT~yUbL8^#ܖTZ1ObbSyOIV~P-{b-R4٠~^eGnHl/Su6: #jT$+e?yHf'*b#ٽЧ ?&~?$pi;FBzw[keZ~7 Sv8H 3?r$7jnԄYFܨ |OQ;օ U d S - =G\ p&Gw)` /a߫i5&LsZ<#0zMzFM8,9; :R:(q-v,.7/pXqYs3r%w+OQvrtEux܉~OK }!b|tyBxʠz{.lD~m8onlk[wjR1h58ib?mcf+aQ`צedd"fig HINSKyuJcO NZLݘMFGN@E$DD2AsX@*IBCPhTg3U>uW ַVS:R|P~Q9ZS [fYX4])\ZEo^m/_5qϱ٥s\ۼqދ!K7 kfֶԁ-b3Πjp]$^'~*I@VW<âM˟ŏ{ tDCm-@wm.B+(铜>Td"ŀǼϭ~8y$owJ1}05_K^ iϏ은BI#ƈdX܁T̓cQ: rՆ⩗ fn|xK)o%ƭ/3vUuA?)C:|sĵ@͂ Ͳ;bIUeh"׻_HS1޼^Z4eg Wb27_k%8ם(ŊO}do׸Jj3wVcXWP0qB{߭gCru&op-?'Bs ưGz>2[Ȏg; i8P/ _Y=чe:ZO?(3wwXR @hQ+ğH*0"ZOWoI}@mNП5+#*'G| AH=XX?#1jvʬ`p^Y<L~i/{kHwâ hs)aLoD~Pf7VM'(@ﰤ ہg9x+n&;f?/X)T`D1 ߨMߒ.FgTp'Hq/L0UEc?kǃh6ry7]P\@TN%s7@'>$!AxUʰ\3;Y^U~PGl!;b F2ȂpԞ(Q_V:1X: n3 m:@/)IJNv"2x+ٗ Kx.HҥfAj^y9*O]#kM`~b_R 7zFh!1߈Vc0a"j6nS Nr)Υ{t*F8#vufz`rs"WG9^EMvc΍&DAdQy/4Aڱ&S֚E biLQ<6'5P..T&q]w4.6IE? v\[YI>U!lDa>Ԫ΋ϩ7~8A]&nv|oY yKiw\¹9~$ 66nQfq>,o,IӔ 渱{I .H>C-Yn馑gQz tafw0a, Qmpjc5dۈ2yܸو L+~|-dj qHA}mԵQӅlVdkbze\Ocl=c ;n Li^`Agqr<KG k5Blۻ֬@2lE\u ϫ=Y&0Q:Qa!V#Ϻ(_ ٲ $/o|XhLaf-=vAq *q3xɢ4 j m=-dlc\kkQlabe0bNl{WeP|b-I|LeMaX:QΣtԻ0JߥA=ؕפmCij4ngF`D-s3 L_ |Pq<'A  Wh% of a^)ɘИ"רY=. \;l  tҚG9w&sc d; mj>zjZ '}DhibW]egl6qnkv+zZgJoC`֣ѓ~8ORѻgWg?H6K +گ L6JAz``ègU1nFiyaf%oҠRh6 w G"U&/ź; (+Z\j1,ٞ[ޮd°c&ujm 6?rgWJz{+ 8Ҏվ | !Bhݳڃn&[owGwZjpf; \ebiaklE x NT9§g&a`IiGM>nwۮjJZ@ f7;𩼮S޻G0齽ʺŠS0$6TW)#gfz.aJ]h*o+ 7 Z-1A26b+-Sdl}wEVZOAي»IˬO ~M-JQS#xpaA.U7Y-۩6˚w]]llA?Z$㧲F waރ$Ųe]]DFok(vpi91k *Z  ,8mF6]pTqke0*1¶u4%y<8syjHA}X*ݹ1SbSW§ٖծ1k**kypH]oF*.f6TTcMe"¤0g)&Ůޟ:{kZ >8,$5*F21wsHpQkzF6c]wN̵ׄJ# pȄA#]F8l1?(gOB~TUyLbˁ8#^TO1ZbbySIOP~V{-b-4R^~Ge­lHnuS/:6# $Tj?e+y䏼Hf*'˼Ѝb# &??~p$iBF;[wzek~ZS 7H8v ?3$rj7nFY |OQ; U dؓS - \G=&pGw`)/ ai5&sL <:R=Pe6^X7}o5641W0ճ2k3$k%'1&-[#bML"'{ "!$*x(+)`F(> q-q,v.Ț/7pqXsYr3w%vQO+tru՛E~xKO} |b!ytxBz{l.m~Do8nkljw[h1Ri85bcm?a+f`Qeddf"giH IKSNJuyOcN LZMݥFĚGE@ND$A2D@XsBI*CThPU3gWu>V SR:P|Q~Z9[ SYfX]4\)^oEZ_/m5qs<\kg2z &J8 좞V`a/6i\lU,zB\uHƒ=&FW A+Ox]`غ7W>9q߳!7Kk ֩fض-bѠ3pj$]^Ĝ'*~@IWVÕ<ӂMʏş{ Dt͆mC-@mw+B.(>dT"ş~Ϝ8yo$w1J}50K_ ^ϋiBۉI#dXфTQc:r Р fΫnx|)Ko%3/uUv?A)ġ:C|sд@͉ ;IbeU"hH_S1ފZ^ھ4ge ȋbW72%k_ܝ8Ŵ(}OodJֿjw3XcVPW0Bq{gǧurCo&p-?О'sB zGɠ2>[ ;g/P8i_ Y=嗇e:ϏOZw3(?RXw@ Qh+HZ"0*WOIo@}m5N#+'*GA |􏒨HX=#?X1vjʨ`^pYL'!$UxAׯ3\Y;U^GP~b;!lڇF 2p(ԐQV_:X1: 3n :m@I)/NJ2"v+x xKH.jAf^O*9y]#Mk~`bю_޶ Rz7hFм!10cV"ajحn6 SrN){t*8Fv#fu`zrϮsɛW"G9E^vMcD&dA/yQA4S&ֿ EbLil!>aDƋΪ~7A8n&]|vYoᡱ Kyi׫w¡\~9$66 Qnf>q,o,ӹI 散 I{.C>HnY-Qg̰t zfa$W3Eget_crc_table0$ X \ VЅt%$t3Ё3ANuSW  333%3 3Q%333 3A33%3 3Q %333 3A33%3 3Q%333 3A Ћ33%3 3Q%333 OrP3<3<3<%3< Ju_[t3Ё3ANu^&[bnz *7Q^jv ,9cu/l0jK 2crc32_little  "crc  buf ulen +09@DP"#$%'    $ VWЁ׋҅tt933ANuSA 3P 3 3 3 3H3333P  3 3 3 3H3333P 3 3 3 3H333 3P ʋ 3 3 3 3333OrP3P<3<3<3<Iu[t$833@Nuҋ%_^E|1CO\v "6HTaNw }/crc32_big  "crc  buf ulen48 9*:5;J<N@QAZ@`BClEvFGILMNOPQ    $ 3tt3u$v6>gf2_matrix_times "mat "vecPD[^_` a cf X \   UQVW+E 73ҋ˅tt3uMu_^]d=\42z7=9Agf2_matrix_square"square "mat8=,lop9q !! ! ! ! U3ʼnEESمoDž| ʉ|A҃ |VW3 $=|3|tt32u=|3 $=3tt32u=||3 $=|3|tt32u=|t3ҍt t3utd3$=3tt32u=||t3ҍ|t t3u83E _^M3[] '(\;BNCL 4 crc32_combine_  : "crc1  "crc2 len2 Ceven |Coddx!02:A#%'ch && & X& \& UE MPQM]&$ \3 crc32_combine "crc1  "crc2 len20$ -X- \- - - UE MPQM]&$ \5 crc32_combine64 "crc1  "crc2 len20$ 2X2 \2 2 2 UM u3]ËUE]$ \+crc32 "crc  buf ulenH<  7X7 \7 7 7 Jn9Cǣ;d:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@comp.idov@feat.00.drectve/.debug$S\ .rdata (.text.debug$S .text&pv.debug$S .text&b.debug$S , .text .debug$S  7 .text =(Հ.debug$S 4 I .textsY.debug$S\ l .text.debug$S .text.debug$S .text,.debug$S_crc32 .debug$TP_crc_table_get_crc_table_crc32_little_crc32_big_gf2_matrix_times_gf2_matrix_square_crc32_combine____security_cookie@__security_check_cookie@4_crc32_combine_crc32_combine64 compress.obj/ 1308659839 100666 4052 ` L Nj .drectve/ .debug$S@B.textF P`.debug$SxH @B.rdataz @0@.text  P`.debug$S @B.text P`.debug$S @B.debug$TP @B /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" ;D:\development\cpp\libraries\zlib-1.2.5\compress.obj:< ovovMicrosoft (R) Optimizing CompilerP=cwdD:\development\cpp\libraries\zlib-1.2.5clC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXEcmd-FoD:\development\cpp\libraries\zlib-1.2.5\compress.obj -c -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -nologo -MD -W3 -O2 -Oy- -Zi -FdD:\development\cpp\libraries\zlib-1.2.5\zlib -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include" -TC -Xsrccompress.cpdbD:\development\cpp\libraries\zlib-1.2.5\zlib.pdb "uLongf  Byte  Bytefz_streamp&z_stream voidpf&z_stream_s5internal_statefree_funcalloc_func uuInt "uLong`j1,SK5T4gKa2>cplq.OY$H"E>%S'P d:\development\cpp\libraries\zlib-1.2.5\compress.cd:\development\cpp\libraries\zlib-1.2.5\zlib.hd:\development\cpp\libraries\zlib-1.2.5\zconf.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sys\types.h$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 60 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 60 - ^ = $23 $T0 80 - ^ = U8MUES] j8M̋MhUԉEȋQUREEEEuEVEjPtMQt^[]ËU܍EP^[]F Y l  d88RD8b/.compress28  dest  "destLen  source "sourceLen tlevel &stream|! &'.M/Q1b2g3s4:68:  H L 1.2.5UEMU jPEQRP] $.1compress  dest  "destLen  source "sourceLen0$CDE X \   UEЋ эD ]$m33compressBound "sourceLen0$MOP X \   Jn9Cǣ;d:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@comp.idov@feat.00.drectve/.debug$S.text!.debug$S  _deflate  .rdata{).text"~.debug$SG .textW_1a.debug$S Q .debug$T P`_compress2_deflateEnd_deflateInit_??_C@_05DFCKICEH@1?42?45?$AA@_compress_compressBoundadler32.obj/ 1308659839 100666 6494 ` L N,.drectve/ .debug$S @B.textk{ P`.debug$Sz@B.text P`.debug$SF@B.text,> P`.debug$SHP@B.text P`.debug$S @B.debug$TP@B /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" :D:\development\cpp\libraries\zlib-1.2.5\adler32.obj:< ovovMicrosoft (R) Optimizing CompilerN=cwdD:\development\cpp\libraries\zlib-1.2.5clC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXEcmd-FoD:\development\cpp\libraries\zlib-1.2.5\adler32.obj -c -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -nologo -MD -W3 -O2 -Oy- -Zi -FdD:\development\cpp\libraries\zlib-1.2.5\zlib -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include" -TC -Xsrcadler32.cpdbD:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@SA_MethodSA_Parameter  Byte  Bytef!wchar_tSA_AttrTarget usize_t uuInt "uLong8khHPT3I^A^sM,u~*ݭW%i 6]M!;gKa2>jplq.XrTotOY$H"E>%S'P -8JIqV+6'uWb!?~N[C-2܅6wmԩc:\program files (x86)\microsoft visual studio 10.0\vc\include\string.hd:\development\cpp\libraries\zlib-1.2.5\adler32.cc:\program files (x86)\microsoft visual studio 10.0\vc\include\stdlib.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\limits.hd:\development\cpp\libraries\zlib-1.2.5\zutil.hd:\development\cpp\libraries\zlib-1.2.5\zlib.hd:\development\cpp\libraries\zlib-1.2.5\zconf.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\vadefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sys\types.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\stddef.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdefs.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\sal.hc:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $24 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 4 - ^ = $24 $T0 8 - ^ = $23 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $20 $T0 8 - ^ = $23 $T0 12 - ^ = $24 $T0 16 - ^ = UMS]Wu1E ʁrr_ []Vu uF^_[]Ãs:t FKurq+^_ []Án^ U $I[IVVVVVVVVV V V V V VVHwqiʸqiM:d$VVVVVVVVV V V V V VVʃHtt FKuqiʸqi^_ []k c b  [ M A -k iadler32  "adler  buf ulenpk+d@EIJ#K+L1M3N;OAPJMTTUZ\XaYeZk[p]x^~_`defhOiRjYkklpqs"t,v0w6x;zM{_i  $ ( UQSVWqi+ދ׍Eqi++ˍM_^[rr=r-=r- ]c XV RT 6 adler32_combine_ "adler1"adler2 len2 "sum1x l "'>Wky   < @ UEU M]$ c5 adler32_combine "adler1  "adler2 len28, X \   UEU M]$ c7 adler32_combine64 "adler1  "adler2 len28, X \   Jn9Cǣ;d:\development\cpp\libraries\zlib-1.2.5\zlib.pdb@comp.idov@feat.00.drectve/.debug$S .textkRu.debug$S_adler32 .text<=.debug$S .text.debug$S .text .debug$S   ' .debug$T P:_adler32_combine__adler32_combine_adler32_combine64Heimdall-1.4.1/heimdall-frontend/mainwindow.qrc000066400000000000000000000001061234253036400215120ustar00rootroot00000000000000 Heimdall-1.4.1/heimdall-frontend/mainwindow.ui000066400000000000000000001523471234253036400213610ustar00rootroot00000000000000 MainWindow 0 0 788 525 0 0 788 525 788 525 Heimdall Frontend QTabWidget::Rounded 0 0 MS Shell Dlg 2 true 5 0 780 501 0 0 780 0 780 780 0 false Load Package 510 10 251 331 Package Files 10 30 231 291 340 80 161 61 Platform false 10 30 141 21 true 10 220 491 241 Supported Devices 10 30 471 201 false 520 360 241 21 Repartition Recommended false 550 420 171 31 Load / Customise 10 80 211 61 Firmware Name false 10 30 191 21 true 10 10 491 61 Heimdall Firmware Package false 10 30 391 21 true true 410 30 71 23 Browse 230 80 101 61 Version false 10 30 81 21 true 10 150 491 61 Developer(s) false 10 30 281 21 true false 410 30 71 23 Donate false 300 30 101 23 Homepage false 520 390 241 21 No Reboot Recommended Flash 10 300 511 171 Status false 280 130 221 31 0 true 10 30 491 81 false true 10 130 261 21 Qt::RightToLeft Ready Qt::PlainText Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft 10 10 751 281 Options 10 20 391 91 PIT false 10 30 261 21 true true 280 30 71 23 Browse true 360 30 21 23 75 true You can retrieve/download your device's PIT file from the Utilities tab. QFrame::Panel QFrame::Raised 2 0 ? Qt::AlignCenter false 10 60 131 21 Repartitioning will wipe all data for your phone and install the selected PIT file. Repartition 10 120 391 151 Partition Details false 140 30 241 22 10 30 121 16 Partition Name 10 60 121 16 Partition ID 10 80 371 61 File false 10 30 271 21 true false 290 30 71 23 Browse false 140 60 241 21 true 410 20 331 251 Partitions (Files) false 10 220 81 23 Add false 10 20 311 191 false 240 220 81 23 Remove 100 220 21 23 75 true Use the "Add" button to add additional files to be flashed. QFrame::Panel QFrame::Raised 2 0 ? Qt::AlignCenter 530 300 231 171 Session false 10 30 211 21 Can be enabled to prevent your device rebooting after the flash finishes. No Reboot false 10 60 211 21 Can be enabled to prevent your device rebooting after the flash finishes. Resume (use after "No Reboot") false 50 120 111 31 Start 170 120 21 23 75 true The "Start" button will remain inactive until at least one partition/file is added. QFrame::Panel QFrame::Raised 2 0 ? Qt::AlignCenter true Create Package 0 230 471 231 Supported Devices 10 30 451 161 false 320 200 141 23 Remove Device 240 10 151 61 Firmware Version true 10 30 131 21 false 430 10 171 61 Platform Name true 10 30 151 21 false 10 10 221 61 Firmware Name true 10 30 201 21 false 10 80 751 141 Developers true 560 20 181 81 310 20 241 101 Developer Info 10 30 51 16 Name true 70 30 161 21 false false 130 60 101 23 Add false 640 110 101 23 Remove 10 20 291 101 URLs (Optional) 10 60 81 16 Donate 10 30 81 16 Homepage true 100 30 181 21 false true 100 60 181 21 false 610 10 151 61 Platform Version true 10 30 131 21 false 480 240 291 151 Device Info 10 60 111 16 Name true 130 60 151 21 false 10 30 111 16 Manufacturer true 130 30 151 21 false 10 90 111 16 Product Code true 130 90 151 21 false false 160 120 121 23 Add Device false 580 420 121 31 Build Utilities 10 80 461 141 Download PIT 10 30 441 71 Destination File false 10 30 311 21 true true 340 30 91 23 Save As... false 320 110 101 23 Download 430 110 21 23 75 true Download and save a device's PIT file. QFrame::Panel QFrame::Raised 2 0 ? Qt::AlignCenter 10 230 751 241 Output true 10 30 731 201 false true 10 10 291 61 Detect Device 170 30 81 23 Detect false 10 30 151 21 Device Detected true true 260 30 21 23 75 true Detect whether or not a device is connected in download mode. QFrame::Panel QFrame::Raised 2 0 ? Qt::AlignCenter 480 10 291 211 Print PIT 160 180 81 23 Print 250 180 21 23 75 true Print the contents of a PIT file in a human readable fashion. QFrame::Panel QFrame::Raised 2 0 ? Qt::AlignCenter true 20 30 261 21 Device true true true 20 60 261 21 Local File true false 10 100 271 71 PIT File false 10 30 171 21 true false 190 30 71 23 Browse 310 10 161 61 Close PC Screen 40 30 81 23 Close 130 30 21 23 75 true Close the "device <--> PC" screen displayed on a device. QFrame::Panel QFrame::Raised 2 0 ? Qt::AlignCenter 0 0 788 21 Help Donate Advanced Help About Heimdall Donate to Glass Echidna Package Creation true Verbose Output true Resume Connection functionTabWidget firmwarePackageLineEdit browseFirmwarePackageButton firmwareNameLineEdit versionLineEdit platformLineEdit developerNamesLineEdit developerHomepageButton developerDonateButton supportedDevicesListWidget includedFilesListWidget repartitionRadioButton loadFirmwareButton pitLineEdit pitBrowseButton partitionNameComboBox partitionIdLineEdit partitionFileLineEdit partitionFileBrowseButton outputPlainTextEdit createFirmwareNameLineEdit createFirmwareVersionLineEdit createPlatformNameLineEdit createPlatformVersionLineEdit createHomepageLineEdit createDonateLineEdit createDeveloperNameLineEdit addDeveloperButton createDevelopersListWidget removeDeveloperButton createDevicesListWidget removeDeviceButton deviceManufacturerLineEdit deviceNameLineEdit deviceProductCodeLineEdit addDeviceButton buildPackageButton Heimdall-1.4.1/heimdall/000077500000000000000000000000001234253036400150155ustar00rootroot00000000000000Heimdall-1.4.1/heimdall/60-heimdall.rules000066400000000000000000000003551234253036400200760ustar00rootroot00000000000000SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6601", MODE="0666" SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="685d", MODE="0666" SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="68c3", MODE="0666" Heimdall-1.4.1/heimdall/Makefile.am000066400000000000000000000016551234253036400170600ustar00rootroot00000000000000AUTOMAKE_OPTIONS = subdir-objects ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} AM_CPPFLAGS = $(DEPS_CFLAGS) -std=c++0x -I../libpit/Source STATIC_LIBS = ../libpit/libpit-1.4.a bin_PROGRAMS = heimdall heimdall_SOURCES = source/Arguments.cpp \ source/BridgeManager.cpp \ source/ClosePcScreenAction.cpp \ source/DetectAction.cpp \ source/DownloadPitAction.cpp \ source/FlashAction.cpp \ source/HelpAction.cpp \ source/InfoAction.cpp \ source/Interface.cpp \ source/main.cpp \ source/PrintPitAction.cpp \ source/Utility.cpp \ source/VersionAction.cpp heimdall_LDADD = $(DEPS_LIBS) $(STATIC_LIBS) if LINUXTARGET udevrulesdir = @libdir@/udev/rules.d udevrules_DATA = 60-heimdall.rules install-data-hook: @echo "" @echo "IMPORTANT - You must reboot your machine or execute the following as root:" if UDEVADM @echo "udevadm control --reload-rules" else @echo "service udev restart" endif @echo "" endif dist_noinst_SCRIPTS = autogen.sh Heimdall-1.4.1/heimdall/Makefile.in000066400000000000000000000721171234253036400170720ustar00rootroot00000000000000# Makefile.in generated by automake 1.11.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ bin_PROGRAMS = heimdall$(EXEEXT) subdir = . DIST_COMMON = $(am__configure_deps) $(dist_noinst_SCRIPTS) \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/config.h.in $(top_srcdir)/configure ar-lib \ config.guess config.sub depcomp install-sh ltmain.sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(udevrulesdir)" PROGRAMS = $(bin_PROGRAMS) am__dirstamp = $(am__leading_dot)dirstamp am_heimdall_OBJECTS = source/Arguments.$(OBJEXT) \ source/BridgeManager.$(OBJEXT) \ source/ClosePcScreenAction.$(OBJEXT) \ source/DetectAction.$(OBJEXT) \ source/DownloadPitAction.$(OBJEXT) \ source/FlashAction.$(OBJEXT) source/HelpAction.$(OBJEXT) \ source/InfoAction.$(OBJEXT) source/Interface.$(OBJEXT) \ source/main.$(OBJEXT) source/PrintPitAction.$(OBJEXT) \ source/Utility.$(OBJEXT) source/VersionAction.$(OBJEXT) heimdall_OBJECTS = $(am_heimdall_OBJECTS) am__DEPENDENCIES_1 = heimdall_DEPENDENCIES = $(am__DEPENDENCIES_1) $(STATIC_LIBS) SCRIPTS = $(dist_noinst_SCRIPTS) DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(heimdall_SOURCES) DIST_SOURCES = $(heimdall_SOURCES) am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } DATA = $(udevrules_DATA) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEPS_CFLAGS = @DEPS_CFLAGS@ DEPS_LIBS = @DEPS_LIBS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ udevadminstalled = @udevadminstalled@ AUTOMAKE_OPTIONS = subdir-objects ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} AM_CPPFLAGS = $(DEPS_CFLAGS) -std=c++0x -I../libpit/Source STATIC_LIBS = ../libpit/libpit-1.4.a heimdall_SOURCES = source/Arguments.cpp \ source/BridgeManager.cpp \ source/ClosePcScreenAction.cpp \ source/DetectAction.cpp \ source/DownloadPitAction.cpp \ source/FlashAction.cpp \ source/HelpAction.cpp \ source/InfoAction.cpp \ source/Interface.cpp \ source/main.cpp \ source/PrintPitAction.cpp \ source/Utility.cpp \ source/VersionAction.cpp heimdall_LDADD = $(DEPS_LIBS) $(STATIC_LIBS) @LINUXTARGET_TRUE@udevrulesdir = @libdir@/udev/rules.d @LINUXTARGET_TRUE@udevrules_DATA = 60-heimdall.rules dist_noinst_SCRIPTS = autogen.sh all: config.h $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .cpp .lo .o .obj am--refresh: Makefile @: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): config.h: stamp-h1 @if test ! -f $@; then rm -f stamp-h1; else :; fi @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p || test -f $$p1; \ then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list source/$(am__dirstamp): @$(MKDIR_P) source @: > source/$(am__dirstamp) source/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) source/$(DEPDIR) @: > source/$(DEPDIR)/$(am__dirstamp) source/Arguments.$(OBJEXT): source/$(am__dirstamp) \ source/$(DEPDIR)/$(am__dirstamp) source/BridgeManager.$(OBJEXT): source/$(am__dirstamp) \ source/$(DEPDIR)/$(am__dirstamp) source/ClosePcScreenAction.$(OBJEXT): source/$(am__dirstamp) \ source/$(DEPDIR)/$(am__dirstamp) source/DetectAction.$(OBJEXT): source/$(am__dirstamp) \ source/$(DEPDIR)/$(am__dirstamp) source/DownloadPitAction.$(OBJEXT): source/$(am__dirstamp) \ source/$(DEPDIR)/$(am__dirstamp) source/FlashAction.$(OBJEXT): source/$(am__dirstamp) \ source/$(DEPDIR)/$(am__dirstamp) source/HelpAction.$(OBJEXT): source/$(am__dirstamp) \ source/$(DEPDIR)/$(am__dirstamp) source/InfoAction.$(OBJEXT): source/$(am__dirstamp) \ source/$(DEPDIR)/$(am__dirstamp) source/Interface.$(OBJEXT): source/$(am__dirstamp) \ source/$(DEPDIR)/$(am__dirstamp) source/main.$(OBJEXT): source/$(am__dirstamp) \ source/$(DEPDIR)/$(am__dirstamp) source/PrintPitAction.$(OBJEXT): source/$(am__dirstamp) \ source/$(DEPDIR)/$(am__dirstamp) source/Utility.$(OBJEXT): source/$(am__dirstamp) \ source/$(DEPDIR)/$(am__dirstamp) source/VersionAction.$(OBJEXT): source/$(am__dirstamp) \ source/$(DEPDIR)/$(am__dirstamp) heimdall$(EXEEXT): $(heimdall_OBJECTS) $(heimdall_DEPENDENCIES) $(EXTRA_heimdall_DEPENDENCIES) @rm -f heimdall$(EXEEXT) $(CXXLINK) $(heimdall_OBJECTS) $(heimdall_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f source/Arguments.$(OBJEXT) -rm -f source/BridgeManager.$(OBJEXT) -rm -f source/ClosePcScreenAction.$(OBJEXT) -rm -f source/DetectAction.$(OBJEXT) -rm -f source/DownloadPitAction.$(OBJEXT) -rm -f source/FlashAction.$(OBJEXT) -rm -f source/HelpAction.$(OBJEXT) -rm -f source/InfoAction.$(OBJEXT) -rm -f source/Interface.$(OBJEXT) -rm -f source/PrintPitAction.$(OBJEXT) -rm -f source/Utility.$(OBJEXT) -rm -f source/VersionAction.$(OBJEXT) -rm -f source/main.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@source/$(DEPDIR)/Arguments.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@source/$(DEPDIR)/BridgeManager.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@source/$(DEPDIR)/ClosePcScreenAction.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@source/$(DEPDIR)/DetectAction.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@source/$(DEPDIR)/DownloadPitAction.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@source/$(DEPDIR)/FlashAction.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@source/$(DEPDIR)/HelpAction.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@source/$(DEPDIR)/InfoAction.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@source/$(DEPDIR)/Interface.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@source/$(DEPDIR)/PrintPitAction.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@source/$(DEPDIR)/Utility.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@source/$(DEPDIR)/VersionAction.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@source/$(DEPDIR)/main.Po@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool config.lt install-udevrulesDATA: $(udevrules_DATA) @$(NORMAL_INSTALL) test -z "$(udevrulesdir)" || $(MKDIR_P) "$(DESTDIR)$(udevrulesdir)" @list='$(udevrules_DATA)'; test -n "$(udevrulesdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(udevrulesdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(udevrulesdir)" || exit $$?; \ done uninstall-udevrulesDATA: @$(NORMAL_UNINSTALL) @list='$(udevrules_DATA)'; test -n "$(udevrulesdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(udevrulesdir)'; $(am__uninstall_files_from_dir) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__remove_distdir) dist-lzma: distdir tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma $(am__remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(DATA) config.h installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(udevrulesdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -rm -f source/$(DEPDIR)/$(am__dirstamp) -rm -f source/$(am__dirstamp) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." @LINUXTARGET_FALSE@install-data-hook: clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf source/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-libtool distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-udevrulesDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -rf source/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-udevrulesDATA .MAKE: all install-am install-data-am install-strip .PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ clean-binPROGRAMS clean-generic clean-libtool ctags dist \ dist-all dist-bzip2 dist-gzip dist-lzip dist-lzma dist-shar \ dist-tarZ dist-xz dist-zip distcheck distclean \ distclean-compile distclean-generic distclean-hdr \ distclean-libtool distclean-tags distcleancheck distdir \ distuninstallcheck dvi dvi-am html html-am info info-am \ install install-am install-binPROGRAMS install-data \ install-data-am install-data-hook install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ install-udevrulesDATA installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am \ uninstall-binPROGRAMS uninstall-udevrulesDATA @LINUXTARGET_TRUE@install-data-hook: @LINUXTARGET_TRUE@ @echo "" @LINUXTARGET_TRUE@ @echo "IMPORTANT - You must reboot your machine or execute the following as root:" @LINUXTARGET_TRUE@@UDEVADM_TRUE@ @echo "udevadm control --reload-rules" @LINUXTARGET_TRUE@@UDEVADM_FALSE@ @echo "service udev restart" @LINUXTARGET_TRUE@ @echo "" # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Heimdall-1.4.1/heimdall/aclocal.m4000066400000000000000000012625171234253036400166730ustar00rootroot00000000000000# generated automatically by aclocal 1.11.3 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, # Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],, [m4_warning([this file was generated for autoconf 2.68. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. m4_define([_LT_COPYING], [dnl # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ]) # serial 57 LT_INIT # LT_PREREQ(VERSION) # ------------------ # Complain and exit if this libtool version is less that VERSION. m4_defun([LT_PREREQ], [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, [m4_default([$3], [m4_fatal([Libtool version $1 or higher is required], 63)])], [$2])]) # _LT_CHECK_BUILDDIR # ------------------ # Complain if the absolute build directory name contains unusual characters m4_defun([_LT_CHECK_BUILDDIR], [case `pwd` in *\ * | *\ *) AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; esac ]) # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LTDL_INIT])dnl m4_require([_LT_CHECK_BUILDDIR])dnl dnl Autoconf doesn't catch unexpanded LT_ macros by default: m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 dnl unless we require an AC_DEFUNed macro: AC_REQUIRE([LTOPTIONS_VERSION])dnl AC_REQUIRE([LTSUGAR_VERSION])dnl AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([LTOBSOLETE_VERSION])dnl m4_require([_LT_PROG_LTMAIN])dnl _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl _LT_SETUP # Only expand once: m4_define([LT_INIT]) ])# LT_INIT # Old names: AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PROG_LIBTOOL], []) dnl AC_DEFUN([AM_PROG_LIBTOOL], []) # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. m4_defun([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` ]) # _LT_FILEUTILS_DEFAULTS # ---------------------- # It is okay to use these file commands and assume they have been set # sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. m4_defun([_LT_FILEUTILS_DEFAULTS], [: ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} ])# _LT_FILEUTILS_DEFAULTS # _LT_SETUP # --------- m4_defun([_LT_SETUP], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl dnl _LT_DECL([], [build_alias], [0], [The build system])dnl _LT_DECL([], [build], [0])dnl _LT_DECL([], [build_os], [0])dnl dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl dnl AC_REQUIRE([AC_PROG_LN_S])dnl test -z "$LN_S" && LN_S="ln -s" _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl dnl AC_REQUIRE([LT_CMD_MAX_LEN])dnl _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl m4_require([_LT_CMD_RELOAD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_WITH_SYSROOT])dnl _LT_CONFIG_LIBTOOL_INIT([ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi ]) if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi _LT_CHECK_OBJDIR m4_require([_LT_TAG_COMPILER])dnl case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then _LT_PATH_MAGIC fi ;; esac # Use C for the default configuration in the libtool script LT_SUPPORTED_TAG([CC]) _LT_LANG_C_CONFIG _LT_LANG_DEFAULT_CONFIG _LT_CONFIG_COMMANDS ])# _LT_SETUP # _LT_PREPARE_SED_QUOTE_VARS # -------------------------- # Define a few sed substitution that help us do robust quoting. m4_defun([_LT_PREPARE_SED_QUOTE_VARS], [# Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([["`\\]]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ]) # _LT_PROG_LTMAIN # --------------- # Note that this code is called both from `configure', and `config.status' # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, # `config.status' has no value for ac_aux_dir unless we are using Automake, # so we pass a copy along to make sure it has a sensible value anyway. m4_defun([_LT_PROG_LTMAIN], [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) ltmain="$ac_aux_dir/ltmain.sh" ])# _LT_PROG_LTMAIN # So that we can recreate a full libtool script including additional # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS # in macros and then make a single call at the end using the `libtool' # label. # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) # ---------------------------------------- # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL_INIT], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_INIT], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_INIT]) # _LT_CONFIG_LIBTOOL([COMMANDS]) # ------------------------------ # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) # ----------------------------------------------------- m4_defun([_LT_CONFIG_SAVE_COMMANDS], [_LT_CONFIG_LIBTOOL([$1]) _LT_CONFIG_LIBTOOL_INIT([$2]) ]) # _LT_FORMAT_COMMENT([COMMENT]) # ----------------------------- # Add leading comment marks to the start of each line, and a trailing # full-stop to the whole comment if one is not present already. m4_define([_LT_FORMAT_COMMENT], [m4_ifval([$1], [ m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) )]) # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) # ------------------------------------------------------------------- # CONFIGNAME is the name given to the value in the libtool script. # VARNAME is the (base) name used in the configure script. # VALUE may be 0, 1 or 2 for a computed quote escaped value based on # VARNAME. Any other value will be used directly. m4_define([_LT_DECL], [lt_if_append_uniq([lt_decl_varnames], [$2], [, ], [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], [m4_ifval([$1], [$1], [$2])]) lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) m4_ifval([$4], [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) lt_dict_add_subkey([lt_decl_dict], [$2], [tagged?], [m4_ifval([$5], [yes], [no])])]) ]) # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) # -------------------------------------------------------- m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_tag_varnames], [_lt_decl_filter([tagged?], [yes], $@)]) # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) # --------------------------------------------------------- m4_define([_lt_decl_filter], [m4_case([$#], [0], [m4_fatal([$0: too few arguments: $#])], [1], [m4_fatal([$0: too few arguments: $#: $1])], [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], [lt_dict_filter([lt_decl_dict], $@)])[]dnl ]) # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) # -------------------------------------------------- m4_define([lt_decl_quote_varnames], [_lt_decl_filter([value], [1], $@)]) # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_dquote_varnames], [_lt_decl_filter([value], [2], $@)]) # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_varnames_tagged], [m4_assert([$# <= 2])dnl _$0(m4_quote(m4_default([$1], [[, ]])), m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) m4_define([_lt_decl_varnames_tagged], [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) # lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_all_varnames], [_$0(m4_quote(m4_default([$1], [[, ]])), m4_if([$2], [], m4_quote(lt_decl_varnames), m4_quote(m4_shift($@))))[]dnl ]) m4_define([_lt_decl_all_varnames], [lt_join($@, lt_decl_varnames_tagged([$1], lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl ]) # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ # Quote a variable value, and forward it to `config.status' so that its # declaration there will have the same value as in `configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) # _LT_CONFIG_STATUS_DECLARATIONS # ------------------------------ # We delimit libtool config variables with single quotes, so when # we write them to config.status, we have to be sure to quote all # embedded single quotes properly. In configure, this macro expands # each variable declared with _LT_DECL (and _LT_TAGDECL) into: # # ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAGS # ---------------- # Output comment and list of tags supported by the script m4_defun([_LT_LIBTOOL_TAGS], [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl available_tags="_LT_TAGS"dnl ]) # _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) # ----------------------------------- # Extract the dictionary values for VARNAME (optionally with TAG) and # expand to a commented shell variable setting: # # # Some comment about what VAR is for. # visible_name=$lt_internal_name m4_define([_LT_LIBTOOL_DECLARE], [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [description])))[]dnl m4_pushdef([_libtool_name], m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), [0], [_libtool_name=[$]$1], [1], [_libtool_name=$lt_[]$1], [2], [_libtool_name=$lt_[]$1], [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl ]) # _LT_LIBTOOL_CONFIG_VARS # ----------------------- # Produce commented declarations of non-tagged libtool config variables # suitable for insertion in the LIBTOOL CONFIG section of the `libtool' # script. Tagged libtool config variables (even for the LIBTOOL CONFIG # section) are produced by _LT_LIBTOOL_TAG_VARS. m4_defun([_LT_LIBTOOL_CONFIG_VARS], [m4_foreach([_lt_var], m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAG_VARS(TAG) # ------------------------- m4_define([_LT_LIBTOOL_TAG_VARS], [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) # _LT_TAGVAR(VARNAME, [TAGNAME]) # ------------------------------ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) # _LT_CONFIG_COMMANDS # ------------------- # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of # variables for single and double quote escaping we saved from calls # to _LT_DECL, we can put quote escaped variables declarations # into `config.status', and then the shell code to quote escape them in # for loops in `config.status'. Finally, any additional code accumulated # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. m4_defun([_LT_CONFIG_COMMANDS], [AC_PROVIDE_IFELSE([LT_OUTPUT], dnl If the libtool generation code has been placed in $CONFIG_LT, dnl instead of duplicating it all over again into config.status, dnl then we will have config.status run $CONFIG_LT later, so it dnl needs to know what name is stored there: [AC_CONFIG_COMMANDS([libtool], [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], dnl If the libtool generation code is destined for config.status, dnl expand the accumulated commands and init code now: [AC_CONFIG_COMMANDS([libtool], [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) ])#_LT_CONFIG_COMMANDS # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], [ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' _LT_CONFIG_STATUS_DECLARATIONS LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$[]1 _LTECHO_EOF' } # Quote evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_quote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_dquote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done _LT_OUTPUT_LIBTOOL_INIT ]) # _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) # ------------------------------------ # Generate a child script FILE with all initialization necessary to # reuse the environment learned by the parent script, and make the # file executable. If COMMENT is supplied, it is inserted after the # `#!' sequence but before initialization text begins. After this # macro, additional text can be appended to FILE to form the body of # the child script. The macro ends with non-zero status if the # file could not be fully written (such as if the disk is full). m4_ifdef([AS_INIT_GENERATED], [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], [m4_defun([_LT_GENERATED_FILE_INIT], [m4_require([AS_PREPARE])]dnl [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl [lt_write_fail=0 cat >$1 <<_ASEOF || lt_write_fail=1 #! $SHELL # Generated by $as_me. $2 SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$1 <<\_ASEOF || lt_write_fail=1 AS_SHELL_SANITIZE _AS_PREPARE exec AS_MESSAGE_FD>&1 _ASEOF test $lt_write_fail = 0 && chmod +x $1[]dnl m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT # LT_OUTPUT # --------- # This macro allows early generation of the libtool script (before # AC_OUTPUT is called), incase it is used in configure for compilation # tests. AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} AC_MSG_NOTICE([creating $CONFIG_LT]) _LT_GENERATED_FILE_INIT(["$CONFIG_LT"], [# Run this file to recreate a libtool stub with the current configuration.]) cat >>"$CONFIG_LT" <<\_LTEOF lt_cl_silent=false exec AS_MESSAGE_LOG_FD>>config.log { echo AS_BOX([Running $as_me.]) } >&AS_MESSAGE_LOG_FD lt_cl_help="\ \`$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. Usage: $[0] [[OPTIONS]] -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files Report bugs to ." lt_cl_version="\ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. Copyright (C) 2011 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." while test $[#] != 0 do case $[1] in --version | --v* | -V ) echo "$lt_cl_version"; exit 0 ;; --help | --h* | -h ) echo "$lt_cl_help"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --quiet | --q* | --silent | --s* | -q ) lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] Try \`$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] Try \`$[0] --help' for more information.]) ;; esac shift done if $lt_cl_silent; then exec AS_MESSAGE_FD>/dev/null fi _LTEOF cat >>"$CONFIG_LT" <<_LTEOF _LT_OUTPUT_LIBTOOL_COMMANDS_INIT _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AC_MSG_NOTICE([creating $ofile]) _LT_OUTPUT_LIBTOOL_COMMANDS AS_EXIT(0) _LTEOF chmod +x "$CONFIG_LT" # configure is writing to config.log, but config.lt does its own redirection, # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. lt_cl_success=: test "$silent" = yes && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec AS_MESSAGE_LOG_FD>>config.log $lt_cl_success || AS_EXIT(1) ])# LT_OUTPUT # _LT_CONFIG(TAG) # --------------- # If TAG is the built-in tag, create an initial libtool script with a # default configuration from the untagged config vars. Otherwise add code # to config.status for appending the configuration named by TAG from the # matching tagged config vars. m4_defun([_LT_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_CONFIG_SAVE_COMMANDS([ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl m4_if(_LT_TAG, [C], [ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # _LT_COPYING _LT_LIBTOOL_TAGS # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac _LT_PROG_LTMAIN # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) _LT_PROG_REPLACE_SHELLFNS mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ], [cat <<_LT_EOF >> "$ofile" dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded dnl in a comment (ie after a #). # ### BEGIN LIBTOOL TAG CONFIG: $1 _LT_LIBTOOL_TAG_VARS(_LT_TAG) # ### END LIBTOOL TAG CONFIG: $1 _LT_EOF ])dnl /m4_if ], [m4_if([$1], [], [ PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile'], []) ])dnl /_LT_CONFIG_SAVE_COMMANDS ])# _LT_CONFIG # LT_SUPPORTED_TAG(TAG) # --------------------- # Trace this macro to discover what tags are supported by the libtool # --tag option, using: # autoconf --trace 'LT_SUPPORTED_TAG:$1' AC_DEFUN([LT_SUPPORTED_TAG], []) # C support is built-in for now m4_define([_LT_LANG_C_enabled], []) m4_define([_LT_TAGS], []) # LT_LANG(LANG) # ------------- # Enable libtool support for the given language if not already enabled. AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], [Go], [_LT_LANG(GO)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], [Windows Resource], [_LT_LANG(RC)], [m4_ifdef([_LT_LANG_]$1[_CONFIG], [_LT_LANG($1)], [m4_fatal([$0: unsupported language: "$1"])])])dnl ])# LT_LANG # _LT_LANG(LANGNAME) # ------------------ m4_defun([_LT_LANG], [m4_ifdef([_LT_LANG_]$1[_enabled], [], [LT_SUPPORTED_TAG([$1])dnl m4_append([_LT_TAGS], [$1 ])dnl m4_define([_LT_LANG_]$1[_enabled], [])dnl _LT_LANG_$1_CONFIG($1)])dnl ])# _LT_LANG m4_ifndef([AC_PROG_GO], [ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_GO. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # m4_defun([AC_PROG_GO], [AC_LANG_PUSH(Go)dnl AC_ARG_VAR([GOC], [Go compiler command])dnl AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl _AC_ARG_VAR_LDFLAGS()dnl AC_CHECK_TOOL(GOC, gccgo) if test -z "$GOC"; then if test -n "$ac_tool_prefix"; then AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) fi fi if test -z "$GOC"; then AC_CHECK_PROG(GOC, gccgo, gccgo, false) fi ])#m4_defun ])#m4_ifndef # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], [AC_PROVIDE_IFELSE([AC_PROG_CXX], [LT_LANG(CXX)], [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) AC_PROVIDE_IFELSE([AC_PROG_F77], [LT_LANG(F77)], [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) AC_PROVIDE_IFELSE([AC_PROG_FC], [LT_LANG(FC)], [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal dnl pulling things in needlessly. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([LT_PROG_GCJ], [LT_LANG(GCJ)], [m4_ifdef([AC_PROG_GCJ], [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([A][M_PROG_GCJ], [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) AC_PROVIDE_IFELSE([AC_PROG_GO], [LT_LANG(GO)], [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) ])# _LT_LANG_DEFAULT_CONFIG # Obsolete macros: AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_CXX], []) dnl AC_DEFUN([AC_LIBTOOL_F77], []) dnl AC_DEFUN([AC_LIBTOOL_FC], []) dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) dnl AC_DEFUN([AC_LIBTOOL_RC], []) # _LT_TAG_COMPILER # ---------------- m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_TAG_COMPILER # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. m4_defun([_LT_COMPILER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. m4_defun([_LT_LINKER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ])# _LT_LINKER_BOILERPLATE # _LT_REQUIRED_DARWIN_CHECKS # ------------------------- m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ case $host_os in rhapsody* | darwin*) AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) AC_CHECK_TOOL([LIPO], [lipo], [:]) AC_CHECK_TOOL([OTOOL], [otool], [:]) AC_CHECK_TOOL([OTOOL64], [otool64], [:]) _LT_DECL([], [DSYMUTIL], [1], [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) _LT_DECL([], [NMEDIT], [1], [Tool to change global to local symbols on Mac OS X]) _LT_DECL([], [LIPO], [1], [Tool to manipulate fat objects and archives on Mac OS X]) _LT_DECL([], [OTOOL], [1], [ldd/readelf like tool for Mach-O binaries on Mac OS X]) _LT_DECL([], [OTOOL64], [1], [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -rf libconftest.dylib* rm -f conftest.* fi]) AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) LDFLAGS="$save_LDFLAGS" ]) AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], [lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then lt_cv_ld_force_load=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM ]) case $host_os in rhapsody* | darwin1.[[012]]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[[012]]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ]) # _LT_DARWIN_LINKER_FEATURES([TAG]) # --------------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ m4_require([_LT_REQUIRED_DARWIN_CHECKS]) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported if test "$lt_cv_ld_force_load" = "yes"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) else _LT_TAGVAR(whole_archive_flag_spec, $1)='' fi _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" m4_if([$1], [CXX], [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi ],[]) else _LT_TAGVAR(ld_shlibs, $1)=no fi ]) # _LT_SYS_MODULE_PATH_AIX([TAGNAME]) # ---------------------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. # Store the results from the different compilers for each TAGNAME. # Allow to override them for all tags through lt_cv_aix_libpath. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ lt_aix_libpath_sed='[ /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }]' _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi],[]) if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" fi ]) aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) fi ])# _LT_SYS_MODULE_PATH_AIX # _LT_SHELL_INIT(ARG) # ------------------- m4_define([_LT_SHELL_INIT], [m4_divert_text([M4SH-INIT], [$1 ])])# _LT_SHELL_INIT # _LT_PROG_ECHO_BACKSLASH # ----------------------- # Find how we can fake an echo command that does not interpret backslash. # In particular, with Autoconf 2.60 or later we add some code to the start # of the generated configure script which will find a shell with a builtin # printf (which we can use as an echo command). m4_defun([_LT_PROG_ECHO_BACKSLASH], [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO AC_MSG_CHECKING([how to print strings]) # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $[]1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } case "$ECHO" in printf*) AC_MSG_RESULT([printf]) ;; print*) AC_MSG_RESULT([print -r]) ;; *) AC_MSG_RESULT([cat]) ;; esac m4_ifdef([_AS_DETECT_SUGGESTED], [_AS_DETECT_SUGGESTED([ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test "X`printf %s $ECHO`" = "X$ECHO" \ || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) ])# _LT_PROG_ECHO_BACKSLASH # _LT_WITH_SYSROOT # ---------------- AC_DEFUN([_LT_WITH_SYSROOT], [AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], [ --with-sysroot[=DIR] Search for dependent libraries within DIR (or the compiler's sysroot if not specified).], [], [with_sysroot=no]) dnl lt_sysroot will always be passed unquoted. We quote it here dnl in case the user passed a directory name. lt_sysroot= case ${with_sysroot} in #( yes) if test "$GCC" = yes; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) AC_MSG_RESULT([${with_sysroot}]) AC_MSG_ERROR([The sysroot must be an absolute path.]) ;; esac AC_MSG_RESULT([${lt_sysroot:-no}]) _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl [dependent libraries, and in which our libraries should be installed.])]) # _LT_ENABLE_LOCK # --------------- m4_defun([_LT_ENABLE_LOCK], [AC_ARG_ENABLE([libtool-lock], [AS_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; *-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD="${LD-ld}_sol2" fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" ])# _LT_ENABLE_LOCK # _LT_PROG_AR # ----------- m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} : ${AR_FLAGS=cru} _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], [lt_cv_ar_at_file=no AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([lt_ar_try]) if test "$ac_status" -eq 0; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a AC_TRY_EVAL([lt_ar_try]) if test "$ac_status" -ne 0; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a ]) ]) if test "x$lt_cv_ar_at_file" = xno; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi _LT_DECL([], [archiver_list_spec], [1], [How to feed a file listing to the archiver]) ])# _LT_PROG_AR # _LT_CMD_OLD_ARCHIVE # ------------------- m4_defun([_LT_CMD_OLD_ARCHIVE], [_LT_PROG_AR AC_CHECK_TOOL(STRIP, strip, :) test -z "$STRIP" && STRIP=: _LT_DECL([], [STRIP], [1], [A symbol stripping program]) AC_CHECK_TOOL(RANLIB, ranlib, :) test -z "$RANLIB" && RANLIB=: _LT_DECL([], [RANLIB], [1], [Commands used to install an old-style archive]) # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac _LT_DECL([], [old_postinstall_cmds], [2]) _LT_DECL([], [old_postuninstall_cmds], [2]) _LT_TAGDECL([], [old_archive_cmds], [2], [Commands used to build an old-style archive]) _LT_DECL([], [lock_old_archive_extraction], [0], [Whether to use a lock for old archive extraction]) ])# _LT_CMD_OLD_ARCHIVE # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi $RM conftest* ]) if test x"[$]$2" = xyes; then m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) fi ])# _LT_COMPILER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------- # Check whether the given linker option works AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi else $2=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" ]) if test x"[$]$2" = xyes; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) fi ])# _LT_LINKER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) # LT_CMD_MAX_LEN #--------------- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl # find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ]) if test -n $lt_cv_sys_max_cmd_len ; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi max_cmd_len=$lt_cv_sys_max_cmd_len _LT_DECL([], [max_cmd_len], [0], [What is the maximum length of a command?]) ])# LT_CMD_MAX_LEN # Old name: AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) # _LT_HEADER_DLFCN # ---------------- m4_defun([_LT_HEADER_DLFCN], [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl ])# _LT_HEADER_DLFCN # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ---------------------------------------------------------------- m4_defun([_LT_TRY_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "$cross_compiling" = yes; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF [#line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; }] _LT_EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_TRY_DLOPEN_SELF # LT_SYS_DLOPEN_SELF # ------------------ AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen="shl_load"], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen="dlopen"], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) ]) ]) ]) ]) ]) ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi _LT_DECL([dlopen_support], [enable_dlopen], [0], [Whether dlopen is supported]) _LT_DECL([dlopen_self], [enable_dlopen_self], [0], [Whether dlopen of programs is supported]) _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], [Whether dlopen of statically linked programs is supported]) ])# LT_SYS_DLOPEN_SELF # Old name: AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) # _LT_COMPILER_C_O([TAGNAME]) # --------------------------- # Check to see if options -c and -o are simultaneously supported by compiler. # This macro does not hard code the compiler like AC_PROG_CC_C_O. m4_defun([_LT_COMPILER_C_O], [m4_require([_LT_DECL_SED])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ]) _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], [Does compiler simultaneously support -c and -o options?]) ])# _LT_COMPILER_C_O # _LT_COMPILER_FILE_LOCKS([TAGNAME]) # ---------------------------------- # Check to see if we can do hard links to lock some files if needed m4_defun([_LT_COMPILER_FILE_LOCKS], [m4_require([_LT_ENABLE_LOCK])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_COMPILER_C_O([$1]) hard_links="nottested" if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test "$hard_links" = no; then AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) ])# _LT_COMPILER_FILE_LOCKS # _LT_CHECK_OBJDIR # ---------------- m4_defun([_LT_CHECK_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir _LT_DECL([], [objdir], [0], [The name of the directory that contains temporary libtool files])dnl m4_pattern_allow([LT_OBJDIR])dnl AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", [Define to the sub-directory in which libtool stores uninstalled libraries.]) ])# _LT_CHECK_OBJDIR # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) # -------------------------------------- # Check hardcoding attributes. m4_defun([_LT_LINKER_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_TAGVAR(hardcode_action, $1)= if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || test -n "$_LT_TAGVAR(runpath_var, $1)" || test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then # We can hardcode non-existent directories. if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then # Linking always hardcodes the temporary library directory. _LT_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi _LT_TAGDECL([], [hardcode_action], [0], [How to hardcode a shared library path into an executable]) ])# _LT_LINKER_HARDCODE_LIBPATH # _LT_CMD_STRIPLIB # ---------------- m4_defun([_LT_CMD_STRIPLIB], [m4_require([_LT_DECL_EGREP]) striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) ])# _LT_CMD_STRIPLIB # _LT_SYS_DYNAMIC_LINKER([TAG]) # ----------------------------- # PORTME Fill in your ld.so characteristics m4_defun([_LT_SYS_DYNAMIC_LINKER], [AC_REQUIRE([AC_CANONICAL_HOST])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; *) lt_sed_strip_eq="s,=/,/,g" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[[4-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[[45]]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' library_names_spec='${libname}.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec="$LIB" if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[23]].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[[3-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], [lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], [lt_cv_shlibpath_overrides_runpath=yes])]) LDFLAGS=$save_LDFLAGS libdir=$save_libdir ]) shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[[89]] | openbsd2.[[89]].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and restored at link time]) _LT_DECL([], [need_lib_prefix], [0], [Do we need the "lib" prefix for modules?]) _LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) _LT_DECL([], [version_type], [0], [Library versioning type]) _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) _LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) _LT_DECL([], [shlibpath_overrides_runpath], [0], [Is shlibpath searched before the hard-coded library search path?]) _LT_DECL([], [libname_spec], [1], [Format of library name prefix]) _LT_DECL([], [library_names_spec], [1], [[List of archive names. First name is the real one, the rest are links. The last name is the one that the linker finds with -lNAME]]) _LT_DECL([], [soname_spec], [1], [[The coded name of the library, if different from the real name]]) _LT_DECL([], [install_override_mode], [1], [Permission mode override for installation of shared libraries]) _LT_DECL([], [postinstall_cmds], [2], [Command to use after installation of a shared archive]) _LT_DECL([], [postuninstall_cmds], [2], [Command to use after uninstallation of a shared archive]) _LT_DECL([], [finish_cmds], [2], [Commands used to finish a libtool library installation in a directory]) _LT_DECL([], [finish_eval], [1], [[As "finish_cmds", except a single script fragment to be evaled but not shown]]) _LT_DECL([], [hardcode_into_libs], [0], [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) _LT_DECL([], [sys_lib_dlsearch_path_spec], [2], [Run-time system search path for libraries]) ])# _LT_SYS_DYNAMIC_LINKER # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- # find a file program which can recognize shared library AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$1; then lt_cv_path_MAGIC_CMD="$ac_dir/$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac]) MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi _LT_DECL([], [MAGIC_CMD], [0], [Used to examine libraries when file_magic_cmd begins with "file"])dnl ])# _LT_PATH_TOOL_PREFIX # Old name: AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) # _LT_PATH_MAGIC # -------------- # find a file program which can recognize a shared library m4_defun([_LT_PATH_MAGIC], [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# _LT_PATH_MAGIC # LT_PATH_LD # ---------- # find the pathname to the GNU or non-GNU linker AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PROG_ECHO_BACKSLASH])dnl AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test "$withval" = no || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown _LT_DECL([], [deplibs_check_method], [1], [Method to check whether dependent libraries are shared objects]) _LT_DECL([], [file_magic_cmd], [1], [Command to use when deplibs_check_method = "file_magic"]) _LT_DECL([], [file_magic_glob], [1], [How to find potential files when deplibs_check_method = "file_magic"]) _LT_DECL([], [want_nocaseglob], [1], [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) ])# _LT_CHECK_MAGIC_METHOD # LT_PATH_NM # ---------- # find the pathname to a BSD- or MS-compatible name lister AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi]) if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols" ;; *) DUMPBIN=: ;; esac fi AC_SUBST([DUMPBIN]) if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm AC_SUBST([NM]) _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], [lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) cat conftest.out >&AS_MESSAGE_LOG_FD if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest*]) ])# LT_PATH_NM # Old names: AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_PROG_NM], []) dnl AC_DEFUN([AC_PROG_NM], []) # _LT_CHECK_SHAREDLIB_FROM_LINKLIB # -------------------------------- # how to determine the name of the shared library # associated with a specific link library. # -- PORTME fill in with the dynamic library characteristics m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], [m4_require([_LT_DECL_EGREP]) m4_require([_LT_DECL_OBJDUMP]) m4_require([_LT_DECL_DLLTOOL]) AC_CACHE_CHECK([how to associate runtime and link libraries], lt_cv_sharedlib_from_linklib_cmd, [lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh # decide which to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd="$ECHO" ;; esac ]) sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO _LT_DECL([], [sharedlib_from_linklib_cmd], [1], [Command to associate shared and link libraries]) ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB # _LT_PATH_MANIFEST_TOOL # ---------------------- # locate the manifest tool m4_defun([_LT_PATH_MANIFEST_TOOL], [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], [lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&AS_MESSAGE_LOG_FD if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest*]) if test "x$lt_cv_path_mainfest_tool" != xyes; then MANIFEST_TOOL=: fi _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl ])# _LT_PATH_MANIFEST_TOOL # LT_LIB_M # -------- # check for math library AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM="-lm") ;; esac AC_SUBST([LIBM]) ])# LT_LIB_M # Old name: AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_CHECK_LIBM], []) # _LT_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------- m4_defun([_LT_COMPILER_NO_RTTI], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test "$GCC" = yes; then case $cc_basename in nvcc*) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; *) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; esac _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], [Compiler flag to turn off builtin functions]) ])# _LT_COMPILER_NO_RTTI # _LT_CMD_GLOBAL_SYMBOLS # ---------------------- m4_defun([_LT_CMD_GLOBAL_SYMBOLS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([LT_PATH_NM])dnl AC_REQUIRE([LT_PATH_LD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_TAG_COMPILER])dnl # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[[ABCDGISTW]]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[[ABCDEGRST]]' fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGIRSTW]]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT@&t@_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT@&t@_DLSYM_CONST #else # define LT@&t@_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT@&t@_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[[]] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then nm_file_list_spec='@' fi _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], [Transform the output of nm in a proper C declaration]) _LT_DECL([global_symbol_to_c_name_address], [lt_cv_sys_global_symbol_to_c_name_address], [1], [Transform the output of nm in a C name address pair]) _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) _LT_DECL([], [nm_file_list_spec], [1], [Specify filename containing input files for $NM]) ]) # _LT_CMD_GLOBAL_SYMBOLS # _LT_COMPILER_PIC([TAGNAME]) # --------------------------- m4_defun([_LT_COMPILER_PIC], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_wl, $1)= _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)= m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix[[4-9]]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; dgux*) case $cc_basename in ec++*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL 8.0, 9.0 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx*) # Digital/Compaq C++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc*) # Lucid _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test "$GCC" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; hpux9* | hpux10* | hpux11*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # Lahey Fortran 8.1. lf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' ;; nagfor*) # NAG Fortran compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; *Sun\ F* | *Sun*Fortran*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; *Intel*\ [[CF]]*Compiler*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; *Portland\ Group*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; esac ;; newsos6) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; rdos*) _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; sunos4*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; unicos*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; uts4*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" ;; esac AC_CACHE_CHECK([for $compiler option to produce PIC], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], [Additional compiler flags for building library objects]) _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], [How to pass a linker flag through the compiler]) # # Check to make sure the static flag actually works. # wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], [Compiler flag to prevent dynamic linking]) ])# _LT_COMPILER_PIC # _LT_LINKER_SHLIBS([TAGNAME]) # ---------------------------- # See if the linker supports building shared libraries. m4_defun([_LT_LINKER_SHLIBS], [AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) m4_if([$1], [CXX], [ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global defined # symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; cygwin* | mingw* | cegcc*) case $cc_basename in cl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] ;; esac ;; linux* | k*bsd*-gnu | gnu*) _LT_TAGVAR(link_all_deplibs, $1)=no ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac ], [ runpath_var= _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_cmds, $1)= _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(old_archive_from_new_cmds, $1)= _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_TAGVAR(thread_safe_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; linux* | k*bsd*-gnu | gnu*) _LT_TAGVAR(link_all_deplibs, $1)=no ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test "$with_gnu_ld" = yes; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test "$lt_use_gnu_ld_interface" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no case `$LD -v 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; sunos4*) _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then runpath_var= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_TAGVAR(hardcode_minus_L, $1)=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global # defined symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi _LT_TAGVAR(link_all_deplibs, $1)=no else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; bsdi[[45]]*) _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes fi ;; hpux11*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) m4_if($1, [], [ # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) _LT_LINKER_OPTION([if $CC understands -b], _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) ;; esac fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], [lt_cv_irix_exported_symbol], [save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" AC_LINK_IFELSE( [AC_LANG_SOURCE( [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], [C++], [[int foo (void) { return 0; }]], [Fortran 77], [[ subroutine foo end]], [Fortran], [[ subroutine foo end]])])], [lt_cv_irix_exported_symbol=yes], [lt_cv_irix_exported_symbol=no]) LDFLAGS="$save_LDFLAGS"]) if test "$lt_cv_irix_exported_symbol" = yes; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes _LT_TAGVAR(link_all_deplibs, $1)=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' else case $host_os in openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(ld_shlibs, $1)=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' ;; esac fi fi ]) AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl _LT_DECL([], [extract_expsyms_cmds], [2], [The commands to extract the exported symbol list from a shared archive]) # # Do we need to explicitly link libc? # case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_TAGVAR(archive_cmds_need_lc, $1)=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $_LT_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_CACHE_CHECK([whether -lc should be explicitly linked in], [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), [$RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) _LT_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) then lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no else lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* ]) _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) ;; esac fi ;; esac _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], [Whether or not to add -lc for building shared libraries]) _LT_TAGDECL([allow_libtool_libs_with_static_runtimes], [enable_shared_with_static_runtimes], [0], [Whether or not to disallow shared libs when runtime libs are static]) _LT_TAGDECL([], [export_dynamic_flag_spec], [1], [Compiler flag to allow reflexive dlopens]) _LT_TAGDECL([], [whole_archive_flag_spec], [1], [Compiler flag to generate shared objects directly from archives]) _LT_TAGDECL([], [compiler_needs_object], [1], [Whether the compiler copes with passing no objects directly]) _LT_TAGDECL([], [old_archive_from_new_cmds], [2], [Create an old-style archive from a shared archive]) _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], [Create a temporary old-style archive to link instead of a shared archive]) _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) _LT_TAGDECL([], [archive_expsym_cmds], [2]) _LT_TAGDECL([], [module_cmds], [2], [Commands used to build a loadable module if different from building a shared archive.]) _LT_TAGDECL([], [module_expsym_cmds], [2]) _LT_TAGDECL([], [with_gnu_ld], [1], [Whether we are building with GNU ld or not]) _LT_TAGDECL([], [allow_undefined_flag], [1], [Flag that allows shared libraries with undefined symbols to be built]) _LT_TAGDECL([], [no_undefined_flag], [1], [Flag that enforces no undefined symbols]) _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_direct_absolute], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary and the resulting library dependency is "absolute", i.e impossible to change by setting ${shlibpath_var} if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_shlibpath_var], [0], [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_automatic], [0], [Set to "yes" if building a shared library automatically hardcodes DIR into the library and all subsequent libraries and executables linked against it]) _LT_TAGDECL([], [inherit_rpath], [0], [Set to yes if linker adds runtime paths of dependent libraries to runtime path list]) _LT_TAGDECL([], [link_all_deplibs], [0], [Whether libtool must link a program against all its dependency libraries]) _LT_TAGDECL([], [always_export_symbols], [0], [Set to "yes" if exported symbols are required]) _LT_TAGDECL([], [export_symbols_cmds], [2], [The commands to list exported symbols]) _LT_TAGDECL([], [exclude_expsyms], [1], [Symbols that should not be listed in the preloaded symbols]) _LT_TAGDECL([], [include_expsyms], [1], [Symbols that must always be exported]) _LT_TAGDECL([], [prelink_cmds], [2], [Commands necessary for linking programs (against libraries) with templates]) _LT_TAGDECL([], [postlink_cmds], [2], [Commands necessary for finishing linking programs]) _LT_TAGDECL([], [file_list_spec], [1], [Specify filename containing input files]) dnl FIXME: Not yet implemented dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], dnl [Compiler flag to generate thread safe objects]) ])# _LT_LINKER_SHLIBS # _LT_LANG_C_CONFIG([TAG]) # ------------------------ # Ensure that the configuration variables for a C compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_C_CONFIG], [m4_require([_LT_DECL_EGREP])dnl lt_save_CC="$CC" AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_TAG_COMPILER # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) LT_SYS_DLOPEN_SELF _LT_CMD_STRIPLIB # Report which library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_CONFIG($1) fi AC_LANG_POP CC="$lt_save_CC" ])# _LT_LANG_C_CONFIG # _LT_LANG_CXX_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_CXX_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP else _lt_caught_CXX_error=yes fi AC_LANG_PUSH(C++) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} CFLAGS=$CXXFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration LT_PATH_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an empty # executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared # libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl*) # Native MSVC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ func_to_tool_file "$lt_outputfile"~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes ;; gnu*) ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; hpux9*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) _LT_TAGVAR(ld_shlibs, $1)=yes ;; openbsd2*) # C++ shared libraries are fairly broken _LT_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; cxx*) case $host in osf3*) _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; esac _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ '"$_LT_TAGVAR(old_archive_cmds, $1)" _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ '"$_LT_TAGVAR(reload_cmds, $1)" ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(GCC, $1)="$GXX" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes AC_LANG_POP ])# _LT_LANG_CXX_CONFIG # _LT_FUNC_STRIPNAME_CNF # ---------------------- # func_stripname_cnf prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # # This function is identical to the (non-XSI) version of func_stripname, # except this one can be used by m4 code that may be executed by configure, # rather than the libtool script. m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl AC_REQUIRE([_LT_DECL_SED]) AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) func_stripname_cnf () { case ${2} in .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; esac } # func_stripname_cnf ])# _LT_FUNC_STRIPNAME_CNF # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. m4_defun([_LT_SYS_HIDDEN_LIBDEPS], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl # Dependencies to place before and after the object being linked: _LT_TAGVAR(predep_objects, $1)= _LT_TAGVAR(postdep_objects, $1)= _LT_TAGVAR(predeps, $1)= _LT_TAGVAR(postdeps, $1)= _LT_TAGVAR(compiler_lib_search_path, $1)= dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF int a; void foo (void) { a = 0; } _LT_EOF ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer*4 a a=0 return end _LT_EOF ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer a a=0 return end _LT_EOF ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF public class foo { private int a; public void bar (void) { a = 0; } }; _LT_EOF ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF package foo func foo() { } _LT_EOF ]) _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case ${prev}${p} in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" || test $p = "-R"; then prev=$p continue fi # Expand the sysroot to ease extracting the directories later. if test -z "$prev"; then case $p in -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac fi case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test "$pre_test_object_deps_done" = no; then case ${prev} in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" else _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$_LT_TAGVAR(postdeps, $1)"; then _LT_TAGVAR(postdeps, $1)="${prev}${p}" else _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" fi fi prev= ;; *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$_LT_TAGVAR(predep_objects, $1)"; then _LT_TAGVAR(predep_objects, $1)="$p" else _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then _LT_TAGVAR(postdep_objects, $1)="$p" else _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling $1 test program" fi $RM -f confest.$objext CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken m4_if([$1], [CXX], [case $host_os in interix[[3-9]]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. _LT_TAGVAR(predep_objects,$1)= _LT_TAGVAR(postdep_objects,$1)= _LT_TAGVAR(postdeps,$1)= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) case " $_LT_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac _LT_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi _LT_TAGDECL([], [compiler_lib_search_dirs], [1], [The directories searched by this compiler when creating a shared library]) _LT_TAGDECL([], [predep_objects], [1], [Dependencies to place before and after the objects being linked to create a shared library]) _LT_TAGDECL([], [postdep_objects], [1]) _LT_TAGDECL([], [predeps], [1]) _LT_TAGDECL([], [postdeps], [1]) _LT_TAGDECL([], [compiler_lib_search_path], [1], [The library search path used internally by the compiler when linking a shared library]) ])# _LT_SYS_HIDDEN_LIBDEPS # _LT_LANG_F77_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_F77_CONFIG], [AC_LANG_PUSH(Fortran 77) if test -z "$F77" || test "X$F77" = "Xno"; then _lt_disable_F77=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_F77" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${F77-"f77"} CFLAGS=$FFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) GCC=$G77 if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$G77" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC="$lt_save_CC" CFLAGS="$lt_save_CFLAGS" fi # test "$_lt_disable_F77" != yes AC_LANG_POP ])# _LT_LANG_F77_CONFIG # _LT_LANG_FC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_FC_CONFIG], [AC_LANG_PUSH(Fortran) if test -z "$FC" || test "X$FC" = "Xno"; then _lt_disable_FC=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for fc test sources. ac_ext=${ac_fc_srcext-f} # Object file extension for compiled fc test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_FC" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${FC-"f95"} CFLAGS=$FCFLAGS compiler=$CC GCC=$ac_cv_fc_compiler_gnu _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS fi # test "$_lt_disable_FC" != yes AC_LANG_POP ])# _LT_LANG_FC_CONFIG # _LT_LANG_GCJ_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Java Compiler compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_GCJ_CONFIG], [AC_REQUIRE([LT_PROG_GCJ])dnl AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GCJ-"gcj"} CFLAGS=$GCJFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GCJ_CONFIG # _LT_LANG_GO_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Go compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_GO_CONFIG], [AC_REQUIRE([LT_PROG_GO])dnl AC_LANG_SAVE # Source file extension for Go test sources. ac_ext=go # Object file extension for compiled Go test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="package main; func main() { }" # Code to be used in simple link tests lt_simple_link_test_code='package main; func main() { }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GOC-"gccgo"} CFLAGS=$GOFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" _LT_CC_BASENAME([$compiler]) # Go did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GO_CONFIG # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_RC_CONFIG], [AC_REQUIRE([LT_PROG_RC])dnl AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code="$lt_simple_compile_test_code" # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC= CC=${RC-"windres"} CFLAGS= compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes if test -n "$compiler"; then : _LT_CONFIG($1) fi GCC=$lt_save_GCC AC_LANG_RESTORE CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_RC_CONFIG # LT_PROG_GCJ # ----------- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) # Old name: AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_GCJ], []) # LT_PROG_GO # ---------- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) ]) # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) ]) # Old name: AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_RC], []) # _LT_DECL_EGREP # -------------- # If we don't have a new enough Autoconf to choose the best grep # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep _LT_DECL([], [GREP], [1], [A grep program that handles long lines]) _LT_DECL([], [EGREP], [1], [An ERE matcher]) _LT_DECL([], [FGREP], [1], [A literal string matcher]) dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) # _LT_DECL_OBJDUMP # -------------- # If we don't have a new enough Autoconf to choose the best objdump # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_OBJDUMP], [AC_CHECK_TOOL(OBJDUMP, objdump, false) test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) AC_SUBST([OBJDUMP]) ]) # _LT_DECL_DLLTOOL # ---------------- # Ensure DLLTOOL variable is set. m4_defun([_LT_DECL_DLLTOOL], [AC_CHECK_TOOL(DLLTOOL, dlltool, false) test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program]) AC_SUBST([DLLTOOL]) ]) # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" _LT_DECL([], [SED], [1], [A sed program that does not truncate output]) _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], [Sed that helps us avoid accidentally triggering echo(1) options like -n]) ])# _LT_DECL_SED m4_ifndef([AC_PROG_SED], [ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # m4_defun([AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ])#AC_PROG_SED ])#m4_ifndef # Old name: AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_SED], []) # _LT_CHECK_SHELL_FEATURES # ------------------------ # Find out whether the shell is Bourne or XSI compatible, # or has some other useful features. m4_defun([_LT_CHECK_SHELL_FEATURES], [AC_MSG_CHECKING([whether the shell understands some XSI constructs]) # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,b/c, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes AC_MSG_RESULT([$xsi_shell]) _LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) AC_MSG_CHECKING([whether the shell understands "+="]) lt_shell_append=no ( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes AC_MSG_RESULT([$lt_shell_append]) _LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl ])# _LT_CHECK_SHELL_FEATURES # _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) # ------------------------------------------------------ # In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and # '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. m4_defun([_LT_PROG_FUNCTION_REPLACE], [dnl { sed -e '/^$1 ()$/,/^} # $1 /c\ $1 ()\ {\ m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) } # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: ]) # _LT_PROG_REPLACE_SHELLFNS # ------------------------- # Replace existing portable implementations of several shell functions with # equivalent extended shell implementations where those features are available.. m4_defun([_LT_PROG_REPLACE_SHELLFNS], [if test x"$xsi_shell" = xyes; then _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac]) _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl func_basename_result="${1##*/}"]) _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}"]) _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"}]) _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl func_split_long_opt_name=${1%%=*} func_split_long_opt_arg=${1#*=}]) _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl func_split_short_opt_arg=${1#??} func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac]) _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) fi if test x"$lt_shell_append" = xyes; then _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl func_quote_for_eval "${2}" dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) # Save a `func_append' function call where possible by direct use of '+=' sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: else # Save a `func_append' function call even when '+=' is not available sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$_lt_function_replace_fail" = x":"; then AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) fi ]) # _LT_PATH_CONVERSION_FUNCTIONS # ----------------------------- # Determine which file name conversion functions should be used by # func_to_host_file (and, implicitly, by func_to_host_path). These are needed # for certain cross-compile configurations and native mingw. m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_MSG_CHECKING([how to convert $build file names to $host format]) AC_CACHE_VAL(lt_cv_to_host_file_cmd, [case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac ]) to_host_file_cmd=$lt_cv_to_host_file_cmd AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], [0], [convert $build file names to $host format])dnl AC_MSG_CHECKING([how to convert $build file names to toolchain format]) AC_CACHE_VAL(lt_cv_to_tool_file_cmd, [#assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac ]) to_tool_file_cmd=$lt_cv_to_tool_file_cmd AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], [0], [convert $build files to toolchain format])dnl ])# _LT_PATH_CONVERSION_FUNCTIONS # Helper functions for option handling. -*- Autoconf -*- # # Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, # Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 7 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) # ------------------------------------------ m4_define([_LT_MANGLE_OPTION], [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) # --------------------------------------- # Set option OPTION-NAME for macro MACRO-NAME, and if there is a # matching handler defined, dispatch to it. Other OPTION-NAMEs are # saved as a flag. m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), _LT_MANGLE_DEFUN([$1], [$2]), [m4_warning([Unknown $1 option `$2'])])[]dnl ]) # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) # ------------------------------------------------------------ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. m4_define([_LT_IF_OPTION], [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) # ------------------------------------------------------- # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME # are set. m4_define([_LT_UNLESS_OPTIONS], [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), [m4_define([$0_found])])])[]dnl m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 ])[]dnl ]) # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) # ---------------------------------------- # OPTION-LIST is a space-separated list of Libtool options associated # with MACRO-NAME. If any OPTION has a matching handler declared with # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about # the unknown option and exit. m4_defun([_LT_SET_OPTIONS], [# Set options m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [_LT_SET_OPTION([$1], _LT_Option)]) m4_if([$1],[LT_INIT],[ dnl dnl Simply set some default values (i.e off) if boolean options were not dnl specified: _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no ]) _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no ]) dnl dnl If no reference was made to various pairs of opposing options, then dnl we run the default mode handler for the pair. For example, if neither dnl `shared' nor `disable-shared' was passed, we enable building of shared dnl archives by default: _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], [_LT_ENABLE_FAST_INSTALL]) ]) ])# _LT_SET_OPTIONS # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) # ----------------------------------------- m4_define([_LT_MANGLE_DEFUN], [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) # ----------------------------------------------- m4_define([LT_OPTION_DEFINE], [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl ])# LT_OPTION_DEFINE # dlopen # ------ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes ]) AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `dlopen' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) # win32-dll # --------- # Declare package support for building win32 dll's. LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; esac test -z "$AS" && AS=as _LT_DECL([], [AS], [1], [Assembler program])dnl test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl ])# win32-dll AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `win32-dll' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) # _LT_ENABLE_SHARED([DEFAULT]) # ---------------------------- # implement the --enable-shared flag, and supports the `shared' and # `disable-shared' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_SHARED], [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([shared], [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) _LT_DECL([build_libtool_libs], [enable_shared], [0], [Whether or not to build shared libraries]) ])# _LT_ENABLE_SHARED LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) # Old names: AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ]) AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ]) AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_SHARED], []) dnl AC_DEFUN([AM_DISABLE_SHARED], []) # _LT_ENABLE_STATIC([DEFAULT]) # ---------------------------- # implement the --enable-static flag, and support the `static' and # `disable-static' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_STATIC], [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([static], [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_static=]_LT_ENABLE_STATIC_DEFAULT) _LT_DECL([build_old_libs], [enable_static], [0], [Whether or not to build static libraries]) ])# _LT_ENABLE_STATIC LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) # Old names: AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ]) AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ]) AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_STATIC], []) dnl AC_DEFUN([AM_DISABLE_STATIC], []) # _LT_ENABLE_FAST_INSTALL([DEFAULT]) # ---------------------------------- # implement the --enable-fast-install flag, and support the `fast-install' # and `disable-fast-install' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_FAST_INSTALL], [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([fast-install], [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) _LT_DECL([fast_install], [enable_fast_install], [0], [Whether or not to optimize for fast installation])dnl ])# _LT_ENABLE_FAST_INSTALL LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) # Old names: AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `fast-install' option into LT_INIT's first parameter.]) ]) AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `disable-fast-install' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # _LT_WITH_PIC([MODE]) # -------------------- # implement the --with-pic flag, and support the `pic-only' and `no-pic' # LT_INIT options. # MODE is either `yes' or `no'. If omitted, it defaults to `both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for lt_pkg in $withval; do IFS="$lt_save_ifs" if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS="$lt_save_ifs" ;; esac], [pic_mode=default]) test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) # Old name: AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `pic-only' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) m4_define([_LTDL_MODE], []) LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], [m4_define([_LTDL_MODE], [nonrecursive])]) LT_OPTION_DEFINE([LTDL_INIT], [recursive], [m4_define([_LTDL_MODE], [recursive])]) LT_OPTION_DEFINE([LTDL_INIT], [subproject], [m4_define([_LTDL_MODE], [subproject])]) m4_define([_LTDL_TYPE], []) LT_OPTION_DEFINE([LTDL_INIT], [installable], [m4_define([_LTDL_TYPE], [installable])]) LT_OPTION_DEFINE([LTDL_INIT], [convenience], [m4_define([_LTDL_TYPE], [convenience])]) # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltsugar.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) # lt_join(SEP, ARG1, [ARG2...]) # ----------------------------- # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their # associated separator. # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier # versions in m4sugar had bugs. m4_define([lt_join], [m4_if([$#], [1], [], [$#], [2], [[$2]], [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) m4_define([_lt_join], [m4_if([$#$2], [2], [], [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) # lt_car(LIST) # lt_cdr(LIST) # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support # Autoconf-2.59 which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], [$#], 1, [], [m4_dquote(m4_shift($@))])]) m4_define([lt_unquote], $1) # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ # Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different # than defined and empty). # # This macro is needed until we can rely on Autoconf 2.62, since earlier # versions of m4sugar mistakenly expanded SEPARATOR but not STRING. m4_define([lt_append], [m4_define([$1], m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) # ---------------------------------------------------------- # Produce a SEP delimited list of all paired combinations of elements of # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list # has the form PREFIXmINFIXSUFFIXn. # Needed until we can rely on m4_combine added in Autoconf 2.62. m4_define([lt_combine], [m4_if(m4_eval([$# > 3]), [1], [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl [[m4_foreach([_Lt_prefix], [$2], [m4_foreach([_Lt_suffix], ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) # ----------------------------------------------------------------------- # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. m4_define([lt_if_append_uniq], [m4_ifdef([$1], [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], [lt_append([$1], [$2], [$3])$4], [$5])], [lt_append([$1], [$2], [$3])$4])]) # lt_dict_add(DICT, KEY, VALUE) # ----------------------------- m4_define([lt_dict_add], [m4_define([$1($2)], [$3])]) # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) # -------------------------------------------- m4_define([lt_dict_add_subkey], [m4_define([$1($2:$3)], [$4])]) # lt_dict_fetch(DICT, KEY, [SUBKEY]) # ---------------------------------- m4_define([lt_dict_fetch], [m4_ifval([$3], m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) # ----------------------------------------------------------------- m4_define([lt_if_dict_fetch], [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], [$5], [$6])]) # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) # -------------------------------------------------------------- m4_define([lt_dict_filter], [m4_if([$5], [], [], [lt_join(m4_quote(m4_default([$4], [[, ]])), lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl ]) # ltversion.m4 -- version numbers -*- Autoconf -*- # # Copyright (C) 2004 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # @configure_input@ # serial 3337 ltversion.m4 # This file is part of GNU Libtool m4_define([LT_PACKAGE_VERSION], [2.4.2]) m4_define([LT_PACKAGE_REVISION], [1.3337]) AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.2' macro_revision='1.3337' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 5 lt~obsolete.m4 # These exist entirely to fool aclocal when bootstrapping libtool. # # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us # using a macro with the same name in our local m4/libtool.m4 it'll # pull the old libtool.m4 in (it doesn't see our shiny new m4_define # and doesn't know about Autoconf macros at all.) # # So we provide this file, which has a silly filename so it's always # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until # we give up compatibility with versions before 1.7, at which point # we need to keep only those names which we still refer to. # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # serial 1 (pkg-config-0.24) # # Copyright © 2004 Scott James Remnant . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # PKG_PROG_PKG_CONFIG([MIN-VERSION]) # ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])# PKG_PROG_PKG_CONFIG # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # # Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) # only at the first occurence in configure.ac, so if the first place # it's called might be skipped (such as if it is within an "if", you # have to call PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" elif test -n "$PKG_CONFIG"; then PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes]) else pkg_failed=untried fi[]dnl ])# _PKG_CONFIG # _PKG_SHORT_ERRORS_SUPPORTED # ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])# _PKG_SHORT_ERRORS_SUPPORTED # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], # [ACTION-IF-NOT-FOUND]) # # # Note that if there is a possibility the first call to # PKG_CHECK_MODULES might not happen, you should be sure to include an # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac # # # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])[]dnl ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) $3 fi[]dnl ])# PKG_CHECK_MODULES # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software # Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.11' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.11.3], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.11.3])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # Copyright (C) 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_PROG_AR([ACT-IF-FAIL]) # ------------------------- # Try to determine the archiver interface, and trigger the ar-lib wrapper # if it is needed. If the detection of archiver interface fails, run # ACT-IF-FAIL (default is to abort configure with a proper error message). AC_DEFUN([AM_PROG_AR], [AC_BEFORE([$0], [LT_INIT])dnl AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([ar-lib])dnl AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false]) : ${AR=ar} AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface], [am_cv_ar_interface=ar AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])], [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([am_ar_try]) if test "$ac_status" -eq 0; then am_cv_ar_interface=ar else am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([am_ar_try]) if test "$ac_status" -eq 0; then am_cv_ar_interface=lib else am_cv_ar_interface=unknown fi fi rm -f conftest.lib libconftest.a ]) ]) case $am_cv_ar_interface in ar) ;; lib) # Microsoft lib, so override with the ar-lib wrapper script. # FIXME: It is wrong to rewrite AR. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__AR in this case, # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something # similar. AR="$am_aux_dir/ar-lib $AR" ;; unknown) m4_default([$1], [AC_MSG_ERROR([could not determine $AR interface])]) ;; esac AC_SUBST([AR])dnl ]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, # 2010, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 12 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2008, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 16 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.62])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl dnl The `parallel-tests' driver may need to know about EXEEXT, so add the dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl ]) dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation, # Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering # Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008, # 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_MAINTAINER_MODE([DEFAULT-MODE]) # ---------------------------------- # Control maintainer-specific portions of Makefiles. # Default is to disable them, unless `enable' is passed literally. # For symmetry, `disable' may be passed as well. Anyway, the user # can override the default with the --enable/--disable switch. AC_DEFUN([AM_MAINTAINER_MODE], [m4_case(m4_default([$1], [disable]), [enable], [m4_define([am_maintainer_other], [disable])], [disable], [m4_define([am_maintainer_other], [enable])], [m4_define([am_maintainer_other], [enable]) m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) dnl maintainer-mode's default is 'disable' unless 'enable' is passed AC_ARG_ENABLE([maintainer-mode], [ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful (and sometimes confusing) to the casual installer], [USE_MAINTAINER_MODE=$enableval], [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) AC_MSG_RESULT([$USE_MAINTAINER_MODE]) AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) MAINT=$MAINTAINER_MODE_TRUE AC_SUBST([MAINT])dnl ] ) AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 6 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation, # Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software # Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR Heimdall-1.4.1/heimdall/ar-lib000077500000000000000000000130531234253036400161130ustar00rootroot00000000000000#! /bin/sh # Wrapper for Microsoft lib.exe me=ar-lib scriptversion=2012-01-30.22; # UTC # Copyright (C) 2010, 2012 Free Software Foundation, Inc. # Written by Peter Rosin . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . # func_error message func_error () { echo "$me: $1" 1>&2 exit 1 } file_conv= # func_file_conv build_file # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv in mingw) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin) file=`cygpath -m "$file" || echo "$file"` ;; wine) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_at_file at_file operation archive # Iterate over all members in AT_FILE performing OPERATION on ARCHIVE # for each of them. # When interpreting the content of the @FILE, do NOT use func_file_conv, # since the user would need to supply preconverted file names to # binutils ar, at least for MinGW. func_at_file () { operation=$2 archive=$3 at_file_contents=`cat "$1"` eval set x "$at_file_contents" shift for member do $AR -NOLOGO $operation:"$member" "$archive" || exit $? done } case $1 in '') func_error "no command. Try '$0 --help' for more information." ;; -h | --h*) cat <. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner. Please send patches (context # diff format) to and include a ChangeLog # entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo ${UNAME_MACHINE}-unknown-linux-gnueabi else echo ${UNAME_MACHINE}-unknown-linux-gnueabihf fi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; hexagon:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; tile*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in i386) eval $set_cc_for_build if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then UNAME_PROCESSOR="x86_64" fi fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-?:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: Heimdall-1.4.1/heimdall/config.h.in000066400000000000000000000042641234253036400170460ustar00rootroot00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* Define if building universal (internal helper macro) */ #undef AC_APPLE_UNIVERSAL_BUILD /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to the sub-directory in which libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Darwin backend */ #undef OS_DARWIN /* Linux backend */ #undef OS_LINUX /* Windows backend */ #undef OS_WINDOWS /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel). */ #if defined AC_APPLE_UNIVERSAL_BUILD # if defined __BIG_ENDIAN__ # define WORDS_BIGENDIAN 1 # endif #else # ifndef WORDS_BIGENDIAN # undef WORDS_BIGENDIAN # endif #endif /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS /* Define for large files, on AIX-style hosts. */ #undef _LARGE_FILES Heimdall-1.4.1/heimdall/config.sub000077500000000000000000001051761234253036400170120ustar00rootroot00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, # 2011, 2012 Free Software Foundation, Inc. timestamp='2012-02-10' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . Submit a context # diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; android-linux) os=-linux-android basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | be32 | be64 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | epiphany \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ | nios | nios2 \ | ns16k | ns32k \ | open8 \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; c54x) basic_machine=tic54x-unknown ;; c55x) basic_machine=tic55x-unknown ;; c6x) basic_machine=tic6x-unknown ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; strongarm | thumb | xscale) basic_machine=arm-unknown ;; xgate) basic_machine=$basic_machine-unknown os=-none ;; xscaleeb) basic_machine=armeb-unknown ;; xscaleel) basic_machine=armel-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c54x-*) basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c55x-*) basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c6x-*) basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16 | cr16-*) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze) basic_machine=microblaze-xilinx ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) basic_machine=i386-pc os=-msys ;; mvs) basic_machine=i370-ibm os=-mvs ;; nacl) basic_machine=le32-unknown os=-nacl ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; neo-tandem) basic_machine=neo-tandem ;; nse-tandem) basic_machine=nse-tandem ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; strongarm-* | thumb-*) basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tile*) basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; xscale-* | xscalee[bl]-*) basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -nacl*) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; tic54x-*) os=-coff ;; tic55x-*) os=-coff ;; tic6x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: Heimdall-1.4.1/heimdall/configure000077500000000000000000022376761234253036400167530ustar00rootroot00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.68 for Heimdall 1.4.1. # # Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and $0: bug-report@glassechidna.com.au about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" SHELL=${CONFIG_SHELL-/bin/sh} test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Heimdall' PACKAGE_TARNAME='heimdall' PACKAGE_VERSION='1.4.1' PACKAGE_STRING='Heimdall 1.4.1' PACKAGE_BUGREPORT='bug-report@glassechidna.com.au' PACKAGE_URL='http://www.glassechidna.com.au/' # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS UDEVADM_FALSE UDEVADM_TRUE LINUXTARGET_FALSE LINUXTARGET_TRUE CXXCPP CPP OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL MANIFEST_TOOL RANLIB DLLTOOL OBJDUMP LN_S NM ac_ct_DUMPBIN DUMPBIN LD FGREP EGREP GREP SED LIBTOOL am__fastdepCXX_FALSE am__fastdepCXX_TRUE CXXDEPMODE ac_ct_CXX CXXFLAGS CXX MAINT MAINTAINER_MODE_FALSE MAINTAINER_MODE_TRUE am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC ac_ct_AR AR am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_os target_vendor target_cpu target host_os host_vendor host_cpu host build_os build_vendor build_cpu build udevadminstalled DEPS_LIBS DEPS_CFLAGS PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_dependency_tracking enable_largefile enable_maintainer_mode enable_shared enable_static with_pic enable_fast_install with_gnu_ld with_sysroot enable_libtool_lock ' ac_precious_vars='build_alias host_alias target_alias PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR DEPS_CFLAGS DEPS_LIBS CC CFLAGS LDFLAGS LIBS CPPFLAGS CXX CXXFLAGS CCC CPP CXXCPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures Heimdall 1.4.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/heimdall] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of Heimdall 1.4.1:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --disable-largefile omit support for large files --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot=DIR Search for dependent libraries within DIR (or the compiler's sysroot if not specified). Some influential environment variables: PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path DEPS_CFLAGS C compiler flags for DEPS, overriding pkg-config DEPS_LIBS linker flags for DEPS, overriding pkg-config CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CXX C++ compiler command CXXFLAGS C++ compiler flags CPP C preprocessor CXXCPP C++ preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . Heimdall home page: . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF Heimdall configure 1.4.1 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_cxx_try_compile LINENO # ---------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_cxx_try_cpp LINENO # ------------------------ # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_cpp # ac_fn_cxx_try_link LINENO # ------------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_link cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by Heimdall $as_me 1.4.1, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DEPS" >&5 $as_echo_n "checking for DEPS... " >&6; } if test -n "$DEPS_CFLAGS"; then pkg_cv_DEPS_CFLAGS="$DEPS_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb-1.0 >= 1.0.8\""; } >&5 ($PKG_CONFIG --exists --print-errors "libusb-1.0 >= 1.0.8") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_DEPS_CFLAGS=`$PKG_CONFIG --cflags "libusb-1.0 >= 1.0.8" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$DEPS_LIBS"; then pkg_cv_DEPS_LIBS="$DEPS_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb-1.0 >= 1.0.8\""; } >&5 ($PKG_CONFIG --exists --print-errors "libusb-1.0 >= 1.0.8") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_DEPS_LIBS=`$PKG_CONFIG --libs "libusb-1.0 >= 1.0.8" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then DEPS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libusb-1.0 >= 1.0.8" 2>&1` else DEPS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libusb-1.0 >= 1.0.8" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$DEPS_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (libusb-1.0 >= 1.0.8) were not met: $DEPS_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables DEPS_CFLAGS and DEPS_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables DEPS_CFLAGS and DEPS_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else DEPS_CFLAGS=$pkg_cv_DEPS_CFLAGS DEPS_LIBS=$pkg_cv_DEPS_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi # Extract the first word of "udevadm", so it can be a program name with args. set dummy udevadm; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_udevadminstalled+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$udevadminstalled"; then ac_cv_prog_udevadminstalled="$udevadminstalled" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_udevadminstalled=""yes"" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi udevadminstalled=$ac_cv_prog_udevadminstalled if test -n "$udevadminstalled"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $udevadminstalled" >&5 $as_echo "$udevadminstalled" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 $as_echo_n "checking target system type... " >&6; } if ${ac_cv_target+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 $as_echo "$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; esac target=$ac_cv_target ac_save_IFS=$IFS; IFS='-' set x $ac_cv_target shift target_cpu=$1 target_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: target_os=$* IFS=$ac_save_IFS case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. # will get canonicalized. test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- am__api_version='1.11' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='heimdall' VERSION='1.4.1' # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' ac_config_headers="$ac_config_headers config.h" DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi if test -n "$ac_tool_prefix"; then for ac_prog in ar lib "link -lib" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AR" && break done fi if test -z "$AR"; then ac_ct_AR=$AR for ac_prog in ar lib "link -lib" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AR="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_AR" && break done if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi fi : ${AR=ar} { $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5 $as_echo_n "checking the archiver ($AR) interface... " >&6; } if ${am_cv_ar_interface+:} false; then : $as_echo_n "(cached) " >&6 else am_cv_ar_interface=ar cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int some_variable = 0; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 (eval $am_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -eq 0; then am_cv_ar_interface=ar else am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 (eval $am_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -eq 0; then am_cv_ar_interface=lib else am_cv_ar_interface=unknown fi fi rm -f conftest.lib libconftest.a fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5 $as_echo "$am_cv_ar_interface" >&6; } case $am_cv_ar_interface in ar) ;; lib) # Microsoft lib, so override with the ar-lib wrapper script. # FIXME: It is wrong to rewrite AR. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__AR in this case, # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something # similar. AR="$am_aux_dir/ar-lib $AR" ;; unknown) as_fn_error $? "could not determine $AR interface" "$LINENO" 5 ;; esac ac_config_files="$ac_config_files Makefile" # Check whether --enable-largefile was given. if test "${enable_largefile+set}" = set; then : enableval=$enable_largefile; fi if test "$enable_largefile" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 $as_echo_n "checking for special C compiler options needed for large files... " >&6; } if ${ac_cv_sys_largefile_CC+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_sys_largefile_CC=no if test "$GCC" != yes; then ac_save_CC=$CC while :; do # IRIX 6.2 and later do not support large files by default, # so use the C compiler's -n32 option if that helps. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : break fi rm -f core conftest.err conftest.$ac_objext CC="$CC -n32" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_largefile_CC=' -n32'; break fi rm -f core conftest.err conftest.$ac_objext break done CC=$ac_save_CC rm -f conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 $as_echo "$ac_cv_sys_largefile_CC" >&6; } if test "$ac_cv_sys_largefile_CC" != no; then CC=$CC$ac_cv_sys_largefile_CC fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } if ${ac_cv_sys_file_offset_bits+:} false; then : $as_echo_n "(cached) " >&6 else while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=no; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _FILE_OFFSET_BITS 64 #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=64; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_file_offset_bits=unknown break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 $as_echo "$ac_cv_sys_file_offset_bits" >&6; } case $ac_cv_sys_file_offset_bits in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits _ACEOF ;; esac rm -rf conftest* if test $ac_cv_sys_file_offset_bits = unknown; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } if ${ac_cv_sys_large_files+:} false; then : $as_echo_n "(cached) " >&6 else while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=no; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _LARGE_FILES 1 #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=1; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_large_files=unknown break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 $as_echo "$ac_cv_sys_large_files" >&6; } case $ac_cv_sys_large_files in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _LARGE_FILES $ac_cv_sys_large_files _ACEOF ;; esac rm -rf conftest* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } # Check whether --enable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then : enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval else USE_MAINTAINER_MODE=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 $as_echo "$USE_MAINTAINER_MODE" >&6; } if test $USE_MAINTAINER_MODE = yes; then MAINTAINER_MODE_TRUE= MAINTAINER_MODE_FALSE='#' else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= fi MAINT=$MAINTAINER_MODE_TRUE { $as_echo "$as_me:${as_lineno-$LINENO}: checking operating system" >&5 $as_echo_n "checking operating system... " >&6; } case $target in *-linux*) $as_echo "#define OS_LINUX /**/" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: Linux" >&5 $as_echo "Linux" >&6; } ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CXX_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi linuxtarget=true ;; *-darwin*) $as_echo "#define OS_DARWIN /**/" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin/MacOS X" >&5 $as_echo "Darwin/MacOS X" >&6; } ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CXX_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi linuxtarget=false ;; *-mingw*) $as_echo "#define OS_WINDOWS /**/" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: Windows" >&5 $as_echo "Windows" >&6; } ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CXX_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi linuxtarget=false ;; *-cygwin*) $as_echo "#define OS_WINDOWS /**/" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: Windows" >&5 $as_echo "Windows" >&6; } ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CXX_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi linuxtarget=false ;; *) as_fn_error $? "unsupported operating system" "$LINENO" 5 esac case `pwd` in *\ * | *\ *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.4.2' macro_revision='1.3337' ltmain="$ac_aux_dir/ltmain.sh" # Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 $as_echo_n "checking how to print strings... " >&6; } # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "" } case "$ECHO" in printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 $as_echo "printf" >&6; } ;; print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 $as_echo "print -r" >&6; } ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 $as_echo "cat" >&6; } ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed { ac_script=; unset ac_script;} if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } if ${ac_cv_path_FGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 $as_echo "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if ${lt_cv_path_NM+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else if test -n "$ac_tool_prefix"; then for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 $as_echo "$DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$DUMPBIN" && break done fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 $as_echo "$ac_ct_DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_DUMPBIN" && break done if test "x$ac_ct_DUMPBIN" = x; then DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols" ;; *) DUMPBIN=: ;; esac fi if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } if ${lt_cv_nm_interface+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 $as_echo "$lt_cv_nm_interface" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } if ${lt_cv_sys_max_cmd_len+:} false; then : $as_echo_n "(cached) " >&6 else i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 $as_echo "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,b/c, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 $as_echo "$xsi_shell" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 $as_echo_n "checking whether the shell understands \"+=\"... " >&6; } lt_shell_append=no ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 $as_echo "$lt_shell_append" >&6; } if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 $as_echo_n "checking how to convert $build file names to $host format... " >&6; } if ${lt_cv_to_host_file_cmd+:} false; then : $as_echo_n "(cached) " >&6 else case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac fi to_host_file_cmd=$lt_cv_to_host_file_cmd { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 $as_echo "$lt_cv_to_host_file_cmd" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 $as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } if ${lt_cv_to_tool_file_cmd+:} false; then : $as_echo_n "(cached) " >&6 else #assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac fi to_tool_file_cmd=$lt_cv_to_tool_file_cmd { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 $as_echo "$lt_cv_to_tool_file_cmd" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } if ${lt_cv_ld_reload_flag+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 $as_echo "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in cygwin* | mingw* | pw32* | cegcc*) if test "$GCC" != yes; then reload_cmds=false fi ;; darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } if ${lt_cv_deplibs_check_method+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$lt_cv_deplibs_check_method" >&6; } file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 $as_echo "$DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_DLLTOOL="dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 $as_echo "$ac_ct_DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL fi else DLLTOOL="$ac_cv_prog_DLLTOOL" fi test -z "$DLLTOOL" && DLLTOOL=dlltool { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 $as_echo_n "checking how to associate runtime and link libraries... " >&6; } if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh # decide which to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd="$ECHO" ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 $as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO if test -n "$ac_tool_prefix"; then for ac_prog in ar do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AR" && break done fi if test -z "$AR"; then ac_ct_AR=$AR for ac_prog in ar do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AR="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_AR" && break done if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi fi : ${AR=ar} : ${AR_FLAGS=cru} { $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 $as_echo_n "checking for archiver @FILE support... " >&6; } if ${lt_cv_ar_at_file+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ar_at_file=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -eq 0; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -ne 0; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 $as_echo "$lt_cv_ar_at_file" >&6; } if test "x$lt_cv_ar_at_file" = xno; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } if ${lt_cv_sys_global_symbol_pipe+:} false; then : $as_echo_n "(cached) " >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 $as_echo "failed" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then nm_file_list_spec='@' fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 $as_echo_n "checking for sysroot... " >&6; } # Check whether --with-sysroot was given. if test "${with_sysroot+set}" = set; then : withval=$with_sysroot; else with_sysroot=no fi lt_sysroot= case ${with_sysroot} in #( yes) if test "$GCC" = yes; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 $as_echo "${with_sysroot}" >&6; } as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 $as_echo "${lt_sysroot:-no}" >&6; } # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } if ${lt_cv_cc_needs_belf+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_cc_needs_belf=yes else lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; *-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD="${LD-ld}_sol2" fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. set dummy ${ac_tool_prefix}mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$MANIFEST_TOOL"; then ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL if test -n "$MANIFEST_TOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 $as_echo "$MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_MANIFEST_TOOL"; then ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL # Extract the first word of "mt", so it can be a program name with args. set dummy mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_MANIFEST_TOOL"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL if test -n "$ac_ct_MANIFEST_TOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 $as_echo "$ac_ct_MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_MANIFEST_TOOL" = x; then MANIFEST_TOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL fi else MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" fi test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 $as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } if ${lt_cv_path_mainfest_tool+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&5 if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 $as_echo "$lt_cv_path_mainfest_tool" >&6; } if test "x$lt_cv_path_mainfest_tool" != xyes; then MANIFEST_TOOL=: fi case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 $as_echo "$ac_ct_DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 $as_echo "$NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_NMEDIT="nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 $as_echo "$ac_ct_NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 $as_echo "$LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_LIPO="lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 $as_echo "$ac_ct_LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 $as_echo "$OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OTOOL="otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 $as_echo "$ac_ct_OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 $as_echo "$OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OTOOL64="otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 $as_echo "$ac_ct_OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } if ${lt_cv_apple_cc_single_mod+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&5 # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if ${lt_cv_ld_exported_symbols_list+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_ld_exported_symbols_list=yes else lt_cv_ld_exported_symbols_list=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 $as_echo_n "checking for -force_load linker flag... " >&6; } if ${lt_cv_ld_force_load+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 echo "$AR cru libconftest.a conftest.o" >&5 $AR cru libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&5 elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then lt_cv_ld_force_load=yes else cat conftest.err >&5 fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 $as_echo "$lt_cv_ld_force_load" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[012]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do : ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " if test "x$ac_cv_header_dlfcn_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DLFCN_H 1 _ACEOF fi done func_stripname_cnf () { case ${2} in .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; esac } # func_stripname_cnf # Set options enable_dlopen=no enable_win32_dll=no # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac else enable_shared=yes fi # Check whether --enable-static was given. if test "${enable_static+set}" = set; then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac else enable_static=yes fi # Check whether --with-pic was given. if test "${with_pic+set}" = set; then : withval=$with_pic; lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for lt_pkg in $withval; do IFS="$lt_save_ifs" if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS="$lt_save_ifs" ;; esac else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac else enable_fast_install=yes fi # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } if ${lt_cv_objdir+:} false; then : $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 $as_echo "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir cat >>confdefs.h <<_ACEOF #define LT_OBJDIR "$lt_cv_objdir/" _ACEOF case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 $as_echo_n "checking for file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then case $cc_basename in nvcc*) lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; *) lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 lt_prog_compiler_wl='-Xlinker ' if test -n "$lt_prog_compiler_pic"; then lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; nagfor*) # NAG Fortran compiler lt_prog_compiler_wl='-Wl,-Wl,,' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; *Sun\ F* | *Sun*Fortran*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Intel*\ [CF]*Compiler*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; *Portland\ Group*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; esac ;; esac ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if ${lt_cv_prog_compiler_pic+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic=$lt_prog_compiler_pic fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 $as_echo "$lt_cv_prog_compiler_pic" >&6; } lt_prog_compiler_pic=$lt_cv_prog_compiler_pic # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if ${lt_cv_prog_compiler_pic_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } if test x"$lt_cv_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test x"$lt_cv_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; linux* | k*bsd*-gnu | gnu*) link_all_deplibs=no ;; esac ld_shlibs=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test "$with_gnu_ld" = yes; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; *\ \(GNU\ Binutils\)\ [3-9]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test "$lt_use_gnu_ld_interface" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' export_dynamic_flag_spec='${wl}--export-all-symbols' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; haiku*) archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' link_all_deplibs=yes ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global # defined symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi link_all_deplibs=no else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' fi archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes file_list_spec='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, )='true' enable_shared_with_static_runtimes=yes exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib old_postinstall_cmds='chmod 644 $oldlib' postlink_cmds='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' enable_shared_with_static_runtimes=yes ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported if test "$lt_cv_ld_force_load" = "yes"; then whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec='' fi link_all_deplibs=yes allow_undefined_flag="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 $as_echo_n "checking if $CC understands -b... " >&6; } if ${lt_cv_prog_compiler__b+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler__b=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -b" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler__b=yes fi else lt_cv_prog_compiler__b=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 $as_echo "$lt_cv_prog_compiler__b" >&6; } if test x"$lt_cv_prog_compiler__b" = xyes; then archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 $as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } if ${lt_cv_irix_exported_symbol+:} false; then : $as_echo_n "(cached) " >&6 else save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo (void) { return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_irix_exported_symbol=yes else lt_cv_irix_exported_symbol=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 $as_echo "$lt_cv_irix_exported_symbol" >&6; } if test "$lt_cv_irix_exported_symbol" = yes; then archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='${wl}-Blargedynsym' ;; esac fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } if ${lt_cv_archive_cmds_need_lc+:} false; then : $as_echo_n "(cached) " >&6 else $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc=no else lt_cv_archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 $as_echo "$lt_cv_archive_cmds_need_lc" >&6; } archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; *) lt_sed_strip_eq="s,=/,/,g" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's,/\([A-Za-z]:\),\1,g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' library_names_spec='${libname}.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec="$LIB" if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if ${lt_cv_shlibpath_overrides_runpath+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } if test "$hardcode_action" = relink || test "$inherit_rpath" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" if test "x$ac_cv_func_shl_load" = xyes; then : lt_cv_dlopen="shl_load" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if ${ac_cv_lib_dld_shl_load+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_shl_load=yes else ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes; then : lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes; then : lt_cv_dlopen="dlopen" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } if ${ac_cv_lib_svld_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_svld_dlopen=yes else ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } if ${ac_cv_lib_dld_dld_link+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_dld_link=yes else ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = xyes; then : lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi fi fi fi fi fi ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self_static+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac fi # Report which library types will actually be built { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if ${ac_cv_prog_CXXCPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 $as_echo "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu else _lt_caught_CXX_error=yes fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= compiler_needs_object_CXX=no export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_direct_absolute_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no inherit_rpath_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds reload_flag_CXX=$reload_flag reload_cmds_CXX=$reload_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} CFLAGS=$CXXFLAGS compiler=$CC compiler_CXX=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_CXX= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_direct_absolute_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes file_list_spec_CXX='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct_CXX=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec_CXX='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. always_export_symbols_CXX=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty # executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath__CXX+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath__CXX fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_CXX="-z nodefs" archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath__CXX+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath__CXX fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag_CXX=' ${wl}-bernotok' allow_undefined_flag_CXX=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX='$convenience' fi archive_cmds_need_lc_CXX=yes # This is similar to how AIX traditionally builds its shared # libraries. archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_CXX=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_CXX=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl*) # Native MSVC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec_CXX=' ' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=yes file_list_spec_CXX='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' enable_shared_with_static_runtimes_CXX=yes # Don't use ranlib old_postinstall_cmds_CXX='chmod 644 $oldlib' postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ func_to_tool_file "$lt_outputfile"~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' export_dynamic_flag_spec_CXX='${wl}--export-all-symbols' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_CXX=no fi ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc_CXX=no hardcode_direct_CXX=no hardcode_automatic_CXX=yes hardcode_shlibpath_var_CXX=unsupported if test "$lt_cv_ld_force_load" = "yes"; then whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec_CXX='' fi link_all_deplibs_CXX=yes allow_undefined_flag_CXX="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" if test "$lt_cv_apple_cc_single_mod" != "yes"; then archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi else ld_shlibs_CXX=no fi ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes ;; gnu*) ;; haiku*) archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' link_all_deplibs_CXX=yes ;; hpux9*) hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: export_dynamic_flag_spec_CXX='${wl}-E' hardcode_direct_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: case $host_cpu in hppa*64*|ia64*) ;; *) export_dynamic_flag_spec_CXX='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no ;; *) hardcode_direct_CXX=yes hardcode_direct_absolute_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; interix[3-9]*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: inherit_rpath_CXX=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [1-5].* | *pgcpp\ [1-5].*) prelink_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' old_archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object_CXX=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; m88k*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) ld_shlibs_CXX=yes ;; openbsd2*) # C++ shared libraries are fairly broken ld_shlibs_CXX=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no hardcode_direct_absolute_CXX=yes archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='${wl}-E' whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else ld_shlibs_CXX=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) case $host in osf3*) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' ;; *) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' ;; esac hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_CXX=yes output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then no_undefined_flag_CXX=' ${wl}-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' fi hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_CXX='${wl}-z,text' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_CXX='${wl}-z,text' allow_undefined_flag_CXX='${wl}-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ '"$old_archive_cmds_CXX" reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ '"$reload_cmds_CXX" ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no GCC_CXX="$GXX" LD_CXX="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case ${prev}${p} in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" || test $p = "-R"; then prev=$p continue fi # Expand the sysroot to ease extracting the directories later. if test -z "$prev"; then case $p in -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac fi case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test "$pre_test_object_deps_done" = no; then case ${prev} in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$compiler_lib_search_path_CXX"; then compiler_lib_search_path_CXX="${prev}${p}" else compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$postdeps_CXX"; then postdeps_CXX="${prev}${p}" else postdeps_CXX="${postdeps_CXX} ${prev}${p}" fi fi prev= ;; *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$predep_objects_CXX"; then predep_objects_CXX="$p" else predep_objects_CXX="$predep_objects_CXX $p" fi else if test -z "$postdep_objects_CXX"; then postdep_objects_CXX="$p" else postdep_objects_CXX="$postdep_objects_CXX $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling CXX test program" fi $RM -f confest.$objext CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken case $host_os in interix[3-9]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. predep_objects_CXX= postdep_objects_CXX= postdeps_CXX= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; esac case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac compiler_lib_search_dirs_CXX= if test -n "${compiler_lib_search_path_CXX}"; then compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic_CXX='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac else case $host_os in aix[4-9]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; dgux*) case $cc_basename in ec++*) lt_prog_compiler_pic_CXX='-KPIC' ;; ghcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_CXX='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) # IBM XL 8.0, 9.0 on PPC and BlueGene lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-qpic' lt_prog_compiler_static_CXX='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if ${lt_cv_prog_compiler_pic_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 $as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works_CXX=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works_CXX=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works_CXX=yes fi else lt_cv_prog_compiler_static_works_CXX=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then : else lt_prog_compiler_static_CXX= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' case $host_os in aix[4-9]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global defined # symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) export_symbols_cmds_CXX="$ltdll_cmds" ;; cygwin* | mingw* | cegcc*) case $cc_basename in cl*) exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' ;; esac ;; linux* | k*bsd*-gnu | gnu*) link_all_deplibs_CXX=no ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no with_gnu_ld_CXX=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_CXX in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : $as_echo_n "(cached) " >&6 else $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_CXX pic_flag=$lt_prog_compiler_pic_CXX compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_CXX allow_undefined_flag_CXX= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc_CXX=no else lt_cv_archive_cmds_need_lc_CXX=yes fi allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 $as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' library_names_spec='${libname}.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec="$LIB" if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if ${lt_cv_shlibpath_overrides_runpath+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || test -n "$runpath_var_CXX" || test "X$hardcode_automatic_CXX" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct_CXX" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && test "$hardcode_minus_L_CXX" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 $as_echo "$hardcode_action_CXX" >&6; } if test "$hardcode_action_CXX" = relink || test "$inherit_rpath_CXX" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi fi # test -n "$compiler" CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_commands="$ac_config_commands libtool" # Only expand once: if test x$linuxtarget = xtrue; then LINUXTARGET_TRUE= LINUXTARGET_FALSE='#' else LINUXTARGET_TRUE='#' LINUXTARGET_FALSE= fi if test x$udevadminstalled = x"yes"; then UDEVADM_TRUE= UDEVADM_FALSE='#' else UDEVADM_TRUE='#' UDEVADM_FALSE= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 $as_echo_n "checking whether byte ordering is bigendian... " >&6; } if ${ac_cv_c_bigendian+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # Check for potential -arch flags. It is not universal unless # there are at least two -arch flags with different values. ac_arch= ac_prev= for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do if test -n "$ac_prev"; then case $ac_word in i?86 | x86_64 | ppc | ppc64) if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then ac_arch=$ac_word else ac_cv_c_bigendian=universal break fi ;; esac ac_prev= elif test "x$ac_word" = "x-arch"; then ac_prev=arch fi done fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to _BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef _BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # Compile a test program. if test "$cross_compiling" = yes; then : # Try to guess by grepping values from an object file. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; int use_ascii (int i) { return ascii_mm[i] + ascii_ii[i]; } short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; } extern int foo; int main () { return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_bigendian=no else ac_cv_c_bigendian=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 $as_echo "$ac_cv_c_bigendian" >&6; } case $ac_cv_c_bigendian in #( yes) $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h ;; #( no) ;; #( universal) $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) as_fn_error $? "unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${LINUXTARGET_TRUE}" && test -z "${LINUXTARGET_FALSE}"; then as_fn_error $? "conditional \"LINUXTARGET\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${UDEVADM_TRUE}" && test -z "${UDEVADM_FALSE}"; then as_fn_error $? "conditional \"UDEVADM\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by Heimdall $as_me 1.4.1, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to . Heimdall home page: ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ Heimdall config.status 1.4.1 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } # Quote evaled strings. for var in SHELL \ ECHO \ PATH_SEPARATOR \ SED \ GREP \ EGREP \ FGREP \ LD \ NM \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ file_magic_glob \ want_nocaseglob \ DLLTOOL \ sharedlib_from_linklib_cmd \ AR \ AR_FLAGS \ archiver_list_spec \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ nm_file_list_spec \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_pic \ lt_prog_compiler_wl \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ MANIFEST_TOOL \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_separator \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ install_override_mode \ finish_eval \ old_striplib \ striplib \ compiler_lib_search_dirs \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ LD_CXX \ reload_flag_CXX \ compiler_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_static_CXX \ lt_cv_prog_compiler_c_o_CXX \ export_dynamic_flag_spec_CXX \ whole_archive_flag_spec_CXX \ compiler_needs_object_CXX \ with_gnu_ld_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_separator_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX \ file_list_spec_CXX \ compiler_lib_search_dirs_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postlink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ sys_lib_dlsearch_path_spec \ reload_cmds_CXX \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ export_symbols_cmds_CXX \ prelink_cmds_CXX \ postlink_cmds_CXX; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done ac_aux_dir='$ac_aux_dir' xsi_shell='$xsi_shell' lt_shell_append='$lt_shell_append' # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "libtool":C) # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # The names of the tagged configurations supported by this script. available_tags="CXX " # ### BEGIN LIBTOOL CONFIG # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # What type of objects to build. pic_mode=$pic_mode # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that protects backslashes. ECHO=$lt_ECHO # The PATH separator for the build system. PATH_SEPARATOR=$lt_PATH_SEPARATOR # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # convert \$build file names to \$host format. to_host_file_cmd=$lt_cv_to_host_file_cmd # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd # An object symbol dumper. OBJDUMP=$lt_OBJDUMP # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method = "file_magic". file_magic_cmd=$lt_file_magic_cmd # How to find potential files when deplibs_check_method = "file_magic". file_magic_glob=$lt_file_magic_glob # Find potential files using nocaseglob when deplibs_check_method = "file_magic". want_nocaseglob=$lt_want_nocaseglob # DLL creation program. DLLTOOL=$lt_DLLTOOL # Command to associate shared and link libraries. sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd # The archiver. AR=$lt_AR # Flags to create an archive. AR_FLAGS=$lt_AR_FLAGS # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Whether to use a lock for old archive extraction. lock_old_archive_extraction=$lock_old_archive_extraction # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # Specify filename containing input files for \$NM. nm_file_list_spec=$lt_nm_file_list_spec # The root where to search for dependent libraries,and in which our libraries should be installed. lt_sysroot=$lt_sysroot # The name of the directory that contains temporary libtool files. objdir=$objdir # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Manifest tool. MANIFEST_TOOL=$lt_MANIFEST_TOOL # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Permission mode override for installation of shared libraries. install_override_mode=$lt_install_override_mode # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects postdep_objects=$lt_postdep_objects predeps=$lt_predeps postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain="$ac_aux_dir/ltmain.sh" # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) if test x"$xsi_shell" = xyes; then sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ func_dirname ()\ {\ \ case ${1} in\ \ */*) func_dirname_result="${1%/*}${2}" ;;\ \ * ) func_dirname_result="${3}" ;;\ \ esac\ } # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_basename ()$/,/^} # func_basename /c\ func_basename ()\ {\ \ func_basename_result="${1##*/}"\ } # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ func_dirname_and_basename ()\ {\ \ case ${1} in\ \ */*) func_dirname_result="${1%/*}${2}" ;;\ \ * ) func_dirname_result="${3}" ;;\ \ esac\ \ func_basename_result="${1##*/}"\ } # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ func_stripname ()\ {\ \ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ \ # positional parameters, so assign one to ordinary parameter first.\ \ func_stripname_result=${3}\ \ func_stripname_result=${func_stripname_result#"${1}"}\ \ func_stripname_result=${func_stripname_result%"${2}"}\ } # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ func_split_long_opt ()\ {\ \ func_split_long_opt_name=${1%%=*}\ \ func_split_long_opt_arg=${1#*=}\ } # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ func_split_short_opt ()\ {\ \ func_split_short_opt_arg=${1#??}\ \ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ } # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ func_lo2o ()\ {\ \ case ${1} in\ \ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ \ *) func_lo2o_result=${1} ;;\ \ esac\ } # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_xform ()$/,/^} # func_xform /c\ func_xform ()\ {\ func_xform_result=${1%.*}.lo\ } # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_arith ()$/,/^} # func_arith /c\ func_arith ()\ {\ func_arith_result=$(( $* ))\ } # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_len ()$/,/^} # func_len /c\ func_len ()\ {\ func_len_result=${#1}\ } # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$lt_shell_append" = xyes; then sed -e '/^func_append ()$/,/^} # func_append /c\ func_append ()\ {\ eval "${1}+=\\${2}"\ } # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ func_append_quoted ()\ {\ \ func_quote_for_eval "${2}"\ \ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ } # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: # Save a `func_append' function call where possible by direct use of '+=' sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: else # Save a `func_append' function call even when '+=' is not available sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$_lt_function_replace_fail" = x":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 $as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} fi mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" cat <<_LT_EOF >> "$ofile" # ### BEGIN LIBTOOL TAG CONFIG: CXX # The linker used to build libraries. LD=$lt_LD_CXX # How to create reloadable object files. reload_flag=$lt_reload_flag_CXX reload_cmds=$lt_reload_cmds_CXX # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds_CXX # A language specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU compiler? with_gcc=$GCC_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_CXX # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_CXX # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object_CXX # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld_CXX # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_CXX # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct_CXX # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute_CXX # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic_CXX # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath_CXX # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_CXX # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds_CXX # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds_CXX # Specify filename containing input files. file_list_spec=$lt_file_list_spec_CXX # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_CXX # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects_CXX postdep_objects=$lt_postdep_objects_CXX predeps=$lt_predeps_CXX postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # ### END LIBTOOL TAG CONFIG: CXX _LT_EOF ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi Heimdall-1.4.1/heimdall/configure.ac000066400000000000000000000023641234253036400173100ustar00rootroot00000000000000AC_INIT([Heimdall], [1.4.1], [bug-report@glassechidna.com.au], [heimdall], [http://www.glassechidna.com.au/]) AC_PREREQ([2.59]) PKG_CHECK_MODULES([DEPS], [libusb-1.0 >= 1.0.8]) AC_CHECK_PROG(udevadminstalled, udevadm, "yes") AC_CANONICAL_TARGET AM_INIT_AUTOMAKE([1.10 -Wall no-define foreign]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADERS([config.h]) AM_PROG_AR m4_pattern_allow([AM_PROG_PR], [AM_PROG_AR]) AC_CONFIG_FILES([Makefile]) AC_SYS_LARGEFILE AM_MAINTAINER_MODE AC_MSG_CHECKING([operating system]) case $target in *-linux*) AC_DEFINE(OS_LINUX, [], [Linux backend]) AC_MSG_RESULT([Linux]) AC_PROG_CXX linuxtarget=true ;; *-darwin*) AC_DEFINE(OS_DARWIN, [], [Darwin backend]) AC_MSG_RESULT([Darwin/MacOS X]) AC_PROG_CXX linuxtarget=false ;; *-mingw*) AC_DEFINE(OS_WINDOWS, [], [Windows backend]) AC_MSG_RESULT([Windows]) AC_PROG_CXX linuxtarget=false ;; *-cygwin*) AC_DEFINE(OS_WINDOWS, [], [Windows backend]) AC_MSG_RESULT([Windows]) AC_PROG_CXX linuxtarget=false ;; *) AC_MSG_ERROR([unsupported operating system]) esac AC_PROG_LIBTOOL AM_CONDITIONAL([LINUXTARGET], [test x$linuxtarget = xtrue]) AM_CONDITIONAL([UDEVADM], [test x$udevadminstalled = x"yes"]) AC_C_BIGENDIAN AC_OUTPUT Heimdall-1.4.1/heimdall/depcomp000077500000000000000000000475561234253036400164130ustar00rootroot00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2011-12-04.11; # UTC # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010, # 2011 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by `PROGRAMS ARGS'. object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi if test "$depmode" = msvc7msys; then # This is just like msvc7 but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvc7 fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the `deleted header file' problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. tr ' ' ' ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as ## well. hp depmode also adds that space, but also prefixes the VPATH ## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like `#:fec' to the end of the # dependency line. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' ' ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts `$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; icc) # Intel's C compiler understands `-MD -MF file'. However on # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c # ICC 7.0 will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h # which is wrong. We want: # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: # ICC 7.1 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using \ : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in `foo.d' instead, so we check for that too. # Subdirectories are respected. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a # static library. This mechanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two # compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 tmpdepfile2=$dir$base.o.d # libtool 1.5 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.o.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; msvc7) if test "$libtool" = yes; then showIncludes=-Wc,-showIncludes else showIncludes=-showIncludes fi "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" if test "$stat" = 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The first sed program below extracts the file names and escapes # backslashes for cygpath. The second sed program outputs the file # name when reading, but also accumulates all include files in the # hold buffer in order to output them again at the end. This only # works with sed implementations that can handle large buffers. sed < "$tmpdepfile" -n ' /^Note: including file: *\(.*\)/ { s//\1/ s/\\/\\\\/g p }' | $cygpath_u | sort -u | sed -n ' s/ /\\ /g s/\(.*\)/ \1 \\/p s/.\(.*\) \\/\1:/ H $ { s/.*/ / G p }' >> "$depfile" rm -f "$tmpdepfile" ;; msvc7msys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for `:' # in the target name. This is to cope with DOS-style filenames: # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. "$@" $dashmflag | sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' ' < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" # makedepend may prepend the VPATH from the source file name to the object. # No need to regex-escape $object, excess matching of '.' is harmless. sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: Heimdall-1.4.1/heimdall/description-pak000066400000000000000000000003301234253036400200300ustar00rootroot00000000000000Heimdall is a cross-platform open-source command line tool used to flash firmware (aka ROMs) onto Samsung Galaxy S devices. Heimdall Frontend is also available as the official graphical user interface for this tool. Heimdall-1.4.1/heimdall/heimdall.vcxproj000066400000000000000000000267031234253036400202210ustar00rootroot00000000000000 Debug Win32 Release (Static) Win32 Release Win32 {DC0D782C-8DB7-44CA-A984-D3A97483E0D0} Win32Proj heimdall Application true Unicode v110 Application false true Unicode v110 Application false true Unicode v110 true $(SolutionDir)libpit\Source;$(SolutionDir)libusb-1.0\include;$(IncludePath) $(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\ false $(SolutionDir)libpit\Source;$(SolutionDir)libusb-1.0\libusb;$(IncludePath) $(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\ false $(SolutionDir)libpit\Source;$(SolutionDir)libusb-1.0\libusb;$(IncludePath) $(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\ NotUsing Level3 Disabled WIN32;_DEBUG;_CONSOLE;OS_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) MultiThreadedDebugDLL ..\libusb-1.0\include;..\libpit\Source Console true libusb-1.0.lib;libpit.lib;%(AdditionalDependencies) $(SolutionDir)libusb-1.0\lib\$(Platform)\$(Configuration)\;$(SolutionDir)$(Platform)\$(Configuration)\lib\ xcopy /y $(SolutionDir)libusb-1.0\lib\$(Platform)\$(Configuration)\libusb-1.0.dll $(SolutionDir)$(Platform)\$(Configuration)\ Level3 NotUsing MaxSpeed true true WIN32;NDEBUG;_CONSOLE;OS_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) MultiThreadedDLL ..\libusb-1.0\include;..\libpit\Source Console true true true libusb-1.0.lib;libpit.lib;%(AdditionalDependencies) $(SolutionDir)libusb-1.0\lib\$(Platform)\$(Configuration)\;$(SolutionDir)$(Platform)\$(Configuration)\lib\ xcopy /y $(SolutionDir)libusb-1.0\lib\$(Platform)\$(Configuration)\libusb-1.0.dll $(SolutionDir)$(Platform)\$(Configuration)\ Level3 NotUsing MaxSpeed true true WIN32;NDEBUG;_CONSOLE;OS_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) MultiThreaded ..\libusb-1.0\include;..\libpit\Source Console true true true libusb-1.0.lib;libpit.lib;%(AdditionalDependencies) $(SolutionDir)libusb-1.0\lib\$(Platform)\$(Configuration)\;$(SolutionDir)$(Platform)\$(Configuration)\lib\ Heimdall-1.4.1/heimdall/heimdall.vcxproj.filters000066400000000000000000000157261234253036400216730ustar00rootroot00000000000000 {4FC737F1-C7A5-4376-A066-2A32D752A2FF} cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx {7022245a-f8d3-4dd6-b0f4-9cca8f9bdd69} {0da20d7b-9a83-4c5b-89ea-5f312268048a} {586c7149-045a-407e-82b5-56e437d71e9b} {e334486e-629c-47ed-b8e6-daa083a1d2df} Source Source Source\Packets Source\Packets\Outbound Source\Packets\Outbound Source\Packets\Outbound Source\Packets\Outbound Source\Packets\Outbound Source\Packets\Outbound Source\Packets\Outbound Source\Packets\Outbound Source\Packets\Outbound Source\Packets\Outbound Source\Packets\Outbound Source\Packets\Outbound Source\Packets\Outbound Source\Packets\Outbound Source\Packets\Outbound Source\Packets\Outbound Source\Packets\Outbound Source\Packets\Outbound Source\Packets\Outbound Source\Packets\Inbound Source\Packets\Inbound Source\Packets\Inbound Source\Packets\Inbound Source\Packets\Inbound Source\Packets\Inbound Source\Packets Source\Packets Source\Interface Source\Interface Source\Interface Source\Interface Source\Interface Source\Interface Source Source\Interface Source\Interface Source\Interface Source\Interface Source Source Source\Interface Source\Interface Source\Interface Source\Interface Source\Interface Source\Interface Source Source\Interface Source\Interface Source\Interface Source\Interface Heimdall-1.4.1/heimdall/install-sh000077500000000000000000000332561234253036400170320ustar00rootroot00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2011-01-19.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 # Protect names problematic for `test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg # Protect names problematic for `test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names problematic for `test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; [-=\(\)!]*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: Heimdall-1.4.1/heimdall/ltmain.sh000066400000000000000000010520401234253036400166370ustar00rootroot00000000000000 # libtool (GNU libtool) 2.4.2 # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, # or obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Usage: $progname [OPTION]... [MODE-ARG]... # # Provide generalized library-building support services. # # --config show all configuration variables # --debug enable verbose shell tracing # -n, --dry-run display commands without modifying any files # --features display basic configuration information and exit # --mode=MODE use operation mode MODE # --preserve-dup-deps don't remove duplicate dependency libraries # --quiet, --silent don't print informational messages # --no-quiet, --no-silent # print informational messages (default) # --no-warn don't display warning messages # --tag=TAG use configuration variables from tag TAG # -v, --verbose print more informational messages than default # --no-verbose don't print the extra informational messages # --version print version information # -h, --help, --help-all print short, long, or detailed help message # # MODE must be one of the following: # # clean remove files from the build directory # compile compile a source file into a libtool object # execute automatically set library path, then run a program # finish complete the installation of libtool libraries # install install libraries or executables # link create a library or an executable # uninstall remove libraries from an installed directory # # MODE-ARGS vary depending on the MODE. When passed as first option, # `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. # Try `$progname --help --mode=MODE' for a more detailed description of MODE. # # When reporting a bug, please describe a test case to reproduce it and # include the following information: # # host-triplet: $host # shell: $SHELL # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) # $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1 # automake: $automake_version # autoconf: $autoconf_version # # Report bugs to . # GNU libtool home page: . # General help using GNU software: . PROGRAM=libtool PACKAGE=libtool VERSION="2.4.2 Debian-2.4.2-1ubuntu1" TIMESTAMP="" package_revision=1.3337 # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } # NLS nuisances: We save the old values to restore during execute mode. lt_user_locale= lt_safe_locale= for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${$lt_var+set}\" = set; then save_$lt_var=\$$lt_var $lt_var=C export $lt_var lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" fi" done LC_ALL=C LANGUAGE=C export LANGUAGE LC_ALL $lt_unset CDPATH # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" : ${CP="cp -f"} test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} : ${Xsed="$SED -e 1s/^X//"} # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. exit_status=$EXIT_SUCCESS # Make sure IFS has a sensible default lt_nl=' ' IFS=" $lt_nl" dirname="s,/[^/]*$,," basename="s,^.*/,," # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_dirname may be replaced by extended shell implementation # func_basename file func_basename () { func_basename_result=`$ECHO "${1}" | $SED "$basename"` } # func_basename may be replaced by extended shell implementation # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi func_basename_result=`$ECHO "${1}" | $SED -e "$basename"` } # func_dirname_and_basename may be replaced by extended shell implementation # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; esac } # func_stripname may be replaced by extended shell implementation # These SED scripts presuppose an absolute path with a trailing slash. pathcar='s,^/\([^/]*\).*$,\1,' pathcdr='s,^/[^/]*,,' removedotparts=':dotsl s@/\./@/@g t dotsl s,/\.$,/,' collapseslashes='s@/\{1,\}@/@g' finalslash='s,/*$,/,' # func_normal_abspath PATH # Remove doubled-up and trailing slashes, "." path components, # and cancel out any ".." path components in PATH after making # it an absolute path. # value returned in "$func_normal_abspath_result" func_normal_abspath () { # Start from root dir and reassemble the path. func_normal_abspath_result= func_normal_abspath_tpath=$1 func_normal_abspath_altnamespace= case $func_normal_abspath_tpath in "") # Empty path, that just means $cwd. func_stripname '' '/' "`pwd`" func_normal_abspath_result=$func_stripname_result return ;; # The next three entries are used to spot a run of precisely # two leading slashes without using negated character classes; # we take advantage of case's first-match behaviour. ///*) # Unusual form of absolute path, do nothing. ;; //*) # Not necessarily an ordinary path; POSIX reserves leading '//' # and for example Cygwin uses it to access remote file shares # over CIFS/SMB, so we conserve a leading double slash if found. func_normal_abspath_altnamespace=/ ;; /*) # Absolute path, do nothing. ;; *) # Relative path, prepend $cwd. func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath ;; esac # Cancel out all the simple stuff to save iterations. We also want # the path to end with a slash for ease of parsing, so make sure # there is one (and only one) here. func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` while :; do # Processed it all yet? if test "$func_normal_abspath_tpath" = / ; then # If we ascended to the root using ".." the result may be empty now. if test -z "$func_normal_abspath_result" ; then func_normal_abspath_result=/ fi break fi func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$pathcar"` func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$pathcdr"` # Figure out what to do with it case $func_normal_abspath_tcomponent in "") # Trailing empty path component, ignore it. ;; ..) # Parent dir; strip last assembled component from result. func_dirname "$func_normal_abspath_result" func_normal_abspath_result=$func_dirname_result ;; *) # Actual path component, append it. func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent ;; esac done # Restore leading double-slash if one was found on entry. func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result } # func_relative_path SRCDIR DSTDIR # generates a relative path from SRCDIR to DSTDIR, with a trailing # slash if non-empty, suitable for immediately appending a filename # without needing to append a separator. # value returned in "$func_relative_path_result" func_relative_path () { func_relative_path_result= func_normal_abspath "$1" func_relative_path_tlibdir=$func_normal_abspath_result func_normal_abspath "$2" func_relative_path_tbindir=$func_normal_abspath_result # Ascend the tree starting from libdir while :; do # check if we have found a prefix of bindir case $func_relative_path_tbindir in $func_relative_path_tlibdir) # found an exact match func_relative_path_tcancelled= break ;; $func_relative_path_tlibdir*) # found a matching prefix func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" func_relative_path_tcancelled=$func_stripname_result if test -z "$func_relative_path_result"; then func_relative_path_result=. fi break ;; *) func_dirname $func_relative_path_tlibdir func_relative_path_tlibdir=${func_dirname_result} if test "x$func_relative_path_tlibdir" = x ; then # Have to descend all the way to the root! func_relative_path_result=../$func_relative_path_result func_relative_path_tcancelled=$func_relative_path_tbindir break fi func_relative_path_result=../$func_relative_path_result ;; esac done # Now calculate path; take care to avoid doubling-up slashes. func_stripname '' '/' "$func_relative_path_result" func_relative_path_result=$func_stripname_result func_stripname '/' '/' "$func_relative_path_tcancelled" if test "x$func_stripname_result" != x ; then func_relative_path_result=${func_relative_path_result}/${func_stripname_result} fi # Normalisation. If bindir is libdir, return empty string, # else relative path ending with a slash; either way, target # file name can be directly appended. if test ! -z "$func_relative_path_result"; then func_stripname './' '' "$func_relative_path_result/" func_relative_path_result=$func_stripname_result fi } # The name of this program: func_dirname_and_basename "$progpath" progname=$func_basename_result # Make sure we have an absolute path for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=$func_dirname_result progdir=`cd "$progdir" && pwd` progpath="$progdir/$progname" ;; *) save_IFS="$IFS" IFS=${PATH_SEPARATOR-:} for progdir in $PATH; do IFS="$save_IFS" test -x "$progdir/$progname" && break done IFS="$save_IFS" test -n "$progdir" || progdir=`pwd` progpath="$progdir/$progname" ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([`"$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution that turns a string into a regex matching for the # string literally. sed_make_literal_regex='s,[].[^$\\*\/],\\&,g' # Sed substitution that converts a w32 file name or path # which contains forward slashes, into one that contains # (escaped) backslashes. A very naive implementation. lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' # Re-`\' parameter expansions in output of double_quote_subst that were # `\'-ed in input to the same. If an odd number of `\' preceded a '$' # in input to double_quote_subst, that '$' was protected from expansion. # Since each input `\' is now two `\'s, look for any number of runs of # four `\'s followed by two `\'s and then a '$'. `\' that '$'. bs='\\' bs2='\\\\' bs4='\\\\\\\\' dollar='\$' sed_double_backslash="\ s/$bs4/&\\ /g s/^$bs2$dollar/$bs&/ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g s/\n//g" # Standard options: opt_dry_run=false opt_help=false opt_quiet=false opt_verbose=false opt_warning=: # func_echo arg... # Echo program name prefixed message, along with the current mode # name if it has been set yet. func_echo () { $ECHO "$progname: ${opt_mode+$opt_mode: }$*" } # func_verbose arg... # Echo program name prefixed message in verbose mode only. func_verbose () { $opt_verbose && func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: : } # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } # func_error arg... # Echo program name prefixed message to standard error. func_error () { $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 } # func_warning arg... # Echo program name prefixed warning message to standard error. func_warning () { $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 # bash bug again: : } # func_fatal_error arg... # Echo program name prefixed message to standard error, and exit. func_fatal_error () { func_error ${1+"$@"} exit $EXIT_FAILURE } # func_fatal_help arg... # Echo program name prefixed message to standard error, followed by # a help hint, and exit. func_fatal_help () { func_error ${1+"$@"} func_fatal_error "$help" } help="Try \`$progname --help' for more information." ## default # func_grep expression filename # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { $GREP "$1" "$2" >/dev/null 2>&1 } # func_mkdir_p directory-path # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { my_directory_path="$1" my_dir_list= if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then # Protect directory names starting with `-' case $my_directory_path in -*) my_directory_path="./$my_directory_path" ;; esac # While some portion of DIR does not yet exist... while test ! -d "$my_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. my_dir_list="$my_directory_path:$my_dir_list" # If the last portion added has no slash in it, the list is done case $my_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` done my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` save_mkdir_p_IFS="$IFS"; IFS=':' for my_dir in $my_dir_list; do IFS="$save_mkdir_p_IFS" # mkdir can fail with a `File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! $MKDIR "$my_dir" 2>/dev/null || : done IFS="$save_mkdir_p_IFS" # Bail out if we (or some other process) failed to create a directory. test -d "$my_directory_path" || \ func_fatal_error "Failed to create \`$1'" fi } # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$opt_dry_run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $MKDIR "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || \ func_fatal_error "cannot create temporary directory \`$my_tmpdir'" fi $ECHO "$my_tmpdir" } # func_quote_for_eval arg # Aesthetically quote ARG to be evaled later. # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT # is double-quoted, suitable for a subsequent eval, whereas # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters # which are still active within double quotes backslashified. func_quote_for_eval () { case $1 in *[\\\`\"\$]*) func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; *) func_quote_for_eval_unquoted_result="$1" ;; esac case $func_quote_for_eval_unquoted_result in # Double-quote args containing shell metacharacters to delay # word splitting, command substitution and and variable # expansion for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" ;; *) func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" esac } # func_quote_for_expand arg # Aesthetically quote ARG to be evaled later; same as above, # but do not quote variable references. func_quote_for_expand () { case $1 in *[\\\`\"]*) my_arg=`$ECHO "$1" | $SED \ -e "$double_quote_subst" -e "$sed_double_backslash"` ;; *) my_arg="$1" ;; esac case $my_arg in # Double-quote args containing shell metacharacters to delay # word splitting and command substitution for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") my_arg="\"$my_arg\"" ;; esac func_quote_for_expand_result="$my_arg" } # func_show_eval cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. func_show_eval () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$my_cmd" my_status=$? if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_show_eval_locale cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. Use the saved locale for evaluation. func_show_eval_locale () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$lt_user_locale $my_cmd" my_status=$? eval "$lt_safe_locale" if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_tr_sh # Turn $1 into a string suitable for a shell variable name. # Result is stored in $func_tr_sh_result. All characters # not in the set a-zA-Z0-9_ are replaced with '_'. Further, # if $1 begins with a digit, a '_' is prepended as well. func_tr_sh () { case $1 in [0-9]* | *[!a-zA-Z0-9_]*) func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'` ;; * ) func_tr_sh_result=$1 ;; esac } # func_version # Echo version message to standard output and exit. func_version () { $opt_debug $SED -n '/(C)/!b go :more /\./!{ N s/\n# / / b more } :go /^# '$PROGRAM' (GNU /,/# warranty; / { s/^# // s/^# *$// s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ p }' < "$progpath" exit $? } # func_usage # Echo short help message to standard output and exit. func_usage () { $opt_debug $SED -n '/^# Usage:/,/^# *.*--help/ { s/^# // s/^# *$// s/\$progname/'$progname'/ p }' < "$progpath" echo $ECHO "run \`$progname --help | more' for full usage" exit $? } # func_help [NOEXIT] # Echo long help message to standard output and exit, # unless 'noexit' is passed as argument. func_help () { $opt_debug $SED -n '/^# Usage:/,/# Report bugs to/ { :print s/^# // s/^# *$// s*\$progname*'$progname'* s*\$host*'"$host"'* s*\$SHELL*'"$SHELL"'* s*\$LTCC*'"$LTCC"'* s*\$LTCFLAGS*'"$LTCFLAGS"'* s*\$LD*'"$LD"'* s/\$with_gnu_ld/'"$with_gnu_ld"'/ s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/ s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ p d } /^# .* home page:/b print /^# General help using/b print ' < "$progpath" ret=$? if test -z "$1"; then exit $ret fi } # func_missing_arg argname # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { $opt_debug func_error "missing argument for $1." exit_cmd=exit } # func_split_short_opt shortopt # Set func_split_short_opt_name and func_split_short_opt_arg shell # variables after splitting SHORTOPT after the 2nd character. func_split_short_opt () { my_sed_short_opt='1s/^\(..\).*$/\1/;q' my_sed_short_rest='1s/^..\(.*\)$/\1/;q' func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"` func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"` } # func_split_short_opt may be replaced by extended shell implementation # func_split_long_opt longopt # Set func_split_long_opt_name and func_split_long_opt_arg shell # variables after splitting LONGOPT at the `=' sign. func_split_long_opt () { my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q' my_sed_long_arg='1s/^--[^=]*=//' func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"` func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"` } # func_split_long_opt may be replaced by extended shell implementation exit_cmd=: magic="%%%MAGIC variable%%%" magic_exe="%%%MAGIC EXE variable%%%" # Global variables. nonopt= preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" extracted_archives= extracted_serial=0 # If this variable is set in any of the actions, the command in it # will be execed at the end. This prevents here-documents from being # left over by shells. exec_cmd= # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "${1}=\$${1}\${2}" } # func_append may be replaced by extended shell implementation # func_append_quoted var value # Quote VALUE and append to the end of shell variable VAR, separated # by a space. func_append_quoted () { func_quote_for_eval "${2}" eval "${1}=\$${1}\\ \$func_quote_for_eval_result" } # func_append_quoted may be replaced by extended shell implementation # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "${@}"` } # func_arith may be replaced by extended shell implementation # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len` } # func_len may be replaced by extended shell implementation # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` } # func_lo2o may be replaced by extended shell implementation # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'` } # func_xform may be replaced by extended shell implementation # func_fatal_configuration arg... # Echo program name prefixed message to standard error, followed by # a configuration failure hint, and exit. func_fatal_configuration () { func_error ${1+"$@"} func_error "See the $PACKAGE documentation for more information." func_fatal_error "Fatal configuration error." } # func_config # Display the configuration for all the tags in this script. func_config () { re_begincf='^# ### BEGIN LIBTOOL' re_endcf='^# ### END LIBTOOL' # Default configuration. $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" # Now print the configurations for the tags. for tagname in $taglist; do $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" done exit $? } # func_features # Display the features supported by this script. func_features () { echo "host: $host" if test "$build_libtool_libs" = yes; then echo "enable shared libraries" else echo "disable shared libraries" fi if test "$build_old_libs" = yes; then echo "enable static libraries" else echo "disable static libraries" fi exit $? } # func_enable_tag tagname # Verify that TAGNAME is valid, and either flag an error and exit, or # enable the TAGNAME tag. We also add TAGNAME to the global $taglist # variable here. func_enable_tag () { # Global variable: tagname="$1" re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" sed_extractcf="/$re_begincf/,/$re_endcf/p" # Validate tagname. case $tagname in *[!-_A-Za-z0-9,/]*) func_fatal_error "invalid tag name: $tagname" ;; esac # Don't test for the "default" C tag, as we know it's # there but not specially marked. case $tagname in CC) ;; *) if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then taglist="$taglist $tagname" # Evaluate the configuration. Be careful to quote the path # and the sed script, to avoid splitting on whitespace, but # also don't use non-portable quotes within backquotes within # quotes we have to do it in 2 steps: extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` eval "$extractedcf" else func_error "ignoring unknown tag $tagname" fi ;; esac } # func_check_version_match # Ensure that we are using m4 macros, and libtool script from the same # release of libtool. func_check_version_match () { if test "$package_revision" != "$macro_revision"; then if test "$VERSION" != "$macro_version"; then if test -z "$macro_version"; then cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from an older release. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from $PACKAGE $macro_version. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF fi else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, $progname: but the definition of this LT_INIT comes from revision $macro_revision. $progname: You should recreate aclocal.m4 with macros from revision $package_revision $progname: of $PACKAGE $VERSION and run autoconf again. _LT_EOF fi exit $EXIT_MISMATCH fi } # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) shift; set dummy --mode clean ${1+"$@"}; shift ;; compile|compil|compi|comp|com|co|c) shift; set dummy --mode compile ${1+"$@"}; shift ;; execute|execut|execu|exec|exe|ex|e) shift; set dummy --mode execute ${1+"$@"}; shift ;; finish|finis|fini|fin|fi|f) shift; set dummy --mode finish ${1+"$@"}; shift ;; install|instal|insta|inst|ins|in|i) shift; set dummy --mode install ${1+"$@"}; shift ;; link|lin|li|l) shift; set dummy --mode link ${1+"$@"}; shift ;; uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; esac # Option defaults: opt_debug=: opt_dry_run=false opt_config=false opt_preserve_dup_deps=false opt_features=false opt_finish=false opt_help=false opt_help_all=false opt_silent=: opt_warning=: opt_verbose=: opt_silent=false opt_verbose=false # Parse options once, thoroughly. This comes as soon as possible in the # script to make things like `--version' happen as quickly as we can. { # this just eases exit handling while test $# -gt 0; do opt="$1" shift case $opt in --debug|-x) opt_debug='set -x' func_echo "enabling shell trace mode" $opt_debug ;; --dry-run|--dryrun|-n) opt_dry_run=: ;; --config) opt_config=: func_config ;; --dlopen|-dlopen) optarg="$1" opt_dlopen="${opt_dlopen+$opt_dlopen }$optarg" shift ;; --preserve-dup-deps) opt_preserve_dup_deps=: ;; --features) opt_features=: func_features ;; --finish) opt_finish=: set dummy --mode finish ${1+"$@"}; shift ;; --help) opt_help=: ;; --help-all) opt_help_all=: opt_help=': help-all' ;; --mode) test $# = 0 && func_missing_arg $opt && break optarg="$1" opt_mode="$optarg" case $optarg in # Valid mode arguments: clean|compile|execute|finish|install|link|relink|uninstall) ;; # Catch anything else as an error *) func_error "invalid argument for $opt" exit_cmd=exit break ;; esac shift ;; --no-silent|--no-quiet) opt_silent=false func_append preserve_args " $opt" ;; --no-warning|--no-warn) opt_warning=false func_append preserve_args " $opt" ;; --no-verbose) opt_verbose=false func_append preserve_args " $opt" ;; --silent|--quiet) opt_silent=: func_append preserve_args " $opt" opt_verbose=false ;; --verbose|-v) opt_verbose=: func_append preserve_args " $opt" opt_silent=false ;; --tag) test $# = 0 && func_missing_arg $opt && break optarg="$1" opt_tag="$optarg" func_append preserve_args " $opt $optarg" func_enable_tag "$optarg" shift ;; -\?|-h) func_usage ;; --help) func_help ;; --version) func_version ;; # Separate optargs to long options: --*=*) func_split_long_opt "$opt" set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"} shift ;; # Separate non-argument short options: -\?*|-h*|-n*|-v*) func_split_short_opt "$opt" set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"} shift ;; --) break ;; -*) func_fatal_help "unrecognized option \`$opt'" ;; *) set dummy "$opt" ${1+"$@"}; shift; break ;; esac done # Validate options: # save first non-option argument if test "$#" -gt 0; then nonopt="$opt" shift fi # preserve --debug test "$opt_debug" = : || func_append preserve_args " --debug" case $host in *cygwin* | *mingw* | *pw32* | *cegcc*) # don't eliminate duplications in $postdeps and $predeps opt_duplicate_compiler_generated_deps=: ;; *) opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps ;; esac $opt_help || { # Sanity checks first: func_check_version_match if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then func_fatal_configuration "not configured to build any kind of library" fi # Darwin sucks eval std_shrext=\"$shrext_cmds\" # Only execute mode is allowed to have -dlopen flags. if test -n "$opt_dlopen" && test "$opt_mode" != execute; then func_error "unrecognized option \`-dlopen'" $ECHO "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help="$help" help="Try \`$progname --help --mode=$opt_mode' for more information." } # Bail if the options were screwed $exit_cmd $EXIT_FAILURE } ## ----------- ## ## Main. ## ## ----------- ## # func_lalib_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_lalib_p () { test -f "$1" && $SED -e 4q "$1" 2>/dev/null \ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 } # func_lalib_unsafe_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function implements the same check as func_lalib_p without # resorting to external programs. To this end, it redirects stdin and # closes it afterwards, without saving the original file descriptor. # As a safety measure, use it only where a negative result would be # fatal anyway. Works if `file' does not exist. func_lalib_unsafe_p () { lalib_p=no if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then for lalib_p_l in 1 2 3 4 do read lalib_p_line case "$lalib_p_line" in \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; esac done exec 0<&5 5<&- fi test "$lalib_p" = yes } # func_ltwrapper_script_p file # True iff FILE is a libtool wrapper script # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_script_p () { func_lalib_p "$1" } # func_ltwrapper_executable_p file # True iff FILE is a libtool wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_executable_p () { func_ltwrapper_exec_suffix= case $1 in *.exe) ;; *) func_ltwrapper_exec_suffix=.exe ;; esac $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 } # func_ltwrapper_scriptname file # Assumes file is an ltwrapper_executable # uses $file to determine the appropriate filename for a # temporary ltwrapper_script. func_ltwrapper_scriptname () { func_dirname_and_basename "$1" "" "." func_stripname '' '.exe' "$func_basename_result" func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" } # func_ltwrapper_p file # True iff FILE is a libtool wrapper script or wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_p () { func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" } # func_execute_cmds commands fail_cmd # Execute tilde-delimited COMMANDS. # If FAIL_CMD is given, eval that upon failure. # FAIL_CMD may read-access the current command in variable CMD! func_execute_cmds () { $opt_debug save_ifs=$IFS; IFS='~' for cmd in $1; do IFS=$save_ifs eval cmd=\"$cmd\" func_show_eval "$cmd" "${2-:}" done IFS=$save_ifs } # func_source file # Source FILE, adding directory component if necessary. # Note that it is not necessary on cygwin/mingw to append a dot to # FILE even if both FILE and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. func_source () { $opt_debug case $1 in */* | *\\*) . "$1" ;; *) . "./$1" ;; esac } # func_resolve_sysroot PATH # Replace a leading = in PATH with a sysroot. Store the result into # func_resolve_sysroot_result func_resolve_sysroot () { func_resolve_sysroot_result=$1 case $func_resolve_sysroot_result in =*) func_stripname '=' '' "$func_resolve_sysroot_result" func_resolve_sysroot_result=$lt_sysroot$func_stripname_result ;; esac } # func_replace_sysroot PATH # If PATH begins with the sysroot, replace it with = and # store the result into func_replace_sysroot_result. func_replace_sysroot () { case "$lt_sysroot:$1" in ?*:"$lt_sysroot"*) func_stripname "$lt_sysroot" '' "$1" func_replace_sysroot_result="=$func_stripname_result" ;; *) # Including no sysroot. func_replace_sysroot_result=$1 ;; esac } # func_infer_tag arg # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. # arg is usually of the form 'gcc ...' func_infer_tag () { $opt_debug if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case $@ in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case "$@ " in " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then func_echo "unable to infer tagged configuration" func_fatal_error "specify a tag with \`--tag'" # else # func_verbose "using $tagname tagged configuration" fi ;; esac fi } # func_write_libtool_object output_name pic_name nonpic_name # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. func_write_libtool_object () { write_libobj=${1} if test "$build_libtool_libs" = yes; then write_lobj=\'${2}\' else write_lobj=none fi if test "$build_old_libs" = yes; then write_oldobj=\'${3}\' else write_oldobj=none fi $opt_dry_run || { cat >${write_libobj}T </dev/null` if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | $SED -e "$lt_sed_naive_backslashify"` else func_convert_core_file_wine_to_w32_result= fi fi } # end: func_convert_core_file_wine_to_w32 # func_convert_core_path_wine_to_w32 ARG # Helper function used by path conversion functions when $build is *nix, and # $host is mingw, cygwin, or some other w32 environment. Relies on a correctly # configured wine environment available, with the winepath program in $build's # $PATH. Assumes ARG has no leading or trailing path separator characters. # # ARG is path to be converted from $build format to win32. # Result is available in $func_convert_core_path_wine_to_w32_result. # Unconvertible file (directory) names in ARG are skipped; if no directory names # are convertible, then the result may be empty. func_convert_core_path_wine_to_w32 () { $opt_debug # unfortunately, winepath doesn't convert paths, only file names func_convert_core_path_wine_to_w32_result="" if test -n "$1"; then oldIFS=$IFS IFS=: for func_convert_core_path_wine_to_w32_f in $1; do IFS=$oldIFS func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" if test -n "$func_convert_core_file_wine_to_w32_result" ; then if test -z "$func_convert_core_path_wine_to_w32_result"; then func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result" else func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" fi fi done IFS=$oldIFS fi } # end: func_convert_core_path_wine_to_w32 # func_cygpath ARGS... # Wrapper around calling the cygpath program via LT_CYGPATH. This is used when # when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) # $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or # (2), returns the Cygwin file name or path in func_cygpath_result (input # file name or path is assumed to be in w32 format, as previously converted # from $build's *nix or MSYS format). In case (3), returns the w32 file name # or path in func_cygpath_result (input file name or path is assumed to be in # Cygwin format). Returns an empty string on error. # # ARGS are passed to cygpath, with the last one being the file name or path to # be converted. # # Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH # environment variable; do not put it in $PATH. func_cygpath () { $opt_debug if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` if test "$?" -ne 0; then # on failure, ensure result is empty func_cygpath_result= fi else func_cygpath_result= func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'" fi } #end: func_cygpath # func_convert_core_msys_to_w32 ARG # Convert file name or path ARG from MSYS format to w32 format. Return # result in func_convert_core_msys_to_w32_result. func_convert_core_msys_to_w32 () { $opt_debug # awkward: cmd appends spaces to result func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` } #end: func_convert_core_msys_to_w32 # func_convert_file_check ARG1 ARG2 # Verify that ARG1 (a file name in $build format) was converted to $host # format in ARG2. Otherwise, emit an error message, but continue (resetting # func_to_host_file_result to ARG1). func_convert_file_check () { $opt_debug if test -z "$2" && test -n "$1" ; then func_error "Could not determine host file name corresponding to" func_error " \`$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback: func_to_host_file_result="$1" fi } # end func_convert_file_check # func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH # Verify that FROM_PATH (a path in $build format) was converted to $host # format in TO_PATH. Otherwise, emit an error message, but continue, resetting # func_to_host_file_result to a simplistic fallback value (see below). func_convert_path_check () { $opt_debug if test -z "$4" && test -n "$3"; then func_error "Could not determine the host path corresponding to" func_error " \`$3'" func_error "Continuing, but uninstalled executables may not work." # Fallback. This is a deliberately simplistic "conversion" and # should not be "improved". See libtool.info. if test "x$1" != "x$2"; then lt_replace_pathsep_chars="s|$1|$2|g" func_to_host_path_result=`echo "$3" | $SED -e "$lt_replace_pathsep_chars"` else func_to_host_path_result="$3" fi fi } # end func_convert_path_check # func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG # Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT # and appending REPL if ORIG matches BACKPAT. func_convert_path_front_back_pathsep () { $opt_debug case $4 in $1 ) func_to_host_path_result="$3$func_to_host_path_result" ;; esac case $4 in $2 ) func_append func_to_host_path_result "$3" ;; esac } # end func_convert_path_front_back_pathsep ################################################## # $build to $host FILE NAME CONVERSION FUNCTIONS # ################################################## # invoked via `$to_host_file_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # Result will be available in $func_to_host_file_result. # func_to_host_file ARG # Converts the file name ARG from $build format to $host format. Return result # in func_to_host_file_result. func_to_host_file () { $opt_debug $to_host_file_cmd "$1" } # end func_to_host_file # func_to_tool_file ARG LAZY # converts the file name ARG from $build format to toolchain format. Return # result in func_to_tool_file_result. If the conversion in use is listed # in (the comma separated) LAZY, no conversion takes place. func_to_tool_file () { $opt_debug case ,$2, in *,"$to_tool_file_cmd",*) func_to_tool_file_result=$1 ;; *) $to_tool_file_cmd "$1" func_to_tool_file_result=$func_to_host_file_result ;; esac } # end func_to_tool_file # func_convert_file_noop ARG # Copy ARG to func_to_host_file_result. func_convert_file_noop () { func_to_host_file_result="$1" } # end func_convert_file_noop # func_convert_file_msys_to_w32 ARG # Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_file_result. func_convert_file_msys_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_to_host_file_result="$func_convert_core_msys_to_w32_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_w32 # func_convert_file_cygwin_to_w32 ARG # Convert file name ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_file_cygwin_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then # because $build is cygwin, we call "the" cygpath in $PATH; no need to use # LT_CYGPATH in this case. func_to_host_file_result=`cygpath -m "$1"` fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_cygwin_to_w32 # func_convert_file_nix_to_w32 ARG # Convert file name ARG from *nix to w32 format. Requires a wine environment # and a working winepath. Returns result in func_to_host_file_result. func_convert_file_nix_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_file_wine_to_w32 "$1" func_to_host_file_result="$func_convert_core_file_wine_to_w32_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_w32 # func_convert_file_msys_to_cygwin ARG # Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_file_msys_to_cygwin () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_cygpath -u "$func_convert_core_msys_to_w32_result" func_to_host_file_result="$func_cygpath_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_cygwin # func_convert_file_nix_to_cygwin ARG # Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed # in a wine environment, working winepath, and LT_CYGPATH set. Returns result # in func_to_host_file_result. func_convert_file_nix_to_cygwin () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. func_convert_core_file_wine_to_w32 "$1" func_cygpath -u "$func_convert_core_file_wine_to_w32_result" func_to_host_file_result="$func_cygpath_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_cygwin ############################################# # $build to $host PATH CONVERSION FUNCTIONS # ############################################# # invoked via `$to_host_path_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # The result will be available in $func_to_host_path_result. # # Path separators are also converted from $build format to $host format. If # ARG begins or ends with a path separator character, it is preserved (but # converted to $host format) on output. # # All path conversion functions are named using the following convention: # file name conversion function : func_convert_file_X_to_Y () # path conversion function : func_convert_path_X_to_Y () # where, for any given $build/$host combination the 'X_to_Y' value is the # same. If conversion functions are added for new $build/$host combinations, # the two new functions must follow this pattern, or func_init_to_host_path_cmd # will break. # func_init_to_host_path_cmd # Ensures that function "pointer" variable $to_host_path_cmd is set to the # appropriate value, based on the value of $to_host_file_cmd. to_host_path_cmd= func_init_to_host_path_cmd () { $opt_debug if test -z "$to_host_path_cmd"; then func_stripname 'func_convert_file_' '' "$to_host_file_cmd" to_host_path_cmd="func_convert_path_${func_stripname_result}" fi } # func_to_host_path ARG # Converts the path ARG from $build format to $host format. Return result # in func_to_host_path_result. func_to_host_path () { $opt_debug func_init_to_host_path_cmd $to_host_path_cmd "$1" } # end func_to_host_path # func_convert_path_noop ARG # Copy ARG to func_to_host_path_result. func_convert_path_noop () { func_to_host_path_result="$1" } # end func_convert_path_noop # func_convert_path_msys_to_w32 ARG # Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_path_result. func_convert_path_msys_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # Remove leading and trailing path separator characters from ARG. MSYS # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; # and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result="$func_convert_core_msys_to_w32_result" func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_msys_to_w32 # func_convert_path_cygwin_to_w32 ARG # Convert path ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_path_cygwin_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_cygwin_to_w32 # func_convert_path_nix_to_w32 ARG # Convert path ARG from *nix to w32 format. Requires a wine environment and # a working winepath. Returns result in func_to_host_file_result. func_convert_path_nix_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result="$func_convert_core_path_wine_to_w32_result" func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_nix_to_w32 # func_convert_path_msys_to_cygwin ARG # Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_path_msys_to_cygwin () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_msys_to_w32_result" func_to_host_path_result="$func_cygpath_result" func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_msys_to_cygwin # func_convert_path_nix_to_cygwin ARG # Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a # a wine environment, working winepath, and LT_CYGPATH set. Returns result in # func_to_host_file_result. func_convert_path_nix_to_cygwin () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # Remove leading and trailing path separator characters from # ARG. msys behavior is inconsistent here, cygpath turns them # into '.;' and ';.', and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" func_to_host_path_result="$func_cygpath_result" func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_nix_to_cygwin # func_mode_compile arg... func_mode_compile () { $opt_debug # Get the compilation command and the source file. base_compile= srcfile="$nonopt" # always keep a non-empty value in "srcfile" suppress_opt=yes suppress_output= arg_mode=normal libobj= later= pie_flag= for arg do case $arg_mode in arg ) # do not "continue". Instead, add this to base_compile lastarg="$arg" arg_mode=normal ;; target ) libobj="$arg" arg_mode=normal continue ;; normal ) # Accept any command-line options. case $arg in -o) test -n "$libobj" && \ func_fatal_error "you cannot specify \`-o' more than once" arg_mode=target continue ;; -pie | -fpie | -fPIE) func_append pie_flag " $arg" continue ;; -shared | -static | -prefer-pic | -prefer-non-pic) func_append later " $arg" continue ;; -no-suppress) suppress_opt=no continue ;; -Xcompiler) arg_mode=arg # the next one goes into the "base_compile" arg list continue # The current "srcfile" will either be retained or ;; # replaced later. I would guess that would be a bug. -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result lastarg= save_ifs="$IFS"; IFS=',' for arg in $args; do IFS="$save_ifs" func_append_quoted lastarg "$arg" done IFS="$save_ifs" func_stripname ' ' '' "$lastarg" lastarg=$func_stripname_result # Add the arguments to base_compile. func_append base_compile " $lastarg" continue ;; *) # Accept the current argument as the source file. # The previous "srcfile" becomes the current argument. # lastarg="$srcfile" srcfile="$arg" ;; esac # case $arg ;; esac # case $arg_mode # Aesthetically quote the previous argument. func_append_quoted base_compile "$lastarg" done # for arg case $arg_mode in arg) func_fatal_error "you must specify an argument for -Xcompile" ;; target) func_fatal_error "you must specify a target with \`-o'" ;; *) # Get the name of the library object. test -z "$libobj" && { func_basename "$srcfile" libobj="$func_basename_result" } ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo case $libobj in *.[cCFSifmso] | \ *.ada | *.adb | *.ads | *.asm | \ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) func_xform "$libobj" libobj=$func_xform_result ;; esac case $libobj in *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; *) func_fatal_error "cannot determine name of library object from \`$libobj'" ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -shared) test "$build_libtool_libs" != yes && \ func_fatal_configuration "can not build a shared library" build_old_libs=no continue ;; -static) build_libtool_libs=no build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done func_quote_for_eval "$libobj" test "X$libobj" != "X$func_quote_for_eval_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ && func_warning "libobj name \`$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" objname="$func_basename_result" xdir="$func_dirname_result" lobj=${xdir}$objdir/$objname test -z "$base_compile" && \ func_fatal_help "you must specify a compilation command" # Delete any leftover library objects. if test "$build_old_libs" = yes; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2* | cegcc*) pic_mode=default ;; esac if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test "$compiler_c_o" = no; then output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} lockfile="$output_obj.lock" else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done elif test "$need_locks" = warn; then if test -f "$lockfile"; then $ECHO "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi func_append removelist " $output_obj" $ECHO "$srcfile" > "$lockfile" fi $opt_dry_run || $RM $removelist func_append removelist " $lockfile" trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result func_quote_for_eval "$srcfile" qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. if test "$build_libtool_libs" = yes; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test "$pic_mode" != no; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code command="$base_compile $qsrcfile" fi func_mkdir_p "$xdir$objdir" if test -z "$output_obj"; then # Place PIC objects in $objdir func_append command " -o $lobj" fi func_show_eval_locale "$command" \ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then func_show_eval '$MV "$output_obj" "$lobj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi # Allow error messages only from the first compilation. if test "$suppress_opt" = yes; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then if test "$pic_mode" != yes; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi if test "$compiler_c_o" = yes; then func_append command " -o $obj" fi # Suppress compiler output if we already did a PIC compilation. func_append command "$suppress_output" func_show_eval_locale "$command" \ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then func_show_eval '$MV "$output_obj" "$obj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi fi $opt_dry_run || { func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" # Unlock the critical section if it was locked if test "$need_locks" != no; then removelist=$lockfile $RM "$lockfile" fi } exit $EXIT_SUCCESS } $opt_help || { test "$opt_mode" = compile && func_mode_compile ${1+"$@"} } func_mode_help () { # We need to display help for each of the modes. case $opt_mode in "") # Generic help is extracted from the usage comments # at the start of this file. func_help ;; clean) $ECHO \ "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $ECHO \ "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -no-suppress do not suppress compiler output for multiple passes -prefer-pic try to build PIC objects only -prefer-non-pic try to build non-PIC objects only -shared do not build a \`.o' file suitable for static linking -static only build a \`.o' file suitable for static linking -Wc,FLAG pass FLAG directly to the compiler COMPILE-COMMAND is a command to be used in creating a \`standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix \`.c' with the library object suffix, \`.lo'." ;; execute) $ECHO \ "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to \`-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $ECHO \ "Usage: $progname [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the \`--dry-run' option if you just want to see what would be executed." ;; install) $ECHO \ "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the \`install' or \`cp' program. The following components of INSTALL-COMMAND are treated specially: -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $ECHO \ "Usage: $progname [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -bindir BINDIR specify path to binaries directory (for systems where libraries must be found in the PATH setting at runtime) -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE Use a list of object files found in FILE to specify objects -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -shared only do dynamic linking of libtool libraries -shrext SUFFIX override the standard shared library file extension -static do not do any dynamic linking of uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] -weak LIBNAME declare that the target provides the LIBNAME interface -Wc,FLAG -Xcompiler FLAG pass linker-specific FLAG directly to the compiler -Wl,FLAG -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) All other options (arguments beginning with \`-') are ignored. Every other argument is treated as a filename. Files ending in \`.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only library objects (\`.lo' files) may be specified, and \`-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created using \`ar' and \`ranlib', or on Windows using \`lib'. If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $ECHO \ "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) func_fatal_help "invalid operation mode \`$opt_mode'" ;; esac echo $ECHO "Try \`$progname --help' for more information about other modes." } # Now that we've collected a possible --mode arg, show help if necessary if $opt_help; then if test "$opt_help" = :; then func_mode_help else { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do func_mode_help done } | sed -n '1p; 2,$s/^Usage:/ or: /p' { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do echo func_mode_help done } | sed '1d /^When reporting/,/^Report/{ H d } $x /information about other modes/d /more detailed .*MODE/d s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' fi exit $? fi # func_mode_execute arg... func_mode_execute () { $opt_debug # The first argument is the command name. cmd="$nonopt" test -z "$cmd" && \ func_fatal_help "you must specify a COMMAND" # Handle -dlopen flags immediately. for file in $opt_dlopen; do test -f "$file" \ || func_fatal_help "\`$file' is not a file" dir= case $file in *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$lib' is not a valid libtool archive" # Read the libtool library. dlname= library_names= func_source "$file" # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && \ func_warning "\`$file' was not linked with \`-export-dynamic'" continue fi func_dirname "$file" "" "." dir="$func_dirname_result" if test -f "$dir/$objdir/$dlname"; then func_append dir "/$objdir" else if test ! -f "$dir/$dlname"; then func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" fi fi ;; *.lo) # Just add the directory containing the .lo file. func_dirname "$file" "" "." dir="$func_dirname_result" ;; *) func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir="$absdir" # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic="$magic" # Check if any of the arguments is a wrapper script. args= for file do case $file in -* | *.la | *.lo ) ;; *) # Do a test to see if this is really a libtool program. if func_ltwrapper_script_p "$file"; then func_source "$file" # Transform arg to wrapped name. file="$progdir/$program" elif func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" func_source "$func_ltwrapper_scriptname_result" # Transform arg to wrapped name. file="$progdir/$program" fi ;; esac # Quote arguments (to preserve shell metacharacters). func_append_quoted args "$file" done if test "X$opt_dry_run" = Xfalse; then if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var else $lt_unset $lt_var fi" done # Now prepare to actually exec the command. exec_cmd="\$cmd$args" else # Display what would be done. if test -n "$shlibpath_var"; then eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" echo "export $shlibpath_var" fi $ECHO "$cmd$args" exit $EXIT_SUCCESS fi } test "$opt_mode" = execute && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { $opt_debug libs= libdirs= admincmds= for opt in "$nonopt" ${1+"$@"} do if test -d "$opt"; then func_append libdirs " $opt" elif test -f "$opt"; then if func_lalib_unsafe_p "$opt"; then func_append libs " $opt" else func_warning "\`$opt' is not a valid libtool archive" fi else func_fatal_error "invalid argument \`$opt'" fi done if test -n "$libs"; then if test -n "$lt_sysroot"; then sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" else sysroot_cmd= fi # Remove sysroot references if $opt_dry_run; then for lib in $libs; do echo "removing references to $lt_sysroot and \`=' prefixes from $lib" done else tmpdir=`func_mktempdir` for lib in $libs; do sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ > $tmpdir/tmp-la mv -f $tmpdir/tmp-la $lib done ${RM}r "$tmpdir" fi fi if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. func_execute_cmds "$finish_cmds" 'admincmds="$admincmds '"$cmd"'"' fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $opt_dry_run || eval "$cmds" || func_append admincmds " $cmds" fi done fi # Exit here if they wanted silent mode. $opt_silent && exit $EXIT_SUCCESS if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then echo "----------------------------------------------------------------------" echo "Libraries have been installed in:" for libdir in $libdirs; do $ECHO " $libdir" done echo echo "If you ever happen to want to link against installed libraries" echo "in a given directory, LIBDIR, you must either use libtool, and" echo "specify the full pathname of the library, or use the \`-LLIBDIR'" echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then echo " - add LIBDIR to the \`$shlibpath_var' environment variable" echo " during execution" fi if test -n "$runpath_var"; then echo " - add LIBDIR to the \`$runpath_var' environment variable" echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" $ECHO " - use the \`$flag' linker flag" fi if test -n "$admincmds"; then $ECHO " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi echo echo "See any operating system documentation about shared libraries for" case $host in solaris2.[6789]|solaris2.1[0-9]) echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" echo "pages." ;; *) echo "more information, such as the ld(1) and ld.so(8) manual pages." ;; esac echo "----------------------------------------------------------------------" fi exit $EXIT_SUCCESS } test "$opt_mode" = finish && func_mode_finish ${1+"$@"} # func_mode_install arg... func_mode_install () { $opt_debug # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || # Allow the use of GNU shtool's install command. case $nonopt in *shtool*) :;; *) false;; esac; then # Aesthetically quote it. func_quote_for_eval "$nonopt" install_prog="$func_quote_for_eval_result " arg=$1 shift else install_prog= arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. func_quote_for_eval "$arg" func_append install_prog "$func_quote_for_eval_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; *) install_cp=false ;; esac # We need to accept at least all the BSD install flags. dest= files= opts= prev= install_type= isdir=no stripme= no_mode=: for arg do arg2= if test -n "$dest"; then func_append files " $dest" dest=$arg continue fi case $arg in -d) isdir=yes ;; -f) if $install_cp; then :; else prev=$arg fi ;; -g | -m | -o) prev=$arg ;; -s) stripme=" -s" continue ;; -*) ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then if test "x$prev" = x-m && test -n "$install_override_mode"; then arg2=$install_override_mode no_mode=false fi prev= else dest=$arg continue fi ;; esac # Aesthetically quote the argument. func_quote_for_eval "$arg" func_append install_prog " $func_quote_for_eval_result" if test -n "$arg2"; then func_quote_for_eval "$arg2" fi func_append install_shared_prog " $func_quote_for_eval_result" done test -z "$install_prog" && \ func_fatal_help "you must specify an install program" test -n "$prev" && \ func_fatal_help "the \`$prev' option requires an argument" if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else func_quote_for_eval "$install_override_mode" func_append install_shared_prog " -m $func_quote_for_eval_result" fi fi if test -z "$files"; then if test -z "$dest"; then func_fatal_help "no file or destination specified" else func_fatal_help "you must specify a destination" fi fi # Strip any trailing slash from the destination. func_stripname '' '/' "$dest" dest=$func_stripname_result # Check to see that the destination is a directory. test -d "$dest" && isdir=yes if test "$isdir" = yes; then destdir="$dest" destname= else func_dirname_and_basename "$dest" "" "." destdir="$func_dirname_result" destname="$func_basename_result" # Not a directory, so check to see that there is only one file specified. set dummy $files; shift test "$#" -gt 1 && \ func_fatal_help "\`$dest' is not a directory" fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) func_fatal_help "\`$destdir' must be an absolute directory name" ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. func_append staticlibs " $file" ;; *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$file' is not a valid libtool archive" library_names= old_library= relink_command= func_source "$file" # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) func_append current_libdirs " $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) func_append future_libdirs " $libdir" ;; esac fi func_dirname "$file" "/" "" dir="$func_dirname_result" func_append dir "$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. test "$inst_prefix_dir" = "$destdir" && \ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi func_warning "relinking \`$file'" func_show_eval "$relink_command" \ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' fi # See the names of the shared library. set dummy $library_names; shift if test -n "$1"; then realname="$1" shift srcname="$realname" test -n "$relink_command" && srcname="$realname"T # Install the shared library and build the symlinks. func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ 'exit $?' tstripme="$stripme" case $host_os in cygwin* | mingw* | pw32* | cegcc*) case $realname in *.dll.a) tstripme="" ;; esac ;; esac if test -n "$tstripme" && test -n "$striplib"; then func_show_eval "$striplib $destdir/$realname" 'exit $?' fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do test "$linkname" != "$realname" \ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" done fi # Do each command in the postinstall commands. lib="$destdir/$realname" func_execute_cmds "$postinstall_cmds" 'exit $?' fi # Install the pseudo-library for information purposes. func_basename "$file" name="$func_basename_result" instname="$dir/$name"i func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' # Maybe install the static library, too. test -n "$old_library" && func_append staticlibs " $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) func_lo2o "$destfile" staticdest=$func_lo2o_result ;; *.$objext) staticdest="$destfile" destfile= ;; *) func_fatal_help "cannot copy a libtool object to \`$destfile'" ;; esac # Install the libtool object if requested. test -n "$destfile" && \ func_show_eval "$install_prog $file $destfile" 'exit $?' # Install the old object if enabled. if test "$build_old_libs" = yes; then # Deduce the name of the old-style object file. func_lo2o "$file" staticobj=$func_lo2o_result func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' fi exit $EXIT_SUCCESS ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext="" case $file in *.exe) if test ! -f "$file"; then func_stripname '' '.exe' "$file" file=$func_stripname_result stripped_ext=".exe" fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin* | *mingw*) if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" wrapper=$func_ltwrapper_scriptname_result else func_stripname '' '.exe' "$file" wrapper=$func_stripname_result fi ;; *) wrapper=$file ;; esac if func_ltwrapper_script_p "$wrapper"; then notinst_deplibs= relink_command= func_source "$wrapper" # Check the variables that should have been set. test -z "$generated_by_libtool_version" && \ func_fatal_error "invalid libtool wrapper script \`$wrapper'" finalize=yes for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then func_source "$lib" fi libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test if test -n "$libdir" && test ! -f "$libfile"; then func_warning "\`$lib' has not been installed in \`$libdir'" finalize=no fi done relink_command= func_source "$wrapper" outputname= if test "$fast_install" = no && test -n "$relink_command"; then $opt_dry_run || { if test "$finalize" = yes; then tmpdir=`func_mktempdir` func_basename "$file$stripped_ext" file="$func_basename_result" outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_silent || { func_quote_for_expand "$relink_command" eval "func_echo $func_quote_for_expand_result" } if eval "$relink_command"; then : else func_error "error: relink \`$file' with the above command before installing it" $opt_dry_run || ${RM}r "$tmpdir" continue fi file="$outputname" else func_warning "cannot relink \`$file'" fi } else # Install the binary that we compiled earlier. file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyway case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok ;; *.exe:*) destfile=$destfile.exe ;; *:*.exe) func_stripname '' '.exe' "$destfile" destfile=$func_stripname_result ;; esac ;; esac func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' $opt_dry_run || if test -n "$outputname"; then ${RM}r "$tmpdir" fi ;; esac done for file in $staticlibs; do func_basename "$file" name="$func_basename_result" # Set up the ranlib parameters. oldlib="$destdir/$name" func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result func_show_eval "$install_prog \$file \$oldlib" 'exit $?' if test -n "$stripme" && test -n "$old_striplib"; then func_show_eval "$old_striplib $tool_oldlib" 'exit $?' fi # Do each command in the postinstall commands. func_execute_cmds "$old_postinstall_cmds" 'exit $?' done test -n "$future_libdirs" && \ func_warning "remember to run \`$progname --finish$future_libdirs'" if test -n "$current_libdirs"; then # Maybe just do a dry run. $opt_dry_run && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi } test "$opt_mode" = install && func_mode_install ${1+"$@"} # func_generate_dlsyms outputname originator pic_p # Extract symbols from dlprefiles and create ${outputname}S.o with # a dlpreopen symbol table. func_generate_dlsyms () { $opt_debug my_outputname="$1" my_originator="$2" my_pic_p="${3-no}" my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` my_dlsyms= if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then if test -n "$NM" && test -n "$global_symbol_pipe"; then my_dlsyms="${my_outputname}S.c" else func_error "not configured to extract global symbols from dlpreopened files" fi fi if test -n "$my_dlsyms"; then case $my_dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist="$output_objdir/${my_outputname}.nm" func_show_eval "$RM $nlist ${nlist}S ${nlist}T" # Parse the name list into a source file. func_verbose "creating $output_objdir/$my_dlsyms" $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ /* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ #ifdef __cplusplus extern \"C\" { #endif #if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) #pragma GCC diagnostic ignored \"-Wstrict-prototypes\" #endif /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif /* External symbol declarations for the compiler. */\ " if test "$dlself" = yes; then func_verbose "generating symbol list for \`$output'" $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` for progfile in $progfiles; do func_to_tool_file "$progfile" func_convert_file_msys_to_w32 func_verbose "extracting global C symbols from \`$func_to_tool_file_result'" $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $opt_dry_run || { eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi if test -n "$export_symbols_regex"; then $opt_dry_run || { eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols="$output_objdir/$outputname.exp" $opt_dry_run || { $RM $export_symbols eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac } else $opt_dry_run || { eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac } fi fi for dlprefile in $dlprefiles; do func_verbose "extracting global C symbols from \`$dlprefile'" func_basename "$dlprefile" name="$func_basename_result" case $host in *cygwin* | *mingw* | *cegcc* ) # if an import library, we need to obtain dlname if func_win32_import_lib_p "$dlprefile"; then func_tr_sh "$dlprefile" eval "curr_lafile=\$libfile_$func_tr_sh_result" dlprefile_dlbasename="" if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then # Use subshell, to avoid clobbering current variable values dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` if test -n "$dlprefile_dlname" ; then func_basename "$dlprefile_dlname" dlprefile_dlbasename="$func_basename_result" else # no lafile. user explicitly requested -dlpreopen . $sharedlib_from_linklib_cmd "$dlprefile" dlprefile_dlbasename=$sharedlib_from_linklib_result fi fi $opt_dry_run || { if test -n "$dlprefile_dlbasename" ; then eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' else func_warning "Could not compute DLL name from $name" eval '$ECHO ": $name " >> "$nlist"' fi func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" } else # not an import lib $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } fi ;; *) $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } ;; esac done $opt_dry_run || { # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $MV "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if $GREP -v "^: " < "$nlist" | if sort -k 3 /dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else $GREP -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' else echo '/* NONE */' >> "$output_objdir/$my_dlsyms" fi echo >> "$output_objdir/$my_dlsyms" "\ /* The mapping between symbol names and symbols. */ typedef struct { const char *name; void *address; } lt_dlsymlist; extern LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[]; LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[] = {\ { \"$my_originator\", (void *) 0 }," case $need_lib_prefix in no) eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; *) eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; esac echo >> "$output_objdir/$my_dlsyms" "\ {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_${my_prefix}_LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " } # !$opt_dry_run pic_flag_for_symtable= case "$compile_command " in *" -static "*) ;; *) case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; *) if test "X$my_pic_p" != Xno; then pic_flag_for_symtable=" $pic_flag" fi ;; esac ;; esac symtab_cflags= for arg in $LTCFLAGS; do case $arg in -pie | -fpie | -fPIE) ;; *) func_append symtab_cflags " $arg" ;; esac done # Now compile the dynamic symbol file. func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' # Clean up the generated files. func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' # Transform the symbol file into the correct name. symfileobj="$output_objdir/${my_outputname}S.$objext" case $host in *cygwin* | *mingw* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` else compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` fi ;; *) compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` ;; esac ;; *) func_fatal_error "unknown suffix for \`$my_dlsyms'" ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` fi } # func_win32_libid arg # return the library type of file 'arg' # # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. # Despite the name, also deal with 64 bit binaries. func_win32_libid () { $opt_debug win32_libid_type="unknown" win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then func_to_tool_file "$1" func_convert_file_msys_to_w32 win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | $SED -n -e ' 1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac fi ;; *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... case $win32_fileres in *MS\ Windows\ PE\ Intel*) win32_libid_type="x86 DLL" ;; esac ;; esac $ECHO "$win32_libid_type" } # func_cygming_dll_for_implib ARG # # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib () { $opt_debug sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` } # func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs # # The is the core of a fallback implementation of a # platform-specific function to extract the name of the # DLL associated with the specified import library LIBNAME. # # SECTION_NAME is either .idata$6 or .idata$7, depending # on the platform and compiler that created the implib. # # Echos the name of the DLL associated with the # specified import library. func_cygming_dll_for_implib_fallback_core () { $opt_debug match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` $OBJDUMP -s --section "$1" "$2" 2>/dev/null | $SED '/^Contents of section '"$match_literal"':/{ # Place marker at beginning of archive member dllname section s/.*/====MARK====/ p d } # These lines can sometimes be longer than 43 characters, but # are always uninteresting /:[ ]*file format pe[i]\{,1\}-/d /^In archive [^:]*:/d # Ensure marker is printed /^====MARK====/p # Remove all lines with less than 43 characters /^.\{43\}/!d # From remaining lines, remove first 43 characters s/^.\{43\}//' | $SED -n ' # Join marker and all lines until next marker into a single line /^====MARK====/ b para H $ b para b :para x s/\n//g # Remove the marker s/^====MARK====// # Remove trailing dots and whitespace s/[\. \t]*$// # Print /./p' | # we now have a list, one entry per line, of the stringified # contents of the appropriate section of all members of the # archive which possess that section. Heuristic: eliminate # all those which have a first or second character that is # a '.' (that is, objdump's representation of an unprintable # character.) This should work for all archives with less than # 0x302f exports -- but will fail for DLLs whose name actually # begins with a literal '.' or a single character followed by # a '.'. # # Of those that remain, print the first one. $SED -e '/^\./d;/^.\./d;q' } # func_cygming_gnu_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is a GNU/binutils-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_gnu_implib_p () { $opt_debug func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` test -n "$func_cygming_gnu_implib_tmp" } # func_cygming_ms_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is an MS-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_ms_implib_p () { $opt_debug func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` test -n "$func_cygming_ms_implib_tmp" } # func_cygming_dll_for_implib_fallback ARG # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # # This fallback implementation is for use when $DLLTOOL # does not support the --identify-strict option. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib_fallback () { $opt_debug if func_cygming_gnu_implib_p "$1" ; then # binutils import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` elif func_cygming_ms_implib_p "$1" ; then # ms-generated import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` else # unknown sharedlib_from_linklib_result="" fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { $opt_debug f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" if test "$lock_old_archive_extraction" = yes; then lockfile=$f_ex_an_ar_oldlib.lock until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done fi func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ 'stat=$?; rm -f "$lockfile"; exit $stat' if test "$lock_old_archive_extraction" = yes; then $opt_dry_run || rm -f "$lockfile" fi if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" fi } # func_extract_archives gentop oldlib ... func_extract_archives () { $opt_debug my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac func_basename "$my_xlib" my_xlib="$func_basename_result" my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) func_arith $extracted_serial + 1 extracted_serial=$func_arith_result my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" func_mkdir_p "$my_xdir" case $host in *-darwin*) func_verbose "Extracting $my_xabs" # Do not bother doing anything if just a dry run $opt_dry_run || { darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`basename "$darwin_archive"` darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` if test -n "$darwin_arches"; then darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` $LIPO -create -output "$darwin_file" $darwin_files done # $darwin_filelist $RM -rf unfat-$$ cd "$darwin_orig_dir" else cd $darwin_orig_dir func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches } # !$opt_dry_run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # func_emit_wrapper [arg=no] # # Emit a libtool wrapper script on stdout. # Don't directly open a file because we may want to # incorporate the script contents within a cygwin/mingw # wrapper executable. Must ONLY be called from within # func_mode_link because it depends on a number of variables # set therein. # # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # variable will take. If 'yes', then the emitted script # will assume that the directory in which it is stored is # the $objdir directory. This is a cygwin/mingw-specific # behavior. func_emit_wrapper () { func_emit_wrapper_arg1=${1-no} $ECHO "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='$sed_quote_subst' # Be Bourne compatible if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variables: generated_by_libtool_version='$macro_version' notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$ECHO are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` $ECHO "\ # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } ECHO=\"$qECHO\" fi # Very basic option parsing. These options are (a) specific to # the libtool wrapper, (b) are identical between the wrapper # /script/ and the wrapper /executable/ which is used only on # windows platforms, and (c) all begin with the string "--lt-" # (application programs are unlikely to have options which match # this pattern). # # There are only two supported options: --lt-debug and # --lt-dump-script. There is, deliberately, no --lt-help. # # The first argument to this parsing function should be the # script's $0 value, followed by "$@". lt_option_debug= func_parse_lt_options () { lt_script_arg0=\$0 shift for lt_opt do case \"\$lt_opt\" in --lt-debug) lt_option_debug=1 ;; --lt-dump-script) lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` cat \"\$lt_dump_D/\$lt_dump_F\" exit 0 ;; --lt-*) \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 exit 1 ;; esac done # Print the debug banner immediately: if test -n \"\$lt_option_debug\"; then echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2 fi } # Used when --lt-debug. Prints its arguments to stdout # (redirection is the responsibility of the caller) func_lt_dump_args () { lt_dump_args_N=1; for lt_arg do \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\" lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` done } # Core function for launching the target application func_exec_program_core () { " case $host in # Backslashes separate directories on plain windows *-*-mingw | *-*-os2* | *-cegcc*) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $ECHO "\ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 exit 1 } # A function to encapsulate launching the target application # Strips options in the --lt-* namespace from \$@ and # launches target application with the remaining arguments. func_exec_program () { case \" \$* \" in *\\ --lt-*) for lt_wr_arg do case \$lt_wr_arg in --lt-*) ;; *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; esac shift done ;; esac func_exec_program_core \${1+\"\$@\"} } # Parse options func_parse_lt_options \"\$0\" \${1+\"\$@\"} # Find the directory that this script lives in. thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then # special case for '.' if test \"\$thisdir\" = \".\"; then thisdir=\`pwd\` fi # remove .libs from thisdir case \"\$thisdir\" in *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; $objdir ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test "$fast_install" = yes; then $ECHO "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $MKDIR \"\$progdir\" else $RM \"\$progdir/\$file\" fi" $ECHO "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else $ECHO \"\$relink_command_output\" >&2 $RM \"\$progdir/\$file\" exit 1 fi fi $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $RM \"\$progdir/\$program\"; $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } $RM \"\$progdir/\$file\" fi" else $ECHO "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $ECHO "\ if test -f \"\$progdir/\$program\"; then" # fixup the dll searchpath if we need to. # # Fix the DLL searchpath if we need to. Do this before prepending # to shlibpath, because on Windows, both are PATH and uninstalled # libraries must come first. if test -n "$dllsearchpath"; then $ECHO "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi # Export our shlibpath_var if we have one. if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $ECHO "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` export $shlibpath_var " fi $ECHO "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. func_exec_program \${1+\"\$@\"} fi else # The program doesn't exist. \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ " } # func_emit_cwrapperexe_src # emit the source code for a wrapper executable on stdout # Must ONLY be called from within func_mode_link because # it depends on a number of variable set therein. func_emit_cwrapperexe_src () { cat < #include #ifdef _MSC_VER # include # include # include #else # include # include # ifdef __CYGWIN__ # include # endif #endif #include #include #include #include #include #include #include #include /* declarations of non-ANSI functions */ #if defined(__MINGW32__) # ifdef __STRICT_ANSI__ int _putenv (const char *); # endif #elif defined(__CYGWIN__) # ifdef __STRICT_ANSI__ char *realpath (const char *, char *); int putenv (char *); int setenv (const char *, const char *, int); # endif /* #elif defined (other platforms) ... */ #endif /* portability defines, excluding path handling macros */ #if defined(_MSC_VER) # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv # define S_IXUSR _S_IEXEC # ifndef _INTPTR_T_DEFINED # define _INTPTR_T_DEFINED # define intptr_t int # endif #elif defined(__MINGW32__) # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv #elif defined(__CYGWIN__) # define HAVE_SETENV # define FOPEN_WB "wb" /* #elif defined (other platforms) ... */ #endif #if defined(PATH_MAX) # define LT_PATHMAX PATH_MAX #elif defined(MAXPATHLEN) # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 #endif #ifndef S_IXOTH # define S_IXOTH 0 #endif #ifndef S_IXGRP # define S_IXGRP 0 #endif /* path handling portability macros */ #ifndef DIR_SEPARATOR # define DIR_SEPARATOR '/' # define PATH_SEPARATOR ':' #endif #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ defined (__OS2__) # define HAVE_DOS_BASED_FILE_SYSTEM # define FOPEN_WB "wb" # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' # endif # ifndef PATH_SEPARATOR_2 # define PATH_SEPARATOR_2 ';' # endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #ifndef FOPEN_WB # define FOPEN_WB "w" #endif #ifndef _O_BINARY # define _O_BINARY 0 #endif #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) #if defined(LT_DEBUGWRAPPER) static int lt_debug = 1; #else static int lt_debug = 0; #endif const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ void *xmalloc (size_t num); char *xstrdup (const char *string); const char *base_name (const char *name); char *find_executable (const char *wrapper); char *chase_symlinks (const char *pathspec); int make_executable (const char *path); int check_executable (const char *path); char *strendzap (char *str, const char *pat); void lt_debugprintf (const char *file, int line, const char *fmt, ...); void lt_fatal (const char *file, int line, const char *message, ...); static const char *nonnull (const char *s); static const char *nonempty (const char *s); void lt_setenv (const char *name, const char *value); char *lt_extend_str (const char *orig_value, const char *add, int to_end); void lt_update_exe_path (const char *name, const char *value); void lt_update_lib_path (const char *name, const char *value); char **prepare_spawn (char **argv); void lt_dump_script (FILE *f); EOF cat <= 0) && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) return 1; else return 0; } int make_executable (const char *path) { int rval = 0; struct stat st; lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", nonempty (path)); if ((!path) || (!*path)) return 0; if (stat (path, &st) >= 0) { rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); } return rval; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise Does not chase symlinks, even on platforms that support them. */ char * find_executable (const char *wrapper) { int has_slash = 0; const char *p; const char *p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char *concat_name; lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", nonempty (wrapper)); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char *path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char *q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR (*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); return NULL; } char * chase_symlinks (const char *pathspec) { #ifndef S_ISLNK return xstrdup (pathspec); #else char buf[LT_PATHMAX]; struct stat s; char *tmp_pathspec = xstrdup (pathspec); char *p; int has_symlinks = 0; while (strlen (tmp_pathspec) && !has_symlinks) { lt_debugprintf (__FILE__, __LINE__, "checking path component for symlinks: %s\n", tmp_pathspec); if (lstat (tmp_pathspec, &s) == 0) { if (S_ISLNK (s.st_mode) != 0) { has_symlinks = 1; break; } /* search backwards for last DIR_SEPARATOR */ p = tmp_pathspec + strlen (tmp_pathspec) - 1; while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) p--; if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) { /* no more DIR_SEPARATORS left */ break; } *p = '\0'; } else { lt_fatal (__FILE__, __LINE__, "error accessing file \"%s\": %s", tmp_pathspec, nonnull (strerror (errno))); } } XFREE (tmp_pathspec); if (!has_symlinks) { return xstrdup (pathspec); } tmp_pathspec = realpath (pathspec, buf); if (tmp_pathspec == 0) { lt_fatal (__FILE__, __LINE__, "could not follow symlinks for %s", pathspec); } return xstrdup (tmp_pathspec); #endif } char * strendzap (char *str, const char *pat) { size_t len, patlen; assert (str != NULL); assert (pat != NULL); len = strlen (str); patlen = strlen (pat); if (patlen <= len) { str += len - patlen; if (strcmp (str, pat) == 0) *str = '\0'; } return str; } void lt_debugprintf (const char *file, int line, const char *fmt, ...) { va_list args; if (lt_debug) { (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); va_start (args, fmt); (void) vfprintf (stderr, fmt, args); va_end (args); } } static void lt_error_core (int exit_status, const char *file, int line, const char *mode, const char *message, va_list ap) { fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); vfprintf (stderr, message, ap); fprintf (stderr, ".\n"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *file, int line, const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); va_end (ap); } static const char * nonnull (const char *s) { return s ? s : "(null)"; } static const char * nonempty (const char *s) { return (s && !*s) ? "(empty)" : nonnull (s); } void lt_setenv (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_setenv) setting '%s' to '%s'\n", nonnull (name), nonnull (value)); { #ifdef HAVE_SETENV /* always make a copy, for consistency with !HAVE_SETENV */ char *str = xstrdup (value); setenv (name, str, 1); #else int len = strlen (name) + 1 + strlen (value) + 1; char *str = XMALLOC (char, len); sprintf (str, "%s=%s", name, value); if (putenv (str) != EXIT_SUCCESS) { XFREE (str); } #endif } } char * lt_extend_str (const char *orig_value, const char *add, int to_end) { char *new_value; if (orig_value && *orig_value) { int orig_value_len = strlen (orig_value); int add_len = strlen (add); new_value = XMALLOC (char, add_len + orig_value_len + 1); if (to_end) { strcpy (new_value, orig_value); strcpy (new_value + orig_value_len, add); } else { strcpy (new_value, add); strcpy (new_value + add_len, orig_value); } } else { new_value = xstrdup (add); } return new_value; } void lt_update_exe_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); /* some systems can't cope with a ':'-terminated path #' */ int len = strlen (new_value); while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) { new_value[len-1] = '\0'; } lt_setenv (name, new_value); XFREE (new_value); } } void lt_update_lib_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); } } EOF case $host_os in mingw*) cat <<"EOF" /* Prepares an argument vector before calling spawn(). Note that spawn() does not by itself call the command interpreter (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&v); v.dwPlatformId == VER_PLATFORM_WIN32_NT; }) ? "cmd.exe" : "command.com"). Instead it simply concatenates the arguments, separated by ' ', and calls CreateProcess(). We must quote the arguments since Win32 CreateProcess() interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a special way: - Space and tab are interpreted as delimiters. They are not treated as delimiters if they are surrounded by double quotes: "...". - Unescaped double quotes are removed from the input. Their only effect is that within double quotes, space and tab are treated like normal characters. - Backslashes not followed by double quotes are not special. - But 2*n+1 backslashes followed by a double quote become n backslashes followed by a double quote (n >= 0): \" -> " \\\" -> \" \\\\\" -> \\" */ #define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" #define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" char ** prepare_spawn (char **argv) { size_t argc; char **new_argv; size_t i; /* Count number of arguments. */ for (argc = 0; argv[argc] != NULL; argc++) ; /* Allocate new argument vector. */ new_argv = XMALLOC (char *, argc + 1); /* Put quoted arguments into the new argument vector. */ for (i = 0; i < argc; i++) { const char *string = argv[i]; if (string[0] == '\0') new_argv[i] = xstrdup ("\"\""); else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) { int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); size_t length; unsigned int backslashes; const char *s; char *quoted_string; char *p; length = 0; backslashes = 0; if (quote_around) length++; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') length += backslashes + 1; length++; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) length += backslashes + 1; quoted_string = XMALLOC (char, length + 1); p = quoted_string; backslashes = 0; if (quote_around) *p++ = '"'; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') { unsigned int j; for (j = backslashes + 1; j > 0; j--) *p++ = '\\'; } *p++ = c; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) { unsigned int j; for (j = backslashes; j > 0; j--) *p++ = '\\'; *p++ = '"'; } *p = '\0'; new_argv[i] = quoted_string; } else new_argv[i] = (char *) string; } new_argv[argc] = NULL; return new_argv; } EOF ;; esac cat <<"EOF" void lt_dump_script (FILE* f) { EOF func_emit_wrapper yes | $SED -n -e ' s/^\(.\{79\}\)\(..*\)/\1\ \2/ h s/\([\\"]\)/\\\1/g s/$/\\n/ s/\([^\n]*\).*/ fputs ("\1", f);/p g D' cat <<"EOF" } EOF } # end: func_emit_cwrapperexe_src # func_win32_import_lib_p ARG # True if ARG is an import lib, as indicated by $file_magic_cmd func_win32_import_lib_p () { $opt_debug case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in *import*) : ;; *) false ;; esac } # func_mode_link arg... func_mode_link () { $opt_debug case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # which system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying # to make a dll which has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. allow_undefined=yes ;; *) allow_undefined=yes ;; esac libtool_args=$nonopt base_compile="$nonopt $@" compile_command=$nonopt finalize_command=$nonopt compile_rpath= finalize_rpath= compile_shlibpath= finalize_shlibpath= convenience= old_convenience= deplibs= old_deplibs= compiler_flags= linker_flags= dllsearchpath= lib_search_path=`pwd` inst_prefix_dir= new_inherited_linker_flags= avoid_version=no bindir= dlfiles= dlprefiles= dlself=no export_dynamic=no export_symbols= export_symbols_regex= generated= libobjs= ltlibs= module=no no_install=no objs= non_pic_objects= precious_files_regex= prefer_static_libs=no preload=no prev= prevarg= release= rpath= xrpath= perm_rpath= temp_rpath= thread_safe=no vinfo= vinfo_number=no weak_libs= single_module="${wl}-single_module" func_infer_tag $base_compile # We need to know -static, to get the right output filenames. for arg do case $arg in -shared) test "$build_libtool_libs" != yes && \ func_fatal_configuration "can not build a shared library" build_old_libs=no break ;; -all-static | -static | -static-libtool-libs) case $arg in -all-static) if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then func_warning "complete static linking is impossible in this configuration" fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg="$1" shift func_quote_for_eval "$arg" qarg=$func_quote_for_eval_unquoted_result func_append libtool_args " $func_quote_for_eval_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) func_append compile_command " @OUTPUT@" func_append finalize_command " @OUTPUT@" ;; esac case $prev in bindir) bindir="$arg" prev= continue ;; dlfiles|dlprefiles) if test "$preload" = no; then # Add the symbol object into the linking commands. func_append compile_command " @SYMFILE@" func_append finalize_command " @SYMFILE@" preload=yes fi case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test "$dlself" = no; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test "$prev" = dlprefiles; then dlself=yes elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test "$prev" = dlfiles; then func_append dlfiles " $arg" else func_append dlprefiles " $arg" fi prev= continue ;; esac ;; expsyms) export_symbols="$arg" test -f "$arg" \ || func_fatal_error "symbol file \`$arg' does not exist" prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; framework) case $host in *-*-darwin*) case "$deplibs " in *" $qarg.ltframework "*) ;; *) func_append deplibs " $qarg.ltframework" # this is fixed later ;; esac ;; esac prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat "$save_arg"` do # func_append moreargs " $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi done else func_fatal_error "link input file \`$arg' does not exist" fi arg=$save_arg prev= continue ;; precious_regex) precious_files_regex="$arg" prev= continue ;; release) release="-$arg" prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac if test "$prev" = rpath; then case "$rpath " in *" $arg "*) ;; *) func_append rpath " $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) func_append xrpath " $arg" ;; esac fi prev= continue ;; shrext) shrext_cmds="$arg" prev= continue ;; weak) func_append weak_libs " $arg" prev= continue ;; xcclinker) func_append linker_flags " $qarg" func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xcompiler) func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xlinker) func_append linker_flags " $qarg" func_append compiler_flags " $wl$qarg" prev= func_append compile_command " $wl$qarg" func_append finalize_command " $wl$qarg" continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg="$arg" case $arg in -all-static) if test -n "$link_static_flag"; then # See comment for -static flag below, for more details. func_append compile_command " $link_static_flag" func_append finalize_command " $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. func_fatal_error "\`-allow-undefined' must not be used because it is the default" ;; -avoid-version) avoid_version=yes continue ;; -bindir) prev=bindir continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then func_fatal_error "more than one -exported-symbols argument is not allowed" fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework) prev=framework continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) func_append compile_command " $arg" func_append finalize_command " $arg" ;; esac continue ;; -L*) func_stripname "-L" '' "$arg" if test -z "$func_stripname_result"; then if test "$#" -gt 0; then func_fatal_error "require no space between \`-L' and \`$1'" else func_fatal_error "need path for \`-L' option" fi fi func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` test -z "$absdir" && \ func_fatal_error "cannot determine absolute directory name of \`$dir'" dir="$absdir" ;; esac case "$deplibs " in *" -L$dir "* | *" $arg "*) # Will only happen for absolute or sysroot arguments ;; *) # Preserve sysroot, but never include relative directories case $dir in [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; *) func_append deplibs " -L$dir" ;; esac func_append lib_search_path " $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; ::) dllsearchpath=$dir;; *) func_append dllsearchpath ":$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework func_append deplibs " System.ltframework" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi func_append deplibs " $arg" continue ;; -module) module=yes continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. # Darwin uses the -arch flag to determine output architecture. -model|-arch|-isysroot|--sysroot) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case "$new_inherited_linker_flags " in *" $arg "*) ;; * ) func_append new_inherited_linker_flags " $arg" ;; esac continue ;; -multi_module) single_module="${wl}-multi_module" continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. func_warning "\`-no-install' is ignored for $host" func_warning "assuming \`-no-fast-install' instead" fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) func_stripname '-R' '' "$arg" dir=$func_stripname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; =*) func_stripname '=' '' "$dir" dir=$lt_sysroot$func_stripname_result ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac continue ;; -shared) # The effects of -shared are defined in a previous loop. continue ;; -shrext) prev=shrext continue ;; -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -weak) prev=weak continue ;; -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" func_append arg " $func_quote_for_eval_result" func_append compiler_flags " $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Wl,*) func_stripname '-Wl,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" func_append arg " $wl$func_quote_for_eval_result" func_append compiler_flags " $wl$func_quote_for_eval_result" func_append linker_flags " $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # -msg_* for osf cc -msg_*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; # Flags to be passed through unchanged, with rationale: # -64, -mips[0-9] enable 64-bit mode for the SGI compiler # -r[0-9][0-9]* specify processor for the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler # +DA*, +DD* enable 64-bit mode for the HP compiler # -q* compiler args for the IBM compiler # -m*, -t[45]*, -txscale* architecture-specific flags for GCC # -F/path path to uninstalled frameworks, gcc on darwin # -p, -pg, --coverage, -fprofile-* profiling flags for GCC # @file GCC response files # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-flto*|-fwhopr*|-fuse-linker-plugin) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" continue ;; # Some other compiler flag. -* | +*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; *.$objext) # A standard object. func_append objs " $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi ;; *.$libext) # An archive. func_append deplibs " $arg" func_append old_deplibs " $arg" continue ;; *.la) # A libtool-controlled library. func_resolve_sysroot "$arg" if test "$prev" = dlfiles; then # This library was specified with -dlopen. func_append dlfiles " $func_resolve_sysroot_result" prev= elif test "$prev" = dlprefiles; then # The library was specified with -dlpreopen. func_append dlprefiles " $func_resolve_sysroot_result" prev= else func_append deplibs " $func_resolve_sysroot_result" fi continue ;; # Some other compiler argument. *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then func_append compile_command " $arg" func_append finalize_command " $arg" fi done # argument parsing loop test -n "$prev" && \ func_fatal_help "the \`$prevarg' option requires an argument" if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" func_append compile_command " $arg" func_append finalize_command " $arg" fi oldlibs= # calculate the name of the file, without its directory func_basename "$output" outputname="$func_basename_result" libobjs_save="$libobjs" if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" func_dirname "$output" "/" "" output_objdir="$func_dirname_result$objdir" func_to_tool_file "$output_objdir/" tool_output_objdir=$func_to_tool_file_result # Create the object directory. func_mkdir_p "$output_objdir" # Determine the type of output case $output in "") func_fatal_help "you must specify an output file" ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if $opt_preserve_dup_deps ; then case "$libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append libs " $deplib" done if test "$linkmode" = lib; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= if $opt_duplicate_compiler_generated_deps; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; esac func_append pre_post_deps " $pre_post_dep" done fi pre_post_deps= fi deplibs= newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries notinst_deplibs= # not-installed libtool libraries notinst_path= # paths that contain not-installed libtool libraries case $linkmode in lib) passes="conv dlpreopen link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=no newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do # The preopen pass in lib mode reverses $deplibs; put it back here # so that -L comes before libs that need it for instance... if test "$linkmode,$pass" = "lib,link"; then ## FIXME: Find the place where the list is rebuilt in the wrong ## order, and fix it there properly tmp_deplibs= for deplib in $deplibs; do tmp_deplibs="$deplib $tmp_deplibs" done deplibs="$tmp_deplibs" fi if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan"; then libs="$deplibs" deplibs= fi if test "$linkmode" = prog; then case $pass in dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS%" test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" ;; esac fi if test "$linkmode,$pass" = "lib,dlpreopen"; then # Collect and forward deplibs of preopened libtool libs for lib in $dlprefiles; do # Ignore non-libtool-libs dependency_libs= func_resolve_sysroot "$lib" case $lib in *.la) func_source "$func_resolve_sysroot_result" ;; esac # Collect preopened libtool deplibs, except any this library # has declared as weak libs for deplib in $dependency_libs; do func_basename "$deplib" deplib_base=$func_basename_result case " $weak_libs " in *" $deplib_base "*) ;; *) func_append deplibs " $deplib" ;; esac done done libs="$dlprefiles" fi if test "$pass" = dlopen; then # Collect dlpreopened libraries save_deplibs="$deplibs" deplibs= fi for deplib in $libs; do lib= found=no case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append compiler_flags " $deplib" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then func_warning "\`-l' is ignored for archives/objects" continue fi func_stripname '-l' '' "$deplib" name=$func_stripname_result if test "$linkmode" = lib; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" fi for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib="$searchdir/lib${name}${search_ext}" if test -f "$lib"; then if test "$search_ext" = ".la"; then found=yes else found=no fi break 2 fi done done if test "$found" != yes; then # deplib doesn't seem to be a libtool library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue else # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $deplib "*) if func_lalib_p "$lib"; then library_names= old_library= func_source "$lib" for l in $old_library $library_names; do ll="$l" done if test "X$ll" = "X$old_library" ; then # only static version available found=no func_dirname "$lib" "" "." ladir="$func_dirname_result" lib=$ladir/$old_library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi fi ;; # -l *.ltframework) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test "$pass" = conv && continue newdependency_libs="$deplib $newdependency_libs" func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; prog) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi if test "$pass" = scan; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; *) func_warning "\`-L' is ignored for archives/objects" ;; esac # linkmode continue ;; # -L -R*) if test "$pass" = link; then func_stripname '-R' '' "$deplib" func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # Make sure the xrpath contains only unique directories. case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac fi deplibs="$deplib $deplibs" continue ;; *.la) func_resolve_sysroot "$deplib" lib=$func_resolve_sysroot_result ;; *.$libext) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) # Linking convenience modules into shared libraries is allowed, # but linking other static libraries is non-portable. case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; then echo $ECHO "*** Warning: Trying to link with static lib archive $deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because the file extensions .$libext of this argument makes me believe" echo "*** that it is just a static archive that I should not use here." else echo $ECHO "*** Warning: Linking the shared library $output against the" $ECHO "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi ;; esac continue ;; prog) if test "$pass" != link; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test "$pass" = conv; then deplibs="$deplib $deplibs" elif test "$linkmode" = prog; then if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlopen support or we're linking statically, # we need to preload. func_append newdlprefiles " $deplib" compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append newdlfiles " $deplib" fi fi continue ;; %DEPLIBS%) alldeplibs=yes continue ;; esac # case $deplib if test "$found" = yes || test -f "$lib"; then : else func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" fi # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$lib" \ || func_fatal_error "\`$lib' is not a valid libtool archive" func_dirname "$lib" "" "." ladir="$func_dirname_result" dlname= dlopen= dlpreopen= libdir= library_names= old_library= inherited_linker_flags= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no avoidtemprpath= # Read the .la file func_source "$lib" # Convert "-framework foo" to "foo.ltframework" if test -n "$inherited_linker_flags"; then tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do case " $new_inherited_linker_flags " in *" $tmp_inherited_linker_flag "*) ;; *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; esac done fi dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || { test "$linkmode" != prog && test "$linkmode" != lib; }; then test -n "$dlopen" && func_append dlfiles " $dlopen" test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" fi if test "$pass" = conv; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # It is a libtool convenience library, so add in its objects. func_append convenience " $ladir/$objdir/$old_library" func_append old_convenience " $ladir/$objdir/$old_library" tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done elif test "$linkmode" != prog && test "$linkmode" != lib; then func_fatal_error "\`$lib' is not a convenience library" fi continue fi # $pass = conv # Get the name of the library we link against. linklib= if test -n "$old_library" && { test "$prefer_static_libs" = yes || test "$prefer_static_libs,$installed" = "built,no"; }; then linklib=$old_library else for l in $old_library $library_names; do linklib="$l" done fi if test -z "$linklib"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # This library was specified with -dlopen. if test "$pass" = dlopen; then if test -z "$libdir"; then func_fatal_error "cannot -dlopen a convenience library: \`$lib'" fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. func_append dlprefiles " $lib $dependency_libs" else func_append newdlfiles " $lib" fi continue fi # $pass = dlopen # We need an absolute path. case $ladir in [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then func_warning "cannot determine absolute directory name of \`$ladir'" func_warning "passing it literally to the linker, although it might fail" abs_ladir="$ladir" fi ;; esac func_basename "$lib" laname="$func_basename_result" # Find the relevant object directory and library name. if test "X$installed" = Xyes; then if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then func_warning "library \`$lib' was moved." dir="$ladir" absdir="$abs_ladir" libdir="$abs_ladir" else dir="$lt_sysroot$libdir" absdir="$lt_sysroot$libdir" fi test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later func_append notinst_path " $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later func_append notinst_path " $abs_ladir" fi fi # $installed = yes func_stripname 'lib' '.la' "$laname" name=$func_stripname_result # This library was specified with -dlpreopen. if test "$pass" = dlpreopen; then if test -z "$libdir" && test "$linkmode" = prog; then func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" fi case "$host" in # special handling for platforms with PE-DLLs. *cygwin* | *mingw* | *cegcc* ) # Linker will automatically link against shared library if both # static and shared are present. Therefore, ensure we extract # symbols from the import library if a shared library is present # (otherwise, the dlopen module name will be incorrect). We do # this by putting the import library name into $newdlprefiles. # We recover the dlopen module name by 'saving' the la file # name in a special purpose variable, and (later) extracting the # dlname from the la file. if test -n "$dlname"; then func_tr_sh "$dir/$linklib" eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" func_append newdlprefiles " $dir/$linklib" else func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" fi ;; * ) # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). if test -n "$old_library"; then func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" # Otherwise, use the dlname, so that lt_dlopen finds it. elif test -n "$dlname"; then func_append newdlprefiles " $dir/$dlname" else func_append newdlprefiles " $dir/$linklib" fi ;; esac fi # $pass = dlpreopen if test -z "$libdir"; then # Link the convenience library if test "$linkmode" = lib; then deplibs="$dir/$old_library $deplibs" elif test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi if test "$linkmode" = prog && test "$pass" != link; then func_append newlib_search_path " $ladir" deplibs="$lib $deplibs" linkalldeplibs=no if test "$link_all_deplibs" != no || test -z "$library_names" || test "$build_libtool_libs" = no; then linkalldeplibs=yes fi tmp_libs= for deplib in $dependency_libs; do case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; esac # Need to link against all dependency_libs? if test "$linkalldeplibs" = yes; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done # for deplib continue fi # $linkmode = prog... if test "$linkmode,$pass" = "prog,link"; then if test -n "$library_names" && { { test "$prefer_static_libs" = no || test "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath:" in *"$absdir:"*) ;; *) func_append temp_rpath "$absdir:" ;; esac fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi # $linkmode,$pass = prog,link... if test "$alldeplibs" = yes && { test "$deplibs_check_method" = pass_all || { test "$build_libtool_libs" = yes && test -n "$library_names"; }; }; then # We only need to search for static libraries continue fi fi link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes; then use_static_libs=no fi if test -n "$library_names" && { test "$use_static_libs" = no || test -z "$old_library"; }; then case $host in *cygwin* | *mingw* | *cegcc*) # No point in relinking DLLs because paths are not encoded func_append notinst_deplibs " $lib" need_relink=no ;; *) if test "$installed" = no; then func_append notinst_deplibs " $lib" need_relink=yes fi ;; esac # This is a shared library # Warn about portability, can't link against -module's on some # systems (darwin). Don't bleat about dlopened modules though! dlopenmodule="" for dlpremoduletest in $dlprefiles; do if test "X$dlpremoduletest" = "X$lib"; then dlopenmodule="$dlpremoduletest" break fi done if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then echo if test "$linkmode" = prog; then $ECHO "*** Warning: Linking the executable $output against the loadable module" else $ECHO "*** Warning: Linking the shared library $output against the loadable module" fi $ECHO "*** $linklib is not portable!" fi if test "$linkmode" = lib && test "$hardcode_into_libs" = yes; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname set dummy $library_names shift realname="$1" shift libname=`eval "\\$ECHO \"$libname_spec\""` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname="$dlname" elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw* | *cegcc*) func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; esac eval soname=\"$soname_spec\" else soname="$realname" fi # Make a new name for the extract_expsyms_cmds to use soroot="$soname" func_basename "$soroot" soname="$func_basename_result" func_stripname 'lib' '.dll' "$soname" newlib=libimp-$func_stripname_result.a # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else func_verbose "extracting exported symbol list from \`$soname'" func_execute_cmds "$extract_expsyms_cmds" 'exit $?' fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else func_verbose "generating import library for \`$soname'" func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test "$linkmode" = prog || test "$opt_mode" != relink; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test "$hardcode_direct" = no; then add="$dir/$linklib" case $host in *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir="-L$dir" ;; *-*-darwin* ) # if the lib is a (non-dlopened) module then we can not # link against it, someone is ignoring the earlier warnings if /usr/bin/file -L $add 2> /dev/null | $GREP ": [^:]* bundle" >/dev/null ; then if test "X$dlopenmodule" != "X$lib"; then $ECHO "*** Warning: lib $linklib is a module, not a shared library" if test -z "$old_library" ; then echo echo "*** And there doesn't seem to be a static archive available" echo "*** The link will probably fail, sorry" else add="$dir/$old_library" fi elif test -n "$old_library"; then add="$dir/$old_library" fi fi esac elif test "$hardcode_minus_L" = no; then case $host in *-*-sunos*) add_shlibpath="$dir" ;; esac add_dir="-L$dir" add="-l$name" elif test "$hardcode_shlibpath_var" = no; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; relink) if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$absdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; *) lib_linked=no ;; esac if test "$lib_linked" != yes; then func_fatal_configuration "unsupported hardcode properties" fi if test -n "$add_shlibpath"; then case :$compile_shlibpath: in *":$add_shlibpath:"*) ;; *) func_append compile_shlibpath "$add_shlibpath:" ;; esac fi if test "$linkmode" = prog; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" if test "$hardcode_direct" != yes && test "$hardcode_minus_L" != yes && test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac fi fi fi if test "$linkmode" = prog || test "$opt_mode" = relink; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$libdir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$libdir" add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac add="-l$name" elif test "$hardcode_automatic" = yes; then if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then add="$inst_prefix_dir$libdir/$linklib" else add="$libdir/$linklib" fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir="-L$libdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" fi if test "$linkmode" = prog; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test "$linkmode" = prog; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. if test "$hardcode_direct" != unsupported; then test -n "$old_library" && linklib="$old_library" compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi elif test "$build_libtool_libs" = yes; then # Not a shared library if test "$deplibs_check_method" != pass_all; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. echo $ECHO "*** Warning: This system can not link to static lib archive $lib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then echo "*** But as you try to build a module library, libtool will still create " echo "*** a static module, that should work as long as the dlopening application" echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using \`nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi else deplibs="$dir/$old_library $deplibs" link_static=yes fi fi # link shared/static library? if test "$linkmode" = lib; then if test -n "$dependency_libs" && { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || test "$link_static" = yes; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do case $libdir in -R*) func_stripname '-R' '' "$libdir" temp_xrpath=$func_stripname_result case " $xrpath " in *" $temp_xrpath "*) ;; *) func_append xrpath " $temp_xrpath";; esac;; *) func_append temp_deplibs " $libdir";; esac done dependency_libs="$temp_deplibs" fi func_append newlib_search_path " $absdir" # Link against this library test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result";; *) func_resolve_sysroot "$deplib" ;; esac if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $func_resolve_sysroot_result "*) func_append specialdeplibs " $func_resolve_sysroot_result" ;; esac fi func_append tmp_libs " $func_resolve_sysroot_result" done if test "$link_all_deplibs" != no; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do path= case $deplib in -L*) path="$deplib" ;; *.la) func_resolve_sysroot "$deplib" deplib=$func_resolve_sysroot_result func_dirname "$deplib" "" "." dir=$func_dirname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then func_warning "cannot determine absolute directory name of \`$dir'" absdir="$dir" fi ;; esac if $GREP "^installed=no" $deplib > /dev/null; then case $host in *-*-darwin*) depdepl= eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names" ; then for tmp in $deplibrary_names ; do depdepl=$tmp done if test -f "$absdir/$objdir/$depdepl" ; then depdepl="$absdir/$objdir/$depdepl" darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` if test -z "$darwin_install_name"; then darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` fi func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}" path= fi fi ;; *) path="-L$absdir/$objdir" ;; esac else eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" test "$absdir" != "$libdir" && \ func_warning "\`$deplib' seems to be moved" path="-L$absdir" fi ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs if test "$pass" = link; then if test "$linkmode" = "prog"; then compile_deplibs="$new_inherited_linker_flags $compile_deplibs" finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" else compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` fi fi dependency_libs="$newdependency_libs" if test "$pass" = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test "$pass" != dlopen; then if test "$pass" != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) func_append lib_search_path " $dir" ;; esac done newlib_search_path= fi if test "$linkmode,$pass" != "prog,link"; then vars="deplibs" else vars="compile_deplibs finalize_deplibs" fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do # FIXME: Pedantically, this is the right thing to do, so # that some nasty dependency loop isn't accidentally # broken: #new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or # is implicitly linked in more than once by the # compiler, it is considered special, and multiple # occurrences thereof are not removed. Compare this # with having the same library being listed as a # dependency of multiple other libraries: in this case, # we know (pedantically, we assume) the library does not # need to be listed more than once, so we keep only the # last copy. This is not always right, but it is rare # enough that we require users that really mean to play # such unportable linking tricks to link the library # using -Wl,-lname, so that libtool does not consider it # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$deplib $new_libs" ;; esac ;; esac ;; esac done tmp_libs= for deplib in $new_libs; do case $deplib in -L*) case " $tmp_libs " in *" $deplib "*) ;; *) func_append tmp_libs " $deplib" ;; esac ;; *) func_append tmp_libs " $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= for i in $dependency_libs ; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) i="" ;; esac if test -n "$i" ; then func_append tmp_libs " $i" fi done dependency_libs=$tmp_libs done # for pass if test "$linkmode" = prog; then dlfiles="$newdlfiles" fi if test "$linkmode" = prog || test "$linkmode" = lib; then dlprefiles="$newdlprefiles" fi case $linkmode in oldlib) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for archives" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for archives" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for archives" test -n "$xrpath" && \ func_warning "\`-R' is ignored for archives" test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for archives" test -n "$release" && \ func_warning "\`-release' is ignored for archives" test -n "$export_symbols$export_symbols_regex" && \ func_warning "\`-export-symbols' is ignored for archives" # Now set the variables for building old libraries. build_libtool_libs=no oldlibs="$output" func_append objs "$old_deplibs" ;; lib) # Make sure we only generate libraries of the form `libNAME.la'. case $outputname in lib*) func_stripname 'lib' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) test "$module" = no && \ func_fatal_help "libtool library \`$output' must begin with \`lib'" if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required func_stripname '' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else func_stripname '' '.la' "$outputname" libname=$func_stripname_result fi ;; esac if test -n "$objs"; then if test "$deplibs_check_method" != pass_all; then func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" else echo $ECHO "*** Warning: Linking the shared library $output against the non-libtool" $ECHO "*** objects $objs is not portable!" func_append libobjs " $objs" fi fi test "$dlself" != no && \ func_warning "\`-dlopen self' is ignored for libtool libraries" set dummy $rpath shift test "$#" -gt 1 && \ func_warning "ignoring multiple \`-rpath's for a libtool library" install_libdir="$1" oldlibs= if test -z "$rpath"; then if test "$build_libtool_libs" = yes; then # Building a libtool convenience library. # Some compilers have problems with a `.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for convenience libraries" test -n "$release" && \ func_warning "\`-release' is ignored for convenience libraries" else # Parse the version information argument. save_ifs="$IFS"; IFS=':' set dummy $vinfo 0 0 0 shift IFS="$save_ifs" test -n "$7" && \ func_fatal_help "too many parameters to \`-version-info'" # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major="$1" number_minor="$2" number_revision="$3" # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # which has an extra 1 added just for fun # case $version_type in # correct linux to gnu/linux during the next big refactor darwin|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_revision" ;; freebsd-aout|freebsd-elf|qnx|sunos) current="$number_major" revision="$number_minor" age="0" ;; irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; *) func_fatal_configuration "$modename: unknown library version type \`$version_type'" ;; esac ;; no) current="$1" revision="$2" age="$3" ;; esac # Check that each of the things are valid numbers. case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "CURRENT \`$current' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "REVISION \`$revision' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "AGE \`$age' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac if test "$age" -gt "$current"; then func_error "AGE \`$age' is greater than the current interface number \`$current'" func_fatal_error "\`$vinfo' is not valid version information" fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" # Darwin ld doesn't like 0 for these options... func_arith $current + 1 minor_current=$func_arith_result xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; freebsd-aout) major=".$current" versuffix=".$current.$revision"; ;; freebsd-elf) major=".$current" versuffix=".$current" ;; irix | nonstopux) if test "X$lt_irix_increment" = "Xno"; then func_arith $current - $age else func_arith $current - $age + 1 fi major=$func_arith_result case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring="$verstring_prefix$major.$revision" # Add in all the interfaces that we are compatible with. loop=$revision while test "$loop" -ne 0; do func_arith $revision - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring_prefix$major.$iface:$verstring" done # Before this point, $major must not contain `.'. major=.$major versuffix="$major.$revision" ;; linux) # correct to gnu/linux during the next big refactor func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" ;; osf) func_arith $current - $age major=.$func_arith_result versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" # Add in all the interfaces that we are compatible with. loop=$age while test "$loop" -ne 0; do func_arith $current - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring:${iface}.0" done # Make executables depend on our current version. func_append verstring ":${current}.0" ;; qnx) major=".$current" versuffix=".$current" ;; sunos) major=".$current" versuffix=".$current.$revision" ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 filesystems. func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; *) func_fatal_configuration "unknown library version type \`$version_type'" ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring="0.0" ;; esac if test "$need_version" = no; then versuffix= else versuffix=".0.0" fi fi # Remove version info from name if versioning should be avoided if test "$avoid_version" = yes && test "$need_version" = no; then major= versuffix= verstring="" fi # Check to see if the archive will have undefined symbols. if test "$allow_undefined" = yes; then if test "$allow_undefined_flag" = unsupported; then func_warning "undefined symbols not allowed in $host shared libraries" build_libtool_libs=no build_old_libs=yes fi else # Don't allow undefined symbols. allow_undefined_flag="$no_undefined_flag" fi fi func_generate_dlsyms "$libname" "$libname" "yes" func_append libobjs " $symfileobj" test "X$libobjs" = "X " && libobjs= if test "$opt_mode" != relink; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= tempremovelist=`$ECHO "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext | *.gcno) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi func_append removelist " $p" ;; *) ;; esac done test -n "$removelist" && \ func_show_eval "${RM}r \$removelist" fi # Now set the variables for building old libraries. if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then func_append oldlibs " $output_objdir/$libname.$libext" # Transform .lo files to .o files. oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` fi # Eliminate all temporary directories. #for path in $notinst_path; do # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` #done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. temp_xrpath= for libdir in $xrpath; do func_replace_sysroot "$libdir" func_append temp_xrpath " -R$func_replace_sysroot_result" case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened old_dlfiles="$dlfiles" dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in *" $lib "*) ;; *) func_append dlfiles " $lib" ;; esac done # Make sure dlprefiles contains only unique files old_dlprefiles="$dlprefiles" dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in *" $lib "*) ;; *) func_append dlprefiles " $lib" ;; esac done if test "$build_libtool_libs" = yes; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework func_append deplibs " System.ltframework" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # Add libc to deplibs on all other systems if necessary. if test "$build_libtool_need_lc" = "yes"; then func_append deplibs " -lc" fi ;; esac fi # Transform deplibs into only deplibs that can be linked in shared. name_save=$name libname_save=$libname release_save=$release versuffix_save=$versuffix major_save=$major # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? release="" versuffix="" major="" newdeplibs= droppeddeps=no case $deplibs_check_method in pass_all) # Don't check for shared/static. Everything works. # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) # This code stresses the "libraries are programs" paradigm to its # limits. Maybe even breaks it. We compile a program, linking it # against the deplibs as a proxy for the library. Then we can check # whether they linked in statically or dynamically with ldd. $opt_dry_run || $RM conftest.c cat > conftest.c </dev/null` $nocaseglob else potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` fi for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null | $GREP " -> " >/dev/null; then continue fi # The statement above tries to avoid entering an # endless loop below, in case of cyclic links. # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? potlib="$potent_lib" while test -h "$potlib" 2>/dev/null; do potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | $SED -e 10q | $EGREP "$file_magic_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for file magic test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a file magic. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` for a_deplib in $deplibs; do case $a_deplib in -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $a_deplib "*) func_append newdeplibs " $a_deplib" a_deplib="" ;; esac fi if test -n "$a_deplib" ; then libname=`eval "\\$ECHO \"$libname_spec\""` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do potlib="$potent_lib" # see symlink-check above in file_magic test if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ $EGREP "$match_pattern_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a regex pattern. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; none | unknown | *) newdeplibs="" tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then for i in $predeps $postdeps ; do # can't use Xsed below, because $i might contain '/' tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` done fi case $tmp_deplibs in *[!\ \ ]*) echo if test "X$deplibs_check_method" = "Xnone"; then echo "*** Warning: inter-library dependencies are not supported in this platform." else echo "*** Warning: inter-library dependencies are not known to be supported." fi echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes ;; esac ;; esac versuffix=$versuffix_save major=$major_save release=$release_save libname=$libname_save name=$name_save case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library with the System framework newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac if test "$droppeddeps" = yes; then if test "$module" = yes; then echo echo "*** Warning: libtool could not satisfy all declared inter-library" $ECHO "*** dependencies of module $libname. Therefore, libtool will create" echo "*** a static module, that should work as long as the dlopening" echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using \`nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else echo "*** The inter-library dependencies that have been dropped here will be" echo "*** automatically added whenever a program is linked with this library" echo "*** or is declared to -dlopen it." if test "$allow_undefined" = no; then echo echo "*** Since this library must not contain undefined symbols," echo "*** because either the platform does not support them or" echo "*** it was explicitly requested with -no-undefined," echo "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" case $host in *-*-darwin*) newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done deplibs="$new_libs" # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then # Remove ${wl} instances when linking with ld. # FIXME: should test the right _cmds variable. case $archive_cmds in *\$LD\ *) wl= ;; esac if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath="$finalize_rpath" test "$opt_mode" != relink && rpath="$compile_rpath$rpath" for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then func_replace_sysroot "$libdir" libdir=$func_replace_sysroot_result if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append dep_rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath="$finalize_shlibpath" test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath" if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names shift realname="$1" shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname="$realname" fi if test -z "$dlname"; then dlname=$soname fi lib="$output_objdir/$realname" linknames= for link do func_append linknames " $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` test "X$libobjs" = "X " && libobjs= delfiles= if test -n "$export_symbols" && test -n "$include_expsyms"; then $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" export_symbols="$output_objdir/$libname.uexp" func_append delfiles " $export_symbols" fi orig_export_symbols= case $host_os in cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile if test "x`$SED 1q $export_symbols`" != xEXPORTS; then # and it's NOT already a .def file. Must figure out # which of the given symbols are data symbols and tag # them as such. So, trigger use of export_symbols_cmds. # export_symbols gets reassigned inside the "prepare # the list of exported symbols" if statement, so the # include_expsyms logic still works. orig_export_symbols="$export_symbols" export_symbols= always_export_symbols=yes fi fi ;; esac # Prepare the list of exported symbols if test -z "$export_symbols"; then if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd1 in $cmds; do IFS="$save_ifs" # Take the normal branch if the nm_file_list_spec branch # doesn't work or if tool conversion is not needed. case $nm_file_list_spec~$to_tool_file_cmd in *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) try_normal_branch=yes eval cmd=\"$cmd1\" func_len " $cmd" len=$func_len_result ;; *) try_normal_branch=no ;; esac if test "$try_normal_branch" = yes \ && { test "$len" -lt "$max_cmd_len" \ || test "$max_cmd_len" -le -1; } then func_show_eval "$cmd" 'exit $?' skipped_export=false elif test -n "$nm_file_list_spec"; then func_basename "$output" output_la=$func_basename_result save_libobjs=$libobjs save_output=$output output=${output_objdir}/${output_la}.nm func_to_tool_file "$output" libobjs=$nm_file_list_spec$func_to_tool_file_result func_append delfiles " $output" func_verbose "creating $NM input file list: $output" for obj in $save_libobjs; do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > "$output" eval cmd=\"$cmd1\" func_show_eval "$cmd" 'exit $?' output=$save_output libobjs=$save_libobjs skipped_export=false else # The command line is too long to execute in one step. func_verbose "using reloadable object file for export list..." skipped_export=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break fi done IFS="$save_ifs" if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) func_append tmp_deplibs " $test_deplib" ;; esac done deplibs="$tmp_deplibs" if test -n "$convenience"; then if test -n "$whole_archive_flag_spec" && test "$compiler_needs_object" = yes && test -z "$libobjs"; then # extract the archives, so we have objects to list. # TODO: could optimize this to just extract one archive. whole_archive_flag_spec= fi if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= else gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $convenience func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi fi if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" func_append linker_flags " $flag" fi # Make a backup of the uninstalled library when relinking if test "$opt_mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && func_len " $test_cmds" && len=$func_len_result && test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise # or, if using GNU ld and skipped_export is not :, use a linker # script. # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output func_basename "$output" output_la=$func_basename_result # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= last_robj= k=1 if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then output=${output_objdir}/${output_la}.lnkscript func_verbose "creating GNU ld script: $output" echo 'INPUT (' > $output for obj in $save_libobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done echo ')' >> $output func_append delfiles " $output" func_to_tool_file "$output" output=$func_to_tool_file_result elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then output=${output_objdir}/${output_la}.lnk func_verbose "creating linker input file list: $output" : > $output set x $save_libobjs shift firstobj= if test "$compiler_needs_object" = yes; then firstobj="$1 " shift fi for obj do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done func_append delfiles " $output" func_to_tool_file "$output" output=$firstobj\"$file_list_spec$func_to_tool_file_result\" else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." output=$output_objdir/$output_la-${k}.$objext eval test_cmds=\"$reload_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 # Loop over the list of objects to be linked. for obj in $save_libobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result if test "X$objlist" = X || test "$len" -lt "$max_cmd_len"; then func_append objlist " $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test "$k" -eq 1 ; then # The first file doesn't have a previous command to add. reload_objs=$objlist eval concat_cmds=\"$reload_cmds\" else # All subsequent reloadable object files will link in # the last one created. reload_objs="$objlist $last_robj" eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" fi last_robj=$output_objdir/$output_la-${k}.$objext func_arith $k + 1 k=$func_arith_result output=$output_objdir/$output_la-${k}.$objext objlist=" $obj" func_len " $last_robj" func_arith $len0 + $func_len_result len=$func_arith_result fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ reload_objs="$objlist $last_robj" eval concat_cmds=\"\${concat_cmds}$reload_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" fi func_append delfiles " $output" else output= fi if ${skipped_export-false}; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols libobjs=$output # Append the command to create the export file. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi fi test -n "$save_libobjs" && func_verbose "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs="$IFS"; IFS='~' for cmd in $concat_cmds; do IFS="$save_ifs" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$opt_mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" if test -n "$export_symbols_regex" && ${skipped_export-false}; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi if ${skipped_export-false}; then if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi fi libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi fi fi if test -n "$delfiles"; then # Append the command to remove temporary files to $cmds. eval cmds=\"\$cmds~\$RM $delfiles\" fi # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$opt_mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" # Restore the uninstalled library and exit if test "$opt_mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then func_show_eval '${RM}r "$gentop"' fi fi exit $EXIT_SUCCESS fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done # If -module or -export-dynamic was specified, set the dlname. if test "$module" = yes || test "$export_dynamic" = yes; then # On all known operating systems, these are identical. dlname="$soname" fi fi ;; obj) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for objects" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for objects" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for objects" test -n "$xrpath" && \ func_warning "\`-R' is ignored for objects" test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for objects" test -n "$release" && \ func_warning "\`-release' is ignored for objects" case $output in *.lo) test -n "$objs$old_deplibs" && \ func_fatal_error "cannot build library object \`$output' from non-libtool objects" libobj=$output func_lo2o "$libobj" obj=$func_lo2o_result ;; *) libobj= obj="$output" ;; esac # Delete the old objects. $opt_dry_run || $RM $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of # -Wl from whole_archive_flag_spec and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` else gentop="$output_objdir/${obj}x" func_append generated " $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" fi fi # If we're not building shared, we need to use non_pic_objs test "$build_libtool_libs" != yes && libobjs="$non_pic_objects" # Create the old-style object. reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test output="$obj" func_execute_cmds "$reload_cmds" 'exit $?' # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS fi if test "$build_libtool_libs" != yes; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS fi if test -n "$pic_flag" || test "$pic_mode" != default; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output="$libobj" func_execute_cmds "$reload_cmds" 'exit $?' fi if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS ;; prog) case $host in *cygwin*) func_stripname '' '.exe' "$output" output=$func_stripname_result.exe;; esac test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for programs" test -n "$release" && \ func_warning "\`-release' is ignored for programs" test "$preload" = yes \ && test "$dlopen_support" = unknown \ && test "$dlopen_self" = unknown \ && test "$dlopen_self_static" = unknown && \ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac case $host in *-*-darwin*) # Don't allow lazy linking, it breaks C++ global constructors # But is supposedly fixed on 10.4 or later (yay!). if test "$tagname" = CXX ; then case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 10.[0123]) func_append compile_command " ${wl}-bind_at_load" func_append finalize_command " ${wl}-bind_at_load" ;; esac fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done compile_deplibs="$new_libs" func_append compile_command " $compile_deplibs" func_append finalize_command " $finalize_deplibs" if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. for libdir in $rpath $xrpath; do # This is the magic to use -rpath. case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done fi # Now hardcode the library paths rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; ::) dllsearchpath=$libdir;; *) func_append dllsearchpath ":$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi compile_rpath="$rpath" rpath= hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in *" $libdir "*) ;; *) func_append finalize_perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi finalize_rpath="$rpath" if test -n "$libobjs" && test "$build_old_libs" = yes; then # Transform all the library objects into standard objects. compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` fi func_generate_dlsyms "$outputname" "@PROGRAM@" "no" # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' fi wrappers_required=yes case $host in *cegcc* | *mingw32ce*) # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. wrappers_required=no ;; *cygwin* | *mingw* ) if test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; *) if test "$need_relink" = no || test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; esac if test "$wrappers_required" = no; then # Replace the output file specification. compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. exit_status=0 func_show_eval "$link_command" 'exit_status=$?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Delete the generated files. if test -f "$output_objdir/${outputname}S.${objext}"; then func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' fi exit $exit_status fi if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi if test -n "$finalize_perm_rpath"; then # We should set the runpath_var. rpath= for dir in $finalize_perm_rpath; do func_append rpath "$dir:" done finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi fi if test "$no_install" = yes; then # We don't need to create a wrapper script. link_command="$compile_var$compile_command$compile_rpath" # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. $opt_dry_run || $RM $output # Link the executable and exit func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi exit $EXIT_SUCCESS fi if test "$hardcode_action" = relink; then # Fast installation is not supported link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" func_warning "this platform does not like uninstalled shared libraries" func_warning "\`$output' will be relinked during installation" else if test "$fast_install" != no; then link_command="$finalize_var$compile_command$finalize_rpath" if test "$fast_install" = yes; then relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` else # fast_install is set to needless relink_command= fi else link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" fi fi # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output_objdir/$outputname" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Now create the wrapper script. func_verbose "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` fi # Only actually do things if not in dry run mode. $opt_dry_run || { # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) func_stripname '' '.exe' "$output" output=$func_stripname_result ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe func_stripname '' '.exe' "$outputname" outputname=$func_stripname_result ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) func_dirname_and_basename "$output" "" "." output_name=$func_basename_result output_path=$func_dirname_result cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $RM $cwrappersource $cwrapper trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 func_emit_cwrapperexe_src > $cwrappersource # The wrapper executable is built using the $host compiler, # because it contains $host paths and files. If cross- # compiling, it, like the target executable, must be # executed on the $host or under an emulation environment. $opt_dry_run || { $LTCC $LTCFLAGS -o $cwrapper $cwrappersource $STRIP $cwrapper } # Now, create the wrapper script for func_source use: func_ltwrapper_scriptname $cwrapper $RM $func_ltwrapper_scriptname_result trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 $opt_dry_run || { # note: this script will not be executed, so do not chmod. if test "x$build" = "x$host" ; then $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result else func_emit_wrapper no > $func_ltwrapper_scriptname_result fi } ;; * ) $RM $output trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 func_emit_wrapper no > $output chmod +x $output ;; esac } exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do if test "$build_libtool_libs" = convenience; then oldobjs="$libobjs_save $symfileobj" addlibs="$convenience" build_libtool_libs=no else if test "$build_libtool_libs" = module; then oldobjs="$libobjs_save" build_libtool_libs=no else oldobjs="$old_deplibs $non_pic_objects" if test "$preload" = yes && test -f "$symfileobj"; then func_append oldobjs " $symfileobj" fi fi addlibs="$old_convenience" fi if test -n "$addlibs"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $addlibs func_append oldobjs " $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append oldobjs " $func_extract_archives_result" fi # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do func_basename "$obj" $ECHO "$func_basename_result" done | sort | sort -uc >/dev/null 2>&1); then : else echo "copying selected object files to avoid basename conflicts..." gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_mkdir_p "$gentop" save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do func_basename "$obj" objbase="$func_basename_result" case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase func_arith $counter + 1 counter=$func_arith_result case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" func_append oldobjs " $gentop/$newobj" ;; *) func_append oldobjs " $obj" ;; esac done fi func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result eval cmds=\"$old_archive_cmds\" func_len " $cmds" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds elif test -n "$archiver_list_spec"; then func_verbose "using command file archive linking..." for obj in $oldobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > $output_objdir/$libname.libcmd func_to_tool_file "$output_objdir/$libname.libcmd" oldobjs=" $archiver_list_spec$func_to_tool_file_result" cmds=$old_archive_cmds else # the command line is too long to link in one step, link in parts func_verbose "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs oldobjs= # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done eval test_cmds=\"$old_archive_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 for obj in $save_oldobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result func_append objlist " $obj" if test "$len" -lt "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj" ; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" objlist= len=$len0 fi done RANLIB=$save_RANLIB oldobjs=$objlist if test "X$oldobjs" = "X" ; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi fi func_execute_cmds "$cmds" 'exit $?' done test -n "$generated" && \ func_show_eval "${RM}r$generated" # Now create the libtool archive. case $output in *.la) old_library= test "$build_old_libs" = yes && old_library="$libname.$libext" func_verbose "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` if test "$hardcode_automatic" = yes ; then relink_command= fi # Only create the output if not a dry run. $opt_dry_run || { for installed in no yes; do if test "$installed" = yes; then if test -z "$install_libdir"; then break fi output="$output_objdir/$outputname"i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) func_basename "$deplib" name="$func_basename_result" func_resolve_sysroot "$deplib" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" ;; -L*) func_stripname -L '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -L$func_replace_sysroot_result" ;; -R*) func_stripname -R '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -R$func_replace_sysroot_result" ;; *) func_append newdependency_libs " $deplib" ;; esac done dependency_libs="$newdependency_libs" newdlfiles= for lib in $dlfiles; do case $lib in *.la) func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" ;; *) func_append newdlfiles " $lib" ;; esac done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in *.la) # Only pass preopened files to the pseudo-archive (for # eventual linking with the app. that links it) if we # didn't already link the preopened objects directly into # the library: func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" ;; esac done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlfiles " $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlprefiles " $abs" done dlprefiles="$newdlprefiles" fi $RM $output # place dlname in correct position for cygwin # In fact, it would be nice if we could use this code for all target # systems that can't hard-code library paths into their executables # and that have no shared library path variable independent of PATH, # but it turns out we can't easily determine that from inspecting # libtool variables, so we have to hard-code the OSs to which it # applies here; at the moment, that means platforms that use the PE # object format with DLL files. See the long comment at the top of # tests/bindir.at for full details. tdlname=$dlname case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) # If a -bindir argument was supplied, place the dll there. if test "x$bindir" != x ; then func_relative_path "$install_libdir" "$bindir" tdlname=$func_relative_path_result$dlname else # Otherwise fall back on heuristic. tdlname=../bin/$dlname fi ;; esac $ECHO > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Linker flags that can not go in dependency_libs. inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Names of additional weak libraries provided by this library weak_library_names='$weak_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test "$installed" = no && test "$need_relink" = yes; then $ECHO >> $output "\ relink_command=\"$relink_command\"" fi done } # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' ;; esac exit $EXIT_SUCCESS } { test "$opt_mode" = link || test "$opt_mode" = relink; } && func_mode_link ${1+"$@"} # func_mode_uninstall arg... func_mode_uninstall () { $opt_debug RM="$nonopt" files= rmforce= exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" for arg do case $arg in -f) func_append RM " $arg"; rmforce=yes ;; -*) func_append RM " $arg" ;; *) func_append files " $arg" ;; esac done test -z "$RM" && \ func_fatal_help "you must specify an RM program" rmdirs= for file in $files; do func_dirname "$file" "" "." dir="$func_dirname_result" if test "X$dir" = X.; then odir="$objdir" else odir="$dir/$objdir" fi func_basename "$file" name="$func_basename_result" test "$opt_mode" = uninstall && odir="$dir" # Remember odir for removal later, being careful to avoid duplicates if test "$opt_mode" = clean; then case " $rmdirs " in *" $odir "*) ;; *) func_append rmdirs " $odir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. if { test -L "$file"; } >/dev/null 2>&1 || { test -h "$file"; } >/dev/null 2>&1 || test -f "$file"; then : elif test -d "$file"; then exit_status=1 continue elif test "$rmforce" = yes; then continue fi rmfiles="$file" case $name in *.la) # Possibly a libtool archive, so verify it. if func_lalib_p "$file"; then func_source $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do func_append rmfiles " $odir/$n" done test -n "$old_library" && func_append rmfiles " $odir/$old_library" case "$opt_mode" in clean) case " $library_names " in *" $dlname "*) ;; *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; esac test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if func_lalib_p "$file"; then # Read the .lo file func_source $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" && test "$pic_object" != none; then func_append rmfiles " $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. if test -n "$non_pic_object" && test "$non_pic_object" != none; then func_append rmfiles " $dir/$non_pic_object" fi fi ;; *) if test "$opt_mode" = clean ; then noexename=$name case $file in *.exe) func_stripname '' '.exe' "$file" file=$func_stripname_result func_stripname '' '.exe' "$name" noexename=$func_stripname_result # $file with .exe has already been added to rmfiles, # add $file without .exe func_append rmfiles " $file" ;; esac # Do a test to see if this is a libtool program. if func_ltwrapper_p "$file"; then if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" relink_command= func_source $func_ltwrapper_scriptname_result func_append rmfiles " $func_ltwrapper_scriptname_result" else relink_command= func_source $dir/$noexename fi # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles func_append rmfiles " $odir/$name $odir/${name}S.${objext}" if test "$fast_install" = yes && test -n "$relink_command"; then func_append rmfiles " $odir/lt-$name" fi if test "X$noexename" != "X$name" ; then func_append rmfiles " $odir/lt-${noexename}.c" fi fi fi ;; esac func_show_eval "$RM $rmfiles" 'exit_status=1' done # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then func_show_eval "rmdir $dir >/dev/null 2>&1" fi done exit $exit_status } { test "$opt_mode" = uninstall || test "$opt_mode" = clean; } && func_mode_uninstall ${1+"$@"} test -z "$opt_mode" && { help="$generic_help" func_fatal_help "you must specify a MODE" } test -z "$exec_cmd" && \ func_fatal_help "invalid operation mode \`$opt_mode'" if test -n "$exec_cmd"; then eval exec "$exec_cmd" exit $EXIT_FAILURE fi exit $exit_status # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared build_libtool_libs=no build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: # vi:sw=2 Heimdall-1.4.1/heimdall/m4/000077500000000000000000000000001234253036400153355ustar00rootroot00000000000000Heimdall-1.4.1/heimdall/m4/libtool.m4000066400000000000000000010604341234253036400172530ustar00rootroot00000000000000# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. m4_define([_LT_COPYING], [dnl # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ]) # serial 57 LT_INIT # LT_PREREQ(VERSION) # ------------------ # Complain and exit if this libtool version is less that VERSION. m4_defun([LT_PREREQ], [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, [m4_default([$3], [m4_fatal([Libtool version $1 or higher is required], 63)])], [$2])]) # _LT_CHECK_BUILDDIR # ------------------ # Complain if the absolute build directory name contains unusual characters m4_defun([_LT_CHECK_BUILDDIR], [case `pwd` in *\ * | *\ *) AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; esac ]) # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LTDL_INIT])dnl m4_require([_LT_CHECK_BUILDDIR])dnl dnl Autoconf doesn't catch unexpanded LT_ macros by default: m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 dnl unless we require an AC_DEFUNed macro: AC_REQUIRE([LTOPTIONS_VERSION])dnl AC_REQUIRE([LTSUGAR_VERSION])dnl AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([LTOBSOLETE_VERSION])dnl m4_require([_LT_PROG_LTMAIN])dnl _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl _LT_SETUP # Only expand once: m4_define([LT_INIT]) ])# LT_INIT # Old names: AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PROG_LIBTOOL], []) dnl AC_DEFUN([AM_PROG_LIBTOOL], []) # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. m4_defun([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` ]) # _LT_FILEUTILS_DEFAULTS # ---------------------- # It is okay to use these file commands and assume they have been set # sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. m4_defun([_LT_FILEUTILS_DEFAULTS], [: ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} ])# _LT_FILEUTILS_DEFAULTS # _LT_SETUP # --------- m4_defun([_LT_SETUP], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl dnl _LT_DECL([], [build_alias], [0], [The build system])dnl _LT_DECL([], [build], [0])dnl _LT_DECL([], [build_os], [0])dnl dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl dnl AC_REQUIRE([AC_PROG_LN_S])dnl test -z "$LN_S" && LN_S="ln -s" _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl dnl AC_REQUIRE([LT_CMD_MAX_LEN])dnl _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl m4_require([_LT_CMD_RELOAD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_WITH_SYSROOT])dnl _LT_CONFIG_LIBTOOL_INIT([ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi ]) if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi _LT_CHECK_OBJDIR m4_require([_LT_TAG_COMPILER])dnl case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then _LT_PATH_MAGIC fi ;; esac # Use C for the default configuration in the libtool script LT_SUPPORTED_TAG([CC]) _LT_LANG_C_CONFIG _LT_LANG_DEFAULT_CONFIG _LT_CONFIG_COMMANDS ])# _LT_SETUP # _LT_PREPARE_SED_QUOTE_VARS # -------------------------- # Define a few sed substitution that help us do robust quoting. m4_defun([_LT_PREPARE_SED_QUOTE_VARS], [# Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([["`\\]]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ]) # _LT_PROG_LTMAIN # --------------- # Note that this code is called both from `configure', and `config.status' # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, # `config.status' has no value for ac_aux_dir unless we are using Automake, # so we pass a copy along to make sure it has a sensible value anyway. m4_defun([_LT_PROG_LTMAIN], [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) ltmain="$ac_aux_dir/ltmain.sh" ])# _LT_PROG_LTMAIN ## ------------------------------------- ## ## Accumulate code for creating libtool. ## ## ------------------------------------- ## # So that we can recreate a full libtool script including additional # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS # in macros and then make a single call at the end using the `libtool' # label. # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) # ---------------------------------------- # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL_INIT], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_INIT], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_INIT]) # _LT_CONFIG_LIBTOOL([COMMANDS]) # ------------------------------ # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) # ----------------------------------------------------- m4_defun([_LT_CONFIG_SAVE_COMMANDS], [_LT_CONFIG_LIBTOOL([$1]) _LT_CONFIG_LIBTOOL_INIT([$2]) ]) # _LT_FORMAT_COMMENT([COMMENT]) # ----------------------------- # Add leading comment marks to the start of each line, and a trailing # full-stop to the whole comment if one is not present already. m4_define([_LT_FORMAT_COMMENT], [m4_ifval([$1], [ m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) )]) ## ------------------------ ## ## FIXME: Eliminate VARNAME ## ## ------------------------ ## # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) # ------------------------------------------------------------------- # CONFIGNAME is the name given to the value in the libtool script. # VARNAME is the (base) name used in the configure script. # VALUE may be 0, 1 or 2 for a computed quote escaped value based on # VARNAME. Any other value will be used directly. m4_define([_LT_DECL], [lt_if_append_uniq([lt_decl_varnames], [$2], [, ], [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], [m4_ifval([$1], [$1], [$2])]) lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) m4_ifval([$4], [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) lt_dict_add_subkey([lt_decl_dict], [$2], [tagged?], [m4_ifval([$5], [yes], [no])])]) ]) # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) # -------------------------------------------------------- m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_tag_varnames], [_lt_decl_filter([tagged?], [yes], $@)]) # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) # --------------------------------------------------------- m4_define([_lt_decl_filter], [m4_case([$#], [0], [m4_fatal([$0: too few arguments: $#])], [1], [m4_fatal([$0: too few arguments: $#: $1])], [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], [lt_dict_filter([lt_decl_dict], $@)])[]dnl ]) # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) # -------------------------------------------------- m4_define([lt_decl_quote_varnames], [_lt_decl_filter([value], [1], $@)]) # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_dquote_varnames], [_lt_decl_filter([value], [2], $@)]) # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_varnames_tagged], [m4_assert([$# <= 2])dnl _$0(m4_quote(m4_default([$1], [[, ]])), m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) m4_define([_lt_decl_varnames_tagged], [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) # lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_all_varnames], [_$0(m4_quote(m4_default([$1], [[, ]])), m4_if([$2], [], m4_quote(lt_decl_varnames), m4_quote(m4_shift($@))))[]dnl ]) m4_define([_lt_decl_all_varnames], [lt_join($@, lt_decl_varnames_tagged([$1], lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl ]) # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ # Quote a variable value, and forward it to `config.status' so that its # declaration there will have the same value as in `configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) # _LT_CONFIG_STATUS_DECLARATIONS # ------------------------------ # We delimit libtool config variables with single quotes, so when # we write them to config.status, we have to be sure to quote all # embedded single quotes properly. In configure, this macro expands # each variable declared with _LT_DECL (and _LT_TAGDECL) into: # # ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAGS # ---------------- # Output comment and list of tags supported by the script m4_defun([_LT_LIBTOOL_TAGS], [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl available_tags="_LT_TAGS"dnl ]) # _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) # ----------------------------------- # Extract the dictionary values for VARNAME (optionally with TAG) and # expand to a commented shell variable setting: # # # Some comment about what VAR is for. # visible_name=$lt_internal_name m4_define([_LT_LIBTOOL_DECLARE], [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [description])))[]dnl m4_pushdef([_libtool_name], m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), [0], [_libtool_name=[$]$1], [1], [_libtool_name=$lt_[]$1], [2], [_libtool_name=$lt_[]$1], [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl ]) # _LT_LIBTOOL_CONFIG_VARS # ----------------------- # Produce commented declarations of non-tagged libtool config variables # suitable for insertion in the LIBTOOL CONFIG section of the `libtool' # script. Tagged libtool config variables (even for the LIBTOOL CONFIG # section) are produced by _LT_LIBTOOL_TAG_VARS. m4_defun([_LT_LIBTOOL_CONFIG_VARS], [m4_foreach([_lt_var], m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAG_VARS(TAG) # ------------------------- m4_define([_LT_LIBTOOL_TAG_VARS], [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) # _LT_TAGVAR(VARNAME, [TAGNAME]) # ------------------------------ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) # _LT_CONFIG_COMMANDS # ------------------- # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of # variables for single and double quote escaping we saved from calls # to _LT_DECL, we can put quote escaped variables declarations # into `config.status', and then the shell code to quote escape them in # for loops in `config.status'. Finally, any additional code accumulated # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. m4_defun([_LT_CONFIG_COMMANDS], [AC_PROVIDE_IFELSE([LT_OUTPUT], dnl If the libtool generation code has been placed in $CONFIG_LT, dnl instead of duplicating it all over again into config.status, dnl then we will have config.status run $CONFIG_LT later, so it dnl needs to know what name is stored there: [AC_CONFIG_COMMANDS([libtool], [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], dnl If the libtool generation code is destined for config.status, dnl expand the accumulated commands and init code now: [AC_CONFIG_COMMANDS([libtool], [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) ])#_LT_CONFIG_COMMANDS # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], [ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' _LT_CONFIG_STATUS_DECLARATIONS LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$[]1 _LTECHO_EOF' } # Quote evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_quote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_dquote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done _LT_OUTPUT_LIBTOOL_INIT ]) # _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) # ------------------------------------ # Generate a child script FILE with all initialization necessary to # reuse the environment learned by the parent script, and make the # file executable. If COMMENT is supplied, it is inserted after the # `#!' sequence but before initialization text begins. After this # macro, additional text can be appended to FILE to form the body of # the child script. The macro ends with non-zero status if the # file could not be fully written (such as if the disk is full). m4_ifdef([AS_INIT_GENERATED], [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], [m4_defun([_LT_GENERATED_FILE_INIT], [m4_require([AS_PREPARE])]dnl [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl [lt_write_fail=0 cat >$1 <<_ASEOF || lt_write_fail=1 #! $SHELL # Generated by $as_me. $2 SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$1 <<\_ASEOF || lt_write_fail=1 AS_SHELL_SANITIZE _AS_PREPARE exec AS_MESSAGE_FD>&1 _ASEOF test $lt_write_fail = 0 && chmod +x $1[]dnl m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT # LT_OUTPUT # --------- # This macro allows early generation of the libtool script (before # AC_OUTPUT is called), incase it is used in configure for compilation # tests. AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} AC_MSG_NOTICE([creating $CONFIG_LT]) _LT_GENERATED_FILE_INIT(["$CONFIG_LT"], [# Run this file to recreate a libtool stub with the current configuration.]) cat >>"$CONFIG_LT" <<\_LTEOF lt_cl_silent=false exec AS_MESSAGE_LOG_FD>>config.log { echo AS_BOX([Running $as_me.]) } >&AS_MESSAGE_LOG_FD lt_cl_help="\ \`$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. Usage: $[0] [[OPTIONS]] -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files Report bugs to ." lt_cl_version="\ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. Copyright (C) 2011 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." while test $[#] != 0 do case $[1] in --version | --v* | -V ) echo "$lt_cl_version"; exit 0 ;; --help | --h* | -h ) echo "$lt_cl_help"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --quiet | --q* | --silent | --s* | -q ) lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] Try \`$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] Try \`$[0] --help' for more information.]) ;; esac shift done if $lt_cl_silent; then exec AS_MESSAGE_FD>/dev/null fi _LTEOF cat >>"$CONFIG_LT" <<_LTEOF _LT_OUTPUT_LIBTOOL_COMMANDS_INIT _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AC_MSG_NOTICE([creating $ofile]) _LT_OUTPUT_LIBTOOL_COMMANDS AS_EXIT(0) _LTEOF chmod +x "$CONFIG_LT" # configure is writing to config.log, but config.lt does its own redirection, # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. lt_cl_success=: test "$silent" = yes && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec AS_MESSAGE_LOG_FD>>config.log $lt_cl_success || AS_EXIT(1) ])# LT_OUTPUT # _LT_CONFIG(TAG) # --------------- # If TAG is the built-in tag, create an initial libtool script with a # default configuration from the untagged config vars. Otherwise add code # to config.status for appending the configuration named by TAG from the # matching tagged config vars. m4_defun([_LT_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_CONFIG_SAVE_COMMANDS([ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl m4_if(_LT_TAG, [C], [ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # _LT_COPYING _LT_LIBTOOL_TAGS # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac _LT_PROG_LTMAIN # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) _LT_PROG_REPLACE_SHELLFNS mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ], [cat <<_LT_EOF >> "$ofile" dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded dnl in a comment (ie after a #). # ### BEGIN LIBTOOL TAG CONFIG: $1 _LT_LIBTOOL_TAG_VARS(_LT_TAG) # ### END LIBTOOL TAG CONFIG: $1 _LT_EOF ])dnl /m4_if ], [m4_if([$1], [], [ PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile'], []) ])dnl /_LT_CONFIG_SAVE_COMMANDS ])# _LT_CONFIG # LT_SUPPORTED_TAG(TAG) # --------------------- # Trace this macro to discover what tags are supported by the libtool # --tag option, using: # autoconf --trace 'LT_SUPPORTED_TAG:$1' AC_DEFUN([LT_SUPPORTED_TAG], []) # C support is built-in for now m4_define([_LT_LANG_C_enabled], []) m4_define([_LT_TAGS], []) # LT_LANG(LANG) # ------------- # Enable libtool support for the given language if not already enabled. AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], [Go], [_LT_LANG(GO)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], [Windows Resource], [_LT_LANG(RC)], [m4_ifdef([_LT_LANG_]$1[_CONFIG], [_LT_LANG($1)], [m4_fatal([$0: unsupported language: "$1"])])])dnl ])# LT_LANG # _LT_LANG(LANGNAME) # ------------------ m4_defun([_LT_LANG], [m4_ifdef([_LT_LANG_]$1[_enabled], [], [LT_SUPPORTED_TAG([$1])dnl m4_append([_LT_TAGS], [$1 ])dnl m4_define([_LT_LANG_]$1[_enabled], [])dnl _LT_LANG_$1_CONFIG($1)])dnl ])# _LT_LANG m4_ifndef([AC_PROG_GO], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_GO. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_GO], [AC_LANG_PUSH(Go)dnl AC_ARG_VAR([GOC], [Go compiler command])dnl AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl _AC_ARG_VAR_LDFLAGS()dnl AC_CHECK_TOOL(GOC, gccgo) if test -z "$GOC"; then if test -n "$ac_tool_prefix"; then AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) fi fi if test -z "$GOC"; then AC_CHECK_PROG(GOC, gccgo, gccgo, false) fi ])#m4_defun ])#m4_ifndef # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], [AC_PROVIDE_IFELSE([AC_PROG_CXX], [LT_LANG(CXX)], [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) AC_PROVIDE_IFELSE([AC_PROG_F77], [LT_LANG(F77)], [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) AC_PROVIDE_IFELSE([AC_PROG_FC], [LT_LANG(FC)], [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal dnl pulling things in needlessly. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([LT_PROG_GCJ], [LT_LANG(GCJ)], [m4_ifdef([AC_PROG_GCJ], [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([A][M_PROG_GCJ], [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) AC_PROVIDE_IFELSE([AC_PROG_GO], [LT_LANG(GO)], [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) ])# _LT_LANG_DEFAULT_CONFIG # Obsolete macros: AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_CXX], []) dnl AC_DEFUN([AC_LIBTOOL_F77], []) dnl AC_DEFUN([AC_LIBTOOL_FC], []) dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) dnl AC_DEFUN([AC_LIBTOOL_RC], []) # _LT_TAG_COMPILER # ---------------- m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_TAG_COMPILER # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. m4_defun([_LT_COMPILER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. m4_defun([_LT_LINKER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ])# _LT_LINKER_BOILERPLATE # _LT_REQUIRED_DARWIN_CHECKS # ------------------------- m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ case $host_os in rhapsody* | darwin*) AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) AC_CHECK_TOOL([LIPO], [lipo], [:]) AC_CHECK_TOOL([OTOOL], [otool], [:]) AC_CHECK_TOOL([OTOOL64], [otool64], [:]) _LT_DECL([], [DSYMUTIL], [1], [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) _LT_DECL([], [NMEDIT], [1], [Tool to change global to local symbols on Mac OS X]) _LT_DECL([], [LIPO], [1], [Tool to manipulate fat objects and archives on Mac OS X]) _LT_DECL([], [OTOOL], [1], [ldd/readelf like tool for Mach-O binaries on Mac OS X]) _LT_DECL([], [OTOOL64], [1], [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -rf libconftest.dylib* rm -f conftest.* fi]) AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) LDFLAGS="$save_LDFLAGS" ]) AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], [lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then lt_cv_ld_force_load=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM ]) case $host_os in rhapsody* | darwin1.[[012]]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[[012]]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ]) # _LT_DARWIN_LINKER_FEATURES([TAG]) # --------------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ m4_require([_LT_REQUIRED_DARWIN_CHECKS]) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported if test "$lt_cv_ld_force_load" = "yes"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) else _LT_TAGVAR(whole_archive_flag_spec, $1)='' fi _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" m4_if([$1], [CXX], [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi ],[]) else _LT_TAGVAR(ld_shlibs, $1)=no fi ]) # _LT_SYS_MODULE_PATH_AIX([TAGNAME]) # ---------------------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. # Store the results from the different compilers for each TAGNAME. # Allow to override them for all tags through lt_cv_aix_libpath. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ lt_aix_libpath_sed='[ /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }]' _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi],[]) if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" fi ]) aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) fi ])# _LT_SYS_MODULE_PATH_AIX # _LT_SHELL_INIT(ARG) # ------------------- m4_define([_LT_SHELL_INIT], [m4_divert_text([M4SH-INIT], [$1 ])])# _LT_SHELL_INIT # _LT_PROG_ECHO_BACKSLASH # ----------------------- # Find how we can fake an echo command that does not interpret backslash. # In particular, with Autoconf 2.60 or later we add some code to the start # of the generated configure script which will find a shell with a builtin # printf (which we can use as an echo command). m4_defun([_LT_PROG_ECHO_BACKSLASH], [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO AC_MSG_CHECKING([how to print strings]) # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $[]1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } case "$ECHO" in printf*) AC_MSG_RESULT([printf]) ;; print*) AC_MSG_RESULT([print -r]) ;; *) AC_MSG_RESULT([cat]) ;; esac m4_ifdef([_AS_DETECT_SUGGESTED], [_AS_DETECT_SUGGESTED([ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test "X`printf %s $ECHO`" = "X$ECHO" \ || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) ])# _LT_PROG_ECHO_BACKSLASH # _LT_WITH_SYSROOT # ---------------- AC_DEFUN([_LT_WITH_SYSROOT], [AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], [ --with-sysroot[=DIR] Search for dependent libraries within DIR (or the compiler's sysroot if not specified).], [], [with_sysroot=no]) dnl lt_sysroot will always be passed unquoted. We quote it here dnl in case the user passed a directory name. lt_sysroot= case ${with_sysroot} in #( yes) if test "$GCC" = yes; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) AC_MSG_RESULT([${with_sysroot}]) AC_MSG_ERROR([The sysroot must be an absolute path.]) ;; esac AC_MSG_RESULT([${lt_sysroot:-no}]) _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl [dependent libraries, and in which our libraries should be installed.])]) # _LT_ENABLE_LOCK # --------------- m4_defun([_LT_ENABLE_LOCK], [AC_ARG_ENABLE([libtool-lock], [AS_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; *-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD="${LD-ld}_sol2" fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" ])# _LT_ENABLE_LOCK # _LT_PROG_AR # ----------- m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} : ${AR_FLAGS=cru} _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], [lt_cv_ar_at_file=no AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([lt_ar_try]) if test "$ac_status" -eq 0; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a AC_TRY_EVAL([lt_ar_try]) if test "$ac_status" -ne 0; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a ]) ]) if test "x$lt_cv_ar_at_file" = xno; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi _LT_DECL([], [archiver_list_spec], [1], [How to feed a file listing to the archiver]) ])# _LT_PROG_AR # _LT_CMD_OLD_ARCHIVE # ------------------- m4_defun([_LT_CMD_OLD_ARCHIVE], [_LT_PROG_AR AC_CHECK_TOOL(STRIP, strip, :) test -z "$STRIP" && STRIP=: _LT_DECL([], [STRIP], [1], [A symbol stripping program]) AC_CHECK_TOOL(RANLIB, ranlib, :) test -z "$RANLIB" && RANLIB=: _LT_DECL([], [RANLIB], [1], [Commands used to install an old-style archive]) # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac _LT_DECL([], [old_postinstall_cmds], [2]) _LT_DECL([], [old_postuninstall_cmds], [2]) _LT_TAGDECL([], [old_archive_cmds], [2], [Commands used to build an old-style archive]) _LT_DECL([], [lock_old_archive_extraction], [0], [Whether to use a lock for old archive extraction]) ])# _LT_CMD_OLD_ARCHIVE # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi $RM conftest* ]) if test x"[$]$2" = xyes; then m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) fi ])# _LT_COMPILER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------- # Check whether the given linker option works AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi else $2=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" ]) if test x"[$]$2" = xyes; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) fi ])# _LT_LINKER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) # LT_CMD_MAX_LEN #--------------- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl # find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ]) if test -n $lt_cv_sys_max_cmd_len ; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi max_cmd_len=$lt_cv_sys_max_cmd_len _LT_DECL([], [max_cmd_len], [0], [What is the maximum length of a command?]) ])# LT_CMD_MAX_LEN # Old name: AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) # _LT_HEADER_DLFCN # ---------------- m4_defun([_LT_HEADER_DLFCN], [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl ])# _LT_HEADER_DLFCN # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ---------------------------------------------------------------- m4_defun([_LT_TRY_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "$cross_compiling" = yes; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF [#line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; }] _LT_EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_TRY_DLOPEN_SELF # LT_SYS_DLOPEN_SELF # ------------------ AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen="shl_load"], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen="dlopen"], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) ]) ]) ]) ]) ]) ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi _LT_DECL([dlopen_support], [enable_dlopen], [0], [Whether dlopen is supported]) _LT_DECL([dlopen_self], [enable_dlopen_self], [0], [Whether dlopen of programs is supported]) _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], [Whether dlopen of statically linked programs is supported]) ])# LT_SYS_DLOPEN_SELF # Old name: AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) # _LT_COMPILER_C_O([TAGNAME]) # --------------------------- # Check to see if options -c and -o are simultaneously supported by compiler. # This macro does not hard code the compiler like AC_PROG_CC_C_O. m4_defun([_LT_COMPILER_C_O], [m4_require([_LT_DECL_SED])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ]) _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], [Does compiler simultaneously support -c and -o options?]) ])# _LT_COMPILER_C_O # _LT_COMPILER_FILE_LOCKS([TAGNAME]) # ---------------------------------- # Check to see if we can do hard links to lock some files if needed m4_defun([_LT_COMPILER_FILE_LOCKS], [m4_require([_LT_ENABLE_LOCK])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_COMPILER_C_O([$1]) hard_links="nottested" if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test "$hard_links" = no; then AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) ])# _LT_COMPILER_FILE_LOCKS # _LT_CHECK_OBJDIR # ---------------- m4_defun([_LT_CHECK_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir _LT_DECL([], [objdir], [0], [The name of the directory that contains temporary libtool files])dnl m4_pattern_allow([LT_OBJDIR])dnl AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", [Define to the sub-directory in which libtool stores uninstalled libraries.]) ])# _LT_CHECK_OBJDIR # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) # -------------------------------------- # Check hardcoding attributes. m4_defun([_LT_LINKER_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_TAGVAR(hardcode_action, $1)= if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || test -n "$_LT_TAGVAR(runpath_var, $1)" || test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then # We can hardcode non-existent directories. if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then # Linking always hardcodes the temporary library directory. _LT_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi _LT_TAGDECL([], [hardcode_action], [0], [How to hardcode a shared library path into an executable]) ])# _LT_LINKER_HARDCODE_LIBPATH # _LT_CMD_STRIPLIB # ---------------- m4_defun([_LT_CMD_STRIPLIB], [m4_require([_LT_DECL_EGREP]) striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) ])# _LT_CMD_STRIPLIB # _LT_SYS_DYNAMIC_LINKER([TAG]) # ----------------------------- # PORTME Fill in your ld.so characteristics m4_defun([_LT_SYS_DYNAMIC_LINKER], [AC_REQUIRE([AC_CANONICAL_HOST])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; *) lt_sed_strip_eq="s,=/,/,g" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[[4-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[[45]]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' library_names_spec='${libname}.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec="$LIB" if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[23]].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[[3-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], [lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], [lt_cv_shlibpath_overrides_runpath=yes])]) LDFLAGS=$save_LDFLAGS libdir=$save_libdir ]) shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[[89]] | openbsd2.[[89]].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and restored at link time]) _LT_DECL([], [need_lib_prefix], [0], [Do we need the "lib" prefix for modules?]) _LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) _LT_DECL([], [version_type], [0], [Library versioning type]) _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) _LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) _LT_DECL([], [shlibpath_overrides_runpath], [0], [Is shlibpath searched before the hard-coded library search path?]) _LT_DECL([], [libname_spec], [1], [Format of library name prefix]) _LT_DECL([], [library_names_spec], [1], [[List of archive names. First name is the real one, the rest are links. The last name is the one that the linker finds with -lNAME]]) _LT_DECL([], [soname_spec], [1], [[The coded name of the library, if different from the real name]]) _LT_DECL([], [install_override_mode], [1], [Permission mode override for installation of shared libraries]) _LT_DECL([], [postinstall_cmds], [2], [Command to use after installation of a shared archive]) _LT_DECL([], [postuninstall_cmds], [2], [Command to use after uninstallation of a shared archive]) _LT_DECL([], [finish_cmds], [2], [Commands used to finish a libtool library installation in a directory]) _LT_DECL([], [finish_eval], [1], [[As "finish_cmds", except a single script fragment to be evaled but not shown]]) _LT_DECL([], [hardcode_into_libs], [0], [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) _LT_DECL([], [sys_lib_dlsearch_path_spec], [2], [Run-time system search path for libraries]) ])# _LT_SYS_DYNAMIC_LINKER # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- # find a file program which can recognize shared library AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$1; then lt_cv_path_MAGIC_CMD="$ac_dir/$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac]) MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi _LT_DECL([], [MAGIC_CMD], [0], [Used to examine libraries when file_magic_cmd begins with "file"])dnl ])# _LT_PATH_TOOL_PREFIX # Old name: AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) # _LT_PATH_MAGIC # -------------- # find a file program which can recognize a shared library m4_defun([_LT_PATH_MAGIC], [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# _LT_PATH_MAGIC # LT_PATH_LD # ---------- # find the pathname to the GNU or non-GNU linker AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PROG_ECHO_BACKSLASH])dnl AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test "$withval" = no || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown _LT_DECL([], [deplibs_check_method], [1], [Method to check whether dependent libraries are shared objects]) _LT_DECL([], [file_magic_cmd], [1], [Command to use when deplibs_check_method = "file_magic"]) _LT_DECL([], [file_magic_glob], [1], [How to find potential files when deplibs_check_method = "file_magic"]) _LT_DECL([], [want_nocaseglob], [1], [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) ])# _LT_CHECK_MAGIC_METHOD # LT_PATH_NM # ---------- # find the pathname to a BSD- or MS-compatible name lister AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi]) if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols" ;; *) DUMPBIN=: ;; esac fi AC_SUBST([DUMPBIN]) if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm AC_SUBST([NM]) _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], [lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) cat conftest.out >&AS_MESSAGE_LOG_FD if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest*]) ])# LT_PATH_NM # Old names: AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_PROG_NM], []) dnl AC_DEFUN([AC_PROG_NM], []) # _LT_CHECK_SHAREDLIB_FROM_LINKLIB # -------------------------------- # how to determine the name of the shared library # associated with a specific link library. # -- PORTME fill in with the dynamic library characteristics m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], [m4_require([_LT_DECL_EGREP]) m4_require([_LT_DECL_OBJDUMP]) m4_require([_LT_DECL_DLLTOOL]) AC_CACHE_CHECK([how to associate runtime and link libraries], lt_cv_sharedlib_from_linklib_cmd, [lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh # decide which to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd="$ECHO" ;; esac ]) sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO _LT_DECL([], [sharedlib_from_linklib_cmd], [1], [Command to associate shared and link libraries]) ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB # _LT_PATH_MANIFEST_TOOL # ---------------------- # locate the manifest tool m4_defun([_LT_PATH_MANIFEST_TOOL], [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], [lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&AS_MESSAGE_LOG_FD if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest*]) if test "x$lt_cv_path_mainfest_tool" != xyes; then MANIFEST_TOOL=: fi _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl ])# _LT_PATH_MANIFEST_TOOL # LT_LIB_M # -------- # check for math library AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM="-lm") ;; esac AC_SUBST([LIBM]) ])# LT_LIB_M # Old name: AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_CHECK_LIBM], []) # _LT_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------- m4_defun([_LT_COMPILER_NO_RTTI], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test "$GCC" = yes; then case $cc_basename in nvcc*) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; *) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; esac _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], [Compiler flag to turn off builtin functions]) ])# _LT_COMPILER_NO_RTTI # _LT_CMD_GLOBAL_SYMBOLS # ---------------------- m4_defun([_LT_CMD_GLOBAL_SYMBOLS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([LT_PATH_NM])dnl AC_REQUIRE([LT_PATH_LD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_TAG_COMPILER])dnl # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[[ABCDGISTW]]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[[ABCDEGRST]]' fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGIRSTW]]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT@&t@_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT@&t@_DLSYM_CONST #else # define LT@&t@_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT@&t@_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[[]] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then nm_file_list_spec='@' fi _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], [Transform the output of nm in a proper C declaration]) _LT_DECL([global_symbol_to_c_name_address], [lt_cv_sys_global_symbol_to_c_name_address], [1], [Transform the output of nm in a C name address pair]) _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) _LT_DECL([], [nm_file_list_spec], [1], [Specify filename containing input files for $NM]) ]) # _LT_CMD_GLOBAL_SYMBOLS # _LT_COMPILER_PIC([TAGNAME]) # --------------------------- m4_defun([_LT_COMPILER_PIC], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_wl, $1)= _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)= m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix[[4-9]]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; dgux*) case $cc_basename in ec++*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL 8.0, 9.0 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx*) # Digital/Compaq C++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc*) # Lucid _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test "$GCC" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; hpux9* | hpux10* | hpux11*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # Lahey Fortran 8.1. lf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' ;; nagfor*) # NAG Fortran compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; *Sun\ F* | *Sun*Fortran*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; *Intel*\ [[CF]]*Compiler*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; *Portland\ Group*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; esac ;; newsos6) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; rdos*) _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; sunos4*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; unicos*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; uts4*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" ;; esac AC_CACHE_CHECK([for $compiler option to produce PIC], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], [Additional compiler flags for building library objects]) _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], [How to pass a linker flag through the compiler]) # # Check to make sure the static flag actually works. # wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], [Compiler flag to prevent dynamic linking]) ])# _LT_COMPILER_PIC # _LT_LINKER_SHLIBS([TAGNAME]) # ---------------------------- # See if the linker supports building shared libraries. m4_defun([_LT_LINKER_SHLIBS], [AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) m4_if([$1], [CXX], [ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global defined # symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; cygwin* | mingw* | cegcc*) case $cc_basename in cl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] ;; esac ;; linux* | k*bsd*-gnu | gnu*) _LT_TAGVAR(link_all_deplibs, $1)=no ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac ], [ runpath_var= _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_cmds, $1)= _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(old_archive_from_new_cmds, $1)= _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_TAGVAR(thread_safe_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; linux* | k*bsd*-gnu | gnu*) _LT_TAGVAR(link_all_deplibs, $1)=no ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test "$with_gnu_ld" = yes; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test "$lt_use_gnu_ld_interface" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no case `$LD -v 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; sunos4*) _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then runpath_var= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_TAGVAR(hardcode_minus_L, $1)=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global # defined symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi _LT_TAGVAR(link_all_deplibs, $1)=no else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; bsdi[[45]]*) _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes fi ;; hpux11*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) m4_if($1, [], [ # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) _LT_LINKER_OPTION([if $CC understands -b], _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) ;; esac fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], [lt_cv_irix_exported_symbol], [save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" AC_LINK_IFELSE( [AC_LANG_SOURCE( [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], [C++], [[int foo (void) { return 0; }]], [Fortran 77], [[ subroutine foo end]], [Fortran], [[ subroutine foo end]])])], [lt_cv_irix_exported_symbol=yes], [lt_cv_irix_exported_symbol=no]) LDFLAGS="$save_LDFLAGS"]) if test "$lt_cv_irix_exported_symbol" = yes; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes _LT_TAGVAR(link_all_deplibs, $1)=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' else case $host_os in openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(ld_shlibs, $1)=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' ;; esac fi fi ]) AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl _LT_DECL([], [extract_expsyms_cmds], [2], [The commands to extract the exported symbol list from a shared archive]) # # Do we need to explicitly link libc? # case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_TAGVAR(archive_cmds_need_lc, $1)=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $_LT_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_CACHE_CHECK([whether -lc should be explicitly linked in], [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), [$RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) _LT_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) then lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no else lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* ]) _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) ;; esac fi ;; esac _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], [Whether or not to add -lc for building shared libraries]) _LT_TAGDECL([allow_libtool_libs_with_static_runtimes], [enable_shared_with_static_runtimes], [0], [Whether or not to disallow shared libs when runtime libs are static]) _LT_TAGDECL([], [export_dynamic_flag_spec], [1], [Compiler flag to allow reflexive dlopens]) _LT_TAGDECL([], [whole_archive_flag_spec], [1], [Compiler flag to generate shared objects directly from archives]) _LT_TAGDECL([], [compiler_needs_object], [1], [Whether the compiler copes with passing no objects directly]) _LT_TAGDECL([], [old_archive_from_new_cmds], [2], [Create an old-style archive from a shared archive]) _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], [Create a temporary old-style archive to link instead of a shared archive]) _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) _LT_TAGDECL([], [archive_expsym_cmds], [2]) _LT_TAGDECL([], [module_cmds], [2], [Commands used to build a loadable module if different from building a shared archive.]) _LT_TAGDECL([], [module_expsym_cmds], [2]) _LT_TAGDECL([], [with_gnu_ld], [1], [Whether we are building with GNU ld or not]) _LT_TAGDECL([], [allow_undefined_flag], [1], [Flag that allows shared libraries with undefined symbols to be built]) _LT_TAGDECL([], [no_undefined_flag], [1], [Flag that enforces no undefined symbols]) _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_direct_absolute], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary and the resulting library dependency is "absolute", i.e impossible to change by setting ${shlibpath_var} if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_shlibpath_var], [0], [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_automatic], [0], [Set to "yes" if building a shared library automatically hardcodes DIR into the library and all subsequent libraries and executables linked against it]) _LT_TAGDECL([], [inherit_rpath], [0], [Set to yes if linker adds runtime paths of dependent libraries to runtime path list]) _LT_TAGDECL([], [link_all_deplibs], [0], [Whether libtool must link a program against all its dependency libraries]) _LT_TAGDECL([], [always_export_symbols], [0], [Set to "yes" if exported symbols are required]) _LT_TAGDECL([], [export_symbols_cmds], [2], [The commands to list exported symbols]) _LT_TAGDECL([], [exclude_expsyms], [1], [Symbols that should not be listed in the preloaded symbols]) _LT_TAGDECL([], [include_expsyms], [1], [Symbols that must always be exported]) _LT_TAGDECL([], [prelink_cmds], [2], [Commands necessary for linking programs (against libraries) with templates]) _LT_TAGDECL([], [postlink_cmds], [2], [Commands necessary for finishing linking programs]) _LT_TAGDECL([], [file_list_spec], [1], [Specify filename containing input files]) dnl FIXME: Not yet implemented dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], dnl [Compiler flag to generate thread safe objects]) ])# _LT_LINKER_SHLIBS # _LT_LANG_C_CONFIG([TAG]) # ------------------------ # Ensure that the configuration variables for a C compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_C_CONFIG], [m4_require([_LT_DECL_EGREP])dnl lt_save_CC="$CC" AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_TAG_COMPILER # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) LT_SYS_DLOPEN_SELF _LT_CMD_STRIPLIB # Report which library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_CONFIG($1) fi AC_LANG_POP CC="$lt_save_CC" ])# _LT_LANG_C_CONFIG # _LT_LANG_CXX_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_CXX_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP else _lt_caught_CXX_error=yes fi AC_LANG_PUSH(C++) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} CFLAGS=$CXXFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration LT_PATH_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an empty # executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared # libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl*) # Native MSVC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ func_to_tool_file "$lt_outputfile"~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes ;; gnu*) ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; hpux9*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) _LT_TAGVAR(ld_shlibs, $1)=yes ;; openbsd2*) # C++ shared libraries are fairly broken _LT_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; cxx*) case $host in osf3*) _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; esac _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ '"$_LT_TAGVAR(old_archive_cmds, $1)" _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ '"$_LT_TAGVAR(reload_cmds, $1)" ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(GCC, $1)="$GXX" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes AC_LANG_POP ])# _LT_LANG_CXX_CONFIG # _LT_FUNC_STRIPNAME_CNF # ---------------------- # func_stripname_cnf prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # # This function is identical to the (non-XSI) version of func_stripname, # except this one can be used by m4 code that may be executed by configure, # rather than the libtool script. m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl AC_REQUIRE([_LT_DECL_SED]) AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) func_stripname_cnf () { case ${2} in .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; esac } # func_stripname_cnf ])# _LT_FUNC_STRIPNAME_CNF # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. m4_defun([_LT_SYS_HIDDEN_LIBDEPS], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl # Dependencies to place before and after the object being linked: _LT_TAGVAR(predep_objects, $1)= _LT_TAGVAR(postdep_objects, $1)= _LT_TAGVAR(predeps, $1)= _LT_TAGVAR(postdeps, $1)= _LT_TAGVAR(compiler_lib_search_path, $1)= dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF int a; void foo (void) { a = 0; } _LT_EOF ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer*4 a a=0 return end _LT_EOF ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer a a=0 return end _LT_EOF ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF public class foo { private int a; public void bar (void) { a = 0; } }; _LT_EOF ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF package foo func foo() { } _LT_EOF ]) _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case ${prev}${p} in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" || test $p = "-R"; then prev=$p continue fi # Expand the sysroot to ease extracting the directories later. if test -z "$prev"; then case $p in -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac fi case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test "$pre_test_object_deps_done" = no; then case ${prev} in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" else _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$_LT_TAGVAR(postdeps, $1)"; then _LT_TAGVAR(postdeps, $1)="${prev}${p}" else _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" fi fi prev= ;; *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$_LT_TAGVAR(predep_objects, $1)"; then _LT_TAGVAR(predep_objects, $1)="$p" else _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then _LT_TAGVAR(postdep_objects, $1)="$p" else _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling $1 test program" fi $RM -f confest.$objext CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken m4_if([$1], [CXX], [case $host_os in interix[[3-9]]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. _LT_TAGVAR(predep_objects,$1)= _LT_TAGVAR(postdep_objects,$1)= _LT_TAGVAR(postdeps,$1)= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) case " $_LT_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac _LT_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi _LT_TAGDECL([], [compiler_lib_search_dirs], [1], [The directories searched by this compiler when creating a shared library]) _LT_TAGDECL([], [predep_objects], [1], [Dependencies to place before and after the objects being linked to create a shared library]) _LT_TAGDECL([], [postdep_objects], [1]) _LT_TAGDECL([], [predeps], [1]) _LT_TAGDECL([], [postdeps], [1]) _LT_TAGDECL([], [compiler_lib_search_path], [1], [The library search path used internally by the compiler when linking a shared library]) ])# _LT_SYS_HIDDEN_LIBDEPS # _LT_LANG_F77_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_F77_CONFIG], [AC_LANG_PUSH(Fortran 77) if test -z "$F77" || test "X$F77" = "Xno"; then _lt_disable_F77=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_F77" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${F77-"f77"} CFLAGS=$FFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) GCC=$G77 if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$G77" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC="$lt_save_CC" CFLAGS="$lt_save_CFLAGS" fi # test "$_lt_disable_F77" != yes AC_LANG_POP ])# _LT_LANG_F77_CONFIG # _LT_LANG_FC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_FC_CONFIG], [AC_LANG_PUSH(Fortran) if test -z "$FC" || test "X$FC" = "Xno"; then _lt_disable_FC=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for fc test sources. ac_ext=${ac_fc_srcext-f} # Object file extension for compiled fc test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_FC" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${FC-"f95"} CFLAGS=$FCFLAGS compiler=$CC GCC=$ac_cv_fc_compiler_gnu _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS fi # test "$_lt_disable_FC" != yes AC_LANG_POP ])# _LT_LANG_FC_CONFIG # _LT_LANG_GCJ_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Java Compiler compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_GCJ_CONFIG], [AC_REQUIRE([LT_PROG_GCJ])dnl AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GCJ-"gcj"} CFLAGS=$GCJFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GCJ_CONFIG # _LT_LANG_GO_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Go compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_GO_CONFIG], [AC_REQUIRE([LT_PROG_GO])dnl AC_LANG_SAVE # Source file extension for Go test sources. ac_ext=go # Object file extension for compiled Go test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="package main; func main() { }" # Code to be used in simple link tests lt_simple_link_test_code='package main; func main() { }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GOC-"gccgo"} CFLAGS=$GOFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" _LT_CC_BASENAME([$compiler]) # Go did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GO_CONFIG # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_RC_CONFIG], [AC_REQUIRE([LT_PROG_RC])dnl AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code="$lt_simple_compile_test_code" # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC= CC=${RC-"windres"} CFLAGS= compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes if test -n "$compiler"; then : _LT_CONFIG($1) fi GCC=$lt_save_GCC AC_LANG_RESTORE CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_RC_CONFIG # LT_PROG_GCJ # ----------- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) # Old name: AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_GCJ], []) # LT_PROG_GO # ---------- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) ]) # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) ]) # Old name: AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_RC], []) # _LT_DECL_EGREP # -------------- # If we don't have a new enough Autoconf to choose the best grep # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep _LT_DECL([], [GREP], [1], [A grep program that handles long lines]) _LT_DECL([], [EGREP], [1], [An ERE matcher]) _LT_DECL([], [FGREP], [1], [A literal string matcher]) dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) # _LT_DECL_OBJDUMP # -------------- # If we don't have a new enough Autoconf to choose the best objdump # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_OBJDUMP], [AC_CHECK_TOOL(OBJDUMP, objdump, false) test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) AC_SUBST([OBJDUMP]) ]) # _LT_DECL_DLLTOOL # ---------------- # Ensure DLLTOOL variable is set. m4_defun([_LT_DECL_DLLTOOL], [AC_CHECK_TOOL(DLLTOOL, dlltool, false) test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program]) AC_SUBST([DLLTOOL]) ]) # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" _LT_DECL([], [SED], [1], [A sed program that does not truncate output]) _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], [Sed that helps us avoid accidentally triggering echo(1) options like -n]) ])# _LT_DECL_SED m4_ifndef([AC_PROG_SED], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ])#AC_PROG_SED ])#m4_ifndef # Old name: AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_SED], []) # _LT_CHECK_SHELL_FEATURES # ------------------------ # Find out whether the shell is Bourne or XSI compatible, # or has some other useful features. m4_defun([_LT_CHECK_SHELL_FEATURES], [AC_MSG_CHECKING([whether the shell understands some XSI constructs]) # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,b/c, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes AC_MSG_RESULT([$xsi_shell]) _LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) AC_MSG_CHECKING([whether the shell understands "+="]) lt_shell_append=no ( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes AC_MSG_RESULT([$lt_shell_append]) _LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl ])# _LT_CHECK_SHELL_FEATURES # _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) # ------------------------------------------------------ # In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and # '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. m4_defun([_LT_PROG_FUNCTION_REPLACE], [dnl { sed -e '/^$1 ()$/,/^} # $1 /c\ $1 ()\ {\ m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) } # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: ]) # _LT_PROG_REPLACE_SHELLFNS # ------------------------- # Replace existing portable implementations of several shell functions with # equivalent extended shell implementations where those features are available.. m4_defun([_LT_PROG_REPLACE_SHELLFNS], [if test x"$xsi_shell" = xyes; then _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac]) _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl func_basename_result="${1##*/}"]) _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}"]) _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"}]) _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl func_split_long_opt_name=${1%%=*} func_split_long_opt_arg=${1#*=}]) _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl func_split_short_opt_arg=${1#??} func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac]) _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) fi if test x"$lt_shell_append" = xyes; then _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl func_quote_for_eval "${2}" dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) # Save a `func_append' function call where possible by direct use of '+=' sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: else # Save a `func_append' function call even when '+=' is not available sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$_lt_function_replace_fail" = x":"; then AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) fi ]) # _LT_PATH_CONVERSION_FUNCTIONS # ----------------------------- # Determine which file name conversion functions should be used by # func_to_host_file (and, implicitly, by func_to_host_path). These are needed # for certain cross-compile configurations and native mingw. m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_MSG_CHECKING([how to convert $build file names to $host format]) AC_CACHE_VAL(lt_cv_to_host_file_cmd, [case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac ]) to_host_file_cmd=$lt_cv_to_host_file_cmd AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], [0], [convert $build file names to $host format])dnl AC_MSG_CHECKING([how to convert $build file names to toolchain format]) AC_CACHE_VAL(lt_cv_to_tool_file_cmd, [#assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac ]) to_tool_file_cmd=$lt_cv_to_tool_file_cmd AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], [0], [convert $build files to toolchain format])dnl ])# _LT_PATH_CONVERSION_FUNCTIONS Heimdall-1.4.1/heimdall/m4/ltoptions.m4000066400000000000000000000300731234253036400176350ustar00rootroot00000000000000# Helper functions for option handling. -*- Autoconf -*- # # Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, # Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 7 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) # ------------------------------------------ m4_define([_LT_MANGLE_OPTION], [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) # --------------------------------------- # Set option OPTION-NAME for macro MACRO-NAME, and if there is a # matching handler defined, dispatch to it. Other OPTION-NAMEs are # saved as a flag. m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), _LT_MANGLE_DEFUN([$1], [$2]), [m4_warning([Unknown $1 option `$2'])])[]dnl ]) # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) # ------------------------------------------------------------ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. m4_define([_LT_IF_OPTION], [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) # ------------------------------------------------------- # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME # are set. m4_define([_LT_UNLESS_OPTIONS], [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), [m4_define([$0_found])])])[]dnl m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 ])[]dnl ]) # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) # ---------------------------------------- # OPTION-LIST is a space-separated list of Libtool options associated # with MACRO-NAME. If any OPTION has a matching handler declared with # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about # the unknown option and exit. m4_defun([_LT_SET_OPTIONS], [# Set options m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [_LT_SET_OPTION([$1], _LT_Option)]) m4_if([$1],[LT_INIT],[ dnl dnl Simply set some default values (i.e off) if boolean options were not dnl specified: _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no ]) _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no ]) dnl dnl If no reference was made to various pairs of opposing options, then dnl we run the default mode handler for the pair. For example, if neither dnl `shared' nor `disable-shared' was passed, we enable building of shared dnl archives by default: _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], [_LT_ENABLE_FAST_INSTALL]) ]) ])# _LT_SET_OPTIONS ## --------------------------------- ## ## Macros to handle LT_INIT options. ## ## --------------------------------- ## # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) # ----------------------------------------- m4_define([_LT_MANGLE_DEFUN], [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) # ----------------------------------------------- m4_define([LT_OPTION_DEFINE], [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl ])# LT_OPTION_DEFINE # dlopen # ------ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes ]) AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `dlopen' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) # win32-dll # --------- # Declare package support for building win32 dll's. LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; esac test -z "$AS" && AS=as _LT_DECL([], [AS], [1], [Assembler program])dnl test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl ])# win32-dll AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `win32-dll' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) # _LT_ENABLE_SHARED([DEFAULT]) # ---------------------------- # implement the --enable-shared flag, and supports the `shared' and # `disable-shared' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_SHARED], [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([shared], [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) _LT_DECL([build_libtool_libs], [enable_shared], [0], [Whether or not to build shared libraries]) ])# _LT_ENABLE_SHARED LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) # Old names: AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ]) AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ]) AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_SHARED], []) dnl AC_DEFUN([AM_DISABLE_SHARED], []) # _LT_ENABLE_STATIC([DEFAULT]) # ---------------------------- # implement the --enable-static flag, and support the `static' and # `disable-static' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_STATIC], [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([static], [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_static=]_LT_ENABLE_STATIC_DEFAULT) _LT_DECL([build_old_libs], [enable_static], [0], [Whether or not to build static libraries]) ])# _LT_ENABLE_STATIC LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) # Old names: AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ]) AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ]) AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_STATIC], []) dnl AC_DEFUN([AM_DISABLE_STATIC], []) # _LT_ENABLE_FAST_INSTALL([DEFAULT]) # ---------------------------------- # implement the --enable-fast-install flag, and support the `fast-install' # and `disable-fast-install' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_FAST_INSTALL], [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([fast-install], [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) _LT_DECL([fast_install], [enable_fast_install], [0], [Whether or not to optimize for fast installation])dnl ])# _LT_ENABLE_FAST_INSTALL LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) # Old names: AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `fast-install' option into LT_INIT's first parameter.]) ]) AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `disable-fast-install' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # _LT_WITH_PIC([MODE]) # -------------------- # implement the --with-pic flag, and support the `pic-only' and `no-pic' # LT_INIT options. # MODE is either `yes' or `no'. If omitted, it defaults to `both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for lt_pkg in $withval; do IFS="$lt_save_ifs" if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS="$lt_save_ifs" ;; esac], [pic_mode=default]) test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) # Old name: AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `pic-only' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) ## ----------------- ## ## LTDL_INIT Options ## ## ----------------- ## m4_define([_LTDL_MODE], []) LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], [m4_define([_LTDL_MODE], [nonrecursive])]) LT_OPTION_DEFINE([LTDL_INIT], [recursive], [m4_define([_LTDL_MODE], [recursive])]) LT_OPTION_DEFINE([LTDL_INIT], [subproject], [m4_define([_LTDL_MODE], [subproject])]) m4_define([_LTDL_TYPE], []) LT_OPTION_DEFINE([LTDL_INIT], [installable], [m4_define([_LTDL_TYPE], [installable])]) LT_OPTION_DEFINE([LTDL_INIT], [convenience], [m4_define([_LTDL_TYPE], [convenience])]) Heimdall-1.4.1/heimdall/m4/ltsugar.m4000066400000000000000000000104241234253036400172610ustar00rootroot00000000000000# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltsugar.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) # lt_join(SEP, ARG1, [ARG2...]) # ----------------------------- # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their # associated separator. # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier # versions in m4sugar had bugs. m4_define([lt_join], [m4_if([$#], [1], [], [$#], [2], [[$2]], [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) m4_define([_lt_join], [m4_if([$#$2], [2], [], [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) # lt_car(LIST) # lt_cdr(LIST) # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support # Autoconf-2.59 which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], [$#], 1, [], [m4_dquote(m4_shift($@))])]) m4_define([lt_unquote], $1) # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ # Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different # than defined and empty). # # This macro is needed until we can rely on Autoconf 2.62, since earlier # versions of m4sugar mistakenly expanded SEPARATOR but not STRING. m4_define([lt_append], [m4_define([$1], m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) # ---------------------------------------------------------- # Produce a SEP delimited list of all paired combinations of elements of # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list # has the form PREFIXmINFIXSUFFIXn. # Needed until we can rely on m4_combine added in Autoconf 2.62. m4_define([lt_combine], [m4_if(m4_eval([$# > 3]), [1], [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl [[m4_foreach([_Lt_prefix], [$2], [m4_foreach([_Lt_suffix], ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) # ----------------------------------------------------------------------- # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. m4_define([lt_if_append_uniq], [m4_ifdef([$1], [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], [lt_append([$1], [$2], [$3])$4], [$5])], [lt_append([$1], [$2], [$3])$4])]) # lt_dict_add(DICT, KEY, VALUE) # ----------------------------- m4_define([lt_dict_add], [m4_define([$1($2)], [$3])]) # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) # -------------------------------------------- m4_define([lt_dict_add_subkey], [m4_define([$1($2:$3)], [$4])]) # lt_dict_fetch(DICT, KEY, [SUBKEY]) # ---------------------------------- m4_define([lt_dict_fetch], [m4_ifval([$3], m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) # ----------------------------------------------------------------- m4_define([lt_if_dict_fetch], [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], [$5], [$6])]) # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) # -------------------------------------------------------------- m4_define([lt_dict_filter], [m4_if([$5], [], [], [lt_join(m4_quote(m4_default([$4], [[, ]])), lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl ]) Heimdall-1.4.1/heimdall/m4/ltversion.m4000066400000000000000000000012621234253036400176250ustar00rootroot00000000000000# ltversion.m4 -- version numbers -*- Autoconf -*- # # Copyright (C) 2004 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # @configure_input@ # serial 3337 ltversion.m4 # This file is part of GNU Libtool m4_define([LT_PACKAGE_VERSION], [2.4.2]) m4_define([LT_PACKAGE_REVISION], [1.3337]) AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.2' macro_revision='1.3337' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) Heimdall-1.4.1/heimdall/m4/lt~obsolete.m4000066400000000000000000000137561234253036400201650ustar00rootroot00000000000000# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 5 lt~obsolete.m4 # These exist entirely to fool aclocal when bootstrapping libtool. # # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us # using a macro with the same name in our local m4/libtool.m4 it'll # pull the old libtool.m4 in (it doesn't see our shiny new m4_define # and doesn't know about Autoconf macros at all.) # # So we provide this file, which has a silly filename so it's always # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until # we give up compatibility with versions before 1.7, at which point # we need to keep only those names which we still refer to. # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) Heimdall-1.4.1/heimdall/missing000077500000000000000000000241521234253036400164200ustar00rootroot00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2012-01-06.13; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, # 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and \`g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; esac # normalize program name to check for. program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). This is about non-GNU programs, so use $1 not # $program. case $1 in lex*|yacc*) # Not GNU programs, they don't have --version. ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running `$TOOL --version' or `$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $program in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te*) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison*|yacc*) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then eval LASTARG=\${$#} case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex*|flex*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then eval LASTARG=\${$#} case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit $? fi ;; makeinfo*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n ' /^@setfilename/{ s/.* \([^ ]*\) *$/\1/ p q }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: Heimdall-1.4.1/heimdall/postinstall-pak000066400000000000000000000002771234253036400200730ustar00rootroot00000000000000#!/bin/sh sudo echo "SUBSYSTEM==\"usb\", SYSFS{idVendor}==\"04e8\", SYSFS{idProduct}==\"6601\", MODE=\"0666\"" > /etc/udev/rules.d/60-heimdall-galaxy-s.rules sudo service udev reload exit 0 Heimdall-1.4.1/heimdall/postremove-pak000066400000000000000000000001401234253036400177070ustar00rootroot00000000000000#!/bin/sh sudo rm /etc/udev/rules.d/60-heimdall-galaxy-s.rules sudo service udev reload exit 0 Heimdall-1.4.1/heimdall/source/000077500000000000000000000000001234253036400163155ustar00rootroot00000000000000Heimdall-1.4.1/heimdall/source/Arguments.cpp000066400000000000000000000134401234253036400207700ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // Heimdall #include "Arguments.h" #include "Heimdall.h" #include "Interface.h" #include "Utility.h" using namespace std; using namespace Heimdall; FlagArgument *FlagArgument::ParseArgument(const std::string& name, int argc, char **argv, int& argi) { return new FlagArgument(name); } StringArgument *StringArgument::ParseArgument(const std::string& name, int argc, char **argv, int& argi) { if (++argi < argc) { return (new StringArgument(name, argv[argi])); } else { Interface::Print("Missing parameter for argument: %s\n\n", argv[argi - 1]); return (nullptr); } } UnsignedIntegerArgument *UnsignedIntegerArgument::ParseArgument(const std::string& name, int argc, char **argv, int& argi) { UnsignedIntegerArgument *unsignedIntegerArgument = nullptr; if (++argi < argc) { unsigned int value; if (Utility::ParseUnsignedInt(value, argv[argi]) == kNumberParsingStatusSuccess) unsignedIntegerArgument = new UnsignedIntegerArgument(name, value); else Interface::Print("%s must be a positive integer.", argv[argi - 1]); } else { Interface::Print("Missing parameter for argument: %s\n\n", argv[argi - 1]); } return (unsignedIntegerArgument); } Arguments::Arguments(const map& argumentTypes, const map& shortArgumentAliases, const map& argumentAliases) : argumentTypes(argumentTypes), shortArgumentAliases(shortArgumentAliases), argumentAliases(argumentAliases) { } Arguments::~Arguments() { for (vector::const_iterator it = argumentVector.begin(); it != argumentVector.end(); it++) delete *it; } bool Arguments::ParseArguments(int argc, char **argv, int argi) { for (; argi < argc; ++argi) { string argumentName = argv[argi]; string nonwildcardArgumentName; if (argumentName.find_first_of("--") == 0) { // Regular argument argumentName = argumentName.substr(2); nonwildcardArgumentName = argumentName; } else if (argumentName.find_first_of("-") == 0) { // Short argument alias string shortArgumentAlias = argumentName.substr(1); map::const_iterator shortAliasIt = shortArgumentAliases.find(shortArgumentAlias); if (shortAliasIt != shortArgumentAliases.end()) { argumentName = shortAliasIt->second; nonwildcardArgumentName = argumentName; } else { Interface::Print("Unknown argument: %s\n\n", argv[argi]); return (false); } } else { Interface::Print("Invalid argument: %s\n\n", argv[argi]); return (false); } map::const_iterator argumentTypeIt = argumentTypes.find(argumentName); if (argumentTypeIt == argumentTypes.end()) { // No argument with that name, maybe it's an alias... map::const_iterator aliasIt = argumentAliases.find(argumentName); if (aliasIt != argumentAliases.end()) { argumentName = aliasIt->second; nonwildcardArgumentName = argumentName; argumentTypeIt = argumentTypes.find(argumentName); } } // Handle wilcards unsigned int unsignedIntName; if (argumentTypeIt == argumentTypes.end()) { // Look for the unsigned integer wildcard "%d". if (Utility::ParseUnsignedInt(unsignedIntName, argumentName.c_str()) == kNumberParsingStatusSuccess) { argumentTypeIt = argumentTypes.find("%d"); argumentName = "%d"; } // Look for the string wildcard "%s" if (argumentTypeIt == argumentTypes.end()) { argumentTypeIt = argumentTypes.find("%s"); argumentName = "%s"; } } // We don't want to insert wild-cards into our argument map. if (argumentName == "%d" || argumentName == "%s") argumentName = nonwildcardArgumentName; Argument *argument = nullptr; if (argumentTypeIt != argumentTypes.end()) { switch (argumentTypeIt->second) { case kArgumentTypeFlag: argument = FlagArgument::ParseArgument(argumentName, argc, argv, argi); break; case kArgumentTypeString: argument = StringArgument::ParseArgument(argumentName, argc, argv, argi); break; case kArgumentTypeUnsignedInteger: argument = UnsignedIntegerArgument::ParseArgument(argumentName, argc, argv, argi); break; default: Interface::Print("Unknown argument type: %s\n\n", argv[argi]); break; } } else { Interface::Print("Unknown argument: %s\n\n", argv[argi]); } if (argument) { pair::iterator, bool> insertResult = argumentMap.insert(pair(argumentName, argument)); if (!insertResult.second) { Interface::Print("Duplicate argument: %s (%s)\n\n", argv[argi], argumentName.c_str()); delete argument; return (false); } argumentVector.push_back(argument); } else { return (false); } } return (true); } Heimdall-1.4.1/heimdall/source/Arguments.h000066400000000000000000000100131234253036400204260ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef ARGUMENTS_H #define ARGUMENTS_H // C/C++ Standard Library #include #include #include // Heimdall #include "Heimdall.h" namespace Heimdall { typedef enum { kArgumentTypeFlag = 0, kArgumentTypeString, kArgumentTypeUnsignedInteger } ArgumentType; class Argument { private: std::string name; ArgumentType type; protected: Argument(const std::string& name, ArgumentType type) { this->name = name; this->type = type; } public: virtual ~Argument() { } const std::string& GetName(void) const { return name; } ArgumentType GetType(void) const { return type; } }; class FlagArgument : public Argument { private: FlagArgument(const std::string& name) : Argument(name, kArgumentTypeFlag) { } public: static FlagArgument *ParseArgument(const std::string& name, int argc, char **argv, int& argi); }; class StringArgument : public Argument { private: std::string value; StringArgument(const std::string& name, const std::string& value) : Argument(name, kArgumentTypeString) { this->value = value; } public: static StringArgument *ParseArgument(const std::string& name, int argc, char **argv, int& argi); const std::string& GetValue(void) const { return (value); } }; class UnsignedIntegerArgument : public Argument { private: unsigned int value; UnsignedIntegerArgument(const std::string& name, unsigned int value) : Argument(name, kArgumentTypeUnsignedInteger) { this->value = value; } public: static UnsignedIntegerArgument *ParseArgument(const std::string& name, int argc, char **argv, int& argi); unsigned int GetValue(void) const { return (value); } }; class Arguments { private: const std::map argumentTypes; const std::map shortArgumentAliases; const std::map argumentAliases; std::vector argumentVector; std::map argumentMap; public: Arguments(const std::map& argumentTypes, const std::map& shortArgumentAliases = (std::map()), const std::map& argumentAliases = (std::map())); ~Arguments(); // argi is the index of the first argument to parse. bool ParseArguments(int argc, char **argv, int argi); const Argument *GetArgument(std::string argumentName) const { std::map::const_iterator it = argumentMap.find(argumentName); return (it != argumentMap.end() ? it->second : nullptr); } const std::map& GetArgumentTypes(void) const { return (argumentTypes); } const std::vector& GetArguments(void) const { return (argumentVector); } }; } #endif Heimdall-1.4.1/heimdall/source/BeginDumpPacket.h000066400000000000000000000037571234253036400215040ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef BEGINDUMPPACKET_H #define BEGINDUMPPACKET_H // Heimdall #include "FileTransferPacket.h" namespace Heimdall { class BeginDumpPacket : public FileTransferPacket { public: enum { kChipTypeRam = 0, kChipTypeNand = 1 }; private: unsigned int chipType; unsigned int chipId; public: BeginDumpPacket(unsigned int chipType, unsigned int chipId) : FileTransferPacket(FileTransferPacket::kRequestDump) { this->chipType = chipType; this->chipId = chipId; } unsigned int GetChipType(void) const { return (chipType); } unsigned int GetChipId(void) const { return (chipId); } virtual void Pack(void) { FileTransferPacket::Pack(); PackInteger(FileTransferPacket::kDataSize, chipType); PackInteger(FileTransferPacket::kDataSize + 4, chipId); } }; } #endif Heimdall-1.4.1/heimdall/source/BeginSessionPacket.h000066400000000000000000000025701234253036400222120ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef BEGINSESSIONPACKET_H #define BEGINSESSIONPACKET_H // Heimdall #include "SessionSetupPacket.h" namespace Heimdall { class BeginSessionPacket : public SessionSetupPacket { public: BeginSessionPacket() : SessionSetupPacket(SessionSetupPacket::kBeginSession) { } }; } #endif Heimdall-1.4.1/heimdall/source/BridgeManager.cpp000066400000000000000000001020531234253036400215110ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // C Standard Library #include // libusb #include // Heimdall #include "BeginDumpPacket.h" #include "BeginSessionPacket.h" #include "BridgeManager.h" #include "DeviceTypePacket.h" #include "DumpPartFileTransferPacket.h" #include "DumpPartPitFilePacket.h" #include "DumpResponse.h" #include "EndModemFileTransferPacket.h" #include "EndPhoneFileTransferPacket.h" #include "EndPitFileTransferPacket.h" #include "EndSessionPacket.h" #include "FilePartSizePacket.h" #include "FileTransferPacket.h" #include "FlashPartFileTransferPacket.h" #include "FlashPartPitFilePacket.h" #include "InboundPacket.h" #include "Interface.h" #include "OutboundPacket.h" #include "PitFilePacket.h" #include "PitFileResponse.h" #include "ReceiveFilePartPacket.h" #include "ResponsePacket.h" #include "SendFilePartPacket.h" #include "SendFilePartResponse.h" #include "SessionSetupPacket.h" #include "SessionSetupResponse.h" // Future versions of libusb will use usb_interface instead of interface. #define usb_interface interface #define USB_CLASS_CDC_DATA 0x0A using namespace libpit; using namespace Heimdall; const DeviceIdentifier BridgeManager::supportedDevices[BridgeManager::kSupportedDeviceCount] = { DeviceIdentifier(BridgeManager::kVidSamsung, BridgeManager::kPidGalaxyS), DeviceIdentifier(BridgeManager::kVidSamsung, BridgeManager::kPidGalaxyS2), DeviceIdentifier(BridgeManager::kVidSamsung, BridgeManager::kPidDroidCharge) }; enum { kDumpBufferSize = 4096, }; enum { kFileTransferSequenceMaxLengthDefault = 800, kFileTransferPacketSizeDefault = 131072, kFileTransferSequenceTimeoutDefault = 30000 // 30 seconds }; enum { kReceivePacketMaxAttempts = 5 }; enum { kPitSizeMultiplicand = 4096 }; int BridgeManager::FindDeviceInterface(void) { Interface::Print("Detecting device...\n"); struct libusb_device **devices; int deviceCount = libusb_get_device_list(libusbContext, &devices); for (int deviceIndex = 0; deviceIndex < deviceCount; deviceIndex++) { libusb_device_descriptor descriptor; libusb_get_device_descriptor(devices[deviceIndex], &descriptor); for (int i = 0; i < BridgeManager::kSupportedDeviceCount; i++) { if (descriptor.idVendor == supportedDevices[i].vendorId && descriptor.idProduct == supportedDevices[i].productId) { heimdallDevice = devices[deviceIndex]; libusb_ref_device(heimdallDevice); break; } } if (heimdallDevice) break; } libusb_free_device_list(devices, deviceCount); if (!heimdallDevice) { Interface::PrintDeviceDetectionFailed(); return (BridgeManager::kInitialiseDeviceNotDetected); } int result = libusb_open(heimdallDevice, &deviceHandle); if (result != LIBUSB_SUCCESS) { Interface::PrintError("Failed to access device. libusb error: %d\n", result); return (BridgeManager::kInitialiseFailed); } libusb_device_descriptor deviceDescriptor; result = libusb_get_device_descriptor(heimdallDevice, &deviceDescriptor); if (result != LIBUSB_SUCCESS) { Interface::PrintError("Failed to retrieve device description\n"); return (BridgeManager::kInitialiseFailed); } if (verbose) { unsigned char stringBuffer[128]; if (libusb_get_string_descriptor_ascii(deviceHandle, deviceDescriptor.iManufacturer, stringBuffer, 128) >= 0) { Interface::Print(" Manufacturer: \"%s\"\n", stringBuffer); } if (libusb_get_string_descriptor_ascii(deviceHandle, deviceDescriptor.iProduct, stringBuffer, 128) >= 0) { Interface::Print(" Product: \"%s\"\n", stringBuffer); } if (libusb_get_string_descriptor_ascii(deviceHandle, deviceDescriptor.iSerialNumber, stringBuffer, 128) >= 0) { Interface::Print(" Serial No: \"%s\"\n", stringBuffer); } Interface::Print("\n length: %d\n", deviceDescriptor.bLength); Interface::Print(" device class: %d\n", deviceDescriptor.bDeviceClass); Interface::Print(" S/N: %d\n", deviceDescriptor.iSerialNumber); Interface::Print(" VID:PID: %04X:%04X\n", deviceDescriptor.idVendor, deviceDescriptor.idProduct); Interface::Print(" bcdDevice: %04X\n", deviceDescriptor.bcdDevice); Interface::Print(" iMan:iProd:iSer: %d:%d:%d\n", deviceDescriptor.iManufacturer, deviceDescriptor.iProduct, deviceDescriptor.iSerialNumber); Interface::Print(" nb confs: %d\n", deviceDescriptor.bNumConfigurations); } libusb_config_descriptor *configDescriptor; result = libusb_get_config_descriptor(heimdallDevice, 0, &configDescriptor); if (result != LIBUSB_SUCCESS || !configDescriptor) { Interface::PrintError("Failed to retrieve config descriptor\n"); return (BridgeManager::kInitialiseFailed); } interfaceIndex = -1; altSettingIndex = -1; for (int i = 0; i < configDescriptor->bNumInterfaces; i++) { for (int j = 0 ; j < configDescriptor->usb_interface[i].num_altsetting; j++) { if (verbose) { Interface::Print("\ninterface[%d].altsetting[%d]: num endpoints = %d\n", i, j, configDescriptor->usb_interface[i].altsetting[j].bNumEndpoints); Interface::Print(" Class.SubClass.Protocol: %02X.%02X.%02X\n", configDescriptor->usb_interface[i].altsetting[j].bInterfaceClass, configDescriptor->usb_interface[i].altsetting[j].bInterfaceSubClass, configDescriptor->usb_interface[i].altsetting[j].bInterfaceProtocol); } int inEndpointAddress = -1; int outEndpointAddress = -1; for (int k = 0; k < configDescriptor->usb_interface[i].altsetting[j].bNumEndpoints; k++) { const libusb_endpoint_descriptor *endpoint = &configDescriptor->usb_interface[i].altsetting[j].endpoint[k]; if (verbose) { Interface::Print(" endpoint[%d].address: %02X\n", k, endpoint->bEndpointAddress); Interface::Print(" max packet size: %04X\n", endpoint->wMaxPacketSize); Interface::Print(" polling interval: %02X\n", endpoint->bInterval); } if (endpoint->bEndpointAddress & LIBUSB_ENDPOINT_IN) inEndpointAddress = endpoint->bEndpointAddress; else outEndpointAddress = endpoint->bEndpointAddress; } if (interfaceIndex < 0 && configDescriptor->usb_interface[i].altsetting[j].bNumEndpoints == 2 && configDescriptor->usb_interface[i].altsetting[j].bInterfaceClass == USB_CLASS_CDC_DATA && inEndpointAddress != -1 && outEndpointAddress != -1) { interfaceIndex = i; altSettingIndex = j; inEndpoint = inEndpointAddress; outEndpoint = outEndpointAddress; } } } libusb_free_config_descriptor(configDescriptor); if (interfaceIndex < 0) { Interface::PrintError("Failed to find correct interface configuration\n"); return (BridgeManager::kInitialiseFailed); } return (BridgeManager::kInitialiseSucceeded); } bool BridgeManager::ClaimDeviceInterface(void) { Interface::Print("Claiming interface...\n"); int result = libusb_claim_interface(deviceHandle, interfaceIndex); #ifdef OS_LINUX if (result != LIBUSB_SUCCESS) { detachedDriver = true; Interface::Print("Attempt failed. Detaching driver...\n"); libusb_detach_kernel_driver(deviceHandle, interfaceIndex); Interface::Print("Claiming interface again...\n"); result = libusb_claim_interface(deviceHandle, interfaceIndex); } #endif if (result != LIBUSB_SUCCESS) { Interface::PrintError("Claiming interface failed!\n"); return (false); } interfaceClaimed = true; return (true); } bool BridgeManager::SetupDeviceInterface(void) { Interface::Print("Setting up interface...\n"); int result = libusb_set_interface_alt_setting(deviceHandle, interfaceIndex, altSettingIndex); if (result != LIBUSB_SUCCESS) { Interface::PrintError("Setting up interface failed!\n"); return (false); } Interface::Print("\n"); return (true); } void BridgeManager::ReleaseDeviceInterface(void) { Interface::Print("Releasing device interface...\n"); libusb_release_interface(deviceHandle, interfaceIndex); #ifdef OS_LINUX if (detachedDriver) { Interface::Print("Re-attaching kernel driver...\n"); libusb_attach_kernel_driver(deviceHandle, interfaceIndex); } #endif interfaceClaimed = false; Interface::Print("\n"); } bool BridgeManager::InitialiseProtocol(void) { Interface::Print("Initialising protocol...\n"); unsigned char dataBuffer[7]; // Send "ODIN" memcpy(dataBuffer, "ODIN", 4); memset(dataBuffer + 4, 0, 1); if (!SendBulkTransfer(dataBuffer, 4, 1000)) { Interface::PrintError("Failed to send handshake!"); } // Expect "LOKE" memset(dataBuffer, 0, 7); int dataTransferred = 0; int result = libusb_bulk_transfer(deviceHandle, inEndpoint, dataBuffer, 7, &dataTransferred, 1000); if (result != LIBUSB_SUCCESS) { if (verbose) Interface::PrintError("Failed to receive handshake response. Result: %d\n", result); } else { if (dataTransferred == 4 && memcmp(dataBuffer, "LOKE", 4) == 0) { // Successfully received "LOKE" Interface::Print("Protocol initialisation successful.\n\n"); return (true); } else { if (verbose) Interface::PrintError("Expected: \"LOKE\"\nReceived: \"%s\"\n", dataBuffer); Interface::PrintError("Unexpected handshake response!\n"); } } Interface::PrintError("Protocol initialisation failed!\n\n"); return (false); } BridgeManager::BridgeManager(bool verbose) { this->verbose = verbose; libusbContext = nullptr; deviceHandle = nullptr; heimdallDevice = nullptr; inEndpoint = -1; outEndpoint = -1; interfaceIndex = -1; altSettingIndex = -1; interfaceClaimed = false; #ifdef OS_LINUX detachedDriver = false; #endif fileTransferSequenceMaxLength = kFileTransferSequenceMaxLengthDefault; fileTransferPacketSize = kFileTransferPacketSizeDefault; fileTransferSequenceTimeout = kFileTransferSequenceTimeoutDefault; usbLogLevel = UsbLogLevel::Default; } BridgeManager::~BridgeManager() { if (interfaceClaimed) ReleaseDeviceInterface(); if (deviceHandle) libusb_close(deviceHandle); if (heimdallDevice) libusb_unref_device(heimdallDevice); if (libusbContext) libusb_exit(libusbContext); } bool BridgeManager::DetectDevice(void) { // Initialise libusb int result = libusb_init(&libusbContext); if (result != LIBUSB_SUCCESS) { Interface::PrintError("Failed to initialise libusb. libusb error: %d\n", result); return (false); } // Setup libusb log level. switch (usbLogLevel) { case UsbLogLevel::None: libusb_set_debug(libusbContext, LIBUSB_LOG_LEVEL_NONE); break; case UsbLogLevel::Error: libusb_set_debug(libusbContext, LIBUSB_LOG_LEVEL_ERROR); break; case UsbLogLevel::Warning: libusb_set_debug(libusbContext, LIBUSB_LOG_LEVEL_WARNING); break; case UsbLogLevel::Info: libusb_set_debug(libusbContext, LIBUSB_LOG_LEVEL_INFO); break; case UsbLogLevel::Debug: libusb_set_debug(libusbContext, LIBUSB_LOG_LEVEL_DEBUG); break; } // Get handle to Galaxy S device struct libusb_device **devices; int deviceCount = libusb_get_device_list(libusbContext, &devices); for (int deviceIndex = 0; deviceIndex < deviceCount; deviceIndex++) { libusb_device_descriptor descriptor; libusb_get_device_descriptor(devices[deviceIndex], &descriptor); for (int i = 0; i < BridgeManager::kSupportedDeviceCount; i++) { if (descriptor.idVendor == supportedDevices[i].vendorId && descriptor.idProduct == supportedDevices[i].productId) { libusb_free_device_list(devices, deviceCount); Interface::Print("Device detected\n"); return (true); } } } libusb_free_device_list(devices, deviceCount); Interface::PrintDeviceDetectionFailed(); return (false); } int BridgeManager::Initialise(bool resume) { Interface::Print("Initialising connection...\n"); // Initialise libusb int result = libusb_init(&libusbContext); if (result != LIBUSB_SUCCESS) { Interface::PrintError("Failed to initialise libusb. libusb error: %d\n", result); Interface::Print("Failed to connect to device!"); return (BridgeManager::kInitialiseFailed); } // Setup libusb log level. switch (usbLogLevel) { case UsbLogLevel::None: libusb_set_debug(libusbContext, LIBUSB_LOG_LEVEL_NONE); break; case UsbLogLevel::Error: libusb_set_debug(libusbContext, LIBUSB_LOG_LEVEL_ERROR); break; case UsbLogLevel::Warning: libusb_set_debug(libusbContext, LIBUSB_LOG_LEVEL_WARNING); break; case UsbLogLevel::Info: libusb_set_debug(libusbContext, LIBUSB_LOG_LEVEL_INFO); break; case UsbLogLevel::Debug: libusb_set_debug(libusbContext, LIBUSB_LOG_LEVEL_DEBUG); break; } result = FindDeviceInterface(); if (result != BridgeManager::kInitialiseSucceeded) return (result); if (!ClaimDeviceInterface()) return (BridgeManager::kInitialiseFailed); if (!SetupDeviceInterface()) return (BridgeManager::kInitialiseFailed); if (!resume) { if (!InitialiseProtocol()) return (BridgeManager::kInitialiseFailed); } return (BridgeManager::kInitialiseSucceeded); } bool BridgeManager::BeginSession(void) { Interface::Print("Beginning session...\n"); BeginSessionPacket beginSessionPacket; if (!SendPacket(&beginSessionPacket)) { Interface::PrintError("Failed to begin session!\n"); return (false); } SessionSetupResponse beginSessionResponse; if (!ReceivePacket(&beginSessionResponse)) return (false); unsigned int deviceDefaultPacketSize = beginSessionResponse.GetResult(); Interface::Print("\nSome devices may take up to 2 minutes to respond.\nPlease be patient!\n\n"); Sleep(3000); // Give the user time to read the message. if (deviceDefaultPacketSize != 0) // 0 means changing the packet size is not supported. { fileTransferSequenceTimeout = 120000; // 2 minutes! fileTransferPacketSize = 1048576; // 1 MiB fileTransferSequenceMaxLength = 30; // Therefore, fileTransferPacketSize * fileTransferSequenceMaxLength == 30 MiB per sequence. FilePartSizePacket filePartSizePacket(fileTransferPacketSize); if (!SendPacket(&filePartSizePacket)) { Interface::PrintError("Failed to send file part size packet!\n"); return (false); } SessionSetupResponse filePartSizeResponse; if (!ReceivePacket(&filePartSizeResponse)) return (false); if (filePartSizeResponse.GetResult() != 0) { Interface::PrintError("Unexpected file part size response!\nExpected: 0\nReceived: %d\n", filePartSizeResponse.GetResult()); return (false); } } Interface::Print("Session begun.\n\n"); return (true); } bool BridgeManager::EndSession(bool reboot) const { Interface::Print("Ending session...\n"); EndSessionPacket *endSessionPacket = new EndSessionPacket(EndSessionPacket::kRequestEndSession); bool success = SendPacket(endSessionPacket); delete endSessionPacket; if (!success) { Interface::PrintError("Failed to send end session packet!\n"); return (false); } ResponsePacket *endSessionResponse = new ResponsePacket(ResponsePacket::kResponseTypeEndSession); success = ReceivePacket(endSessionResponse); delete endSessionResponse; if (!success) { Interface::PrintError("Failed to receive session end confirmation!\n"); return (false); } if (reboot) { Interface::Print("Rebooting device...\n"); EndSessionPacket *rebootDevicePacket = new EndSessionPacket(EndSessionPacket::kRequestRebootDevice); bool success = SendPacket(rebootDevicePacket); delete rebootDevicePacket; if (!success) { Interface::PrintError("Failed to send reboot device packet!\n"); return (false); } ResponsePacket *rebootDeviceResponse = new ResponsePacket(ResponsePacket::kResponseTypeEndSession); success = ReceivePacket(rebootDeviceResponse); delete rebootDeviceResponse; if (!success) { Interface::PrintError("Failed to receive reboot confirmation!\n"); return (false); } } return (true); } bool BridgeManager::SendBulkTransfer(unsigned char *data, int length, int timeout, bool retry) const { int dataTransferred; int result = libusb_bulk_transfer(deviceHandle, outEndpoint, data, length, &dataTransferred, timeout); if (result != LIBUSB_SUCCESS && retry) { static const int retryDelay = 250; if (verbose) Interface::PrintError("libusb error %d whilst sending bulk transfer.", result); // Retry for (int i = 0; i < 5; i++) { if (verbose) Interface::PrintErrorSameLine(" Retrying...\n"); // Wait longer each retry Sleep(retryDelay * (i + 1)); result = libusb_bulk_transfer(deviceHandle, outEndpoint, data, length, &dataTransferred, timeout); if (result == LIBUSB_SUCCESS) break; if (verbose) Interface::PrintError("libusb error %d whilst sending bulk transfer.", result); } if (verbose) Interface::PrintErrorSameLine("\n"); } return (result == LIBUSB_SUCCESS && dataTransferred == length); } bool BridgeManager::SendPacket(OutboundPacket *packet, int timeout, int sendEmptyTransferFlags) const { packet->Pack(); if (sendEmptyTransferFlags & kSendEmptyTransferBefore) { if (!SendBulkTransfer(nullptr, 0, kDefaultTimeoutSendEmptyTransfer, false) && verbose) { Interface::PrintWarning("Empty bulk transfer before sending packet failed. Continuing anyway...\n"); } } if (!SendBulkTransfer(packet->GetData(), packet->GetSize(), timeout)) return (false); if (sendEmptyTransferFlags & kSendEmptyTransferAfter) { if (!SendBulkTransfer(nullptr, 0, kDefaultTimeoutSendEmptyTransfer, false) && verbose) { Interface::PrintWarning("Empty bulk transfer after sending packet failed. Continuing anyway...\n"); } } return (true); } bool BridgeManager::ReceivePacket(InboundPacket *packet, int timeout) const { unsigned char *buffer = packet->GetData(); unsigned int bufferSize = packet->GetSize(); int dataTransferred; int result; unsigned int attempt = 0; static const int retryDelay = 250; for (; attempt < kReceivePacketMaxAttempts; attempt++) { if (attempt > 0) { if (verbose) Interface::PrintErrorSameLine(" Retrying...\n"); // Wait longer each retry Sleep(retryDelay * (attempt + 1)); } result = libusb_bulk_transfer(deviceHandle, inEndpoint, buffer, bufferSize, &dataTransferred, timeout); if (result >= 0) break; if (verbose) Interface::PrintError("libusb error %d whilst receiving packet.", result); } if (verbose && attempt > 0) Interface::PrintErrorSameLine("\n"); if (attempt == kReceivePacketMaxAttempts) return (false); if (dataTransferred != packet->GetSize() && !packet->IsSizeVariable()) { if (verbose) Interface::PrintError("Incorrect packet size received - expected size = %d, received size = %d.\n", packet->GetSize(), dataTransferred); return (false); } packet->SetReceivedSize(dataTransferred); bool unpacked = packet->Unpack(); if (!unpacked && verbose) Interface::PrintError("Failed to unpack received packet.\n"); return (unpacked); } bool BridgeManager::RequestDeviceType(unsigned int request, int *result) const { DeviceTypePacket deviceTypePacket; bool success = SendPacket(&deviceTypePacket); if (!success) { Interface::PrintError("Failed to request device info packet!\n"); if (verbose) Interface::PrintError("Failed request: %u\n", request); return (false); } SessionSetupResponse deviceTypeResponse; if (!ReceivePacket(&deviceTypeResponse)) return (false); *result = deviceTypeResponse.GetResult(); return (true); } bool BridgeManager::SendPitData(const PitData *pitData) const { unsigned int pitBufferSize = pitData->GetPaddedSize(); // Start file transfer PitFilePacket *pitFilePacket = new PitFilePacket(PitFilePacket::kRequestFlash); bool success = SendPacket(pitFilePacket); delete pitFilePacket; if (!success) { Interface::PrintError("Failed to initialise PIT file transfer!\n"); return (false); } PitFileResponse *pitFileResponse = new PitFileResponse(); success = ReceivePacket(pitFileResponse); delete pitFileResponse; if (!success) { Interface::PrintError("Failed to confirm transfer initialisation!\n"); return (false); } // Transfer file size FlashPartPitFilePacket *flashPartPitFilePacket = new FlashPartPitFilePacket(pitBufferSize); success = SendPacket(flashPartPitFilePacket); delete flashPartPitFilePacket; if (!success) { Interface::PrintError("Failed to send PIT file part information!\n"); return (false); } pitFileResponse = new PitFileResponse(); success = ReceivePacket(pitFileResponse); delete pitFileResponse; if (!success) { Interface::PrintError("Failed to confirm sending of PIT file part information!\n"); return (false); } // Create packed in-memory PIT file unsigned char *pitBuffer = new unsigned char[pitBufferSize]; memset(pitBuffer, 0, pitBufferSize); pitData->Pack(pitBuffer); // Flash pit file SendFilePartPacket *sendFilePartPacket = new SendFilePartPacket(pitBuffer, pitBufferSize); success = SendPacket(sendFilePartPacket); delete sendFilePartPacket; delete [] pitBuffer; if (!success) { Interface::PrintError("Failed to send file part packet!\n"); return (false); } pitFileResponse = new PitFileResponse(); success = ReceivePacket(pitFileResponse); delete pitFileResponse; if (!success) { Interface::PrintError("Failed to receive PIT file part response!\n"); return (false); } // End pit file transfer EndPitFileTransferPacket *endPitFileTransferPacket = new EndPitFileTransferPacket(pitBufferSize); success = SendPacket(endPitFileTransferPacket); delete endPitFileTransferPacket; if (!success) { Interface::PrintError("Failed to send end PIT file transfer packet!\n"); return (false); } pitFileResponse = new PitFileResponse(); success = ReceivePacket(pitFileResponse); delete pitFileResponse; if (!success) { Interface::PrintError("Failed to confirm end of PIT file transfer!\n"); return (false); } return (true); } int BridgeManager::ReceivePitFile(unsigned char **pitBuffer) const { *pitBuffer = nullptr; bool success; // Start file transfer PitFilePacket *pitFilePacket = new PitFilePacket(PitFilePacket::kRequestDump); success = SendPacket(pitFilePacket); delete pitFilePacket; if (!success) { Interface::PrintError("Failed to request receival of PIT file!\n"); return (0); } PitFileResponse *pitFileResponse = new PitFileResponse(); success = ReceivePacket(pitFileResponse); unsigned int fileSize = pitFileResponse->GetFileSize(); delete pitFileResponse; if (!success) { Interface::PrintError("Failed to receive PIT file size!\n"); return (0); } unsigned int transferCount = fileSize / ReceiveFilePartPacket::kDataSize; if (fileSize % ReceiveFilePartPacket::kDataSize != 0) transferCount++; unsigned char *buffer = new unsigned char[fileSize]; int offset = 0; // NOTE: The PIT file appears to always be padded out to exactly 4 kilobytes. for (unsigned int i = 0; i < transferCount; i++) { DumpPartPitFilePacket *requestPacket = new DumpPartPitFilePacket(i); success = SendPacket(requestPacket); delete requestPacket; if (!success) { Interface::PrintError("Failed to request PIT file part #%d!\n", i); delete [] buffer; return (0); } ReceiveFilePartPacket *receiveFilePartPacket = new ReceiveFilePartPacket(); success = ReceivePacket(receiveFilePartPacket); if (!success) { Interface::PrintError("Failed to receive PIT file part #%d!\n", i); delete receiveFilePartPacket; delete [] buffer; return (0); } // Copy the whole packet data into the buffer. memcpy(buffer + offset, receiveFilePartPacket->GetData(), receiveFilePartPacket->GetReceivedSize()); offset += receiveFilePartPacket->GetReceivedSize(); delete receiveFilePartPacket; } // End file transfer pitFilePacket = new PitFilePacket(PitFilePacket::kRequestEndTransfer); success = SendPacket(pitFilePacket); delete pitFilePacket; if (!success) { Interface::PrintError("Failed to send request to end PIT file transfer!\n"); delete [] buffer; return (0); } pitFileResponse = new PitFileResponse(); success = ReceivePacket(pitFileResponse); delete pitFileResponse; if (!success) { Interface::PrintError("Failed to receive end PIT file transfer verification!\n"); delete [] buffer; return (0); } *pitBuffer = buffer; return (fileSize); } int BridgeManager::DownloadPitFile(unsigned char **pitBuffer) const { Interface::Print("Downloading device's PIT file...\n"); int devicePitFileSize = ReceivePitFile(pitBuffer); if (!*pitBuffer) { Interface::PrintError("Failed to download PIT file!\n"); return (0); } Interface::Print("PIT file download successful.\n\n"); return (devicePitFileSize); } bool BridgeManager::SendFile(FILE *file, unsigned int destination, unsigned int deviceType, unsigned int fileIdentifier) const { if (destination != EndFileTransferPacket::kDestinationModem && destination != EndFileTransferPacket::kDestinationPhone) { Interface::PrintError("Attempted to send file to unknown destination!\n"); return (false); } if (destination == EndFileTransferPacket::kDestinationModem && fileIdentifier != 0xFFFFFFFF) { Interface::PrintError("The modem file does not have an identifier!\n"); return (false); } FileTransferPacket *flashFileTransferPacket = new FileTransferPacket(FileTransferPacket::kRequestFlash); bool success = SendPacket(flashFileTransferPacket); delete flashFileTransferPacket; if (!success) { Interface::PrintError("Failed to initialise file transfer!\n"); return (false); } FileSeek(file, 0, SEEK_END); unsigned int fileSize = (unsigned int)FileTell(file); FileRewind(file); ResponsePacket *fileTransferResponse = new ResponsePacket(ResponsePacket::kResponseTypeFileTransfer); success = ReceivePacket(fileTransferResponse); delete fileTransferResponse; if (!success) { Interface::PrintError("Failed to confirm transfer initialisation!\n"); return (false); } unsigned int sequenceCount = fileSize / (fileTransferSequenceMaxLength * fileTransferPacketSize); unsigned int lastSequenceSize = fileTransferSequenceMaxLength; unsigned int partialPacketByteCount = fileSize % fileTransferPacketSize; if (fileSize % (fileTransferSequenceMaxLength * fileTransferPacketSize) != 0) { sequenceCount++; int lastSequenceBytes = fileSize % (fileTransferSequenceMaxLength * fileTransferPacketSize); lastSequenceSize = lastSequenceBytes / fileTransferPacketSize; if (partialPacketByteCount != 0) lastSequenceSize++; } unsigned int bytesTransferred = 0; unsigned int currentPercent; unsigned int previousPercent = 0; Interface::Print("0%%"); for (unsigned int sequenceIndex = 0; sequenceIndex < sequenceCount; sequenceIndex++) { bool isLastSequence = (sequenceIndex == sequenceCount - 1); unsigned int sequenceSize = (isLastSequence) ? lastSequenceSize : fileTransferSequenceMaxLength; unsigned int sequenceTotalByteCount = sequenceSize * fileTransferPacketSize; FlashPartFileTransferPacket *beginFileTransferPacket = new FlashPartFileTransferPacket(sequenceTotalByteCount); success = SendPacket(beginFileTransferPacket); delete beginFileTransferPacket; if (!success) { Interface::PrintErrorSameLine("\n"); Interface::PrintError("Failed to begin file transfer sequence!\n"); return (false); } fileTransferResponse = new ResponsePacket(ResponsePacket::kResponseTypeFileTransfer); bool success = ReceivePacket(fileTransferResponse); delete fileTransferResponse; if (!success) { Interface::PrintErrorSameLine("\n"); Interface::PrintError("Failed to confirm beginning of file transfer sequence!\n"); return (false); } for (unsigned int filePartIndex = 0; filePartIndex < sequenceSize; filePartIndex++) { // NOTE: This empty transfer thing is entirely ridiculous, but sadly it seems to be required. int sendEmptyTransferFlags = (filePartIndex == 0) ? kSendEmptyTransferNone : kSendEmptyTransferBefore; // Send SendFilePartPacket *sendFilePartPacket = new SendFilePartPacket(file, fileTransferPacketSize); success = SendPacket(sendFilePartPacket, kDefaultTimeoutSend, sendEmptyTransferFlags); delete sendFilePartPacket; if (!success) { Interface::PrintErrorSameLine("\n"); Interface::PrintError("Failed to send file part packet!\n"); return (false); } // Response SendFilePartResponse *sendFilePartResponse = new SendFilePartResponse(); success = ReceivePacket(sendFilePartResponse); int receivedPartIndex = sendFilePartResponse->GetPartIndex(); delete sendFilePartResponse; if (!success) { Interface::PrintErrorSameLine("\n"); Interface::PrintError("Failed to receive file part response!\n"); for (int retry = 0; retry < 4; retry++) { Interface::PrintErrorSameLine("\n"); Interface::PrintError("Retrying..."); // Send sendFilePartPacket = new SendFilePartPacket(file, fileTransferPacketSize); success = SendPacket(sendFilePartPacket, kDefaultTimeoutSend, sendEmptyTransferFlags); delete sendFilePartPacket; if (!success) { Interface::PrintErrorSameLine("\n"); Interface::PrintError("Failed to send file part packet!\n"); return (false); } // Response sendFilePartResponse = new SendFilePartResponse(); success = ReceivePacket(sendFilePartResponse); unsigned int receivedPartIndex = sendFilePartResponse->GetPartIndex(); delete sendFilePartResponse; if (receivedPartIndex != filePartIndex) { Interface::PrintErrorSameLine("\n"); Interface::PrintError("Expected file part index: %d Received: %d\n", filePartIndex, receivedPartIndex); return (false); } if (success) break; } if (!success) return (false); } if (receivedPartIndex != filePartIndex) { Interface::PrintErrorSameLine("\n"); Interface::PrintError("Expected file part index: %d Received: %d\n", filePartIndex, receivedPartIndex); return (false); } bytesTransferred += fileTransferPacketSize; if (bytesTransferred > fileSize) bytesTransferred = fileSize; currentPercent = (unsigned int)(100.0 * ((double)bytesTransferred / (double)fileSize)); if (currentPercent != previousPercent) { if (!verbose) { if (previousPercent < 10) Interface::Print("\b\b%d%%", currentPercent); else Interface::Print("\b\b\b%d%%", currentPercent); } else { Interface::Print("\n%d%%\n", currentPercent); } } previousPercent = currentPercent; } unsigned int sequenceEffectiveByteCount = (isLastSequence && partialPacketByteCount != 0) ? fileTransferPacketSize * (lastSequenceSize - 1) + partialPacketByteCount : sequenceTotalByteCount; if (destination == EndFileTransferPacket::kDestinationPhone) { EndPhoneFileTransferPacket *endPhoneFileTransferPacket = new EndPhoneFileTransferPacket(sequenceEffectiveByteCount, 0, deviceType, fileIdentifier, isLastSequence); success = SendPacket(endPhoneFileTransferPacket, kDefaultTimeoutSend, kSendEmptyTransferBeforeAndAfter); delete endPhoneFileTransferPacket; if (!success) { Interface::PrintErrorSameLine("\n"); Interface::PrintError("Failed to end phone file transfer sequence!\n"); return (false); } } else // destination == EndFileTransferPacket::kDestinationModem { EndModemFileTransferPacket *endModemFileTransferPacket = new EndModemFileTransferPacket(sequenceEffectiveByteCount, 0, deviceType, isLastSequence); success = SendPacket(endModemFileTransferPacket, kDefaultTimeoutSend, kSendEmptyTransferBeforeAndAfter); delete endModemFileTransferPacket; if (!success) { Interface::PrintErrorSameLine("\n"); Interface::PrintError("Failed to end modem file transfer sequence!\n"); return (false); } } fileTransferResponse = new ResponsePacket(ResponsePacket::kResponseTypeFileTransfer); success = ReceivePacket(fileTransferResponse, fileTransferSequenceTimeout); delete fileTransferResponse; if (!success) { Interface::PrintErrorSameLine("\n"); Interface::PrintError("Failed to confirm end of file transfer sequence!\n"); return (false); } } if (!verbose) Interface::Print("\n"); return (true); } void BridgeManager::SetUsbLogLevel(UsbLogLevel usbLogLevel) { this->usbLogLevel = usbLogLevel; if (libusbContext) { switch (usbLogLevel) { case UsbLogLevel::None: libusb_set_debug(libusbContext, LIBUSB_LOG_LEVEL_NONE); break; case UsbLogLevel::Error: libusb_set_debug(libusbContext, LIBUSB_LOG_LEVEL_ERROR); break; case UsbLogLevel::Warning: libusb_set_debug(libusbContext, LIBUSB_LOG_LEVEL_WARNING); break; case UsbLogLevel::Info: libusb_set_debug(libusbContext, LIBUSB_LOG_LEVEL_INFO); break; case UsbLogLevel::Debug: libusb_set_debug(libusbContext, LIBUSB_LOG_LEVEL_DEBUG); break; } } } Heimdall-1.4.1/heimdall/source/BridgeManager.h000066400000000000000000000104631234253036400211610ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef BRIDGEMANAGER_H #define BRIDGEMANAGER_H // libpit #include "libpit.h" // Heimdall #include "Heimdall.h" struct libusb_context; struct libusb_device; struct libusb_device_handle; namespace Heimdall { class InboundPacket; class OutboundPacket; class DeviceIdentifier { public: const int vendorId; const int productId; DeviceIdentifier(int vid, int pid) : vendorId(vid), productId(pid) { } }; class BridgeManager { public: enum { kSupportedDeviceCount = 3 }; enum { kInitialiseSucceeded = 0, kInitialiseFailed, kInitialiseDeviceNotDetected }; enum { kVidSamsung = 0x04E8 }; enum { kPidGalaxyS = 0x6601, kPidGalaxyS2 = 0x685D, kPidDroidCharge = 0x68C3 }; enum { kDefaultTimeoutSend = 3000, kDefaultTimeoutReceive = 3000, kDefaultTimeoutSendEmptyTransfer = 100 }; enum class UsbLogLevel { None = 0, Error, Warning, Info, Debug, Default = Error }; enum { kSendEmptyTransferNone = 0, kSendEmptyTransferBefore = 1, kSendEmptyTransferAfter = 1 << 1, kSendEmptyTransferBeforeAndAfter = kSendEmptyTransferBefore | kSendEmptyTransferAfter }; private: static const DeviceIdentifier supportedDevices[kSupportedDeviceCount]; bool verbose; libusb_context *libusbContext; libusb_device_handle *deviceHandle; libusb_device *heimdallDevice; int interfaceIndex; int altSettingIndex; int inEndpoint; int outEndpoint; bool interfaceClaimed; #ifdef OS_LINUX bool detachedDriver; #endif unsigned int fileTransferSequenceMaxLength; unsigned int fileTransferPacketSize; unsigned int fileTransferSequenceTimeout; UsbLogLevel usbLogLevel; int FindDeviceInterface(void); bool ClaimDeviceInterface(void); bool SetupDeviceInterface(void); void ReleaseDeviceInterface(void); bool InitialiseProtocol(void); bool SendBulkTransfer(unsigned char *data, int length, int timeout, bool retry = true) const; public: BridgeManager(bool verbose); ~BridgeManager(); bool DetectDevice(void); int Initialise(bool resume); bool BeginSession(void); bool EndSession(bool reboot) const; bool SendPacket(OutboundPacket *packet, int timeout = kDefaultTimeoutSend, int sendEmptyTransferFlags = kSendEmptyTransferAfter) const; bool ReceivePacket(InboundPacket *packet, int timeout = kDefaultTimeoutReceive) const; bool RequestDeviceType(unsigned int request, int *result) const; bool SendPitData(const libpit::PitData *pitData) const; int ReceivePitFile(unsigned char **pitBuffer) const; int DownloadPitFile(unsigned char **pitBuffer) const; // Thin wrapper around ReceivePitFile() with additional logging. bool SendFile(FILE *file, unsigned int destination, unsigned int deviceType, unsigned int fileIdentifier = 0xFFFFFFFF) const; void SetUsbLogLevel(UsbLogLevel usbLogLevel); UsbLogLevel GetUsbLogLevel(void) const { return usbLogLevel; } bool IsVerbose(void) const { return (verbose); } }; } #endif Heimdall-1.4.1/heimdall/source/ClosePcScreenAction.cpp000066400000000000000000000105511234253036400226510ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // Heimdall #include "Arguments.h" #include "BridgeManager.h" #include "ClosePcScreenAction.h" #include "Heimdall.h" #include "Interface.h" using namespace std; using namespace Heimdall; const char *ClosePcScreenAction::usage = "Action: close-pc-screen\n\ Arguments: [--verbose] [--no-reboot] [--resume] [--stdout-errors]\n\ [--usb-log-level ]\n\ Description: Attempts to get rid off the \"connect phone to PC\" screen.\n\ Note: --no-reboot causes the device to remain in download mode after the action\n\ is completed. If you wish to perform another action whilst remaining in\n\ download mode, then the following action must specify the --resume flag.\n"; int ClosePcScreenAction::Execute(int argc, char **argv) { // Handle arguments map argumentTypes; argumentTypes["no-reboot"] = kArgumentTypeFlag; argumentTypes["resume"] = kArgumentTypeFlag; argumentTypes["verbose"] = kArgumentTypeFlag; argumentTypes["stdout-errors"] = kArgumentTypeFlag; argumentTypes["usb-log-level"] = kArgumentTypeString; Arguments arguments(argumentTypes); if (!arguments.ParseArguments(argc, argv, 2)) { Interface::Print(ClosePcScreenAction::usage); return (0); } const StringArgument *usbLogLevelArgument = static_cast(arguments.GetArgument("usb-log-level")); BridgeManager::UsbLogLevel usbLogLevel = BridgeManager::UsbLogLevel::Default; if (usbLogLevelArgument) { const string& usbLogLevelString = usbLogLevelArgument->GetValue(); if (usbLogLevelString.compare("none") == 0 || usbLogLevelString.compare("NONE") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::None; } else if (usbLogLevelString.compare("error") == 0 || usbLogLevelString.compare("ERROR") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Error; } else if (usbLogLevelString.compare("warning") == 0 || usbLogLevelString.compare("WARNING") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Warning; } else if (usbLogLevelString.compare("info") == 0 || usbLogLevelString.compare("INFO") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Info; } else if (usbLogLevelString.compare("debug") == 0 || usbLogLevelString.compare("DEBUG") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Debug; } else { Interface::Print("Unknown USB log level: %s\n\n", usbLogLevelString.c_str()); Interface::Print(ClosePcScreenAction::usage); return (0); } } bool reboot = arguments.GetArgument("no-reboot") == nullptr; bool resume = arguments.GetArgument("resume") != nullptr; bool verbose = arguments.GetArgument("verbose") != nullptr; if (arguments.GetArgument("stdout-errors") != nullptr) Interface::SetStdoutErrors(true); // Info Interface::PrintReleaseInfo(); Sleep(1000); // Download PIT file from device. BridgeManager *bridgeManager = new BridgeManager(verbose); bridgeManager->SetUsbLogLevel(usbLogLevel); if (bridgeManager->Initialise(resume) != BridgeManager::kInitialiseSucceeded || !bridgeManager->BeginSession()) { delete bridgeManager; return (1); } Interface::Print("Attempting to close connect to pc screen...\n"); bool success = bridgeManager->EndSession(reboot); delete bridgeManager; if (success) { Interface::Print("Attempt complete\n"); return (0); } else { return (1); } } Heimdall-1.4.1/heimdall/source/ClosePcScreenAction.h000066400000000000000000000024241234253036400223160ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef CLOSEPCSCREENACTION_H #define CLOSEPCSCREENACTION_H namespace Heimdall { namespace ClosePcScreenAction { extern const char *usage; int Execute(int argc, char **argv); }; } #endif Heimdall-1.4.1/heimdall/source/ControlPacket.h000066400000000000000000000035321234253036400212410ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef CONTROLPACKET_H #define CONTROLPACKET_H // Heimdall #include "OutboundPacket.h" namespace Heimdall { class ControlPacket : public OutboundPacket { public: enum { kControlTypeSession = 0x64, kControlTypePitFile = 0x65, kControlTypeFileTransfer = 0x66, kControlTypeEndSession = 0x67 }; protected: enum { kDataSize = 4 }; private: unsigned int controlType; public: ControlPacket(unsigned int controlType) : OutboundPacket(1024) { this->controlType = controlType; } unsigned int GetControlType(void) const { return (controlType); } virtual void Pack(void) { PackInteger(0, controlType); } }; } #endif Heimdall-1.4.1/heimdall/source/DetectAction.cpp000066400000000000000000000067661234253036400214060ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // Heimdall #include "Arguments.h" #include "BridgeManager.h" #include "DetectAction.h" #include "Heimdall.h" #include "Interface.h" using namespace std; using namespace Heimdall; const char *DetectAction::usage = "Action: detect\n\ Arguments: [--verbose] [--stdout-errors]\n\ [--usb-log-level ]\n\ Description: Indicates whether or not a download mode device can be detected.\n"; int DetectAction::Execute(int argc, char **argv) { // Handle arguments map argumentTypes; argumentTypes["verbose"] = kArgumentTypeFlag; argumentTypes["stdout-errors"] = kArgumentTypeFlag; argumentTypes["usb-log-level"] = kArgumentTypeString; Arguments arguments(argumentTypes); if (!arguments.ParseArguments(argc, argv, 2)) { Interface::Print(DetectAction::usage); return (0); } bool verbose = arguments.GetArgument("verbose") != nullptr; if (arguments.GetArgument("stdout-errors") != nullptr) Interface::SetStdoutErrors(true); const StringArgument *usbLogLevelArgument = static_cast(arguments.GetArgument("usb-log-level")); BridgeManager::UsbLogLevel usbLogLevel = BridgeManager::UsbLogLevel::Default; if (usbLogLevelArgument) { const string& usbLogLevelString = usbLogLevelArgument->GetValue(); if (usbLogLevelString.compare("none") == 0 || usbLogLevelString.compare("NONE") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::None; } else if (usbLogLevelString.compare("error") == 0 || usbLogLevelString.compare("ERROR") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Error; } else if (usbLogLevelString.compare("warning") == 0 || usbLogLevelString.compare("WARNING") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Warning; } else if (usbLogLevelString.compare("info") == 0 || usbLogLevelString.compare("INFO") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Info; } else if (usbLogLevelString.compare("debug") == 0 || usbLogLevelString.compare("DEBUG") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Debug; } else { Interface::Print("Unknown USB log level: %s\n\n", usbLogLevelString.c_str()); Interface::Print(DetectAction::usage); return (0); } } // Download PIT file from device. BridgeManager *bridgeManager = new BridgeManager(verbose); bridgeManager->SetUsbLogLevel(usbLogLevel); bool detected = bridgeManager->DetectDevice(); delete bridgeManager; return ((detected) ? 0 : 1); } Heimdall-1.4.1/heimdall/source/DetectAction.h000066400000000000000000000023771234253036400210450ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef DETECTACTION_H #define DETECTACTION_H namespace Heimdall { namespace DetectAction { extern const char *usage; int Execute(int argc, char **argv); }; } #endif Heimdall-1.4.1/heimdall/source/DeviceTypePacket.h000066400000000000000000000025561234253036400216670ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef DEVICETYPEPACKET_H #define DEVICETYPEPACKET_H // Heimdall #include "SessionSetupPacket.h" namespace Heimdall { class DeviceTypePacket : public SessionSetupPacket { public: DeviceTypePacket() : SessionSetupPacket(SessionSetupPacket::kDeviceType) { } }; } #endif Heimdall-1.4.1/heimdall/source/DownloadPitAction.cpp000066400000000000000000000123571234253036400224130ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // C Standard Library #include // Heimdall #include "Arguments.h" #include "BridgeManager.h" #include "DownloadPitAction.h" #include "Heimdall.h" #include "Interface.h" using namespace std; using namespace Heimdall; const char *DownloadPitAction::usage = "Action: download-pit\n\ Arguments: --output [--verbose] [--no-reboot] [--stdout-errors]\n\ [--usb-log-level ]\n\ Description: Downloads the connected device's PIT file to the specified\n\ output file.\n\ Note: --no-reboot causes the device to remain in download mode after the action\n\ is completed. If you wish to perform another action whilst remaining in\n\ download mode, then the following action must specify the --resume flag.\n"; int DownloadPitAction::Execute(int argc, char **argv) { // Handle arguments map argumentTypes; argumentTypes["output"] = kArgumentTypeString; argumentTypes["no-reboot"] = kArgumentTypeFlag; argumentTypes["resume"] = kArgumentTypeFlag; argumentTypes["verbose"] = kArgumentTypeFlag; argumentTypes["stdout-errors"] = kArgumentTypeFlag; argumentTypes["usb-log-level"] = kArgumentTypeString; Arguments arguments(argumentTypes); if (!arguments.ParseArguments(argc, argv, 2)) { Interface::Print(DownloadPitAction::usage); return (0); } const StringArgument *outputArgument = static_cast(arguments.GetArgument("output")); if (!outputArgument) { Interface::Print("Output file was not specified.\n\n"); Interface::Print(DownloadPitAction::usage); return (0); } bool reboot = arguments.GetArgument("no-reboot") == nullptr; bool resume = arguments.GetArgument("resume") != nullptr; bool verbose = arguments.GetArgument("verbose") != nullptr; if (arguments.GetArgument("stdout-errors") != nullptr) Interface::SetStdoutErrors(true); const StringArgument *usbLogLevelArgument = static_cast(arguments.GetArgument("usb-log-level")); BridgeManager::UsbLogLevel usbLogLevel = BridgeManager::UsbLogLevel::Default; if (usbLogLevelArgument) { const string& usbLogLevelString = usbLogLevelArgument->GetValue(); if (usbLogLevelString.compare("none") == 0 || usbLogLevelString.compare("NONE") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::None; } else if (usbLogLevelString.compare("error") == 0 || usbLogLevelString.compare("ERROR") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Error; } else if (usbLogLevelString.compare("warning") == 0 || usbLogLevelString.compare("WARNING") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Warning; } else if (usbLogLevelString.compare("info") == 0 || usbLogLevelString.compare("INFO") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Info; } else if (usbLogLevelString.compare("debug") == 0 || usbLogLevelString.compare("DEBUG") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Debug; } else { Interface::Print("Unknown USB log level: %s\n\n", usbLogLevelString.c_str()); Interface::Print(DownloadPitAction::usage); return (0); } } // Info Interface::PrintReleaseInfo(); Sleep(1000); // Open output file const char *outputFilename = outputArgument->GetValue().c_str(); FILE *outputPitFile = FileOpen(outputFilename, "wb"); if (!outputPitFile) { Interface::PrintError("Failed to open output file \"%s\"\n", outputFilename); return (1); } // Download PIT file from device. BridgeManager *bridgeManager = new BridgeManager(verbose); bridgeManager->SetUsbLogLevel(usbLogLevel); if (bridgeManager->Initialise(resume) != BridgeManager::kInitialiseSucceeded || !bridgeManager->BeginSession()) { FileClose(outputPitFile); delete bridgeManager; return (1); } unsigned char *pitBuffer; int fileSize = bridgeManager->DownloadPitFile(&pitBuffer); bool success = true; if (fileSize > 0) { if (fwrite(pitBuffer, 1, fileSize, outputPitFile) != fileSize) { Interface::PrintError("Failed to write PIT data to output file.\n"); success = false; } } else { success = false; } if (!bridgeManager->EndSession(reboot)) success = false; delete bridgeManager; FileClose(outputPitFile); delete [] pitBuffer; return (success ? 0 : 1); } Heimdall-1.4.1/heimdall/source/DownloadPitAction.h000066400000000000000000000024161234253036400220530ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef DOWNLOADPITACTION_H #define DOWNLOADPITACTION_H namespace Heimdall { namespace DownloadPitAction { extern const char *usage; int Execute(int argc, char **argv); }; } #endif Heimdall-1.4.1/heimdall/source/DumpPartFileTransferPacket.h000066400000000000000000000033741234253036400236660ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef DUMPPARTFILETRANSFERPACKET_H #define DUMPPARTFILETRANSFERPACKET_H // Heimdall #include "FileTransferPacket.h" namespace Heimdall { class DumpPartFileTransferPacket : public FileTransferPacket { private: unsigned int partIndex; public: DumpPartFileTransferPacket(unsigned int partIndex) : FileTransferPacket(FileTransferPacket::kRequestPart) { this->partIndex = partIndex; } unsigned int GetPartIndex(void) const { return (partIndex); } virtual void Pack(void) { FileTransferPacket::Pack(); PackInteger(FileTransferPacket::kDataSize, partIndex); } }; } #endif Heimdall-1.4.1/heimdall/source/DumpPartPitFilePacket.h000066400000000000000000000033021234253036400226250ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef DUMPPARTPITFILEPACKET_H #define DUMPPARTPITFILEPACKET_H // Heimdall #include "PitFilePacket.h" namespace Heimdall { class DumpPartPitFilePacket : public PitFilePacket { private: unsigned int partIndex; public: DumpPartPitFilePacket(unsigned int partIndex) : PitFilePacket(PitFilePacket::kRequestPart) { this->partIndex = partIndex; } unsigned int GetPartIndex(void) const { return (partIndex); } void Pack(void) { PitFilePacket::Pack(); PackInteger(PitFilePacket::kDataSize, partIndex); } }; } #endif Heimdall-1.4.1/heimdall/source/DumpResponse.h000066400000000000000000000032411234253036400211120ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef DUMPRESPONSE_H #define DUMPRESPONSE_H // Heimdall #include "ResponsePacket.h" namespace Heimdall { class DumpResponse : public ResponsePacket { private: unsigned int dumpSize; public: DumpResponse() : ResponsePacket(kResponseTypeFileTransfer) { } unsigned int GetDumpSize(void) const { return (dumpSize); } bool Unpack(void) { if (!ResponsePacket::Unpack()) return (false); dumpSize = UnpackInteger(ResponsePacket::kDataSize); return (true); } }; } #endif Heimdall-1.4.1/heimdall/source/EndFileTransferPacket.h000066400000000000000000000053171234253036400226370ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef ENDFILETRANSFERPACKET_H #define ENDFILETRANSFERPACKET_H // Heimdall #include "FileTransferPacket.h" namespace Heimdall { class EndFileTransferPacket : public FileTransferPacket { public: enum { kDestinationPhone = 0x00, kDestinationModem = 0x01 }; protected: enum { kDataSize = FileTransferPacket::kDataSize + 16 }; private: unsigned int destination; // PDA / Modem unsigned int sequenceByteCount; unsigned int unknown1; // EFS? unsigned int deviceType; protected: EndFileTransferPacket(unsigned int destination, unsigned int sequenceByteCount, unsigned int unknown1, unsigned int deviceType) : FileTransferPacket(FileTransferPacket::kRequestEnd) { this->destination = destination; this->sequenceByteCount = sequenceByteCount; this->unknown1 = unknown1; this->deviceType = deviceType; } public: unsigned int GetDestination(void) const { return (destination); } unsigned int GetSequenceByteCount(void) const { return (sequenceByteCount); } unsigned int GetUnknown1(void) const { return (unknown1); } unsigned int GetDeviceType(void) const { return (deviceType); } virtual void Pack(void) { FileTransferPacket::Pack(); PackInteger(FileTransferPacket::kDataSize, destination); PackInteger(FileTransferPacket::kDataSize + 4, sequenceByteCount); PackInteger(FileTransferPacket::kDataSize + 8, unknown1); PackInteger(FileTransferPacket::kDataSize + 12, deviceType); } }; } #endif Heimdall-1.4.1/heimdall/source/EndModemFileTransferPacket.h000066400000000000000000000036171234253036400236220ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef ENDMODEMFILETRANSFERPACKET_H #define ENDMODEMFILETRANSFERPACKET_H // Heimdall #include "EndFileTransferPacket.h" namespace Heimdall { class EndModemFileTransferPacket : public EndFileTransferPacket { private: unsigned int endOfFile; public: EndModemFileTransferPacket(unsigned int sequenceByteCount, unsigned int unknown1, unsigned int chipIdentifier, bool endOfFile) : EndFileTransferPacket(EndFileTransferPacket::kDestinationModem, sequenceByteCount, unknown1, chipIdentifier) { this->endOfFile = (endOfFile) ? 1 : 0; } bool IsEndOfFile(void) const { return (endOfFile == 1); } void Pack(void) { EndFileTransferPacket::Pack(); PackInteger(EndFileTransferPacket::kDataSize, endOfFile); } }; } #endif Heimdall-1.4.1/heimdall/source/EndPhoneFileTransferPacket.h000066400000000000000000000054551234253036400236340ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef ENDPHONEFILETRANSFERPACKET_H #define ENDPHONEFILETRANSFERPACKET_H // Heimdall #include "EndFileTransferPacket.h" namespace Heimdall { class EndPhoneFileTransferPacket : public EndFileTransferPacket { public: /*enum { kFilePrimaryBootloader = 0x00, kFilePit = 0x01, // New 1.1 - Don't flash the pit this way! kFileSecondaryBootloader = 0x03, kFileSecondaryBootloaderBackup = 0x04, // New 1.1 kFileKernel = 0x06, kFileRecovery = 0x07, // New 1.1 kFileTabletModem = 0x08, // New 1.2 kFileEfs = 0x14, // New 1.1 kFileParamLfs = 0x15, kFileFactoryFilesystem = 0x16, kFileDatabaseData = 0x17, kFileCache = 0x18, kFileModem = 0x0B // New 1.1 - Kies flashes the modem this way rather than using the EndModemFileTransferPacket. };*/ private: unsigned int fileIdentifier; unsigned int endOfFile; public: EndPhoneFileTransferPacket(unsigned int sequenceByteCount, unsigned int unknown1, unsigned int chipIdentifier, unsigned int fileIdentifier, bool endOfFile) : EndFileTransferPacket(EndFileTransferPacket::kDestinationPhone, sequenceByteCount, unknown1, chipIdentifier) { this->fileIdentifier = fileIdentifier; this->endOfFile = (endOfFile) ? 1 : 0; } unsigned int GetFileIdentifier(void) { return (fileIdentifier); } bool IsEndOfFile(void) const { return (endOfFile == 1); } void Pack(void) { EndFileTransferPacket::Pack(); PackInteger(EndFileTransferPacket::kDataSize, fileIdentifier); PackInteger(EndFileTransferPacket::kDataSize + 4, endOfFile); } }; } #endif Heimdall-1.4.1/heimdall/source/EndPitFileTransferPacket.h000066400000000000000000000032261234253036400233110ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef ENDPITFILETRANSFERPACKET_H #define ENDPITFILETRANSFERPACKET_H // Heimdall #include "PitFilePacket.h" namespace Heimdall { class EndPitFileTransferPacket : public PitFilePacket { private: unsigned int fileSize; public: EndPitFileTransferPacket(unsigned int fileSize) : PitFilePacket(PitFilePacket::kRequestEndTransfer) { this->fileSize = fileSize; } unsigned int GetFileSize(void) const { return (fileSize); } void Pack(void) { PitFilePacket::Pack(); PackInteger(PitFilePacket::kDataSize, fileSize); } }; } #endif Heimdall-1.4.1/heimdall/source/EndSessionPacket.h000066400000000000000000000033121234253036400216670ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef ENDSESSIONPACKET_H #define ENDSESSIONPACKET_H // Heimdall #include "ControlPacket.h" namespace Heimdall { class EndSessionPacket : public ControlPacket { public: enum { kRequestEndSession = 0, kRequestRebootDevice = 1 }; private: unsigned int request; public: EndSessionPacket(unsigned int request) : ControlPacket(ControlPacket::kControlTypeEndSession) { this->request = request; } unsigned int GetRequest(void) const { return (request); } void Pack(void) { ControlPacket::Pack(); PackInteger(ControlPacket::kDataSize, request); } }; } #endif Heimdall-1.4.1/heimdall/source/FilePartSizePacket.h000066400000000000000000000032601234253036400221600ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef FILEPARTSIZEPACKET_H #define FILEPARTSIZEPACKET_H // Heimdall #include "SessionSetupPacket.h" namespace Heimdall { class FilePartSizePacket : public SessionSetupPacket { private: unsigned int filePartSize; public: FilePartSizePacket(unsigned int filePartSize) : SessionSetupPacket(SessionSetupPacket::kFilePartSize) { this->filePartSize = filePartSize; } unsigned int GetFilePartSize(void) const { return filePartSize; } void Pack(void) { SessionSetupPacket::Pack(); PackInteger(SessionSetupPacket::kDataSize, filePartSize); } }; } #endif Heimdall-1.4.1/heimdall/source/FileTransferPacket.h000066400000000000000000000036431234253036400222100ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef FILETRANSFERPACKET_H #define FILETRANSFERPACKET_H // Heimdall #include "ControlPacket.h" namespace Heimdall { class FileTransferPacket : public ControlPacket { public: enum { kRequestFlash = 0x00, kRequestDump = 0x01, kRequestPart = 0x02, kRequestEnd = 0x03 }; protected: enum { kDataSize = ControlPacket::kDataSize + 4 }; private: unsigned int request; public: FileTransferPacket(unsigned int request) : ControlPacket(ControlPacket::kControlTypeFileTransfer) { this->request = request; } unsigned int GetRequest(void) const { return (request); } virtual void Pack(void) { ControlPacket::Pack(); PackInteger(ControlPacket::kDataSize, request); } }; } #endif Heimdall-1.4.1/heimdall/source/FlashAction.cpp000066400000000000000000000362251234253036400212240ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // C Standard Library #include // Heimdall #include "Arguments.h" #include "BridgeManager.h" #include "EndModemFileTransferPacket.h" #include "EndPhoneFileTransferPacket.h" #include "FlashAction.h" #include "Heimdall.h" #include "Interface.h" #include "SessionSetupResponse.h" #include "TotalBytesPacket.h" #include "Utility.h" using namespace std; using namespace libpit; using namespace Heimdall; const char *FlashAction::usage = "Action: flash\n\ Arguments:\n\ [-- ...]\n\ [-- ...]\n\ [--pit ] [--verbose] [--no-reboot] [--resume] [--stdout-errors]\n\ [--usb-log-level ]\n\ or:\n\ --repartition --pit [-- ...]\n\ [-- ...] [--verbose] [--no-reboot]\n\ [--resume] [--stdout-errors] [--usb-log-level ]\n\ Description: Flashes one or more firmware files to your phone. Partition names\n\ (or identifiers) can be obtained by executing the print-pit action.\n\ Note: --no-reboot causes the device to remain in download mode after the action\n\ is completed. If you wish to perform another action whilst remaining in\n\ download mode, then the following action must specify the --resume flag.\n\ WARNING: If you're repartitioning it's strongly recommended you specify\n\ all files at your disposal.\n"; struct PartitionFile { const char *argumentName; FILE *file; PartitionFile(const char *argumentName, FILE *file) { this->argumentName = argumentName; this->file = file; } }; struct PartitionFlashInfo { const PitEntry *pitEntry; FILE *file; PartitionFlashInfo(const PitEntry *pitEntry, FILE *file) { this->pitEntry = pitEntry; this->file = file; } }; static bool openFiles(Arguments& arguments, vector& partitionFiles, FILE *& pitFile) { // Open PIT file const StringArgument *pitArgument = static_cast(arguments.GetArgument("pit")); if (pitArgument) { pitFile = FileOpen(pitArgument->GetValue().c_str(), "rb"); if (!pitFile) { Interface::PrintError("Failed to open file \"%s\"\n", pitArgument->GetValue().c_str()); return (false); } } // Open partition files for (vector::const_iterator it = arguments.GetArguments().begin(); it != arguments.GetArguments().end(); it++) { const string& argumentName = (*it)->GetName(); // The only way an argument could exist without being in the argument types map is if it's a wild-card. // The "%d" wild-card refers to a partition by identifier, where as the "%s" wild-card refers to a // partition by name. if (arguments.GetArgumentTypes().find(argumentName) == arguments.GetArgumentTypes().end()) { const StringArgument *stringArgument = static_cast(*it); FILE *file = FileOpen(stringArgument->GetValue().c_str(), "rb"); if (!file) { Interface::PrintError("Failed to open file \"%s\"\n", stringArgument->GetValue().c_str()); return (false); } partitionFiles.push_back(PartitionFile(argumentName.c_str(), file)); } } return (true); } static void closeFiles(vector& partitionFiles, FILE *& pitFile) { // Close PIT file if (pitFile) { FileClose(pitFile); pitFile = nullptr; } // Close partition files for (vector::const_iterator it = partitionFiles.begin(); it != partitionFiles.end(); it++) FileClose(it->file); partitionFiles.clear(); } static bool sendTotalTransferSize(BridgeManager *bridgeManager, const vector& partitionFiles, FILE *pitFile, bool repartition) { unsigned int totalBytes = 0; for (vector::const_iterator it = partitionFiles.begin(); it != partitionFiles.end(); it++) { FileSeek(it->file, 0, SEEK_END); totalBytes += (unsigned int)FileTell(it->file); FileRewind(it->file); } if (repartition) { FileSeek(pitFile, 0, SEEK_END); totalBytes += (unsigned int)FileTell(pitFile); FileRewind(pitFile); } bool success; TotalBytesPacket *totalBytesPacket = new TotalBytesPacket(totalBytes); success = bridgeManager->SendPacket(totalBytesPacket); delete totalBytesPacket; if (!success) { Interface::PrintError("Failed to send total bytes packet!\n"); return (false); } SessionSetupResponse *totalBytesResponse = new SessionSetupResponse(); success = bridgeManager->ReceivePacket(totalBytesResponse); int totalBytesResult = totalBytesResponse->GetResult(); delete totalBytesResponse; if (!success) { Interface::PrintError("Failed to receive session total bytes response!\n"); return (false); } if (totalBytesResult != 0) { Interface::PrintError("Unexpected session total bytes response!\nExpected: 0\nReceived:%d\n", totalBytesResponse); return (false); } return (true); } static bool setupPartitionFlashInfo(const vector& partitionFiles, const PitData *pitData, vector& partitionFlashInfos) { for (vector::const_iterator it = partitionFiles.begin(); it != partitionFiles.end(); it++) { const PitEntry *pitEntry = nullptr; // Was the argument a partition identifier? unsigned int partitionIdentifier; if (Utility::ParseUnsignedInt(partitionIdentifier, it->argumentName) == kNumberParsingStatusSuccess) { pitEntry = pitData->FindEntry(partitionIdentifier); if (!pitEntry) { Interface::PrintError("No partition with identifier \"%s\" exists in the specified PIT.\n", it->argumentName); return (false); } } else { // The argument must be an partition name e.g. "ZIMAGE" pitEntry = pitData->FindEntry(it->argumentName); if (!pitEntry) { Interface::PrintError("Partition \"%s\" does not exist in the specified PIT.\n", it->argumentName); return (false); } } partitionFlashInfos.push_back(PartitionFlashInfo(pitEntry, it->file)); } return (true); } static bool flashPitData(BridgeManager *bridgeManager, const PitData *pitData) { Interface::Print("Uploading PIT\n"); if (bridgeManager->SendPitData(pitData)) { Interface::Print("PIT upload successful\n\n"); return (true); } else { Interface::PrintError("PIT upload failed!\n\n"); return (false); } } static bool flashFile(BridgeManager *bridgeManager, const PartitionFlashInfo& partitionFlashInfo) { if (partitionFlashInfo.pitEntry->GetBinaryType() == PitEntry::kBinaryTypeCommunicationProcessor) // Modem { Interface::Print("Uploading %s\n", partitionFlashInfo.pitEntry->GetPartitionName()); if (bridgeManager->SendFile(partitionFlashInfo.file, EndModemFileTransferPacket::kDestinationModem, partitionFlashInfo.pitEntry->GetDeviceType())) { Interface::Print("%s upload successful\n\n", partitionFlashInfo.pitEntry->GetPartitionName()); return (true); } else { Interface::PrintError("%s upload failed!\n\n", partitionFlashInfo.pitEntry->GetPartitionName()); return (false); } } else // partitionFlashInfo.pitEntry->GetBinaryType() == PitEntry::kBinaryTypeApplicationProcessor { Interface::Print("Uploading %s\n", partitionFlashInfo.pitEntry->GetPartitionName()); if (bridgeManager->SendFile(partitionFlashInfo.file, EndPhoneFileTransferPacket::kDestinationPhone, partitionFlashInfo.pitEntry->GetDeviceType(), partitionFlashInfo.pitEntry->GetIdentifier())) { Interface::Print("%s upload successful\n\n", partitionFlashInfo.pitEntry->GetPartitionName()); return (true); } else { Interface::PrintError("%s upload failed!\n\n", partitionFlashInfo.pitEntry->GetPartitionName()); return (false); } } } static bool flashPartitions(BridgeManager *bridgeManager, const vector& partitionFiles, const PitData *pitData, bool repartition) { vector partitionFlashInfos; // Map the files being flashed to partitions stored in the PIT file. if (!setupPartitionFlashInfo(partitionFiles, pitData, partitionFlashInfos)) return (false); // If we're repartitioning then we need to flash the PIT file first (if it is listed in the PIT file). if (repartition) { if (!flashPitData(bridgeManager, pitData)) return (false); } // Flash partitions in the same order that arguments were specified in. for (vector::const_iterator it = partitionFlashInfos.begin(); it != partitionFlashInfos.end(); it++) { if (!flashFile(bridgeManager, *it)) return (false); } return (true); } static PitData *getPitData(BridgeManager *bridgeManager, FILE *pitFile, bool repartition) { PitData *pitData; PitData *localPitData = nullptr; // If a PIT file was passed as an argument then we must unpack it. if (pitFile) { // Load the local pit file into memory. FileSeek(pitFile, 0, SEEK_END); unsigned int localPitFileSize = (unsigned int)FileTell(pitFile); FileRewind(pitFile); unsigned char *pitFileBuffer = new unsigned char[localPitFileSize]; memset(pitFileBuffer, 0, localPitFileSize); int dataRead = fread(pitFileBuffer, 1, localPitFileSize, pitFile); if (dataRead > 0) { FileRewind(pitFile); localPitData = new PitData(); localPitData->Unpack(pitFileBuffer); delete [] pitFileBuffer; } else { Interface::PrintError("Failed to read PIT file.\n"); delete [] pitFileBuffer; return (nullptr); } } if (repartition) { // Use the local PIT file data. pitData = localPitData; } else { // If we're not repartitioning then we need to retrieve the device's PIT file and unpack it. unsigned char *pitFileBuffer; if (bridgeManager->DownloadPitFile(&pitFileBuffer) == 0) return (nullptr); pitData = new PitData(); pitData->Unpack(pitFileBuffer); delete [] pitFileBuffer; if (localPitData != nullptr) { // The user has specified a PIT without repartitioning, we should verify the local and device PIT data match! bool pitsMatch = pitData->Matches(localPitData); delete localPitData; if (!pitsMatch) { Interface::Print("Local and device PIT files don't match and repartition wasn't specified!\n"); Interface::PrintError("Flash aborted!\n"); return (nullptr); } } } return (pitData); } int FlashAction::Execute(int argc, char **argv) { // Setup argument types map argumentTypes; map shortArgumentAliases; argumentTypes["repartition"] = kArgumentTypeFlag; argumentTypes["no-reboot"] = kArgumentTypeFlag; argumentTypes["resume"] = kArgumentTypeFlag; argumentTypes["verbose"] = kArgumentTypeFlag; argumentTypes["stdout-errors"] = kArgumentTypeFlag; argumentTypes["usb-log-level"] = kArgumentTypeString; argumentTypes["pit"] = kArgumentTypeString; shortArgumentAliases["pit"] = "pit"; // Add wild-cards "%d" and "%s", for partition identifiers and partition names respectively. argumentTypes["%d"] = kArgumentTypeString; shortArgumentAliases["%d"] = "%d"; argumentTypes["%s"] = kArgumentTypeString; shortArgumentAliases["%s"] = "%s"; map argumentAliases; argumentAliases["PIT"] = "pit"; // Map upper-case PIT argument (i.e. partition name) to known lower-case pit argument. // Handle arguments Arguments arguments(argumentTypes, shortArgumentAliases, argumentAliases); if (!arguments.ParseArguments(argc, argv, 2)) { Interface::Print(FlashAction::usage); return (0); } bool reboot = arguments.GetArgument("no-reboot") == nullptr; bool resume = arguments.GetArgument("resume") != nullptr; bool verbose = arguments.GetArgument("verbose") != nullptr; if (arguments.GetArgument("stdout-errors") != nullptr) Interface::SetStdoutErrors(true); const StringArgument *usbLogLevelArgument = static_cast(arguments.GetArgument("usb-log-level")); BridgeManager::UsbLogLevel usbLogLevel = BridgeManager::UsbLogLevel::Default; if (usbLogLevelArgument) { const string& usbLogLevelString = usbLogLevelArgument->GetValue(); if (usbLogLevelString.compare("none") == 0 || usbLogLevelString.compare("NONE") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::None; } else if (usbLogLevelString.compare("error") == 0 || usbLogLevelString.compare("ERROR") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Error; } else if (usbLogLevelString.compare("warning") == 0 || usbLogLevelString.compare("WARNING") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Warning; } else if (usbLogLevelString.compare("info") == 0 || usbLogLevelString.compare("INFO") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Info; } else if (usbLogLevelString.compare("debug") == 0 || usbLogLevelString.compare("DEBUG") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Debug; } else { Interface::Print("Unknown USB log level: %s\n\n", usbLogLevelString.c_str()); Interface::Print(FlashAction::usage); return (0); } } const StringArgument *pitArgument = static_cast(arguments.GetArgument("pit")); bool repartition = arguments.GetArgument("repartition") != nullptr; if (repartition && !pitArgument) { Interface::Print("If you wish to repartition then a PIT file must be specified.\n\n"); Interface::Print(FlashAction::usage); return (0); } // Open files FILE *pitFile = nullptr; vector partitionFiles; if (!openFiles(arguments, partitionFiles, pitFile)) { closeFiles(partitionFiles, pitFile); return (1); } if (partitionFiles.size() == 0) { Interface::Print(FlashAction::usage); return (0); } // Info Interface::PrintReleaseInfo(); Sleep(1000); // Perform flash BridgeManager *bridgeManager = new BridgeManager(verbose); bridgeManager->SetUsbLogLevel(usbLogLevel); if (bridgeManager->Initialise(resume) != BridgeManager::kInitialiseSucceeded || !bridgeManager->BeginSession()) { closeFiles(partitionFiles, pitFile); delete bridgeManager; return (1); } bool success = sendTotalTransferSize(bridgeManager, partitionFiles, pitFile, repartition); if (success) { PitData *pitData = getPitData(bridgeManager, pitFile, repartition); if (pitData) success = flashPartitions(bridgeManager, partitionFiles, pitData, repartition); else success = false; delete pitData; } if (!bridgeManager->EndSession(reboot)) success = false; delete bridgeManager; closeFiles(partitionFiles, pitFile); return (success ? 0 : 1); } Heimdall-1.4.1/heimdall/source/FlashAction.h000066400000000000000000000023741234253036400206670ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef FLASHACTION_H #define FLASHACTION_H namespace Heimdall { namespace FlashAction { extern const char *usage; int Execute(int argc, char **argv); }; } #endif Heimdall-1.4.1/heimdall/source/FlashPartFileTransferPacket.h000066400000000000000000000034651234253036400240170ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef FLASHPARTFILETRANSFERPACKET_H #define FLASHPARTFILETRANSFERPACKET_H // Heimdall #include "FileTransferPacket.h" namespace Heimdall { class FlashPartFileTransferPacket : public FileTransferPacket { private: unsigned int sequenceByteCount; public: FlashPartFileTransferPacket(unsigned int sequenceByteCount) : FileTransferPacket(FileTransferPacket::kRequestPart) { this->sequenceByteCount = sequenceByteCount; } unsigned int GetSequenceByteCount(void) const { return (sequenceByteCount); } void Pack(void) { FileTransferPacket::Pack(); PackInteger(FileTransferPacket::kDataSize, sequenceByteCount); } }; } #endif Heimdall-1.4.1/heimdall/source/FlashPartPitFilePacket.h000066400000000000000000000032771234253036400227700ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef FLASHPARTPITFILEPACKET_H #define FLASHPARTPITFILEPACKET_H // Heimdall #include "PitFilePacket.h" namespace Heimdall { class FlashPartPitFilePacket : public PitFilePacket { private: unsigned int partSize; public: FlashPartPitFilePacket(unsigned int partSize) : PitFilePacket(PitFilePacket::kRequestPart) { this->partSize = partSize; } unsigned int GetPartSize(void) const { return (partSize); } void Pack(void) { PitFilePacket::Pack(); PackInteger(PitFilePacket::kDataSize, partSize); } }; } #endif Heimdall-1.4.1/heimdall/source/Heimdall.h000066400000000000000000000040421234253036400202050ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef HEIMDALL_H #define HEIMDALL_H #ifdef OS_WINDOWS #include #undef GetBinaryType #ifndef va_copy #define va_copy(d, s) ((d) = (s)) #endif #define FileOpen(FILE, MODE) fopen(FILE, MODE) #define FileClose(FILE) fclose(FILE) #define FileSeek(FILE, OFFSET, ORIGIN) _fseeki64(FILE, OFFSET, ORIGIN) #define FileTell(FILE) _ftelli64(FILE) #define FileRewind(FILE) rewind(FILE) #else #include "../config.h" #if defined(OS_DARWIN) || defined(OS_LINUX) #include #define Sleep(t) usleep(1000*t) #define FileOpen(FILE, MODE) fopen(FILE, MODE) #define FileClose(FILE) fclose(FILE) #define FileSeek(FILE, OFFSET, ORIGIN) fseeko(FILE, OFFSET, ORIGIN) #define FileTell(FILE) ftello(FILE) #define FileRewind(FILE) rewind(FILE) #else #error operating system not supported #endif #endif #if (!(defined _MSC_VER) || (_MSC_VER < 1700)) #ifndef nullptr #define nullptr 0 #endif #endif #endif Heimdall-1.4.1/heimdall/source/HelpAction.cpp000066400000000000000000000025611234253036400210530ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // Heimdall #include "Heimdall.h" #include "HelpAction.h" #include "Interface.h" using namespace Heimdall; const char *HelpAction::usage = "Action: help\n\ Description: Displays this dialogue.\n"; int HelpAction::Execute(int argc, char **argv) { Interface::PrintUsage(); return (0); } Heimdall-1.4.1/heimdall/source/HelpAction.h000066400000000000000000000023711234253036400205170ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef HELPACTION_H #define HELPACTION_H namespace Heimdall { namespace HelpAction { extern const char *usage; int Execute(int argc, char **argv); }; } #endif Heimdall-1.4.1/heimdall/source/InboundPacket.h000066400000000000000000000043001234253036400212110ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef INBOUNDPACKET_H #define INBOUNDPACKET_H // Heimdall #include "Packet.h" namespace Heimdall { class InboundPacket : public Packet { private: bool sizeVariable; unsigned int receivedSize; protected: unsigned int UnpackInteger(unsigned int offset) const { #ifdef WORDS_BIGENDIAN unsigned int value = (data[offset] << 24) | (data[offset + 1] << 16) | (data[offset + 2] << 8) | data[offset + 3]; #else // Flip endianness unsigned int value = data[offset] | (data[offset + 1] << 8) | (data[offset + 2] << 16) | (data[offset + 3] << 24); #endif return (value); } public: InboundPacket(unsigned int size, bool sizeVariable = false) : Packet(size) { this->sizeVariable = sizeVariable; } bool IsSizeVariable(void) const { return (sizeVariable); } unsigned int GetReceivedSize(void) const { return (receivedSize); } void SetReceivedSize(unsigned int receivedSize) { this->receivedSize = receivedSize; } virtual bool Unpack(void) = 0; }; } #endif Heimdall-1.4.1/heimdall/source/InfoAction.cpp000066400000000000000000000026011234253036400210510ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // Heimdall #include "Heimdall.h" #include "InfoAction.h" #include "Interface.h" using namespace Heimdall; const char *InfoAction::usage = "Action: info\n\ Description: Displays information about Heimdall.\n"; int InfoAction::Execute(int argc, char **argv) { Interface::PrintFullInfo(); return (0); } Heimdall-1.4.1/heimdall/source/InfoAction.h000066400000000000000000000023711234253036400205220ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef INFOACTION_H #define INFOACTION_H namespace Heimdall { namespace InfoAction { extern const char *usage; int Execute(int argc, char **argv); }; } #endif Heimdall-1.4.1/heimdall/source/Interface.cpp000066400000000000000000000214671234253036400207330ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // C/C++ Standard Library #include #include #include // Heimdall #include "ClosePcScreenAction.h" #include "DetectAction.h" #include "DownloadPitAction.h" #include "FlashAction.h" #include "HelpAction.h" #include "InfoAction.h" #include "Heimdall.h" #include "Interface.h" #include "PrintPitAction.h" #include "VersionAction.h" using namespace std; using namespace libpit; using namespace Heimdall; map actionMap; bool stdoutErrors = false; const char *version = "v1.4.1"; const char *actionUsage = "Usage: heimdall \n"; const char *releaseInfo = "Heimdall %s\n\n\ Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna\n\ http://www.glassechidna.com.au/\n\n\ This software is provided free of charge. Copying and redistribution is\nencouraged.\n\n\ If you appreciate this software and you would like to support future\ndevelopment please consider donating:\n\ http://www.glassechidna.com.au/donate/\n\n"; static const char *extraInfo = "Heimdall utilises libusbx for all USB communication:\n\ http://www.libusb.org/\n\ \n\ libusbx is licensed under the LGPL-2.1:\n\ http://www.gnu.org/licenses/licenses.html#LGPL\n\n"; void populateActionMap(void) { actionMap["close-pc-screen"] = Interface::ActionInfo(&ClosePcScreenAction::Execute, ClosePcScreenAction::usage); actionMap["detect"] = Interface::ActionInfo(&DetectAction::Execute, DetectAction::usage); actionMap["download-pit"] = Interface::ActionInfo(&DownloadPitAction::Execute, DownloadPitAction::usage); actionMap["flash"] = Interface::ActionInfo(&FlashAction::Execute, FlashAction::usage); actionMap["help"] = Interface::ActionInfo(&HelpAction::Execute, HelpAction::usage); actionMap["info"] = Interface::ActionInfo(&InfoAction::Execute, InfoAction::usage); actionMap["print-pit"] = Interface::ActionInfo(&PrintPitAction::Execute, PrintPitAction::usage); actionMap["version"] = Interface::ActionInfo(&VersionAction::Execute, VersionAction::usage); } const map& Interface::GetActionMap(void) { if (actionMap.size() == 0) populateActionMap(); return actionMap; } void Interface::Print(const char *format, ...) { va_list args; va_start(args, format); vfprintf(stdout, format, args); fflush(stdout); va_end(args); } void Interface::PrintWarning(const char *format, ...) { va_list stderrArgs; va_start(stderrArgs, format); if (stdoutErrors) { va_list stdoutArgs; va_copy(stdoutArgs, stderrArgs); fprintf(stdout, "WARNING: "); vfprintf(stdout, format, stdoutArgs); fflush(stdout); va_end(stdoutArgs); } fprintf(stderr, "WARNING: "); vfprintf(stderr, format, stderrArgs); fflush(stderr); va_end(stderrArgs); } void Interface::PrintWarningSameLine(const char *format, ...) { va_list stderrArgs; va_start(stderrArgs, format); if (stdoutErrors) { va_list stdoutArgs; va_copy(stdoutArgs, stderrArgs); vfprintf(stdout, format, stdoutArgs); fflush(stdout); va_end(stdoutArgs); } vfprintf(stderr, format, stderrArgs); fflush(stderr); va_end(stderrArgs); } void Interface::PrintError(const char *format, ...) { va_list stderrArgs; va_start(stderrArgs, format); if (stdoutErrors) { va_list stdoutArgs; va_copy(stdoutArgs, stderrArgs); fprintf(stdout, "ERROR: "); vfprintf(stdout, format, stdoutArgs); fflush(stdout); va_end(stdoutArgs); } fprintf(stderr, "ERROR: "); vfprintf(stderr, format, stderrArgs); fflush(stderr); va_end(stderrArgs); } void Interface::PrintErrorSameLine(const char *format, ...) { va_list stderrArgs; va_start(stderrArgs, format); if (stdoutErrors) { va_list stdoutArgs; va_copy(stdoutArgs, stderrArgs); vfprintf(stdout, format, stdoutArgs); fflush(stdout); va_end(stdoutArgs); } vfprintf(stderr, format, stderrArgs); fflush(stderr); va_end(stderrArgs); } void Interface::PrintVersion(void) { Interface::Print("%s\n", version); } void Interface::PrintUsage(void) { const map& actionMap = Interface::GetActionMap(); Interface::Print(actionUsage); for (map::const_iterator it = actionMap.begin(); it != actionMap.end(); it++) Interface::Print("\n%s", it->second.usage); } void Interface::PrintReleaseInfo(void) { Interface::Print(releaseInfo, version); } void Interface::PrintFullInfo(void) { Interface::Print(releaseInfo, version); Interface::Print(extraInfo); } void Interface::PrintDeviceDetectionFailed(void) { Interface::PrintError("Failed to detect compatible download-mode device.\n"); } void Interface::PrintPit(const PitData *pitData) { Interface::Print("Entry Count: %d\n", pitData->GetEntryCount()); Interface::Print("Unknown 1: %d\n", pitData->GetUnknown1()); Interface::Print("Unknown 2: %d\n", pitData->GetUnknown2()); Interface::Print("Unknown 3: %d\n", pitData->GetUnknown3()); Interface::Print("Unknown 4: %d\n", pitData->GetUnknown4()); Interface::Print("Unknown 5: %d\n", pitData->GetUnknown5()); Interface::Print("Unknown 6: %d\n", pitData->GetUnknown6()); Interface::Print("Unknown 7: %d\n", pitData->GetUnknown7()); Interface::Print("Unknown 8: %d\n", pitData->GetUnknown8()); for (unsigned int i = 0; i < pitData->GetEntryCount(); i++) { const PitEntry *entry = pitData->GetEntry(i); Interface::Print("\n\n--- Entry #%d ---\n", i); Interface::Print("Binary Type: %d (", entry->GetBinaryType()); switch (entry->GetBinaryType()) { case PitEntry::kBinaryTypeApplicationProcessor: Interface::Print("AP"); break; case PitEntry::kBinaryTypeCommunicationProcessor: Interface::Print("CP"); break; default: Interface::Print("Unknown"); break; } Interface::Print(")\n"); Interface::Print("Device Type: %d (", entry->GetDeviceType()); switch (entry->GetDeviceType()) { case PitEntry::kDeviceTypeOneNand: Interface::Print("OneNAND"); break; case PitEntry::kDeviceTypeFile: Interface::Print("File/FAT"); break; case PitEntry::kDeviceTypeMMC: Interface::Print("MMC"); break; case PitEntry::kDeviceTypeAll: Interface::Print("All (?)"); break; default: Interface::Print("Unknown"); break; } Interface::Print(")\n"); Interface::Print("Identifier: %d\n", entry->GetIdentifier()); Interface::Print("Attributes: %d (", entry->GetAttributes()); if (entry->GetAttributes() & PitEntry::kAttributeSTL) Interface::Print("STL "); /*if (entry->GetAttributes() & PitEntry::kAttributeBML) Interface::Print("BML ");*/ if (entry->GetAttributes() & PitEntry::kAttributeWrite) Interface::Print("Read/Write"); else Interface::Print("Read-Only"); Interface::Print(")\n"); Interface::Print("Update Attributes: %d", entry->GetUpdateAttributes()); if (entry->GetUpdateAttributes()) { Interface::Print(" ("); if (entry->GetUpdateAttributes() & PitEntry::kUpdateAttributeFota) { if (entry->GetUpdateAttributes() & PitEntry::kUpdateAttributeSecure) Interface::Print("FOTA, Secure"); else Interface::Print("FOTA"); } else { if (entry->GetUpdateAttributes() & PitEntry::kUpdateAttributeSecure) Interface::Print("Secure"); } Interface::Print(")\n"); } else { Interface::Print("\n"); } Interface::Print("Partition Block Size/Offset: %d\n", entry->GetBlockSizeOrOffset()); Interface::Print("Partition Block Count: %d\n", entry->GetBlockCount()); Interface::Print("File Offset (Obsolete): %d\n", entry->GetFileOffset()); Interface::Print("File Size (Obsolete): %d\n", entry->GetFileSize()); Interface::Print("Partition Name: %s\n", entry->GetPartitionName()); Interface::Print("Flash Filename: %s\n", entry->GetFlashFilename()); Interface::Print("FOTA Filename: %s\n", entry->GetFotaFilename()); } Interface::Print("\n"); } void Interface::SetStdoutErrors(bool enabled) { stdoutErrors = enabled; } Heimdall-1.4.1/heimdall/source/Interface.h000066400000000000000000000043401234253036400203670ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef INTERFACE_H #define INTERFACE_H // C/C++ Standard Library #include #include // libpit #include "libpit.h" // Heimdall #include "Heimdall.h" namespace Heimdall { namespace Interface { typedef int (*ActionExecuteFunction)(int, char **); typedef struct ActionInfo { ActionExecuteFunction executeFunction; const char *usage; ActionInfo() { executeFunction = nullptr; usage = nullptr; } ActionInfo(ActionExecuteFunction executeFunction, const char *usage) { this->executeFunction = executeFunction; this->usage = usage; } } ActionInfo; const std::map& GetActionMap(void); void Print(const char *format, ...); void PrintWarning(const char *format, ...); void PrintWarningSameLine(const char *format, ...); void PrintError(const char *format, ...); void PrintErrorSameLine(const char *format, ...); void PrintVersion(void); void PrintUsage(void); void PrintReleaseInfo(void); void PrintFullInfo(void); void PrintDeviceDetectionFailed(void); void PrintPit(const libpit::PitData *pitData); void SetStdoutErrors(bool enabled); }; } #endif Heimdall-1.4.1/heimdall/source/OutboundPacket.h000066400000000000000000000043241234253036400214200ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef OUTBOUNDPACKET_H #define OUTBOUNDPACKET_H // Heimdall #include "Packet.h" namespace Heimdall { class OutboundPacket : public Packet { protected: void PackInteger(unsigned int offset, unsigned int value) { #ifdef WORDS_BIGENDIAN data[offset] = (value & 0xFF000000) >> 24; data[offset + 1] = (value & 0x00FF0000) >> 16; data[offset + 2] = (value & 0x0000FF00) >> 8; data[offset + 3] = value & 0x000000FF; #else // Flip endianness data[offset] = value & 0x000000FF; data[offset + 1] = (value & 0x0000FF00) >> 8; data[offset + 2] = (value & 0x00FF0000) >> 16; data[offset + 3] = (value & 0xFF000000) >> 24; #endif } void PackShort(unsigned int offset, unsigned short value) { #ifdef WORDS_BIGENDIAN data[offset] = (value & 0xFF00) >> 8; data[offset + 1] = value & 0x00FF; #else // Flip endianness data[offset] = value & 0x00FF; data[offset + 1] = (value & 0xFF00) >> 8; #endif } public: OutboundPacket(unsigned int size) : Packet(size) { } virtual void Pack(void) = 0; }; } #endif Heimdall-1.4.1/heimdall/source/Packet.h000066400000000000000000000032211234253036400176730ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef PACKET_H #define PACKET_H // C++ Standard Library #include namespace Heimdall { class Packet { private: unsigned int size; protected: unsigned char *data; public: Packet(unsigned int size) { this->size = size; data = new unsigned char[size]; memset(data, 0, size); } ~Packet() { delete [] data; } unsigned int GetSize(void) const { return (size); } unsigned char *GetData(void) { return (data); } }; } #endif Heimdall-1.4.1/heimdall/source/PitFilePacket.h000066400000000000000000000036141234253036400211560ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef PITFILEPACKET_H #define PITFILEPACKET_H // Heimdall #include "ControlPacket.h" namespace Heimdall { class PitFilePacket : public ControlPacket { public: enum { kRequestFlash = 0x00, kRequestDump = 0x01, kRequestPart = 0x02, kRequestEndTransfer = 0x03 }; protected: enum { kDataSize = ControlPacket::kDataSize + 4 }; private: unsigned int request; public: PitFilePacket(unsigned int request) : ControlPacket(ControlPacket::kControlTypePitFile) { this->request = request; } unsigned int GetRequest(void) const { return (request); } void Pack(void) { ControlPacket::Pack(); PackInteger(ControlPacket::kDataSize, request); } }; } #endif Heimdall-1.4.1/heimdall/source/PitFileResponse.h000066400000000000000000000032641234253036400215460ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef PITFILERESPONSE_H #define PITFILERESPONSE_H // Heimdall #include "ResponsePacket.h" namespace Heimdall { class PitFileResponse : public ResponsePacket { private: unsigned int fileSize; public: PitFileResponse() : ResponsePacket(ResponsePacket::kResponseTypePitFile) { } unsigned int GetFileSize(void) const { return (fileSize); } bool Unpack(void) { if (!ResponsePacket::Unpack()) return (false); fileSize = UnpackInteger(ResponsePacket::kDataSize); return (true); } }; } #endif Heimdall-1.4.1/heimdall/source/PrintPitAction.cpp000066400000000000000000000135661234253036400217430ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // C Standard Library #include // Heimdall #include "Arguments.h" #include "BridgeManager.h" #include "Heimdall.h" #include "Interface.h" #include "PrintPitAction.h" using namespace std; using namespace libpit; using namespace Heimdall; const char *PrintPitAction::usage = "Action: print-pit\n\ Arguments: [--file ] [--verbose] [--no-reboot] [--stdout-errors]\n\ [--usb-log-level ]\n\ Description: Prints the contents of a PIT file in a human readable format. If\n\ a filename is not provided then Heimdall retrieves the PIT file from the \n\ connected device.\n\ Note: --no-reboot causes the device to remain in download mode after the action\n\ is completed. If you wish to perform another action whilst remaining in\n\ download mode, then the following action must specify the --resume flag.\n"; int PrintPitAction::Execute(int argc, char **argv) { // Handle arguments map argumentTypes; argumentTypes["file"] = kArgumentTypeString; argumentTypes["no-reboot"] = kArgumentTypeFlag; argumentTypes["resume"] = kArgumentTypeFlag; argumentTypes["verbose"] = kArgumentTypeFlag; argumentTypes["stdout-errors"] = kArgumentTypeFlag; argumentTypes["usb-log-level"] = kArgumentTypeString; Arguments arguments(argumentTypes); if (!arguments.ParseArguments(argc, argv, 2)) { Interface::Print(PrintPitAction::usage); return (0); } const StringArgument *fileArgument = static_cast(arguments.GetArgument("file")); bool reboot = arguments.GetArgument("no-reboot") == nullptr; bool resume = arguments.GetArgument("resume") != nullptr; bool verbose = arguments.GetArgument("verbose") != nullptr; if (arguments.GetArgument("stdout-errors") != nullptr) Interface::SetStdoutErrors(true); const StringArgument *usbLogLevelArgument = static_cast(arguments.GetArgument("usb-log-level")); BridgeManager::UsbLogLevel usbLogLevel = BridgeManager::UsbLogLevel::Default; if (usbLogLevelArgument) { const string& usbLogLevelString = usbLogLevelArgument->GetValue(); if (usbLogLevelString.compare("none") == 0 || usbLogLevelString.compare("NONE") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::None; } else if (usbLogLevelString.compare("error") == 0 || usbLogLevelString.compare("ERROR") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Error; } else if (usbLogLevelString.compare("warning") == 0 || usbLogLevelString.compare("WARNING") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Warning; } else if (usbLogLevelString.compare("info") == 0 || usbLogLevelString.compare("INFO") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Info; } else if (usbLogLevelString.compare("debug") == 0 || usbLogLevelString.compare("DEBUG") == 0) { usbLogLevel = BridgeManager::UsbLogLevel::Debug; } else { Interface::Print("Unknown USB log level: %s\n\n", usbLogLevelString.c_str()); Interface::Print(PrintPitAction::usage); return (0); } } // Open file (if specified). FILE *localPitFile = nullptr; if (fileArgument) { const char *filename = fileArgument->GetValue().c_str(); localPitFile = FileOpen(filename, "rb"); if (!localPitFile) { Interface::PrintError("Failed to open file \"%s\"\n", filename); return (1); } } // Info Interface::PrintReleaseInfo(); Sleep(1000); if (localPitFile) { // Print PIT from file; there's no need for a BridgeManager. FileSeek(localPitFile, 0, SEEK_END); unsigned int localPitFileSize = (unsigned int)FileTell(localPitFile); FileRewind(localPitFile); // Load the local pit file into memory. unsigned char *pitFileBuffer = new unsigned char[localPitFileSize]; size_t dataRead = fread(pitFileBuffer, 1, localPitFileSize, localPitFile); // dataRead is discarded, it's here to remove warnings. FileClose(localPitFile); PitData *pitData = new PitData(); pitData->Unpack(pitFileBuffer); delete [] pitFileBuffer; Interface::PrintPit(pitData); delete pitData; return (0); } else { // Print PIT from a device. BridgeManager *bridgeManager = new BridgeManager(verbose); bridgeManager->SetUsbLogLevel(usbLogLevel); if (bridgeManager->Initialise(resume) != BridgeManager::kInitialiseSucceeded || !bridgeManager->BeginSession()) { delete bridgeManager; return (1); } unsigned char *devicePit; bool success = bridgeManager->DownloadPitFile(&devicePit) != 0; if (success) { PitData *pitData = new PitData(); if (pitData->Unpack(devicePit)) { Interface::PrintPit(pitData); } else { Interface::PrintError("Failed to unpack device's PIT file!\n"); success = false; } delete pitData; } delete [] devicePit; if (!bridgeManager->EndSession(reboot)) success = false; delete bridgeManager; return (success ? 0 : 1); } } Heimdall-1.4.1/heimdall/source/PrintPitAction.h000066400000000000000000000024051234253036400213760ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef PRINTPITACTION_H #define PRINTPITACTION_H namespace Heimdall { namespace PrintPitAction { extern const char *usage; int Execute(int argc, char **argv); }; } #endif Heimdall-1.4.1/heimdall/source/ReceiveFilePartPacket.h000066400000000000000000000027571234253036400226420ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef RECEIVEFILEPARTPACKET_H #define RECEIVEFILEPARTPACKET_H // Heimdall #include "InboundPacket.h" namespace Heimdall { class ReceiveFilePartPacket : public InboundPacket { public: enum { kDataSize = 500 }; ReceiveFilePartPacket() : InboundPacket(kDataSize, true) { } bool Unpack(void) { return (true); } }; } #endif Heimdall-1.4.1/heimdall/source/ResponsePacket.h000066400000000000000000000040641234253036400214200ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef RESPONSEPACKET_H #define RESPONSEPACKET_H // Heimdall #include "InboundPacket.h" namespace Heimdall { class ResponsePacket : public InboundPacket { public: enum { kResponseTypeSendFilePart = 0x00, kResponseTypeSessionSetup = 0x64, kResponseTypePitFile = 0x65, kResponseTypeFileTransfer = 0x66, kResponseTypeEndSession = 0x67 }; private: unsigned int responseType; protected: enum { kDataSize = 4 }; public: ResponsePacket(int responseType) : InboundPacket(8) { this->responseType = responseType; } unsigned int GetResponseType(void) const { return (responseType); } virtual bool Unpack(void) { unsigned int receivedResponseType = UnpackInteger(0); if (receivedResponseType != responseType) { responseType = receivedResponseType; return (false); } return (true); } }; } #endif Heimdall-1.4.1/heimdall/source/SendFilePartPacket.h000066400000000000000000000041221234253036400221350ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef SENDFILEPARTPACKET_H #define SENDFILEPARTPACKET_H // C Standard Library #include #include // Heimdall #include "Packet.h" namespace Heimdall { class SendFilePartPacket : public OutboundPacket { public: SendFilePartPacket(FILE *file, unsigned int size) : OutboundPacket(size) { memset(data, 0, size); unsigned int position = (unsigned int)FileTell(file); FileSeek(file, 0, SEEK_END); unsigned int fileSize = (unsigned int)FileTell(file); FileSeek(file, position, SEEK_SET); // min(fileSize, size) unsigned int bytesToRead = (fileSize < size) ? fileSize - position : size; // bytesRead is discarded (it's just there to stop GCC warnings) unsigned int bytesRead = fread(data, 1, bytesToRead, file); } SendFilePartPacket(unsigned char *buffer, unsigned int size) : OutboundPacket(size) { memcpy(data, buffer, size); } void Pack(void) { } }; } #endif Heimdall-1.4.1/heimdall/source/SendFilePartResponse.h000066400000000000000000000033251234253036400225300ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef SENDFILEPARTRESPONSE_H #define SENDFILEPARTRESPONSE_H // Heimdall #include "ResponsePacket.h" namespace Heimdall { class SendFilePartResponse : public ResponsePacket { private: unsigned int partIndex; public: SendFilePartResponse() : ResponsePacket(ResponsePacket::kResponseTypeSendFilePart) { } unsigned int GetPartIndex(void) const { return (partIndex); } bool Unpack(void) { if (!ResponsePacket::Unpack()) return (false); partIndex = UnpackInteger(ResponsePacket::kDataSize); return (true); } }; } #endif Heimdall-1.4.1/heimdall/source/SessionSetupPacket.h000066400000000000000000000035421234253036400222660ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef SESSIONSETUPPACKET_H #define SESSIONSETUPPACKET_H // Heimdall #include "ControlPacket.h" namespace Heimdall { class SessionSetupPacket : public ControlPacket { public: enum { kBeginSession = 0, kDeviceType = 1, // ? kTotalBytes = 2, //kEnableSomeSortOfFlag = 3, kFilePartSize = 5 }; private: unsigned int request; protected: enum { kDataSize = ControlPacket::kDataSize + 4 }; public: SessionSetupPacket(unsigned int request) : ControlPacket(ControlPacket::kControlTypeSession) { this->request = request; } unsigned int GetRequest(void) const { return (request); } void Pack(void) { ControlPacket::Pack(); PackInteger(ControlPacket::kDataSize, request); } }; } #endif Heimdall-1.4.1/heimdall/source/SessionSetupResponse.h000066400000000000000000000032131234253036400226500ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef SESSIONSETUPRESPONSE_H #define SESSIONSETUPRESPONSE_H // Heimdall #include "ResponsePacket.h" namespace Heimdall { class SessionSetupResponse : public ResponsePacket { private: unsigned int result; public: SessionSetupResponse() : ResponsePacket(ResponsePacket::kResponseTypeSessionSetup) { } unsigned int GetResult(void) const { return (result); } bool Unpack(void) { if (!ResponsePacket::Unpack()) return (false); result = UnpackInteger(ResponsePacket::kDataSize); return (true); } }; } #endif Heimdall-1.4.1/heimdall/source/SetupSessionPacket.h000066400000000000000000000037721234253036400222730ustar00rootroot00000000000000/* Copyright (c) 2010-2012 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef SETUPSESSIONPACKET_H #define SETUPSESSIONPACKET_H // Heimdall #include "ControlPacket.h" namespace Heimdall { class SetupSessionPacket : public ControlPacket { public: enum { kBeginSession = 0, kDeviceInfo = 1, kTotalBytes = 2 }; private: unsigned int request; unsigned int unknown3Parameter; public: SetupSessionPacket(unsigned int request, unsigned int unknown3Parameter = 0) : ControlPacket(ControlPacket::kControlTypeSetupSession) { this->request = request; this->unknown3Parameter = unknown3Parameter; } unsigned int GetRequest(void) const { return (request); } unsigned int GetUnknown3Parameter(void) const { return (unknown3Parameter); } void Pack(void) { ControlPacket::Pack(); PackInteger(ControlPacket::kDataSize, request); PackInteger(ControlPacket::kDataSize + 4, unknown3Parameter); } }; } #endif Heimdall-1.4.1/heimdall/source/SetupSessionResponse.h000066400000000000000000000032171234253036400226540ustar00rootroot00000000000000/* Copyright (c) 2010-2012 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef SETUPSESSIONRESPONSE_H #define SETUPSESSIONRESPONSE_H // Heimdall #include "ResponsePacket.h" namespace Heimdall { class SetupSessionResponse : public ResponsePacket { private: unsigned int unknown; public: SetupSessionResponse() : ResponsePacket(ResponsePacket::kResponseTypeBeginSession) { } unsigned int GetUnknown(void) const { return (unknown); } bool Unpack(void) { if (!ResponsePacket::Unpack()) return (false); unknown = UnpackInteger(ResponsePacket::kDataSize); return (true); } }; } #endif Heimdall-1.4.1/heimdall/source/TotalBytesPacket.h000066400000000000000000000032321234253036400217100ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef TOTALBYTESPACKET_H #define TOTALBYTESPACKET_H // Heimdall #include "SessionSetupPacket.h" namespace Heimdall { class TotalBytesPacket : public SessionSetupPacket { private: unsigned int totalBytes; public: TotalBytesPacket(unsigned int totalBytes) : SessionSetupPacket(SessionSetupPacket::kTotalBytes) { this->totalBytes = totalBytes; } unsigned int GetTotalBytes(void) const { return (totalBytes); } void Pack(void) { SessionSetupPacket::Pack(); PackInteger(SessionSetupPacket::kDataSize, totalBytes); } }; } #endif Heimdall-1.4.1/heimdall/source/Utility.cpp000066400000000000000000000045451234253036400204740ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // C/C++ Standard Library #include #include #include // Heimdall #include "Heimdall.h" #include "Utility.h" using namespace Heimdall; NumberParsingStatus Utility::ParseInt(int &intValue, const char *string, int base) { errno = 0; char *end; long longValue = strtol(string, &end, base); if (*string == '\0' || *end != '\0') { return (kNumberParsingStatusInconvertible); } else if (errno == ERANGE) { intValue = (longValue == LONG_MAX) ? INT_MAX : INT_MIN; return (kNumberParsingStatusRangeError); } else if (longValue > INT_MAX) { intValue = INT_MAX; return (kNumberParsingStatusRangeError); } else if (longValue < INT_MIN) { intValue = INT_MIN; return (kNumberParsingStatusRangeError); } intValue = longValue; return (kNumberParsingStatusSuccess); } NumberParsingStatus Utility::ParseUnsignedInt(unsigned int &uintValue, const char *string, int base) { errno = 0; char *end; unsigned long ulongValue = strtoul(string, &end, base); if (*string == '\0' || *end != '\0') { return kNumberParsingStatusInconvertible; } else if (errno == ERANGE || ulongValue > INT_MAX) { uintValue = UINT_MAX; return (kNumberParsingStatusRangeError); } uintValue = ulongValue; return (kNumberParsingStatusSuccess); } Heimdall-1.4.1/heimdall/source/Utility.h000066400000000000000000000027631234253036400201410ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef UTILITY_H #define UTILITY_H namespace Heimdall { typedef enum { kNumberParsingStatusSuccess = 0, kNumberParsingStatusRangeError, kNumberParsingStatusInconvertible } NumberParsingStatus; namespace Utility { NumberParsingStatus ParseInt(int &intValue, const char *string, int base = 0); NumberParsingStatus ParseUnsignedInt(unsigned int &uintValue, const char *string, int base = 0); } } #endif Heimdall-1.4.1/heimdall/source/VersionAction.cpp000066400000000000000000000026231234253036400216070ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // Heimdall #include "Heimdall.h" #include "Interface.h" #include "VersionAction.h" using namespace Heimdall; const char *VersionAction::usage = "Action: version\n\ Description: Displays the version number of this binary.\n"; int VersionAction::Execute(int argc, char **argv) { Interface::PrintVersion(); return (0); } Heimdall-1.4.1/heimdall/source/VersionAction.h000066400000000000000000000024021234253036400212470ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef VERSIONACTION_H #define VERSIONACTION_H namespace Heimdall { namespace VersionAction { extern const char *usage; int Execute(int argc, char **argv); }; } #endif Heimdall-1.4.1/heimdall/source/main.cpp000066400000000000000000000033421234253036400177470ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // C/C++ Standard Library #include #include #include #include // libpit #include "libpit.h" // Heimdall #include "Heimdall.h" #include "HelpAction.h" #include "Interface.h" using namespace std; using namespace Heimdall; int main(int argc, char **argv) { if (argc < 2) { Interface::PrintUsage(); return (0); } int result = 0; map::const_iterator actionIt = Interface::GetActionMap().find(argv[1]); if (actionIt != Interface::GetActionMap().end()) result = actionIt->second.executeFunction(argc, argv); else result = HelpAction::Execute(argc, argv); return (result); } Heimdall-1.4.1/libpit/000077500000000000000000000000001234253036400145215ustar00rootroot00000000000000Heimdall-1.4.1/libpit/Makefile.am000066400000000000000000000004101234253036400165500ustar00rootroot00000000000000AUTOMAKE_OPTIONS = subdir-objects ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} AM_CPPFLAGS = $(DEPS_CFLAGS) lib_LIBRARIES = libpit-@LIBPIT_API_VERSION@.a libpit_@LIBPIT_API_VERSION@_a_SOURCES = Source/libpit.cpp Source/libpit.h config.h dist_noinst_SCRIPTS = autogen.sh Heimdall-1.4.1/libpit/Makefile.in000066400000000000000000000654421234253036400166010ustar00rootroot00000000000000# Makefile.in generated by automake 1.13.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2012 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__make_dryrun = \ { \ am__dry=no; \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ *) \ for am__flg in $$MAKEFLAGS; do \ case $$am__flg in \ *=*|--*) ;; \ *n*) am__dry=yes; break;; \ esac; \ done;; \ esac; \ test $$am__dry = yes; \ } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = . DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/configure $(am__configure_deps) \ $(srcdir)/config.h.in $(dist_noinst_SCRIPTS) depcomp ar-lib \ config.guess config.sub install-sh missing ltmain.sh ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(libdir)" LIBRARIES = $(lib_LIBRARIES) ARFLAGS = cru AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libpit_@LIBPIT_API_VERSION@_a_AR = $(AR) $(ARFLAGS) libpit_@LIBPIT_API_VERSION@_a_LIBADD = am__dirstamp = $(am__leading_dot)dirstamp am_libpit_@LIBPIT_API_VERSION@_a_OBJECTS = Source/libpit.$(OBJEXT) libpit_@LIBPIT_API_VERSION@_a_OBJECTS = \ $(am_libpit_@LIBPIT_API_VERSION@_a_OBJECTS) SCRIPTS = $(dist_noinst_SCRIPTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libpit_@LIBPIT_API_VERSION@_a_SOURCES) DIST_SOURCES = $(libpit_@LIBPIT_API_VERSION@_a_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ $(LISP)config.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags CSCOPE = cscope AM_RECURSIVE_TARGETS = cscope DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi am__post_remove_distdir = $(am__remove_distdir) DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best DIST_TARGETS = dist-gzip distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPIT_API_VERSION = @LIBPIT_API_VERSION@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = subdir-objects ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} AM_CPPFLAGS = $(DEPS_CFLAGS) lib_LIBRARIES = libpit-@LIBPIT_API_VERSION@.a libpit_@LIBPIT_API_VERSION@_a_SOURCES = Source/libpit.cpp Source/libpit.h config.h dist_noinst_SCRIPTS = autogen.sh all: config.h $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .cpp .lo .o .obj am--refresh: Makefile @: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): config.h: stamp-h1 @if test ! -f $@; then rm -f stamp-h1; else :; fi @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 install-libLIBRARIES: $(lib_LIBRARIES) @$(NORMAL_INSTALL) @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \ $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; } @$(POST_INSTALL) @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ for p in $$list; do \ if test -f $$p; then \ $(am__strip_dir) \ echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \ ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \ else :; fi; \ done uninstall-libLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(libdir)'; $(am__uninstall_files_from_dir) clean-libLIBRARIES: -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) Source/$(am__dirstamp): @$(MKDIR_P) Source @: > Source/$(am__dirstamp) Source/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) Source/$(DEPDIR) @: > Source/$(DEPDIR)/$(am__dirstamp) Source/libpit.$(OBJEXT): Source/$(am__dirstamp) \ Source/$(DEPDIR)/$(am__dirstamp) libpit-@LIBPIT_API_VERSION@.a: $(libpit_@LIBPIT_API_VERSION@_a_OBJECTS) $(libpit_@LIBPIT_API_VERSION@_a_DEPENDENCIES) $(EXTRA_libpit_@LIBPIT_API_VERSION@_a_DEPENDENCIES) $(AM_V_at)-rm -f libpit-@LIBPIT_API_VERSION@.a $(AM_V_AR)$(libpit_@LIBPIT_API_VERSION@_a_AR) libpit-@LIBPIT_API_VERSION@.a $(libpit_@LIBPIT_API_VERSION@_a_OBJECTS) $(libpit_@LIBPIT_API_VERSION@_a_LIBADD) $(AM_V_at)$(RANLIB) libpit-@LIBPIT_API_VERSION@.a mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f Source/*.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@Source/$(DEPDIR)/libpit.Po@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool config.lt ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscope: cscope.files test ! -s cscope.files \ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) clean-cscope: -rm -f cscope.files cscope.files: clean-cscope cscopelist cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__post_remove_distdir) dist dist-all: $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) mkdir $(distdir)/_build $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) $(SCRIPTS) config.h installdirs: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -rm -f Source/$(DEPDIR)/$(am__dirstamp) -rm -f Source/$(am__dirstamp) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf Source/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-libtool distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-libLIBRARIES install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -rf Source/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-libLIBRARIES .MAKE: all install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am am--refresh check check-am clean \ clean-cscope clean-generic clean-libLIBRARIES clean-libtool \ cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \ distcheck distclean distclean-compile distclean-generic \ distclean-hdr distclean-libtool distclean-tags distcleancheck \ distdir distuninstallcheck dvi dvi-am html html-am info \ info-am install install-am install-data install-data-am \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-libLIBRARIES install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-libLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Heimdall-1.4.1/libpit/Source/000077500000000000000000000000001234253036400157615ustar00rootroot00000000000000Heimdall-1.4.1/libpit/Source/libpit.cpp000066400000000000000000000206101234253036400177470ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // libpit #include "libpit.h" using namespace libpit; PitEntry::PitEntry() { binaryType = false; deviceType = 0; identifier = 0; attributes = 0; updateAttributes = 0; blockSizeOrOffset = 0; blockCount = 0; fileOffset = 0; fileSize = 0; memset(partitionName, 0, PitEntry::kPartitionNameMaxLength); memset(flashFilename, 0, PitEntry::kFlashFilenameMaxLength); memset(fotaFilename, 0, PitEntry::kFotaFilenameMaxLength); } PitEntry::~PitEntry() { } bool PitEntry::Matches(const PitEntry *otherPitEntry) const { if (binaryType == otherPitEntry->binaryType && deviceType == otherPitEntry->deviceType && identifier == otherPitEntry->identifier && attributes == otherPitEntry->attributes && updateAttributes == otherPitEntry->updateAttributes && blockSizeOrOffset == otherPitEntry->blockSizeOrOffset && blockCount == otherPitEntry->blockCount && fileOffset == otherPitEntry->fileOffset && fileSize == otherPitEntry->fileSize && strcmp(partitionName, otherPitEntry->partitionName) == 0 && strcmp(flashFilename, otherPitEntry->flashFilename) == 0 && strcmp(fotaFilename, otherPitEntry->fotaFilename) == 0) { return (true); } else { return (false); } } PitData::PitData() { entryCount = 0; unknown1 = 0; unknown2 = 0; unknown3 = 0; unknown4 = 0; unknown5 = 0; unknown6 = 0; unknown7 = 0; unknown8 = 0; } PitData::~PitData() { for (unsigned int i = 0; i < entries.size(); i++) delete entries[i]; } bool PitData::Unpack(const unsigned char *data) { if (PitData::UnpackInteger(data, 0) != PitData::kFileIdentifier) return (false); // Remove existing entries for (unsigned int i = 0; i < entries.size(); i++) delete entries[i]; entryCount = PitData::UnpackInteger(data, 4); entries.resize(entryCount); unknown1 = PitData::UnpackInteger(data, 8); unknown2 = PitData::UnpackInteger(data, 12); unknown3 = PitData::UnpackShort(data, 16); unknown4 = PitData::UnpackShort(data, 18); unknown5 = PitData::UnpackShort(data, 20); unknown6 = PitData::UnpackShort(data, 22); unknown7 = PitData::UnpackShort(data, 24); unknown8 = PitData::UnpackShort(data, 26); unsigned int integerValue; unsigned int entryOffset; for (unsigned int i = 0; i < entryCount; i++) { entryOffset = PitData::kHeaderDataSize + i * PitEntry::kDataSize; entries[i] = new PitEntry(); integerValue = PitData::UnpackInteger(data, entryOffset); entries[i]->SetBinaryType(integerValue); integerValue = PitData::UnpackInteger(data, entryOffset + 4); entries[i]->SetDeviceType(integerValue); integerValue = PitData::UnpackInteger(data, entryOffset + 8); entries[i]->SetIdentifier(integerValue); integerValue = PitData::UnpackInteger(data, entryOffset + 12); entries[i]->SetAttributes(integerValue); integerValue = PitData::UnpackInteger(data, entryOffset + 16); entries[i]->SetUpdateAttributes(integerValue); integerValue = PitData::UnpackInteger(data, entryOffset + 20); entries[i]->SetBlockSizeOrOffset(integerValue); integerValue = PitData::UnpackInteger(data, entryOffset + 24); entries[i]->SetBlockCount(integerValue); integerValue = PitData::UnpackInteger(data, entryOffset + 28); entries[i]->SetFileOffset(integerValue); integerValue = PitData::UnpackInteger(data, entryOffset + 32); entries[i]->SetFileSize(integerValue); entries[i]->SetPartitionName((const char *)data + entryOffset + 36); entries[i]->SetFlashFilename((const char *)data + entryOffset + 36 + PitEntry::kPartitionNameMaxLength); entries[i]->SetFotaFilename((const char *)data + entryOffset + 36 + PitEntry::kPartitionNameMaxLength + PitEntry::kFlashFilenameMaxLength); } return (true); } void PitData::Pack(unsigned char *data) const { PitData::PackInteger(data, 0, PitData::kFileIdentifier); PitData::PackInteger(data, 4, entryCount); PitData::PackInteger(data, 8, unknown1); PitData::PackInteger(data, 12, unknown2); PitData::PackShort(data, 16, unknown3); PitData::PackShort(data, 18, unknown4); PitData::PackShort(data, 20, unknown5); PitData::PackShort(data, 22, unknown6); PitData::PackShort(data, 24, unknown7); PitData::PackShort(data, 26, unknown8); int entryOffset; for (unsigned int i = 0; i < entryCount; i++) { entryOffset = PitData::kHeaderDataSize + i * PitEntry::kDataSize; PitData::PackInteger(data, entryOffset, entries[i]->GetBinaryType()); PitData::PackInteger(data, entryOffset + 4, entries[i]->GetDeviceType()); PitData::PackInteger(data, entryOffset + 8, entries[i]->GetIdentifier()); PitData::PackInteger(data, entryOffset + 12, entries[i]->GetAttributes()); PitData::PackInteger(data, entryOffset + 16, entries[i]->GetUpdateAttributes()); PitData::PackInteger(data, entryOffset + 20, entries[i]->GetBlockSizeOrOffset()); PitData::PackInteger(data, entryOffset + 24, entries[i]->GetBlockCount()); PitData::PackInteger(data, entryOffset + 28, entries[i]->GetFileOffset()); PitData::PackInteger(data, entryOffset + 32, entries[i]->GetFileSize()); memcpy(data + entryOffset + 36, entries[i]->GetPartitionName(), PitEntry::kPartitionNameMaxLength); memcpy(data + entryOffset + 36 + PitEntry::kPartitionNameMaxLength, entries[i]->GetFlashFilename(), PitEntry::kFlashFilenameMaxLength); memcpy(data + entryOffset + 36 + PitEntry::kPartitionNameMaxLength + PitEntry::kFlashFilenameMaxLength, entries[i]->GetFotaFilename(), PitEntry::kFotaFilenameMaxLength); } } bool PitData::Matches(const PitData *otherPitData) const { if (entryCount == otherPitData->entryCount && unknown1 == otherPitData->unknown1 && unknown2 == otherPitData->unknown2 && unknown3 == otherPitData->unknown3 && unknown4 == otherPitData->unknown4 && unknown5 == otherPitData->unknown5 && unknown6 == otherPitData->unknown6 && unknown7 == otherPitData->unknown7 && unknown8 == otherPitData->unknown8) { for (unsigned int i = 0; i < entryCount; i++) { if (!entries[i]->Matches(otherPitData->entries[i])) return (false); } return (true); } else { return (false); } } void PitData::Clear(void) { entryCount = 0; unknown1 = 0; unknown2 = 0; unknown3 = 0; unknown4 = 0; unknown5 = 0; unknown6 = 0; unknown7 = 0; unknown8 = 0; for (unsigned int i = 0; i < entries.size(); i++) delete entries[i]; entries.clear(); } PitEntry *PitData::GetEntry(unsigned int index) { return (entries[index]); } const PitEntry *PitData::GetEntry(unsigned int index) const { return (entries[index]); } PitEntry *PitData::FindEntry(const char *partitionName) { for (unsigned int i = 0; i < entries.size(); i++) { if (entries[i]->IsFlashable() && strcmp(entries[i]->GetPartitionName(), partitionName) == 0) return (entries[i]); } return (nullptr); } const PitEntry *PitData::FindEntry(const char *partitionName) const { for (unsigned int i = 0; i < entries.size(); i++) { if (entries[i]->IsFlashable() && strcmp(entries[i]->GetPartitionName(), partitionName) == 0) return (entries[i]); } return (nullptr); } PitEntry *PitData::FindEntry(unsigned int partitionIdentifier) { for (unsigned int i = 0; i < entries.size(); i++) { if (entries[i]->IsFlashable() && entries[i]->GetIdentifier() == partitionIdentifier) return (entries[i]); } return (nullptr); } const PitEntry *PitData::FindEntry(unsigned int partitionIdentifier) const { for (unsigned int i = 0; i < entries.size(); i++) { if (entries[i]->IsFlashable() && entries[i]->GetIdentifier() == partitionIdentifier) return (entries[i]); } return (nullptr); } Heimdall-1.4.1/libpit/Source/libpit.h000066400000000000000000000222251234253036400174200ustar00rootroot00000000000000/* Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ #ifndef LIBPIT_H #define LIBPIT_H #ifdef WIN32 #pragma warning(disable : 4996) #endif #if (!(defined _MSC_VER) || (_MSC_VER < 1700)) #ifndef nullptr #define nullptr 0 #endif #endif // C/C++ Standard Library #include #include #include namespace libpit { class PitEntry { public: enum { kDataSize = 132, kPartitionNameMaxLength = 32, kFlashFilenameMaxLength = 32, kFotaFilenameMaxLength = 32 }; enum { kBinaryTypeApplicationProcessor = 0, kBinaryTypeCommunicationProcessor = 1 }; enum { kDeviceTypeOneNand = 0, kDeviceTypeFile, // FAT kDeviceTypeMMC, kDeviceTypeAll // ? }; enum { kAttributeWrite = 1, kAttributeSTL = 1 << 1/*, kAttributeBML = 1 << 2*/ // ??? }; enum { kUpdateAttributeFota = 1, kUpdateAttributeSecure = 1 << 1 }; private: unsigned int binaryType; unsigned int deviceType; unsigned int identifier; unsigned int attributes; unsigned int updateAttributes; unsigned int blockSizeOrOffset; unsigned int blockCount; unsigned int fileOffset; // Obsolete unsigned int fileSize; // Obsolete char partitionName[kPartitionNameMaxLength]; char flashFilename[kFlashFilenameMaxLength]; // USB flash filename char fotaFilename[kFotaFilenameMaxLength]; // Firmware over the air public: PitEntry(); ~PitEntry(); bool Matches(const PitEntry *otherPitEntry) const; bool IsFlashable(void) const { return strlen(partitionName) != 0; } unsigned int GetBinaryType(void) const { return binaryType; } void SetBinaryType(unsigned int binaryType) { this->binaryType = binaryType; } unsigned int GetDeviceType(void) const { return deviceType; } void SetDeviceType(unsigned int deviceType) { this->deviceType = deviceType; } unsigned int GetIdentifier(void) const { return identifier; } void SetIdentifier(unsigned int identifier) { this->identifier = identifier; } unsigned int GetAttributes(void) const { return attributes; } void SetAttributes(unsigned int attributes) { this->attributes = attributes; } unsigned int GetUpdateAttributes(void) const { return updateAttributes; } void SetUpdateAttributes(unsigned int updateAttributes) { this->updateAttributes = updateAttributes; } // Different versions of Loke (secondary bootloaders) on different devices intepret this differently. unsigned int GetBlockSizeOrOffset(void) const { return blockSizeOrOffset; } void SetBlockSizeOrOffset(unsigned int blockSizeOrOffset) { this->blockSizeOrOffset = blockSizeOrOffset; } unsigned int GetBlockCount(void) const { return blockCount; } void SetBlockCount(unsigned int blockCount) { this->blockCount = blockCount; } unsigned int GetFileOffset(void) const { return fileOffset; } void SetFileOffset(unsigned int fileOffset) { this->fileOffset = fileOffset; } unsigned int GetFileSize(void) const { return fileSize; } void SetFileSize(unsigned int fileSize) { this->fileSize = fileSize; } const char *GetPartitionName(void) const { return partitionName; } void SetPartitionName(const char *partitionName) { // This isn't strictly necessary but ensures no junk is left in our PIT file. memset(this->partitionName, 0, 64); if (strlen(partitionName) < 64) strcpy(this->partitionName, partitionName); else memcpy(this->partitionName, partitionName, 63); } const char *GetFlashFilename(void) const { return flashFilename; } void SetFlashFilename(const char *flashFilename) { // This isn't strictly necessary but ensures no junk is left in our PIT file. memset(this->flashFilename, 0, kFlashFilenameMaxLength); if (strlen(partitionName) < 32) strcpy(this->flashFilename, flashFilename); else memcpy(this->flashFilename, flashFilename, 31); } const char *GetFotaFilename(void) const { return fotaFilename; } void SetFotaFilename(const char *fotaFilename) { // This isn't strictly necessary but ensures no junk is left in our PIT file. memset(this->fotaFilename, 0, kFotaFilenameMaxLength); if (strlen(partitionName) < 32) strcpy(this->fotaFilename, fotaFilename); else memcpy(this->fotaFilename, fotaFilename, 31); } }; class PitData { public: enum { kFileIdentifier = 0x12349876, kHeaderDataSize = 28, kPaddedSizeMultiplicand = 4096 }; private: unsigned int entryCount; // 0x04 unsigned int unknown1; // 0x08 unsigned int unknown2; // 0x0C unsigned short unknown3; // 0x10 unsigned short unknown4; // 0x12 unsigned short unknown5; // 0x14 unsigned short unknown6; // 0x16 unsigned short unknown7; // 0x18 unsigned short unknown8; // 0x1A // Entries start at 0x1C std::vector entries; static int UnpackInteger(const unsigned char *data, unsigned int offset) { #ifdef WORDS_BIGENDIAN int value = (data[offset] << 24) | (data[offset + 1] << 16) | (data[offset + 2] << 8) | data[offset + 3]; #else // Flip endianness int value = data[offset] | (data[offset + 1] << 8) | (data[offset + 2] << 16) | (data[offset + 3] << 24); #endif return (value); } static int UnpackShort(const unsigned char *data, unsigned int offset) { #ifdef WORDS_BIGENDIAN short value = (data[offset] << 8) | data[offset + 1]; #else // Flip endianness short value = data[offset] | (data[offset + 1] << 8); #endif return (value); } static void PackInteger(unsigned char *data, unsigned int offset, unsigned int value) { #ifdef WORDS_BIGENDIAN data[offset] = (value & 0xFF000000) >> 24; data[offset + 1] = (value & 0x00FF0000) >> 16; data[offset + 2] = (value & 0x0000FF00) >> 8; data[offset + 3] = value & 0x000000FF; #else // Flip endianness data[offset] = value & 0x000000FF; data[offset + 1] = (value & 0x0000FF00) >> 8; data[offset + 2] = (value & 0x00FF0000) >> 16; data[offset + 3] = (value & 0xFF000000) >> 24; #endif } static void PackShort(unsigned char *data, unsigned int offset, unsigned short value) { #ifdef WORDS_BIGENDIAN data[offset] = (value & 0xFF00) >> 8; data[offset + 1] = value & 0x00FF; #else // Flip endianness data[offset] = value & 0x00FF; data[offset + 1] = (value & 0xFF00) >> 8; #endif } public: PitData(); ~PitData(); bool Unpack(const unsigned char *data); void Pack(unsigned char *data) const; bool Matches(const PitData *otherPitData) const; void Clear(void); PitEntry *GetEntry(unsigned int index); const PitEntry *GetEntry(unsigned int index) const; PitEntry *FindEntry(const char *partitionName); const PitEntry *FindEntry(const char *partitionName) const; PitEntry *FindEntry(unsigned int partitionIdentifier); const PitEntry *FindEntry(unsigned int partitionIdentifier) const; unsigned int GetEntryCount(void) const { return entryCount; } unsigned int GetDataSize(void) const { return PitData::kHeaderDataSize + entryCount * PitEntry::kDataSize; } unsigned int GetPaddedSize(void) const { unsigned int dataSize = GetDataSize(); unsigned int paddedSize = (dataSize / kPaddedSizeMultiplicand) * kPaddedSizeMultiplicand; if (dataSize % kPaddedSizeMultiplicand != 0) paddedSize += kPaddedSizeMultiplicand; return paddedSize; } unsigned int GetUnknown1(void) const { return unknown1; } unsigned int GetUnknown2(void) const { return unknown2; } unsigned short GetUnknown3(void) const { return unknown3; } unsigned short GetUnknown4(void) const { return unknown4; } unsigned short GetUnknown5(void) const { return unknown5; } unsigned short GetUnknown6(void) const { return unknown6; } unsigned short GetUnknown7(void) const { return unknown7; } unsigned short GetUnknown8(void) const { return unknown8; } }; } #endif Heimdall-1.4.1/libpit/aclocal.m4000066400000000000000000001165121234253036400163670ustar00rootroot00000000000000# generated automatically by aclocal 1.13.1 -*- Autoconf -*- # Copyright (C) 1996-2012 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, [m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) # Copyright (C) 2002-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.13' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.13.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.13.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # Copyright (C) 2011-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_AR([ACT-IF-FAIL]) # ------------------------- # Try to determine the archiver interface, and trigger the ar-lib wrapper # if it is needed. If the detection of archiver interface fails, run # ACT-IF-FAIL (default is to abort configure with a proper error message). AC_DEFUN([AM_PROG_AR], [AC_BEFORE([$0], [LT_INIT])dnl AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([ar-lib])dnl AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false]) : ${AR=ar} AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface], [am_cv_ar_interface=ar AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])], [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([am_ar_try]) if test "$ac_status" -eq 0; then am_cv_ar_interface=ar else am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([am_ar_try]) if test "$ac_status" -eq 0; then am_cv_ar_interface=lib else am_cv_ar_interface=unknown fi fi rm -f conftest.lib libconftest.a ]) ]) case $am_cv_ar_interface in ar) ;; lib) # Microsoft lib, so override with the ar-lib wrapper script. # FIXME: It is wrong to rewrite AR. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__AR in this case, # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something # similar. AR="$am_aux_dir/ar-lib $AR" ;; unknown) m4_default([$1], [AC_MSG_ERROR([could not determine $AR interface])]) ;; esac AC_SUBST([AR])dnl ]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to # '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], [$1], [CXX], [depcc="$CXX" am_compiler_list=], [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], [$1], [UPC], [depcc="$UPC" am_compiler_list=], [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl AS_HELP_STRING( [--enable-dependency-tracking], [do not reject slow dependency extractors]) AS_HELP_STRING( [--disable-dependency-tracking], [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each '.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [AC_DIAGNOSE([obsolete], [$0: two- and three-arguments forms are deprecated.]) m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) AM_MISSING_PROG([AUTOCONF], [autoconf]) AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) AM_MISSING_PROG([AUTOHEADER], [autoheader]) AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES([CC])], [m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES([CXX])], [m4_define([AC_PROG_CXX], m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES([OBJC])], [m4_define([AC_PROG_OBJC], m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [_AM_DEPENDENCIES([OBJCXX])], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST([install_sh])]) # Copyright (C) 2003-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering # Copyright (C) 1996-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MAINTAINER_MODE([DEFAULT-MODE]) # ---------------------------------- # Control maintainer-specific portions of Makefiles. # Default is to disable them, unless 'enable' is passed literally. # For symmetry, 'disable' may be passed as well. Anyway, the user # can override the default with the --enable/--disable switch. AC_DEFUN([AM_MAINTAINER_MODE], [m4_case(m4_default([$1], [disable]), [enable], [m4_define([am_maintainer_other], [disable])], [disable], [m4_define([am_maintainer_other], [enable])], [m4_define([am_maintainer_other], [enable]) m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) dnl maintainer-mode's default is 'disable' unless 'enable' is passed AC_ARG_ENABLE([maintainer-mode], [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode], am_maintainer_other[ make rules and dependencies not useful (and sometimes confusing) to the casual installer])], [USE_MAINTAINER_MODE=$enableval], [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) AC_MSG_RESULT([$USE_MAINTAINER_MODE]) AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) MAINT=$MAINTAINER_MODE_TRUE AC_SUBST([MAINT])dnl ] ) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it is modern enough. # If it is, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= AC_MSG_WARN(['missing' script is too old or missing]) fi ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi if test "$[2]" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT([yes]) # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi AC_CONFIG_COMMANDS_PRE( [AC_MSG_CHECKING([that generated files are newer than configure]) if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi AC_MSG_RESULT([done])]) rm -f conftest.file ]) # Copyright (C) 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT # ("yes" being less verbose, "no" or empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl AS_HELP_STRING( [--enable-silent-rules], [less verbose build output (undo: "make V=1")]) AS_HELP_STRING( [--disable-silent-rules], [verbose build output (undo: "make V=0")])dnl ]) case $enable_silent_rules in @%:@ ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac dnl dnl A few 'make' implementations (e.g., NonStop OS and NextStep) dnl do not support nested variable expansions. dnl See automake bug#9928 and bug#10237. am_make=${MAKE-make} AC_CACHE_CHECK([whether $am_make supports nested variables], [am_cv_make_support_nested_variables], [if AS_ECHO([['TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi]) if test $am_cv_make_support_nested_variables = yes; then dnl Using '$V' instead of '$(V)' breaks IRIX make. AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AC_SUBST([AM_V])dnl AM_SUBST_NOTMAKE([AM_V])dnl AC_SUBST([AM_DEFAULT_V])dnl AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of '-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/libtool.m4]) m4_include([m4/ltoptions.m4]) m4_include([m4/ltsugar.m4]) m4_include([m4/ltversion.m4]) m4_include([m4/lt~obsolete.m4]) Heimdall-1.4.1/libpit/ar-lib000077500000000000000000000133021234253036400156140ustar00rootroot00000000000000#! /bin/sh # Wrapper for Microsoft lib.exe me=ar-lib scriptversion=2012-03-01.08; # UTC # Copyright (C) 2010-2013 Free Software Foundation, Inc. # Written by Peter Rosin . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . # func_error message func_error () { echo "$me: $1" 1>&2 exit 1 } file_conv= # func_file_conv build_file # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv in mingw) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin) file=`cygpath -m "$file" || echo "$file"` ;; wine) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_at_file at_file operation archive # Iterate over all members in AT_FILE performing OPERATION on ARCHIVE # for each of them. # When interpreting the content of the @FILE, do NOT use func_file_conv, # since the user would need to supply preconverted file names to # binutils ar, at least for MinGW. func_at_file () { operation=$2 archive=$3 at_file_contents=`cat "$1"` eval set x "$at_file_contents" shift for member do $AR -NOLOGO $operation:"$member" "$archive" || exit $? done } case $1 in '') func_error "no command. Try '$0 --help' for more information." ;; -h | --h*) cat <. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # # Originally written by Per Bothner. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD # # Please send patches with a ChangeLog entry to config-patches@gnu.org. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW64*:*) echo ${UNAME_MACHINE}-pc-mingw64 exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo ${UNAME_MACHINE}-unknown-linux-gnueabi else echo ${UNAME_MACHINE}-unknown-linux-gnueabihf fi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; hexagon:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; tile*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; x86_64:Haiku:*:*) echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in i386) eval $set_cc_for_build if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then UNAME_PROCESSOR="x86_64" fi fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-?:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; esac eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: Heimdall-1.4.1/libpit/config.h.in000066400000000000000000000040131234253036400165420ustar00rootroot00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* Define if building universal (internal helper macro) */ #undef AC_APPLE_UNIVERSAL_BUILD /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to the sub-directory in which libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Darwin backend */ #undef OS_DARWIN /* Linux backend */ #undef OS_LINUX /* Windows backend */ #undef OS_WINDOWS /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel). */ #if defined AC_APPLE_UNIVERSAL_BUILD # if defined __BIG_ENDIAN__ # define WORDS_BIGENDIAN 1 # endif #else # ifndef WORDS_BIGENDIAN # undef WORDS_BIGENDIAN # endif #endif Heimdall-1.4.1/libpit/config.sub000077500000000000000000001054671234253036400165210ustar00rootroot00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, # 2011, 2012, 2013 Free Software Foundation, Inc. timestamp='2012-12-29' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # Please send patches with a ChangeLog entry to config-patches@gnu.org. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; android-linux) os=-linux-android basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*178) os=-lynxos178 ;; -lynx*5) os=-lynxos5 ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ | be32 | be64 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | epiphany \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ | nios | nios2 \ | ns16k | ns32k \ | open8 \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; c54x) basic_machine=tic54x-unknown ;; c55x) basic_machine=tic55x-unknown ;; c6x) basic_machine=tic6x-unknown ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; strongarm | thumb | xscale) basic_machine=arm-unknown ;; xgate) basic_machine=$basic_machine-unknown os=-none ;; xscaleeb) basic_machine=armeb-unknown ;; xscaleel) basic_machine=armel-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c54x-*) basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c55x-*) basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c6x-*) basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16 | cr16-*) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze*) basic_machine=microblaze-xilinx ;; mingw64) basic_machine=x86_64-pc os=-mingw64 ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) basic_machine=i386-pc os=-msys ;; mvs) basic_machine=i370-ibm os=-mvs ;; nacl) basic_machine=le32-unknown os=-nacl ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; neo-tandem) basic_machine=neo-tandem ;; nse-tandem) basic_machine=nse-tandem ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos | rdos64) basic_machine=x86_64-pc os=-rdos ;; rdos32) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; strongarm-* | thumb-*) basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tile*) basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; xscale-* | xscalee[bl]-*) basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -bitrig* | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -nacl*) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; hexagon-*) os=-elf ;; tic54x-*) os=-coff ;; tic55x-*) os=-coff ;; tic6x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: Heimdall-1.4.1/libpit/configure000077500000000000000000022030771234253036400164430ustar00rootroot00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for libpit 1.4. # # Report bugs to . # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and $0: bug-report@glassechidna.com.au about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" SHELL=${CONFIG_SHELL-/bin/sh} test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='libpit' PACKAGE_TARNAME='libpit' PACKAGE_VERSION='1.4' PACKAGE_STRING='libpit 1.4' PACKAGE_BUGREPORT='bug-report@glassechidna.com.au' PACKAGE_URL='http://www.glassechidna.com.au/' # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS CXXCPP am__fastdepCXX_FALSE am__fastdepCXX_TRUE CXXDEPMODE ac_ct_CXX CXXFLAGS CXX MAINT MAINTAINER_MODE_FALSE MAINTAINER_MODE_TRUE LIBPIT_API_VERSION CPP OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL MANIFEST_TOOL RANLIB DLLTOOL OBJDUMP LN_S NM ac_ct_DUMPBIN DUMPBIN LD FGREP EGREP GREP SED LIBTOOL am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC ac_ct_AR AR AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_os target_vendor target_cpu target host_os host_vendor host_cpu host build_os build_vendor build_cpu build target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_silent_rules enable_dependency_tracking enable_shared enable_static with_pic enable_fast_install with_gnu_ld with_sysroot enable_libtool_lock enable_maintainer_mode ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP CXX CXXFLAGS CCC CXXCPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures libpit 1.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/libpit] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of libpit 1.4:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot=DIR Search for dependent libraries within DIR (or the compiler's sysroot if not specified). Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor CXX C++ compiler command CXXFLAGS C++ compiler flags CXXCPP C++ preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . libpit home page: . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF libpit configure 1.4 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_cxx_try_compile LINENO # ---------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_compile # ac_fn_cxx_try_cpp LINENO # ------------------------ # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_cpp # ac_fn_cxx_try_link LINENO # ------------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_link cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by libpit $as_me 1.4, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 $as_echo_n "checking target system type... " >&6; } if ${ac_cv_target+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 $as_echo "$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; esac target=$ac_cv_target ac_save_IFS=$IFS; IFS='-' set x $ac_cv_target shift target_cpu=$1 target_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: target_os=$* IFS=$ac_save_IFS case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. # will get canonicalized. test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- am__api_version='1.13' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi if test "$2" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi rm -f conftest.file test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=1;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 $as_echo_n "checking whether $am_make supports nested variables... " >&6; } if ${am_cv_make_support_nested_variables+:} false; then : $as_echo_n "(cached) " >&6 else if $as_echo 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 $as_echo "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='libpit' VERSION='1.4' # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # mkdir_p='$(MKDIR_P)' # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' ac_config_headers="$ac_config_headers config.h" DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi if test -n "$ac_tool_prefix"; then for ac_prog in ar lib "link -lib" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AR" && break done fi if test -z "$AR"; then ac_ct_AR=$AR for ac_prog in ar lib "link -lib" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_AR" && break done if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi fi : ${AR=ar} { $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5 $as_echo_n "checking the archiver ($AR) interface... " >&6; } if ${am_cv_ar_interface+:} false; then : $as_echo_n "(cached) " >&6 else am_cv_ar_interface=ar cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int some_variable = 0; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 (eval $am_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -eq 0; then am_cv_ar_interface=ar else am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 (eval $am_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -eq 0; then am_cv_ar_interface=lib else am_cv_ar_interface=unknown fi fi rm -f conftest.lib libconftest.a fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5 $as_echo "$am_cv_ar_interface" >&6; } case $am_cv_ar_interface in ar) ;; lib) # Microsoft lib, so override with the ar-lib wrapper script. # FIXME: It is wrong to rewrite AR. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__AR in this case, # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something # similar. AR="$am_aux_dir/ar-lib $AR" ;; unknown) as_fn_error $? "could not determine $AR interface" "$LINENO" 5 ;; esac case `pwd` in *\ * | *\ *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.4.2' macro_revision='1.3337' ltmain="$ac_aux_dir/ltmain.sh" # Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 $as_echo_n "checking how to print strings... " >&6; } # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "" } case "$ECHO" in printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 $as_echo "printf" >&6; } ;; print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 $as_echo "print -r" >&6; } ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 $as_echo "cat" >&6; } ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed { ac_script=; unset ac_script;} if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } if ${ac_cv_path_FGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_FGREP" || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 $as_echo "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if ${lt_cv_path_NM+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else if test -n "$ac_tool_prefix"; then for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 $as_echo "$DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$DUMPBIN" && break done fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 $as_echo "$ac_ct_DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_DUMPBIN" && break done if test "x$ac_ct_DUMPBIN" = x; then DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols" ;; *) DUMPBIN=: ;; esac fi if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } if ${lt_cv_nm_interface+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 $as_echo "$lt_cv_nm_interface" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } if ${lt_cv_sys_max_cmd_len+:} false; then : $as_echo_n "(cached) " >&6 else i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 $as_echo "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,b/c, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 $as_echo "$xsi_shell" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 $as_echo_n "checking whether the shell understands \"+=\"... " >&6; } lt_shell_append=no ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 $as_echo "$lt_shell_append" >&6; } if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 $as_echo_n "checking how to convert $build file names to $host format... " >&6; } if ${lt_cv_to_host_file_cmd+:} false; then : $as_echo_n "(cached) " >&6 else case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac fi to_host_file_cmd=$lt_cv_to_host_file_cmd { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 $as_echo "$lt_cv_to_host_file_cmd" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 $as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } if ${lt_cv_to_tool_file_cmd+:} false; then : $as_echo_n "(cached) " >&6 else #assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac fi to_tool_file_cmd=$lt_cv_to_tool_file_cmd { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 $as_echo "$lt_cv_to_tool_file_cmd" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } if ${lt_cv_ld_reload_flag+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 $as_echo "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in cygwin* | mingw* | pw32* | cegcc*) if test "$GCC" != yes; then reload_cmds=false fi ;; darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } if ${lt_cv_deplibs_check_method+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$lt_cv_deplibs_check_method" >&6; } file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 $as_echo "$DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DLLTOOL="dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 $as_echo "$ac_ct_DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL fi else DLLTOOL="$ac_cv_prog_DLLTOOL" fi test -z "$DLLTOOL" && DLLTOOL=dlltool { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 $as_echo_n "checking how to associate runtime and link libraries... " >&6; } if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh # decide which to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd="$ECHO" ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 $as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO if test -n "$ac_tool_prefix"; then for ac_prog in ar do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AR" && break done fi if test -z "$AR"; then ac_ct_AR=$AR for ac_prog in ar do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_AR" && break done if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi fi : ${AR=ar} : ${AR_FLAGS=cru} { $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 $as_echo_n "checking for archiver @FILE support... " >&6; } if ${lt_cv_ar_at_file+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ar_at_file=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -eq 0; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -ne 0; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 $as_echo "$lt_cv_ar_at_file" >&6; } if test "x$lt_cv_ar_at_file" = xno; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } if ${lt_cv_sys_global_symbol_pipe+:} false; then : $as_echo_n "(cached) " >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 $as_echo "failed" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then nm_file_list_spec='@' fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 $as_echo_n "checking for sysroot... " >&6; } # Check whether --with-sysroot was given. if test "${with_sysroot+set}" = set; then : withval=$with_sysroot; else with_sysroot=no fi lt_sysroot= case ${with_sysroot} in #( yes) if test "$GCC" = yes; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 $as_echo "${with_sysroot}" >&6; } as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 $as_echo "${lt_sysroot:-no}" >&6; } # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } if ${lt_cv_cc_needs_belf+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_cc_needs_belf=yes else lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; *-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD="${LD-ld}_sol2" fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. set dummy ${ac_tool_prefix}mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$MANIFEST_TOOL"; then ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL if test -n "$MANIFEST_TOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 $as_echo "$MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_MANIFEST_TOOL"; then ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL # Extract the first word of "mt", so it can be a program name with args. set dummy mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_MANIFEST_TOOL"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL if test -n "$ac_ct_MANIFEST_TOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 $as_echo "$ac_ct_MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_MANIFEST_TOOL" = x; then MANIFEST_TOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL fi else MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" fi test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 $as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } if ${lt_cv_path_mainfest_tool+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&5 if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 $as_echo "$lt_cv_path_mainfest_tool" >&6; } if test "x$lt_cv_path_mainfest_tool" != xyes; then MANIFEST_TOOL=: fi case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 $as_echo "$ac_ct_DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 $as_echo "$NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_NMEDIT="nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 $as_echo "$ac_ct_NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 $as_echo "$LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_LIPO="lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 $as_echo "$ac_ct_LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 $as_echo "$OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL="otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 $as_echo "$ac_ct_OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 $as_echo "$OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL64="otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 $as_echo "$ac_ct_OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } if ${lt_cv_apple_cc_single_mod+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&5 # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if ${lt_cv_ld_exported_symbols_list+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_ld_exported_symbols_list=yes else lt_cv_ld_exported_symbols_list=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 $as_echo_n "checking for -force_load linker flag... " >&6; } if ${lt_cv_ld_force_load+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 echo "$AR cru libconftest.a conftest.o" >&5 $AR cru libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&5 elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then lt_cv_ld_force_load=yes else cat conftest.err >&5 fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 $as_echo "$lt_cv_ld_force_load" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[012]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do : ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " if test "x$ac_cv_header_dlfcn_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DLFCN_H 1 _ACEOF fi done # Set options enable_dlopen=no enable_win32_dll=no # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac else enable_shared=yes fi # Check whether --enable-static was given. if test "${enable_static+set}" = set; then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac else enable_static=yes fi # Check whether --with-pic was given. if test "${with_pic+set}" = set; then : withval=$with_pic; lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for lt_pkg in $withval; do IFS="$lt_save_ifs" if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS="$lt_save_ifs" ;; esac else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac else enable_fast_install=yes fi # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } if ${lt_cv_objdir+:} false; then : $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 $as_echo "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir cat >>confdefs.h <<_ACEOF #define LT_OBJDIR "$lt_cv_objdir/" _ACEOF case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 $as_echo_n "checking for file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then case $cc_basename in nvcc*) lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; *) lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 lt_prog_compiler_wl='-Xlinker ' if test -n "$lt_prog_compiler_pic"; then lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; nagfor*) # NAG Fortran compiler lt_prog_compiler_wl='-Wl,-Wl,,' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; *Sun\ F* | *Sun*Fortran*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Intel*\ [CF]*Compiler*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; *Portland\ Group*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; esac ;; esac ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if ${lt_cv_prog_compiler_pic+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic=$lt_prog_compiler_pic fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 $as_echo "$lt_cv_prog_compiler_pic" >&6; } lt_prog_compiler_pic=$lt_cv_prog_compiler_pic # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if ${lt_cv_prog_compiler_pic_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } if test x"$lt_cv_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test x"$lt_cv_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test "$with_gnu_ld" = yes; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; *\ \(GNU\ Binutils\)\ [3-9]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test "$lt_use_gnu_ld_interface" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' export_dynamic_flag_spec='${wl}--export-all-symbols' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; haiku*) archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' link_all_deplibs=yes ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global # defined symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' fi archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes file_list_spec='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, )='true' enable_shared_with_static_runtimes=yes exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib old_postinstall_cmds='chmod 644 $oldlib' postlink_cmds='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' enable_shared_with_static_runtimes=yes ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported if test "$lt_cv_ld_force_load" = "yes"; then whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec='' fi link_all_deplibs=yes allow_undefined_flag="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 $as_echo_n "checking if $CC understands -b... " >&6; } if ${lt_cv_prog_compiler__b+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler__b=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -b" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler__b=yes fi else lt_cv_prog_compiler__b=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 $as_echo "$lt_cv_prog_compiler__b" >&6; } if test x"$lt_cv_prog_compiler__b" = xyes; then archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 $as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } if ${lt_cv_irix_exported_symbol+:} false; then : $as_echo_n "(cached) " >&6 else save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo (void) { return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_irix_exported_symbol=yes else lt_cv_irix_exported_symbol=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 $as_echo "$lt_cv_irix_exported_symbol" >&6; } if test "$lt_cv_irix_exported_symbol" = yes; then archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='${wl}-Blargedynsym' ;; esac fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } if ${lt_cv_archive_cmds_need_lc+:} false; then : $as_echo_n "(cached) " >&6 else $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc=no else lt_cv_archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 $as_echo "$lt_cv_archive_cmds_need_lc" >&6; } archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; *) lt_sed_strip_eq="s,=/,/,g" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's,/\([A-Za-z]:\),\1,g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' library_names_spec='${libname}.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec="$LIB" if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if ${lt_cv_shlibpath_overrides_runpath+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } if test "$hardcode_action" = relink || test "$inherit_rpath" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" if test "x$ac_cv_func_shl_load" = xyes; then : lt_cv_dlopen="shl_load" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if ${ac_cv_lib_dld_shl_load+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_shl_load=yes else ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes; then : lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes; then : lt_cv_dlopen="dlopen" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } if ${ac_cv_lib_svld_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_svld_dlopen=yes else ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } if ${ac_cv_lib_dld_dld_link+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_dld_link=yes else ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = xyes; then : lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi fi fi fi fi fi ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self_static+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac fi # Report which library types will actually be built { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ac_config_commands="$ac_config_commands libtool" # Only expand once: LIBPIT_API_VERSION=1.4 ac_config_files="$ac_config_files Makefile" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } # Check whether --enable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then : enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval else USE_MAINTAINER_MODE=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 $as_echo "$USE_MAINTAINER_MODE" >&6; } if test $USE_MAINTAINER_MODE = yes; then MAINTAINER_MODE_TRUE= MAINTAINER_MODE_FALSE='#' else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= fi MAINT=$MAINTAINER_MODE_TRUE { $as_echo "$as_me:${as_lineno-$LINENO}: checking operating system" >&5 $as_echo_n "checking operating system... " >&6; } case $target in *-linux*) $as_echo "#define OS_LINUX /**/" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: Linux" >&5 $as_echo "Linux" >&6; } ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CXX_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi func_stripname_cnf () { case ${2} in .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; esac } # func_stripname_cnf if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if ${ac_cv_prog_CXXCPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 $as_echo "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu else _lt_caught_CXX_error=yes fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= compiler_needs_object_CXX=no export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_direct_absolute_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no inherit_rpath_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds reload_flag_CXX=$reload_flag reload_cmds_CXX=$reload_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} CFLAGS=$CXXFLAGS compiler=$CC compiler_CXX=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_CXX= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_direct_absolute_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes file_list_spec_CXX='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct_CXX=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec_CXX='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. always_export_symbols_CXX=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty # executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath__CXX+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath__CXX fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_CXX="-z nodefs" archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath__CXX+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath__CXX fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag_CXX=' ${wl}-bernotok' allow_undefined_flag_CXX=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX='$convenience' fi archive_cmds_need_lc_CXX=yes # This is similar to how AIX traditionally builds its shared # libraries. archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_CXX=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_CXX=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl*) # Native MSVC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec_CXX=' ' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=yes file_list_spec_CXX='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' enable_shared_with_static_runtimes_CXX=yes # Don't use ranlib old_postinstall_cmds_CXX='chmod 644 $oldlib' postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ func_to_tool_file "$lt_outputfile"~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' export_dynamic_flag_spec_CXX='${wl}--export-all-symbols' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_CXX=no fi ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc_CXX=no hardcode_direct_CXX=no hardcode_automatic_CXX=yes hardcode_shlibpath_var_CXX=unsupported if test "$lt_cv_ld_force_load" = "yes"; then whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec_CXX='' fi link_all_deplibs_CXX=yes allow_undefined_flag_CXX="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" if test "$lt_cv_apple_cc_single_mod" != "yes"; then archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi else ld_shlibs_CXX=no fi ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes ;; gnu*) ;; haiku*) archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' link_all_deplibs_CXX=yes ;; hpux9*) hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: export_dynamic_flag_spec_CXX='${wl}-E' hardcode_direct_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: case $host_cpu in hppa*64*|ia64*) ;; *) export_dynamic_flag_spec_CXX='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no ;; *) hardcode_direct_CXX=yes hardcode_direct_absolute_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; interix[3-9]*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: inherit_rpath_CXX=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [1-5].* | *pgcpp\ [1-5].*) prelink_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' old_archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object_CXX=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; m88k*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) ld_shlibs_CXX=yes ;; openbsd2*) # C++ shared libraries are fairly broken ld_shlibs_CXX=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no hardcode_direct_absolute_CXX=yes archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='${wl}-E' whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else ld_shlibs_CXX=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) case $host in osf3*) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' ;; *) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' ;; esac hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_CXX=yes output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then no_undefined_flag_CXX=' ${wl}-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' fi hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_CXX='${wl}-z,text' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_CXX='${wl}-z,text' allow_undefined_flag_CXX='${wl}-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ '"$old_archive_cmds_CXX" reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ '"$reload_cmds_CXX" ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no GCC_CXX="$GXX" LD_CXX="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case ${prev}${p} in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" || test $p = "-R"; then prev=$p continue fi # Expand the sysroot to ease extracting the directories later. if test -z "$prev"; then case $p in -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac fi case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test "$pre_test_object_deps_done" = no; then case ${prev} in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$compiler_lib_search_path_CXX"; then compiler_lib_search_path_CXX="${prev}${p}" else compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$postdeps_CXX"; then postdeps_CXX="${prev}${p}" else postdeps_CXX="${postdeps_CXX} ${prev}${p}" fi fi prev= ;; *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$predep_objects_CXX"; then predep_objects_CXX="$p" else predep_objects_CXX="$predep_objects_CXX $p" fi else if test -z "$postdep_objects_CXX"; then postdep_objects_CXX="$p" else postdep_objects_CXX="$postdep_objects_CXX $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling CXX test program" fi $RM -f confest.$objext CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken case $host_os in interix[3-9]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. predep_objects_CXX= postdep_objects_CXX= postdeps_CXX= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; esac case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac compiler_lib_search_dirs_CXX= if test -n "${compiler_lib_search_path_CXX}"; then compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic_CXX='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac else case $host_os in aix[4-9]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; dgux*) case $cc_basename in ec++*) lt_prog_compiler_pic_CXX='-KPIC' ;; ghcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_CXX='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) # IBM XL 8.0, 9.0 on PPC and BlueGene lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-qpic' lt_prog_compiler_static_CXX='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd*) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if ${lt_cv_prog_compiler_pic_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 $as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works_CXX=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works_CXX=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works_CXX=yes fi else lt_cv_prog_compiler_static_works_CXX=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then : else lt_prog_compiler_static_CXX= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' case $host_os in aix[4-9]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global defined # symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) export_symbols_cmds_CXX="$ltdll_cmds" ;; cygwin* | mingw* | cegcc*) case $cc_basename in cl*) exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' ;; esac ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no with_gnu_ld_CXX=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_CXX in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : $as_echo_n "(cached) " >&6 else $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_CXX pic_flag=$lt_prog_compiler_pic_CXX compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_CXX allow_undefined_flag_CXX= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc_CXX=no else lt_cv_archive_cmds_need_lc_CXX=yes fi allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 $as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' library_names_spec='${libname}.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec="$LIB" if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if ${lt_cv_shlibpath_overrides_runpath+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || test -n "$runpath_var_CXX" || test "X$hardcode_automatic_CXX" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct_CXX" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && test "$hardcode_minus_L_CXX" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 $as_echo "$hardcode_action_CXX" >&6; } if test "$hardcode_action_CXX" = relink || test "$inherit_rpath_CXX" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi fi # test -n "$compiler" CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ;; *-darwin*) $as_echo "#define OS_DARWIN /**/" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin/MacOS X" >&5 $as_echo "Darwin/MacOS X" >&6; } ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in clang++ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in clang++ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CXX_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi ;; *-mingw*) $as_echo "#define OS_WINDOWS /**/" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: Windows" >&5 $as_echo "Windows" >&6; } ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CXX_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi ;; *-cygwin*) $as_echo "#define OS_WINDOWS /**/" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: Windows" >&5 $as_echo "Windows" >&6; } ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CXX_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi ;; *) as_fn_error $? "unsupported operating system" "$LINENO" 5 esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 $as_echo_n "checking whether byte ordering is bigendian... " >&6; } if ${ac_cv_c_bigendian+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # Check for potential -arch flags. It is not universal unless # there are at least two -arch flags with different values. ac_arch= ac_prev= for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do if test -n "$ac_prev"; then case $ac_word in i?86 | x86_64 | ppc | ppc64) if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then ac_arch=$ac_word else ac_cv_c_bigendian=universal break fi ;; esac ac_prev= elif test "x$ac_word" = "x-arch"; then ac_prev=arch fi done fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to _BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef _BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # Compile a test program. if test "$cross_compiling" = yes; then : # Try to guess by grepping values from an object file. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; int use_ascii (int i) { return ascii_mm[i] + ascii_ii[i]; } short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; } extern int foo; int main () { return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_bigendian=no else ac_cv_c_bigendian=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 $as_echo "$ac_cv_c_bigendian" >&6; } case $ac_cv_c_bigendian in #( yes) $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h ;; #( no) ;; #( universal) $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) as_fn_error $? "unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 $as_echo_n "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 $as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by libpit $as_me 1.4, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to . libpit home page: ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ libpit config.status 1.4 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } # Quote evaled strings. for var in SHELL \ ECHO \ PATH_SEPARATOR \ SED \ GREP \ EGREP \ FGREP \ LD \ NM \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ file_magic_glob \ want_nocaseglob \ DLLTOOL \ sharedlib_from_linklib_cmd \ AR \ AR_FLAGS \ archiver_list_spec \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ nm_file_list_spec \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_pic \ lt_prog_compiler_wl \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ MANIFEST_TOOL \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_separator \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ install_override_mode \ finish_eval \ old_striplib \ striplib \ compiler_lib_search_dirs \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ LD_CXX \ reload_flag_CXX \ compiler_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_static_CXX \ lt_cv_prog_compiler_c_o_CXX \ export_dynamic_flag_spec_CXX \ whole_archive_flag_spec_CXX \ compiler_needs_object_CXX \ with_gnu_ld_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_separator_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX \ file_list_spec_CXX \ compiler_lib_search_dirs_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postlink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ sys_lib_dlsearch_path_spec \ reload_cmds_CXX \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ export_symbols_cmds_CXX \ prelink_cmds_CXX \ postlink_cmds_CXX; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done ac_aux_dir='$ac_aux_dir' xsi_shell='$xsi_shell' lt_shell_append='$lt_shell_append' # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "libtool":C) # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # The names of the tagged configurations supported by this script. available_tags="CXX " # ### BEGIN LIBTOOL CONFIG # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # What type of objects to build. pic_mode=$pic_mode # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that protects backslashes. ECHO=$lt_ECHO # The PATH separator for the build system. PATH_SEPARATOR=$lt_PATH_SEPARATOR # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # convert \$build file names to \$host format. to_host_file_cmd=$lt_cv_to_host_file_cmd # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd # An object symbol dumper. OBJDUMP=$lt_OBJDUMP # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method = "file_magic". file_magic_cmd=$lt_file_magic_cmd # How to find potential files when deplibs_check_method = "file_magic". file_magic_glob=$lt_file_magic_glob # Find potential files using nocaseglob when deplibs_check_method = "file_magic". want_nocaseglob=$lt_want_nocaseglob # DLL creation program. DLLTOOL=$lt_DLLTOOL # Command to associate shared and link libraries. sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd # The archiver. AR=$lt_AR # Flags to create an archive. AR_FLAGS=$lt_AR_FLAGS # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Whether to use a lock for old archive extraction. lock_old_archive_extraction=$lock_old_archive_extraction # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # Specify filename containing input files for \$NM. nm_file_list_spec=$lt_nm_file_list_spec # The root where to search for dependent libraries,and in which our libraries should be installed. lt_sysroot=$lt_sysroot # The name of the directory that contains temporary libtool files. objdir=$objdir # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Manifest tool. MANIFEST_TOOL=$lt_MANIFEST_TOOL # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Permission mode override for installation of shared libraries. install_override_mode=$lt_install_override_mode # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects postdep_objects=$lt_postdep_objects predeps=$lt_predeps postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain="$ac_aux_dir/ltmain.sh" # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) if test x"$xsi_shell" = xyes; then sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ func_dirname ()\ {\ \ case ${1} in\ \ */*) func_dirname_result="${1%/*}${2}" ;;\ \ * ) func_dirname_result="${3}" ;;\ \ esac\ } # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_basename ()$/,/^} # func_basename /c\ func_basename ()\ {\ \ func_basename_result="${1##*/}"\ } # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ func_dirname_and_basename ()\ {\ \ case ${1} in\ \ */*) func_dirname_result="${1%/*}${2}" ;;\ \ * ) func_dirname_result="${3}" ;;\ \ esac\ \ func_basename_result="${1##*/}"\ } # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ func_stripname ()\ {\ \ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ \ # positional parameters, so assign one to ordinary parameter first.\ \ func_stripname_result=${3}\ \ func_stripname_result=${func_stripname_result#"${1}"}\ \ func_stripname_result=${func_stripname_result%"${2}"}\ } # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ func_split_long_opt ()\ {\ \ func_split_long_opt_name=${1%%=*}\ \ func_split_long_opt_arg=${1#*=}\ } # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ func_split_short_opt ()\ {\ \ func_split_short_opt_arg=${1#??}\ \ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ } # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ func_lo2o ()\ {\ \ case ${1} in\ \ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ \ *) func_lo2o_result=${1} ;;\ \ esac\ } # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_xform ()$/,/^} # func_xform /c\ func_xform ()\ {\ func_xform_result=${1%.*}.lo\ } # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_arith ()$/,/^} # func_arith /c\ func_arith ()\ {\ func_arith_result=$(( $* ))\ } # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_len ()$/,/^} # func_len /c\ func_len ()\ {\ func_len_result=${#1}\ } # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$lt_shell_append" = xyes; then sed -e '/^func_append ()$/,/^} # func_append /c\ func_append ()\ {\ eval "${1}+=\\${2}"\ } # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ func_append_quoted ()\ {\ \ func_quote_for_eval "${2}"\ \ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ } # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: # Save a `func_append' function call where possible by direct use of '+=' sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: else # Save a `func_append' function call even when '+=' is not available sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$_lt_function_replace_fail" = x":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 $as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} fi mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" cat <<_LT_EOF >> "$ofile" # ### BEGIN LIBTOOL TAG CONFIG: CXX # The linker used to build libraries. LD=$lt_LD_CXX # How to create reloadable object files. reload_flag=$lt_reload_flag_CXX reload_cmds=$lt_reload_cmds_CXX # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds_CXX # A language specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU compiler? with_gcc=$GCC_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_CXX # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_CXX # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object_CXX # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld_CXX # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_CXX # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct_CXX # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute_CXX # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic_CXX # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath_CXX # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_CXX # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds_CXX # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds_CXX # Specify filename containing input files. file_list_spec=$lt_file_list_spec_CXX # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_CXX # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects_CXX postdep_objects=$lt_postdep_objects_CXX predeps=$lt_predeps_CXX postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # ### END LIBTOOL TAG CONFIG: CXX _LT_EOF ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi Heimdall-1.4.1/libpit/configure.ac000066400000000000000000000016441234253036400170140ustar00rootroot00000000000000AC_INIT([libpit], [1.4], [bug-report@glassechidna.com.au], [libpit], [http://www.glassechidna.com.au/]) AC_PREREQ([2.59]) AC_CANONICAL_TARGET AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([1.10 -Wall no-define foreign]) AC_CONFIG_HEADERS([config.h]) AM_PROG_AR m4_pattern_allow([AM_PROG_PR], [AM_PROG_AR]) LT_INIT() AC_SUBST([LIBPIT_API_VERSION], [1.4]) AC_CONFIG_FILES([Makefile]) AM_MAINTAINER_MODE AC_MSG_CHECKING([operating system]) case $target in *-linux*) AC_DEFINE(OS_LINUX, [], [Linux backend]) AC_MSG_RESULT([Linux]) AC_PROG_CXX ;; *-darwin*) AC_DEFINE(OS_DARWIN, [], [Darwin backend]) AC_MSG_RESULT([Darwin/MacOS X]) AC_PROG_CXX ;; *-mingw*) AC_DEFINE(OS_WINDOWS, [], [Windows backend]) AC_MSG_RESULT([Windows]) AC_PROG_CXX ;; *-cygwin*) AC_DEFINE(OS_WINDOWS, [], [Windows backend]) AC_MSG_RESULT([Windows]) AC_PROG_CXX ;; *) AC_MSG_ERROR([unsupported operating system]) esac AC_C_BIGENDIAN AC_OUTPUT Heimdall-1.4.1/libpit/depcomp000077500000000000000000000557031234253036400161100ustar00rootroot00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2012-10-18.11; # UTC # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by 'PROGRAMS ARGS'. object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac # Get the directory component of the given path, and save it in the # global variables '$dir'. Note that this directory component will # be either empty or ending with a '/' character. This is deliberate. set_dir_from () { case $1 in */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; *) dir=;; esac } # Get the suffix-stripped basename of the given path, and save it the # global variable '$base'. set_base_from () { base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` } # If no dependency file was actually created by the compiler invocation, # we still have to create a dummy depfile, to avoid errors with the # Makefile "include basename.Plo" scheme. make_dummy_depfile () { echo "#dummy" > "$depfile" } # Factor out some common post-processing of the generated depfile. # Requires the auxiliary global variable '$tmpdepfile' to be set. aix_post_process_depfile () { # If the compiler actually managed to produce a dependency file, # post-process it. if test -f "$tmpdepfile"; then # Each line is of the form 'foo.o: dependency.h'. # Do two passes, one to just change these to # $object: dependency.h # and one to simply output # dependency.h: # which is needed to avoid the deleted-header problem. { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" } > "$depfile" rm -f "$tmpdepfile" else make_dummy_depfile fi } # A tabulation character. tab=' ' # A newline character. nl=' ' # Character ranges might be problematic outside the C locale. # These definitions help. upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ lower=abcdefghijklmnopqrstuvwxyz digits=0123456789 alpha=${upper}${lower} if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Avoid interferences from the environment. gccflag= dashmflag= # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi if test "$depmode" = msvc7msys; then # This is just like msvc7 but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvc7 fi if test "$depmode" = xlc; then # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. gccflag=-qmakedep=gcc,-MF depmode=gcc fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. ## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). Also, it might not be ## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The second -e expression handles DOS-style file names with drive # letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. ## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as ## well. hp depmode also adds that space, but also prefixes the VPATH ## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like '#:fec' to the end of the # dependency line. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ | tr "$nl" ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" ;; xlc) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done aix_post_process_depfile ;; tcc) # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 # FIXME: That version still under development at the moment of writing. # Make that this statement remains true also for stable, released # versions. # It will wrap lines (doesn't matter whether long or short) with a # trailing '\', as in: # # foo.o : \ # foo.c \ # foo.h \ # # It will put a trailing '\' even on the last line, and will use leading # spaces rather than leading tabs (at least since its commit 0394caf7 # "Emit spaces for -MD"). "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. # We have to change lines of the first kind to '$object: \'. sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" # And for each line of the second kind, we have to emit a 'dep.h:' # dummy dependency, to avoid the deleted-header problem. sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; ## The order of this option in the case statement is important, since the ## shell code in configure will try each of these formats in the order ## listed in this file. A plain '-MD' option would be understood by many ## compilers, so we must ensure this comes after the gcc and icc options. pgcc) # Portland's C compiler understands '-MD'. # Will always output deps to 'file.d' where file is the root name of the # source file under compilation, even if file resides in a subdirectory. # The object file name does not affect the name of the '.d' file. # pgcc 10.2 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using '\' : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... set_dir_from "$object" # Use the source, not the object, to determine the base name, since # that's sadly what pgcc will do too. set_base_from "$source" tmpdepfile=$base.d # For projects that build the same source file twice into different object # files, the pgcc approach of using the *source* file root name can cause # problems in parallel builds. Use a locking strategy to avoid stomping on # the same $tmpdepfile. lockdir=$base.d-lock trap " echo '$0: caught signal, cleaning up...' >&2 rmdir '$lockdir' exit 1 " 1 2 13 15 numtries=100 i=$numtries while test $i -gt 0; do # mkdir is a portable test-and-set. if mkdir "$lockdir" 2>/dev/null; then # This process acquired the lock. "$@" -MD stat=$? # Release the lock. rmdir "$lockdir" break else # If the lock is being held by a different process, wait # until the winning process is done or we timeout. while test -d "$lockdir" && test $i -gt 0; do sleep 1 i=`expr $i - 1` done fi i=`expr $i - 1` done trap - 1 2 13 15 if test $i -le 0; then echo "$0: failed to acquire lock after $numtries attempts" >&2 echo "$0: check lockdir '$lockdir'" >&2 exit 1 fi if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" # Add 'dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in 'foo.d' instead, so we check for that too. # Subdirectories are respected. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then # Libtool generates 2 separate objects for the 2 libraries. These # two compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir$base.o.d # libtool 1.5 tmpdepfile2=$dir.libs/$base.o.d # Likewise. tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d "$@" -MD fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done # Same post-processing that is required for AIX mode. aix_post_process_depfile ;; msvc7) if test "$libtool" = yes; then showIncludes=-Wc,-showIncludes else showIncludes=-showIncludes fi "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The first sed program below extracts the file names and escapes # backslashes for cygpath. The second sed program outputs the file # name when reading, but also accumulates all include files in the # hold buffer in order to output them again at the end. This only # works with sed implementations that can handle large buffers. sed < "$tmpdepfile" -n ' /^Note: including file: *\(.*\)/ { s//\1/ s/\\/\\\\/g p }' | $cygpath_u | sort -u | sed -n ' s/ /\\ /g s/\(.*\)/'"$tab"'\1 \\/p s/.\(.*\) \\/\1:/ H $ { s/.*/'"$tab"'/ G p }' >> "$depfile" rm -f "$tmpdepfile" ;; msvc7msys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this sed invocation # correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" # makedepend may prepend the VPATH from the source file name to the object. # No need to regex-escape $object, excess matching of '.' is harmless. sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process the last invocation # correctly. Breaking it into two sed invocations is a workaround. sed '1,2d' "$tmpdepfile" \ | tr ' ' "$nl" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E \ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: Heimdall-1.4.1/libpit/install-sh000077500000000000000000000332551234253036400165350ustar00rootroot00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2011-11-20.07; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names problematic for 'test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; [-=\(\)!]*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: Heimdall-1.4.1/libpit/libpit.vcxproj000066400000000000000000000133551234253036400174300ustar00rootroot00000000000000 Debug Win32 Release (Static) Win32 Release Win32 {9506FFE4-3A78-4BEE-A15E-62C5A138E61D} Win32Proj libpit StaticLibrary true Unicode v110 StaticLibrary false true Unicode v110 StaticLibrary false true Unicode v110 $(SolutionDir)$(Platform)\$(Configuration)\lib\ $(SolutionDir)$(Platform)\$(Configuration)\lib\ $(SolutionDir)$(Platform)\$(Configuration)\lib\ Level3 Disabled WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) Windows true Level3 MaxSpeed true true WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) Windows true true true Level3 MaxSpeed true true WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) MultiThreaded Windows true true true Heimdall-1.4.1/libpit/libpit.vcxproj.filters000066400000000000000000000011371234253036400210720ustar00rootroot00000000000000 {4FC737F1-C7A5-4376-A066-2A32D752A2FF} cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx Source Source Heimdall-1.4.1/libpit/ltmain.sh000066400000000000000000010515221234253036400163470ustar00rootroot00000000000000 # libtool (GNU libtool) 2.4.2 # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, # or obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Usage: $progname [OPTION]... [MODE-ARG]... # # Provide generalized library-building support services. # # --config show all configuration variables # --debug enable verbose shell tracing # -n, --dry-run display commands without modifying any files # --features display basic configuration information and exit # --mode=MODE use operation mode MODE # --preserve-dup-deps don't remove duplicate dependency libraries # --quiet, --silent don't print informational messages # --no-quiet, --no-silent # print informational messages (default) # --no-warn don't display warning messages # --tag=TAG use configuration variables from tag TAG # -v, --verbose print more informational messages than default # --no-verbose don't print the extra informational messages # --version print version information # -h, --help, --help-all print short, long, or detailed help message # # MODE must be one of the following: # # clean remove files from the build directory # compile compile a source file into a libtool object # execute automatically set library path, then run a program # finish complete the installation of libtool libraries # install install libraries or executables # link create a library or an executable # uninstall remove libraries from an installed directory # # MODE-ARGS vary depending on the MODE. When passed as first option, # `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. # Try `$progname --help --mode=MODE' for a more detailed description of MODE. # # When reporting a bug, please describe a test case to reproduce it and # include the following information: # # host-triplet: $host # shell: $SHELL # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) # $progname: (GNU libtool) 2.4.2 # automake: $automake_version # autoconf: $autoconf_version # # Report bugs to . # GNU libtool home page: . # General help using GNU software: . PROGRAM=libtool PACKAGE=libtool VERSION=2.4.2 TIMESTAMP="" package_revision=1.3337 # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } # NLS nuisances: We save the old values to restore during execute mode. lt_user_locale= lt_safe_locale= for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${$lt_var+set}\" = set; then save_$lt_var=\$$lt_var $lt_var=C export $lt_var lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" fi" done LC_ALL=C LANGUAGE=C export LANGUAGE LC_ALL $lt_unset CDPATH # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" : ${CP="cp -f"} test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} : ${Xsed="$SED -e 1s/^X//"} # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. exit_status=$EXIT_SUCCESS # Make sure IFS has a sensible default lt_nl=' ' IFS=" $lt_nl" dirname="s,/[^/]*$,," basename="s,^.*/,," # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_dirname may be replaced by extended shell implementation # func_basename file func_basename () { func_basename_result=`$ECHO "${1}" | $SED "$basename"` } # func_basename may be replaced by extended shell implementation # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi func_basename_result=`$ECHO "${1}" | $SED -e "$basename"` } # func_dirname_and_basename may be replaced by extended shell implementation # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; esac } # func_stripname may be replaced by extended shell implementation # These SED scripts presuppose an absolute path with a trailing slash. pathcar='s,^/\([^/]*\).*$,\1,' pathcdr='s,^/[^/]*,,' removedotparts=':dotsl s@/\./@/@g t dotsl s,/\.$,/,' collapseslashes='s@/\{1,\}@/@g' finalslash='s,/*$,/,' # func_normal_abspath PATH # Remove doubled-up and trailing slashes, "." path components, # and cancel out any ".." path components in PATH after making # it an absolute path. # value returned in "$func_normal_abspath_result" func_normal_abspath () { # Start from root dir and reassemble the path. func_normal_abspath_result= func_normal_abspath_tpath=$1 func_normal_abspath_altnamespace= case $func_normal_abspath_tpath in "") # Empty path, that just means $cwd. func_stripname '' '/' "`pwd`" func_normal_abspath_result=$func_stripname_result return ;; # The next three entries are used to spot a run of precisely # two leading slashes without using negated character classes; # we take advantage of case's first-match behaviour. ///*) # Unusual form of absolute path, do nothing. ;; //*) # Not necessarily an ordinary path; POSIX reserves leading '//' # and for example Cygwin uses it to access remote file shares # over CIFS/SMB, so we conserve a leading double slash if found. func_normal_abspath_altnamespace=/ ;; /*) # Absolute path, do nothing. ;; *) # Relative path, prepend $cwd. func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath ;; esac # Cancel out all the simple stuff to save iterations. We also want # the path to end with a slash for ease of parsing, so make sure # there is one (and only one) here. func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` while :; do # Processed it all yet? if test "$func_normal_abspath_tpath" = / ; then # If we ascended to the root using ".." the result may be empty now. if test -z "$func_normal_abspath_result" ; then func_normal_abspath_result=/ fi break fi func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$pathcar"` func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$pathcdr"` # Figure out what to do with it case $func_normal_abspath_tcomponent in "") # Trailing empty path component, ignore it. ;; ..) # Parent dir; strip last assembled component from result. func_dirname "$func_normal_abspath_result" func_normal_abspath_result=$func_dirname_result ;; *) # Actual path component, append it. func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent ;; esac done # Restore leading double-slash if one was found on entry. func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result } # func_relative_path SRCDIR DSTDIR # generates a relative path from SRCDIR to DSTDIR, with a trailing # slash if non-empty, suitable for immediately appending a filename # without needing to append a separator. # value returned in "$func_relative_path_result" func_relative_path () { func_relative_path_result= func_normal_abspath "$1" func_relative_path_tlibdir=$func_normal_abspath_result func_normal_abspath "$2" func_relative_path_tbindir=$func_normal_abspath_result # Ascend the tree starting from libdir while :; do # check if we have found a prefix of bindir case $func_relative_path_tbindir in $func_relative_path_tlibdir) # found an exact match func_relative_path_tcancelled= break ;; $func_relative_path_tlibdir*) # found a matching prefix func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" func_relative_path_tcancelled=$func_stripname_result if test -z "$func_relative_path_result"; then func_relative_path_result=. fi break ;; *) func_dirname $func_relative_path_tlibdir func_relative_path_tlibdir=${func_dirname_result} if test "x$func_relative_path_tlibdir" = x ; then # Have to descend all the way to the root! func_relative_path_result=../$func_relative_path_result func_relative_path_tcancelled=$func_relative_path_tbindir break fi func_relative_path_result=../$func_relative_path_result ;; esac done # Now calculate path; take care to avoid doubling-up slashes. func_stripname '' '/' "$func_relative_path_result" func_relative_path_result=$func_stripname_result func_stripname '/' '/' "$func_relative_path_tcancelled" if test "x$func_stripname_result" != x ; then func_relative_path_result=${func_relative_path_result}/${func_stripname_result} fi # Normalisation. If bindir is libdir, return empty string, # else relative path ending with a slash; either way, target # file name can be directly appended. if test ! -z "$func_relative_path_result"; then func_stripname './' '' "$func_relative_path_result/" func_relative_path_result=$func_stripname_result fi } # The name of this program: func_dirname_and_basename "$progpath" progname=$func_basename_result # Make sure we have an absolute path for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=$func_dirname_result progdir=`cd "$progdir" && pwd` progpath="$progdir/$progname" ;; *) save_IFS="$IFS" IFS=${PATH_SEPARATOR-:} for progdir in $PATH; do IFS="$save_IFS" test -x "$progdir/$progname" && break done IFS="$save_IFS" test -n "$progdir" || progdir=`pwd` progpath="$progdir/$progname" ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([`"$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution that turns a string into a regex matching for the # string literally. sed_make_literal_regex='s,[].[^$\\*\/],\\&,g' # Sed substitution that converts a w32 file name or path # which contains forward slashes, into one that contains # (escaped) backslashes. A very naive implementation. lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' # Re-`\' parameter expansions in output of double_quote_subst that were # `\'-ed in input to the same. If an odd number of `\' preceded a '$' # in input to double_quote_subst, that '$' was protected from expansion. # Since each input `\' is now two `\'s, look for any number of runs of # four `\'s followed by two `\'s and then a '$'. `\' that '$'. bs='\\' bs2='\\\\' bs4='\\\\\\\\' dollar='\$' sed_double_backslash="\ s/$bs4/&\\ /g s/^$bs2$dollar/$bs&/ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g s/\n//g" # Standard options: opt_dry_run=false opt_help=false opt_quiet=false opt_verbose=false opt_warning=: # func_echo arg... # Echo program name prefixed message, along with the current mode # name if it has been set yet. func_echo () { $ECHO "$progname: ${opt_mode+$opt_mode: }$*" } # func_verbose arg... # Echo program name prefixed message in verbose mode only. func_verbose () { $opt_verbose && func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: : } # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } # func_error arg... # Echo program name prefixed message to standard error. func_error () { $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 } # func_warning arg... # Echo program name prefixed warning message to standard error. func_warning () { $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 # bash bug again: : } # func_fatal_error arg... # Echo program name prefixed message to standard error, and exit. func_fatal_error () { func_error ${1+"$@"} exit $EXIT_FAILURE } # func_fatal_help arg... # Echo program name prefixed message to standard error, followed by # a help hint, and exit. func_fatal_help () { func_error ${1+"$@"} func_fatal_error "$help" } help="Try \`$progname --help' for more information." ## default # func_grep expression filename # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { $GREP "$1" "$2" >/dev/null 2>&1 } # func_mkdir_p directory-path # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { my_directory_path="$1" my_dir_list= if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then # Protect directory names starting with `-' case $my_directory_path in -*) my_directory_path="./$my_directory_path" ;; esac # While some portion of DIR does not yet exist... while test ! -d "$my_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. my_dir_list="$my_directory_path:$my_dir_list" # If the last portion added has no slash in it, the list is done case $my_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` done my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` save_mkdir_p_IFS="$IFS"; IFS=':' for my_dir in $my_dir_list; do IFS="$save_mkdir_p_IFS" # mkdir can fail with a `File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! $MKDIR "$my_dir" 2>/dev/null || : done IFS="$save_mkdir_p_IFS" # Bail out if we (or some other process) failed to create a directory. test -d "$my_directory_path" || \ func_fatal_error "Failed to create \`$1'" fi } # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$opt_dry_run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $MKDIR "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || \ func_fatal_error "cannot create temporary directory \`$my_tmpdir'" fi $ECHO "$my_tmpdir" } # func_quote_for_eval arg # Aesthetically quote ARG to be evaled later. # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT # is double-quoted, suitable for a subsequent eval, whereas # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters # which are still active within double quotes backslashified. func_quote_for_eval () { case $1 in *[\\\`\"\$]*) func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; *) func_quote_for_eval_unquoted_result="$1" ;; esac case $func_quote_for_eval_unquoted_result in # Double-quote args containing shell metacharacters to delay # word splitting, command substitution and and variable # expansion for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" ;; *) func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" esac } # func_quote_for_expand arg # Aesthetically quote ARG to be evaled later; same as above, # but do not quote variable references. func_quote_for_expand () { case $1 in *[\\\`\"]*) my_arg=`$ECHO "$1" | $SED \ -e "$double_quote_subst" -e "$sed_double_backslash"` ;; *) my_arg="$1" ;; esac case $my_arg in # Double-quote args containing shell metacharacters to delay # word splitting and command substitution for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") my_arg="\"$my_arg\"" ;; esac func_quote_for_expand_result="$my_arg" } # func_show_eval cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. func_show_eval () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$my_cmd" my_status=$? if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_show_eval_locale cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. Use the saved locale for evaluation. func_show_eval_locale () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$lt_user_locale $my_cmd" my_status=$? eval "$lt_safe_locale" if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_tr_sh # Turn $1 into a string suitable for a shell variable name. # Result is stored in $func_tr_sh_result. All characters # not in the set a-zA-Z0-9_ are replaced with '_'. Further, # if $1 begins with a digit, a '_' is prepended as well. func_tr_sh () { case $1 in [0-9]* | *[!a-zA-Z0-9_]*) func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'` ;; * ) func_tr_sh_result=$1 ;; esac } # func_version # Echo version message to standard output and exit. func_version () { $opt_debug $SED -n '/(C)/!b go :more /\./!{ N s/\n# / / b more } :go /^# '$PROGRAM' (GNU /,/# warranty; / { s/^# // s/^# *$// s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ p }' < "$progpath" exit $? } # func_usage # Echo short help message to standard output and exit. func_usage () { $opt_debug $SED -n '/^# Usage:/,/^# *.*--help/ { s/^# // s/^# *$// s/\$progname/'$progname'/ p }' < "$progpath" echo $ECHO "run \`$progname --help | more' for full usage" exit $? } # func_help [NOEXIT] # Echo long help message to standard output and exit, # unless 'noexit' is passed as argument. func_help () { $opt_debug $SED -n '/^# Usage:/,/# Report bugs to/ { :print s/^# // s/^# *$// s*\$progname*'$progname'* s*\$host*'"$host"'* s*\$SHELL*'"$SHELL"'* s*\$LTCC*'"$LTCC"'* s*\$LTCFLAGS*'"$LTCFLAGS"'* s*\$LD*'"$LD"'* s/\$with_gnu_ld/'"$with_gnu_ld"'/ s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/ s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ p d } /^# .* home page:/b print /^# General help using/b print ' < "$progpath" ret=$? if test -z "$1"; then exit $ret fi } # func_missing_arg argname # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { $opt_debug func_error "missing argument for $1." exit_cmd=exit } # func_split_short_opt shortopt # Set func_split_short_opt_name and func_split_short_opt_arg shell # variables after splitting SHORTOPT after the 2nd character. func_split_short_opt () { my_sed_short_opt='1s/^\(..\).*$/\1/;q' my_sed_short_rest='1s/^..\(.*\)$/\1/;q' func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"` func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"` } # func_split_short_opt may be replaced by extended shell implementation # func_split_long_opt longopt # Set func_split_long_opt_name and func_split_long_opt_arg shell # variables after splitting LONGOPT at the `=' sign. func_split_long_opt () { my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q' my_sed_long_arg='1s/^--[^=]*=//' func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"` func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"` } # func_split_long_opt may be replaced by extended shell implementation exit_cmd=: magic="%%%MAGIC variable%%%" magic_exe="%%%MAGIC EXE variable%%%" # Global variables. nonopt= preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" extracted_archives= extracted_serial=0 # If this variable is set in any of the actions, the command in it # will be execed at the end. This prevents here-documents from being # left over by shells. exec_cmd= # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "${1}=\$${1}\${2}" } # func_append may be replaced by extended shell implementation # func_append_quoted var value # Quote VALUE and append to the end of shell variable VAR, separated # by a space. func_append_quoted () { func_quote_for_eval "${2}" eval "${1}=\$${1}\\ \$func_quote_for_eval_result" } # func_append_quoted may be replaced by extended shell implementation # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "${@}"` } # func_arith may be replaced by extended shell implementation # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len` } # func_len may be replaced by extended shell implementation # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` } # func_lo2o may be replaced by extended shell implementation # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'` } # func_xform may be replaced by extended shell implementation # func_fatal_configuration arg... # Echo program name prefixed message to standard error, followed by # a configuration failure hint, and exit. func_fatal_configuration () { func_error ${1+"$@"} func_error "See the $PACKAGE documentation for more information." func_fatal_error "Fatal configuration error." } # func_config # Display the configuration for all the tags in this script. func_config () { re_begincf='^# ### BEGIN LIBTOOL' re_endcf='^# ### END LIBTOOL' # Default configuration. $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" # Now print the configurations for the tags. for tagname in $taglist; do $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" done exit $? } # func_features # Display the features supported by this script. func_features () { echo "host: $host" if test "$build_libtool_libs" = yes; then echo "enable shared libraries" else echo "disable shared libraries" fi if test "$build_old_libs" = yes; then echo "enable static libraries" else echo "disable static libraries" fi exit $? } # func_enable_tag tagname # Verify that TAGNAME is valid, and either flag an error and exit, or # enable the TAGNAME tag. We also add TAGNAME to the global $taglist # variable here. func_enable_tag () { # Global variable: tagname="$1" re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" sed_extractcf="/$re_begincf/,/$re_endcf/p" # Validate tagname. case $tagname in *[!-_A-Za-z0-9,/]*) func_fatal_error "invalid tag name: $tagname" ;; esac # Don't test for the "default" C tag, as we know it's # there but not specially marked. case $tagname in CC) ;; *) if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then taglist="$taglist $tagname" # Evaluate the configuration. Be careful to quote the path # and the sed script, to avoid splitting on whitespace, but # also don't use non-portable quotes within backquotes within # quotes we have to do it in 2 steps: extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` eval "$extractedcf" else func_error "ignoring unknown tag $tagname" fi ;; esac } # func_check_version_match # Ensure that we are using m4 macros, and libtool script from the same # release of libtool. func_check_version_match () { if test "$package_revision" != "$macro_revision"; then if test "$VERSION" != "$macro_version"; then if test -z "$macro_version"; then cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from an older release. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from $PACKAGE $macro_version. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF fi else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, $progname: but the definition of this LT_INIT comes from revision $macro_revision. $progname: You should recreate aclocal.m4 with macros from revision $package_revision $progname: of $PACKAGE $VERSION and run autoconf again. _LT_EOF fi exit $EXIT_MISMATCH fi } # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) shift; set dummy --mode clean ${1+"$@"}; shift ;; compile|compil|compi|comp|com|co|c) shift; set dummy --mode compile ${1+"$@"}; shift ;; execute|execut|execu|exec|exe|ex|e) shift; set dummy --mode execute ${1+"$@"}; shift ;; finish|finis|fini|fin|fi|f) shift; set dummy --mode finish ${1+"$@"}; shift ;; install|instal|insta|inst|ins|in|i) shift; set dummy --mode install ${1+"$@"}; shift ;; link|lin|li|l) shift; set dummy --mode link ${1+"$@"}; shift ;; uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; esac # Option defaults: opt_debug=: opt_dry_run=false opt_config=false opt_preserve_dup_deps=false opt_features=false opt_finish=false opt_help=false opt_help_all=false opt_silent=: opt_warning=: opt_verbose=: opt_silent=false opt_verbose=false # Parse options once, thoroughly. This comes as soon as possible in the # script to make things like `--version' happen as quickly as we can. { # this just eases exit handling while test $# -gt 0; do opt="$1" shift case $opt in --debug|-x) opt_debug='set -x' func_echo "enabling shell trace mode" $opt_debug ;; --dry-run|--dryrun|-n) opt_dry_run=: ;; --config) opt_config=: func_config ;; --dlopen|-dlopen) optarg="$1" opt_dlopen="${opt_dlopen+$opt_dlopen }$optarg" shift ;; --preserve-dup-deps) opt_preserve_dup_deps=: ;; --features) opt_features=: func_features ;; --finish) opt_finish=: set dummy --mode finish ${1+"$@"}; shift ;; --help) opt_help=: ;; --help-all) opt_help_all=: opt_help=': help-all' ;; --mode) test $# = 0 && func_missing_arg $opt && break optarg="$1" opt_mode="$optarg" case $optarg in # Valid mode arguments: clean|compile|execute|finish|install|link|relink|uninstall) ;; # Catch anything else as an error *) func_error "invalid argument for $opt" exit_cmd=exit break ;; esac shift ;; --no-silent|--no-quiet) opt_silent=false func_append preserve_args " $opt" ;; --no-warning|--no-warn) opt_warning=false func_append preserve_args " $opt" ;; --no-verbose) opt_verbose=false func_append preserve_args " $opt" ;; --silent|--quiet) opt_silent=: func_append preserve_args " $opt" opt_verbose=false ;; --verbose|-v) opt_verbose=: func_append preserve_args " $opt" opt_silent=false ;; --tag) test $# = 0 && func_missing_arg $opt && break optarg="$1" opt_tag="$optarg" func_append preserve_args " $opt $optarg" func_enable_tag "$optarg" shift ;; -\?|-h) func_usage ;; --help) func_help ;; --version) func_version ;; # Separate optargs to long options: --*=*) func_split_long_opt "$opt" set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"} shift ;; # Separate non-argument short options: -\?*|-h*|-n*|-v*) func_split_short_opt "$opt" set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"} shift ;; --) break ;; -*) func_fatal_help "unrecognized option \`$opt'" ;; *) set dummy "$opt" ${1+"$@"}; shift; break ;; esac done # Validate options: # save first non-option argument if test "$#" -gt 0; then nonopt="$opt" shift fi # preserve --debug test "$opt_debug" = : || func_append preserve_args " --debug" case $host in *cygwin* | *mingw* | *pw32* | *cegcc*) # don't eliminate duplications in $postdeps and $predeps opt_duplicate_compiler_generated_deps=: ;; *) opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps ;; esac $opt_help || { # Sanity checks first: func_check_version_match if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then func_fatal_configuration "not configured to build any kind of library" fi # Darwin sucks eval std_shrext=\"$shrext_cmds\" # Only execute mode is allowed to have -dlopen flags. if test -n "$opt_dlopen" && test "$opt_mode" != execute; then func_error "unrecognized option \`-dlopen'" $ECHO "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help="$help" help="Try \`$progname --help --mode=$opt_mode' for more information." } # Bail if the options were screwed $exit_cmd $EXIT_FAILURE } ## ----------- ## ## Main. ## ## ----------- ## # func_lalib_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_lalib_p () { test -f "$1" && $SED -e 4q "$1" 2>/dev/null \ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 } # func_lalib_unsafe_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function implements the same check as func_lalib_p without # resorting to external programs. To this end, it redirects stdin and # closes it afterwards, without saving the original file descriptor. # As a safety measure, use it only where a negative result would be # fatal anyway. Works if `file' does not exist. func_lalib_unsafe_p () { lalib_p=no if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then for lalib_p_l in 1 2 3 4 do read lalib_p_line case "$lalib_p_line" in \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; esac done exec 0<&5 5<&- fi test "$lalib_p" = yes } # func_ltwrapper_script_p file # True iff FILE is a libtool wrapper script # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_script_p () { func_lalib_p "$1" } # func_ltwrapper_executable_p file # True iff FILE is a libtool wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_executable_p () { func_ltwrapper_exec_suffix= case $1 in *.exe) ;; *) func_ltwrapper_exec_suffix=.exe ;; esac $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 } # func_ltwrapper_scriptname file # Assumes file is an ltwrapper_executable # uses $file to determine the appropriate filename for a # temporary ltwrapper_script. func_ltwrapper_scriptname () { func_dirname_and_basename "$1" "" "." func_stripname '' '.exe' "$func_basename_result" func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" } # func_ltwrapper_p file # True iff FILE is a libtool wrapper script or wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_p () { func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" } # func_execute_cmds commands fail_cmd # Execute tilde-delimited COMMANDS. # If FAIL_CMD is given, eval that upon failure. # FAIL_CMD may read-access the current command in variable CMD! func_execute_cmds () { $opt_debug save_ifs=$IFS; IFS='~' for cmd in $1; do IFS=$save_ifs eval cmd=\"$cmd\" func_show_eval "$cmd" "${2-:}" done IFS=$save_ifs } # func_source file # Source FILE, adding directory component if necessary. # Note that it is not necessary on cygwin/mingw to append a dot to # FILE even if both FILE and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. func_source () { $opt_debug case $1 in */* | *\\*) . "$1" ;; *) . "./$1" ;; esac } # func_resolve_sysroot PATH # Replace a leading = in PATH with a sysroot. Store the result into # func_resolve_sysroot_result func_resolve_sysroot () { func_resolve_sysroot_result=$1 case $func_resolve_sysroot_result in =*) func_stripname '=' '' "$func_resolve_sysroot_result" func_resolve_sysroot_result=$lt_sysroot$func_stripname_result ;; esac } # func_replace_sysroot PATH # If PATH begins with the sysroot, replace it with = and # store the result into func_replace_sysroot_result. func_replace_sysroot () { case "$lt_sysroot:$1" in ?*:"$lt_sysroot"*) func_stripname "$lt_sysroot" '' "$1" func_replace_sysroot_result="=$func_stripname_result" ;; *) # Including no sysroot. func_replace_sysroot_result=$1 ;; esac } # func_infer_tag arg # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. # arg is usually of the form 'gcc ...' func_infer_tag () { $opt_debug if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case $@ in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case "$@ " in " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then func_echo "unable to infer tagged configuration" func_fatal_error "specify a tag with \`--tag'" # else # func_verbose "using $tagname tagged configuration" fi ;; esac fi } # func_write_libtool_object output_name pic_name nonpic_name # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. func_write_libtool_object () { write_libobj=${1} if test "$build_libtool_libs" = yes; then write_lobj=\'${2}\' else write_lobj=none fi if test "$build_old_libs" = yes; then write_oldobj=\'${3}\' else write_oldobj=none fi $opt_dry_run || { cat >${write_libobj}T </dev/null` if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | $SED -e "$lt_sed_naive_backslashify"` else func_convert_core_file_wine_to_w32_result= fi fi } # end: func_convert_core_file_wine_to_w32 # func_convert_core_path_wine_to_w32 ARG # Helper function used by path conversion functions when $build is *nix, and # $host is mingw, cygwin, or some other w32 environment. Relies on a correctly # configured wine environment available, with the winepath program in $build's # $PATH. Assumes ARG has no leading or trailing path separator characters. # # ARG is path to be converted from $build format to win32. # Result is available in $func_convert_core_path_wine_to_w32_result. # Unconvertible file (directory) names in ARG are skipped; if no directory names # are convertible, then the result may be empty. func_convert_core_path_wine_to_w32 () { $opt_debug # unfortunately, winepath doesn't convert paths, only file names func_convert_core_path_wine_to_w32_result="" if test -n "$1"; then oldIFS=$IFS IFS=: for func_convert_core_path_wine_to_w32_f in $1; do IFS=$oldIFS func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" if test -n "$func_convert_core_file_wine_to_w32_result" ; then if test -z "$func_convert_core_path_wine_to_w32_result"; then func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result" else func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" fi fi done IFS=$oldIFS fi } # end: func_convert_core_path_wine_to_w32 # func_cygpath ARGS... # Wrapper around calling the cygpath program via LT_CYGPATH. This is used when # when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) # $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or # (2), returns the Cygwin file name or path in func_cygpath_result (input # file name or path is assumed to be in w32 format, as previously converted # from $build's *nix or MSYS format). In case (3), returns the w32 file name # or path in func_cygpath_result (input file name or path is assumed to be in # Cygwin format). Returns an empty string on error. # # ARGS are passed to cygpath, with the last one being the file name or path to # be converted. # # Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH # environment variable; do not put it in $PATH. func_cygpath () { $opt_debug if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` if test "$?" -ne 0; then # on failure, ensure result is empty func_cygpath_result= fi else func_cygpath_result= func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'" fi } #end: func_cygpath # func_convert_core_msys_to_w32 ARG # Convert file name or path ARG from MSYS format to w32 format. Return # result in func_convert_core_msys_to_w32_result. func_convert_core_msys_to_w32 () { $opt_debug # awkward: cmd appends spaces to result func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` } #end: func_convert_core_msys_to_w32 # func_convert_file_check ARG1 ARG2 # Verify that ARG1 (a file name in $build format) was converted to $host # format in ARG2. Otherwise, emit an error message, but continue (resetting # func_to_host_file_result to ARG1). func_convert_file_check () { $opt_debug if test -z "$2" && test -n "$1" ; then func_error "Could not determine host file name corresponding to" func_error " \`$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback: func_to_host_file_result="$1" fi } # end func_convert_file_check # func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH # Verify that FROM_PATH (a path in $build format) was converted to $host # format in TO_PATH. Otherwise, emit an error message, but continue, resetting # func_to_host_file_result to a simplistic fallback value (see below). func_convert_path_check () { $opt_debug if test -z "$4" && test -n "$3"; then func_error "Could not determine the host path corresponding to" func_error " \`$3'" func_error "Continuing, but uninstalled executables may not work." # Fallback. This is a deliberately simplistic "conversion" and # should not be "improved". See libtool.info. if test "x$1" != "x$2"; then lt_replace_pathsep_chars="s|$1|$2|g" func_to_host_path_result=`echo "$3" | $SED -e "$lt_replace_pathsep_chars"` else func_to_host_path_result="$3" fi fi } # end func_convert_path_check # func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG # Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT # and appending REPL if ORIG matches BACKPAT. func_convert_path_front_back_pathsep () { $opt_debug case $4 in $1 ) func_to_host_path_result="$3$func_to_host_path_result" ;; esac case $4 in $2 ) func_append func_to_host_path_result "$3" ;; esac } # end func_convert_path_front_back_pathsep ################################################## # $build to $host FILE NAME CONVERSION FUNCTIONS # ################################################## # invoked via `$to_host_file_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # Result will be available in $func_to_host_file_result. # func_to_host_file ARG # Converts the file name ARG from $build format to $host format. Return result # in func_to_host_file_result. func_to_host_file () { $opt_debug $to_host_file_cmd "$1" } # end func_to_host_file # func_to_tool_file ARG LAZY # converts the file name ARG from $build format to toolchain format. Return # result in func_to_tool_file_result. If the conversion in use is listed # in (the comma separated) LAZY, no conversion takes place. func_to_tool_file () { $opt_debug case ,$2, in *,"$to_tool_file_cmd",*) func_to_tool_file_result=$1 ;; *) $to_tool_file_cmd "$1" func_to_tool_file_result=$func_to_host_file_result ;; esac } # end func_to_tool_file # func_convert_file_noop ARG # Copy ARG to func_to_host_file_result. func_convert_file_noop () { func_to_host_file_result="$1" } # end func_convert_file_noop # func_convert_file_msys_to_w32 ARG # Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_file_result. func_convert_file_msys_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_to_host_file_result="$func_convert_core_msys_to_w32_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_w32 # func_convert_file_cygwin_to_w32 ARG # Convert file name ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_file_cygwin_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then # because $build is cygwin, we call "the" cygpath in $PATH; no need to use # LT_CYGPATH in this case. func_to_host_file_result=`cygpath -m "$1"` fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_cygwin_to_w32 # func_convert_file_nix_to_w32 ARG # Convert file name ARG from *nix to w32 format. Requires a wine environment # and a working winepath. Returns result in func_to_host_file_result. func_convert_file_nix_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_file_wine_to_w32 "$1" func_to_host_file_result="$func_convert_core_file_wine_to_w32_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_w32 # func_convert_file_msys_to_cygwin ARG # Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_file_msys_to_cygwin () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_cygpath -u "$func_convert_core_msys_to_w32_result" func_to_host_file_result="$func_cygpath_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_cygwin # func_convert_file_nix_to_cygwin ARG # Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed # in a wine environment, working winepath, and LT_CYGPATH set. Returns result # in func_to_host_file_result. func_convert_file_nix_to_cygwin () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. func_convert_core_file_wine_to_w32 "$1" func_cygpath -u "$func_convert_core_file_wine_to_w32_result" func_to_host_file_result="$func_cygpath_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_cygwin ############################################# # $build to $host PATH CONVERSION FUNCTIONS # ############################################# # invoked via `$to_host_path_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # The result will be available in $func_to_host_path_result. # # Path separators are also converted from $build format to $host format. If # ARG begins or ends with a path separator character, it is preserved (but # converted to $host format) on output. # # All path conversion functions are named using the following convention: # file name conversion function : func_convert_file_X_to_Y () # path conversion function : func_convert_path_X_to_Y () # where, for any given $build/$host combination the 'X_to_Y' value is the # same. If conversion functions are added for new $build/$host combinations, # the two new functions must follow this pattern, or func_init_to_host_path_cmd # will break. # func_init_to_host_path_cmd # Ensures that function "pointer" variable $to_host_path_cmd is set to the # appropriate value, based on the value of $to_host_file_cmd. to_host_path_cmd= func_init_to_host_path_cmd () { $opt_debug if test -z "$to_host_path_cmd"; then func_stripname 'func_convert_file_' '' "$to_host_file_cmd" to_host_path_cmd="func_convert_path_${func_stripname_result}" fi } # func_to_host_path ARG # Converts the path ARG from $build format to $host format. Return result # in func_to_host_path_result. func_to_host_path () { $opt_debug func_init_to_host_path_cmd $to_host_path_cmd "$1" } # end func_to_host_path # func_convert_path_noop ARG # Copy ARG to func_to_host_path_result. func_convert_path_noop () { func_to_host_path_result="$1" } # end func_convert_path_noop # func_convert_path_msys_to_w32 ARG # Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_path_result. func_convert_path_msys_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # Remove leading and trailing path separator characters from ARG. MSYS # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; # and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result="$func_convert_core_msys_to_w32_result" func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_msys_to_w32 # func_convert_path_cygwin_to_w32 ARG # Convert path ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_path_cygwin_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_cygwin_to_w32 # func_convert_path_nix_to_w32 ARG # Convert path ARG from *nix to w32 format. Requires a wine environment and # a working winepath. Returns result in func_to_host_file_result. func_convert_path_nix_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result="$func_convert_core_path_wine_to_w32_result" func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_nix_to_w32 # func_convert_path_msys_to_cygwin ARG # Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_path_msys_to_cygwin () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_msys_to_w32_result" func_to_host_path_result="$func_cygpath_result" func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_msys_to_cygwin # func_convert_path_nix_to_cygwin ARG # Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a # a wine environment, working winepath, and LT_CYGPATH set. Returns result in # func_to_host_file_result. func_convert_path_nix_to_cygwin () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # Remove leading and trailing path separator characters from # ARG. msys behavior is inconsistent here, cygpath turns them # into '.;' and ';.', and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" func_to_host_path_result="$func_cygpath_result" func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_nix_to_cygwin # func_mode_compile arg... func_mode_compile () { $opt_debug # Get the compilation command and the source file. base_compile= srcfile="$nonopt" # always keep a non-empty value in "srcfile" suppress_opt=yes suppress_output= arg_mode=normal libobj= later= pie_flag= for arg do case $arg_mode in arg ) # do not "continue". Instead, add this to base_compile lastarg="$arg" arg_mode=normal ;; target ) libobj="$arg" arg_mode=normal continue ;; normal ) # Accept any command-line options. case $arg in -o) test -n "$libobj" && \ func_fatal_error "you cannot specify \`-o' more than once" arg_mode=target continue ;; -pie | -fpie | -fPIE) func_append pie_flag " $arg" continue ;; -shared | -static | -prefer-pic | -prefer-non-pic) func_append later " $arg" continue ;; -no-suppress) suppress_opt=no continue ;; -Xcompiler) arg_mode=arg # the next one goes into the "base_compile" arg list continue # The current "srcfile" will either be retained or ;; # replaced later. I would guess that would be a bug. -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result lastarg= save_ifs="$IFS"; IFS=',' for arg in $args; do IFS="$save_ifs" func_append_quoted lastarg "$arg" done IFS="$save_ifs" func_stripname ' ' '' "$lastarg" lastarg=$func_stripname_result # Add the arguments to base_compile. func_append base_compile " $lastarg" continue ;; *) # Accept the current argument as the source file. # The previous "srcfile" becomes the current argument. # lastarg="$srcfile" srcfile="$arg" ;; esac # case $arg ;; esac # case $arg_mode # Aesthetically quote the previous argument. func_append_quoted base_compile "$lastarg" done # for arg case $arg_mode in arg) func_fatal_error "you must specify an argument for -Xcompile" ;; target) func_fatal_error "you must specify a target with \`-o'" ;; *) # Get the name of the library object. test -z "$libobj" && { func_basename "$srcfile" libobj="$func_basename_result" } ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo case $libobj in *.[cCFSifmso] | \ *.ada | *.adb | *.ads | *.asm | \ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) func_xform "$libobj" libobj=$func_xform_result ;; esac case $libobj in *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; *) func_fatal_error "cannot determine name of library object from \`$libobj'" ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -shared) test "$build_libtool_libs" != yes && \ func_fatal_configuration "can not build a shared library" build_old_libs=no continue ;; -static) build_libtool_libs=no build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done func_quote_for_eval "$libobj" test "X$libobj" != "X$func_quote_for_eval_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ && func_warning "libobj name \`$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" objname="$func_basename_result" xdir="$func_dirname_result" lobj=${xdir}$objdir/$objname test -z "$base_compile" && \ func_fatal_help "you must specify a compilation command" # Delete any leftover library objects. if test "$build_old_libs" = yes; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2* | cegcc*) pic_mode=default ;; esac if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test "$compiler_c_o" = no; then output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} lockfile="$output_obj.lock" else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done elif test "$need_locks" = warn; then if test -f "$lockfile"; then $ECHO "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi func_append removelist " $output_obj" $ECHO "$srcfile" > "$lockfile" fi $opt_dry_run || $RM $removelist func_append removelist " $lockfile" trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result func_quote_for_eval "$srcfile" qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. if test "$build_libtool_libs" = yes; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test "$pic_mode" != no; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code command="$base_compile $qsrcfile" fi func_mkdir_p "$xdir$objdir" if test -z "$output_obj"; then # Place PIC objects in $objdir func_append command " -o $lobj" fi func_show_eval_locale "$command" \ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then func_show_eval '$MV "$output_obj" "$lobj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi # Allow error messages only from the first compilation. if test "$suppress_opt" = yes; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then if test "$pic_mode" != yes; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi if test "$compiler_c_o" = yes; then func_append command " -o $obj" fi # Suppress compiler output if we already did a PIC compilation. func_append command "$suppress_output" func_show_eval_locale "$command" \ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then func_show_eval '$MV "$output_obj" "$obj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi fi $opt_dry_run || { func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" # Unlock the critical section if it was locked if test "$need_locks" != no; then removelist=$lockfile $RM "$lockfile" fi } exit $EXIT_SUCCESS } $opt_help || { test "$opt_mode" = compile && func_mode_compile ${1+"$@"} } func_mode_help () { # We need to display help for each of the modes. case $opt_mode in "") # Generic help is extracted from the usage comments # at the start of this file. func_help ;; clean) $ECHO \ "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $ECHO \ "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -no-suppress do not suppress compiler output for multiple passes -prefer-pic try to build PIC objects only -prefer-non-pic try to build non-PIC objects only -shared do not build a \`.o' file suitable for static linking -static only build a \`.o' file suitable for static linking -Wc,FLAG pass FLAG directly to the compiler COMPILE-COMMAND is a command to be used in creating a \`standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix \`.c' with the library object suffix, \`.lo'." ;; execute) $ECHO \ "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to \`-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $ECHO \ "Usage: $progname [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the \`--dry-run' option if you just want to see what would be executed." ;; install) $ECHO \ "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the \`install' or \`cp' program. The following components of INSTALL-COMMAND are treated specially: -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $ECHO \ "Usage: $progname [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -bindir BINDIR specify path to binaries directory (for systems where libraries must be found in the PATH setting at runtime) -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE Use a list of object files found in FILE to specify objects -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -shared only do dynamic linking of libtool libraries -shrext SUFFIX override the standard shared library file extension -static do not do any dynamic linking of uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] -weak LIBNAME declare that the target provides the LIBNAME interface -Wc,FLAG -Xcompiler FLAG pass linker-specific FLAG directly to the compiler -Wl,FLAG -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) All other options (arguments beginning with \`-') are ignored. Every other argument is treated as a filename. Files ending in \`.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only library objects (\`.lo' files) may be specified, and \`-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created using \`ar' and \`ranlib', or on Windows using \`lib'. If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $ECHO \ "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) func_fatal_help "invalid operation mode \`$opt_mode'" ;; esac echo $ECHO "Try \`$progname --help' for more information about other modes." } # Now that we've collected a possible --mode arg, show help if necessary if $opt_help; then if test "$opt_help" = :; then func_mode_help else { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do func_mode_help done } | sed -n '1p; 2,$s/^Usage:/ or: /p' { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do echo func_mode_help done } | sed '1d /^When reporting/,/^Report/{ H d } $x /information about other modes/d /more detailed .*MODE/d s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' fi exit $? fi # func_mode_execute arg... func_mode_execute () { $opt_debug # The first argument is the command name. cmd="$nonopt" test -z "$cmd" && \ func_fatal_help "you must specify a COMMAND" # Handle -dlopen flags immediately. for file in $opt_dlopen; do test -f "$file" \ || func_fatal_help "\`$file' is not a file" dir= case $file in *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$lib' is not a valid libtool archive" # Read the libtool library. dlname= library_names= func_source "$file" # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && \ func_warning "\`$file' was not linked with \`-export-dynamic'" continue fi func_dirname "$file" "" "." dir="$func_dirname_result" if test -f "$dir/$objdir/$dlname"; then func_append dir "/$objdir" else if test ! -f "$dir/$dlname"; then func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" fi fi ;; *.lo) # Just add the directory containing the .lo file. func_dirname "$file" "" "." dir="$func_dirname_result" ;; *) func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir="$absdir" # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic="$magic" # Check if any of the arguments is a wrapper script. args= for file do case $file in -* | *.la | *.lo ) ;; *) # Do a test to see if this is really a libtool program. if func_ltwrapper_script_p "$file"; then func_source "$file" # Transform arg to wrapped name. file="$progdir/$program" elif func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" func_source "$func_ltwrapper_scriptname_result" # Transform arg to wrapped name. file="$progdir/$program" fi ;; esac # Quote arguments (to preserve shell metacharacters). func_append_quoted args "$file" done if test "X$opt_dry_run" = Xfalse; then if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var else $lt_unset $lt_var fi" done # Now prepare to actually exec the command. exec_cmd="\$cmd$args" else # Display what would be done. if test -n "$shlibpath_var"; then eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" echo "export $shlibpath_var" fi $ECHO "$cmd$args" exit $EXIT_SUCCESS fi } test "$opt_mode" = execute && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { $opt_debug libs= libdirs= admincmds= for opt in "$nonopt" ${1+"$@"} do if test -d "$opt"; then func_append libdirs " $opt" elif test -f "$opt"; then if func_lalib_unsafe_p "$opt"; then func_append libs " $opt" else func_warning "\`$opt' is not a valid libtool archive" fi else func_fatal_error "invalid argument \`$opt'" fi done if test -n "$libs"; then if test -n "$lt_sysroot"; then sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" else sysroot_cmd= fi # Remove sysroot references if $opt_dry_run; then for lib in $libs; do echo "removing references to $lt_sysroot and \`=' prefixes from $lib" done else tmpdir=`func_mktempdir` for lib in $libs; do sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ > $tmpdir/tmp-la mv -f $tmpdir/tmp-la $lib done ${RM}r "$tmpdir" fi fi if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. func_execute_cmds "$finish_cmds" 'admincmds="$admincmds '"$cmd"'"' fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $opt_dry_run || eval "$cmds" || func_append admincmds " $cmds" fi done fi # Exit here if they wanted silent mode. $opt_silent && exit $EXIT_SUCCESS if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then echo "----------------------------------------------------------------------" echo "Libraries have been installed in:" for libdir in $libdirs; do $ECHO " $libdir" done echo echo "If you ever happen to want to link against installed libraries" echo "in a given directory, LIBDIR, you must either use libtool, and" echo "specify the full pathname of the library, or use the \`-LLIBDIR'" echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then echo " - add LIBDIR to the \`$shlibpath_var' environment variable" echo " during execution" fi if test -n "$runpath_var"; then echo " - add LIBDIR to the \`$runpath_var' environment variable" echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" $ECHO " - use the \`$flag' linker flag" fi if test -n "$admincmds"; then $ECHO " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi echo echo "See any operating system documentation about shared libraries for" case $host in solaris2.[6789]|solaris2.1[0-9]) echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" echo "pages." ;; *) echo "more information, such as the ld(1) and ld.so(8) manual pages." ;; esac echo "----------------------------------------------------------------------" fi exit $EXIT_SUCCESS } test "$opt_mode" = finish && func_mode_finish ${1+"$@"} # func_mode_install arg... func_mode_install () { $opt_debug # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || # Allow the use of GNU shtool's install command. case $nonopt in *shtool*) :;; *) false;; esac; then # Aesthetically quote it. func_quote_for_eval "$nonopt" install_prog="$func_quote_for_eval_result " arg=$1 shift else install_prog= arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. func_quote_for_eval "$arg" func_append install_prog "$func_quote_for_eval_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; *) install_cp=false ;; esac # We need to accept at least all the BSD install flags. dest= files= opts= prev= install_type= isdir=no stripme= no_mode=: for arg do arg2= if test -n "$dest"; then func_append files " $dest" dest=$arg continue fi case $arg in -d) isdir=yes ;; -f) if $install_cp; then :; else prev=$arg fi ;; -g | -m | -o) prev=$arg ;; -s) stripme=" -s" continue ;; -*) ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then if test "x$prev" = x-m && test -n "$install_override_mode"; then arg2=$install_override_mode no_mode=false fi prev= else dest=$arg continue fi ;; esac # Aesthetically quote the argument. func_quote_for_eval "$arg" func_append install_prog " $func_quote_for_eval_result" if test -n "$arg2"; then func_quote_for_eval "$arg2" fi func_append install_shared_prog " $func_quote_for_eval_result" done test -z "$install_prog" && \ func_fatal_help "you must specify an install program" test -n "$prev" && \ func_fatal_help "the \`$prev' option requires an argument" if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else func_quote_for_eval "$install_override_mode" func_append install_shared_prog " -m $func_quote_for_eval_result" fi fi if test -z "$files"; then if test -z "$dest"; then func_fatal_help "no file or destination specified" else func_fatal_help "you must specify a destination" fi fi # Strip any trailing slash from the destination. func_stripname '' '/' "$dest" dest=$func_stripname_result # Check to see that the destination is a directory. test -d "$dest" && isdir=yes if test "$isdir" = yes; then destdir="$dest" destname= else func_dirname_and_basename "$dest" "" "." destdir="$func_dirname_result" destname="$func_basename_result" # Not a directory, so check to see that there is only one file specified. set dummy $files; shift test "$#" -gt 1 && \ func_fatal_help "\`$dest' is not a directory" fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) func_fatal_help "\`$destdir' must be an absolute directory name" ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. func_append staticlibs " $file" ;; *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$file' is not a valid libtool archive" library_names= old_library= relink_command= func_source "$file" # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) func_append current_libdirs " $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) func_append future_libdirs " $libdir" ;; esac fi func_dirname "$file" "/" "" dir="$func_dirname_result" func_append dir "$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. test "$inst_prefix_dir" = "$destdir" && \ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi func_warning "relinking \`$file'" func_show_eval "$relink_command" \ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' fi # See the names of the shared library. set dummy $library_names; shift if test -n "$1"; then realname="$1" shift srcname="$realname" test -n "$relink_command" && srcname="$realname"T # Install the shared library and build the symlinks. func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ 'exit $?' tstripme="$stripme" case $host_os in cygwin* | mingw* | pw32* | cegcc*) case $realname in *.dll.a) tstripme="" ;; esac ;; esac if test -n "$tstripme" && test -n "$striplib"; then func_show_eval "$striplib $destdir/$realname" 'exit $?' fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do test "$linkname" != "$realname" \ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" done fi # Do each command in the postinstall commands. lib="$destdir/$realname" func_execute_cmds "$postinstall_cmds" 'exit $?' fi # Install the pseudo-library for information purposes. func_basename "$file" name="$func_basename_result" instname="$dir/$name"i func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' # Maybe install the static library, too. test -n "$old_library" && func_append staticlibs " $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) func_lo2o "$destfile" staticdest=$func_lo2o_result ;; *.$objext) staticdest="$destfile" destfile= ;; *) func_fatal_help "cannot copy a libtool object to \`$destfile'" ;; esac # Install the libtool object if requested. test -n "$destfile" && \ func_show_eval "$install_prog $file $destfile" 'exit $?' # Install the old object if enabled. if test "$build_old_libs" = yes; then # Deduce the name of the old-style object file. func_lo2o "$file" staticobj=$func_lo2o_result func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' fi exit $EXIT_SUCCESS ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext="" case $file in *.exe) if test ! -f "$file"; then func_stripname '' '.exe' "$file" file=$func_stripname_result stripped_ext=".exe" fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin* | *mingw*) if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" wrapper=$func_ltwrapper_scriptname_result else func_stripname '' '.exe' "$file" wrapper=$func_stripname_result fi ;; *) wrapper=$file ;; esac if func_ltwrapper_script_p "$wrapper"; then notinst_deplibs= relink_command= func_source "$wrapper" # Check the variables that should have been set. test -z "$generated_by_libtool_version" && \ func_fatal_error "invalid libtool wrapper script \`$wrapper'" finalize=yes for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then func_source "$lib" fi libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test if test -n "$libdir" && test ! -f "$libfile"; then func_warning "\`$lib' has not been installed in \`$libdir'" finalize=no fi done relink_command= func_source "$wrapper" outputname= if test "$fast_install" = no && test -n "$relink_command"; then $opt_dry_run || { if test "$finalize" = yes; then tmpdir=`func_mktempdir` func_basename "$file$stripped_ext" file="$func_basename_result" outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_silent || { func_quote_for_expand "$relink_command" eval "func_echo $func_quote_for_expand_result" } if eval "$relink_command"; then : else func_error "error: relink \`$file' with the above command before installing it" $opt_dry_run || ${RM}r "$tmpdir" continue fi file="$outputname" else func_warning "cannot relink \`$file'" fi } else # Install the binary that we compiled earlier. file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyway case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok ;; *.exe:*) destfile=$destfile.exe ;; *:*.exe) func_stripname '' '.exe' "$destfile" destfile=$func_stripname_result ;; esac ;; esac func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' $opt_dry_run || if test -n "$outputname"; then ${RM}r "$tmpdir" fi ;; esac done for file in $staticlibs; do func_basename "$file" name="$func_basename_result" # Set up the ranlib parameters. oldlib="$destdir/$name" func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result func_show_eval "$install_prog \$file \$oldlib" 'exit $?' if test -n "$stripme" && test -n "$old_striplib"; then func_show_eval "$old_striplib $tool_oldlib" 'exit $?' fi # Do each command in the postinstall commands. func_execute_cmds "$old_postinstall_cmds" 'exit $?' done test -n "$future_libdirs" && \ func_warning "remember to run \`$progname --finish$future_libdirs'" if test -n "$current_libdirs"; then # Maybe just do a dry run. $opt_dry_run && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi } test "$opt_mode" = install && func_mode_install ${1+"$@"} # func_generate_dlsyms outputname originator pic_p # Extract symbols from dlprefiles and create ${outputname}S.o with # a dlpreopen symbol table. func_generate_dlsyms () { $opt_debug my_outputname="$1" my_originator="$2" my_pic_p="${3-no}" my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` my_dlsyms= if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then if test -n "$NM" && test -n "$global_symbol_pipe"; then my_dlsyms="${my_outputname}S.c" else func_error "not configured to extract global symbols from dlpreopened files" fi fi if test -n "$my_dlsyms"; then case $my_dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist="$output_objdir/${my_outputname}.nm" func_show_eval "$RM $nlist ${nlist}S ${nlist}T" # Parse the name list into a source file. func_verbose "creating $output_objdir/$my_dlsyms" $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ /* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ #ifdef __cplusplus extern \"C\" { #endif #if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) #pragma GCC diagnostic ignored \"-Wstrict-prototypes\" #endif /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif /* External symbol declarations for the compiler. */\ " if test "$dlself" = yes; then func_verbose "generating symbol list for \`$output'" $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` for progfile in $progfiles; do func_to_tool_file "$progfile" func_convert_file_msys_to_w32 func_verbose "extracting global C symbols from \`$func_to_tool_file_result'" $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $opt_dry_run || { eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi if test -n "$export_symbols_regex"; then $opt_dry_run || { eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols="$output_objdir/$outputname.exp" $opt_dry_run || { $RM $export_symbols eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac } else $opt_dry_run || { eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac } fi fi for dlprefile in $dlprefiles; do func_verbose "extracting global C symbols from \`$dlprefile'" func_basename "$dlprefile" name="$func_basename_result" case $host in *cygwin* | *mingw* | *cegcc* ) # if an import library, we need to obtain dlname if func_win32_import_lib_p "$dlprefile"; then func_tr_sh "$dlprefile" eval "curr_lafile=\$libfile_$func_tr_sh_result" dlprefile_dlbasename="" if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then # Use subshell, to avoid clobbering current variable values dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` if test -n "$dlprefile_dlname" ; then func_basename "$dlprefile_dlname" dlprefile_dlbasename="$func_basename_result" else # no lafile. user explicitly requested -dlpreopen . $sharedlib_from_linklib_cmd "$dlprefile" dlprefile_dlbasename=$sharedlib_from_linklib_result fi fi $opt_dry_run || { if test -n "$dlprefile_dlbasename" ; then eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' else func_warning "Could not compute DLL name from $name" eval '$ECHO ": $name " >> "$nlist"' fi func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" } else # not an import lib $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } fi ;; *) $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } ;; esac done $opt_dry_run || { # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $MV "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if $GREP -v "^: " < "$nlist" | if sort -k 3 /dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else $GREP -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' else echo '/* NONE */' >> "$output_objdir/$my_dlsyms" fi echo >> "$output_objdir/$my_dlsyms" "\ /* The mapping between symbol names and symbols. */ typedef struct { const char *name; void *address; } lt_dlsymlist; extern LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[]; LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[] = {\ { \"$my_originator\", (void *) 0 }," case $need_lib_prefix in no) eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; *) eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; esac echo >> "$output_objdir/$my_dlsyms" "\ {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_${my_prefix}_LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " } # !$opt_dry_run pic_flag_for_symtable= case "$compile_command " in *" -static "*) ;; *) case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; *) if test "X$my_pic_p" != Xno; then pic_flag_for_symtable=" $pic_flag" fi ;; esac ;; esac symtab_cflags= for arg in $LTCFLAGS; do case $arg in -pie | -fpie | -fPIE) ;; *) func_append symtab_cflags " $arg" ;; esac done # Now compile the dynamic symbol file. func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' # Clean up the generated files. func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' # Transform the symbol file into the correct name. symfileobj="$output_objdir/${my_outputname}S.$objext" case $host in *cygwin* | *mingw* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` else compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` fi ;; *) compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` ;; esac ;; *) func_fatal_error "unknown suffix for \`$my_dlsyms'" ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` fi } # func_win32_libid arg # return the library type of file 'arg' # # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. # Despite the name, also deal with 64 bit binaries. func_win32_libid () { $opt_debug win32_libid_type="unknown" win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then func_to_tool_file "$1" func_convert_file_msys_to_w32 win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | $SED -n -e ' 1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac fi ;; *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... case $win32_fileres in *MS\ Windows\ PE\ Intel*) win32_libid_type="x86 DLL" ;; esac ;; esac $ECHO "$win32_libid_type" } # func_cygming_dll_for_implib ARG # # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib () { $opt_debug sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` } # func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs # # The is the core of a fallback implementation of a # platform-specific function to extract the name of the # DLL associated with the specified import library LIBNAME. # # SECTION_NAME is either .idata$6 or .idata$7, depending # on the platform and compiler that created the implib. # # Echos the name of the DLL associated with the # specified import library. func_cygming_dll_for_implib_fallback_core () { $opt_debug match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` $OBJDUMP -s --section "$1" "$2" 2>/dev/null | $SED '/^Contents of section '"$match_literal"':/{ # Place marker at beginning of archive member dllname section s/.*/====MARK====/ p d } # These lines can sometimes be longer than 43 characters, but # are always uninteresting /:[ ]*file format pe[i]\{,1\}-/d /^In archive [^:]*:/d # Ensure marker is printed /^====MARK====/p # Remove all lines with less than 43 characters /^.\{43\}/!d # From remaining lines, remove first 43 characters s/^.\{43\}//' | $SED -n ' # Join marker and all lines until next marker into a single line /^====MARK====/ b para H $ b para b :para x s/\n//g # Remove the marker s/^====MARK====// # Remove trailing dots and whitespace s/[\. \t]*$// # Print /./p' | # we now have a list, one entry per line, of the stringified # contents of the appropriate section of all members of the # archive which possess that section. Heuristic: eliminate # all those which have a first or second character that is # a '.' (that is, objdump's representation of an unprintable # character.) This should work for all archives with less than # 0x302f exports -- but will fail for DLLs whose name actually # begins with a literal '.' or a single character followed by # a '.'. # # Of those that remain, print the first one. $SED -e '/^\./d;/^.\./d;q' } # func_cygming_gnu_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is a GNU/binutils-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_gnu_implib_p () { $opt_debug func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` test -n "$func_cygming_gnu_implib_tmp" } # func_cygming_ms_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is an MS-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_ms_implib_p () { $opt_debug func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` test -n "$func_cygming_ms_implib_tmp" } # func_cygming_dll_for_implib_fallback ARG # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # # This fallback implementation is for use when $DLLTOOL # does not support the --identify-strict option. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib_fallback () { $opt_debug if func_cygming_gnu_implib_p "$1" ; then # binutils import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` elif func_cygming_ms_implib_p "$1" ; then # ms-generated import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` else # unknown sharedlib_from_linklib_result="" fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { $opt_debug f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" if test "$lock_old_archive_extraction" = yes; then lockfile=$f_ex_an_ar_oldlib.lock until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done fi func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ 'stat=$?; rm -f "$lockfile"; exit $stat' if test "$lock_old_archive_extraction" = yes; then $opt_dry_run || rm -f "$lockfile" fi if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" fi } # func_extract_archives gentop oldlib ... func_extract_archives () { $opt_debug my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac func_basename "$my_xlib" my_xlib="$func_basename_result" my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) func_arith $extracted_serial + 1 extracted_serial=$func_arith_result my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" func_mkdir_p "$my_xdir" case $host in *-darwin*) func_verbose "Extracting $my_xabs" # Do not bother doing anything if just a dry run $opt_dry_run || { darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`basename "$darwin_archive"` darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` if test -n "$darwin_arches"; then darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` $LIPO -create -output "$darwin_file" $darwin_files done # $darwin_filelist $RM -rf unfat-$$ cd "$darwin_orig_dir" else cd $darwin_orig_dir func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches } # !$opt_dry_run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # func_emit_wrapper [arg=no] # # Emit a libtool wrapper script on stdout. # Don't directly open a file because we may want to # incorporate the script contents within a cygwin/mingw # wrapper executable. Must ONLY be called from within # func_mode_link because it depends on a number of variables # set therein. # # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # variable will take. If 'yes', then the emitted script # will assume that the directory in which it is stored is # the $objdir directory. This is a cygwin/mingw-specific # behavior. func_emit_wrapper () { func_emit_wrapper_arg1=${1-no} $ECHO "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='$sed_quote_subst' # Be Bourne compatible if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variables: generated_by_libtool_version='$macro_version' notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$ECHO are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` $ECHO "\ # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } ECHO=\"$qECHO\" fi # Very basic option parsing. These options are (a) specific to # the libtool wrapper, (b) are identical between the wrapper # /script/ and the wrapper /executable/ which is used only on # windows platforms, and (c) all begin with the string "--lt-" # (application programs are unlikely to have options which match # this pattern). # # There are only two supported options: --lt-debug and # --lt-dump-script. There is, deliberately, no --lt-help. # # The first argument to this parsing function should be the # script's $0 value, followed by "$@". lt_option_debug= func_parse_lt_options () { lt_script_arg0=\$0 shift for lt_opt do case \"\$lt_opt\" in --lt-debug) lt_option_debug=1 ;; --lt-dump-script) lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` cat \"\$lt_dump_D/\$lt_dump_F\" exit 0 ;; --lt-*) \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 exit 1 ;; esac done # Print the debug banner immediately: if test -n \"\$lt_option_debug\"; then echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2 fi } # Used when --lt-debug. Prints its arguments to stdout # (redirection is the responsibility of the caller) func_lt_dump_args () { lt_dump_args_N=1; for lt_arg do \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\" lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` done } # Core function for launching the target application func_exec_program_core () { " case $host in # Backslashes separate directories on plain windows *-*-mingw | *-*-os2* | *-cegcc*) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $ECHO "\ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 exit 1 } # A function to encapsulate launching the target application # Strips options in the --lt-* namespace from \$@ and # launches target application with the remaining arguments. func_exec_program () { case \" \$* \" in *\\ --lt-*) for lt_wr_arg do case \$lt_wr_arg in --lt-*) ;; *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; esac shift done ;; esac func_exec_program_core \${1+\"\$@\"} } # Parse options func_parse_lt_options \"\$0\" \${1+\"\$@\"} # Find the directory that this script lives in. thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then # special case for '.' if test \"\$thisdir\" = \".\"; then thisdir=\`pwd\` fi # remove .libs from thisdir case \"\$thisdir\" in *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; $objdir ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test "$fast_install" = yes; then $ECHO "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $MKDIR \"\$progdir\" else $RM \"\$progdir/\$file\" fi" $ECHO "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else $ECHO \"\$relink_command_output\" >&2 $RM \"\$progdir/\$file\" exit 1 fi fi $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $RM \"\$progdir/\$program\"; $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } $RM \"\$progdir/\$file\" fi" else $ECHO "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $ECHO "\ if test -f \"\$progdir/\$program\"; then" # fixup the dll searchpath if we need to. # # Fix the DLL searchpath if we need to. Do this before prepending # to shlibpath, because on Windows, both are PATH and uninstalled # libraries must come first. if test -n "$dllsearchpath"; then $ECHO "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi # Export our shlibpath_var if we have one. if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $ECHO "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` export $shlibpath_var " fi $ECHO "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. func_exec_program \${1+\"\$@\"} fi else # The program doesn't exist. \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ " } # func_emit_cwrapperexe_src # emit the source code for a wrapper executable on stdout # Must ONLY be called from within func_mode_link because # it depends on a number of variable set therein. func_emit_cwrapperexe_src () { cat < #include #ifdef _MSC_VER # include # include # include #else # include # include # ifdef __CYGWIN__ # include # endif #endif #include #include #include #include #include #include #include #include /* declarations of non-ANSI functions */ #if defined(__MINGW32__) # ifdef __STRICT_ANSI__ int _putenv (const char *); # endif #elif defined(__CYGWIN__) # ifdef __STRICT_ANSI__ char *realpath (const char *, char *); int putenv (char *); int setenv (const char *, const char *, int); # endif /* #elif defined (other platforms) ... */ #endif /* portability defines, excluding path handling macros */ #if defined(_MSC_VER) # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv # define S_IXUSR _S_IEXEC # ifndef _INTPTR_T_DEFINED # define _INTPTR_T_DEFINED # define intptr_t int # endif #elif defined(__MINGW32__) # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv #elif defined(__CYGWIN__) # define HAVE_SETENV # define FOPEN_WB "wb" /* #elif defined (other platforms) ... */ #endif #if defined(PATH_MAX) # define LT_PATHMAX PATH_MAX #elif defined(MAXPATHLEN) # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 #endif #ifndef S_IXOTH # define S_IXOTH 0 #endif #ifndef S_IXGRP # define S_IXGRP 0 #endif /* path handling portability macros */ #ifndef DIR_SEPARATOR # define DIR_SEPARATOR '/' # define PATH_SEPARATOR ':' #endif #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ defined (__OS2__) # define HAVE_DOS_BASED_FILE_SYSTEM # define FOPEN_WB "wb" # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' # endif # ifndef PATH_SEPARATOR_2 # define PATH_SEPARATOR_2 ';' # endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #ifndef FOPEN_WB # define FOPEN_WB "w" #endif #ifndef _O_BINARY # define _O_BINARY 0 #endif #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) #if defined(LT_DEBUGWRAPPER) static int lt_debug = 1; #else static int lt_debug = 0; #endif const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ void *xmalloc (size_t num); char *xstrdup (const char *string); const char *base_name (const char *name); char *find_executable (const char *wrapper); char *chase_symlinks (const char *pathspec); int make_executable (const char *path); int check_executable (const char *path); char *strendzap (char *str, const char *pat); void lt_debugprintf (const char *file, int line, const char *fmt, ...); void lt_fatal (const char *file, int line, const char *message, ...); static const char *nonnull (const char *s); static const char *nonempty (const char *s); void lt_setenv (const char *name, const char *value); char *lt_extend_str (const char *orig_value, const char *add, int to_end); void lt_update_exe_path (const char *name, const char *value); void lt_update_lib_path (const char *name, const char *value); char **prepare_spawn (char **argv); void lt_dump_script (FILE *f); EOF cat <= 0) && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) return 1; else return 0; } int make_executable (const char *path) { int rval = 0; struct stat st; lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", nonempty (path)); if ((!path) || (!*path)) return 0; if (stat (path, &st) >= 0) { rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); } return rval; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise Does not chase symlinks, even on platforms that support them. */ char * find_executable (const char *wrapper) { int has_slash = 0; const char *p; const char *p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char *concat_name; lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", nonempty (wrapper)); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char *path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char *q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR (*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); return NULL; } char * chase_symlinks (const char *pathspec) { #ifndef S_ISLNK return xstrdup (pathspec); #else char buf[LT_PATHMAX]; struct stat s; char *tmp_pathspec = xstrdup (pathspec); char *p; int has_symlinks = 0; while (strlen (tmp_pathspec) && !has_symlinks) { lt_debugprintf (__FILE__, __LINE__, "checking path component for symlinks: %s\n", tmp_pathspec); if (lstat (tmp_pathspec, &s) == 0) { if (S_ISLNK (s.st_mode) != 0) { has_symlinks = 1; break; } /* search backwards for last DIR_SEPARATOR */ p = tmp_pathspec + strlen (tmp_pathspec) - 1; while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) p--; if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) { /* no more DIR_SEPARATORS left */ break; } *p = '\0'; } else { lt_fatal (__FILE__, __LINE__, "error accessing file \"%s\": %s", tmp_pathspec, nonnull (strerror (errno))); } } XFREE (tmp_pathspec); if (!has_symlinks) { return xstrdup (pathspec); } tmp_pathspec = realpath (pathspec, buf); if (tmp_pathspec == 0) { lt_fatal (__FILE__, __LINE__, "could not follow symlinks for %s", pathspec); } return xstrdup (tmp_pathspec); #endif } char * strendzap (char *str, const char *pat) { size_t len, patlen; assert (str != NULL); assert (pat != NULL); len = strlen (str); patlen = strlen (pat); if (patlen <= len) { str += len - patlen; if (strcmp (str, pat) == 0) *str = '\0'; } return str; } void lt_debugprintf (const char *file, int line, const char *fmt, ...) { va_list args; if (lt_debug) { (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); va_start (args, fmt); (void) vfprintf (stderr, fmt, args); va_end (args); } } static void lt_error_core (int exit_status, const char *file, int line, const char *mode, const char *message, va_list ap) { fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); vfprintf (stderr, message, ap); fprintf (stderr, ".\n"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *file, int line, const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); va_end (ap); } static const char * nonnull (const char *s) { return s ? s : "(null)"; } static const char * nonempty (const char *s) { return (s && !*s) ? "(empty)" : nonnull (s); } void lt_setenv (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_setenv) setting '%s' to '%s'\n", nonnull (name), nonnull (value)); { #ifdef HAVE_SETENV /* always make a copy, for consistency with !HAVE_SETENV */ char *str = xstrdup (value); setenv (name, str, 1); #else int len = strlen (name) + 1 + strlen (value) + 1; char *str = XMALLOC (char, len); sprintf (str, "%s=%s", name, value); if (putenv (str) != EXIT_SUCCESS) { XFREE (str); } #endif } } char * lt_extend_str (const char *orig_value, const char *add, int to_end) { char *new_value; if (orig_value && *orig_value) { int orig_value_len = strlen (orig_value); int add_len = strlen (add); new_value = XMALLOC (char, add_len + orig_value_len + 1); if (to_end) { strcpy (new_value, orig_value); strcpy (new_value + orig_value_len, add); } else { strcpy (new_value, add); strcpy (new_value + add_len, orig_value); } } else { new_value = xstrdup (add); } return new_value; } void lt_update_exe_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); /* some systems can't cope with a ':'-terminated path #' */ int len = strlen (new_value); while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) { new_value[len-1] = '\0'; } lt_setenv (name, new_value); XFREE (new_value); } } void lt_update_lib_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); } } EOF case $host_os in mingw*) cat <<"EOF" /* Prepares an argument vector before calling spawn(). Note that spawn() does not by itself call the command interpreter (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&v); v.dwPlatformId == VER_PLATFORM_WIN32_NT; }) ? "cmd.exe" : "command.com"). Instead it simply concatenates the arguments, separated by ' ', and calls CreateProcess(). We must quote the arguments since Win32 CreateProcess() interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a special way: - Space and tab are interpreted as delimiters. They are not treated as delimiters if they are surrounded by double quotes: "...". - Unescaped double quotes are removed from the input. Their only effect is that within double quotes, space and tab are treated like normal characters. - Backslashes not followed by double quotes are not special. - But 2*n+1 backslashes followed by a double quote become n backslashes followed by a double quote (n >= 0): \" -> " \\\" -> \" \\\\\" -> \\" */ #define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" #define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" char ** prepare_spawn (char **argv) { size_t argc; char **new_argv; size_t i; /* Count number of arguments. */ for (argc = 0; argv[argc] != NULL; argc++) ; /* Allocate new argument vector. */ new_argv = XMALLOC (char *, argc + 1); /* Put quoted arguments into the new argument vector. */ for (i = 0; i < argc; i++) { const char *string = argv[i]; if (string[0] == '\0') new_argv[i] = xstrdup ("\"\""); else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) { int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); size_t length; unsigned int backslashes; const char *s; char *quoted_string; char *p; length = 0; backslashes = 0; if (quote_around) length++; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') length += backslashes + 1; length++; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) length += backslashes + 1; quoted_string = XMALLOC (char, length + 1); p = quoted_string; backslashes = 0; if (quote_around) *p++ = '"'; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') { unsigned int j; for (j = backslashes + 1; j > 0; j--) *p++ = '\\'; } *p++ = c; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) { unsigned int j; for (j = backslashes; j > 0; j--) *p++ = '\\'; *p++ = '"'; } *p = '\0'; new_argv[i] = quoted_string; } else new_argv[i] = (char *) string; } new_argv[argc] = NULL; return new_argv; } EOF ;; esac cat <<"EOF" void lt_dump_script (FILE* f) { EOF func_emit_wrapper yes | $SED -n -e ' s/^\(.\{79\}\)\(..*\)/\1\ \2/ h s/\([\\"]\)/\\\1/g s/$/\\n/ s/\([^\n]*\).*/ fputs ("\1", f);/p g D' cat <<"EOF" } EOF } # end: func_emit_cwrapperexe_src # func_win32_import_lib_p ARG # True if ARG is an import lib, as indicated by $file_magic_cmd func_win32_import_lib_p () { $opt_debug case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in *import*) : ;; *) false ;; esac } # func_mode_link arg... func_mode_link () { $opt_debug case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # which system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying # to make a dll which has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. allow_undefined=yes ;; *) allow_undefined=yes ;; esac libtool_args=$nonopt base_compile="$nonopt $@" compile_command=$nonopt finalize_command=$nonopt compile_rpath= finalize_rpath= compile_shlibpath= finalize_shlibpath= convenience= old_convenience= deplibs= old_deplibs= compiler_flags= linker_flags= dllsearchpath= lib_search_path=`pwd` inst_prefix_dir= new_inherited_linker_flags= avoid_version=no bindir= dlfiles= dlprefiles= dlself=no export_dynamic=no export_symbols= export_symbols_regex= generated= libobjs= ltlibs= module=no no_install=no objs= non_pic_objects= precious_files_regex= prefer_static_libs=no preload=no prev= prevarg= release= rpath= xrpath= perm_rpath= temp_rpath= thread_safe=no vinfo= vinfo_number=no weak_libs= single_module="${wl}-single_module" func_infer_tag $base_compile # We need to know -static, to get the right output filenames. for arg do case $arg in -shared) test "$build_libtool_libs" != yes && \ func_fatal_configuration "can not build a shared library" build_old_libs=no break ;; -all-static | -static | -static-libtool-libs) case $arg in -all-static) if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then func_warning "complete static linking is impossible in this configuration" fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg="$1" shift func_quote_for_eval "$arg" qarg=$func_quote_for_eval_unquoted_result func_append libtool_args " $func_quote_for_eval_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) func_append compile_command " @OUTPUT@" func_append finalize_command " @OUTPUT@" ;; esac case $prev in bindir) bindir="$arg" prev= continue ;; dlfiles|dlprefiles) if test "$preload" = no; then # Add the symbol object into the linking commands. func_append compile_command " @SYMFILE@" func_append finalize_command " @SYMFILE@" preload=yes fi case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test "$dlself" = no; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test "$prev" = dlprefiles; then dlself=yes elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test "$prev" = dlfiles; then func_append dlfiles " $arg" else func_append dlprefiles " $arg" fi prev= continue ;; esac ;; expsyms) export_symbols="$arg" test -f "$arg" \ || func_fatal_error "symbol file \`$arg' does not exist" prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; framework) case $host in *-*-darwin*) case "$deplibs " in *" $qarg.ltframework "*) ;; *) func_append deplibs " $qarg.ltframework" # this is fixed later ;; esac ;; esac prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat "$save_arg"` do # func_append moreargs " $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi done else func_fatal_error "link input file \`$arg' does not exist" fi arg=$save_arg prev= continue ;; precious_regex) precious_files_regex="$arg" prev= continue ;; release) release="-$arg" prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac if test "$prev" = rpath; then case "$rpath " in *" $arg "*) ;; *) func_append rpath " $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) func_append xrpath " $arg" ;; esac fi prev= continue ;; shrext) shrext_cmds="$arg" prev= continue ;; weak) func_append weak_libs " $arg" prev= continue ;; xcclinker) func_append linker_flags " $qarg" func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xcompiler) func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xlinker) func_append linker_flags " $qarg" func_append compiler_flags " $wl$qarg" prev= func_append compile_command " $wl$qarg" func_append finalize_command " $wl$qarg" continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg="$arg" case $arg in -all-static) if test -n "$link_static_flag"; then # See comment for -static flag below, for more details. func_append compile_command " $link_static_flag" func_append finalize_command " $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. func_fatal_error "\`-allow-undefined' must not be used because it is the default" ;; -avoid-version) avoid_version=yes continue ;; -bindir) prev=bindir continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then func_fatal_error "more than one -exported-symbols argument is not allowed" fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework) prev=framework continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) func_append compile_command " $arg" func_append finalize_command " $arg" ;; esac continue ;; -L*) func_stripname "-L" '' "$arg" if test -z "$func_stripname_result"; then if test "$#" -gt 0; then func_fatal_error "require no space between \`-L' and \`$1'" else func_fatal_error "need path for \`-L' option" fi fi func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` test -z "$absdir" && \ func_fatal_error "cannot determine absolute directory name of \`$dir'" dir="$absdir" ;; esac case "$deplibs " in *" -L$dir "* | *" $arg "*) # Will only happen for absolute or sysroot arguments ;; *) # Preserve sysroot, but never include relative directories case $dir in [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; *) func_append deplibs " -L$dir" ;; esac func_append lib_search_path " $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; ::) dllsearchpath=$dir;; *) func_append dllsearchpath ":$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework func_append deplibs " System.ltframework" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi func_append deplibs " $arg" continue ;; -module) module=yes continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. # Darwin uses the -arch flag to determine output architecture. -model|-arch|-isysroot|--sysroot) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case "$new_inherited_linker_flags " in *" $arg "*) ;; * ) func_append new_inherited_linker_flags " $arg" ;; esac continue ;; -multi_module) single_module="${wl}-multi_module" continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. func_warning "\`-no-install' is ignored for $host" func_warning "assuming \`-no-fast-install' instead" fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) func_stripname '-R' '' "$arg" dir=$func_stripname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; =*) func_stripname '=' '' "$dir" dir=$lt_sysroot$func_stripname_result ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac continue ;; -shared) # The effects of -shared are defined in a previous loop. continue ;; -shrext) prev=shrext continue ;; -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -weak) prev=weak continue ;; -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" func_append arg " $func_quote_for_eval_result" func_append compiler_flags " $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Wl,*) func_stripname '-Wl,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" func_append arg " $wl$func_quote_for_eval_result" func_append compiler_flags " $wl$func_quote_for_eval_result" func_append linker_flags " $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # -msg_* for osf cc -msg_*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; # Flags to be passed through unchanged, with rationale: # -64, -mips[0-9] enable 64-bit mode for the SGI compiler # -r[0-9][0-9]* specify processor for the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler # +DA*, +DD* enable 64-bit mode for the HP compiler # -q* compiler args for the IBM compiler # -m*, -t[45]*, -txscale* architecture-specific flags for GCC # -F/path path to uninstalled frameworks, gcc on darwin # -p, -pg, --coverage, -fprofile-* profiling flags for GCC # @file GCC response files # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-flto*|-fwhopr*|-fuse-linker-plugin) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" continue ;; # Some other compiler flag. -* | +*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; *.$objext) # A standard object. func_append objs " $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi ;; *.$libext) # An archive. func_append deplibs " $arg" func_append old_deplibs " $arg" continue ;; *.la) # A libtool-controlled library. func_resolve_sysroot "$arg" if test "$prev" = dlfiles; then # This library was specified with -dlopen. func_append dlfiles " $func_resolve_sysroot_result" prev= elif test "$prev" = dlprefiles; then # The library was specified with -dlpreopen. func_append dlprefiles " $func_resolve_sysroot_result" prev= else func_append deplibs " $func_resolve_sysroot_result" fi continue ;; # Some other compiler argument. *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then func_append compile_command " $arg" func_append finalize_command " $arg" fi done # argument parsing loop test -n "$prev" && \ func_fatal_help "the \`$prevarg' option requires an argument" if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" func_append compile_command " $arg" func_append finalize_command " $arg" fi oldlibs= # calculate the name of the file, without its directory func_basename "$output" outputname="$func_basename_result" libobjs_save="$libobjs" if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" func_dirname "$output" "/" "" output_objdir="$func_dirname_result$objdir" func_to_tool_file "$output_objdir/" tool_output_objdir=$func_to_tool_file_result # Create the object directory. func_mkdir_p "$output_objdir" # Determine the type of output case $output in "") func_fatal_help "you must specify an output file" ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if $opt_preserve_dup_deps ; then case "$libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append libs " $deplib" done if test "$linkmode" = lib; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= if $opt_duplicate_compiler_generated_deps; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; esac func_append pre_post_deps " $pre_post_dep" done fi pre_post_deps= fi deplibs= newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries notinst_deplibs= # not-installed libtool libraries notinst_path= # paths that contain not-installed libtool libraries case $linkmode in lib) passes="conv dlpreopen link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=no newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do # The preopen pass in lib mode reverses $deplibs; put it back here # so that -L comes before libs that need it for instance... if test "$linkmode,$pass" = "lib,link"; then ## FIXME: Find the place where the list is rebuilt in the wrong ## order, and fix it there properly tmp_deplibs= for deplib in $deplibs; do tmp_deplibs="$deplib $tmp_deplibs" done deplibs="$tmp_deplibs" fi if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan"; then libs="$deplibs" deplibs= fi if test "$linkmode" = prog; then case $pass in dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; esac fi if test "$linkmode,$pass" = "lib,dlpreopen"; then # Collect and forward deplibs of preopened libtool libs for lib in $dlprefiles; do # Ignore non-libtool-libs dependency_libs= func_resolve_sysroot "$lib" case $lib in *.la) func_source "$func_resolve_sysroot_result" ;; esac # Collect preopened libtool deplibs, except any this library # has declared as weak libs for deplib in $dependency_libs; do func_basename "$deplib" deplib_base=$func_basename_result case " $weak_libs " in *" $deplib_base "*) ;; *) func_append deplibs " $deplib" ;; esac done done libs="$dlprefiles" fi if test "$pass" = dlopen; then # Collect dlpreopened libraries save_deplibs="$deplibs" deplibs= fi for deplib in $libs; do lib= found=no case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append compiler_flags " $deplib" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then func_warning "\`-l' is ignored for archives/objects" continue fi func_stripname '-l' '' "$deplib" name=$func_stripname_result if test "$linkmode" = lib; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" fi for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib="$searchdir/lib${name}${search_ext}" if test -f "$lib"; then if test "$search_ext" = ".la"; then found=yes else found=no fi break 2 fi done done if test "$found" != yes; then # deplib doesn't seem to be a libtool library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue else # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $deplib "*) if func_lalib_p "$lib"; then library_names= old_library= func_source "$lib" for l in $old_library $library_names; do ll="$l" done if test "X$ll" = "X$old_library" ; then # only static version available found=no func_dirname "$lib" "" "." ladir="$func_dirname_result" lib=$ladir/$old_library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi fi ;; # -l *.ltframework) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test "$pass" = conv && continue newdependency_libs="$deplib $newdependency_libs" func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; prog) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi if test "$pass" = scan; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; *) func_warning "\`-L' is ignored for archives/objects" ;; esac # linkmode continue ;; # -L -R*) if test "$pass" = link; then func_stripname '-R' '' "$deplib" func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # Make sure the xrpath contains only unique directories. case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac fi deplibs="$deplib $deplibs" continue ;; *.la) func_resolve_sysroot "$deplib" lib=$func_resolve_sysroot_result ;; *.$libext) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) # Linking convenience modules into shared libraries is allowed, # but linking other static libraries is non-portable. case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; then echo $ECHO "*** Warning: Trying to link with static lib archive $deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because the file extensions .$libext of this argument makes me believe" echo "*** that it is just a static archive that I should not use here." else echo $ECHO "*** Warning: Linking the shared library $output against the" $ECHO "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi ;; esac continue ;; prog) if test "$pass" != link; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test "$pass" = conv; then deplibs="$deplib $deplibs" elif test "$linkmode" = prog; then if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlopen support or we're linking statically, # we need to preload. func_append newdlprefiles " $deplib" compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append newdlfiles " $deplib" fi fi continue ;; %DEPLIBS%) alldeplibs=yes continue ;; esac # case $deplib if test "$found" = yes || test -f "$lib"; then : else func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" fi # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$lib" \ || func_fatal_error "\`$lib' is not a valid libtool archive" func_dirname "$lib" "" "." ladir="$func_dirname_result" dlname= dlopen= dlpreopen= libdir= library_names= old_library= inherited_linker_flags= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no avoidtemprpath= # Read the .la file func_source "$lib" # Convert "-framework foo" to "foo.ltframework" if test -n "$inherited_linker_flags"; then tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do case " $new_inherited_linker_flags " in *" $tmp_inherited_linker_flag "*) ;; *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; esac done fi dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || { test "$linkmode" != prog && test "$linkmode" != lib; }; then test -n "$dlopen" && func_append dlfiles " $dlopen" test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" fi if test "$pass" = conv; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # It is a libtool convenience library, so add in its objects. func_append convenience " $ladir/$objdir/$old_library" func_append old_convenience " $ladir/$objdir/$old_library" elif test "$linkmode" != prog && test "$linkmode" != lib; then func_fatal_error "\`$lib' is not a convenience library" fi tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done continue fi # $pass = conv # Get the name of the library we link against. linklib= if test -n "$old_library" && { test "$prefer_static_libs" = yes || test "$prefer_static_libs,$installed" = "built,no"; }; then linklib=$old_library else for l in $old_library $library_names; do linklib="$l" done fi if test -z "$linklib"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # This library was specified with -dlopen. if test "$pass" = dlopen; then if test -z "$libdir"; then func_fatal_error "cannot -dlopen a convenience library: \`$lib'" fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. func_append dlprefiles " $lib $dependency_libs" else func_append newdlfiles " $lib" fi continue fi # $pass = dlopen # We need an absolute path. case $ladir in [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then func_warning "cannot determine absolute directory name of \`$ladir'" func_warning "passing it literally to the linker, although it might fail" abs_ladir="$ladir" fi ;; esac func_basename "$lib" laname="$func_basename_result" # Find the relevant object directory and library name. if test "X$installed" = Xyes; then if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then func_warning "library \`$lib' was moved." dir="$ladir" absdir="$abs_ladir" libdir="$abs_ladir" else dir="$lt_sysroot$libdir" absdir="$lt_sysroot$libdir" fi test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later func_append notinst_path " $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later func_append notinst_path " $abs_ladir" fi fi # $installed = yes func_stripname 'lib' '.la' "$laname" name=$func_stripname_result # This library was specified with -dlpreopen. if test "$pass" = dlpreopen; then if test -z "$libdir" && test "$linkmode" = prog; then func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" fi case "$host" in # special handling for platforms with PE-DLLs. *cygwin* | *mingw* | *cegcc* ) # Linker will automatically link against shared library if both # static and shared are present. Therefore, ensure we extract # symbols from the import library if a shared library is present # (otherwise, the dlopen module name will be incorrect). We do # this by putting the import library name into $newdlprefiles. # We recover the dlopen module name by 'saving' the la file # name in a special purpose variable, and (later) extracting the # dlname from the la file. if test -n "$dlname"; then func_tr_sh "$dir/$linklib" eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" func_append newdlprefiles " $dir/$linklib" else func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" fi ;; * ) # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). if test -n "$old_library"; then func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" # Otherwise, use the dlname, so that lt_dlopen finds it. elif test -n "$dlname"; then func_append newdlprefiles " $dir/$dlname" else func_append newdlprefiles " $dir/$linklib" fi ;; esac fi # $pass = dlpreopen if test -z "$libdir"; then # Link the convenience library if test "$linkmode" = lib; then deplibs="$dir/$old_library $deplibs" elif test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi if test "$linkmode" = prog && test "$pass" != link; then func_append newlib_search_path " $ladir" deplibs="$lib $deplibs" linkalldeplibs=no if test "$link_all_deplibs" != no || test -z "$library_names" || test "$build_libtool_libs" = no; then linkalldeplibs=yes fi tmp_libs= for deplib in $dependency_libs; do case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; esac # Need to link against all dependency_libs? if test "$linkalldeplibs" = yes; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done # for deplib continue fi # $linkmode = prog... if test "$linkmode,$pass" = "prog,link"; then if test -n "$library_names" && { { test "$prefer_static_libs" = no || test "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath:" in *"$absdir:"*) ;; *) func_append temp_rpath "$absdir:" ;; esac fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi # $linkmode,$pass = prog,link... if test "$alldeplibs" = yes && { test "$deplibs_check_method" = pass_all || { test "$build_libtool_libs" = yes && test -n "$library_names"; }; }; then # We only need to search for static libraries continue fi fi link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes; then use_static_libs=no fi if test -n "$library_names" && { test "$use_static_libs" = no || test -z "$old_library"; }; then case $host in *cygwin* | *mingw* | *cegcc*) # No point in relinking DLLs because paths are not encoded func_append notinst_deplibs " $lib" need_relink=no ;; *) if test "$installed" = no; then func_append notinst_deplibs " $lib" need_relink=yes fi ;; esac # This is a shared library # Warn about portability, can't link against -module's on some # systems (darwin). Don't bleat about dlopened modules though! dlopenmodule="" for dlpremoduletest in $dlprefiles; do if test "X$dlpremoduletest" = "X$lib"; then dlopenmodule="$dlpremoduletest" break fi done if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then echo if test "$linkmode" = prog; then $ECHO "*** Warning: Linking the executable $output against the loadable module" else $ECHO "*** Warning: Linking the shared library $output against the loadable module" fi $ECHO "*** $linklib is not portable!" fi if test "$linkmode" = lib && test "$hardcode_into_libs" = yes; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname set dummy $library_names shift realname="$1" shift libname=`eval "\\$ECHO \"$libname_spec\""` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname="$dlname" elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw* | *cegcc*) func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; esac eval soname=\"$soname_spec\" else soname="$realname" fi # Make a new name for the extract_expsyms_cmds to use soroot="$soname" func_basename "$soroot" soname="$func_basename_result" func_stripname 'lib' '.dll' "$soname" newlib=libimp-$func_stripname_result.a # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else func_verbose "extracting exported symbol list from \`$soname'" func_execute_cmds "$extract_expsyms_cmds" 'exit $?' fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else func_verbose "generating import library for \`$soname'" func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test "$linkmode" = prog || test "$opt_mode" != relink; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test "$hardcode_direct" = no; then add="$dir/$linklib" case $host in *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir="-L$dir" ;; *-*-darwin* ) # if the lib is a (non-dlopened) module then we can not # link against it, someone is ignoring the earlier warnings if /usr/bin/file -L $add 2> /dev/null | $GREP ": [^:]* bundle" >/dev/null ; then if test "X$dlopenmodule" != "X$lib"; then $ECHO "*** Warning: lib $linklib is a module, not a shared library" if test -z "$old_library" ; then echo echo "*** And there doesn't seem to be a static archive available" echo "*** The link will probably fail, sorry" else add="$dir/$old_library" fi elif test -n "$old_library"; then add="$dir/$old_library" fi fi esac elif test "$hardcode_minus_L" = no; then case $host in *-*-sunos*) add_shlibpath="$dir" ;; esac add_dir="-L$dir" add="-l$name" elif test "$hardcode_shlibpath_var" = no; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; relink) if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$absdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; *) lib_linked=no ;; esac if test "$lib_linked" != yes; then func_fatal_configuration "unsupported hardcode properties" fi if test -n "$add_shlibpath"; then case :$compile_shlibpath: in *":$add_shlibpath:"*) ;; *) func_append compile_shlibpath "$add_shlibpath:" ;; esac fi if test "$linkmode" = prog; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" if test "$hardcode_direct" != yes && test "$hardcode_minus_L" != yes && test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac fi fi fi if test "$linkmode" = prog || test "$opt_mode" = relink; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$libdir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$libdir" add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac add="-l$name" elif test "$hardcode_automatic" = yes; then if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then add="$inst_prefix_dir$libdir/$linklib" else add="$libdir/$linklib" fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir="-L$libdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" fi if test "$linkmode" = prog; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test "$linkmode" = prog; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. if test "$hardcode_direct" != unsupported; then test -n "$old_library" && linklib="$old_library" compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi elif test "$build_libtool_libs" = yes; then # Not a shared library if test "$deplibs_check_method" != pass_all; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. echo $ECHO "*** Warning: This system can not link to static lib archive $lib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then echo "*** But as you try to build a module library, libtool will still create " echo "*** a static module, that should work as long as the dlopening application" echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using \`nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi else deplibs="$dir/$old_library $deplibs" link_static=yes fi fi # link shared/static library? if test "$linkmode" = lib; then if test -n "$dependency_libs" && { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || test "$link_static" = yes; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do case $libdir in -R*) func_stripname '-R' '' "$libdir" temp_xrpath=$func_stripname_result case " $xrpath " in *" $temp_xrpath "*) ;; *) func_append xrpath " $temp_xrpath";; esac;; *) func_append temp_deplibs " $libdir";; esac done dependency_libs="$temp_deplibs" fi func_append newlib_search_path " $absdir" # Link against this library test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result";; *) func_resolve_sysroot "$deplib" ;; esac if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $func_resolve_sysroot_result "*) func_append specialdeplibs " $func_resolve_sysroot_result" ;; esac fi func_append tmp_libs " $func_resolve_sysroot_result" done if test "$link_all_deplibs" != no; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do path= case $deplib in -L*) path="$deplib" ;; *.la) func_resolve_sysroot "$deplib" deplib=$func_resolve_sysroot_result func_dirname "$deplib" "" "." dir=$func_dirname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then func_warning "cannot determine absolute directory name of \`$dir'" absdir="$dir" fi ;; esac if $GREP "^installed=no" $deplib > /dev/null; then case $host in *-*-darwin*) depdepl= eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names" ; then for tmp in $deplibrary_names ; do depdepl=$tmp done if test -f "$absdir/$objdir/$depdepl" ; then depdepl="$absdir/$objdir/$depdepl" darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` if test -z "$darwin_install_name"; then darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` fi func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}" path= fi fi ;; *) path="-L$absdir/$objdir" ;; esac else eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" test "$absdir" != "$libdir" && \ func_warning "\`$deplib' seems to be moved" path="-L$absdir" fi ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs if test "$pass" = link; then if test "$linkmode" = "prog"; then compile_deplibs="$new_inherited_linker_flags $compile_deplibs" finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" else compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` fi fi dependency_libs="$newdependency_libs" if test "$pass" = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test "$pass" != dlopen; then if test "$pass" != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) func_append lib_search_path " $dir" ;; esac done newlib_search_path= fi if test "$linkmode,$pass" != "prog,link"; then vars="deplibs" else vars="compile_deplibs finalize_deplibs" fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do # FIXME: Pedantically, this is the right thing to do, so # that some nasty dependency loop isn't accidentally # broken: #new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or # is implicitly linked in more than once by the # compiler, it is considered special, and multiple # occurrences thereof are not removed. Compare this # with having the same library being listed as a # dependency of multiple other libraries: in this case, # we know (pedantically, we assume) the library does not # need to be listed more than once, so we keep only the # last copy. This is not always right, but it is rare # enough that we require users that really mean to play # such unportable linking tricks to link the library # using -Wl,-lname, so that libtool does not consider it # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$deplib $new_libs" ;; esac ;; esac ;; esac done tmp_libs= for deplib in $new_libs; do case $deplib in -L*) case " $tmp_libs " in *" $deplib "*) ;; *) func_append tmp_libs " $deplib" ;; esac ;; *) func_append tmp_libs " $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= for i in $dependency_libs ; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) i="" ;; esac if test -n "$i" ; then func_append tmp_libs " $i" fi done dependency_libs=$tmp_libs done # for pass if test "$linkmode" = prog; then dlfiles="$newdlfiles" fi if test "$linkmode" = prog || test "$linkmode" = lib; then dlprefiles="$newdlprefiles" fi case $linkmode in oldlib) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for archives" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for archives" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for archives" test -n "$xrpath" && \ func_warning "\`-R' is ignored for archives" test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for archives" test -n "$release" && \ func_warning "\`-release' is ignored for archives" test -n "$export_symbols$export_symbols_regex" && \ func_warning "\`-export-symbols' is ignored for archives" # Now set the variables for building old libraries. build_libtool_libs=no oldlibs="$output" func_append objs "$old_deplibs" ;; lib) # Make sure we only generate libraries of the form `libNAME.la'. case $outputname in lib*) func_stripname 'lib' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) test "$module" = no && \ func_fatal_help "libtool library \`$output' must begin with \`lib'" if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required func_stripname '' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else func_stripname '' '.la' "$outputname" libname=$func_stripname_result fi ;; esac if test -n "$objs"; then if test "$deplibs_check_method" != pass_all; then func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" else echo $ECHO "*** Warning: Linking the shared library $output against the non-libtool" $ECHO "*** objects $objs is not portable!" func_append libobjs " $objs" fi fi test "$dlself" != no && \ func_warning "\`-dlopen self' is ignored for libtool libraries" set dummy $rpath shift test "$#" -gt 1 && \ func_warning "ignoring multiple \`-rpath's for a libtool library" install_libdir="$1" oldlibs= if test -z "$rpath"; then if test "$build_libtool_libs" = yes; then # Building a libtool convenience library. # Some compilers have problems with a `.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for convenience libraries" test -n "$release" && \ func_warning "\`-release' is ignored for convenience libraries" else # Parse the version information argument. save_ifs="$IFS"; IFS=':' set dummy $vinfo 0 0 0 shift IFS="$save_ifs" test -n "$7" && \ func_fatal_help "too many parameters to \`-version-info'" # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major="$1" number_minor="$2" number_revision="$3" # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # which has an extra 1 added just for fun # case $version_type in # correct linux to gnu/linux during the next big refactor darwin|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_revision" ;; freebsd-aout|freebsd-elf|qnx|sunos) current="$number_major" revision="$number_minor" age="0" ;; irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; esac ;; no) current="$1" revision="$2" age="$3" ;; esac # Check that each of the things are valid numbers. case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "CURRENT \`$current' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "REVISION \`$revision' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "AGE \`$age' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac if test "$age" -gt "$current"; then func_error "AGE \`$age' is greater than the current interface number \`$current'" func_fatal_error "\`$vinfo' is not valid version information" fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" # Darwin ld doesn't like 0 for these options... func_arith $current + 1 minor_current=$func_arith_result xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; freebsd-aout) major=".$current" versuffix=".$current.$revision"; ;; freebsd-elf) major=".$current" versuffix=".$current" ;; irix | nonstopux) if test "X$lt_irix_increment" = "Xno"; then func_arith $current - $age else func_arith $current - $age + 1 fi major=$func_arith_result case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring="$verstring_prefix$major.$revision" # Add in all the interfaces that we are compatible with. loop=$revision while test "$loop" -ne 0; do func_arith $revision - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring_prefix$major.$iface:$verstring" done # Before this point, $major must not contain `.'. major=.$major versuffix="$major.$revision" ;; linux) # correct to gnu/linux during the next big refactor func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" ;; osf) func_arith $current - $age major=.$func_arith_result versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" # Add in all the interfaces that we are compatible with. loop=$age while test "$loop" -ne 0; do func_arith $current - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring:${iface}.0" done # Make executables depend on our current version. func_append verstring ":${current}.0" ;; qnx) major=".$current" versuffix=".$current" ;; sunos) major=".$current" versuffix=".$current.$revision" ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 filesystems. func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; *) func_fatal_configuration "unknown library version type \`$version_type'" ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring="0.0" ;; esac if test "$need_version" = no; then versuffix= else versuffix=".0.0" fi fi # Remove version info from name if versioning should be avoided if test "$avoid_version" = yes && test "$need_version" = no; then major= versuffix= verstring="" fi # Check to see if the archive will have undefined symbols. if test "$allow_undefined" = yes; then if test "$allow_undefined_flag" = unsupported; then func_warning "undefined symbols not allowed in $host shared libraries" build_libtool_libs=no build_old_libs=yes fi else # Don't allow undefined symbols. allow_undefined_flag="$no_undefined_flag" fi fi func_generate_dlsyms "$libname" "$libname" "yes" func_append libobjs " $symfileobj" test "X$libobjs" = "X " && libobjs= if test "$opt_mode" != relink; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= tempremovelist=`$ECHO "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext | *.gcno) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi func_append removelist " $p" ;; *) ;; esac done test -n "$removelist" && \ func_show_eval "${RM}r \$removelist" fi # Now set the variables for building old libraries. if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then func_append oldlibs " $output_objdir/$libname.$libext" # Transform .lo files to .o files. oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` fi # Eliminate all temporary directories. #for path in $notinst_path; do # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` #done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. temp_xrpath= for libdir in $xrpath; do func_replace_sysroot "$libdir" func_append temp_xrpath " -R$func_replace_sysroot_result" case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened old_dlfiles="$dlfiles" dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in *" $lib "*) ;; *) func_append dlfiles " $lib" ;; esac done # Make sure dlprefiles contains only unique files old_dlprefiles="$dlprefiles" dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in *" $lib "*) ;; *) func_append dlprefiles " $lib" ;; esac done if test "$build_libtool_libs" = yes; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework func_append deplibs " System.ltframework" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # Add libc to deplibs on all other systems if necessary. if test "$build_libtool_need_lc" = "yes"; then func_append deplibs " -lc" fi ;; esac fi # Transform deplibs into only deplibs that can be linked in shared. name_save=$name libname_save=$libname release_save=$release versuffix_save=$versuffix major_save=$major # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? release="" versuffix="" major="" newdeplibs= droppeddeps=no case $deplibs_check_method in pass_all) # Don't check for shared/static. Everything works. # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) # This code stresses the "libraries are programs" paradigm to its # limits. Maybe even breaks it. We compile a program, linking it # against the deplibs as a proxy for the library. Then we can check # whether they linked in statically or dynamically with ldd. $opt_dry_run || $RM conftest.c cat > conftest.c </dev/null` $nocaseglob else potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` fi for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null | $GREP " -> " >/dev/null; then continue fi # The statement above tries to avoid entering an # endless loop below, in case of cyclic links. # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? potlib="$potent_lib" while test -h "$potlib" 2>/dev/null; do potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | $SED -e 10q | $EGREP "$file_magic_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for file magic test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a file magic. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` for a_deplib in $deplibs; do case $a_deplib in -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $a_deplib "*) func_append newdeplibs " $a_deplib" a_deplib="" ;; esac fi if test -n "$a_deplib" ; then libname=`eval "\\$ECHO \"$libname_spec\""` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do potlib="$potent_lib" # see symlink-check above in file_magic test if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ $EGREP "$match_pattern_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a regex pattern. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; none | unknown | *) newdeplibs="" tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then for i in $predeps $postdeps ; do # can't use Xsed below, because $i might contain '/' tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` done fi case $tmp_deplibs in *[!\ \ ]*) echo if test "X$deplibs_check_method" = "Xnone"; then echo "*** Warning: inter-library dependencies are not supported in this platform." else echo "*** Warning: inter-library dependencies are not known to be supported." fi echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes ;; esac ;; esac versuffix=$versuffix_save major=$major_save release=$release_save libname=$libname_save name=$name_save case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library with the System framework newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac if test "$droppeddeps" = yes; then if test "$module" = yes; then echo echo "*** Warning: libtool could not satisfy all declared inter-library" $ECHO "*** dependencies of module $libname. Therefore, libtool will create" echo "*** a static module, that should work as long as the dlopening" echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using \`nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else echo "*** The inter-library dependencies that have been dropped here will be" echo "*** automatically added whenever a program is linked with this library" echo "*** or is declared to -dlopen it." if test "$allow_undefined" = no; then echo echo "*** Since this library must not contain undefined symbols," echo "*** because either the platform does not support them or" echo "*** it was explicitly requested with -no-undefined," echo "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" case $host in *-*-darwin*) newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done deplibs="$new_libs" # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then # Remove ${wl} instances when linking with ld. # FIXME: should test the right _cmds variable. case $archive_cmds in *\$LD\ *) wl= ;; esac if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath="$finalize_rpath" test "$opt_mode" != relink && rpath="$compile_rpath$rpath" for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then func_replace_sysroot "$libdir" libdir=$func_replace_sysroot_result if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append dep_rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath="$finalize_shlibpath" test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath" if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names shift realname="$1" shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname="$realname" fi if test -z "$dlname"; then dlname=$soname fi lib="$output_objdir/$realname" linknames= for link do func_append linknames " $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` test "X$libobjs" = "X " && libobjs= delfiles= if test -n "$export_symbols" && test -n "$include_expsyms"; then $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" export_symbols="$output_objdir/$libname.uexp" func_append delfiles " $export_symbols" fi orig_export_symbols= case $host_os in cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile if test "x`$SED 1q $export_symbols`" != xEXPORTS; then # and it's NOT already a .def file. Must figure out # which of the given symbols are data symbols and tag # them as such. So, trigger use of export_symbols_cmds. # export_symbols gets reassigned inside the "prepare # the list of exported symbols" if statement, so the # include_expsyms logic still works. orig_export_symbols="$export_symbols" export_symbols= always_export_symbols=yes fi fi ;; esac # Prepare the list of exported symbols if test -z "$export_symbols"; then if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd1 in $cmds; do IFS="$save_ifs" # Take the normal branch if the nm_file_list_spec branch # doesn't work or if tool conversion is not needed. case $nm_file_list_spec~$to_tool_file_cmd in *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) try_normal_branch=yes eval cmd=\"$cmd1\" func_len " $cmd" len=$func_len_result ;; *) try_normal_branch=no ;; esac if test "$try_normal_branch" = yes \ && { test "$len" -lt "$max_cmd_len" \ || test "$max_cmd_len" -le -1; } then func_show_eval "$cmd" 'exit $?' skipped_export=false elif test -n "$nm_file_list_spec"; then func_basename "$output" output_la=$func_basename_result save_libobjs=$libobjs save_output=$output output=${output_objdir}/${output_la}.nm func_to_tool_file "$output" libobjs=$nm_file_list_spec$func_to_tool_file_result func_append delfiles " $output" func_verbose "creating $NM input file list: $output" for obj in $save_libobjs; do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > "$output" eval cmd=\"$cmd1\" func_show_eval "$cmd" 'exit $?' output=$save_output libobjs=$save_libobjs skipped_export=false else # The command line is too long to execute in one step. func_verbose "using reloadable object file for export list..." skipped_export=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break fi done IFS="$save_ifs" if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) func_append tmp_deplibs " $test_deplib" ;; esac done deplibs="$tmp_deplibs" if test -n "$convenience"; then if test -n "$whole_archive_flag_spec" && test "$compiler_needs_object" = yes && test -z "$libobjs"; then # extract the archives, so we have objects to list. # TODO: could optimize this to just extract one archive. whole_archive_flag_spec= fi if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= else gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $convenience func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi fi if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" func_append linker_flags " $flag" fi # Make a backup of the uninstalled library when relinking if test "$opt_mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && func_len " $test_cmds" && len=$func_len_result && test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise # or, if using GNU ld and skipped_export is not :, use a linker # script. # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output func_basename "$output" output_la=$func_basename_result # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= last_robj= k=1 if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then output=${output_objdir}/${output_la}.lnkscript func_verbose "creating GNU ld script: $output" echo 'INPUT (' > $output for obj in $save_libobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done echo ')' >> $output func_append delfiles " $output" func_to_tool_file "$output" output=$func_to_tool_file_result elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then output=${output_objdir}/${output_la}.lnk func_verbose "creating linker input file list: $output" : > $output set x $save_libobjs shift firstobj= if test "$compiler_needs_object" = yes; then firstobj="$1 " shift fi for obj do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done func_append delfiles " $output" func_to_tool_file "$output" output=$firstobj\"$file_list_spec$func_to_tool_file_result\" else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." output=$output_objdir/$output_la-${k}.$objext eval test_cmds=\"$reload_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 # Loop over the list of objects to be linked. for obj in $save_libobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result if test "X$objlist" = X || test "$len" -lt "$max_cmd_len"; then func_append objlist " $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test "$k" -eq 1 ; then # The first file doesn't have a previous command to add. reload_objs=$objlist eval concat_cmds=\"$reload_cmds\" else # All subsequent reloadable object files will link in # the last one created. reload_objs="$objlist $last_robj" eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" fi last_robj=$output_objdir/$output_la-${k}.$objext func_arith $k + 1 k=$func_arith_result output=$output_objdir/$output_la-${k}.$objext objlist=" $obj" func_len " $last_robj" func_arith $len0 + $func_len_result len=$func_arith_result fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ reload_objs="$objlist $last_robj" eval concat_cmds=\"\${concat_cmds}$reload_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" fi func_append delfiles " $output" else output= fi if ${skipped_export-false}; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols libobjs=$output # Append the command to create the export file. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi fi test -n "$save_libobjs" && func_verbose "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs="$IFS"; IFS='~' for cmd in $concat_cmds; do IFS="$save_ifs" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$opt_mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" if test -n "$export_symbols_regex" && ${skipped_export-false}; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi if ${skipped_export-false}; then if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi fi libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi fi fi if test -n "$delfiles"; then # Append the command to remove temporary files to $cmds. eval cmds=\"\$cmds~\$RM $delfiles\" fi # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$opt_mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" # Restore the uninstalled library and exit if test "$opt_mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then func_show_eval '${RM}r "$gentop"' fi fi exit $EXIT_SUCCESS fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done # If -module or -export-dynamic was specified, set the dlname. if test "$module" = yes || test "$export_dynamic" = yes; then # On all known operating systems, these are identical. dlname="$soname" fi fi ;; obj) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for objects" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for objects" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for objects" test -n "$xrpath" && \ func_warning "\`-R' is ignored for objects" test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for objects" test -n "$release" && \ func_warning "\`-release' is ignored for objects" case $output in *.lo) test -n "$objs$old_deplibs" && \ func_fatal_error "cannot build library object \`$output' from non-libtool objects" libobj=$output func_lo2o "$libobj" obj=$func_lo2o_result ;; *) libobj= obj="$output" ;; esac # Delete the old objects. $opt_dry_run || $RM $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of # -Wl from whole_archive_flag_spec and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` else gentop="$output_objdir/${obj}x" func_append generated " $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" fi fi # If we're not building shared, we need to use non_pic_objs test "$build_libtool_libs" != yes && libobjs="$non_pic_objects" # Create the old-style object. reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test output="$obj" func_execute_cmds "$reload_cmds" 'exit $?' # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS fi if test "$build_libtool_libs" != yes; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS fi if test -n "$pic_flag" || test "$pic_mode" != default; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output="$libobj" func_execute_cmds "$reload_cmds" 'exit $?' fi if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS ;; prog) case $host in *cygwin*) func_stripname '' '.exe' "$output" output=$func_stripname_result.exe;; esac test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for programs" test -n "$release" && \ func_warning "\`-release' is ignored for programs" test "$preload" = yes \ && test "$dlopen_support" = unknown \ && test "$dlopen_self" = unknown \ && test "$dlopen_self_static" = unknown && \ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac case $host in *-*-darwin*) # Don't allow lazy linking, it breaks C++ global constructors # But is supposedly fixed on 10.4 or later (yay!). if test "$tagname" = CXX ; then case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 10.[0123]) func_append compile_command " ${wl}-bind_at_load" func_append finalize_command " ${wl}-bind_at_load" ;; esac fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done compile_deplibs="$new_libs" func_append compile_command " $compile_deplibs" func_append finalize_command " $finalize_deplibs" if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. for libdir in $rpath $xrpath; do # This is the magic to use -rpath. case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done fi # Now hardcode the library paths rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; ::) dllsearchpath=$libdir;; *) func_append dllsearchpath ":$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi compile_rpath="$rpath" rpath= hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in *" $libdir "*) ;; *) func_append finalize_perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi finalize_rpath="$rpath" if test -n "$libobjs" && test "$build_old_libs" = yes; then # Transform all the library objects into standard objects. compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` fi func_generate_dlsyms "$outputname" "@PROGRAM@" "no" # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' fi wrappers_required=yes case $host in *cegcc* | *mingw32ce*) # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. wrappers_required=no ;; *cygwin* | *mingw* ) if test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; *) if test "$need_relink" = no || test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; esac if test "$wrappers_required" = no; then # Replace the output file specification. compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. exit_status=0 func_show_eval "$link_command" 'exit_status=$?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Delete the generated files. if test -f "$output_objdir/${outputname}S.${objext}"; then func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' fi exit $exit_status fi if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi if test -n "$finalize_perm_rpath"; then # We should set the runpath_var. rpath= for dir in $finalize_perm_rpath; do func_append rpath "$dir:" done finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi fi if test "$no_install" = yes; then # We don't need to create a wrapper script. link_command="$compile_var$compile_command$compile_rpath" # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. $opt_dry_run || $RM $output # Link the executable and exit func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi exit $EXIT_SUCCESS fi if test "$hardcode_action" = relink; then # Fast installation is not supported link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" func_warning "this platform does not like uninstalled shared libraries" func_warning "\`$output' will be relinked during installation" else if test "$fast_install" != no; then link_command="$finalize_var$compile_command$finalize_rpath" if test "$fast_install" = yes; then relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` else # fast_install is set to needless relink_command= fi else link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" fi fi # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output_objdir/$outputname" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Now create the wrapper script. func_verbose "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` fi # Only actually do things if not in dry run mode. $opt_dry_run || { # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) func_stripname '' '.exe' "$output" output=$func_stripname_result ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe func_stripname '' '.exe' "$outputname" outputname=$func_stripname_result ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) func_dirname_and_basename "$output" "" "." output_name=$func_basename_result output_path=$func_dirname_result cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $RM $cwrappersource $cwrapper trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 func_emit_cwrapperexe_src > $cwrappersource # The wrapper executable is built using the $host compiler, # because it contains $host paths and files. If cross- # compiling, it, like the target executable, must be # executed on the $host or under an emulation environment. $opt_dry_run || { $LTCC $LTCFLAGS -o $cwrapper $cwrappersource $STRIP $cwrapper } # Now, create the wrapper script for func_source use: func_ltwrapper_scriptname $cwrapper $RM $func_ltwrapper_scriptname_result trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 $opt_dry_run || { # note: this script will not be executed, so do not chmod. if test "x$build" = "x$host" ; then $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result else func_emit_wrapper no > $func_ltwrapper_scriptname_result fi } ;; * ) $RM $output trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 func_emit_wrapper no > $output chmod +x $output ;; esac } exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do if test "$build_libtool_libs" = convenience; then oldobjs="$libobjs_save $symfileobj" addlibs="$convenience" build_libtool_libs=no else if test "$build_libtool_libs" = module; then oldobjs="$libobjs_save" build_libtool_libs=no else oldobjs="$old_deplibs $non_pic_objects" if test "$preload" = yes && test -f "$symfileobj"; then func_append oldobjs " $symfileobj" fi fi addlibs="$old_convenience" fi if test -n "$addlibs"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $addlibs func_append oldobjs " $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append oldobjs " $func_extract_archives_result" fi # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do func_basename "$obj" $ECHO "$func_basename_result" done | sort | sort -uc >/dev/null 2>&1); then : else echo "copying selected object files to avoid basename conflicts..." gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_mkdir_p "$gentop" save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do func_basename "$obj" objbase="$func_basename_result" case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase func_arith $counter + 1 counter=$func_arith_result case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" func_append oldobjs " $gentop/$newobj" ;; *) func_append oldobjs " $obj" ;; esac done fi func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result eval cmds=\"$old_archive_cmds\" func_len " $cmds" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds elif test -n "$archiver_list_spec"; then func_verbose "using command file archive linking..." for obj in $oldobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > $output_objdir/$libname.libcmd func_to_tool_file "$output_objdir/$libname.libcmd" oldobjs=" $archiver_list_spec$func_to_tool_file_result" cmds=$old_archive_cmds else # the command line is too long to link in one step, link in parts func_verbose "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs oldobjs= # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done eval test_cmds=\"$old_archive_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 for obj in $save_oldobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result func_append objlist " $obj" if test "$len" -lt "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj" ; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" objlist= len=$len0 fi done RANLIB=$save_RANLIB oldobjs=$objlist if test "X$oldobjs" = "X" ; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi fi func_execute_cmds "$cmds" 'exit $?' done test -n "$generated" && \ func_show_eval "${RM}r$generated" # Now create the libtool archive. case $output in *.la) old_library= test "$build_old_libs" = yes && old_library="$libname.$libext" func_verbose "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` if test "$hardcode_automatic" = yes ; then relink_command= fi # Only create the output if not a dry run. $opt_dry_run || { for installed in no yes; do if test "$installed" = yes; then if test -z "$install_libdir"; then break fi output="$output_objdir/$outputname"i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) func_basename "$deplib" name="$func_basename_result" func_resolve_sysroot "$deplib" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" ;; -L*) func_stripname -L '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -L$func_replace_sysroot_result" ;; -R*) func_stripname -R '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -R$func_replace_sysroot_result" ;; *) func_append newdependency_libs " $deplib" ;; esac done dependency_libs="$newdependency_libs" newdlfiles= for lib in $dlfiles; do case $lib in *.la) func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" ;; *) func_append newdlfiles " $lib" ;; esac done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in *.la) # Only pass preopened files to the pseudo-archive (for # eventual linking with the app. that links it) if we # didn't already link the preopened objects directly into # the library: func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" ;; esac done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlfiles " $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlprefiles " $abs" done dlprefiles="$newdlprefiles" fi $RM $output # place dlname in correct position for cygwin # In fact, it would be nice if we could use this code for all target # systems that can't hard-code library paths into their executables # and that have no shared library path variable independent of PATH, # but it turns out we can't easily determine that from inspecting # libtool variables, so we have to hard-code the OSs to which it # applies here; at the moment, that means platforms that use the PE # object format with DLL files. See the long comment at the top of # tests/bindir.at for full details. tdlname=$dlname case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) # If a -bindir argument was supplied, place the dll there. if test "x$bindir" != x ; then func_relative_path "$install_libdir" "$bindir" tdlname=$func_relative_path_result$dlname else # Otherwise fall back on heuristic. tdlname=../bin/$dlname fi ;; esac $ECHO > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Linker flags that can not go in dependency_libs. inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Names of additional weak libraries provided by this library weak_library_names='$weak_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test "$installed" = no && test "$need_relink" = yes; then $ECHO >> $output "\ relink_command=\"$relink_command\"" fi done } # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' ;; esac exit $EXIT_SUCCESS } { test "$opt_mode" = link || test "$opt_mode" = relink; } && func_mode_link ${1+"$@"} # func_mode_uninstall arg... func_mode_uninstall () { $opt_debug RM="$nonopt" files= rmforce= exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" for arg do case $arg in -f) func_append RM " $arg"; rmforce=yes ;; -*) func_append RM " $arg" ;; *) func_append files " $arg" ;; esac done test -z "$RM" && \ func_fatal_help "you must specify an RM program" rmdirs= for file in $files; do func_dirname "$file" "" "." dir="$func_dirname_result" if test "X$dir" = X.; then odir="$objdir" else odir="$dir/$objdir" fi func_basename "$file" name="$func_basename_result" test "$opt_mode" = uninstall && odir="$dir" # Remember odir for removal later, being careful to avoid duplicates if test "$opt_mode" = clean; then case " $rmdirs " in *" $odir "*) ;; *) func_append rmdirs " $odir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. if { test -L "$file"; } >/dev/null 2>&1 || { test -h "$file"; } >/dev/null 2>&1 || test -f "$file"; then : elif test -d "$file"; then exit_status=1 continue elif test "$rmforce" = yes; then continue fi rmfiles="$file" case $name in *.la) # Possibly a libtool archive, so verify it. if func_lalib_p "$file"; then func_source $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do func_append rmfiles " $odir/$n" done test -n "$old_library" && func_append rmfiles " $odir/$old_library" case "$opt_mode" in clean) case " $library_names " in *" $dlname "*) ;; *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; esac test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if func_lalib_p "$file"; then # Read the .lo file func_source $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" && test "$pic_object" != none; then func_append rmfiles " $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. if test -n "$non_pic_object" && test "$non_pic_object" != none; then func_append rmfiles " $dir/$non_pic_object" fi fi ;; *) if test "$opt_mode" = clean ; then noexename=$name case $file in *.exe) func_stripname '' '.exe' "$file" file=$func_stripname_result func_stripname '' '.exe' "$name" noexename=$func_stripname_result # $file with .exe has already been added to rmfiles, # add $file without .exe func_append rmfiles " $file" ;; esac # Do a test to see if this is a libtool program. if func_ltwrapper_p "$file"; then if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" relink_command= func_source $func_ltwrapper_scriptname_result func_append rmfiles " $func_ltwrapper_scriptname_result" else relink_command= func_source $dir/$noexename fi # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles func_append rmfiles " $odir/$name $odir/${name}S.${objext}" if test "$fast_install" = yes && test -n "$relink_command"; then func_append rmfiles " $odir/lt-$name" fi if test "X$noexename" != "X$name" ; then func_append rmfiles " $odir/lt-${noexename}.c" fi fi fi ;; esac func_show_eval "$RM $rmfiles" 'exit_status=1' done # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then func_show_eval "rmdir $dir >/dev/null 2>&1" fi done exit $exit_status } { test "$opt_mode" = uninstall || test "$opt_mode" = clean; } && func_mode_uninstall ${1+"$@"} test -z "$opt_mode" && { help="$generic_help" func_fatal_help "you must specify a MODE" } test -z "$exec_cmd" && \ func_fatal_help "invalid operation mode \`$opt_mode'" if test -n "$exec_cmd"; then eval exec "$exec_cmd" exit $EXIT_FAILURE fi exit $exit_status # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared build_libtool_libs=no build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: # vi:sw=2 Heimdall-1.4.1/libpit/m4/000077500000000000000000000000001234253036400150415ustar00rootroot00000000000000Heimdall-1.4.1/libpit/m4/libtool.m4000066400000000000000000010572161234253036400167630ustar00rootroot00000000000000# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. m4_define([_LT_COPYING], [dnl # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ]) # serial 57 LT_INIT # LT_PREREQ(VERSION) # ------------------ # Complain and exit if this libtool version is less that VERSION. m4_defun([LT_PREREQ], [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, [m4_default([$3], [m4_fatal([Libtool version $1 or higher is required], 63)])], [$2])]) # _LT_CHECK_BUILDDIR # ------------------ # Complain if the absolute build directory name contains unusual characters m4_defun([_LT_CHECK_BUILDDIR], [case `pwd` in *\ * | *\ *) AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; esac ]) # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LTDL_INIT])dnl m4_require([_LT_CHECK_BUILDDIR])dnl dnl Autoconf doesn't catch unexpanded LT_ macros by default: m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 dnl unless we require an AC_DEFUNed macro: AC_REQUIRE([LTOPTIONS_VERSION])dnl AC_REQUIRE([LTSUGAR_VERSION])dnl AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([LTOBSOLETE_VERSION])dnl m4_require([_LT_PROG_LTMAIN])dnl _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl _LT_SETUP # Only expand once: m4_define([LT_INIT]) ])# LT_INIT # Old names: AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PROG_LIBTOOL], []) dnl AC_DEFUN([AM_PROG_LIBTOOL], []) # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. m4_defun([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` ]) # _LT_FILEUTILS_DEFAULTS # ---------------------- # It is okay to use these file commands and assume they have been set # sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. m4_defun([_LT_FILEUTILS_DEFAULTS], [: ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} ])# _LT_FILEUTILS_DEFAULTS # _LT_SETUP # --------- m4_defun([_LT_SETUP], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl dnl _LT_DECL([], [build_alias], [0], [The build system])dnl _LT_DECL([], [build], [0])dnl _LT_DECL([], [build_os], [0])dnl dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl dnl AC_REQUIRE([AC_PROG_LN_S])dnl test -z "$LN_S" && LN_S="ln -s" _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl dnl AC_REQUIRE([LT_CMD_MAX_LEN])dnl _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl m4_require([_LT_CMD_RELOAD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_WITH_SYSROOT])dnl _LT_CONFIG_LIBTOOL_INIT([ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi ]) if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi _LT_CHECK_OBJDIR m4_require([_LT_TAG_COMPILER])dnl case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then _LT_PATH_MAGIC fi ;; esac # Use C for the default configuration in the libtool script LT_SUPPORTED_TAG([CC]) _LT_LANG_C_CONFIG _LT_LANG_DEFAULT_CONFIG _LT_CONFIG_COMMANDS ])# _LT_SETUP # _LT_PREPARE_SED_QUOTE_VARS # -------------------------- # Define a few sed substitution that help us do robust quoting. m4_defun([_LT_PREPARE_SED_QUOTE_VARS], [# Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([["`\\]]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ]) # _LT_PROG_LTMAIN # --------------- # Note that this code is called both from `configure', and `config.status' # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, # `config.status' has no value for ac_aux_dir unless we are using Automake, # so we pass a copy along to make sure it has a sensible value anyway. m4_defun([_LT_PROG_LTMAIN], [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) ltmain="$ac_aux_dir/ltmain.sh" ])# _LT_PROG_LTMAIN ## ------------------------------------- ## ## Accumulate code for creating libtool. ## ## ------------------------------------- ## # So that we can recreate a full libtool script including additional # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS # in macros and then make a single call at the end using the `libtool' # label. # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) # ---------------------------------------- # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL_INIT], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_INIT], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_INIT]) # _LT_CONFIG_LIBTOOL([COMMANDS]) # ------------------------------ # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) # ----------------------------------------------------- m4_defun([_LT_CONFIG_SAVE_COMMANDS], [_LT_CONFIG_LIBTOOL([$1]) _LT_CONFIG_LIBTOOL_INIT([$2]) ]) # _LT_FORMAT_COMMENT([COMMENT]) # ----------------------------- # Add leading comment marks to the start of each line, and a trailing # full-stop to the whole comment if one is not present already. m4_define([_LT_FORMAT_COMMENT], [m4_ifval([$1], [ m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) )]) ## ------------------------ ## ## FIXME: Eliminate VARNAME ## ## ------------------------ ## # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) # ------------------------------------------------------------------- # CONFIGNAME is the name given to the value in the libtool script. # VARNAME is the (base) name used in the configure script. # VALUE may be 0, 1 or 2 for a computed quote escaped value based on # VARNAME. Any other value will be used directly. m4_define([_LT_DECL], [lt_if_append_uniq([lt_decl_varnames], [$2], [, ], [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], [m4_ifval([$1], [$1], [$2])]) lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) m4_ifval([$4], [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) lt_dict_add_subkey([lt_decl_dict], [$2], [tagged?], [m4_ifval([$5], [yes], [no])])]) ]) # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) # -------------------------------------------------------- m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_tag_varnames], [_lt_decl_filter([tagged?], [yes], $@)]) # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) # --------------------------------------------------------- m4_define([_lt_decl_filter], [m4_case([$#], [0], [m4_fatal([$0: too few arguments: $#])], [1], [m4_fatal([$0: too few arguments: $#: $1])], [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], [lt_dict_filter([lt_decl_dict], $@)])[]dnl ]) # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) # -------------------------------------------------- m4_define([lt_decl_quote_varnames], [_lt_decl_filter([value], [1], $@)]) # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_dquote_varnames], [_lt_decl_filter([value], [2], $@)]) # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_varnames_tagged], [m4_assert([$# <= 2])dnl _$0(m4_quote(m4_default([$1], [[, ]])), m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) m4_define([_lt_decl_varnames_tagged], [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) # lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_all_varnames], [_$0(m4_quote(m4_default([$1], [[, ]])), m4_if([$2], [], m4_quote(lt_decl_varnames), m4_quote(m4_shift($@))))[]dnl ]) m4_define([_lt_decl_all_varnames], [lt_join($@, lt_decl_varnames_tagged([$1], lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl ]) # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ # Quote a variable value, and forward it to `config.status' so that its # declaration there will have the same value as in `configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) # _LT_CONFIG_STATUS_DECLARATIONS # ------------------------------ # We delimit libtool config variables with single quotes, so when # we write them to config.status, we have to be sure to quote all # embedded single quotes properly. In configure, this macro expands # each variable declared with _LT_DECL (and _LT_TAGDECL) into: # # ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAGS # ---------------- # Output comment and list of tags supported by the script m4_defun([_LT_LIBTOOL_TAGS], [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl available_tags="_LT_TAGS"dnl ]) # _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) # ----------------------------------- # Extract the dictionary values for VARNAME (optionally with TAG) and # expand to a commented shell variable setting: # # # Some comment about what VAR is for. # visible_name=$lt_internal_name m4_define([_LT_LIBTOOL_DECLARE], [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [description])))[]dnl m4_pushdef([_libtool_name], m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), [0], [_libtool_name=[$]$1], [1], [_libtool_name=$lt_[]$1], [2], [_libtool_name=$lt_[]$1], [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl ]) # _LT_LIBTOOL_CONFIG_VARS # ----------------------- # Produce commented declarations of non-tagged libtool config variables # suitable for insertion in the LIBTOOL CONFIG section of the `libtool' # script. Tagged libtool config variables (even for the LIBTOOL CONFIG # section) are produced by _LT_LIBTOOL_TAG_VARS. m4_defun([_LT_LIBTOOL_CONFIG_VARS], [m4_foreach([_lt_var], m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAG_VARS(TAG) # ------------------------- m4_define([_LT_LIBTOOL_TAG_VARS], [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) # _LT_TAGVAR(VARNAME, [TAGNAME]) # ------------------------------ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) # _LT_CONFIG_COMMANDS # ------------------- # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of # variables for single and double quote escaping we saved from calls # to _LT_DECL, we can put quote escaped variables declarations # into `config.status', and then the shell code to quote escape them in # for loops in `config.status'. Finally, any additional code accumulated # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. m4_defun([_LT_CONFIG_COMMANDS], [AC_PROVIDE_IFELSE([LT_OUTPUT], dnl If the libtool generation code has been placed in $CONFIG_LT, dnl instead of duplicating it all over again into config.status, dnl then we will have config.status run $CONFIG_LT later, so it dnl needs to know what name is stored there: [AC_CONFIG_COMMANDS([libtool], [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], dnl If the libtool generation code is destined for config.status, dnl expand the accumulated commands and init code now: [AC_CONFIG_COMMANDS([libtool], [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) ])#_LT_CONFIG_COMMANDS # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], [ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' _LT_CONFIG_STATUS_DECLARATIONS LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$[]1 _LTECHO_EOF' } # Quote evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_quote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_dquote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done _LT_OUTPUT_LIBTOOL_INIT ]) # _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) # ------------------------------------ # Generate a child script FILE with all initialization necessary to # reuse the environment learned by the parent script, and make the # file executable. If COMMENT is supplied, it is inserted after the # `#!' sequence but before initialization text begins. After this # macro, additional text can be appended to FILE to form the body of # the child script. The macro ends with non-zero status if the # file could not be fully written (such as if the disk is full). m4_ifdef([AS_INIT_GENERATED], [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], [m4_defun([_LT_GENERATED_FILE_INIT], [m4_require([AS_PREPARE])]dnl [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl [lt_write_fail=0 cat >$1 <<_ASEOF || lt_write_fail=1 #! $SHELL # Generated by $as_me. $2 SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$1 <<\_ASEOF || lt_write_fail=1 AS_SHELL_SANITIZE _AS_PREPARE exec AS_MESSAGE_FD>&1 _ASEOF test $lt_write_fail = 0 && chmod +x $1[]dnl m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT # LT_OUTPUT # --------- # This macro allows early generation of the libtool script (before # AC_OUTPUT is called), incase it is used in configure for compilation # tests. AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} AC_MSG_NOTICE([creating $CONFIG_LT]) _LT_GENERATED_FILE_INIT(["$CONFIG_LT"], [# Run this file to recreate a libtool stub with the current configuration.]) cat >>"$CONFIG_LT" <<\_LTEOF lt_cl_silent=false exec AS_MESSAGE_LOG_FD>>config.log { echo AS_BOX([Running $as_me.]) } >&AS_MESSAGE_LOG_FD lt_cl_help="\ \`$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. Usage: $[0] [[OPTIONS]] -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files Report bugs to ." lt_cl_version="\ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. Copyright (C) 2011 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." while test $[#] != 0 do case $[1] in --version | --v* | -V ) echo "$lt_cl_version"; exit 0 ;; --help | --h* | -h ) echo "$lt_cl_help"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --quiet | --q* | --silent | --s* | -q ) lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] Try \`$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] Try \`$[0] --help' for more information.]) ;; esac shift done if $lt_cl_silent; then exec AS_MESSAGE_FD>/dev/null fi _LTEOF cat >>"$CONFIG_LT" <<_LTEOF _LT_OUTPUT_LIBTOOL_COMMANDS_INIT _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AC_MSG_NOTICE([creating $ofile]) _LT_OUTPUT_LIBTOOL_COMMANDS AS_EXIT(0) _LTEOF chmod +x "$CONFIG_LT" # configure is writing to config.log, but config.lt does its own redirection, # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. lt_cl_success=: test "$silent" = yes && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec AS_MESSAGE_LOG_FD>>config.log $lt_cl_success || AS_EXIT(1) ])# LT_OUTPUT # _LT_CONFIG(TAG) # --------------- # If TAG is the built-in tag, create an initial libtool script with a # default configuration from the untagged config vars. Otherwise add code # to config.status for appending the configuration named by TAG from the # matching tagged config vars. m4_defun([_LT_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_CONFIG_SAVE_COMMANDS([ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl m4_if(_LT_TAG, [C], [ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # _LT_COPYING _LT_LIBTOOL_TAGS # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac _LT_PROG_LTMAIN # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) _LT_PROG_REPLACE_SHELLFNS mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ], [cat <<_LT_EOF >> "$ofile" dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded dnl in a comment (ie after a #). # ### BEGIN LIBTOOL TAG CONFIG: $1 _LT_LIBTOOL_TAG_VARS(_LT_TAG) # ### END LIBTOOL TAG CONFIG: $1 _LT_EOF ])dnl /m4_if ], [m4_if([$1], [], [ PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile'], []) ])dnl /_LT_CONFIG_SAVE_COMMANDS ])# _LT_CONFIG # LT_SUPPORTED_TAG(TAG) # --------------------- # Trace this macro to discover what tags are supported by the libtool # --tag option, using: # autoconf --trace 'LT_SUPPORTED_TAG:$1' AC_DEFUN([LT_SUPPORTED_TAG], []) # C support is built-in for now m4_define([_LT_LANG_C_enabled], []) m4_define([_LT_TAGS], []) # LT_LANG(LANG) # ------------- # Enable libtool support for the given language if not already enabled. AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], [Go], [_LT_LANG(GO)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], [Windows Resource], [_LT_LANG(RC)], [m4_ifdef([_LT_LANG_]$1[_CONFIG], [_LT_LANG($1)], [m4_fatal([$0: unsupported language: "$1"])])])dnl ])# LT_LANG # _LT_LANG(LANGNAME) # ------------------ m4_defun([_LT_LANG], [m4_ifdef([_LT_LANG_]$1[_enabled], [], [LT_SUPPORTED_TAG([$1])dnl m4_append([_LT_TAGS], [$1 ])dnl m4_define([_LT_LANG_]$1[_enabled], [])dnl _LT_LANG_$1_CONFIG($1)])dnl ])# _LT_LANG m4_ifndef([AC_PROG_GO], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_GO. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_GO], [AC_LANG_PUSH(Go)dnl AC_ARG_VAR([GOC], [Go compiler command])dnl AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl _AC_ARG_VAR_LDFLAGS()dnl AC_CHECK_TOOL(GOC, gccgo) if test -z "$GOC"; then if test -n "$ac_tool_prefix"; then AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) fi fi if test -z "$GOC"; then AC_CHECK_PROG(GOC, gccgo, gccgo, false) fi ])#m4_defun ])#m4_ifndef # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], [AC_PROVIDE_IFELSE([AC_PROG_CXX], [LT_LANG(CXX)], [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) AC_PROVIDE_IFELSE([AC_PROG_F77], [LT_LANG(F77)], [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) AC_PROVIDE_IFELSE([AC_PROG_FC], [LT_LANG(FC)], [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal dnl pulling things in needlessly. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([LT_PROG_GCJ], [LT_LANG(GCJ)], [m4_ifdef([AC_PROG_GCJ], [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([A][M_PROG_GCJ], [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) AC_PROVIDE_IFELSE([AC_PROG_GO], [LT_LANG(GO)], [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) ])# _LT_LANG_DEFAULT_CONFIG # Obsolete macros: AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_CXX], []) dnl AC_DEFUN([AC_LIBTOOL_F77], []) dnl AC_DEFUN([AC_LIBTOOL_FC], []) dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) dnl AC_DEFUN([AC_LIBTOOL_RC], []) # _LT_TAG_COMPILER # ---------------- m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_TAG_COMPILER # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. m4_defun([_LT_COMPILER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. m4_defun([_LT_LINKER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ])# _LT_LINKER_BOILERPLATE # _LT_REQUIRED_DARWIN_CHECKS # ------------------------- m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ case $host_os in rhapsody* | darwin*) AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) AC_CHECK_TOOL([LIPO], [lipo], [:]) AC_CHECK_TOOL([OTOOL], [otool], [:]) AC_CHECK_TOOL([OTOOL64], [otool64], [:]) _LT_DECL([], [DSYMUTIL], [1], [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) _LT_DECL([], [NMEDIT], [1], [Tool to change global to local symbols on Mac OS X]) _LT_DECL([], [LIPO], [1], [Tool to manipulate fat objects and archives on Mac OS X]) _LT_DECL([], [OTOOL], [1], [ldd/readelf like tool for Mach-O binaries on Mac OS X]) _LT_DECL([], [OTOOL64], [1], [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -rf libconftest.dylib* rm -f conftest.* fi]) AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) LDFLAGS="$save_LDFLAGS" ]) AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], [lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then lt_cv_ld_force_load=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM ]) case $host_os in rhapsody* | darwin1.[[012]]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[[012]]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ]) # _LT_DARWIN_LINKER_FEATURES([TAG]) # --------------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ m4_require([_LT_REQUIRED_DARWIN_CHECKS]) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported if test "$lt_cv_ld_force_load" = "yes"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) else _LT_TAGVAR(whole_archive_flag_spec, $1)='' fi _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" m4_if([$1], [CXX], [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi ],[]) else _LT_TAGVAR(ld_shlibs, $1)=no fi ]) # _LT_SYS_MODULE_PATH_AIX([TAGNAME]) # ---------------------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. # Store the results from the different compilers for each TAGNAME. # Allow to override them for all tags through lt_cv_aix_libpath. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ lt_aix_libpath_sed='[ /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }]' _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi],[]) if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" fi ]) aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) fi ])# _LT_SYS_MODULE_PATH_AIX # _LT_SHELL_INIT(ARG) # ------------------- m4_define([_LT_SHELL_INIT], [m4_divert_text([M4SH-INIT], [$1 ])])# _LT_SHELL_INIT # _LT_PROG_ECHO_BACKSLASH # ----------------------- # Find how we can fake an echo command that does not interpret backslash. # In particular, with Autoconf 2.60 or later we add some code to the start # of the generated configure script which will find a shell with a builtin # printf (which we can use as an echo command). m4_defun([_LT_PROG_ECHO_BACKSLASH], [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO AC_MSG_CHECKING([how to print strings]) # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $[]1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } case "$ECHO" in printf*) AC_MSG_RESULT([printf]) ;; print*) AC_MSG_RESULT([print -r]) ;; *) AC_MSG_RESULT([cat]) ;; esac m4_ifdef([_AS_DETECT_SUGGESTED], [_AS_DETECT_SUGGESTED([ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test "X`printf %s $ECHO`" = "X$ECHO" \ || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) ])# _LT_PROG_ECHO_BACKSLASH # _LT_WITH_SYSROOT # ---------------- AC_DEFUN([_LT_WITH_SYSROOT], [AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], [ --with-sysroot[=DIR] Search for dependent libraries within DIR (or the compiler's sysroot if not specified).], [], [with_sysroot=no]) dnl lt_sysroot will always be passed unquoted. We quote it here dnl in case the user passed a directory name. lt_sysroot= case ${with_sysroot} in #( yes) if test "$GCC" = yes; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) AC_MSG_RESULT([${with_sysroot}]) AC_MSG_ERROR([The sysroot must be an absolute path.]) ;; esac AC_MSG_RESULT([${lt_sysroot:-no}]) _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl [dependent libraries, and in which our libraries should be installed.])]) # _LT_ENABLE_LOCK # --------------- m4_defun([_LT_ENABLE_LOCK], [AC_ARG_ENABLE([libtool-lock], [AS_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; *-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD="${LD-ld}_sol2" fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" ])# _LT_ENABLE_LOCK # _LT_PROG_AR # ----------- m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} : ${AR_FLAGS=cru} _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], [lt_cv_ar_at_file=no AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([lt_ar_try]) if test "$ac_status" -eq 0; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a AC_TRY_EVAL([lt_ar_try]) if test "$ac_status" -ne 0; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a ]) ]) if test "x$lt_cv_ar_at_file" = xno; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi _LT_DECL([], [archiver_list_spec], [1], [How to feed a file listing to the archiver]) ])# _LT_PROG_AR # _LT_CMD_OLD_ARCHIVE # ------------------- m4_defun([_LT_CMD_OLD_ARCHIVE], [_LT_PROG_AR AC_CHECK_TOOL(STRIP, strip, :) test -z "$STRIP" && STRIP=: _LT_DECL([], [STRIP], [1], [A symbol stripping program]) AC_CHECK_TOOL(RANLIB, ranlib, :) test -z "$RANLIB" && RANLIB=: _LT_DECL([], [RANLIB], [1], [Commands used to install an old-style archive]) # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac _LT_DECL([], [old_postinstall_cmds], [2]) _LT_DECL([], [old_postuninstall_cmds], [2]) _LT_TAGDECL([], [old_archive_cmds], [2], [Commands used to build an old-style archive]) _LT_DECL([], [lock_old_archive_extraction], [0], [Whether to use a lock for old archive extraction]) ])# _LT_CMD_OLD_ARCHIVE # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi $RM conftest* ]) if test x"[$]$2" = xyes; then m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) fi ])# _LT_COMPILER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------- # Check whether the given linker option works AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi else $2=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" ]) if test x"[$]$2" = xyes; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) fi ])# _LT_LINKER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) # LT_CMD_MAX_LEN #--------------- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl # find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ]) if test -n $lt_cv_sys_max_cmd_len ; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi max_cmd_len=$lt_cv_sys_max_cmd_len _LT_DECL([], [max_cmd_len], [0], [What is the maximum length of a command?]) ])# LT_CMD_MAX_LEN # Old name: AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) # _LT_HEADER_DLFCN # ---------------- m4_defun([_LT_HEADER_DLFCN], [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl ])# _LT_HEADER_DLFCN # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ---------------------------------------------------------------- m4_defun([_LT_TRY_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "$cross_compiling" = yes; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF [#line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; }] _LT_EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_TRY_DLOPEN_SELF # LT_SYS_DLOPEN_SELF # ------------------ AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen="shl_load"], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen="dlopen"], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) ]) ]) ]) ]) ]) ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi _LT_DECL([dlopen_support], [enable_dlopen], [0], [Whether dlopen is supported]) _LT_DECL([dlopen_self], [enable_dlopen_self], [0], [Whether dlopen of programs is supported]) _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], [Whether dlopen of statically linked programs is supported]) ])# LT_SYS_DLOPEN_SELF # Old name: AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) # _LT_COMPILER_C_O([TAGNAME]) # --------------------------- # Check to see if options -c and -o are simultaneously supported by compiler. # This macro does not hard code the compiler like AC_PROG_CC_C_O. m4_defun([_LT_COMPILER_C_O], [m4_require([_LT_DECL_SED])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ]) _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], [Does compiler simultaneously support -c and -o options?]) ])# _LT_COMPILER_C_O # _LT_COMPILER_FILE_LOCKS([TAGNAME]) # ---------------------------------- # Check to see if we can do hard links to lock some files if needed m4_defun([_LT_COMPILER_FILE_LOCKS], [m4_require([_LT_ENABLE_LOCK])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_COMPILER_C_O([$1]) hard_links="nottested" if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test "$hard_links" = no; then AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) ])# _LT_COMPILER_FILE_LOCKS # _LT_CHECK_OBJDIR # ---------------- m4_defun([_LT_CHECK_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir _LT_DECL([], [objdir], [0], [The name of the directory that contains temporary libtool files])dnl m4_pattern_allow([LT_OBJDIR])dnl AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", [Define to the sub-directory in which libtool stores uninstalled libraries.]) ])# _LT_CHECK_OBJDIR # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) # -------------------------------------- # Check hardcoding attributes. m4_defun([_LT_LINKER_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_TAGVAR(hardcode_action, $1)= if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || test -n "$_LT_TAGVAR(runpath_var, $1)" || test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then # We can hardcode non-existent directories. if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then # Linking always hardcodes the temporary library directory. _LT_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi _LT_TAGDECL([], [hardcode_action], [0], [How to hardcode a shared library path into an executable]) ])# _LT_LINKER_HARDCODE_LIBPATH # _LT_CMD_STRIPLIB # ---------------- m4_defun([_LT_CMD_STRIPLIB], [m4_require([_LT_DECL_EGREP]) striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) ])# _LT_CMD_STRIPLIB # _LT_SYS_DYNAMIC_LINKER([TAG]) # ----------------------------- # PORTME Fill in your ld.so characteristics m4_defun([_LT_SYS_DYNAMIC_LINKER], [AC_REQUIRE([AC_CANONICAL_HOST])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; *) lt_sed_strip_eq="s,=/,/,g" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[[4-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[[45]]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' library_names_spec='${libname}.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec="$LIB" if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[23]].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[[3-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], [lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], [lt_cv_shlibpath_overrides_runpath=yes])]) LDFLAGS=$save_LDFLAGS libdir=$save_libdir ]) shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[[89]] | openbsd2.[[89]].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and restored at link time]) _LT_DECL([], [need_lib_prefix], [0], [Do we need the "lib" prefix for modules?]) _LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) _LT_DECL([], [version_type], [0], [Library versioning type]) _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) _LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) _LT_DECL([], [shlibpath_overrides_runpath], [0], [Is shlibpath searched before the hard-coded library search path?]) _LT_DECL([], [libname_spec], [1], [Format of library name prefix]) _LT_DECL([], [library_names_spec], [1], [[List of archive names. First name is the real one, the rest are links. The last name is the one that the linker finds with -lNAME]]) _LT_DECL([], [soname_spec], [1], [[The coded name of the library, if different from the real name]]) _LT_DECL([], [install_override_mode], [1], [Permission mode override for installation of shared libraries]) _LT_DECL([], [postinstall_cmds], [2], [Command to use after installation of a shared archive]) _LT_DECL([], [postuninstall_cmds], [2], [Command to use after uninstallation of a shared archive]) _LT_DECL([], [finish_cmds], [2], [Commands used to finish a libtool library installation in a directory]) _LT_DECL([], [finish_eval], [1], [[As "finish_cmds", except a single script fragment to be evaled but not shown]]) _LT_DECL([], [hardcode_into_libs], [0], [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) _LT_DECL([], [sys_lib_dlsearch_path_spec], [2], [Run-time system search path for libraries]) ])# _LT_SYS_DYNAMIC_LINKER # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- # find a file program which can recognize shared library AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$1; then lt_cv_path_MAGIC_CMD="$ac_dir/$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac]) MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi _LT_DECL([], [MAGIC_CMD], [0], [Used to examine libraries when file_magic_cmd begins with "file"])dnl ])# _LT_PATH_TOOL_PREFIX # Old name: AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) # _LT_PATH_MAGIC # -------------- # find a file program which can recognize a shared library m4_defun([_LT_PATH_MAGIC], [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# _LT_PATH_MAGIC # LT_PATH_LD # ---------- # find the pathname to the GNU or non-GNU linker AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PROG_ECHO_BACKSLASH])dnl AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test "$withval" = no || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown _LT_DECL([], [deplibs_check_method], [1], [Method to check whether dependent libraries are shared objects]) _LT_DECL([], [file_magic_cmd], [1], [Command to use when deplibs_check_method = "file_magic"]) _LT_DECL([], [file_magic_glob], [1], [How to find potential files when deplibs_check_method = "file_magic"]) _LT_DECL([], [want_nocaseglob], [1], [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) ])# _LT_CHECK_MAGIC_METHOD # LT_PATH_NM # ---------- # find the pathname to a BSD- or MS-compatible name lister AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi]) if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols" ;; *) DUMPBIN=: ;; esac fi AC_SUBST([DUMPBIN]) if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm AC_SUBST([NM]) _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], [lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) cat conftest.out >&AS_MESSAGE_LOG_FD if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest*]) ])# LT_PATH_NM # Old names: AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_PROG_NM], []) dnl AC_DEFUN([AC_PROG_NM], []) # _LT_CHECK_SHAREDLIB_FROM_LINKLIB # -------------------------------- # how to determine the name of the shared library # associated with a specific link library. # -- PORTME fill in with the dynamic library characteristics m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], [m4_require([_LT_DECL_EGREP]) m4_require([_LT_DECL_OBJDUMP]) m4_require([_LT_DECL_DLLTOOL]) AC_CACHE_CHECK([how to associate runtime and link libraries], lt_cv_sharedlib_from_linklib_cmd, [lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh # decide which to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd="$ECHO" ;; esac ]) sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO _LT_DECL([], [sharedlib_from_linklib_cmd], [1], [Command to associate shared and link libraries]) ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB # _LT_PATH_MANIFEST_TOOL # ---------------------- # locate the manifest tool m4_defun([_LT_PATH_MANIFEST_TOOL], [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], [lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&AS_MESSAGE_LOG_FD if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest*]) if test "x$lt_cv_path_mainfest_tool" != xyes; then MANIFEST_TOOL=: fi _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl ])# _LT_PATH_MANIFEST_TOOL # LT_LIB_M # -------- # check for math library AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM="-lm") ;; esac AC_SUBST([LIBM]) ])# LT_LIB_M # Old name: AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_CHECK_LIBM], []) # _LT_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------- m4_defun([_LT_COMPILER_NO_RTTI], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test "$GCC" = yes; then case $cc_basename in nvcc*) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; *) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; esac _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], [Compiler flag to turn off builtin functions]) ])# _LT_COMPILER_NO_RTTI # _LT_CMD_GLOBAL_SYMBOLS # ---------------------- m4_defun([_LT_CMD_GLOBAL_SYMBOLS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([LT_PATH_NM])dnl AC_REQUIRE([LT_PATH_LD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_TAG_COMPILER])dnl # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[[ABCDGISTW]]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[[ABCDEGRST]]' fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGIRSTW]]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT@&t@_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT@&t@_DLSYM_CONST #else # define LT@&t@_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT@&t@_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[[]] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then nm_file_list_spec='@' fi _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], [Transform the output of nm in a proper C declaration]) _LT_DECL([global_symbol_to_c_name_address], [lt_cv_sys_global_symbol_to_c_name_address], [1], [Transform the output of nm in a C name address pair]) _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) _LT_DECL([], [nm_file_list_spec], [1], [Specify filename containing input files for $NM]) ]) # _LT_CMD_GLOBAL_SYMBOLS # _LT_COMPILER_PIC([TAGNAME]) # --------------------------- m4_defun([_LT_COMPILER_PIC], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_wl, $1)= _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)= m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix[[4-9]]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; dgux*) case $cc_basename in ec++*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL 8.0, 9.0 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd*) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx*) # Digital/Compaq C++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc*) # Lucid _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test "$GCC" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; hpux9* | hpux10* | hpux11*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # Lahey Fortran 8.1. lf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' ;; nagfor*) # NAG Fortran compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; *Sun\ F* | *Sun*Fortran*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; *Intel*\ [[CF]]*Compiler*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; *Portland\ Group*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; esac ;; newsos6) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; rdos*) _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; sunos4*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; unicos*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; uts4*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" ;; esac AC_CACHE_CHECK([for $compiler option to produce PIC], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], [Additional compiler flags for building library objects]) _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], [How to pass a linker flag through the compiler]) # # Check to make sure the static flag actually works. # wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], [Compiler flag to prevent dynamic linking]) ])# _LT_COMPILER_PIC # _LT_LINKER_SHLIBS([TAGNAME]) # ---------------------------- # See if the linker supports building shared libraries. m4_defun([_LT_LINKER_SHLIBS], [AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) m4_if([$1], [CXX], [ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global defined # symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; cygwin* | mingw* | cegcc*) case $cc_basename in cl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] ;; esac ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac ], [ runpath_var= _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_cmds, $1)= _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(old_archive_from_new_cmds, $1)= _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_TAGVAR(thread_safe_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test "$with_gnu_ld" = yes; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test "$lt_use_gnu_ld_interface" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no case `$LD -v 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; sunos4*) _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then runpath_var= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_TAGVAR(hardcode_minus_L, $1)=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global # defined symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; bsdi[[45]]*) _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes fi ;; hpux11*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) m4_if($1, [], [ # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) _LT_LINKER_OPTION([if $CC understands -b], _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) ;; esac fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], [lt_cv_irix_exported_symbol], [save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" AC_LINK_IFELSE( [AC_LANG_SOURCE( [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], [C++], [[int foo (void) { return 0; }]], [Fortran 77], [[ subroutine foo end]], [Fortran], [[ subroutine foo end]])])], [lt_cv_irix_exported_symbol=yes], [lt_cv_irix_exported_symbol=no]) LDFLAGS="$save_LDFLAGS"]) if test "$lt_cv_irix_exported_symbol" = yes; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes _LT_TAGVAR(link_all_deplibs, $1)=yes ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' else case $host_os in openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(ld_shlibs, $1)=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' ;; esac fi fi ]) AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl _LT_DECL([], [extract_expsyms_cmds], [2], [The commands to extract the exported symbol list from a shared archive]) # # Do we need to explicitly link libc? # case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_TAGVAR(archive_cmds_need_lc, $1)=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $_LT_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_CACHE_CHECK([whether -lc should be explicitly linked in], [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), [$RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) _LT_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) then lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no else lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* ]) _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) ;; esac fi ;; esac _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], [Whether or not to add -lc for building shared libraries]) _LT_TAGDECL([allow_libtool_libs_with_static_runtimes], [enable_shared_with_static_runtimes], [0], [Whether or not to disallow shared libs when runtime libs are static]) _LT_TAGDECL([], [export_dynamic_flag_spec], [1], [Compiler flag to allow reflexive dlopens]) _LT_TAGDECL([], [whole_archive_flag_spec], [1], [Compiler flag to generate shared objects directly from archives]) _LT_TAGDECL([], [compiler_needs_object], [1], [Whether the compiler copes with passing no objects directly]) _LT_TAGDECL([], [old_archive_from_new_cmds], [2], [Create an old-style archive from a shared archive]) _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], [Create a temporary old-style archive to link instead of a shared archive]) _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) _LT_TAGDECL([], [archive_expsym_cmds], [2]) _LT_TAGDECL([], [module_cmds], [2], [Commands used to build a loadable module if different from building a shared archive.]) _LT_TAGDECL([], [module_expsym_cmds], [2]) _LT_TAGDECL([], [with_gnu_ld], [1], [Whether we are building with GNU ld or not]) _LT_TAGDECL([], [allow_undefined_flag], [1], [Flag that allows shared libraries with undefined symbols to be built]) _LT_TAGDECL([], [no_undefined_flag], [1], [Flag that enforces no undefined symbols]) _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_direct_absolute], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary and the resulting library dependency is "absolute", i.e impossible to change by setting ${shlibpath_var} if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_shlibpath_var], [0], [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_automatic], [0], [Set to "yes" if building a shared library automatically hardcodes DIR into the library and all subsequent libraries and executables linked against it]) _LT_TAGDECL([], [inherit_rpath], [0], [Set to yes if linker adds runtime paths of dependent libraries to runtime path list]) _LT_TAGDECL([], [link_all_deplibs], [0], [Whether libtool must link a program against all its dependency libraries]) _LT_TAGDECL([], [always_export_symbols], [0], [Set to "yes" if exported symbols are required]) _LT_TAGDECL([], [export_symbols_cmds], [2], [The commands to list exported symbols]) _LT_TAGDECL([], [exclude_expsyms], [1], [Symbols that should not be listed in the preloaded symbols]) _LT_TAGDECL([], [include_expsyms], [1], [Symbols that must always be exported]) _LT_TAGDECL([], [prelink_cmds], [2], [Commands necessary for linking programs (against libraries) with templates]) _LT_TAGDECL([], [postlink_cmds], [2], [Commands necessary for finishing linking programs]) _LT_TAGDECL([], [file_list_spec], [1], [Specify filename containing input files]) dnl FIXME: Not yet implemented dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], dnl [Compiler flag to generate thread safe objects]) ])# _LT_LINKER_SHLIBS # _LT_LANG_C_CONFIG([TAG]) # ------------------------ # Ensure that the configuration variables for a C compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_C_CONFIG], [m4_require([_LT_DECL_EGREP])dnl lt_save_CC="$CC" AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_TAG_COMPILER # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) LT_SYS_DLOPEN_SELF _LT_CMD_STRIPLIB # Report which library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_CONFIG($1) fi AC_LANG_POP CC="$lt_save_CC" ])# _LT_LANG_C_CONFIG # _LT_LANG_CXX_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_CXX_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP else _lt_caught_CXX_error=yes fi AC_LANG_PUSH(C++) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} CFLAGS=$CXXFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration LT_PATH_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an empty # executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared # libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl*) # Native MSVC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ func_to_tool_file "$lt_outputfile"~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes ;; gnu*) ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; hpux9*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) _LT_TAGVAR(ld_shlibs, $1)=yes ;; openbsd2*) # C++ shared libraries are fairly broken _LT_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; cxx*) case $host in osf3*) _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; esac _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ '"$_LT_TAGVAR(old_archive_cmds, $1)" _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ '"$_LT_TAGVAR(reload_cmds, $1)" ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(GCC, $1)="$GXX" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes AC_LANG_POP ])# _LT_LANG_CXX_CONFIG # _LT_FUNC_STRIPNAME_CNF # ---------------------- # func_stripname_cnf prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # # This function is identical to the (non-XSI) version of func_stripname, # except this one can be used by m4 code that may be executed by configure, # rather than the libtool script. m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl AC_REQUIRE([_LT_DECL_SED]) AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) func_stripname_cnf () { case ${2} in .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; esac } # func_stripname_cnf ])# _LT_FUNC_STRIPNAME_CNF # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. m4_defun([_LT_SYS_HIDDEN_LIBDEPS], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl # Dependencies to place before and after the object being linked: _LT_TAGVAR(predep_objects, $1)= _LT_TAGVAR(postdep_objects, $1)= _LT_TAGVAR(predeps, $1)= _LT_TAGVAR(postdeps, $1)= _LT_TAGVAR(compiler_lib_search_path, $1)= dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF int a; void foo (void) { a = 0; } _LT_EOF ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer*4 a a=0 return end _LT_EOF ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer a a=0 return end _LT_EOF ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF public class foo { private int a; public void bar (void) { a = 0; } }; _LT_EOF ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF package foo func foo() { } _LT_EOF ]) _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case ${prev}${p} in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" || test $p = "-R"; then prev=$p continue fi # Expand the sysroot to ease extracting the directories later. if test -z "$prev"; then case $p in -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac fi case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test "$pre_test_object_deps_done" = no; then case ${prev} in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" else _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$_LT_TAGVAR(postdeps, $1)"; then _LT_TAGVAR(postdeps, $1)="${prev}${p}" else _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" fi fi prev= ;; *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$_LT_TAGVAR(predep_objects, $1)"; then _LT_TAGVAR(predep_objects, $1)="$p" else _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then _LT_TAGVAR(postdep_objects, $1)="$p" else _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling $1 test program" fi $RM -f confest.$objext CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken m4_if([$1], [CXX], [case $host_os in interix[[3-9]]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. _LT_TAGVAR(predep_objects,$1)= _LT_TAGVAR(postdep_objects,$1)= _LT_TAGVAR(postdeps,$1)= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) case " $_LT_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac _LT_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi _LT_TAGDECL([], [compiler_lib_search_dirs], [1], [The directories searched by this compiler when creating a shared library]) _LT_TAGDECL([], [predep_objects], [1], [Dependencies to place before and after the objects being linked to create a shared library]) _LT_TAGDECL([], [postdep_objects], [1]) _LT_TAGDECL([], [predeps], [1]) _LT_TAGDECL([], [postdeps], [1]) _LT_TAGDECL([], [compiler_lib_search_path], [1], [The library search path used internally by the compiler when linking a shared library]) ])# _LT_SYS_HIDDEN_LIBDEPS # _LT_LANG_F77_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_F77_CONFIG], [AC_LANG_PUSH(Fortran 77) if test -z "$F77" || test "X$F77" = "Xno"; then _lt_disable_F77=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_F77" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${F77-"f77"} CFLAGS=$FFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) GCC=$G77 if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$G77" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC="$lt_save_CC" CFLAGS="$lt_save_CFLAGS" fi # test "$_lt_disable_F77" != yes AC_LANG_POP ])# _LT_LANG_F77_CONFIG # _LT_LANG_FC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_FC_CONFIG], [AC_LANG_PUSH(Fortran) if test -z "$FC" || test "X$FC" = "Xno"; then _lt_disable_FC=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for fc test sources. ac_ext=${ac_fc_srcext-f} # Object file extension for compiled fc test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_FC" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${FC-"f95"} CFLAGS=$FCFLAGS compiler=$CC GCC=$ac_cv_fc_compiler_gnu _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS fi # test "$_lt_disable_FC" != yes AC_LANG_POP ])# _LT_LANG_FC_CONFIG # _LT_LANG_GCJ_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Java Compiler compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_GCJ_CONFIG], [AC_REQUIRE([LT_PROG_GCJ])dnl AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GCJ-"gcj"} CFLAGS=$GCJFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GCJ_CONFIG # _LT_LANG_GO_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Go compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_GO_CONFIG], [AC_REQUIRE([LT_PROG_GO])dnl AC_LANG_SAVE # Source file extension for Go test sources. ac_ext=go # Object file extension for compiled Go test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="package main; func main() { }" # Code to be used in simple link tests lt_simple_link_test_code='package main; func main() { }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GOC-"gccgo"} CFLAGS=$GOFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" _LT_CC_BASENAME([$compiler]) # Go did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GO_CONFIG # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_RC_CONFIG], [AC_REQUIRE([LT_PROG_RC])dnl AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code="$lt_simple_compile_test_code" # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC= CC=${RC-"windres"} CFLAGS= compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes if test -n "$compiler"; then : _LT_CONFIG($1) fi GCC=$lt_save_GCC AC_LANG_RESTORE CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_RC_CONFIG # LT_PROG_GCJ # ----------- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) # Old name: AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_GCJ], []) # LT_PROG_GO # ---------- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) ]) # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) ]) # Old name: AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_RC], []) # _LT_DECL_EGREP # -------------- # If we don't have a new enough Autoconf to choose the best grep # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep _LT_DECL([], [GREP], [1], [A grep program that handles long lines]) _LT_DECL([], [EGREP], [1], [An ERE matcher]) _LT_DECL([], [FGREP], [1], [A literal string matcher]) dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) # _LT_DECL_OBJDUMP # -------------- # If we don't have a new enough Autoconf to choose the best objdump # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_OBJDUMP], [AC_CHECK_TOOL(OBJDUMP, objdump, false) test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) AC_SUBST([OBJDUMP]) ]) # _LT_DECL_DLLTOOL # ---------------- # Ensure DLLTOOL variable is set. m4_defun([_LT_DECL_DLLTOOL], [AC_CHECK_TOOL(DLLTOOL, dlltool, false) test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program]) AC_SUBST([DLLTOOL]) ]) # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" _LT_DECL([], [SED], [1], [A sed program that does not truncate output]) _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], [Sed that helps us avoid accidentally triggering echo(1) options like -n]) ])# _LT_DECL_SED m4_ifndef([AC_PROG_SED], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ])#AC_PROG_SED ])#m4_ifndef # Old name: AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_SED], []) # _LT_CHECK_SHELL_FEATURES # ------------------------ # Find out whether the shell is Bourne or XSI compatible, # or has some other useful features. m4_defun([_LT_CHECK_SHELL_FEATURES], [AC_MSG_CHECKING([whether the shell understands some XSI constructs]) # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,b/c, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes AC_MSG_RESULT([$xsi_shell]) _LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) AC_MSG_CHECKING([whether the shell understands "+="]) lt_shell_append=no ( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes AC_MSG_RESULT([$lt_shell_append]) _LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl ])# _LT_CHECK_SHELL_FEATURES # _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) # ------------------------------------------------------ # In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and # '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. m4_defun([_LT_PROG_FUNCTION_REPLACE], [dnl { sed -e '/^$1 ()$/,/^} # $1 /c\ $1 ()\ {\ m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) } # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: ]) # _LT_PROG_REPLACE_SHELLFNS # ------------------------- # Replace existing portable implementations of several shell functions with # equivalent extended shell implementations where those features are available.. m4_defun([_LT_PROG_REPLACE_SHELLFNS], [if test x"$xsi_shell" = xyes; then _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac]) _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl func_basename_result="${1##*/}"]) _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}"]) _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"}]) _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl func_split_long_opt_name=${1%%=*} func_split_long_opt_arg=${1#*=}]) _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl func_split_short_opt_arg=${1#??} func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac]) _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) fi if test x"$lt_shell_append" = xyes; then _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl func_quote_for_eval "${2}" dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) # Save a `func_append' function call where possible by direct use of '+=' sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: else # Save a `func_append' function call even when '+=' is not available sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$_lt_function_replace_fail" = x":"; then AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) fi ]) # _LT_PATH_CONVERSION_FUNCTIONS # ----------------------------- # Determine which file name conversion functions should be used by # func_to_host_file (and, implicitly, by func_to_host_path). These are needed # for certain cross-compile configurations and native mingw. m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_MSG_CHECKING([how to convert $build file names to $host format]) AC_CACHE_VAL(lt_cv_to_host_file_cmd, [case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac ]) to_host_file_cmd=$lt_cv_to_host_file_cmd AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], [0], [convert $build file names to $host format])dnl AC_MSG_CHECKING([how to convert $build file names to toolchain format]) AC_CACHE_VAL(lt_cv_to_tool_file_cmd, [#assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac ]) to_tool_file_cmd=$lt_cv_to_tool_file_cmd AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], [0], [convert $build files to toolchain format])dnl ])# _LT_PATH_CONVERSION_FUNCTIONS Heimdall-1.4.1/libpit/m4/ltoptions.m4000066400000000000000000000300731234253036400173410ustar00rootroot00000000000000# Helper functions for option handling. -*- Autoconf -*- # # Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, # Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 7 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) # ------------------------------------------ m4_define([_LT_MANGLE_OPTION], [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) # --------------------------------------- # Set option OPTION-NAME for macro MACRO-NAME, and if there is a # matching handler defined, dispatch to it. Other OPTION-NAMEs are # saved as a flag. m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), _LT_MANGLE_DEFUN([$1], [$2]), [m4_warning([Unknown $1 option `$2'])])[]dnl ]) # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) # ------------------------------------------------------------ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. m4_define([_LT_IF_OPTION], [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) # ------------------------------------------------------- # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME # are set. m4_define([_LT_UNLESS_OPTIONS], [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), [m4_define([$0_found])])])[]dnl m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 ])[]dnl ]) # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) # ---------------------------------------- # OPTION-LIST is a space-separated list of Libtool options associated # with MACRO-NAME. If any OPTION has a matching handler declared with # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about # the unknown option and exit. m4_defun([_LT_SET_OPTIONS], [# Set options m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [_LT_SET_OPTION([$1], _LT_Option)]) m4_if([$1],[LT_INIT],[ dnl dnl Simply set some default values (i.e off) if boolean options were not dnl specified: _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no ]) _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no ]) dnl dnl If no reference was made to various pairs of opposing options, then dnl we run the default mode handler for the pair. For example, if neither dnl `shared' nor `disable-shared' was passed, we enable building of shared dnl archives by default: _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], [_LT_ENABLE_FAST_INSTALL]) ]) ])# _LT_SET_OPTIONS ## --------------------------------- ## ## Macros to handle LT_INIT options. ## ## --------------------------------- ## # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) # ----------------------------------------- m4_define([_LT_MANGLE_DEFUN], [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) # ----------------------------------------------- m4_define([LT_OPTION_DEFINE], [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl ])# LT_OPTION_DEFINE # dlopen # ------ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes ]) AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `dlopen' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) # win32-dll # --------- # Declare package support for building win32 dll's. LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; esac test -z "$AS" && AS=as _LT_DECL([], [AS], [1], [Assembler program])dnl test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl ])# win32-dll AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `win32-dll' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) # _LT_ENABLE_SHARED([DEFAULT]) # ---------------------------- # implement the --enable-shared flag, and supports the `shared' and # `disable-shared' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_SHARED], [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([shared], [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) _LT_DECL([build_libtool_libs], [enable_shared], [0], [Whether or not to build shared libraries]) ])# _LT_ENABLE_SHARED LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) # Old names: AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ]) AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ]) AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_SHARED], []) dnl AC_DEFUN([AM_DISABLE_SHARED], []) # _LT_ENABLE_STATIC([DEFAULT]) # ---------------------------- # implement the --enable-static flag, and support the `static' and # `disable-static' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_STATIC], [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([static], [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_static=]_LT_ENABLE_STATIC_DEFAULT) _LT_DECL([build_old_libs], [enable_static], [0], [Whether or not to build static libraries]) ])# _LT_ENABLE_STATIC LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) # Old names: AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ]) AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ]) AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_STATIC], []) dnl AC_DEFUN([AM_DISABLE_STATIC], []) # _LT_ENABLE_FAST_INSTALL([DEFAULT]) # ---------------------------------- # implement the --enable-fast-install flag, and support the `fast-install' # and `disable-fast-install' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_FAST_INSTALL], [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([fast-install], [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) _LT_DECL([fast_install], [enable_fast_install], [0], [Whether or not to optimize for fast installation])dnl ])# _LT_ENABLE_FAST_INSTALL LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) # Old names: AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `fast-install' option into LT_INIT's first parameter.]) ]) AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `disable-fast-install' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # _LT_WITH_PIC([MODE]) # -------------------- # implement the --with-pic flag, and support the `pic-only' and `no-pic' # LT_INIT options. # MODE is either `yes' or `no'. If omitted, it defaults to `both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for lt_pkg in $withval; do IFS="$lt_save_ifs" if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS="$lt_save_ifs" ;; esac], [pic_mode=default]) test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) # Old name: AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `pic-only' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) ## ----------------- ## ## LTDL_INIT Options ## ## ----------------- ## m4_define([_LTDL_MODE], []) LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], [m4_define([_LTDL_MODE], [nonrecursive])]) LT_OPTION_DEFINE([LTDL_INIT], [recursive], [m4_define([_LTDL_MODE], [recursive])]) LT_OPTION_DEFINE([LTDL_INIT], [subproject], [m4_define([_LTDL_MODE], [subproject])]) m4_define([_LTDL_TYPE], []) LT_OPTION_DEFINE([LTDL_INIT], [installable], [m4_define([_LTDL_TYPE], [installable])]) LT_OPTION_DEFINE([LTDL_INIT], [convenience], [m4_define([_LTDL_TYPE], [convenience])]) Heimdall-1.4.1/libpit/m4/ltsugar.m4000066400000000000000000000104241234253036400167650ustar00rootroot00000000000000# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltsugar.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) # lt_join(SEP, ARG1, [ARG2...]) # ----------------------------- # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their # associated separator. # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier # versions in m4sugar had bugs. m4_define([lt_join], [m4_if([$#], [1], [], [$#], [2], [[$2]], [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) m4_define([_lt_join], [m4_if([$#$2], [2], [], [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) # lt_car(LIST) # lt_cdr(LIST) # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support # Autoconf-2.59 which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], [$#], 1, [], [m4_dquote(m4_shift($@))])]) m4_define([lt_unquote], $1) # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ # Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different # than defined and empty). # # This macro is needed until we can rely on Autoconf 2.62, since earlier # versions of m4sugar mistakenly expanded SEPARATOR but not STRING. m4_define([lt_append], [m4_define([$1], m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) # ---------------------------------------------------------- # Produce a SEP delimited list of all paired combinations of elements of # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list # has the form PREFIXmINFIXSUFFIXn. # Needed until we can rely on m4_combine added in Autoconf 2.62. m4_define([lt_combine], [m4_if(m4_eval([$# > 3]), [1], [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl [[m4_foreach([_Lt_prefix], [$2], [m4_foreach([_Lt_suffix], ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) # ----------------------------------------------------------------------- # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. m4_define([lt_if_append_uniq], [m4_ifdef([$1], [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], [lt_append([$1], [$2], [$3])$4], [$5])], [lt_append([$1], [$2], [$3])$4])]) # lt_dict_add(DICT, KEY, VALUE) # ----------------------------- m4_define([lt_dict_add], [m4_define([$1($2)], [$3])]) # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) # -------------------------------------------- m4_define([lt_dict_add_subkey], [m4_define([$1($2:$3)], [$4])]) # lt_dict_fetch(DICT, KEY, [SUBKEY]) # ---------------------------------- m4_define([lt_dict_fetch], [m4_ifval([$3], m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) # ----------------------------------------------------------------- m4_define([lt_if_dict_fetch], [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], [$5], [$6])]) # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) # -------------------------------------------------------------- m4_define([lt_dict_filter], [m4_if([$5], [], [], [lt_join(m4_quote(m4_default([$4], [[, ]])), lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl ]) Heimdall-1.4.1/libpit/m4/ltversion.m4000066400000000000000000000012621234253036400173310ustar00rootroot00000000000000# ltversion.m4 -- version numbers -*- Autoconf -*- # # Copyright (C) 2004 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # @configure_input@ # serial 3337 ltversion.m4 # This file is part of GNU Libtool m4_define([LT_PACKAGE_VERSION], [2.4.2]) m4_define([LT_PACKAGE_REVISION], [1.3337]) AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.2' macro_revision='1.3337' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) Heimdall-1.4.1/libpit/m4/lt~obsolete.m4000066400000000000000000000137561234253036400176710ustar00rootroot00000000000000# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 5 lt~obsolete.m4 # These exist entirely to fool aclocal when bootstrapping libtool. # # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us # using a macro with the same name in our local m4/libtool.m4 it'll # pull the old libtool.m4 in (it doesn't see our shiny new m4_define # and doesn't know about Autoconf macros at all.) # # So we provide this file, which has a silly filename so it's always # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until # we give up compatibility with versions before 1.7, at which point # we need to keep only those names which we still refer to. # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) Heimdall-1.4.1/libpit/missing000077500000000000000000000153311234253036400161230ustar00rootroot00000000000000#! /bin/sh # Common wrapper for a few potentially missing GNU programs. scriptversion=2012-06-26.16; # UTC # Copyright (C) 1996-2013 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try '$0 --help' for more information" exit 1 fi case $1 in --is-lightweight) # Used by our autoconf macros to check whether the available missing # script is modern enough. exit 0 ;; --run) # Back-compat with the calling convention used by older automake. shift ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit Supported PROGRAM values: aclocal autoconf autoheader autom4te automake makeinfo bison yacc flex lex help2man Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: unknown '$1' option" echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac # Run the given program, remember its exit status. "$@"; st=$? # If it succeeded, we are done. test $st -eq 0 && exit 0 # Also exit now if we it failed (or wasn't found), and '--version' was # passed; such an option is passed most likely to detect whether the # program is present and works. case $2 in --version|--help) exit $st;; esac # Exit code 63 means version mismatch. This often happens when the user # tries to use an ancient version of a tool on a file that requires a # minimum version. if test $st -eq 63; then msg="probably too old" elif test $st -eq 127; then # Program was missing. msg="missing on your system" else # Program was found and executed, but failed. Give up. exit $st fi perl_URL=http://www.perl.org/ flex_URL=http://flex.sourceforge.net/ gnu_software_URL=http://www.gnu.org/software program_details () { case $1 in aclocal|automake) echo "The '$1' program is part of the GNU Automake package:" echo "<$gnu_software_URL/automake>" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/autoconf>" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; autoconf|autom4te|autoheader) echo "The '$1' program is part of the GNU Autoconf package:" echo "<$gnu_software_URL/autoconf/>" echo "It also requires GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; esac } give_advice () { # Normalize program name to check for. normalized_program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` printf '%s\n' "'$1' is $msg." configure_deps="'configure.ac' or m4 files included by 'configure.ac'" case $normalized_program in autoconf*) echo "You should only need it if you modified 'configure.ac'," echo "or m4 files included by it." program_details 'autoconf' ;; autoheader*) echo "You should only need it if you modified 'acconfig.h' or" echo "$configure_deps." program_details 'autoheader' ;; automake*) echo "You should only need it if you modified 'Makefile.am' or" echo "$configure_deps." program_details 'automake' ;; aclocal*) echo "You should only need it if you modified 'acinclude.m4' or" echo "$configure_deps." program_details 'aclocal' ;; autom4te*) echo "You might have modified some maintainer files that require" echo "the 'automa4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) echo "You should only need it if you modified a '.y' file." echo "You may want to install the GNU Bison package:" echo "<$gnu_software_URL/bison/>" ;; lex*|flex*) echo "You should only need it if you modified a '.l' file." echo "You may want to install the Fast Lexical Analyzer package:" echo "<$flex_URL>" ;; help2man*) echo "You should only need it if you modified a dependency" \ "of a man page." echo "You may want to install the GNU Help2man package:" echo "<$gnu_software_URL/help2man/>" ;; makeinfo*) echo "You should only need it if you modified a '.texi' file, or" echo "any other file indirectly affecting the aspect of the manual." echo "You might want to install the Texinfo package:" echo "<$gnu_software_URL/texinfo/>" echo "The spurious makeinfo call might also be the consequence of" echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" echo "want to install GNU make:" echo "<$gnu_software_URL/make/>" ;; *) echo "You might have modified some files without having the proper" echo "tools for further handling them. Check the 'README' file, it" echo "often tells you about the needed prerequisites for installing" echo "this package. You may also peek at any GNU archive site, in" echo "case some other package contains this missing '$1' program." ;; esac } give_advice "$1" | sed -e '1s/^/WARNING: /' \ -e '2,$s/^/ /' >&2 # Propagate the correct exit status (expected to be 127 for a program # not found, 63 for a program that failed due to version mismatch). exit $st # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: Heimdall-1.4.1/libusb-1.0/000077500000000000000000000000001234253036400150125ustar00rootroot00000000000000Heimdall-1.4.1/libusb-1.0/AUTHORS000066400000000000000000000026361234253036400160710ustar00rootroot00000000000000

Copyright © 2001 Johannes Erdfelt <johannes@erdfelt.com>
Copyright © 2007-2009 Daniel Drake <dsd@gentoo.org>
Copyright © 2010-2012 Peter Stuge <peter@stuge.se>
Copyright © 2008-2011 Nathan Hjelm <hjelmn@users.sourceforge.net>
Copyright © 2009-2012 Pete Batard <pete@akeo.ie>
Copyright © 2009-2012 Ludovic Rousseau <ludovic.rousseau@gmail.com>
Copyright © 2010-2012 Michael Plante <michael.plante@gmail.com>
Copyright © 2011-2012 Hans de Goede <hdegoede@redhat.com>
Copyright © 2012 Martin Pieuchot <mpi@openbsd.org>

Other contributors:
Alan Ott
Alan Stern
Alex Vatchenko
Anthony Clay
Artem Egorkine
Aurelien Jarno
Bastien Nocera
Dave Camarillo
David Engraf
David Moore
Davidlohr Bueso
Felipe Balbi
Francesco Montorsi
Graeme Gill
Hans Ulrich Niedermann
Hector Martin
Hoi-Ho Chan
James Hanko
Konrad Rzepecki
Lars Wirzenius
Martin Koegler
Matthias Bolte
Mike Frysinger
Mikhail Gusarov
Nicholas Corgan
Orin Eman
Pekka Nikander
Rob Walker
Sean McBride
Sebastian Pipping
Simon Haggett
Thomas Röfer
Toby Gray
Toby Peterson
Trygve Laugstøl
Uri Lublin
Vasily Khoruzhick
Vitali Lovich
Xiaofan Chen
Роман Донченко
Heimdall-1.4.1/libusb-1.0/COPYING000066400000000000000000000635041234253036400160550ustar00rootroot00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! Heimdall-1.4.1/libusb-1.0/include/000077500000000000000000000000001234253036400164355ustar00rootroot00000000000000Heimdall-1.4.1/libusb-1.0/include/libusb.h000066400000000000000000002110141234253036400200650ustar00rootroot00000000000000/* * Public libusb header file * Copyright © 2001 Johannes Erdfelt * Copyright © 2007-2008 Daniel Drake * Copyright © 2012 Pete Batard * Copyright © 2012 Nathan Hjelm * For more information, please visit: http://libusb.info * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef LIBUSB_H #define LIBUSB_H #ifdef _MSC_VER /* on MS environments, the inline keyword is available in C++ only */ #if !defined(__cplusplus) #define inline __inline #endif /* ssize_t is also not available (copy/paste from MinGW) */ #ifndef _SSIZE_T_DEFINED #define _SSIZE_T_DEFINED #undef ssize_t #ifdef _WIN64 typedef __int64 ssize_t; #else typedef int ssize_t; #endif /* _WIN64 */ #endif /* _SSIZE_T_DEFINED */ #endif /* _MSC_VER */ /* stdint.h is not available on older MSVC */ #if defined(_MSC_VER) && (_MSC_VER < 1600) && (!defined(_STDINT)) && (!defined(_STDINT_H)) typedef unsigned __int8 uint8_t; typedef unsigned __int16 uint16_t; typedef unsigned __int32 uint32_t; #else #include #endif #if !defined(_WIN32_WCE) #include #endif #if defined(__linux) || defined(__APPLE__) || defined(__CYGWIN__) #include #endif #include #include /* 'interface' might be defined as a macro on Windows, so we need to * undefine it so as not to break the current libusb API, because * libusb_config_descriptor has an 'interface' member * As this can be problematic if you include windows.h after libusb.h * in your sources, we force windows.h to be included first. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) #include #if defined(interface) #undef interface #endif #if !defined(__CYGWIN__) #include #endif #endif #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) #define LIBUSB_DEPRECATED_FOR(f) \ __attribute__((deprecated("Use " #f " instead"))) #else #define LIBUSB_DEPRECATED_FOR(f) #endif /* __GNUC__ */ /** \def LIBUSB_CALL * \ingroup misc * libusb's Windows calling convention. * * Under Windows, the selection of available compilers and configurations * means that, unlike other platforms, there is not one true calling * convention (calling convention: the manner in which parameters are * passed to funcions in the generated assembly code). * * Matching the Windows API itself, libusb uses the WINAPI convention (which * translates to the stdcall convention) and guarantees that the * library is compiled in this way. The public header file also includes * appropriate annotations so that your own software will use the right * convention, even if another convention is being used by default within * your codebase. * * The one consideration that you must apply in your software is to mark * all functions which you use as libusb callbacks with this LIBUSB_CALL * annotation, so that they too get compiled for the correct calling * convention. * * On non-Windows operating systems, this macro is defined as nothing. This * means that you can apply it to your code without worrying about * cross-platform compatibility. */ /* LIBUSB_CALL must be defined on both definition and declaration of libusb * functions. You'd think that declaration would be enough, but cygwin will * complain about conflicting types unless both are marked this way. * The placement of this macro is important too; it must appear after the * return type, before the function name. See internal documentation for * API_EXPORTED. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) #define LIBUSB_CALL WINAPI #else #define LIBUSB_CALL #endif /** \def LIBUSB_API_VERSION * \ingroup misc * libusb's API version. * * Since version 1.0.13, to help with feature detection, libusb defines * a LIBUSB_API_VERSION macro that gets increased every time there is a * significant change to the API, such as the introduction of a new call, * the definition of a new macro/enum member, or any other element that * libusb applications may want to detect at compilation time. * * The macro is typically used in an application as follows: * \code * #if defined(LIBUSB_API_VERSION) && (LIBUSB_API_VERSION >= 0x01001234) * // Use one of the newer features from the libusb API * #endif * \endcode * * Another feature of LIBUSB_API_VERSION is that it can be used to detect * whether you are compiling against the libusb or the libusb library. * * Internally, LIBUSB_API_VERSION is defined as follows: * (libusb major << 24) | (libusb minor << 16) | (16 bit incremental) */ #define LIBUSB_API_VERSION 0x01000103 /* The following is kept for compatibility, but will be deprecated in the future */ #define LIBUSBX_API_VERSION LIBUSB_API_VERSION #ifdef __cplusplus extern "C" { #endif /** * \ingroup misc * Convert a 16-bit value from host-endian to little-endian format. On * little endian systems, this function does nothing. On big endian systems, * the bytes are swapped. * \param x the host-endian value to convert * \returns the value in little-endian byte order */ static inline uint16_t libusb_cpu_to_le16(const uint16_t x) { union { uint8_t b8[2]; uint16_t b16; } _tmp; _tmp.b8[1] = (uint8_t) (x >> 8); _tmp.b8[0] = (uint8_t) (x & 0xff); return _tmp.b16; } /** \def libusb_le16_to_cpu * \ingroup misc * Convert a 16-bit value from little-endian to host-endian format. On * little endian systems, this function does nothing. On big endian systems, * the bytes are swapped. * \param x the little-endian value to convert * \returns the value in host-endian byte order */ #define libusb_le16_to_cpu libusb_cpu_to_le16 /* standard USB stuff */ /** \ingroup desc * Device and/or Interface Class codes */ enum libusb_class_code { /** In the context of a \ref libusb_device_descriptor "device descriptor", * this bDeviceClass value indicates that each interface specifies its * own class information and all interfaces operate independently. */ LIBUSB_CLASS_PER_INTERFACE = 0, /** Audio class */ LIBUSB_CLASS_AUDIO = 1, /** Communications class */ LIBUSB_CLASS_COMM = 2, /** Human Interface Device class */ LIBUSB_CLASS_HID = 3, /** Physical */ LIBUSB_CLASS_PHYSICAL = 5, /** Printer class */ LIBUSB_CLASS_PRINTER = 7, /** Image class */ LIBUSB_CLASS_PTP = 6, /* legacy name from libusb-0.1 usb.h */ LIBUSB_CLASS_IMAGE = 6, /** Mass storage class */ LIBUSB_CLASS_MASS_STORAGE = 8, /** Hub class */ LIBUSB_CLASS_HUB = 9, /** Data class */ LIBUSB_CLASS_DATA = 10, /** Smart Card */ LIBUSB_CLASS_SMART_CARD = 0x0b, /** Content Security */ LIBUSB_CLASS_CONTENT_SECURITY = 0x0d, /** Video */ LIBUSB_CLASS_VIDEO = 0x0e, /** Personal Healthcare */ LIBUSB_CLASS_PERSONAL_HEALTHCARE = 0x0f, /** Diagnostic Device */ LIBUSB_CLASS_DIAGNOSTIC_DEVICE = 0xdc, /** Wireless class */ LIBUSB_CLASS_WIRELESS = 0xe0, /** Application class */ LIBUSB_CLASS_APPLICATION = 0xfe, /** Class is vendor-specific */ LIBUSB_CLASS_VENDOR_SPEC = 0xff }; /** \ingroup desc * Descriptor types as defined by the USB specification. */ enum libusb_descriptor_type { /** Device descriptor. See libusb_device_descriptor. */ LIBUSB_DT_DEVICE = 0x01, /** Configuration descriptor. See libusb_config_descriptor. */ LIBUSB_DT_CONFIG = 0x02, /** String descriptor */ LIBUSB_DT_STRING = 0x03, /** Interface descriptor. See libusb_interface_descriptor. */ LIBUSB_DT_INTERFACE = 0x04, /** Endpoint descriptor. See libusb_endpoint_descriptor. */ LIBUSB_DT_ENDPOINT = 0x05, /** BOS descriptor */ LIBUSB_DT_BOS = 0x0f, /** Device Capability descriptor */ LIBUSB_DT_DEVICE_CAPABILITY = 0x10, /** HID descriptor */ LIBUSB_DT_HID = 0x21, /** HID report descriptor */ LIBUSB_DT_REPORT = 0x22, /** Physical descriptor */ LIBUSB_DT_PHYSICAL = 0x23, /** Hub descriptor */ LIBUSB_DT_HUB = 0x29, /** SuperSpeed Hub descriptor */ LIBUSB_DT_SUPERSPEED_HUB = 0x2a, /** SuperSpeed Endpoint Companion descriptor */ LIBUSB_DT_SS_ENDPOINT_COMPANION = 0x30 }; /* Descriptor sizes per descriptor type */ #define LIBUSB_DT_DEVICE_SIZE 18 #define LIBUSB_DT_CONFIG_SIZE 9 #define LIBUSB_DT_INTERFACE_SIZE 9 #define LIBUSB_DT_ENDPOINT_SIZE 7 #define LIBUSB_DT_ENDPOINT_AUDIO_SIZE 9 /* Audio extension */ #define LIBUSB_DT_HUB_NONVAR_SIZE 7 #define LIBUSB_DT_SS_ENDPOINT_COMPANION_SIZE 6 #define LIBUSB_DT_BOS_SIZE 5 #define LIBUSB_DT_DEVICE_CAPABILITY_SIZE 3 /* BOS descriptor sizes */ #define LIBUSB_BT_USB_2_0_EXTENSION_SIZE 7 #define LIBUSB_BT_SS_USB_DEVICE_CAPABILITY_SIZE 10 #define LIBUSB_BT_CONTAINER_ID_SIZE 20 /* We unwrap the BOS => define its max size */ #define LIBUSB_DT_BOS_MAX_SIZE ((LIBUSB_DT_BOS_SIZE) +\ (LIBUSB_BT_USB_2_0_EXTENSION_SIZE) +\ (LIBUSB_BT_SS_USB_DEVICE_CAPABILITY_SIZE) +\ (LIBUSB_BT_CONTAINER_ID_SIZE)) #define LIBUSB_ENDPOINT_ADDRESS_MASK 0x0f /* in bEndpointAddress */ #define LIBUSB_ENDPOINT_DIR_MASK 0x80 /** \ingroup desc * Endpoint direction. Values for bit 7 of the * \ref libusb_endpoint_descriptor::bEndpointAddress "endpoint address" scheme. */ enum libusb_endpoint_direction { /** In: device-to-host */ LIBUSB_ENDPOINT_IN = 0x80, /** Out: host-to-device */ LIBUSB_ENDPOINT_OUT = 0x00 }; #define LIBUSB_TRANSFER_TYPE_MASK 0x03 /* in bmAttributes */ /** \ingroup desc * Endpoint transfer type. Values for bits 0:1 of the * \ref libusb_endpoint_descriptor::bmAttributes "endpoint attributes" field. */ enum libusb_transfer_type { /** Control endpoint */ LIBUSB_TRANSFER_TYPE_CONTROL = 0, /** Isochronous endpoint */ LIBUSB_TRANSFER_TYPE_ISOCHRONOUS = 1, /** Bulk endpoint */ LIBUSB_TRANSFER_TYPE_BULK = 2, /** Interrupt endpoint */ LIBUSB_TRANSFER_TYPE_INTERRUPT = 3, /** Stream endpoint */ LIBUSB_TRANSFER_TYPE_BULK_STREAM = 4, }; /** \ingroup misc * Standard requests, as defined in table 9-5 of the USB 3.0 specifications */ enum libusb_standard_request { /** Request status of the specific recipient */ LIBUSB_REQUEST_GET_STATUS = 0x00, /** Clear or disable a specific feature */ LIBUSB_REQUEST_CLEAR_FEATURE = 0x01, /* 0x02 is reserved */ /** Set or enable a specific feature */ LIBUSB_REQUEST_SET_FEATURE = 0x03, /* 0x04 is reserved */ /** Set device address for all future accesses */ LIBUSB_REQUEST_SET_ADDRESS = 0x05, /** Get the specified descriptor */ LIBUSB_REQUEST_GET_DESCRIPTOR = 0x06, /** Used to update existing descriptors or add new descriptors */ LIBUSB_REQUEST_SET_DESCRIPTOR = 0x07, /** Get the current device configuration value */ LIBUSB_REQUEST_GET_CONFIGURATION = 0x08, /** Set device configuration */ LIBUSB_REQUEST_SET_CONFIGURATION = 0x09, /** Return the selected alternate setting for the specified interface */ LIBUSB_REQUEST_GET_INTERFACE = 0x0A, /** Select an alternate interface for the specified interface */ LIBUSB_REQUEST_SET_INTERFACE = 0x0B, /** Set then report an endpoint's synchronization frame */ LIBUSB_REQUEST_SYNCH_FRAME = 0x0C, /** Sets both the U1 and U2 Exit Latency */ LIBUSB_REQUEST_SET_SEL = 0x30, /** Delay from the time a host transmits a packet to the time it is * received by the device. */ LIBUSB_SET_ISOCH_DELAY = 0x31, }; /** \ingroup misc * Request type bits of the * \ref libusb_control_setup::bmRequestType "bmRequestType" field in control * transfers. */ enum libusb_request_type { /** Standard */ LIBUSB_REQUEST_TYPE_STANDARD = (0x00 << 5), /** Class */ LIBUSB_REQUEST_TYPE_CLASS = (0x01 << 5), /** Vendor */ LIBUSB_REQUEST_TYPE_VENDOR = (0x02 << 5), /** Reserved */ LIBUSB_REQUEST_TYPE_RESERVED = (0x03 << 5) }; /** \ingroup misc * Recipient bits of the * \ref libusb_control_setup::bmRequestType "bmRequestType" field in control * transfers. Values 4 through 31 are reserved. */ enum libusb_request_recipient { /** Device */ LIBUSB_RECIPIENT_DEVICE = 0x00, /** Interface */ LIBUSB_RECIPIENT_INTERFACE = 0x01, /** Endpoint */ LIBUSB_RECIPIENT_ENDPOINT = 0x02, /** Other */ LIBUSB_RECIPIENT_OTHER = 0x03, }; #define LIBUSB_ISO_SYNC_TYPE_MASK 0x0C /** \ingroup desc * Synchronization type for isochronous endpoints. Values for bits 2:3 of the * \ref libusb_endpoint_descriptor::bmAttributes "bmAttributes" field in * libusb_endpoint_descriptor. */ enum libusb_iso_sync_type { /** No synchronization */ LIBUSB_ISO_SYNC_TYPE_NONE = 0, /** Asynchronous */ LIBUSB_ISO_SYNC_TYPE_ASYNC = 1, /** Adaptive */ LIBUSB_ISO_SYNC_TYPE_ADAPTIVE = 2, /** Synchronous */ LIBUSB_ISO_SYNC_TYPE_SYNC = 3 }; #define LIBUSB_ISO_USAGE_TYPE_MASK 0x30 /** \ingroup desc * Usage type for isochronous endpoints. Values for bits 4:5 of the * \ref libusb_endpoint_descriptor::bmAttributes "bmAttributes" field in * libusb_endpoint_descriptor. */ enum libusb_iso_usage_type { /** Data endpoint */ LIBUSB_ISO_USAGE_TYPE_DATA = 0, /** Feedback endpoint */ LIBUSB_ISO_USAGE_TYPE_FEEDBACK = 1, /** Implicit feedback Data endpoint */ LIBUSB_ISO_USAGE_TYPE_IMPLICIT = 2, }; /** \ingroup desc * A structure representing the standard USB device descriptor. This * descriptor is documented in section 9.6.1 of the USB 3.0 specification. * All multiple-byte fields are represented in host-endian format. */ struct libusb_device_descriptor { /** Size of this descriptor (in bytes) */ uint8_t bLength; /** Descriptor type. Will have value * \ref libusb_descriptor_type::LIBUSB_DT_DEVICE LIBUSB_DT_DEVICE in this * context. */ uint8_t bDescriptorType; /** USB specification release number in binary-coded decimal. A value of * 0x0200 indicates USB 2.0, 0x0110 indicates USB 1.1, etc. */ uint16_t bcdUSB; /** USB-IF class code for the device. See \ref libusb_class_code. */ uint8_t bDeviceClass; /** USB-IF subclass code for the device, qualified by the bDeviceClass * value */ uint8_t bDeviceSubClass; /** USB-IF protocol code for the device, qualified by the bDeviceClass and * bDeviceSubClass values */ uint8_t bDeviceProtocol; /** Maximum packet size for endpoint 0 */ uint8_t bMaxPacketSize0; /** USB-IF vendor ID */ uint16_t idVendor; /** USB-IF product ID */ uint16_t idProduct; /** Device release number in binary-coded decimal */ uint16_t bcdDevice; /** Index of string descriptor describing manufacturer */ uint8_t iManufacturer; /** Index of string descriptor describing product */ uint8_t iProduct; /** Index of string descriptor containing device serial number */ uint8_t iSerialNumber; /** Number of possible configurations */ uint8_t bNumConfigurations; }; /** \ingroup desc * A structure representing the standard USB endpoint descriptor. This * descriptor is documented in section 9.6.6 of the USB 3.0 specification. * All multiple-byte fields are represented in host-endian format. */ struct libusb_endpoint_descriptor { /** Size of this descriptor (in bytes) */ uint8_t bLength; /** Descriptor type. Will have value * \ref libusb_descriptor_type::LIBUSB_DT_ENDPOINT LIBUSB_DT_ENDPOINT in * this context. */ uint8_t bDescriptorType; /** The address of the endpoint described by this descriptor. Bits 0:3 are * the endpoint number. Bits 4:6 are reserved. Bit 7 indicates direction, * see \ref libusb_endpoint_direction. */ uint8_t bEndpointAddress; /** Attributes which apply to the endpoint when it is configured using * the bConfigurationValue. Bits 0:1 determine the transfer type and * correspond to \ref libusb_transfer_type. Bits 2:3 are only used for * isochronous endpoints and correspond to \ref libusb_iso_sync_type. * Bits 4:5 are also only used for isochronous endpoints and correspond to * \ref libusb_iso_usage_type. Bits 6:7 are reserved. */ uint8_t bmAttributes; /** Maximum packet size this endpoint is capable of sending/receiving. */ uint16_t wMaxPacketSize; /** Interval for polling endpoint for data transfers. */ uint8_t bInterval; /** For audio devices only: the rate at which synchronization feedback * is provided. */ uint8_t bRefresh; /** For audio devices only: the address if the synch endpoint */ uint8_t bSynchAddress; /** Extra descriptors. If libusb encounters unknown endpoint descriptors, * it will store them here, should you wish to parse them. */ const unsigned char *extra; /** Length of the extra descriptors, in bytes. */ int extra_length; }; /** \ingroup desc * A structure representing the standard USB interface descriptor. This * descriptor is documented in section 9.6.5 of the USB 3.0 specification. * All multiple-byte fields are represented in host-endian format. */ struct libusb_interface_descriptor { /** Size of this descriptor (in bytes) */ uint8_t bLength; /** Descriptor type. Will have value * \ref libusb_descriptor_type::LIBUSB_DT_INTERFACE LIBUSB_DT_INTERFACE * in this context. */ uint8_t bDescriptorType; /** Number of this interface */ uint8_t bInterfaceNumber; /** Value used to select this alternate setting for this interface */ uint8_t bAlternateSetting; /** Number of endpoints used by this interface (excluding the control * endpoint). */ uint8_t bNumEndpoints; /** USB-IF class code for this interface. See \ref libusb_class_code. */ uint8_t bInterfaceClass; /** USB-IF subclass code for this interface, qualified by the * bInterfaceClass value */ uint8_t bInterfaceSubClass; /** USB-IF protocol code for this interface, qualified by the * bInterfaceClass and bInterfaceSubClass values */ uint8_t bInterfaceProtocol; /** Index of string descriptor describing this interface */ uint8_t iInterface; /** Array of endpoint descriptors. This length of this array is determined * by the bNumEndpoints field. */ const struct libusb_endpoint_descriptor *endpoint; /** Extra descriptors. If libusb encounters unknown interface descriptors, * it will store them here, should you wish to parse them. */ const unsigned char *extra; /** Length of the extra descriptors, in bytes. */ int extra_length; }; /** \ingroup desc * A collection of alternate settings for a particular USB interface. */ struct libusb_interface { /** Array of interface descriptors. The length of this array is determined * by the num_altsetting field. */ const struct libusb_interface_descriptor *altsetting; /** The number of alternate settings that belong to this interface */ int num_altsetting; }; /** \ingroup desc * A structure representing the standard USB configuration descriptor. This * descriptor is documented in section 9.6.3 of the USB 3.0 specification. * All multiple-byte fields are represented in host-endian format. */ struct libusb_config_descriptor { /** Size of this descriptor (in bytes) */ uint8_t bLength; /** Descriptor type. Will have value * \ref libusb_descriptor_type::LIBUSB_DT_CONFIG LIBUSB_DT_CONFIG * in this context. */ uint8_t bDescriptorType; /** Total length of data returned for this configuration */ uint16_t wTotalLength; /** Number of interfaces supported by this configuration */ uint8_t bNumInterfaces; /** Identifier value for this configuration */ uint8_t bConfigurationValue; /** Index of string descriptor describing this configuration */ uint8_t iConfiguration; /** Configuration characteristics */ uint8_t bmAttributes; /** Maximum power consumption of the USB device from this bus in this * configuration when the device is fully opreation. Expressed in units * of 2 mA. */ uint8_t MaxPower; /** Array of interfaces supported by this configuration. The length of * this array is determined by the bNumInterfaces field. */ const struct libusb_interface *interface; /** Extra descriptors. If libusb encounters unknown configuration * descriptors, it will store them here, should you wish to parse them. */ const unsigned char *extra; /** Length of the extra descriptors, in bytes. */ int extra_length; }; /** \ingroup desc * A structure representing the superspeed endpoint companion * descriptor. This descriptor is documented in section 9.6.7 of * the USB 3.0 specification. All multiple-byte fields are represented in * host-endian format. */ struct libusb_ss_endpoint_companion_descriptor { /** Size of this descriptor (in bytes) */ uint8_t bLength; /** Descriptor type. Will have value * \ref libusb_descriptor_type::LIBUSB_DT_SS_ENDPOINT_COMPANION in * this context. */ uint8_t bDescriptorType; /** The maximum number of packets the endpoint can send or * recieve as part of a burst. */ uint8_t bMaxBurst; /** In bulk EP: bits 4:0 represents the maximum number of * streams the EP supports. In isochronous EP: bits 1:0 * represents the Mult - a zero based value that determines * the maximum number of packets within a service interval */ uint8_t bmAttributes; /** The total number of bytes this EP will transfer every * service interval. valid only for periodic EPs. */ uint16_t wBytesPerInterval; }; /** \ingroup desc * A generic representation of a BOS Device Capability descriptor. It is * advised to check bDevCapabilityType and call the matching * libusb_get_*_descriptor function to get a structure fully matching the type. */ struct libusb_bos_dev_capability_descriptor { /** Size of this descriptor (in bytes) */ uint8_t bLength; /** Descriptor type. Will have value * \ref libusb_descriptor_type::LIBUSB_DT_DEVICE_CAPABILITY * LIBUSB_DT_DEVICE_CAPABILITY in this context. */ uint8_t bDescriptorType; /** Device Capability type */ uint8_t bDevCapabilityType; /** Device Capability data (bLength - 3 bytes) */ uint8_t dev_capability_data #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) [] /* valid C99 code */ #else [0] /* non-standard, but usually working code */ #endif ; }; /** \ingroup desc * A structure representing the Binary Device Object Store (BOS) descriptor. * This descriptor is documented in section 9.6.2 of the USB 3.0 specification. * All multiple-byte fields are represented in host-endian format. */ struct libusb_bos_descriptor { /** Size of this descriptor (in bytes) */ uint8_t bLength; /** Descriptor type. Will have value * \ref libusb_descriptor_type::LIBUSB_DT_BOS LIBUSB_DT_BOS * in this context. */ uint8_t bDescriptorType; /** Length of this descriptor and all of its sub descriptors */ uint16_t wTotalLength; /** The number of separate device capability descriptors in * the BOS */ uint8_t bNumDeviceCaps; /** bNumDeviceCap Device Capability Descriptors */ struct libusb_bos_dev_capability_descriptor *dev_capability #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) [] /* valid C99 code */ #else [0] /* non-standard, but usually working code */ #endif ; }; /** \ingroup desc * A structure representing the USB 2.0 Extension descriptor * This descriptor is documented in section 9.6.2.1 of the USB 3.0 specification. * All multiple-byte fields are represented in host-endian format. */ struct libusb_usb_2_0_extension_descriptor { /** Size of this descriptor (in bytes) */ uint8_t bLength; /** Descriptor type. Will have value * \ref libusb_descriptor_type::LIBUSB_DT_DEVICE_CAPABILITY * LIBUSB_DT_DEVICE_CAPABILITY in this context. */ uint8_t bDescriptorType; /** Capability type. Will have value * \ref libusb_capability_type::LIBUSB_BT_USB_2_0_EXTENSION * LIBUSB_BT_USB_2_0_EXTENSION in this context. */ uint8_t bDevCapabilityType; /** Bitmap encoding of supported device level features. * A value of one in a bit location indicates a feature is * supported; a value of zero indicates it is not supported. * See \ref libusb_usb_2_0_extension_attributes. */ uint32_t bmAttributes; }; /** \ingroup desc * A structure representing the SuperSpeed USB Device Capability descriptor * This descriptor is documented in section 9.6.2.2 of the USB 3.0 specification. * All multiple-byte fields are represented in host-endian format. */ struct libusb_ss_usb_device_capability_descriptor { /** Size of this descriptor (in bytes) */ uint8_t bLength; /** Descriptor type. Will have value * \ref libusb_descriptor_type::LIBUSB_DT_DEVICE_CAPABILITY * LIBUSB_DT_DEVICE_CAPABILITY in this context. */ uint8_t bDescriptorType; /** Capability type. Will have value * \ref libusb_capability_type::LIBUSB_BT_SS_USB_DEVICE_CAPABILITY * LIBUSB_BT_SS_USB_DEVICE_CAPABILITY in this context. */ uint8_t bDevCapabilityType; /** Bitmap encoding of supported device level features. * A value of one in a bit location indicates a feature is * supported; a value of zero indicates it is not supported. * See \ref libusb_ss_usb_device_capability_attributes. */ uint8_t bmAttributes; /** Bitmap encoding of the speed supported by this device when * operating in SuperSpeed mode. See \ref libusb_supported_speed. */ uint16_t wSpeedSupported; /** The lowest speed at which all the functionality supported * by the device is available to the user. For example if the * device supports all its functionality when connected at * full speed and above then it sets this value to 1. */ uint8_t bFunctionalitySupport; /** U1 Device Exit Latency. */ uint8_t bU1DevExitLat; /** U2 Device Exit Latency. */ uint16_t bU2DevExitLat; }; /** \ingroup desc * A structure representing the Container ID descriptor. * This descriptor is documented in section 9.6.2.3 of the USB 3.0 specification. * All multiple-byte fields, except UUIDs, are represented in host-endian format. */ struct libusb_container_id_descriptor { /** Size of this descriptor (in bytes) */ uint8_t bLength; /** Descriptor type. Will have value * \ref libusb_descriptor_type::LIBUSB_DT_DEVICE_CAPABILITY * LIBUSB_DT_DEVICE_CAPABILITY in this context. */ uint8_t bDescriptorType; /** Capability type. Will have value * \ref libusb_capability_type::LIBUSB_BT_CONTAINER_ID * LIBUSB_BT_CONTAINER_ID in this context. */ uint8_t bDevCapabilityType; /** Reserved field */ uint8_t bReserved; /** 128 bit UUID */ uint8_t ContainerID[16]; }; /** \ingroup asyncio * Setup packet for control transfers. */ struct libusb_control_setup { /** Request type. Bits 0:4 determine recipient, see * \ref libusb_request_recipient. Bits 5:6 determine type, see * \ref libusb_request_type. Bit 7 determines data transfer direction, see * \ref libusb_endpoint_direction. */ uint8_t bmRequestType; /** Request. If the type bits of bmRequestType are equal to * \ref libusb_request_type::LIBUSB_REQUEST_TYPE_STANDARD * "LIBUSB_REQUEST_TYPE_STANDARD" then this field refers to * \ref libusb_standard_request. For other cases, use of this field is * application-specific. */ uint8_t bRequest; /** Value. Varies according to request */ uint16_t wValue; /** Index. Varies according to request, typically used to pass an index * or offset */ uint16_t wIndex; /** Number of bytes to transfer */ uint16_t wLength; }; #define LIBUSB_CONTROL_SETUP_SIZE (sizeof(struct libusb_control_setup)) /* libusb */ struct libusb_context; struct libusb_device; struct libusb_device_handle; struct libusb_hotplug_callback; /** \ingroup lib * Structure providing the version of the libusb runtime */ struct libusb_version { /** Library major version. */ const uint16_t major; /** Library minor version. */ const uint16_t minor; /** Library micro version. */ const uint16_t micro; /** Library nano version. */ const uint16_t nano; /** Library release candidate suffix string, e.g. "-rc4". */ const char *rc; /** For ABI compatibility only. */ const char* describe; }; /** \ingroup lib * Structure representing a libusb session. The concept of individual libusb * sessions allows for your program to use two libraries (or dynamically * load two modules) which both independently use libusb. This will prevent * interference between the individual libusb users - for example * libusb_set_debug() will not affect the other user of the library, and * libusb_exit() will not destroy resources that the other user is still * using. * * Sessions are created by libusb_init() and destroyed through libusb_exit(). * If your application is guaranteed to only ever include a single libusb * user (i.e. you), you do not have to worry about contexts: pass NULL in * every function call where a context is required. The default context * will be used. * * For more information, see \ref contexts. */ typedef struct libusb_context libusb_context; /** \ingroup dev * Structure representing a USB device detected on the system. This is an * opaque type for which you are only ever provided with a pointer, usually * originating from libusb_get_device_list(). * * Certain operations can be performed on a device, but in order to do any * I/O you will have to first obtain a device handle using libusb_open(). * * Devices are reference counted with libusb_ref_device() and * libusb_unref_device(), and are freed when the reference count reaches 0. * New devices presented by libusb_get_device_list() have a reference count of * 1, and libusb_free_device_list() can optionally decrease the reference count * on all devices in the list. libusb_open() adds another reference which is * later destroyed by libusb_close(). */ typedef struct libusb_device libusb_device; /** \ingroup dev * Structure representing a handle on a USB device. This is an opaque type for * which you are only ever provided with a pointer, usually originating from * libusb_open(). * * A device handle is used to perform I/O and other operations. When finished * with a device handle, you should call libusb_close(). */ typedef struct libusb_device_handle libusb_device_handle; /** \ingroup dev * Speed codes. Indicates the speed at which the device is operating. */ enum libusb_speed { /** The OS doesn't report or know the device speed. */ LIBUSB_SPEED_UNKNOWN = 0, /** The device is operating at low speed (1.5MBit/s). */ LIBUSB_SPEED_LOW = 1, /** The device is operating at full speed (12MBit/s). */ LIBUSB_SPEED_FULL = 2, /** The device is operating at high speed (480MBit/s). */ LIBUSB_SPEED_HIGH = 3, /** The device is operating at super speed (5000MBit/s). */ LIBUSB_SPEED_SUPER = 4, }; /** \ingroup dev * Supported speeds (wSpeedSupported) bitfield. Indicates what * speeds the device supports. */ enum libusb_supported_speed { /** Low speed operation supported (1.5MBit/s). */ LIBUSB_LOW_SPEED_OPERATION = 1, /** Full speed operation supported (12MBit/s). */ LIBUSB_FULL_SPEED_OPERATION = 2, /** High speed operation supported (480MBit/s). */ LIBUSB_HIGH_SPEED_OPERATION = 4, /** Superspeed operation supported (5000MBit/s). */ LIBUSB_SUPER_SPEED_OPERATION = 8, }; /** \ingroup dev * Masks for the bits of the * \ref libusb_usb_2_0_extension_descriptor::bmAttributes "bmAttributes" field * of the USB 2.0 Extension descriptor. */ enum libusb_usb_2_0_extension_attributes { /** Supports Link Power Management (LPM) */ LIBUSB_BM_LPM_SUPPORT = 2, }; /** \ingroup dev * Masks for the bits of the * \ref libusb_ss_usb_device_capability_descriptor::bmAttributes "bmAttributes" field * field of the SuperSpeed USB Device Capability descriptor. */ enum libusb_ss_usb_device_capability_attributes { /** Supports Latency Tolerance Messages (LTM) */ LIBUSB_BM_LTM_SUPPORT = 2, }; /** \ingroup dev * USB capability types */ enum libusb_bos_type { /** Wireless USB device capability */ LIBUSB_BT_WIRELESS_USB_DEVICE_CAPABILITY = 1, /** USB 2.0 extensions */ LIBUSB_BT_USB_2_0_EXTENSION = 2, /** SuperSpeed USB device capability */ LIBUSB_BT_SS_USB_DEVICE_CAPABILITY = 3, /** Container ID type */ LIBUSB_BT_CONTAINER_ID = 4, }; /** \ingroup misc * Error codes. Most libusb functions return 0 on success or one of these * codes on failure. * You can call libusb_error_name() to retrieve a string representation of an * error code or libusb_strerror() to get an end-user suitable description of * an error code. */ enum libusb_error { /** Success (no error) */ LIBUSB_SUCCESS = 0, /** Input/output error */ LIBUSB_ERROR_IO = -1, /** Invalid parameter */ LIBUSB_ERROR_INVALID_PARAM = -2, /** Access denied (insufficient permissions) */ LIBUSB_ERROR_ACCESS = -3, /** No such device (it may have been disconnected) */ LIBUSB_ERROR_NO_DEVICE = -4, /** Entity not found */ LIBUSB_ERROR_NOT_FOUND = -5, /** Resource busy */ LIBUSB_ERROR_BUSY = -6, /** Operation timed out */ LIBUSB_ERROR_TIMEOUT = -7, /** Overflow */ LIBUSB_ERROR_OVERFLOW = -8, /** Pipe error */ LIBUSB_ERROR_PIPE = -9, /** System call interrupted (perhaps due to signal) */ LIBUSB_ERROR_INTERRUPTED = -10, /** Insufficient memory */ LIBUSB_ERROR_NO_MEM = -11, /** Operation not supported or unimplemented on this platform */ LIBUSB_ERROR_NOT_SUPPORTED = -12, /* NB: Remember to update LIBUSB_ERROR_COUNT below as well as the message strings in strerror.c when adding new error codes here. */ /** Other error */ LIBUSB_ERROR_OTHER = -99, }; /* Total number of error codes in enum libusb_error */ #define LIBUSB_ERROR_COUNT 14 /** \ingroup asyncio * Transfer status codes */ enum libusb_transfer_status { /** Transfer completed without error. Note that this does not indicate * that the entire amount of requested data was transferred. */ LIBUSB_TRANSFER_COMPLETED, /** Transfer failed */ LIBUSB_TRANSFER_ERROR, /** Transfer timed out */ LIBUSB_TRANSFER_TIMED_OUT, /** Transfer was cancelled */ LIBUSB_TRANSFER_CANCELLED, /** For bulk/interrupt endpoints: halt condition detected (endpoint * stalled). For control endpoints: control request not supported. */ LIBUSB_TRANSFER_STALL, /** Device was disconnected */ LIBUSB_TRANSFER_NO_DEVICE, /** Device sent more data than requested */ LIBUSB_TRANSFER_OVERFLOW, /* NB! Remember to update libusb_error_name() when adding new status codes here. */ }; /** \ingroup asyncio * libusb_transfer.flags values */ enum libusb_transfer_flags { /** Report short frames as errors */ LIBUSB_TRANSFER_SHORT_NOT_OK = 1<<0, /** Automatically free() transfer buffer during libusb_free_transfer() */ LIBUSB_TRANSFER_FREE_BUFFER = 1<<1, /** Automatically call libusb_free_transfer() after callback returns. * If this flag is set, it is illegal to call libusb_free_transfer() * from your transfer callback, as this will result in a double-free * when this flag is acted upon. */ LIBUSB_TRANSFER_FREE_TRANSFER = 1<<2, /** Terminate transfers that are a multiple of the endpoint's * wMaxPacketSize with an extra zero length packet. This is useful * when a device protocol mandates that each logical request is * terminated by an incomplete packet (i.e. the logical requests are * not separated by other means). * * This flag only affects host-to-device transfers to bulk and interrupt * endpoints. In other situations, it is ignored. * * This flag only affects transfers with a length that is a multiple of * the endpoint's wMaxPacketSize. On transfers of other lengths, this * flag has no effect. Therefore, if you are working with a device that * needs a ZLP whenever the end of the logical request falls on a packet * boundary, then it is sensible to set this flag on every * transfer (you do not have to worry about only setting it on transfers * that end on the boundary). * * This flag is currently only supported on Linux. * On other systems, libusb_submit_transfer() will return * LIBUSB_ERROR_NOT_SUPPORTED for every transfer where this flag is set. * * Available since libusb-1.0.9. */ LIBUSB_TRANSFER_ADD_ZERO_PACKET = 1 << 3, }; /** \ingroup asyncio * Isochronous packet descriptor. */ struct libusb_iso_packet_descriptor { /** Length of data to request in this packet */ unsigned int length; /** Amount of data that was actually transferred */ unsigned int actual_length; /** Status code for this packet */ enum libusb_transfer_status status; }; struct libusb_transfer; /** \ingroup asyncio * Asynchronous transfer callback function type. When submitting asynchronous * transfers, you pass a pointer to a callback function of this type via the * \ref libusb_transfer::callback "callback" member of the libusb_transfer * structure. libusb will call this function later, when the transfer has * completed or failed. See \ref asyncio for more information. * \param transfer The libusb_transfer struct the callback function is being * notified about. */ typedef void (LIBUSB_CALL *libusb_transfer_cb_fn)(struct libusb_transfer *transfer); /** \ingroup asyncio * The generic USB transfer structure. The user populates this structure and * then submits it in order to request a transfer. After the transfer has * completed, the library populates the transfer with the results and passes * it back to the user. */ struct libusb_transfer { /** Handle of the device that this transfer will be submitted to */ libusb_device_handle *dev_handle; /** A bitwise OR combination of \ref libusb_transfer_flags. */ uint8_t flags; /** Address of the endpoint where this transfer will be sent. */ unsigned char endpoint; /** Type of the endpoint from \ref libusb_transfer_type */ unsigned char type; /** Timeout for this transfer in millseconds. A value of 0 indicates no * timeout. */ unsigned int timeout; /** The status of the transfer. Read-only, and only for use within * transfer callback function. * * If this is an isochronous transfer, this field may read COMPLETED even * if there were errors in the frames. Use the * \ref libusb_iso_packet_descriptor::status "status" field in each packet * to determine if errors occurred. */ enum libusb_transfer_status status; /** Length of the data buffer */ int length; /** Actual length of data that was transferred. Read-only, and only for * use within transfer callback function. Not valid for isochronous * endpoint transfers. */ int actual_length; /** Callback function. This will be invoked when the transfer completes, * fails, or is cancelled. */ libusb_transfer_cb_fn callback; /** User context data to pass to the callback function. */ void *user_data; /** Data buffer */ unsigned char *buffer; /** Number of isochronous packets. Only used for I/O with isochronous * endpoints. */ int num_iso_packets; /** Isochronous packet descriptors, for isochronous transfers only. */ struct libusb_iso_packet_descriptor iso_packet_desc #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) [] /* valid C99 code */ #else [0] /* non-standard, but usually working code */ #endif ; }; /** \ingroup misc * Capabilities supported by an instance of libusb on the current running * platform. Test if the loaded library supports a given capability by calling * \ref libusb_has_capability(). */ enum libusb_capability { /** The libusb_has_capability() API is available. */ LIBUSB_CAP_HAS_CAPABILITY = 0x0000, /** Hotplug support is available on this platform. */ LIBUSB_CAP_HAS_HOTPLUG = 0x0001, /** The library can access HID devices without requiring user intervention. * Note that before being able to actually access an HID device, you may * still have to call additional libusb functions such as * \ref libusb_detach_kernel_driver(). */ LIBUSB_CAP_HAS_HID_ACCESS = 0x0100, /** The library supports detaching of the default USB driver, using * \ref libusb_detach_kernel_driver(), if one is set by the OS kernel */ LIBUSB_CAP_SUPPORTS_DETACH_KERNEL_DRIVER = 0x0101 }; /** \ingroup lib * Log message levels. * - LIBUSB_LOG_LEVEL_NONE (0) : no messages ever printed by the library (default) * - LIBUSB_LOG_LEVEL_ERROR (1) : error messages are printed to stderr * - LIBUSB_LOG_LEVEL_WARNING (2) : warning and error messages are printed to stderr * - LIBUSB_LOG_LEVEL_INFO (3) : informational messages are printed to stdout, warning * and error messages are printed to stderr * - LIBUSB_LOG_LEVEL_DEBUG (4) : debug and informational messages are printed to stdout, * warnings and errors to stderr */ enum libusb_log_level { LIBUSB_LOG_LEVEL_NONE = 0, LIBUSB_LOG_LEVEL_ERROR, LIBUSB_LOG_LEVEL_WARNING, LIBUSB_LOG_LEVEL_INFO, LIBUSB_LOG_LEVEL_DEBUG, }; int LIBUSB_CALL libusb_init(libusb_context **ctx); void LIBUSB_CALL libusb_exit(libusb_context *ctx); void LIBUSB_CALL libusb_set_debug(libusb_context *ctx, int level); const struct libusb_version * LIBUSB_CALL libusb_get_version(void); int LIBUSB_CALL libusb_has_capability(uint32_t capability); const char * LIBUSB_CALL libusb_error_name(int errcode); int LIBUSB_CALL libusb_setlocale(const char *locale); const char * LIBUSB_CALL libusb_strerror(enum libusb_error errcode); ssize_t LIBUSB_CALL libusb_get_device_list(libusb_context *ctx, libusb_device ***list); void LIBUSB_CALL libusb_free_device_list(libusb_device **list, int unref_devices); libusb_device * LIBUSB_CALL libusb_ref_device(libusb_device *dev); void LIBUSB_CALL libusb_unref_device(libusb_device *dev); int LIBUSB_CALL libusb_get_configuration(libusb_device_handle *dev, int *config); int LIBUSB_CALL libusb_get_device_descriptor(libusb_device *dev, struct libusb_device_descriptor *desc); int LIBUSB_CALL libusb_get_active_config_descriptor(libusb_device *dev, struct libusb_config_descriptor **config); int LIBUSB_CALL libusb_get_config_descriptor(libusb_device *dev, uint8_t config_index, struct libusb_config_descriptor **config); int LIBUSB_CALL libusb_get_config_descriptor_by_value(libusb_device *dev, uint8_t bConfigurationValue, struct libusb_config_descriptor **config); void LIBUSB_CALL libusb_free_config_descriptor( struct libusb_config_descriptor *config); int LIBUSB_CALL libusb_get_ss_endpoint_companion_descriptor( struct libusb_context *ctx, const struct libusb_endpoint_descriptor *endpoint, struct libusb_ss_endpoint_companion_descriptor **ep_comp); void LIBUSB_CALL libusb_free_ss_endpoint_companion_descriptor( struct libusb_ss_endpoint_companion_descriptor *ep_comp); int LIBUSB_CALL libusb_get_bos_descriptor(libusb_device_handle *handle, struct libusb_bos_descriptor **bos); void LIBUSB_CALL libusb_free_bos_descriptor(struct libusb_bos_descriptor *bos); int LIBUSB_CALL libusb_get_usb_2_0_extension_descriptor( struct libusb_context *ctx, struct libusb_bos_dev_capability_descriptor *dev_cap, struct libusb_usb_2_0_extension_descriptor **usb_2_0_extension); void LIBUSB_CALL libusb_free_usb_2_0_extension_descriptor( struct libusb_usb_2_0_extension_descriptor *usb_2_0_extension); int LIBUSB_CALL libusb_get_ss_usb_device_capability_descriptor( struct libusb_context *ctx, struct libusb_bos_dev_capability_descriptor *dev_cap, struct libusb_ss_usb_device_capability_descriptor **ss_usb_device_cap); void LIBUSB_CALL libusb_free_ss_usb_device_capability_descriptor( struct libusb_ss_usb_device_capability_descriptor *ss_usb_device_cap); int LIBUSB_CALL libusb_get_container_id_descriptor(struct libusb_context *ctx, struct libusb_bos_dev_capability_descriptor *dev_cap, struct libusb_container_id_descriptor **container_id); void LIBUSB_CALL libusb_free_container_id_descriptor( struct libusb_container_id_descriptor *container_id); uint8_t LIBUSB_CALL libusb_get_bus_number(libusb_device *dev); uint8_t LIBUSB_CALL libusb_get_port_number(libusb_device *dev); int LIBUSB_CALL libusb_get_port_numbers(libusb_device *dev, uint8_t* port_numbers, int port_numbers_len); LIBUSB_DEPRECATED_FOR(libusb_get_port_numbers) int LIBUSB_CALL libusb_get_port_path(libusb_context *ctx, libusb_device *dev, uint8_t* path, uint8_t path_length); libusb_device * LIBUSB_CALL libusb_get_parent(libusb_device *dev); uint8_t LIBUSB_CALL libusb_get_device_address(libusb_device *dev); int LIBUSB_CALL libusb_get_device_speed(libusb_device *dev); int LIBUSB_CALL libusb_get_max_packet_size(libusb_device *dev, unsigned char endpoint); int LIBUSB_CALL libusb_get_max_iso_packet_size(libusb_device *dev, unsigned char endpoint); int LIBUSB_CALL libusb_open(libusb_device *dev, libusb_device_handle **handle); void LIBUSB_CALL libusb_close(libusb_device_handle *dev_handle); libusb_device * LIBUSB_CALL libusb_get_device(libusb_device_handle *dev_handle); int LIBUSB_CALL libusb_set_configuration(libusb_device_handle *dev, int configuration); int LIBUSB_CALL libusb_claim_interface(libusb_device_handle *dev, int interface_number); int LIBUSB_CALL libusb_release_interface(libusb_device_handle *dev, int interface_number); libusb_device_handle * LIBUSB_CALL libusb_open_device_with_vid_pid( libusb_context *ctx, uint16_t vendor_id, uint16_t product_id); int LIBUSB_CALL libusb_set_interface_alt_setting(libusb_device_handle *dev, int interface_number, int alternate_setting); int LIBUSB_CALL libusb_clear_halt(libusb_device_handle *dev, unsigned char endpoint); int LIBUSB_CALL libusb_reset_device(libusb_device_handle *dev); int LIBUSB_CALL libusb_alloc_streams(libusb_device_handle *dev, uint32_t num_streams, unsigned char *endpoints, int num_endpoints); int LIBUSB_CALL libusb_free_streams(libusb_device_handle *dev, unsigned char *endpoints, int num_endpoints); int LIBUSB_CALL libusb_kernel_driver_active(libusb_device_handle *dev, int interface_number); int LIBUSB_CALL libusb_detach_kernel_driver(libusb_device_handle *dev, int interface_number); int LIBUSB_CALL libusb_attach_kernel_driver(libusb_device_handle *dev, int interface_number); int LIBUSB_CALL libusb_set_auto_detach_kernel_driver( libusb_device_handle *dev, int enable); /* async I/O */ /** \ingroup asyncio * Get the data section of a control transfer. This convenience function is here * to remind you that the data does not start until 8 bytes into the actual * buffer, as the setup packet comes first. * * Calling this function only makes sense from a transfer callback function, * or situations where you have already allocated a suitably sized buffer at * transfer->buffer. * * \param transfer a transfer * \returns pointer to the first byte of the data section */ static inline unsigned char *libusb_control_transfer_get_data( struct libusb_transfer *transfer) { return transfer->buffer + LIBUSB_CONTROL_SETUP_SIZE; } /** \ingroup asyncio * Get the control setup packet of a control transfer. This convenience * function is here to remind you that the control setup occupies the first * 8 bytes of the transfer data buffer. * * Calling this function only makes sense from a transfer callback function, * or situations where you have already allocated a suitably sized buffer at * transfer->buffer. * * \param transfer a transfer * \returns a casted pointer to the start of the transfer data buffer */ static inline struct libusb_control_setup *libusb_control_transfer_get_setup( struct libusb_transfer *transfer) { return (struct libusb_control_setup *)(void *) transfer->buffer; } /** \ingroup asyncio * Helper function to populate the setup packet (first 8 bytes of the data * buffer) for a control transfer. The wIndex, wValue and wLength values should * be given in host-endian byte order. * * \param buffer buffer to output the setup packet into * This pointer must be aligned to at least 2 bytes boundary. * \param bmRequestType see the * \ref libusb_control_setup::bmRequestType "bmRequestType" field of * \ref libusb_control_setup * \param bRequest see the * \ref libusb_control_setup::bRequest "bRequest" field of * \ref libusb_control_setup * \param wValue see the * \ref libusb_control_setup::wValue "wValue" field of * \ref libusb_control_setup * \param wIndex see the * \ref libusb_control_setup::wIndex "wIndex" field of * \ref libusb_control_setup * \param wLength see the * \ref libusb_control_setup::wLength "wLength" field of * \ref libusb_control_setup */ static inline void libusb_fill_control_setup(unsigned char *buffer, uint8_t bmRequestType, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, uint16_t wLength) { struct libusb_control_setup *setup = (struct libusb_control_setup *)(void *) buffer; setup->bmRequestType = bmRequestType; setup->bRequest = bRequest; setup->wValue = libusb_cpu_to_le16(wValue); setup->wIndex = libusb_cpu_to_le16(wIndex); setup->wLength = libusb_cpu_to_le16(wLength); } struct libusb_transfer * LIBUSB_CALL libusb_alloc_transfer(int iso_packets); int LIBUSB_CALL libusb_submit_transfer(struct libusb_transfer *transfer); int LIBUSB_CALL libusb_cancel_transfer(struct libusb_transfer *transfer); void LIBUSB_CALL libusb_free_transfer(struct libusb_transfer *transfer); void LIBUSB_CALL libusb_transfer_set_stream_id( struct libusb_transfer *transfer, uint32_t stream_id); uint32_t LIBUSB_CALL libusb_transfer_get_stream_id( struct libusb_transfer *transfer); /** \ingroup asyncio * Helper function to populate the required \ref libusb_transfer fields * for a control transfer. * * If you pass a transfer buffer to this function, the first 8 bytes will * be interpreted as a control setup packet, and the wLength field will be * used to automatically populate the \ref libusb_transfer::length "length" * field of the transfer. Therefore the recommended approach is: * -# Allocate a suitably sized data buffer (including space for control setup) * -# Call libusb_fill_control_setup() * -# If this is a host-to-device transfer with a data stage, put the data * in place after the setup packet * -# Call this function * -# Call libusb_submit_transfer() * * It is also legal to pass a NULL buffer to this function, in which case this * function will not attempt to populate the length field. Remember that you * must then populate the buffer and length fields later. * * \param transfer the transfer to populate * \param dev_handle handle of the device that will handle the transfer * \param buffer data buffer. If provided, this function will interpret the * first 8 bytes as a setup packet and infer the transfer length from that. * This pointer must be aligned to at least 2 bytes boundary. * \param callback callback function to be invoked on transfer completion * \param user_data user data to pass to callback function * \param timeout timeout for the transfer in milliseconds */ static inline void libusb_fill_control_transfer( struct libusb_transfer *transfer, libusb_device_handle *dev_handle, unsigned char *buffer, libusb_transfer_cb_fn callback, void *user_data, unsigned int timeout) { struct libusb_control_setup *setup = (struct libusb_control_setup *)(void *) buffer; transfer->dev_handle = dev_handle; transfer->endpoint = 0; transfer->type = LIBUSB_TRANSFER_TYPE_CONTROL; transfer->timeout = timeout; transfer->buffer = buffer; if (setup) transfer->length = (int) (LIBUSB_CONTROL_SETUP_SIZE + libusb_le16_to_cpu(setup->wLength)); transfer->user_data = user_data; transfer->callback = callback; } /** \ingroup asyncio * Helper function to populate the required \ref libusb_transfer fields * for a bulk transfer. * * \param transfer the transfer to populate * \param dev_handle handle of the device that will handle the transfer * \param endpoint address of the endpoint where this transfer will be sent * \param buffer data buffer * \param length length of data buffer * \param callback callback function to be invoked on transfer completion * \param user_data user data to pass to callback function * \param timeout timeout for the transfer in milliseconds */ static inline void libusb_fill_bulk_transfer(struct libusb_transfer *transfer, libusb_device_handle *dev_handle, unsigned char endpoint, unsigned char *buffer, int length, libusb_transfer_cb_fn callback, void *user_data, unsigned int timeout) { transfer->dev_handle = dev_handle; transfer->endpoint = endpoint; transfer->type = LIBUSB_TRANSFER_TYPE_BULK; transfer->timeout = timeout; transfer->buffer = buffer; transfer->length = length; transfer->user_data = user_data; transfer->callback = callback; } /** \ingroup asyncio * Helper function to populate the required \ref libusb_transfer fields * for a bulk transfer using bulk streams. * * Since version 1.0.19, \ref LIBUSB_API_VERSION >= 0x01000103 * * \param transfer the transfer to populate * \param dev_handle handle of the device that will handle the transfer * \param endpoint address of the endpoint where this transfer will be sent * \param stream_id bulk stream id for this transfer * \param buffer data buffer * \param length length of data buffer * \param callback callback function to be invoked on transfer completion * \param user_data user data to pass to callback function * \param timeout timeout for the transfer in milliseconds */ static inline void libusb_fill_bulk_stream_transfer( struct libusb_transfer *transfer, libusb_device_handle *dev_handle, unsigned char endpoint, uint32_t stream_id, unsigned char *buffer, int length, libusb_transfer_cb_fn callback, void *user_data, unsigned int timeout) { libusb_fill_bulk_transfer(transfer, dev_handle, endpoint, buffer, length, callback, user_data, timeout); transfer->type = LIBUSB_TRANSFER_TYPE_BULK_STREAM; libusb_transfer_set_stream_id(transfer, stream_id); } /** \ingroup asyncio * Helper function to populate the required \ref libusb_transfer fields * for an interrupt transfer. * * \param transfer the transfer to populate * \param dev_handle handle of the device that will handle the transfer * \param endpoint address of the endpoint where this transfer will be sent * \param buffer data buffer * \param length length of data buffer * \param callback callback function to be invoked on transfer completion * \param user_data user data to pass to callback function * \param timeout timeout for the transfer in milliseconds */ static inline void libusb_fill_interrupt_transfer( struct libusb_transfer *transfer, libusb_device_handle *dev_handle, unsigned char endpoint, unsigned char *buffer, int length, libusb_transfer_cb_fn callback, void *user_data, unsigned int timeout) { transfer->dev_handle = dev_handle; transfer->endpoint = endpoint; transfer->type = LIBUSB_TRANSFER_TYPE_INTERRUPT; transfer->timeout = timeout; transfer->buffer = buffer; transfer->length = length; transfer->user_data = user_data; transfer->callback = callback; } /** \ingroup asyncio * Helper function to populate the required \ref libusb_transfer fields * for an isochronous transfer. * * \param transfer the transfer to populate * \param dev_handle handle of the device that will handle the transfer * \param endpoint address of the endpoint where this transfer will be sent * \param buffer data buffer * \param length length of data buffer * \param num_iso_packets the number of isochronous packets * \param callback callback function to be invoked on transfer completion * \param user_data user data to pass to callback function * \param timeout timeout for the transfer in milliseconds */ static inline void libusb_fill_iso_transfer(struct libusb_transfer *transfer, libusb_device_handle *dev_handle, unsigned char endpoint, unsigned char *buffer, int length, int num_iso_packets, libusb_transfer_cb_fn callback, void *user_data, unsigned int timeout) { transfer->dev_handle = dev_handle; transfer->endpoint = endpoint; transfer->type = LIBUSB_TRANSFER_TYPE_ISOCHRONOUS; transfer->timeout = timeout; transfer->buffer = buffer; transfer->length = length; transfer->num_iso_packets = num_iso_packets; transfer->user_data = user_data; transfer->callback = callback; } /** \ingroup asyncio * Convenience function to set the length of all packets in an isochronous * transfer, based on the num_iso_packets field in the transfer structure. * * \param transfer a transfer * \param length the length to set in each isochronous packet descriptor * \see libusb_get_max_packet_size() */ static inline void libusb_set_iso_packet_lengths( struct libusb_transfer *transfer, unsigned int length) { int i; for (i = 0; i < transfer->num_iso_packets; i++) transfer->iso_packet_desc[i].length = length; } /** \ingroup asyncio * Convenience function to locate the position of an isochronous packet * within the buffer of an isochronous transfer. * * This is a thorough function which loops through all preceding packets, * accumulating their lengths to find the position of the specified packet. * Typically you will assign equal lengths to each packet in the transfer, * and hence the above method is sub-optimal. You may wish to use * libusb_get_iso_packet_buffer_simple() instead. * * \param transfer a transfer * \param packet the packet to return the address of * \returns the base address of the packet buffer inside the transfer buffer, * or NULL if the packet does not exist. * \see libusb_get_iso_packet_buffer_simple() */ static inline unsigned char *libusb_get_iso_packet_buffer( struct libusb_transfer *transfer, unsigned int packet) { int i; size_t offset = 0; int _packet; /* oops..slight bug in the API. packet is an unsigned int, but we use * signed integers almost everywhere else. range-check and convert to * signed to avoid compiler warnings. FIXME for libusb-2. */ if (packet > INT_MAX) return NULL; _packet = (int) packet; if (_packet >= transfer->num_iso_packets) return NULL; for (i = 0; i < _packet; i++) offset += transfer->iso_packet_desc[i].length; return transfer->buffer + offset; } /** \ingroup asyncio * Convenience function to locate the position of an isochronous packet * within the buffer of an isochronous transfer, for transfers where each * packet is of identical size. * * This function relies on the assumption that every packet within the transfer * is of identical size to the first packet. Calculating the location of * the packet buffer is then just a simple calculation: * buffer + (packet_size * packet) * * Do not use this function on transfers other than those that have identical * packet lengths for each packet. * * \param transfer a transfer * \param packet the packet to return the address of * \returns the base address of the packet buffer inside the transfer buffer, * or NULL if the packet does not exist. * \see libusb_get_iso_packet_buffer() */ static inline unsigned char *libusb_get_iso_packet_buffer_simple( struct libusb_transfer *transfer, unsigned int packet) { int _packet; /* oops..slight bug in the API. packet is an unsigned int, but we use * signed integers almost everywhere else. range-check and convert to * signed to avoid compiler warnings. FIXME for libusb-2. */ if (packet > INT_MAX) return NULL; _packet = (int) packet; if (_packet >= transfer->num_iso_packets) return NULL; return transfer->buffer + ((int) transfer->iso_packet_desc[0].length * _packet); } /* sync I/O */ int LIBUSB_CALL libusb_control_transfer(libusb_device_handle *dev_handle, uint8_t request_type, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, unsigned char *data, uint16_t wLength, unsigned int timeout); int LIBUSB_CALL libusb_bulk_transfer(libusb_device_handle *dev_handle, unsigned char endpoint, unsigned char *data, int length, int *actual_length, unsigned int timeout); int LIBUSB_CALL libusb_interrupt_transfer(libusb_device_handle *dev_handle, unsigned char endpoint, unsigned char *data, int length, int *actual_length, unsigned int timeout); /** \ingroup desc * Retrieve a descriptor from the default control pipe. * This is a convenience function which formulates the appropriate control * message to retrieve the descriptor. * * \param dev a device handle * \param desc_type the descriptor type, see \ref libusb_descriptor_type * \param desc_index the index of the descriptor to retrieve * \param data output buffer for descriptor * \param length size of data buffer * \returns number of bytes returned in data, or LIBUSB_ERROR code on failure */ static inline int libusb_get_descriptor(libusb_device_handle *dev, uint8_t desc_type, uint8_t desc_index, unsigned char *data, int length) { return libusb_control_transfer(dev, LIBUSB_ENDPOINT_IN, LIBUSB_REQUEST_GET_DESCRIPTOR, (uint16_t) ((desc_type << 8) | desc_index), 0, data, (uint16_t) length, 1000); } /** \ingroup desc * Retrieve a descriptor from a device. * This is a convenience function which formulates the appropriate control * message to retrieve the descriptor. The string returned is Unicode, as * detailed in the USB specifications. * * \param dev a device handle * \param desc_index the index of the descriptor to retrieve * \param langid the language ID for the string descriptor * \param data output buffer for descriptor * \param length size of data buffer * \returns number of bytes returned in data, or LIBUSB_ERROR code on failure * \see libusb_get_string_descriptor_ascii() */ static inline int libusb_get_string_descriptor(libusb_device_handle *dev, uint8_t desc_index, uint16_t langid, unsigned char *data, int length) { return libusb_control_transfer(dev, LIBUSB_ENDPOINT_IN, LIBUSB_REQUEST_GET_DESCRIPTOR, (uint16_t)((LIBUSB_DT_STRING << 8) | desc_index), langid, data, (uint16_t) length, 1000); } int LIBUSB_CALL libusb_get_string_descriptor_ascii(libusb_device_handle *dev, uint8_t desc_index, unsigned char *data, int length); /* polling and timeouts */ int LIBUSB_CALL libusb_try_lock_events(libusb_context *ctx); void LIBUSB_CALL libusb_lock_events(libusb_context *ctx); void LIBUSB_CALL libusb_unlock_events(libusb_context *ctx); int LIBUSB_CALL libusb_event_handling_ok(libusb_context *ctx); int LIBUSB_CALL libusb_event_handler_active(libusb_context *ctx); void LIBUSB_CALL libusb_lock_event_waiters(libusb_context *ctx); void LIBUSB_CALL libusb_unlock_event_waiters(libusb_context *ctx); int LIBUSB_CALL libusb_wait_for_event(libusb_context *ctx, struct timeval *tv); int LIBUSB_CALL libusb_handle_events_timeout(libusb_context *ctx, struct timeval *tv); int LIBUSB_CALL libusb_handle_events_timeout_completed(libusb_context *ctx, struct timeval *tv, int *completed); int LIBUSB_CALL libusb_handle_events(libusb_context *ctx); int LIBUSB_CALL libusb_handle_events_completed(libusb_context *ctx, int *completed); int LIBUSB_CALL libusb_handle_events_locked(libusb_context *ctx, struct timeval *tv); int LIBUSB_CALL libusb_pollfds_handle_timeouts(libusb_context *ctx); int LIBUSB_CALL libusb_get_next_timeout(libusb_context *ctx, struct timeval *tv); /** \ingroup poll * File descriptor for polling */ struct libusb_pollfd { /** Numeric file descriptor */ int fd; /** Event flags to poll for from . POLLIN indicates that you * should monitor this file descriptor for becoming ready to read from, * and POLLOUT indicates that you should monitor this file descriptor for * nonblocking write readiness. */ short events; }; /** \ingroup poll * Callback function, invoked when a new file descriptor should be added * to the set of file descriptors monitored for events. * \param fd the new file descriptor * \param events events to monitor for, see \ref libusb_pollfd for a * description * \param user_data User data pointer specified in * libusb_set_pollfd_notifiers() call * \see libusb_set_pollfd_notifiers() */ typedef void (LIBUSB_CALL *libusb_pollfd_added_cb)(int fd, short events, void *user_data); /** \ingroup poll * Callback function, invoked when a file descriptor should be removed from * the set of file descriptors being monitored for events. After returning * from this callback, do not use that file descriptor again. * \param fd the file descriptor to stop monitoring * \param user_data User data pointer specified in * libusb_set_pollfd_notifiers() call * \see libusb_set_pollfd_notifiers() */ typedef void (LIBUSB_CALL *libusb_pollfd_removed_cb)(int fd, void *user_data); const struct libusb_pollfd ** LIBUSB_CALL libusb_get_pollfds( libusb_context *ctx); void LIBUSB_CALL libusb_set_pollfd_notifiers(libusb_context *ctx, libusb_pollfd_added_cb added_cb, libusb_pollfd_removed_cb removed_cb, void *user_data); /** \ingroup hotplug * Callback handle. * * Callbacks handles are generated by libusb_hotplug_register_callback() * and can be used to deregister callbacks. Callback handles are unique * per libusb_context and it is safe to call libusb_hotplug_deregister_callback() * on an already deregisted callback. * * Since version 1.0.16, \ref LIBUSB_API_VERSION >= 0x01000102 * * For more information, see \ref hotplug. */ typedef int libusb_hotplug_callback_handle; /** \ingroup hotplug * * Since version 1.0.16, \ref LIBUSB_API_VERSION >= 0x01000102 * * Flags for hotplug events */ typedef enum { /** Arm the callback and fire it for all matching currently attached devices. */ LIBUSB_HOTPLUG_ENUMERATE = 1, } libusb_hotplug_flag; /** \ingroup hotplug * * Since version 1.0.16, \ref LIBUSB_API_VERSION >= 0x01000102 * * Hotplug events */ typedef enum { /** A device has been plugged in and is ready to use */ LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED = 0x01, /** A device has left and is no longer available. * It is the user's responsibility to call libusb_close on any handle associated with a disconnected device. * It is safe to call libusb_get_device_descriptor on a device that has left */ LIBUSB_HOTPLUG_EVENT_DEVICE_LEFT = 0x02, } libusb_hotplug_event; /** \ingroup hotplug * Wildcard matching for hotplug events */ #define LIBUSB_HOTPLUG_MATCH_ANY -1 /** \ingroup hotplug * Hotplug callback function type. When requesting hotplug event notifications, * you pass a pointer to a callback function of this type. * * This callback may be called by an internal event thread and as such it is * recommended the callback do minimal processing before returning. * * libusb will call this function later, when a matching event had happened on * a matching device. See \ref hotplug for more information. * * It is safe to call either libusb_hotplug_register_callback() or * libusb_hotplug_deregister_callback() from within a callback function. * * Since version 1.0.16, \ref LIBUSB_API_VERSION >= 0x01000102 * * \param ctx context of this notification * \param device libusb_device this event occurred on * \param event event that occurred * \param user_data user data provided when this callback was registered * \returns bool whether this callback is finished processing events. * returning 1 will cause this callback to be deregistered */ typedef int (LIBUSB_CALL *libusb_hotplug_callback_fn)(libusb_context *ctx, libusb_device *device, libusb_hotplug_event event, void *user_data); /** \ingroup hotplug * Register a hotplug callback function * * Register a callback with the libusb_context. The callback will fire * when a matching event occurs on a matching device. The callback is * armed until either it is deregistered with libusb_hotplug_deregister_callback() * or the supplied callback returns 1 to indicate it is finished processing events. * * If the \ref LIBUSB_HOTPLUG_ENUMERATE is passed the callback will be * called with a \ref LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED for all devices * already plugged into the machine. Note that libusb modifies its internal * device list from a separate thread, while calling hotplug callbacks from * libusb_handle_events(), so it is possible for a device to already be present * on, or removed from, its internal device list, while the hotplug callbacks * still need to be dispatched. This means that when using \ref * LIBUSB_HOTPLUG_ENUMERATE, your callback may be called twice for the arrival * of the same device, once from libusb_hotplug_register_callback() and once * from libusb_handle_events(); and/or your callback may be called for the * removal of a device for which an arrived call was never made. * * Since version 1.0.16, \ref LIBUSB_API_VERSION >= 0x01000102 * * \param[in] ctx context to register this callback with * \param[in] events bitwise or of events that will trigger this callback. See \ref * libusb_hotplug_event * \param[in] flags hotplug callback flags. See \ref libusb_hotplug_flag * \param[in] vendor_id the vendor id to match or \ref LIBUSB_HOTPLUG_MATCH_ANY * \param[in] product_id the product id to match or \ref LIBUSB_HOTPLUG_MATCH_ANY * \param[in] dev_class the device class to match or \ref LIBUSB_HOTPLUG_MATCH_ANY * \param[in] cb_fn the function to be invoked on a matching event/device * \param[in] user_data user data to pass to the callback function * \param[out] handle pointer to store the handle of the allocated callback (can be NULL) * \returns LIBUSB_SUCCESS on success LIBUSB_ERROR code on failure */ int LIBUSB_CALL libusb_hotplug_register_callback(libusb_context *ctx, libusb_hotplug_event events, libusb_hotplug_flag flags, int vendor_id, int product_id, int dev_class, libusb_hotplug_callback_fn cb_fn, void *user_data, libusb_hotplug_callback_handle *handle); /** \ingroup hotplug * Deregisters a hotplug callback. * * Deregister a callback from a libusb_context. This function is safe to call from within * a hotplug callback. * * Since version 1.0.16, \ref LIBUSB_API_VERSION >= 0x01000102 * * \param[in] ctx context this callback is registered with * \param[in] handle the handle of the callback to deregister */ void LIBUSB_CALL libusb_hotplug_deregister_callback(libusb_context *ctx, libusb_hotplug_callback_handle handle); #ifdef __cplusplus } #endif #endif Heimdall-1.4.1/msvc2012.sln000066400000000000000000000076071234253036400152430ustar00rootroot00000000000000 Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "heimdall-frontend", "heimdall-frontend\heimdall-frontend.vcxproj", "{EAD352DF-7CDE-478C-8D70-B0E42A951DEF}" ProjectSection(ProjectDependencies) = postProject {DC0D782C-8DB7-44CA-A984-D3A97483E0D0} = {DC0D782C-8DB7-44CA-A984-D3A97483E0D0} {9506FFE4-3A78-4BEE-A15E-62C5A138E61D} = {9506FFE4-3A78-4BEE-A15E-62C5A138E61D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "heimdall", "heimdall\heimdall.vcxproj", "{DC0D782C-8DB7-44CA-A984-D3A97483E0D0}" ProjectSection(ProjectDependencies) = postProject {9506FFE4-3A78-4BEE-A15E-62C5A138E61D} = {9506FFE4-3A78-4BEE-A15E-62C5A138E61D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpit", "libpit\libpit.vcxproj", "{9506FFE4-3A78-4BEE-A15E-62C5A138E61D}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Debug|x64 = Debug|x64 Release (Static)|Win32 = Release (Static)|Win32 Release (Static)|x64 = Release (Static)|x64 Release|Win32 = Release|Win32 Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {EAD352DF-7CDE-478C-8D70-B0E42A951DEF}.Debug|Win32.ActiveCfg = Debug|Win32 {EAD352DF-7CDE-478C-8D70-B0E42A951DEF}.Debug|Win32.Build.0 = Debug|Win32 {EAD352DF-7CDE-478C-8D70-B0E42A951DEF}.Debug|x64.ActiveCfg = Debug|Win32 {EAD352DF-7CDE-478C-8D70-B0E42A951DEF}.Release (Static)|Win32.ActiveCfg = Release (Static)|Win32 {EAD352DF-7CDE-478C-8D70-B0E42A951DEF}.Release (Static)|Win32.Build.0 = Release (Static)|Win32 {EAD352DF-7CDE-478C-8D70-B0E42A951DEF}.Release (Static)|Win32.Deploy.0 = Release (Static)|Win32 {EAD352DF-7CDE-478C-8D70-B0E42A951DEF}.Release (Static)|x64.ActiveCfg = Release (Static)|Win32 {EAD352DF-7CDE-478C-8D70-B0E42A951DEF}.Release|Win32.ActiveCfg = Release|Win32 {EAD352DF-7CDE-478C-8D70-B0E42A951DEF}.Release|Win32.Build.0 = Release|Win32 {EAD352DF-7CDE-478C-8D70-B0E42A951DEF}.Release|x64.ActiveCfg = Release|Win32 {DC0D782C-8DB7-44CA-A984-D3A97483E0D0}.Debug|Win32.ActiveCfg = Debug|Win32 {DC0D782C-8DB7-44CA-A984-D3A97483E0D0}.Debug|Win32.Build.0 = Debug|Win32 {DC0D782C-8DB7-44CA-A984-D3A97483E0D0}.Debug|x64.ActiveCfg = Debug|Win32 {DC0D782C-8DB7-44CA-A984-D3A97483E0D0}.Release (Static)|Win32.ActiveCfg = Release (Static)|Win32 {DC0D782C-8DB7-44CA-A984-D3A97483E0D0}.Release (Static)|Win32.Build.0 = Release (Static)|Win32 {DC0D782C-8DB7-44CA-A984-D3A97483E0D0}.Release (Static)|Win32.Deploy.0 = Release (Static)|Win32 {DC0D782C-8DB7-44CA-A984-D3A97483E0D0}.Release (Static)|x64.ActiveCfg = Release (Static)|Win32 {DC0D782C-8DB7-44CA-A984-D3A97483E0D0}.Release|Win32.ActiveCfg = Release|Win32 {DC0D782C-8DB7-44CA-A984-D3A97483E0D0}.Release|Win32.Build.0 = Release|Win32 {DC0D782C-8DB7-44CA-A984-D3A97483E0D0}.Release|x64.ActiveCfg = Release|Win32 {9506FFE4-3A78-4BEE-A15E-62C5A138E61D}.Debug|Win32.ActiveCfg = Debug|Win32 {9506FFE4-3A78-4BEE-A15E-62C5A138E61D}.Debug|Win32.Build.0 = Debug|Win32 {9506FFE4-3A78-4BEE-A15E-62C5A138E61D}.Debug|x64.ActiveCfg = Debug|Win32 {9506FFE4-3A78-4BEE-A15E-62C5A138E61D}.Release (Static)|Win32.ActiveCfg = Release (Static)|Win32 {9506FFE4-3A78-4BEE-A15E-62C5A138E61D}.Release (Static)|Win32.Build.0 = Release (Static)|Win32 {9506FFE4-3A78-4BEE-A15E-62C5A138E61D}.Release (Static)|Win32.Deploy.0 = Release (Static)|Win32 {9506FFE4-3A78-4BEE-A15E-62C5A138E61D}.Release (Static)|x64.ActiveCfg = Release (Static)|Win32 {9506FFE4-3A78-4BEE-A15E-62C5A138E61D}.Release|Win32.ActiveCfg = Release|Win32 {9506FFE4-3A78-4BEE-A15E-62C5A138E61D}.Release|Win32.Build.0 = Release|Win32 {9506FFE4-3A78-4BEE-A15E-62C5A138E61D}.Release|x64.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal